projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changed function logic for changing fullscreen/scaling/vsync to match
[rocksndiamonds.git]
/
src
/
game_em
/
logic.c
diff --git
a/src/game_em/logic.c
b/src/game_em/logic.c
index 3c68bfb9f73ea6250de9abf3ef47b29ec65ad8a1..68a977aad53bb02c072445e020b63ac5264a35f7 100644
(file)
--- a/
src/game_em/logic.c
+++ b/
src/game_em/logic.c
@@
-165,7
+165,7
@@
static void Lboom_eater(int x, int y)
boom[x][y+1] = lev.eater_array[lev.eater_pos][7];
boom[x+1][y+1] = lev.eater_array[lev.eater_pos][8];
boom[x][y+1] = lev.eater_array[lev.eater_pos][7];
boom[x+1][y+1] = lev.eater_array[lev.eater_pos][8];
- lev.eater_pos = (lev.eater_pos + 1) %
8
;
+ lev.eater_pos = (lev.eater_pos + 1) %
lev.num_eater_arrays
;
#if PLAY_ELEMENT_SOUND
play_element_sound(x, y, SOUND_boom, Xeater_n);
#if PLAY_ELEMENT_SOUND
play_element_sound(x, y, SOUND_boom, Xeater_n);
@@
-245,6
+245,15
@@
static void Lboom_next_new(int x, int y, int element)
next[x][y] = element;
}
next[x][y] = element;
}
+static void Lpush_element_old(int x, int y, int element)
+{
+ if (!game_em.use_old_push_elements)
+ return;
+
+ cave[x][y] = element;
+ next[x][y] = element;
+}
+
static boolean player_killed(struct PLAYER *ply)
{
int x = ply->x;
static boolean player_killed(struct PLAYER *ply)
{
int x = ply->x;
@@
-5709,6
+5718,9
@@
static void Lpush_emerald_e(int x, int y)
switch (cave[x+1][y])
{
switch (cave[x+1][y])
{
+ case Zplayer:
+ if (!game_em.use_old_push_elements)
+ break;
case Zborder:
case Zbug:
case Ztank:
case Zborder:
case Zbug:
case Ztank:
@@
-5720,6
+5732,7
@@
static void Lpush_emerald_e(int x, int y)
case Xboom_tank:
case Xboom_android:
case Xboom_1:
case Xboom_tank:
case Xboom_android:
case Xboom_1:
+ Lpush_element_old(x, y, Xemerald);
return;
#ifdef ACID_ROLL
return;
#ifdef ACID_ROLL
@@
-5731,6
+5744,8
@@
static void Lpush_emerald_e(int x, int y)
case Xacid_6:
case Xacid_7:
case Xacid_8:
case Xacid_6:
case Xacid_7:
case Xacid_8:
+ if (game_em.use_old_push_into_acid)
+ break;
if (cave[x+2][y-1] == Xblank)
cave[x+2][y-1] = Xsplash_e;
if (cave[x][y-1] == Xblank)
if (cave[x+2][y-1] == Xblank)
cave[x+2][y-1] = Xsplash_e;
if (cave[x][y-1] == Xblank)
@@
-5751,6
+5766,9
@@
static void Lpush_emerald_w(int x, int y)
switch (cave[x-1][y])
{
switch (cave[x-1][y])
{
+ case Zplayer:
+ if (!game_em.use_old_push_elements)
+ break;
case Zborder:
case Zbug:
case Ztank:
case Zborder:
case Zbug:
case Ztank:
@@
-5762,6
+5780,7
@@
static void Lpush_emerald_w(int x, int y)
case Xboom_tank:
case Xboom_android:
case Xboom_1:
case Xboom_tank:
case Xboom_android:
case Xboom_1:
+ Lpush_element_old(x, y, Xemerald);
return;
#ifdef ACID_ROLL
return;
#ifdef ACID_ROLL
@@
-5773,6
+5792,8
@@
static void Lpush_emerald_w(int x, int y)
case Xacid_6:
case Xacid_7:
case Xacid_8:
case Xacid_6:
case Xacid_7:
case Xacid_8:
+ if (game_em.use_old_push_into_acid)
+ break;
if (cave[x][y-1] == Xblank)
cave[x][y-1] = Xsplash_e;
if (cave[x-2][y-1] == Xblank)
if (cave[x][y-1] == Xblank)
cave[x][y-1] = Xsplash_e;
if (cave[x-2][y-1] == Xblank)
@@
-5793,6
+5814,9
@@
static void Lpush_diamond_e(int x, int y)
switch (cave[x+1][y])
{
switch (cave[x+1][y])
{
+ case Zplayer:
+ if (!game_em.use_old_push_elements)
+ break;
case Zborder:
case Zbug:
case Ztank:
case Zborder:
case Zbug:
case Ztank:
@@
-5804,6
+5828,7
@@
static void Lpush_diamond_e(int x, int y)
case Xboom_tank:
case Xboom_android:
case Xboom_1:
case Xboom_tank:
case Xboom_android:
case Xboom_1:
+ Lpush_element_old(x, y, Xdiamond);
return;
#ifdef ACID_ROLL
return;
#ifdef ACID_ROLL
@@
-5815,6
+5840,8
@@
static void Lpush_diamond_e(int x, int y)
case Xacid_6:
case Xacid_7:
case Xacid_8:
case Xacid_6:
case Xacid_7:
case Xacid_8:
+ if (game_em.use_old_push_into_acid)
+ break;
if (cave[x+2][y-1] == Xblank)
cave[x+2][y-1] = Xsplash_e;
if (cave[x][y-1] == Xblank)
if (cave[x+2][y-1] == Xblank)
cave[x+2][y-1] = Xsplash_e;
if (cave[x][y-1] == Xblank)
@@
-5835,6
+5862,9
@@
static void Lpush_diamond_w(int x, int y)
switch (cave[x-1][y])
{
switch (cave[x-1][y])
{
+ case Zplayer:
+ if (!game_em.use_old_push_elements)
+ break;
case Zborder:
case Zbug:
case Ztank:
case Zborder:
case Zbug:
case Ztank:
@@
-5846,6
+5876,7
@@
static void Lpush_diamond_w(int x, int y)
case Xboom_tank:
case Xboom_android:
case Xboom_1:
case Xboom_tank:
case Xboom_android:
case Xboom_1:
+ Lpush_element_old(x, y, Xdiamond);
return;
#ifdef ACID_ROLL
return;
#ifdef ACID_ROLL
@@
-5857,6
+5888,8
@@
static void Lpush_diamond_w(int x, int y)
case Xacid_6:
case Xacid_7:
case Xacid_8:
case Xacid_6:
case Xacid_7:
case Xacid_8:
+ if (game_em.use_old_push_into_acid)
+ break;
if (cave[x][y-1] == Xblank)
cave[x][y-1] = Xsplash_e;
if (cave[x-2][y-1] == Xblank)
if (cave[x][y-1] == Xblank)
cave[x][y-1] = Xsplash_e;
if (cave[x-2][y-1] == Xblank)
@@
-5877,6
+5910,9
@@
static void Lpush_stone_e(int x, int y)
switch (cave[x+1][y])
{
switch (cave[x+1][y])
{
+ case Zplayer:
+ if (!game_em.use_old_push_elements)
+ break;
case Zborder:
case Zbug:
case Ztank:
case Zborder:
case Zbug:
case Ztank:
@@
-5888,6
+5924,7
@@
static void Lpush_stone_e(int x, int y)
case Xboom_tank:
case Xboom_android:
case Xboom_1:
case Xboom_tank:
case Xboom_android:
case Xboom_1:
+ Lpush_element_old(x, y, Xstone);
return;
#ifdef ACID_ROLL
return;
#ifdef ACID_ROLL
@@
-5899,6
+5936,8
@@
static void Lpush_stone_e(int x, int y)
case Xacid_6:
case Xacid_7:
case Xacid_8:
case Xacid_6:
case Xacid_7:
case Xacid_8:
+ if (game_em.use_old_push_into_acid)
+ break;
if (cave[x+2][y-1] == Xblank)
cave[x+2][y-1] = Xsplash_e;
if (cave[x][y-1] == Xblank)
if (cave[x+2][y-1] == Xblank)
cave[x+2][y-1] = Xsplash_e;
if (cave[x][y-1] == Xblank)
@@
-5919,6
+5958,9
@@
static void Lpush_stone_w(int x, int y)
switch (cave[x-1][y])
{
switch (cave[x-1][y])
{
+ case Zplayer:
+ if (!game_em.use_old_push_elements)
+ break;
case Zborder:
case Zbug:
case Ztank:
case Zborder:
case Zbug:
case Ztank:
@@
-5930,6
+5972,7
@@
static void Lpush_stone_w(int x, int y)
case Xboom_tank:
case Xboom_android:
case Xboom_1:
case Xboom_tank:
case Xboom_android:
case Xboom_1:
+ Lpush_element_old(x, y, Xstone);
return;
#ifdef ACID_ROLL
return;
#ifdef ACID_ROLL
@@
-5941,6
+5984,8
@@
static void Lpush_stone_w(int x, int y)
case Xacid_6:
case Xacid_7:
case Xacid_8:
case Xacid_6:
case Xacid_7:
case Xacid_8:
+ if (game_em.use_old_push_into_acid)
+ break;
if (cave[x][y-1] == Xblank)
cave[x][y-1] = Xsplash_e;
if (cave[x-2][y-1] == Xblank)
if (cave[x][y-1] == Xblank)
cave[x][y-1] = Xsplash_e;
if (cave[x-2][y-1] == Xblank)
@@
-5961,6
+6006,9
@@
static void Lpush_bomb_e(int x, int y)
switch (cave[x+1][y])
{
switch (cave[x+1][y])
{
+ case Zplayer:
+ if (!game_em.use_old_push_elements)
+ break;
case Zborder:
case Zbug:
case Ztank:
case Zborder:
case Zbug:
case Ztank:
@@
-5972,6
+6020,7
@@
static void Lpush_bomb_e(int x, int y)
case Xboom_tank:
case Xboom_android:
case Xboom_1:
case Xboom_tank:
case Xboom_android:
case Xboom_1:
+ Lpush_element_old(x, y, Xbomb);
return;
#ifdef ACID_ROLL
return;
#ifdef ACID_ROLL
@@
-5983,6
+6032,8
@@
static void Lpush_bomb_e(int x, int y)
case Xacid_6:
case Xacid_7:
case Xacid_8:
case Xacid_6:
case Xacid_7:
case Xacid_8:
+ if (game_em.use_old_push_into_acid)
+ break;
if (cave[x+2][y-1] == Xblank)
cave[x+2][y-1] = Xsplash_e;
if (cave[x][y-1] == Xblank)
if (cave[x+2][y-1] == Xblank)
cave[x+2][y-1] = Xsplash_e;
if (cave[x][y-1] == Xblank)
@@
-6003,6
+6054,9
@@
static void Lpush_bomb_w(int x, int y)
switch (cave[x-1][y])
{
switch (cave[x-1][y])
{
+ case Zplayer:
+ if (!game_em.use_old_push_elements)
+ break;
case Zborder:
case Zbug:
case Ztank:
case Zborder:
case Zbug:
case Ztank:
@@
-6014,6
+6068,7
@@
static void Lpush_bomb_w(int x, int y)
case Xboom_tank:
case Xboom_android:
case Xboom_1:
case Xboom_tank:
case Xboom_android:
case Xboom_1:
+ Lpush_element_old(x, y, Xbomb);
return;
#ifdef ACID_ROLL
return;
#ifdef ACID_ROLL
@@
-6025,6
+6080,8
@@
static void Lpush_bomb_w(int x, int y)
case Xacid_6:
case Xacid_7:
case Xacid_8:
case Xacid_6:
case Xacid_7:
case Xacid_8:
+ if (game_em.use_old_push_into_acid)
+ break;
if (cave[x][y-1] == Xblank)
cave[x][y-1] = Xsplash_e;
if (cave[x-2][y-1] == Xblank)
if (cave[x][y-1] == Xblank)
cave[x][y-1] = Xsplash_e;
if (cave[x-2][y-1] == Xblank)
@@
-6045,6
+6102,9
@@
static void Lpush_nut_e(int x, int y)
switch (cave[x+1][y])
{
switch (cave[x+1][y])
{
+ case Zplayer:
+ if (!game_em.use_old_push_elements)
+ break;
case Zborder:
case Zbug:
case Ztank:
case Zborder:
case Zbug:
case Ztank:
@@
-6056,6
+6116,7
@@
static void Lpush_nut_e(int x, int y)
case Xboom_tank:
case Xboom_android:
case Xboom_1:
case Xboom_tank:
case Xboom_android:
case Xboom_1:
+ Lpush_element_old(x, y, Xnut);
return;
#ifdef ACID_ROLL
return;
#ifdef ACID_ROLL
@@
-6067,6
+6128,8
@@
static void Lpush_nut_e(int x, int y)
case Xacid_6:
case Xacid_7:
case Xacid_8:
case Xacid_6:
case Xacid_7:
case Xacid_8:
+ if (game_em.use_old_push_into_acid)
+ break;
if (cave[x+2][y-1] == Xblank)
cave[x+2][y-1] = Xsplash_e;
if (cave[x][y-1] == Xblank)
if (cave[x+2][y-1] == Xblank)
cave[x+2][y-1] = Xsplash_e;
if (cave[x][y-1] == Xblank)
@@
-6087,6
+6150,9
@@
static void Lpush_nut_w(int x, int y)
switch (cave[x-1][y])
{
switch (cave[x-1][y])
{
+ case Zplayer:
+ if (!game_em.use_old_push_elements)
+ break;
case Zborder:
case Zbug:
case Ztank:
case Zborder:
case Zbug:
case Ztank:
@@
-6098,6
+6164,7
@@
static void Lpush_nut_w(int x, int y)
case Xboom_tank:
case Xboom_android:
case Xboom_1:
case Xboom_tank:
case Xboom_android:
case Xboom_1:
+ Lpush_element_old(x, y, Xnut);
return;
#ifdef ACID_ROLL
return;
#ifdef ACID_ROLL
@@
-6109,6
+6176,8
@@
static void Lpush_nut_w(int x, int y)
case Xacid_6:
case Xacid_7:
case Xacid_8:
case Xacid_6:
case Xacid_7:
case Xacid_8:
+ if (game_em.use_old_push_into_acid)
+ break;
if (cave[x][y-1] == Xblank)
cave[x][y-1] = Xsplash_e;
if (cave[x-2][y-1] == Xblank)
if (cave[x][y-1] == Xblank)
cave[x][y-1] = Xsplash_e;
if (cave[x-2][y-1] == Xblank)
@@
-6129,6
+6198,9
@@
static void Lpush_spring_e(int x, int y)
switch (cave[x+1][y])
{
switch (cave[x+1][y])
{
+ case Zplayer:
+ if (!game_em.use_old_push_elements)
+ break;
case Zborder:
case Zbug:
case Ztank:
case Zborder:
case Zbug:
case Ztank:
@@
-6140,6
+6212,7
@@
static void Lpush_spring_e(int x, int y)
case Xboom_tank:
case Xboom_android:
case Xboom_1:
case Xboom_tank:
case Xboom_android:
case Xboom_1:
+ Lpush_element_old(x, y, Xspring);
return;
#ifdef ACID_ROLL
return;
#ifdef ACID_ROLL
@@
-6151,6
+6224,8
@@
static void Lpush_spring_e(int x, int y)
case Xacid_6:
case Xacid_7:
case Xacid_8:
case Xacid_6:
case Xacid_7:
case Xacid_8:
+ if (game_em.use_old_push_into_acid)
+ break;
if (cave[x+2][y-1] == Xblank)
cave[x+2][y-1] = Xsplash_e;
if (cave[x][y-1] == Xblank)
if (cave[x+2][y-1] == Xblank)
cave[x+2][y-1] = Xsplash_e;
if (cave[x][y-1] == Xblank)
@@
-6171,6
+6246,9
@@
static void Lpush_spring_w(int x, int y)
switch (cave[x-1][y])
{
switch (cave[x-1][y])
{
+ case Zplayer:
+ if (!game_em.use_old_push_elements)
+ break;
case Zborder:
case Zbug:
case Ztank:
case Zborder:
case Zbug:
case Ztank:
@@
-6182,6
+6260,7
@@
static void Lpush_spring_w(int x, int y)
case Xboom_tank:
case Xboom_android:
case Xboom_1:
case Xboom_tank:
case Xboom_android:
case Xboom_1:
+ Lpush_element_old(x, y, Xspring);
return;
#ifdef ACID_ROLL
return;
#ifdef ACID_ROLL
@@
-6193,6
+6272,8
@@
static void Lpush_spring_w(int x, int y)
case Xacid_6:
case Xacid_7:
case Xacid_8:
case Xacid_6:
case Xacid_7:
case Xacid_8:
+ if (game_em.use_old_push_into_acid)
+ break;
if (cave[x][y-1] == Xblank)
cave[x][y-1] = Xsplash_e;
if (cave[x-2][y-1] == Xblank)
if (cave[x][y-1] == Xblank)
cave[x][y-1] = Xsplash_e;
if (cave[x-2][y-1] == Xblank)