projects
/
rocksndiamonds.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f7b79b7
)
rnd-20100216-2-src
author
Holger Schemel
<info@artsoft.org>
Tue, 16 Feb 2010 16:21:05 +0000
(17:21 +0100)
committer
Holger Schemel
<info@artsoft.org>
Sat, 30 Aug 2014 08:58:32 +0000
(10:58 +0200)
* done integrating R'n'D graphics engine into file "SnikSnaks.c"
* done integrating R'n'D graphics engine into file "Electrons.c"
ChangeLog
patch
|
blob
|
history
src/conftime.h
patch
|
blob
|
history
src/game_sp/Electrons.c
patch
|
blob
|
history
src/game_sp/Globals.c
patch
|
blob
|
history
src/game_sp/Globals.h
patch
|
blob
|
history
src/game_sp/SnikSnaks.c
patch
|
blob
|
history
diff --git
a/ChangeLog
b/ChangeLog
index e5ba1ba1b81331ed7ce93b02a746a430060c7901..c1f4a80d430a7b6b0c2f6559d84b5d06a793d90e 100644
(file)
--- a/
ChangeLog
+++ b/
ChangeLog
@@
-1,5
+1,7
@@
2010-02-16
* fixed bug in native Supaplex engine that broke several demo solutions
2010-02-16
* fixed bug in native Supaplex engine that broke several demo solutions
+ * done integrating R'n'D graphics engine into file "SnikSnaks.c"
+ * done integrating R'n'D graphics engine into file "Electrons.c"
2010-02-14
* done integrating R'n'D graphics engine into file "Murphy.c"
2010-02-14
* done integrating R'n'D graphics engine into file "Murphy.c"
diff --git
a/src/conftime.h
b/src/conftime.h
index 20908561a4af6a73001b56cec40d3971ab96e731..900d4568ee559a5bf08f2f5099cdb8b7f5c38c66 100644
(file)
--- a/
src/conftime.h
+++ b/
src/conftime.h
@@
-1
+1
@@
-#define COMPILE_DATE_STRING "2010-02-16 1
5:40
"
+#define COMPILE_DATE_STRING "2010-02-16 1
7:12
"
diff --git
a/src/game_sp/Electrons.c
b/src/game_sp/Electrons.c
index f678ab58526ced246faf0f3b6f4c0db24a8f6ab2..a910138dd8629f5b3be5f572d82163d5a319e783 100644
(file)
--- a/
src/game_sp/Electrons.c
+++ b/
src/game_sp/Electrons.c
@@
-103,7
+103,7
@@
int subElectronTurnLeft(int si, int bx)
int subElectronTurnLeft;
// int ax, ah, bl, dx, X, Y;
int subElectronTurnLeft;
// int ax, ah, bl, dx, X, Y;
- int ax, bl
, X, Y
;
+ int ax, bl;
ax = (TimerVar & 3);
if (ax != 0)
ax = (TimerVar & 3);
if (ax != 0)
@@
-114,11
+114,16
@@
int subElectronTurnLeft(int si, int bx)
return subElectronTurnLeft;
} // loc_g_7A9F:
return subElectronTurnLeft;
} // loc_g_7A9F:
+#if 1
+ subDrawElectronTurnLeft(si, bx);
+#else
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si);
StretchedSprites.BltEx(X, Y, aniFramesElectron[bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si);
StretchedSprites.BltEx(X, Y, aniFramesElectron[bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
+#endif
+
bx = (bx + 1) & 0x7;
MovHighByte(&PlayField16[si], bx);
return subElectronTurnLeft;
bx = (bx + 1) & 0x7;
MovHighByte(&PlayField16[si], bx);
return subElectronTurnLeft;
@@
-210,7
+215,7
@@
int subElectronTurnRight(int si, int bx)
int subElectronTurnRight;
// int ax, ah, bl, dx, X, Y;
int subElectronTurnRight;
// int ax, ah, bl, dx, X, Y;
- int ax, bl
, X, Y
;
+ int ax, bl;
ax = (TimerVar & 3);
if (ax != 0)
ax = (TimerVar & 3);
if (ax != 0)
@@
-221,11
+226,16
@@
int subElectronTurnRight(int si, int bx)
return subElectronTurnRight;
} // loc_g_7B73:
return subElectronTurnRight;
} // loc_g_7B73:
+#if 1
+ subDrawElectronTurnRight(si, bx);
+#else
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si);
StretchedSprites.BltEx(X, Y, aniFramesElectron[0x10 - bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si);
StretchedSprites.BltEx(X, Y, aniFramesElectron[0x10 - bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
+#endif
+
bx = ((bx + 1) & 0x7) | 8;
MovHighByte(&PlayField16[si], bx);
return subElectronTurnRight;
bx = ((bx + 1) & 0x7) | 8;
MovHighByte(&PlayField16[si], bx);
return subElectronTurnRight;
@@
-317,8
+327,12
@@
int subElectronFromBelow(int si, int bx)
int subElectronFromBelow;
// int ax, ah, bl, dx, X, Y;
int subElectronFromBelow;
// int ax, ah, bl, dx, X, Y;
- int ax, bl
, X, Y
;
+ int ax, bl;
+#if 1
+ subDrawElectronFromBelow(si, bx);
+ bx = bx - 0xF; // get and increment sequence#
+#else
bx = bx - 0xF; // get and increment sequence#
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
bx = bx - 0xF; // get and increment sequence#
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
@@
-326,6
+340,8
@@
int subElectronFromBelow(int si, int bx)
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X, Y - bx * TwoPixels, aniFramesElectron[bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X, Y - bx * TwoPixels, aniFramesElectron[bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
+#endif
+
bl = LowByte(bx);
if (bl == 7 && LowByte(PlayField16[si + FieldWidth]) != fiExplosion)
{
bl = LowByte(bx);
if (bl == 7 && LowByte(PlayField16[si + FieldWidth]) != fiExplosion)
{
@@
-380,8
+396,12
@@
int subElectronFromRight(int si, int bx)
int subElectronFromRight;
// int ax, ah, bl, dx, X, Y;
int subElectronFromRight;
// int ax, ah, bl, dx, X, Y;
- int ax, bl
, X, Y
;
+ int ax, bl;
+#if 1
+ subDrawElectronFromRight(si, bx);
+ bx = bx - 0x17; // get and increment sequence#
+#else
bx = bx - 0x17; // get and increment sequence#
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si + 1);
bx = bx - 0x17; // get and increment sequence#
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si + 1);
@@
-389,6
+409,8
@@
int subElectronFromRight(int si, int bx)
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X - bx * TwoPixels, Y, aniFramesElectron[bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X - bx * TwoPixels, Y, aniFramesElectron[bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
+#endif
+
bl = LowByte(bx);
if (bl == 7 && LowByte(PlayField16[si + 1]) != fiExplosion)
{
bl = LowByte(bx);
if (bl == 7 && LowByte(PlayField16[si + 1]) != fiExplosion)
{
@@
-442,8
+464,12
@@
int subElectronFromAbove(int si, int bx)
int subElectronFromAbove;
// int ax, ah, bl, dx, X, Y;
int subElectronFromAbove;
// int ax, ah, bl, dx, X, Y;
- int ax, bl
, X, Y
;
+ int ax, bl;
+#if 1
+ subDrawElectronFromAbove(si, bx);
+ bx = bx - 0x1F; // get and increment sequence#
+#else
bx = bx - 0x1F; // get and increment sequence#
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
bx = bx - 0x1F; // get and increment sequence#
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
@@
-451,6
+477,8
@@
int subElectronFromAbove(int si, int bx)
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X, Y + bx * TwoPixels, aniFramesElectron[bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X, Y + bx * TwoPixels, aniFramesElectron[bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
+#endif
+
bl = LowByte(bx);
if (bl == 7 && LowByte(PlayField16[si - FieldWidth]) != fiExplosion)
{
bl = LowByte(bx);
if (bl == 7 && LowByte(PlayField16[si - FieldWidth]) != fiExplosion)
{
@@
-504,8
+532,12
@@
int subElectronFromLeft(int si, int bx)
int subElectronFromLeft;
// int ax, ah, bl, dx, X, Y;
int subElectronFromLeft;
// int ax, ah, bl, dx, X, Y;
- int ax, bl
, X, Y
;
+ int ax, bl;
+#if 1
+ subDrawElectronFromLeft(si, bx);
+ bx = bx - 0x27; // get and increment sequence#
+#else
bx = bx - 0x27; // get and increment sequence#
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si - 1);
bx = bx - 0x27; // get and increment sequence#
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si - 1);
@@
-513,6
+545,8
@@
int subElectronFromLeft(int si, int bx)
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X + bx * TwoPixels, Y, aniFramesElectron[bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X + bx * TwoPixels, Y, aniFramesElectron[bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
+#endif
+
bl = LowByte(bx);
if (bl == 7 && LowByte(PlayField16[si - 1]) != fiExplosion)
{
bl = LowByte(bx);
if (bl == 7 && LowByte(PlayField16[si - 1]) != fiExplosion)
{
@@
-570,7
+604,11
@@
int subDrawElectronTurnLeft(int si, int bx)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si);
+#if 1
+ StretchedSprites.BltImg(X, Y, aniElectron, bx);
+#else
StretchedSprites.BltEx(X, Y, aniFramesElectron[bx]);
StretchedSprites.BltEx(X, Y, aniFramesElectron[bx]);
+#endif
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
return subDrawElectronTurnLeft;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
return subDrawElectronTurnLeft;
@@
-585,7
+623,11
@@
int subDrawElectronTurnRight(int si, int bx)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si);
+#if 1
+ StretchedSprites.BltImg(X, Y, aniElectron, 0x10 - bx);
+#else
StretchedSprites.BltEx(X, Y, aniFramesElectron[0x10 - bx]);
StretchedSprites.BltEx(X, Y, aniFramesElectron[0x10 - bx]);
+#endif
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
return subDrawElectronTurnRight;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
return subDrawElectronTurnRight;
@@
-601,8
+643,13
@@
int subDrawElectronFromBelow(int si, int bx)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si + FieldWidth);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si + FieldWidth);
+#if 1
+ StretchedSprites.BltImg(X, Y, aniSpace, 0);
+ StretchedSprites.BltImg(X, Y - bx * TwoPixels, aniElectron, bx);
+#else
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X, Y - bx * TwoPixels, aniFramesElectron[bx]);
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X, Y - bx * TwoPixels, aniFramesElectron[bx]);
+#endif
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
return subDrawElectronFromBelow;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
return subDrawElectronFromBelow;
@@
-618,8
+665,13
@@
int subDrawElectronFromRight(int si, int bx)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si + 1);
Y = GetStretchY(si);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si + 1);
Y = GetStretchY(si);
+#if 1
+ StretchedSprites.BltImg(X, Y, aniSpace, 0);
+ StretchedSprites.BltImg(X - bx * TwoPixels, Y, aniElectron, bx);
+#else
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X - bx * TwoPixels, Y, aniFramesElectron[bx]);
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X - bx * TwoPixels, Y, aniFramesElectron[bx]);
+#endif
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
return subDrawElectronFromRight;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
return subDrawElectronFromRight;
@@
-635,8
+687,13
@@
int subDrawElectronFromAbove(int si, int bx)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si - FieldWidth);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si);
Y = GetStretchY(si - FieldWidth);
+#if 1
+ StretchedSprites.BltImg(X, Y, aniSpace, 0);
+ StretchedSprites.BltImg(X, Y + bx * TwoPixels, aniElectron, bx);
+#else
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X, Y + bx * TwoPixels, aniFramesElectron[bx]);
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X, Y + bx * TwoPixels, aniFramesElectron[bx]);
+#endif
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
return subDrawElectronFromAbove;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
return subDrawElectronFromAbove;
@@
-652,8
+709,13
@@
int subDrawElectronFromLeft(int si, int bx)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si - 1);
Y = GetStretchY(si);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
X = GetStretchX(si - 1);
Y = GetStretchY(si);
+#if 1
+ StretchedSprites.BltImg(X, Y, aniSpace, 0);
+ StretchedSprites.BltImg(X + bx * TwoPixels, Y, aniElectron, bx);
+#else
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X + bx * TwoPixels, Y, aniFramesElectron[bx]);
StretchedSprites.BltEx(X, Y, 0);
StretchedSprites.BltEx(X + bx * TwoPixels, Y, aniFramesElectron[bx]);
+#endif
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
return subDrawElectronFromLeft;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
return subDrawElectronFromLeft;
diff --git
a/src/game_sp/Globals.c
b/src/game_sp/Globals.c
index 6cc66efd62eb44baf4892405b9833ec556f3ccc7..8f4ff9dc56726f7107628e5959f22dd94a4e7e6d 100644
(file)
--- a/
src/game_sp/Globals.c
+++ b/
src/game_sp/Globals.c
@@
-244,6
+244,23
@@
int fiGraphic[] =
aniWallSpace
};
aniWallSpace
};
+int aniSnikSnakTurningLeft[] =
+{
+ aniSnikSnakTurnUpToLeft,
+ aniSnikSnakTurnLeftToDown,
+ aniSnikSnakTurnDownToRight,
+ aniSnikSnakTurnRightToUp
+};
+
+int aniSnikSnakTurningRight[] =
+{
+ aniSnikSnakTurnUpToRight,
+ aniSnikSnakTurnRightToDown,
+ aniSnikSnakTurnDownToLeft,
+ aniSnikSnakTurnLeftToUp
+};
+
+
int getSequenceLength(int sequence)
{
switch (sequence)
int getSequenceLength(int sequence)
{
switch (sequence)
diff --git
a/src/game_sp/Globals.h
b/src/game_sp/Globals.h
index 27bbb04ca40661523c539de3afb0295dac769c62..45a6ab8ce716851c92780e0931c7e5e037bdbd4d 100644
(file)
--- a/
src/game_sp/Globals.h
+++ b/
src/game_sp/Globals.h
@@
-237,6
+237,15
@@
#define aniSnikSnakRight IMG_SP_SNIKSNAK_RIGHT
#define aniSnikSnakUp IMG_SP_SNIKSNAK_UP
#define aniSnikSnakRight IMG_SP_SNIKSNAK_RIGHT
#define aniSnikSnakUp IMG_SP_SNIKSNAK_UP
+#define aniSnikSnakTurnLeftToUp IMG_SP_SNIKSNAK_TURNING_FROM_LEFT_UP
+#define aniSnikSnakTurnLeftToDown IMG_SP_SNIKSNAK_TURNING_FROM_LEFT_DOWN
+#define aniSnikSnakTurnRightToUp IMG_SP_SNIKSNAK_TURNING_FROM_RIGHT_UP
+#define aniSnikSnakTurnRightToDown IMG_SP_SNIKSNAK_TURNING_FROM_RIGHT_DOWN
+#define aniSnikSnakTurnUpToLeft IMG_SP_SNIKSNAK_TURNING_FROM_UP_LEFT
+#define aniSnikSnakTurnUpToRight IMG_SP_SNIKSNAK_TURNING_FROM_UP_RIGHT
+#define aniSnikSnakTurnDownToLeft IMG_SP_SNIKSNAK_TURNING_FROM_DOWN_LEFT
+#define aniSnikSnakTurnDownToRight IMG_SP_SNIKSNAK_TURNING_FROM_DOWN_RIGHT
+
#define aniTerminalActive IMG_SP_TERMINAL_ACTIVE
#define aniExplosionInfo (111)
#define aniTerminalActive IMG_SP_TERMINAL_ACTIVE
#define aniExplosionInfo (111)
@@
-345,6
+354,8
@@
extern int getSequenceLength(int sequence);
extern boolean isSnappingSequence(int sequence);
extern int fiGraphic[];
extern boolean isSnappingSequence(int sequence);
extern int fiGraphic[];
+extern int aniSnikSnakTurningLeft[];
+extern int aniSnikSnakTurningRight[];
extern boolean Alignments;
extern boolean BlockingSpeed;
extern boolean Alignments;
extern boolean BlockingSpeed;
diff --git
a/src/game_sp/SnikSnaks.c
b/src/game_sp/SnikSnaks.c
index d7b11e175dfe5300b99e231d5c45dbc43346c96b..5053b3639d6caffdef62664f32056ae2af6edb10 100644
(file)
--- a/
src/game_sp/SnikSnaks.c
+++ b/
src/game_sp/SnikSnaks.c
@@
-655,6
+655,12
@@
static int subDrawSnikSnakTurnLeft(int si, int bx)
{
static int subDrawSnikSnakTurnLeft;
{
static int subDrawSnikSnakTurnLeft;
+#if 1
+ // int pos = bx / 2;
+ int pos = ((bx + 7) % 8) / 2;
+
+ GfxGraphic[GetX(si)][GetY(si)] = aniSnikSnakTurningLeft[pos];
+#else
int X, Y;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
int X, Y;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
@@
-662,6
+668,7
@@
static int subDrawSnikSnakTurnLeft(int si, int bx)
Y = GetStretchY(si);
StretchedSprites.BltEx(X, Y, aniFramesSnikSnak[bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
Y = GetStretchY(si);
StretchedSprites.BltEx(X, Y, aniFramesSnikSnak[bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
+#endif
return subDrawSnikSnakTurnLeft;
}
return subDrawSnikSnakTurnLeft;
}
@@
-670,6
+677,12
@@
static int subDrawSnikSnakTurnRight(int si, int bx)
{
static int subDrawSnikSnakTurnRight;
{
static int subDrawSnikSnakTurnRight;
+#if 1
+ // int pos = (bx - 8) / 2;
+ int pos = ((bx - 1) % 8) / 2;
+
+ GfxGraphic[GetX(si)][GetY(si)] = aniSnikSnakTurningRight[pos];
+#else
int X, Y;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
int X, Y;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
@@
-677,6
+690,7
@@
static int subDrawSnikSnakTurnRight(int si, int bx)
Y = GetStretchY(si);
StretchedSprites.BltEx(X, Y, aniFramesSnikSnak[0x10 - bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
Y = GetStretchY(si);
StretchedSprites.BltEx(X, Y, aniFramesSnikSnak[0x10 - bx]);
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
+#endif
return subDrawSnikSnakTurnRight;
}
return subDrawSnikSnakTurnRight;
}