projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20100315-1-src
[rocksndiamonds.git]
/
src
/
game_sp
/
Infotrons.c
diff --git
a/src/game_sp/Infotrons.c
b/src/game_sp/Infotrons.c
index 75c18a8eb62a3feb08fd85aee28efa07e9918531..c804191fd8e3c4e89165339744fbd9851eebd630 100644
(file)
--- a/
src/game_sp/Infotrons.c
+++ b/
src/game_sp/Infotrons.c
@@
-122,8
+122,13
@@
loc_g_1242: // infotron comes falling from above
X = GetStretchX(si);
Y = GetStretchY(si - FieldWidth);
dx = bl & 0x7;
X = GetStretchX(si);
Y = GetStretchY(si - FieldWidth);
dx = bl & 0x7;
+#if 1
+ StretchedSprites.BltImg(X, Y, aniSpace, 0);
+ StretchedSprites.BltImg(X, Y + TwoPixels * (dx + 1), aniInfotron, dx);
+#else
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X, Y + TwoPixels * (dx + 1), fiInfotron);
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X, Y + TwoPixels * (dx + 1), fiInfotron);
+#endif
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
bl = HighByte(PlayField16[si]) + 1;
if (bl == 0x16)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
bl = HighByte(PlayField16[si]) + 1;
if (bl == 0x16)
@@
-168,7
+173,19
@@
loc_g_1242: // infotron comes falling from above
if (ax == fiOrangeDisk) // orange disk hit
goto loc_g_1386;
if (ax == fiOrangeDisk) // orange disk hit
goto loc_g_1386;
+#if 1
+
+#if 1
+ // play the infotron sound, 'cause infotron hits something "hard"
+ subSoundFX(si, fiInfotron, actImpact);
+#else
+ // play the zonk sound, 'cause zonk hits something "hard"
+ subSoundFX(si, fiZonk, actImpact);
+#endif
+
+#else
subSoundFXZonk(); // play the zonk sound,'cause zonk hits something "hard"
subSoundFXZonk(); // play the zonk sound,'cause zonk hits something "hard"
+#endif
if (! (ax == fiZonk || ax == fiInfotron || ax == fiRAM))
return subAnimateInfotrons;
if (! (ax == fiZonk || ax == fiInfotron || ax == fiRAM))
return subAnimateInfotrons;
@@
-196,7
+213,8
@@
loc_g_133A: // test if infotron may roll left
goto loc_g_11BD;
MovHighByte(&PlayField16[si], 0x50); // infotron rolls left
goto loc_g_11BD;
MovHighByte(&PlayField16[si], 0x50); // infotron rolls left
- Mov(&PlayField16[si - 1], 0x8888);
+ PlayField16[si - 1] = 0x8888;
+
return subAnimateInfotrons;
loc_g_1350: // test if infotron may roll right
return subAnimateInfotrons;
loc_g_1350: // test if infotron may roll right
@@
-204,7
+222,8
@@
loc_g_1350: // test if infotron may roll right
return subAnimateInfotrons;
MovHighByte(&PlayField16[si], 0x60); // infotron rolls right
return subAnimateInfotrons;
MovHighByte(&PlayField16[si], 0x60); // infotron rolls right
- Mov(&PlayField16[si + 1], 0x8888);
+ PlayField16[si + 1] = 0x8888;
+
return subAnimateInfotrons;
loc_g_1364: // Murphy dies, but not in any case
return subAnimateInfotrons;
loc_g_1364: // Murphy dies, but not in any case
@@
-215,25
+234,11
@@
loc_g_1364: // Murphy dies, but not in any case
if (bl == 0x29 || bl == 0x25 || bl == 0x26)
return subAnimateInfotrons;
if (bl == 0x29 || bl == 0x25 || bl == 0x26)
return subAnimateInfotrons;
-
-
-
-
-
-
-
-
-
-
loc_g_1386: // someone dies/explodes immediately
si = si + FieldWidth; // 1 field down
ExplodeFieldSP(si); // Explode
return subAnimateInfotrons;
loc_g_1386: // someone dies/explodes immediately
si = si + FieldWidth; // 1 field down
ExplodeFieldSP(si); // Explode
return subAnimateInfotrons;
-
-
-
-
loc_g_138D: // infotron comes rolling from right to left
// To Do: draw infotron rolling from right
// according to position in (bl And &H07)
loc_g_138D: // infotron comes rolling from right to left
// To Do: draw infotron rolling from right
// according to position in (bl And &H07)
@@
-241,8
+246,13
@@
loc_g_138D: // infotron comes rolling from right to left
X = GetStretchX(si + 1);
Y = GetStretchY(si);
dx = (bl & 0x7) + 1;
X = GetStretchX(si + 1);
Y = GetStretchY(si);
dx = (bl & 0x7) + 1;
+#if 1
+ StretchedSprites.BltImg(X, Y, aniSpace, 0);
+ StretchedSprites.BltImg(X - (TwoPixels * dx), Y, aniInfotronRollLeft, dx - 1);
+#else
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X, Y, 0);
- StretchedSprites.BltEx(X - (TwoPixels * dx), Y, aniInfotronRollLeft[dx - 1]);
+ StretchedSprites.BltEx(X - (TwoPixels * dx), Y, aniFramesInfotronRollLeft[dx - 1]);
+#endif
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
bl = HighByte(PlayField16[si]) + 1; // get and increment sequence#
if (bl == 0x24)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
bl = HighByte(PlayField16[si]) + 1; // get and increment sequence#
if (bl == 0x24)
@@
-271,8
+281,13
@@
loc_g_13E9: // infotron comes rolling from left to right
X = GetStretchX(si - 1);
Y = GetStretchY(si);
dx = (bl & 0x7) + 1;
X = GetStretchX(si - 1);
Y = GetStretchY(si);
dx = (bl & 0x7) + 1;
+#if 1
+ StretchedSprites.BltImg(X, Y, aniSpace, 0);
+ StretchedSprites.BltImg(X + (TwoPixels * dx), Y, aniInfotronRollRight, dx - 1);
+#else
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X, Y, 0);
- StretchedSprites.BltEx(X + (TwoPixels * dx), Y, aniInfotronRollRight[dx - 1]);
+ StretchedSprites.BltEx(X + (TwoPixels * dx), Y, aniFramesInfotronRollRight[dx - 1]);
+#endif
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
bl = HighByte(PlayField16[si]) + 1;
if (bl == 0x34)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
bl = HighByte(PlayField16[si]) + 1;
if (bl == 0x34)
@@
-321,8
+336,13
@@
loc_g_1472: // infotron rolls left
X = GetStretchX(si);
Y = GetStretchY(si);
dx = (bl & 0xF) + 1;
X = GetStretchX(si);
Y = GetStretchY(si);
dx = (bl & 0xF) + 1;
+#if 1
+ StretchedSprites.BltImg(X, Y, aniSpace, 0);
+ StretchedSprites.BltImg(X - (TwoPixels * dx), Y, aniInfotronRollLeft, dx - 1);
+#else
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X, Y, 0);
- StretchedSprites.BltEx(X - (TwoPixels * dx), Y, aniInfotronRollLeft[dx - 1]);
+ StretchedSprites.BltEx(X - (TwoPixels * dx), Y, aniFramesInfotronRollLeft[dx - 1]);
+#endif
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
bl = HighByte(PlayField16[si]) + 1; // retrieve and increment sequence#
if (bl < 0x52)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
bl = HighByte(PlayField16[si]) + 1; // retrieve and increment sequence#
if (bl < 0x52)
@@
-358,8
+378,13
@@
loc_g_14E0: // infotron rolls right
X = GetStretchX(si);
Y = GetStretchY(si);
dx = (bl & 0x7) + 1;
X = GetStretchX(si);
Y = GetStretchY(si);
dx = (bl & 0x7) + 1;
+#if 1
+ StretchedSprites.BltImg(X, Y, aniSpace, 0);
+ StretchedSprites.BltImg(X + (TwoPixels * dx), Y, aniInfotronRollRight, dx - 1);
+#else
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X, Y, 0);
- StretchedSprites.BltEx(X + (TwoPixels * dx), Y, aniInfotronRollRight[dx - 1]);
+ StretchedSprites.BltEx(X + (TwoPixels * dx), Y, aniFramesInfotronRollRight[dx - 1]);
+#endif
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
bl = HighByte(PlayField16[si]) + 1;
if (bl < 0x62)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
bl = HighByte(PlayField16[si]) + 1;
if (bl < 0x62)
@@
-449,4
+474,3
@@
loc_g_1722:
return subCleanUpForInfotronsAbove;
} // subCleanUpForInfotronsAbove
return subCleanUpForInfotronsAbove;
} // subCleanUpForInfotronsAbove
-