projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed time of some game elements when reading native DC2 levels
[rocksndiamonds.git]
/
src
/
files.c
diff --git
a/src/files.c
b/src/files.c
index 706b819e701fa4905d691d8e6cc609703dea37a9..0b656358d61eefb548c149e8d27c604816fa6638 100644
(file)
--- a/
src/files.c
+++ b/
src/files.c
@@
-2334,7
+2334,7
@@
static void copyLevelFileInfo(struct LevelFileInfo *lfi_from,
// functions for loading R'n'D level
// ----------------------------------------------------------------------------
// functions for loading R'n'D level
// ----------------------------------------------------------------------------
-
static
int getMappedElement(int element)
+int getMappedElement(int element)
{
// remap some (historic, now obsolete) elements
{
// remap some (historic, now obsolete) elements
@@
-4274,7
+4274,7
@@
static int getMappedElement_DC(int element)
break;
case 0x13f5:
break;
case 0x13f5:
- element = EL_YAMYAM;
+ element = EL_YAMYAM
_UP
;
break;
case 0x1425:
break;
case 0x1425:
@@
-5300,7
+5300,7
@@
static int getMappedElement_DC(int element)
break;
case 0x1682: // secret gate (red)
break;
case 0x1682: // secret gate (red)
- element = EL_GATE_1_GRAY;
+ element = EL_
EM_
GATE_1_GRAY;
break;
case 0x1683: // gate (yellow)
break;
case 0x1683: // gate (yellow)
@@
-5308,7
+5308,7
@@
static int getMappedElement_DC(int element)
break;
case 0x1684: // secret gate (yellow)
break;
case 0x1684: // secret gate (yellow)
- element = EL_GATE_2_GRAY;
+ element = EL_
EM_
GATE_2_GRAY;
break;
case 0x1685: // gate (blue)
break;
case 0x1685: // gate (blue)
@@
-5316,7
+5316,7
@@
static int getMappedElement_DC(int element)
break;
case 0x1686: // secret gate (blue)
break;
case 0x1686: // secret gate (blue)
- element = EL_GATE_4_GRAY;
+ element = EL_
EM_
GATE_4_GRAY;
break;
case 0x1687: // gate (green)
break;
case 0x1687: // gate (green)
@@
-5324,7
+5324,7
@@
static int getMappedElement_DC(int element)
break;
case 0x1688: // secret gate (green)
break;
case 0x1688: // secret gate (green)
- element = EL_GATE_3_GRAY;
+ element = EL_
EM_
GATE_3_GRAY;
break;
case 0x1689: // gate (white)
break;
case 0x1689: // gate (white)
@@
-5717,6
+5717,13
@@
static void LoadLevelFromFileStream_DC(File *file, struct LevelInfo *level,
level->extra_time = header[56] | (header[57] << 8);
level->shield_normal_time = header[58] | (header[59] << 8);
level->extra_time = header[56] | (header[57] << 8);
level->shield_normal_time = header[58] | (header[59] << 8);
+ // shield and extra time elements do not have a score
+ level->score[SC_SHIELD] = 0;
+ level->extra_time_score = 0;
+
+ // set time for normal and deadly shields to the same value
+ level->shield_deadly_time = level->shield_normal_time;
+
// Diamond Caves has the same (strange) behaviour as Emerald Mine that gems
// can slip down from flat walls, like normal walls and steel walls
level->em_slippery_gems = TRUE;
// Diamond Caves has the same (strange) behaviour as Emerald Mine that gems
// can slip down from flat walls, like normal walls and steel walls
level->em_slippery_gems = TRUE;