3 #include "game_state.h"
5 static void on_collect_win(jumpnrun_item
*self
,
6 jumpnrun_game_state
*state
,
9 self
->flags
|= JUMPNRUN_ITEM_COLLECTED
;
10 state
->flags
|= JUMPNRUN_STATE_WON
;
13 static void on_collect_checkpoint(jumpnrun_item
*self
,
14 jumpnrun_game_state
*state
,
17 self
->flags
|= JUMPNRUN_ITEM_COLLECTED
;
18 lv
->start_pos
= (vec2d
) { self
->pos
.x
,
19 fixed_point_sub(fixed_point_add(self
->pos
.y
, FIXED_INT(self
->type
->sprite
.height
)), jumpnrun_player_extents().y
)
23 static void on_collect_key(jumpnrun_item
*self
,
24 jumpnrun_game_state
*state
,
27 self
->flags
|= JUMPNRUN_ITEM_COLLECTED
;
31 static void on_collect_encrypted(jumpnrun_item
*self
,
32 jumpnrun_game_state
*state
,
34 if(state
->player
.keys
!= 0) {
35 on_collect_win(self
, state
, lv
);
39 jumpnrun_item_type
const jumpnrun_item_type_data
[JUMPNRUN_ITEM_TYPE_COUNT
] = {
40 { { 6, 7, (uint8_t const *) "\x7c\x61\xb5\x1a\xfc\x03" }, on_collect_win
},
41 { { 9, 12, (uint8_t const *) "\xff\x1f\x04\x49\x10\x05\x49\x50\x04\x51\x10\x04\x7f" }, on_collect_checkpoint
},
42 { { 3, 7, (uint8_t const *) "\xa7\xfe\x01" }, on_collect_key
},
43 { { 9, 10, (uint8_t const *) "\xfc\x0b\x98\x65\xbd\x1d\x06\x98\x6a\x80\xff\x03" }, on_collect_encrypted
}
This page took 0.050979 seconds and 5 git commands to generate.