projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20050115-1-src
[rocksndiamonds.git]
/
src
/
game_em
/
input.c
diff --git
a/src/game_em/input.c
b/src/game_em/input.c
index a6ddcfab8bd49694846bc46ec6e9bf3703dce69f..62b25f550034231bc1962eef11b26ffdf16cdd62 100644
(file)
--- a/
src/game_em/input.c
+++ b/
src/game_em/input.c
@@
-14,8
+14,6
@@
struct PLAYER ply1;
struct PLAYER ply2;
struct LEVEL lev;
struct PLAYER ply2;
struct LEVEL lev;
-struct LevelInfo_EM native_em_level;
-
unsigned short **Boom;
unsigned short **Cave;
unsigned short **Next;
unsigned short **Boom;
unsigned short **Cave;
unsigned short **Next;
@@
-24,6
+22,9
@@
unsigned short **Draw;
static unsigned short *Index[4][HEIGHT];
static unsigned short Array[4][HEIGHT][WIDTH];
static unsigned short *Index[4][HEIGHT];
static unsigned short Array[4][HEIGHT][WIDTH];
+extern unsigned int screen_x;
+extern unsigned int screen_y;
+
void game_init_vars(void)
{
int x, y;
void game_init_vars(void)
{
int x, y;
@@
-69,7
+70,11
@@
void InitGameEngine_EM()
void GameActions_EM(byte action)
{
static unsigned long game_frame_delay = 0;
void GameActions_EM(byte action)
{
static unsigned long game_frame_delay = 0;
+#if 1
+ unsigned long game_frame_delay_value = getGameFrameDelay_EM(20);
+#else
unsigned long game_frame_delay_value = getGameFrameDelay_EM(25);
unsigned long game_frame_delay_value = getGameFrameDelay_EM(25);
+#endif
#if 0
/* this is done in screens.c/HandleGameActions() by calling BackToFront() */
#if 0
/* this is done in screens.c/HandleGameActions() by calling BackToFront() */
@@
-86,6
+91,8
@@
void GameActions_EM(byte action)
readjoy(action);
readjoy(action);
+ UpdateEngineValues(screen_x / TILEX, screen_y / TILEY);
+
if (frame == 7)
{
synchro_1();
if (frame == 7)
{
synchro_1();
@@
-97,8
+104,8
@@
void GameActions_EM(byte action)
synchro_3();
sound_play();
synchro_3();
sound_play();
- DrawGameDoorValues_EM(lev.required, ply1.dynamite, lev.score,
-
(lev.time + 4) / 5
);
+ if (game_frame_delay_value > 0) /* do not redraw values in warp mode */
+
DrawGameDoorValues_EM(
);
}
}
}
}
@@
-107,7
+114,8
@@
void GameActions_EM(byte action)
void readjoy(byte action)
{
void readjoy(byte action)
{
- unsigned int north = 0, east = 0, south = 0, west = 0, fire = 0;
+ unsigned int north = 0, east = 0, south = 0, west = 0;
+ unsigned int snap = 0, drop = 0;
if (action & JOY_LEFT)
west = 1;
if (action & JOY_LEFT)
west = 1;
@@
-122,9
+130,14
@@
void readjoy(byte action)
south = 1;
if (action & JOY_BUTTON_1)
south = 1;
if (action & JOY_BUTTON_1)
- fire = 1;
+ snap = 1;
+
+ if (action & JOY_BUTTON_2)
+ drop = 1;
- ply1.joy_fire = fire;
+#if 1
+ ply1.joy_snap = snap;
+ ply1.joy_drop = drop;
if (ply1.joy_stick || (north | east | south | west))
{
ply1.joy_n = north;
if (ply1.joy_stick || (north | east | south | west))
{
ply1.joy_n = north;
@@
-132,4
+145,17
@@
void readjoy(byte action)
ply1.joy_s = south;
ply1.joy_w = west;
}
ply1.joy_s = south;
ply1.joy_w = west;
}
+
+#else
+
+ ply2.joy_snap = snap;
+ ply2.joy_drop = drop;
+ if (ply2.joy_stick || (north | east | south | west))
+ {
+ ply2.joy_n = north;
+ ply2.joy_e = east;
+ ply2.joy_s = south;
+ ply2.joy_w = west;
+ }
+#endif
}
}