#include "Content\\ShellScripts\\stddefs.h" #include "Content\\ShellScripts\\ScriptStrings.h" #include "Content\\ShellScripts\\listboxes.script" #include "Content\\ShellScripts\\mc_listboxes.script" #include "Content\\ShellScripts\\common_shell.script" #include "Content\\ShellScripts\\buttons.script" #include "Content\\ShellScripts\\c_Pane.script" #include "Content\\ShellScripts\\c_MoviePlayer.script" #include "Content\\ShellScripts\\c_Text.script" #include "Content\\ShellScripts\\c_InfoPoint.script" #include "Content\\ShellScripts\\c_InfoRegion.script" #include "Content\\ShellScripts\\c_StatLines.script" #include "Content\\ShellScripts\\c_MissionRegion.script" #include "Content\\ShellScripts\\ErrorScreen.script" #include "Content\\ShellScripts\\ShellFunctionHeaders.hpp" #include "Content\\ShellScripts\\c_rollover.script" main { GUI_CREATE { if (@SHELL@init_state4gs_mechbay == -999) { @SHELL@init_state4gs_mechbay = 0 callback($$Shell_CallbackHandler$$, ShellInitCampaignScreen) } int max_items = 25 // Maximum number of items that can be listed by droplist //Sets volume of Background Music int nMusicTmp callback($$Shell_CallbackHandler$$,ShellOptionsGetSliderValue,MWO_MUSICVOLUME,nMusicTmp) if nMusicTmp > 25 { setvolume (0,25) } else { setvolume (0,nMusicTmp) } int i sound launchSound = SPATH "sfx_mech_explode.WAV" sound btnTriggeredSound = SPATH "sfx_button5.wav" int MAX_MCCB_ITEMS = 23 int MAX_MCCB_COLUMNS = 2 int play_opening int play_closing play_opening = callback($$Shell_CallbackHandler$$, ShellCampaignPlayIntro) String closing_movie play_closing = callback($$Shell_CallbackHandler$$, ShellCampaignPlayEnd, $$m_EndMovieName$$) if(play_opening == 1) { play_opening = 0 //script_run "Content\\ShellScripts\\CampaignCinema.script", 0x1100 //script_pause @CampaignScreen@,2 } if(play_closing == 1) { play_closing = 0 //@SHELL@currentScreen = @SHELL@lastScreen[@SHELL@lastScreenDepth] //@SHELL@lastScreenDepth-- } object screen = o_Campaign } } o_Campaign { GUI_CREATE { object oCampaignMap = s_CampaignScreen initialize(this) framerate = 5 } GUI_INIT { callback($$Shell_CallbackHandler$$, ShellTriggerMovie) //Campaign Map initialize(oCampaignMap) } GUI_DRAW { if exists(@SHELL@) { if @SHELL@init_state4gs_mechbay != 0 // mech lab { int nCamp_Stage //nCamp_Stage = callback($$CTCL_CheckCampaign$$, 0) //if 0 < nCamp_Stage { int boxcolor = packcolor(0, 0, 0, 255) // black setpencolor(boxcolor) drawrect 0, 0 to getresx(), getresy() } //else { // render @shell@p_bkgnd_4coop, 0, 0, 0 } } } } GUI_MAILBOX { } GUI_EXECUTE { if exists(@SHELL@) { if @SHELL@init_state4gs_mechbay == -1 // main menu { @SHELL@init_state4gs_mechbay = -999 play btnTriggeredSound,1 callback($$Shell_CallbackHandler$$,ShellOptionsGetSliderValue,MWO_MUSICVOLUME,nMusicTmp) setvolume (0,nMusicTmp) unfocus @SHELL@currentScreen = @SHELL@lastScreen[@SHELL@lastScreenDepth] @SHELL@lastScreenDepth-- } if @SHELL@init_state4gs_mechbay == 0 // mech lab { @SHELL@init_state4gs_mechbay = -999 unfocus callback($$Shell_CallbackHandler$$, ShellInitCampaignMechLab) @SHELL@lastScreenDepth++ @SHELL@lastScreen[@SHELL@lastScreenDepth] = 200 // CAMPAIGNLOBBY @SHELL@currentScreen = MECHBAY_SCREEN } if @SHELL@init_state4gs_mechbay == 1 // launch { @SHELL@init_state4gs_mechbay = -999 int nErrorCode = callback($$Shell_CallbackHandler$$, ShellCampaignVerifyLaunchData) if (nErrorCode == 1) { play launchSound,1 if exists(@mouse@) script_end "mouse.script" callback($$SetShellCommand$$, StartCampaignGameCommand) @SHELL@currentScreen = LAUNCHGAME @SHELL@lastScreenDepth-- unfocus } } } } } s_CampaignScreen { GUI_CREATE { int i int nMR_count int nMRSelected string szCampMap string szCampName //Mission Region Data callback($$Shell_CallbackHandler$$,ShellCampaignGetMissionRegionCount,nMR_count) object oMissionRegion[nMR_count] //Array of Mission Ids to retrieve Mission Map Data int nMissionIds[nMR_count] //MR parameters int nMR_X int nMR_Y int nMR_H int nMR_W int nMR_status int nMRNumLance string szMR_Title string szMR_Rollover string szMR_RClick } GUI_INIT { callback($$Shell_CallbackHandler$$,ShellCampaignGetMissionRegionIDs,nMissionIds[], nMRSelected) callback($$Shell_CallbackHandler$$,ShellCampaignGetOpData,szCampName,szCampMap) for (i = 0; i < nMR_count; i++) { callback($$Shell_CallbackHandler$$,ShellCampaignGetMissionRegionDATA,nMissionIds[i],nMR_X,nMR_Y,nMR_H,nMR_W,nMR_status, nMRNumLance, szMR_Title,szMR_Rollover, szMR_RClick) if(nMissionIds[i] = nMRSelected) { } } } GUI_ACTIVATE { } GUI_DEACTIVATE { } GUI_MAILBOX { } }