From ba75f1237ef179f58bf8dc24e2e463ec918fc7e3 Mon Sep 17 00:00:00 2001 From: zicodxx Date: Sun, 8 Apr 2012 15:47:50 +0200 Subject: [PATCH] added specification for Descent: Destination Saturn briefing screen to properly show briefings; added different briefing structure for Descent 1 Shareware which has a slightly different order of the usual briefings --- CHANGELOG.txt | 4 ++++ main/mission.c | 2 +- main/mission.h | 7 ++++--- main/titles.c | 31 ++++++++++++++++++------------- 4 files changed, 27 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index d943a843c..e0764d72b 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,9 @@ D1X-Rebirth Changelog +20120408 +-------- +main/mission.c, main/mission.h, main/titles.c: added specification for Descent: Destination Saturn briefing screen to properly show briefings; added different briefing structure for Descent 1 Shareware which has a slightly different order of the usual briefings + 20120407 -------- main/fireball.c: made choose_drop_segment more similar to D2X-Rebirth and let fallback correctly check for reactor segment diff --git a/main/mission.c b/main/mission.c index b85d6c542..75e2f0cb7 100644 --- a/main/mission.c +++ b/main/mission.c @@ -110,7 +110,7 @@ int load_mission_d1(void) Secret_level_table[0] = 10; - strcpy(Briefing_text_filename,BIMD1_BRIEFING_FILE); + strcpy(Briefing_text_filename,BIMD1_BRIEFING_FILE_OEM); strcpy(Ending_text_filename,BIMD1_ENDING_FILE_OEM); break; diff --git a/main/mission.h b/main/mission.h index 36e223f7d..7418ecf98 100644 --- a/main/mission.h +++ b/main/mission.h @@ -78,10 +78,11 @@ extern Mission *Current_mission; // current mission #define PLAYING_BUILTIN_MISSION (Current_mission->builtin_hogsize != 0) #define ANARCHY_ONLY_MISSION (Current_mission->anarchy_only_flag == 1) -#define BIMD1_LAST_LEVEL 27 +#define BIMD1_LAST_LEVEL 27 #define BIMD1_LAST_SECRET_LEVEL -3 -#define BIMD1_BRIEFING_FILE "briefing.txb" -#define BIMD1_ENDING_FILE "endreg.txb" +#define BIMD1_BRIEFING_FILE "briefing.txb" +#define BIMD1_BRIEFING_FILE_OEM "briefsat.txb" +#define BIMD1_ENDING_FILE "endreg.txb" #define BIMD1_ENDING_FILE_OEM "endsat.txb" #define BIMD1_ENDING_FILE_SHARE "ending.txb" diff --git a/main/titles.c b/main/titles.c index 3eff0adfd..cf855b30e 100644 --- a/main/titles.c +++ b/main/titles.c @@ -222,58 +222,47 @@ typedef struct { #define ENDING_LEVEL_NUM_OEMSHARE 0x7f #define ENDING_LEVEL_NUM_REGISTER 0x7e -briefing_screen Briefing_screens[] = { +briefing_screen Briefing_screens_full[] = { { "brief01.pcx", 0, 1, 13, 140, 290, 59 }, { "brief02.pcx", 0, 2, 27, 34, 257, 177 }, { "brief03.pcx", 0, 3, 20, 22, 257, 177 }, { "brief02.pcx", 0, 4, 27, 34, 257, 177 }, - { "moon01.pcx", 1, 5, 10, 10, 300, 170 }, // level 1 { "moon01.pcx", 2, 6, 10, 10, 300, 170 }, // level 2 { "moon01.pcx", 3, 7, 10, 10, 300, 170 }, // level 3 - { "venus01.pcx", 4, 8, 15, 15, 300, 200 }, // level 4 { "venus01.pcx", 5, 9, 15, 15, 300, 200 }, // level 5 - { "brief03.pcx", 6, 10, 20, 22, 257, 177 }, { "merc01.pcx", 6, 11, 10, 15, 300, 200 }, // level 6 { "merc01.pcx", 7, 12, 10, 15, 300, 200 }, // level 7 - { "brief03.pcx", 8, 13, 20, 22, 257, 177 }, { "mars01.pcx", 8, 14, 10, 100, 300, 200 }, // level 8 { "mars01.pcx", 9, 15, 10, 100, 300, 200 }, // level 9 { "brief03.pcx", 10, 16, 20, 22, 257, 177 }, { "mars01.pcx", 10, 17, 10, 100, 300, 200 }, // level 10 - { "jup01.pcx", 11, 18, 10, 40, 300, 200 }, // level 11 { "jup01.pcx", 12, 19, 10, 40, 300, 200 }, // level 12 { "brief03.pcx", 13, 20, 20, 22, 257, 177 }, { "jup01.pcx", 13, 21, 10, 40, 300, 200 }, // level 13 { "jup01.pcx", 14, 22, 10, 40, 300, 200 }, // level 14 - { "saturn01.pcx", 15, 23, 10, 40, 300, 200 }, // level 15 { "brief03.pcx", 16, 24, 20, 22, 257, 177 }, { "saturn01.pcx", 16, 25, 10, 40, 300, 200 }, // level 16 { "brief03.pcx", 17, 26, 20, 22, 257, 177 }, { "saturn01.pcx", 17, 27, 10, 40, 300, 200 }, // level 17 - { "uranus01.pcx", 18, 28, 100, 100, 300, 200 }, // level 18 { "uranus01.pcx", 19, 29, 100, 100, 300, 200 }, // level 19 { "uranus01.pcx", 20, 30, 100, 100, 300, 200 }, // level 20 { "uranus01.pcx", 21, 31, 100, 100, 300, 200 }, // level 21 - { "neptun01.pcx", 22, 32, 10, 20, 300, 200 }, // level 22 { "neptun01.pcx", 23, 33, 10, 20, 300, 200 }, // level 23 { "neptun01.pcx", 24, 34, 10, 20, 300, 200 }, // level 24 - { "pluto01.pcx", 25, 35, 10, 20, 300, 200 }, // level 25 { "pluto01.pcx", 26, 36, 10, 20, 300, 200 }, // level 26 { "pluto01.pcx", 27, 37, 10, 20, 300, 200 }, // level 27 - { "aster01.pcx", -1, 38, 10, 90, 300, 200 }, // secret level -1 { "aster01.pcx", -2, 39, 10, 90, 300, 200 }, // secret level -2 { "aster01.pcx", -3, 40, 10, 90, 300, 200 }, // secret level -3 - { "end01.pcx", ENDING_LEVEL_NUM_OEMSHARE, 1, 23, 40, 320, 200 }, // OEM and shareware end { "end02.pcx", ENDING_LEVEL_NUM_REGISTER, 1, 5, 5, 300, 200 }, // registered end { "end01.pcx", ENDING_LEVEL_NUM_REGISTER, 2, 23, 40, 320, 200 }, // registered end @@ -281,7 +270,23 @@ briefing_screen Briefing_screens[] = { }; -#define MAX_BRIEFING_SCREEN (sizeof(Briefing_screens) / sizeof(Briefing_screens[0])) +briefing_screen Briefing_screens_share[] = { + { "brief01.pcx", 0, 1, 13, 140, 290, 59 }, + { "brief02.pcx", 0, 2, 27, 34, 257, 177 }, + { "brief03.pcx", 0, 3, 20, 22, 257, 177 }, + { "brief02.pcx", 0, 4, 27, 34, 257, 177 }, + { "moon01.pcx", 1, 5, 10, 10, 300, 170 }, // level 1 + { "moon01.pcx", 2, 6, 10, 10, 300, 170 }, // level 2 + { "moon01.pcx", 3, 7, 10, 10, 300, 170 }, // level 3 + { "venus01.pcx", 4, 8, 15, 15, 300, 200 }, // level 4 + { "venus01.pcx", 5, 9, 15, 15, 300, 200 }, // level 5 + { "merc01.pcx", 6, 10, 10, 15, 300, 200 }, // level 6 + { "merc01.pcx", 7, 11, 10, 15, 300, 200 }, // level 7 + { "end01.pcx", ENDING_LEVEL_NUM_OEMSHARE, 1, 23, 40, 320, 200 }, // shareware end +}; + +#define Briefing_screens ((PHYSFSX_fsize("descent.hog")==D1_SHAREWARE_MISSION_HOGSIZE || PHYSFSX_fsize("descent.hog")==D1_SHAREWARE_10_MISSION_HOGSIZE)?Briefing_screens_share:Briefing_screens_full) +#define MAX_BRIEFING_SCREEN (sizeof(Briefing_screens_full) / sizeof(Briefing_screens_full[0])) typedef struct msgstream {