use new macros PLAYING_BUILTIN_MISSION and EMULATING_D1 for accessing information about the current mission, for easier code refactorisation
VS: ----------------------------------------------------------------------
This commit is contained in:
parent
0c79b6adb6
commit
e435acd4f0
|
@ -1,3 +1,10 @@
|
|||
2004-10-09 Martin Schaffner <maschaffner@gmx.ch>
|
||||
|
||||
* main/automap.c, main/cntrlcen.c, main/collide.c, main/endlevel.c,
|
||||
main/gamerend.c, main/gameseq.c, main/mission.h, main/titles.c:
|
||||
use new macros PLAYING_BUILTIN_MISSION and EMULATING_D1 for accessing
|
||||
information about the current mission, for easier code refactorisation.
|
||||
|
||||
2004-09-30 Martin Schaffner <maschaffner@gmx.ch>
|
||||
|
||||
* cfile/cfile.c: simplify, reduce number of global vars
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: automap.c,v 1.18 2004-08-28 23:17:45 schaffner Exp $ */
|
||||
/* $Id: automap.c,v 1.19 2004-10-09 15:59:28 schaffner Exp $ */
|
||||
/*
|
||||
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
|
||||
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
|
||||
|
@ -801,7 +801,7 @@ void create_name_canv()
|
|||
else
|
||||
sprintf(name_level_left, "Secret Level %i",-Current_level_num);
|
||||
|
||||
if (Current_mission_num == Builtin_mission_num && Current_level_num>0) //built-in mission
|
||||
if (PLAYING_BUILTIN_MISSION && Current_level_num > 0)
|
||||
sprintf(name_level_right,"%s %d: ",system_name[(Current_level_num-1)/4],((Current_level_num-1)%4)+1);
|
||||
else
|
||||
strcpy(name_level_right, " ");
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: cntrlcen.c,v 1.16 2004-08-28 23:17:45 schaffner Exp $ */
|
||||
/* $Id: cntrlcen.c,v 1.17 2004-10-09 15:59:28 schaffner Exp $ */
|
||||
/*
|
||||
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
|
||||
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
|
||||
|
@ -23,7 +23,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
#endif
|
||||
|
||||
#ifdef RCS
|
||||
static char rcsid[] = "$Id: cntrlcen.c,v 1.16 2004-08-28 23:17:45 schaffner Exp $";
|
||||
static char rcsid[] = "$Id: cntrlcen.c,v 1.17 2004-10-09 15:59:28 schaffner Exp $";
|
||||
#endif
|
||||
|
||||
#ifdef WINDOWS
|
||||
|
@ -170,7 +170,7 @@ void do_countdown_frame()
|
|||
if (!is_D2_OEM && !is_MAC_SHARE && !is_SHAREWARE) // get countdown in OEM and SHAREWARE only
|
||||
{
|
||||
// On last level, we don't want a countdown.
|
||||
if ((Current_mission_num == Builtin_mission_num) && (Current_level_num == Last_level))
|
||||
if (PLAYING_BUILTIN_MISSION && Current_level_num == Last_level)
|
||||
{
|
||||
if (!(Game_mode & GM_MULTI))
|
||||
return;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: collide.c,v 1.13 2004-08-28 23:17:45 schaffner Exp $ */
|
||||
/* $Id: collide.c,v 1.14 2004-10-09 15:59:28 schaffner Exp $ */
|
||||
/*
|
||||
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
|
||||
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
|
||||
|
@ -1371,9 +1371,9 @@ int apply_damage_to_robot(object *robot, fix damage, int killer_objnum)
|
|||
// Buddy invulnerable on level 24 so he can give you his important messages. Bah.
|
||||
// Also invulnerable if his cheat for firing weapons is in effect.
|
||||
if (Robot_info[robot->id].companion) {
|
||||
// if ((Current_mission_num == Builtin_mission_num && Current_level_num == Last_level) || Buddy_dude_cheat)
|
||||
// if ((PLAYING_BUILTIN_MISSION && Current_level_num == Last_level) || Buddy_dude_cheat)
|
||||
#ifdef NETWORK
|
||||
if ((Current_mission_num == Builtin_mission_num && Current_level_num == Last_level) )
|
||||
if (PLAYING_BUILTIN_MISSION && Current_level_num == Last_level)
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
@ -1389,7 +1389,7 @@ int apply_damage_to_robot(object *robot, fix damage, int killer_objnum)
|
|||
// Do unspeakable hacks to make sure player doesn't die after killing boss. Or before, sort of.
|
||||
if (Robot_info[robot->id].boss_flag)
|
||||
#ifdef NETWORK
|
||||
if ((Current_mission_num == Builtin_mission_num) && Current_level_num == Last_level)
|
||||
if (PLAYING_BUILTIN_MISSION && Current_level_num == Last_level)
|
||||
#endif
|
||||
if (robot->shields < 0)
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: endlevel.c,v 1.22 2004-08-29 17:57:23 schaffner Exp $ */
|
||||
/* $Id: endlevel.c,v 1.23 2004-10-09 15:59:28 schaffner Exp $ */
|
||||
/*
|
||||
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
|
||||
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
|
||||
|
@ -23,7 +23,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
#endif
|
||||
|
||||
#ifdef RCS
|
||||
static char rcsid[] = "$Id: endlevel.c,v 1.22 2004-08-29 17:57:23 schaffner Exp $";
|
||||
static char rcsid[] = "$Id: endlevel.c,v 1.23 2004-10-09 15:59:28 schaffner Exp $";
|
||||
#endif
|
||||
|
||||
//#define SLEW_ON 1
|
||||
|
@ -211,7 +211,7 @@ int start_endlevel_movie()
|
|||
int r;
|
||||
ubyte save_pal[768];
|
||||
|
||||
//Assert(Current_mission_num == Builtin_mission_num); //only play movie for built-in mission
|
||||
//Assert(PLAYING_BUILTIN_MISSION); //only play movie for built-in mission
|
||||
|
||||
//Assert(N_MOVIES >= Last_level);
|
||||
//Assert(N_MOVIES_SECRET >= -Last_secret_level);
|
||||
|
@ -313,7 +313,7 @@ void start_endlevel_sequence()
|
|||
Newdemo_state = ND_STATE_PAUSED;
|
||||
|
||||
if (Newdemo_state == ND_STATE_PLAYBACK) { // don't do this if in playback mode
|
||||
if (Current_mission_num == Builtin_mission_num) //only play movie for built-in mission
|
||||
if (PLAYING_BUILTIN_MISSION) // only play movie for built-in mission
|
||||
start_endlevel_movie();
|
||||
strcpy(last_palette_loaded,""); //force palette load next time
|
||||
return;
|
||||
|
@ -341,11 +341,9 @@ void start_endlevel_sequence()
|
|||
}
|
||||
#endif
|
||||
|
||||
if (Current_mission_num == Builtin_mission_num) {
|
||||
// only play movie for built-in mission
|
||||
if (PLAYING_BUILTIN_MISSION) // only play movie for built-in mission
|
||||
if (!(Game_mode & GM_MULTI))
|
||||
movie_played = start_endlevel_movie();
|
||||
}
|
||||
|
||||
if (!(Game_mode & GM_MULTI) && (movie_played == MOVIE_NOT_PLAYED) && endlevel_data_loaded)
|
||||
{ //don't have movie. Do rendered sequence, if available
|
||||
|
@ -707,8 +705,7 @@ void do_endlevel_frame()
|
|||
|
||||
if (ConsoleObject->segnum == transition_segnum) {
|
||||
|
||||
if ((Current_mission_num == Builtin_mission_num) &&
|
||||
(start_endlevel_movie() != MOVIE_NOT_PLAYED))
|
||||
if (PLAYING_BUILTIN_MISSION && start_endlevel_movie() != MOVIE_NOT_PLAYED)
|
||||
stop_endlevel_sequence();
|
||||
else {
|
||||
int objnum;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: gamerend.c,v 1.13 2003-10-12 09:38:48 btb Exp $ */
|
||||
/* $Id: gamerend.c,v 1.14 2004-10-09 15:59:28 schaffner Exp $ */
|
||||
/*
|
||||
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
|
||||
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
|
||||
|
@ -23,7 +23,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
#endif
|
||||
|
||||
#ifdef RCS
|
||||
static char rcsid[] = "$Id: gamerend.c,v 1.13 2003-10-12 09:38:48 btb Exp $";
|
||||
static char rcsid[] = "$Id: gamerend.c,v 1.14 2004-10-09 15:59:28 schaffner Exp $";
|
||||
#endif
|
||||
|
||||
#ifdef WINDOWS
|
||||
|
@ -288,7 +288,7 @@ void render_countdown_gauge()
|
|||
if (!is_D2_OEM && !is_MAC_SHARE && !is_SHAREWARE) // no countdown on registered only
|
||||
{
|
||||
// On last level, we don't want a countdown.
|
||||
if ((Current_mission_num == Builtin_mission_num) && (Current_level_num == Last_level))
|
||||
if (PLAYING_BUILTIN_MISSION && Current_level_num == Last_level)
|
||||
{
|
||||
if (!(Game_mode & GM_MULTI))
|
||||
return;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: gameseq.c,v 1.36 2004-08-28 23:17:45 schaffner Exp $ */
|
||||
/* $Id: gameseq.c,v 1.37 2004-10-09 15:59:28 schaffner Exp $ */
|
||||
/*
|
||||
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
|
||||
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
|
||||
|
@ -24,7 +24,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
#endif
|
||||
|
||||
#ifdef RCS
|
||||
char gameseq_rcsid[] = "$Id: gameseq.c,v 1.36 2004-08-28 23:17:45 schaffner Exp $";
|
||||
char gameseq_rcsid[] = "$Id: gameseq.c,v 1.37 2004-10-09 15:59:28 schaffner Exp $";
|
||||
#endif
|
||||
|
||||
#ifdef WINDOWS
|
||||
|
@ -285,7 +285,7 @@ gameseq_init_network_players()
|
|||
}
|
||||
#endif
|
||||
#ifdef NETWORK
|
||||
if (is_D2_OEM && (Game_mode & GM_MULTI) && Current_mission_num == Builtin_mission_num && Current_level_num==8)
|
||||
if (is_D2_OEM && (Game_mode & GM_MULTI) && PLAYING_BUILTIN_MISSION && Current_level_num==8)
|
||||
{
|
||||
for (i=0;i<N_players;i++)
|
||||
if (Players[i].connected && !(NetPlayers.players[i].version_minor & 0xF0))
|
||||
|
@ -295,7 +295,7 @@ gameseq_init_network_players()
|
|||
}
|
||||
}
|
||||
|
||||
if (is_MAC_SHARE && (Game_mode & GM_MULTI) && Current_mission_num == Builtin_mission_num && Current_level_num == 4)
|
||||
if (is_MAC_SHARE && (Game_mode & GM_MULTI) && PLAYING_BUILTIN_MISSION && Current_level_num == 4)
|
||||
{
|
||||
for (i = 0; i < N_players; i++)
|
||||
if (Players[i].connected && !(NetPlayers.players[i].version_minor & 0xF0))
|
||||
|
@ -582,7 +582,7 @@ void DoGameOver()
|
|||
{
|
||||
// nm_messagebox( TXT_GAME_OVER, 1, TXT_OK, "" );
|
||||
|
||||
if (Current_mission_num == Builtin_mission_num)
|
||||
if (PLAYING_BUILTIN_MISSION)
|
||||
scores_maybe_add_player(0);
|
||||
|
||||
Function_mode = FMODE_MENU;
|
||||
|
@ -889,7 +889,7 @@ void LoadLevel(int level_num,int page_in_textures)
|
|||
if ( page_in_textures )
|
||||
piggy_load_level_data();
|
||||
|
||||
if (Mission_list[Current_mission_num].descent_version == 1)
|
||||
if (EMULATING_D1)
|
||||
load_d1_bitmap_replacements();
|
||||
else
|
||||
load_bitmap_replacements(level_name);
|
||||
|
@ -1462,7 +1462,7 @@ void DoEndGame(void)
|
|||
|
||||
key_flush();
|
||||
|
||||
if (Current_mission_num == Builtin_mission_num && !(Game_mode & GM_MULTI))
|
||||
if (PLAYING_BUILTIN_MISSION && !(Game_mode & GM_MULTI))
|
||||
{ //only built-in mission, & not multi
|
||||
int played=MOVIE_NOT_PLAYED; //default is not played
|
||||
|
||||
|
@ -1507,7 +1507,7 @@ void DoEndGame(void)
|
|||
// NOTE LINK TO ABOVE
|
||||
DoEndLevelScoreGlitz(0);
|
||||
|
||||
if (Current_mission_num == Builtin_mission_num && !((Game_mode & GM_MULTI) && !(Game_mode & GM_MULTI_COOP))) {
|
||||
if (PLAYING_BUILTIN_MISSION && !((Game_mode & GM_MULTI) && !(Game_mode & GM_MULTI_COOP))) {
|
||||
WINDOS(
|
||||
dd_gr_set_current_canvas(NULL),
|
||||
gr_set_current_canvas( NULL )
|
||||
|
@ -2055,7 +2055,7 @@ void ShowLevelIntro(int level_num)
|
|||
|
||||
memcpy(save_pal,gr_palette,sizeof(gr_palette));
|
||||
|
||||
if (Current_mission_num == Builtin_mission_num) {
|
||||
if (PLAYING_BUILTIN_MISSION) {
|
||||
int movie=0;
|
||||
|
||||
if (is_SHAREWARE)
|
||||
|
@ -2107,7 +2107,7 @@ void ShowLevelIntro(int level_num)
|
|||
}
|
||||
}
|
||||
else { //not the built-in mission. check for add-on briefing
|
||||
if (Mission_list[Current_mission_num].descent_version == 1)
|
||||
if (EMULATING_D1)
|
||||
do_briefing_screens(Briefing_text_filename, level_num);
|
||||
else {
|
||||
char tname[FILENAME_LEN];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: mission.h,v 1.17 2004-08-28 23:17:45 schaffner Exp $ */
|
||||
/* $Id: mission.h,v 1.18 2004-10-09 15:59:28 schaffner Exp $ */
|
||||
/*
|
||||
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
|
||||
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
|
||||
|
@ -87,6 +87,9 @@ extern int Builtin_mission_hogsize;
|
|||
#define is_MAC_SHARE (Builtin_mission_hogsize == MAC_SHARE_MISSION_HOGSIZE)
|
||||
#define is_D2_OEM (Builtin_mission_hogsize == OEM_MISSION_HOGSIZE)
|
||||
|
||||
#define PLAYING_BUILTIN_MISSION (Current_mission_num == Builtin_mission_num)
|
||||
#define EMULATING_D1 (Mission_list[Current_mission_num].descent_version == 1)
|
||||
|
||||
//arrays of name of the level files
|
||||
extern char Level_names[MAX_LEVELS_PER_MISSION][FILENAME_LEN];
|
||||
extern char Secret_level_names[MAX_SECRET_LEVELS_PER_MISSION][FILENAME_LEN];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: titles.c,v 1.30 2004-08-28 23:17:45 schaffner Exp $ */
|
||||
/* $Id: titles.c,v 1.31 2004-10-09 15:59:28 schaffner Exp $ */
|
||||
/*
|
||||
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
|
||||
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
|
||||
|
@ -622,7 +622,7 @@ int load_briefing_screen( int screen_num )
|
|||
int pcx_error;
|
||||
char *fname;
|
||||
|
||||
if (Mission_list[Current_mission_num].descent_version == 1)
|
||||
if (EMULATING_D1)
|
||||
fname = Briefing_screens[screen_num].bs_name;
|
||||
else
|
||||
fname = CurBriefScreenName;
|
||||
|
@ -770,7 +770,7 @@ int show_briefing_message(int screen_num, char *message)
|
|||
// mprintf((0, "Going to print message [%s] at x=%i, y=%i\n", message, x, y));
|
||||
gr_set_curfont( GAME_FONT );
|
||||
|
||||
if (Mission_list[Current_mission_num].descent_version == 1) {
|
||||
if (EMULATING_D1) {
|
||||
GotZ = 1;
|
||||
MALLOC(bsp, briefing_screen, 1);
|
||||
memcpy(bsp, &Briefing_screens[screen_num], sizeof(briefing_screen));
|
||||
|
@ -824,7 +824,7 @@ int show_briefing_message(int screen_num, char *message)
|
|||
RobotPlaying=0;
|
||||
}
|
||||
|
||||
if (Mission_list[Current_mission_num].descent_version == 1) {
|
||||
if (EMULATING_D1) {
|
||||
init_spinning_robot();
|
||||
robot_num = get_message_num(&message);
|
||||
while (*message++ != 10)
|
||||
|
@ -1171,7 +1171,7 @@ int show_briefing_message(int screen_num, char *message)
|
|||
if (printing_channel>-1)
|
||||
digi_stop_sound( printing_channel );
|
||||
|
||||
if (Mission_list[Current_mission_num].descent_version == 1)
|
||||
if (EMULATING_D1)
|
||||
d_free(bsp);
|
||||
|
||||
return rval;
|
||||
|
@ -1274,10 +1274,9 @@ int show_briefing_text(int screen_num)
|
|||
{
|
||||
char *message_ptr;
|
||||
|
||||
if (Mission_list[Current_mission_num].descent_version == 1)
|
||||
message_ptr = get_briefing_message(Briefing_screens[screen_num].message_num);
|
||||
else
|
||||
message_ptr = get_briefing_message(screen_num);
|
||||
message_ptr = get_briefing_message
|
||||
(EMULATING_D1 ? Briefing_screens[screen_num].message_num : screen_num);
|
||||
|
||||
if (message_ptr==NULL)
|
||||
return (0);
|
||||
|
||||
|
@ -1297,7 +1296,7 @@ void DoBriefingColorStuff ()
|
|||
Briefing_foreground_colors[2] = gr_find_closest_color_current( 8, 31, 54);
|
||||
Briefing_background_colors[2] = gr_find_closest_color_current( 1, 4, 7);
|
||||
|
||||
if (Mission_list[Current_mission_num].descent_version == 1) {
|
||||
if (EMULATING_D1) {
|
||||
//green
|
||||
Briefing_foreground_colors[0] = gr_find_closest_color_current( 0, 54, 0);
|
||||
Briefing_background_colors[0] = gr_find_closest_color_current( 0, 19, 0);
|
||||
|
@ -1341,7 +1340,7 @@ int show_briefing_screen( int screen_num, int allow_keys)
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (Mission_list[Current_mission_num].descent_version == 1) {
|
||||
if (EMULATING_D1) {
|
||||
int pcx_error;
|
||||
#if 1
|
||||
grs_bitmap briefing_bm;
|
||||
|
@ -1460,7 +1459,7 @@ void do_briefing_screens(char *filename,int level_num)
|
|||
|
||||
key_flush();
|
||||
|
||||
if (Mission_list[Current_mission_num].descent_version == 1) {
|
||||
if (EMULATING_D1) {
|
||||
if (level_num == 1) {
|
||||
while ((!abort_briefing_screens) && (Briefing_screens[cur_briefing_screen].level_num == 0)) {
|
||||
abort_briefing_screens = show_briefing_screen(cur_briefing_screen, 0);
|
||||
|
|
Loading…
Reference in a new issue