-
Notifications
You must be signed in to change notification settings - Fork 0
/
InputHandler.p8
135 lines (131 loc) · 3.29 KB
/
InputHandler.p8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
InputHandler
{
bool paused = false
bool oldup = false
bool olddown = false
bool oldleft = false
bool oldright = false
bool oldstart = false
bool oldselect = false
bool oldfire = false
bool oldfire_a = false
bool oldfire_b = false
bool oldfire_x = false
bool oldfire_y = false
bool oldfire_l = false
bool oldfire_r = false
uword player_offset = 248
bool fire_bullet = false
sub Init()
{
; init joystick (0 = keyboard)
joystick.active_joystick = 1
joystick.clear()
}
sub IsPaused() -> bool
{
return paused
}
sub DoScan()
{
joystick.scan()
bool newup = joystick.up
bool newdown = joystick.down
bool newleft = joystick.left
bool newright = joystick.right
bool newstart = joystick.start
bool newselect = joystick.select
bool newfire = joystick.fire
bool newfire_a = joystick.fire_a
bool newfire_b = joystick.fire_b
bool newfire_x = joystick.fire_x
bool newfire_y = joystick.fire_y
bool newfire_l = joystick.fire_l
bool newfire_r = joystick.fire_r
if (newstart != oldstart and newstart == true)
{
zsmkit.zcm_stop()
if (paused)
{
zsmkit.zsm_play(0)
paused = false
zsmkit.zcm_play(1, 8)
}
else
{
zsmkit.zsm_stop(0)
paused = true
zsmkit.zcm_play(0, 8)
}
}
if (newselect != oldselect and newselect == true)
{
txt.print("\npressed select\n")
}
if (newup != oldup and newup == true)
{
Sounds.PlaySFX(0)
}
if (newdown != olddown and newdown == true)
{
Sounds.PlaySFX(1)
}
if (newleft == true)
{
player_offset -= 4
if (player_offset < 4)
{
player_offset = 4
}
}
if (newright == true)
{
player_offset += 4
if (player_offset > 476)
{
player_offset = 476
}
}
if (newfire_a != oldfire_a and newfire_a == true)
{
fire_bullet = true
}
else
{
fire_bullet = false
}
if (newfire_b != oldfire_b and newfire_b == true)
{
Sounds.PlaySFX(9)
}
if (newfire_l != oldfire_l and newfire_l == true)
{
Sounds.PlaySFX(10)
}
if (newfire_r != oldfire_r and newfire_r == true)
{
Sounds.PlaySFX(0)
}
if (newfire_x != oldfire_x and newfire_x == true)
{
Sounds.PlaySFX(7)
}
if (newfire_y != oldfire_y and newfire_y == true)
{
Sounds.PlaySFX(8)
}
oldup = newup
olddown = newdown
oldleft = newleft
oldright = newright
oldstart = newstart
oldselect = newselect
oldfire = newfire
oldfire_a = newfire_a
oldfire_b = newfire_b
oldfire_x = newfire_x
oldfire_y = newfire_y
oldfire_l = newfire_l
oldfire_r = newfire_r
}
}