Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
815 lines
13 KiB
Plaintext
815 lines
13 KiB
Plaintext
#include "Content\\ShellScripts\\stddefs.h"
|
|
#include "Content\\ShellScripts\\ShellFunctionHeaders.hpp"
|
|
#include "Content\\ShellScripts\\ScriptStrings.h"
|
|
#include "Content\\ShellScripts\\MechLabHeaders.h"
|
|
|
|
main
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
|
|
//Makes the connection to the string table .dll
|
|
//Requires the #include "Content\\ShellScripts\\ScriptStrings.h" in every script with localizable text
|
|
setresource("ScriptStrings.dll")
|
|
|
|
//----------------------------------------------------------------
|
|
int hipoint = 0
|
|
//----------------------------------------------------------------
|
|
|
|
int currentScreen = callback($$GetStartScreen$$)
|
|
int lastScreen[32]
|
|
int lastScreenDepth = 0
|
|
int numExtScripts = 0
|
|
|
|
int max_mccb_items = 50
|
|
string pPilotName[max_mccb_items]
|
|
int obj_size
|
|
callback($$Shell_CallbackHandler$$, ShellGetPilotList, pPilotName[], obj_size)
|
|
|
|
int have_pilot = 0
|
|
callback($$Shell_CallbackHandler$$, ShellDoesHavePilot, have_pilot)
|
|
|
|
int nMusicTmp
|
|
int nGamma
|
|
|
|
if (!have_pilot)
|
|
{
|
|
if obj_size == 1
|
|
{
|
|
callback($$Shell_CallbackHandler$$, ShellSelectPilot, pPilotName[0])
|
|
lastScreen[0] = MAINMENU
|
|
|
|
callback($$Shell_CallbackHandler$$,ShellOptionsGetSliderValue,MWO_MUSICVOLUME,nMusicTmp)
|
|
setvolume (0,nMusicTmp)
|
|
|
|
callback($$Shell_CallbackHandler$$,ShellOptionsGetSliderValue,MWO_GAMMA,nGamma)
|
|
callback($$Shell_CallbackHandler$$,ShellOptionsSetSliderValue,MWO_GAMMA,nGamma)
|
|
}
|
|
else
|
|
{
|
|
lastScreen[0] = PILOTENTRY
|
|
setvolume (0,nMusicVolume)
|
|
}
|
|
}
|
|
else
|
|
{
|
|
lastScreen[0] = MAINMENU
|
|
|
|
callback($$Shell_CallbackHandler$$,ShellOptionsGetSliderValue,MWO_MUSICVOLUME,nMusicTmp)
|
|
setvolume (0,nMusicTmp)
|
|
|
|
callback($$Shell_CallbackHandler$$,ShellOptionsGetSliderValue,MWO_GAMMA,nGamma)
|
|
callback($$Shell_CallbackHandler$$,ShellOptionsSetSliderValue,MWO_GAMMA,nGamma)
|
|
}
|
|
|
|
script_run "Content\\ShellScripts\\mouse.script", 0x1600
|
|
|
|
string pilotName[15]
|
|
|
|
pane bkg = GPATH "comp_normal.tga"
|
|
|
|
location = 0,0,-10
|
|
alphamode (bkg) = am_alpha_alphainvalpha
|
|
|
|
sound music = FILEPATH "StutterShark_music.wav",st_streamed
|
|
assign 0, music
|
|
|
|
if (currentScreen != OPENINGCINEMA)
|
|
{
|
|
if (nMusicTmp) > 0
|
|
{
|
|
loop music, 0
|
|
}
|
|
}
|
|
|
|
object shellManager = manager
|
|
object cinema1 = opening_cinema
|
|
object cinema2 = campaign_cinema
|
|
object cinema3 = ending_cinema
|
|
object cinema4 = credits_cinema
|
|
object pilotEntryScreen = pilot_entry
|
|
object mainMenu = main_menu
|
|
object optionsScreen = option_screen
|
|
object CMReviewScreen = cm_review_screen
|
|
object controlScreen = control_screen
|
|
object cinemaScreen = cinema_screen
|
|
object campaignScreen= campaign_screen
|
|
object logScrn = log_scrn
|
|
object briefScrn = brief_scrn
|
|
object loadScrn = load_scrn
|
|
object IAReviewScreen = ia_review_screen
|
|
object mechBayScrn = mechbay_scrn
|
|
object instantActionScrn = instantaction_scrn
|
|
object trainingScrn = training_scrn
|
|
object multiplayer = multiplayer_scrn
|
|
object modemScrn = modem_scrn
|
|
object directScrn = direct_scrn
|
|
|
|
//Campaign Variable to track which Lance Entry went to MechBay **Brennans**
|
|
int LanceMateID = 0
|
|
int CampaignMechLab = 0
|
|
int CampaignTwice = 0 ///Temp variable to get around campaign init bug
|
|
|
|
initialize(this)
|
|
}
|
|
|
|
GUI_INIT
|
|
{
|
|
if have_pilot
|
|
{
|
|
callback($$Shell_CallbackHandler$$,ShellOptionsGetSliderValue,MWO_MUSICVOLUME,nMusicTmp)
|
|
setvolume (0,nMusicTmp)
|
|
|
|
callback($$Shell_CallbackHandler$$,ShellOptionsGetSliderValue,MWO_GAMMA,nGamma)
|
|
callback($$Shell_CallbackHandler$$,ShellOptionsSetSliderValue,MWO_GAMMA,nGamma)
|
|
}
|
|
|
|
if (currentScreen != OPENINGCINEMA)
|
|
{
|
|
if (nMusicTmp) > 0
|
|
{
|
|
loop music, 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
manager
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == LAUNCHGAME && numExtScripts == 0)
|
|
{
|
|
script_end "Shell.script"
|
|
}
|
|
}
|
|
}
|
|
|
|
opening_cinema
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == OPENINGCINEMA)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
unfocus
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\OpeningCinema.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "OpeningCinema.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
campaign_cinema
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == CAMPAIGNCINEMA)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
unfocus
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\CampaignCinema.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "CampaignCinema.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ending_cinema
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == ENDINGCINEMA)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
unfocus
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\EndingCinema.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "EndingCinema.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
credits_cinema
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == CREDITSCINEMA)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
unfocus
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\CreditsCinema.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "CreditsCinema.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
pilot_entry
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == PILOTENTRY)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\PilotEntry.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "PilotEntry.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
main_menu
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == MAINMENU)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\MainMenu.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "MainMenu.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option_screen
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == OPTIONS)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
numExtScripts++
|
|
scriptIsRunning = 1
|
|
script_run "Content\\ShellScripts\\Options.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "Options.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
cm_review_screen
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == CAMPAIGN_REVIEW)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\CM_Wrapup.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "CM_Wrapup.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
video_screen
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == VIDEOOPTIONS)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\VideoOptions.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "VideoOptions.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
control_screen
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == CONTROLOPTIONS)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\ControlOptions.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "ControlOptions.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
cinema_screen
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == CINEMAOPTIONS)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\Cinema_Credits.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "Cinema_Credits.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
campaign_screen
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == CAMPAIGNLOBBY)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\CampaignScreen.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "CampaignScreen.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
log_scrn
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == LOGSCREEN)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\LogScreen.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "LogScreen.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
brief_scrn
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == BRIEFING)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\BriefScreen.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "BriefScreen.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
load_scrn
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == LOAD_SCREEN)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\LoadScreen.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "LoadScreen.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ia_review_screen
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == IAWRAPUP_SCREEN)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\IA_WrapUp.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "IA_WrapUp.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
mechbay_scrn
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == MECHBAY_SCREEN)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\MechBay\\MechBay.script", 0x100
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "MechBay.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
instantaction_scrn
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == INSTANT_SCREEN)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\InstantAction.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "InstantAction.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
training_scrn
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == TRAINING_SCREEN)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\TrainingBrief.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "TrainingBrief.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
multiplayer_scrn
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == MULTIPLAYER_SCREEN)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\Multiplayer.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "Multiplayer.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
modem_scrn
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == MODEM_SCREEN)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\Modem.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "Modem.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
direct_scrn
|
|
{
|
|
GUI_CREATE
|
|
{
|
|
int scriptIsRunning = 0
|
|
}
|
|
|
|
GUI_EXECUTE
|
|
{
|
|
if (currentScreen == DIRECT_SCREEN)
|
|
{
|
|
if (scriptIsRunning == 0)
|
|
{
|
|
scriptIsRunning = 1
|
|
numExtScripts++
|
|
script_run "Content\\ShellScripts\\Direct.script", 0x1000
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (scriptIsRunning > 0)
|
|
{
|
|
scriptIsRunning = 0
|
|
script_end "Direct.script"
|
|
numExtScripts--
|
|
}
|
|
}
|
|
}
|
|
}
|