10 #define PLR_JUMPVEL 10
14 thing_t
*th_player
[2] = { NULL
};
16 void plr_controls(thing_t
*p
, u16 btns
) {
19 if (btns & BUTTON_RIGHT) {
20 p->x += PLR_RUNVEL >> 3;
24 } else if (btns & BUTTON_LEFT) {
25 p->x -= PLR_RUNVEL >> 3;
31 if (btns & BUTTON_DOWN) {
32 p->y += PLR_RUNVEL >> 3;
35 } else if (btns & BUTTON_UP) {
36 p->y -= PLR_RUNVEL >> 3;
43 if ((btns
& BUTTON_RIGHT
) && p
->ax
< PLR_RUNVEL
) {
44 p
->ax
+= PLR_RUNVEL
>> 3;
46 } else if ((btns
& BUTTON_LEFT
) && p
->ax
> -PLR_RUNVEL
) {
47 p
->ax
-= PLR_RUNVEL
>> 3;
50 p
->ax
= Z_dec(p
->ax
, 1);
54 if (btns
& BUTTON_B
) {
55 if (p
->flags
& THF_INWATER
)
57 else if (p
->flags
& THF_ONGROUND
)
62 if ((btns
& BUTTON_A
) && (g_ticker
& 7) == 7) {
63 snd_play_sound(SFX_FIRE_PLASMA
);
64 thing_t
*th
= thing_spawn(TH_TEST
, p
->x
, p
->y
- 13, p
->dir
, p
);
65 if (th
) th
->dir
= p
->dir
;
69 if ((btns
& BUTTON_C
) && (g_ticker
& 7) == 7)
70 sw_use(p
->x
, p
->y
, p
->def
->r
, p
->def
->h
, SWF_PL_PRESS
);