X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame_em%2Finput.c;h=4028f19a553f692e9dc7a3541358f0ab24d27918;hp=7447f4b1901d4ba642bc4841898c1eb3e3865dfa;hb=567cfcb396e3fc031a25362b747dd0a5a096b4ec;hpb=359536f46007d1b9148bed9c529056faa91b8aab diff --git a/src/game_em/input.c b/src/game_em/input.c index 7447f4b1..4028f19a 100644 --- a/src/game_em/input.c +++ b/src/game_em/input.c @@ -6,7 +6,7 @@ #include "main_em.h" -unsigned long RandomEM; +unsigned int RandomEM; struct LEVEL lev; struct PLAYER ply[MAX_PLAYERS]; @@ -63,45 +63,18 @@ void InitGameEngine_EM() prepare_em_level(); game_initscreen(); - game_animscreen(); -#if 0 - /* blit playfield from scroll buffer to normal back buffer for fading in */ - BlitScreenToBitmap_EM(backbuffer); -#endif + RedrawPlayfield_EM(FALSE); +} + +void UpdateGameDoorValues_EM() +{ } void GameActions_EM(byte action[MAX_PLAYERS], boolean warp_mode) { int i; - -#if 0 - static int foo = -1; - - if (action[0] == 0 && foo != 0) - printf("KEY RELEASED @ %05d\n", FrameCounter); - - foo = action[0]; -#endif - -#if 0 -#if 1 - if (FrameCounter % 10 == 0) -#endif - printf("::: %05d: %lu, %d\n", FrameCounter, RandomEM, frame); -#endif - -#if 0 - game_animscreen(); - -#if 1 -#if 0 - SyncDisplay(); -#endif - - blitscreen(); -#endif -#endif + boolean any_player_dropping = FALSE; RandomEM = RandomEM * 129 + 1; @@ -110,7 +83,7 @@ void GameActions_EM(byte action[MAX_PLAYERS], boolean warp_mode) for (i = 0; i < MAX_PLAYERS; i++) readjoy(action[i], &ply[i]); - UpdateEngineValues(screen_x / TILEX, screen_y / TILEY); + UpdateEngineValues(screen_x / TILEX, screen_y / TILEY, ply[0].x, ply[0].y); if (frame == 7) { @@ -123,23 +96,20 @@ void GameActions_EM(byte action[MAX_PLAYERS], boolean warp_mode) synchro_3(); sound_play(); - if (!warp_mode) /* do not redraw values in warp mode */ - DrawGameDoorValues_EM(); + UpdateGameDoorValues_EM(); } - CheckSingleStepMode_EM(action, frame, game_em.any_player_moving); - -#if 1 - game_animscreen(); + for (i = 0; i < MAX_PLAYERS; i++) + if (ply[i].joy_drop && + ply[i].dynamite && + ply[i].dynamite_cnt > 0 && + ply[i].dynamite_cnt < 5) + any_player_dropping = TRUE; -#if 1 -#if 0 - SyncDisplay(); -#endif + CheckSingleStepMode_EM(action, frame, game_em.any_player_moving, + game_em.any_player_snapping, any_player_dropping); - blitscreen(); -#endif -#endif + RedrawPlayfield_EM(FALSE); } /* read input device for players */