projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added support for storing multiple event definitions for global animations
[rocksndiamonds.git]
/
src
/
game_sp
/
DoGameStuff.c
diff --git
a/src/game_sp/DoGameStuff.c
b/src/game_sp/DoGameStuff.c
index 3bef36841c1bf6941f2757c8575fd624e7fa6b74..79b102d6dbfd8307df3e0f283b463cf116d929cd 100644
(file)
--- a/
src/game_sp/DoGameStuff.c
+++ b/
src/game_sp/DoGameStuff.c
@@
-8,8
+8,8
@@
static void CallAnimation(int si, byte bl);
static boolean IsToBeAnimated(int bl);
static void CallAnimation(int si, byte bl);
static boolean IsToBeAnimated(int bl);
-int
*AnimationPosTable
;
-byte
*AnimationSubTable
;
+int
AnimationPosTable[SP_MAX_PLAYFIELD_SIZE]
;
+byte
AnimationSubTable[SP_MAX_PLAYFIELD_SIZE]
;
// ==========================================================================
// ==========================================================================
@@
-17,12
+17,16
@@
byte *AnimationSubTable;
// Do game stuff
// ==========================================================================
// Do game stuff
// ==========================================================================
-void subDoGameStuff()
+void subDoGameStuff(
void
)
{
int si, cx, dx, bl;
{
int si, cx, dx, bl;
+ int InfotronsNeeded_last = InfotronsNeeded;
subAnimateMurphy(&MurphyPosIndex); // move Murphy in any direction
subAnimateMurphy(&MurphyPosIndex); // move Murphy in any direction
+ if (InfotronsNeeded != InfotronsNeeded_last)
+ game.snapshot.collected_item = TRUE;
+
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Build a database of locations and subs-to-call of animatable fields only:
// Make a snapshot from the field before the animation cycle starts.
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Build a database of locations and subs-to-call of animatable fields only:
// Make a snapshot from the field before the animation cycle starts.
@@
-67,23
+71,14
@@
void subDoGameStuff()
if (KillMurphyFlag == 1 || MurphyMoveCounter == 0)
{
if (LeadOutCounter == 0 &&
if (KillMurphyFlag == 1 || MurphyMoveCounter == 0)
{
if (LeadOutCounter == 0 &&
- !game_sp.
LevelS
olved &&
- !game_sp.
GameO
ver)
+ !game_sp.
level_s
olved &&
+ !game_sp.
game_o
ver)
{
{
-#if 1
- printf("::: DoGameStuff.c: killing murphy [%d] ...\n", KillMurphyFlag);
-#endif
-
KillMurphyFlag = 0; // no more "kill Murphy"
ExplodeFieldSP(MurphyExplodePos); // Explode
LeadOutCounter = 0x40; // quit: start lead-out
KillMurphyFlag = 0; // no more "kill Murphy"
ExplodeFieldSP(MurphyExplodePos); // Explode
LeadOutCounter = 0x40; // quit: start lead-out
-#if 1
- printf("::: DoGameStuff.c: !!!!!!!!!! GAME OVER !!!!!!!!!!\n");
- printf("::: [KillMurphyFlag == %d]\n", KillMurphyFlag);
-#endif
-
- /* give Murphy some more time (LeadOutCounter) to reach the exit */
+ // give Murphy some more time (LeadOutCounter) to reach the exit
}
} // loc_g_22FB:
}
}
} // loc_g_22FB:
}