Files
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
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.
2026-06-24 21:28:16 -05:00

370 lines
12 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//======================================================
// Mechwarrior: Vengeance | Copyright © 1999-2000
// AdvanceTime.script
// Original Author: Adam Saunders | August 1, 2002
// Update:
//======================================================
// Notes:
//======================================================
#define nMSG_ADVANCE_TIME_DLG 3300
#define nMSG_ADVANCE_TIME_1WEEK 3301
#define nMSG_ADVANCE_TIME_2WEEKS 3302
#define cGreen packcolor(20,255,20,255)
advance_time_dialog
{
GUI_CREATE
{
location = 0,0,parent.location.z + 100
region = location to getresx(), getresy()
int alpha_val = 5
int fadeout = false
int initialized = false
pane gFrame = GPATH "dialog_600x350m-loading.tga"
int nOfButtons = 1
object mbutton[nOfButtons]
int btnCONTINUE = 0
string buttonText[nOfButtons]
buttonText[btnCONTINUE] = localize$( IDS_AT_CONTINUE )
position dlgLocation = 50, 50, location.z
cube dlgTitle_Region = dlgLocation.x + 69, dlgLocation.y + 35 to dlgLocation.x + 576, dlgLocation.y + 56
cube paragraph1_Region = dlgLocation.x + 52, dlgLocation.y + 91 to dlgLocation.x + 588, dlgLocation.y + 203
cube paragraph2_Region = dlgLocation.x + 52, dlgLocation.y + 130 to dlgLocation.x + 588, dlgLocation.y + 234
cube paragraph3_Region = dlgLocation.x + 52, dlgLocation.y + 180 to dlgLocation.x + 588, dlgLocation.y + 310
cube account_Balance_Region = dlgLocation.x + 107, dlgLocation.y + 220 to dlgLocation.x + 303, dlgLocation.y + 234
cube account_Balance_Value_Region = dlgLocation.x + 111, dlgLocation.y + 238 to dlgLocation.x + 303, dlgLocation.y + 252
cube per_Cycle_Expenses_Region = dlgLocation.x + 314, dlgLocation.y + 220 to dlgLocation.x + 550, dlgLocation.y + 240
cube per_Cycle_Expenses_Value_Region = dlgLocation.x + 318, dlgLocation.y + 238 to dlgLocation.x + 510, dlgLocation.y + 252
position dlgTitle_Location = dlgLocation.x + 69, dlgLocation.y + 35, dlgLocation.z + 20
position paragraph1_Location = dlgLocation.x + 52, dlgLocation.y + 91, dlgLocation.z + 20
position paragraph2_Location = dlgLocation.x + 52, dlgLocation.y + 130, dlgLocation.z + 20
position paragraph3_Location = dlgLocation.x + 52, dlgLocation.y + 180, dlgLocation.z + 20
position continue_Location = dlgLocation.x + 475, dlgLocation.y + 307, dlgLocation.z + 20
position Adv1Week_Location = dlgLocation.x + 58, dlgLocation.y + 282, dlgLocation.z + 20
position Adv2Week_Location = dlgLocation.x + 58, dlgLocation.y + 305, dlgLocation.z + 20
position Adv0Week_Location = dlgLocation.x + 58, dlgLocation.y + 328, dlgLocation.z + 20
position account_Balance_Location = dlgLocation.x + 107, dlgLocation.y + 220, dlgLocation.z + 20
position account_Balance_Value_Location = dlgLocation.x + 111, dlgLocation.y + 238, dlgLocation.z + 20
position per_Cycle_Expenses_Location = dlgLocation.x + 314, dlgLocation.y + 220, dlgLocation.z + 20
position per_Cycle_Expenses_Value_Location = dlgLocation.x + 320, dlgLocation.y + 238, dlgLocation.z + 20
int nOfCheckboxes = 3
object checkbox[nOfCheckboxes]
object o_advancetime_error
//time_advance_description 52,114,588,203
//per_cycle_expenses 314,220,550,234
//per_cycle_expenses_value 318,238,510,252
//current_balance 107,220,303,234
//current_balance_value 111,238,303,252
//2_weeks 77,305,269,319
//2_weeks_check 58,305
//1_week 77,282,269,296
//1_week_check 58,282
//don't_advance_time 77,328,269,342
//dont_advance_checkmark 58,328
//continue 479,316
int THIS_CYCLE = 0
int NEXT_CYCLE = 1
}
GUI_INIT
{
int i
for (i = 0; i < nOfButtons; i++)
{
mbutton[i] = s_multistatepane
mbutton[i].file = WPATH "button_reg_119x36m_4state.tga"
mbutton[i].total_states = 4
mbutton[i].id = -1
mbutton[i].text = buttonText[i]
mbutton[i].text_v_offset = -2
initialize( mbutton[i] )
}
for (i=0; i<nOfCheckboxes; i++ )
{
checkbox[i] = s_checkbox
checkbox[i].file = WPATH "checkbox_15x15_4state.tga"
checkbox[i].total_states = 4
checkbox[i].id = -1
initialize(checkbox[i])
}
checkbox[0].location = Adv1Week_Location
checkbox[1].location = Adv2Week_Location
checkbox[2].location = Adv0Week_Location
checkbox[2].state = 2
initialize(checkbox[2])
mbutton[btnCONTINUE].location = continue_Location
initialized = true
}
GUI_DRAW
{
// fade in or fade out
setpencolor(0, 0, 0, alpha_val)
drawrect 0, 0 to getresx(), getresy()
int mech_state
int mech_is_repairing
int cost_to_repair
int textColor = packcolor(255, 255, 0, 255)
int niceOrange = packcolor(255, 128, 0, 255)
// Redraw the frame if we are not fading out(exiting)
if ((initialized) && (fadeout == false))
{
color (gframe) = packcolor(255, 255, 255, alpha_val)
render gframe, dlgLocation
setpencolor(32, 0, 0, 140)
drawrect dlgLocation.x + 46, dlgLocation.y + 77 to dlgLocation.x + 602, dlgLocation.y + 356
// Header
print3d_attributes = microStyle14BoldExtFont,cWhite,1,1,1,0,0,just_left
print3d_margins = dlgTitle_Region
print3d_position = dlgTitle_Location
print3d localize$( IDS_AT_DLGTITLE )
print3d_attributes = microStyle10BoldExtFont,niceOrange,1,1,1,0,0,just_left
print3d_margins = paragraph1_Region
print3d_position = paragraph1_Location
print3d localize$( IDS_AT_PARA1 )
print3d_attributes = microStyle9BoldFont,textColor,1,1,1,0,0,just_left
print3d_margins = paragraph2_Region
print3d_position = paragraph2_Location
print3d localize$( IDS_AT_PARA2 )
print3d_attributes = microStyle9BoldFont,textColor,1,1,1,0,0,just_left
print3d_margins = paragraph3_Region
print3d_position = paragraph3_Location
print3d localize$( IDS_AT_PARA3 )
print3d_attributes = microStyle9BoldFont,textColor,1,1,1,1,0,just_center
print3d_margins = account_Balance_Region
print3d_position = account_Balance_Location
print3d localize$( IDS_AT_ACCOUNTBALANCE ) //
print3d_attributes = microStyle10BoldExtFont,cRed,1,1,1,1,0,just_center
lprint3d_margins = account_Balance_Value_Region
lprint3d_position = account_Balance_Value_Location
print3d fmtcommanum$( callback($$GetMoneyBalance$$) )
print3d_attributes = microStyle9BoldFont,textColor,1,1,1,1,0,just_center
lprint3d_margins = per_Cycle_Expenses_Region
lprint3d_position = per_Cycle_Expenses_Location
print3d localize$( IDS_AT_PERCYCLE )
print3d_attributes = microStyle10BoldExtFont,cRed,1,1,1,1,0,just_center
lprint3d_margins = per_Cycle_Expenses_Value_Region
lprint3d_position = per_Cycle_Expenses_Value_Location
if ( checkbox[0].state = 2 )
{
print3d fmtcommanum$( callback($$GetCycleExpenses$$, THIS_CYCLE) )
}
else
{
if ( checkbox[1].state = 2 )
print3d fmtcommanum$( callback($$GetCycleExpenses$$, THIS_CYCLE) + callback($$GetCycleExpenses$$, NEXT_CYCLE) )
else
print3d "0"
}
print3d_attributes = microStyle9BoldFont,cWhite,1,1,1,1,just_left
print3d_margins = Adv1Week_Location to Adv1Week_Location.x + 200, Adv1Week_Location.y + 20
print3d_position = Adv1Week_Location.x + 20, Adv1Week_Location.y
print3d localize$( IDS_AT_1WEEK )
print3d_attributes = microStyle9BoldFont,cWhite,1,1,1,1,just_left
print3d_margins = Adv2Week_Location to Adv2Week_Location.x + 200, Adv2Week_Location.y + 20
print3d_position = Adv2Week_Location.x + 20, Adv2Week_Location.y
print3d localize$( IDS_AT_2WEEKS )
print3d_attributes = microStyle9BoldFont,cWhite,1,1,1,1,just_left
print3d_margins = Adv0Week_Location to Adv0Week_Location.x + 200, Adv0Week_Location.y + 20
print3d_position = Adv0Week_Location.x + 20, Adv0Week_Location.y
print3d localize$( IDS_AT_0WEEKS )
}
}
GUI_DEACTIVATE //exiting mech lab
{
callback($$ML_CallbackHandler$$, MLRestore)
if exists(@infobox@)
{
script_end "infobox.script"
}
callback($$ML_CallbackHandler$$, MLExit)
callback($$Shell_CallbackHandler$$, ShellClearMechLabScreen)
if exists(@SHELL@)
{
mail (@SHELL@lastScreen[@SHELL@lastScreenDepth], @MECHBAY@screen) //pass the value of the next screen to load
@SHELL@lastScreenDepth--
@SHELL@currentScreen = -1 //this is a nothing screen to get it to kill the other script, which in turn will load the next appropriate screen after ending this script
}
if exists(@NetServer@)
{
@NetServer@currentScreen = MULTIPLAYER_SCREEN
}
if exists(@NetClient@)
{
@NetClient@currentScreen = MULTIPLAYER_SCREEN
}
unfocus
}
GUI_EXECUTE
{
if fadeout == true
{
// Fading out(Exiting)
if alpha_val > 0
{
alpha_val = alpha_val - 5
if alpha_val <= 0
{
alpha_val = 0
deactivate(this)
}
}
}
else
{
// Fading in(Entering)
if alpha_val < 150
{
alpha_val += 5
if alpha_val >= 150
{
alpha_val = 150
}
}
}
}
GUI_MAILBOX
{
int i
int endDlg = true
int WORKING_MECH = -1
switch ( sender )
{
case mbutton[0] : // Continue
if ( checkbox[0].state == 2 )
{
if ( callback($$GetMoneyBalance$$) > callback($$GetCycleExpenses$$, THIS_CYCLE ) )
{
if ( @Mechbay_main@o_mainui.tempRepairStatusFlag == true )
{
callback($$RepairMech$$, WORKING_MECH)
@Mechbay_main@o_mainui.tempRepairStatusFlag = false
}
callback($$ML_CallbackHandler$$, MLSave)
@Mechbay_main@o_mainui.just_saved = true
callback($$AdvanceNCycles$$, 1)
mail( 3, @Mechbay_main@o_mainui )
mail( 1, @Mechbay_main@o_mainui )
endDlg = true
}
else
{
endDlg = false
o_advancetime_error = o_ErrorScreen
o_advancetime_error.error_header = localize$(IDS_AT_ERROR_MONEY_HEADER)
o_advancetime_error.error_message = localize$(IDS_AT_ERROR_MONEY_TEXT1)
o_advancetime_error.button_mode = ONE_BUTTON_MODE
o_advancetime_error.buttonText[0] = localize$(IDS_GN_OK)
initialize(o_advancetime_error)
o_advancetime_error.mButton[0].id = -1
activate(o_advancetime_error)
}
}
if ( checkbox[1].state == 2 )
{
if ( callback($$GetMoneyBalance$$) > callback($$GetCycleExpenses$$, THIS_CYCLE) + callback($$GetCycleExpenses$$, NEXT_CYCLE) )
{
if ( @Mechbay_main@o_mainui.tempRepairStatusFlag == true )
{
callback($$RepairMech$$, WORKING_MECH)
@Mechbay_main@o_mainui.tempRepairStatusFlag = false
}
callback($$ML_CallbackHandler$$, MLSave)
@Mechbay_main@o_mainui.just_saved = true
callback($$AdvanceNCycles$$, 2)
mail( 3, @Mechbay_main@o_mainui )
mail( 1, @Mechbay_main@o_mainui )
endDlg = true
}
else
{
endDlg = false
o_advancetime_error = o_ErrorScreen
o_advancetime_error.error_header = localize$(IDS_AT_ERROR_MONEY_HEADER)
o_advancetime_error.error_message = localize$(IDS_AT_ERROR_MONEY_TEXT2)
o_advancetime_error.button_mode = ONE_BUTTON_MODE
o_advancetime_error.buttonText[0] = localize$(IDS_GN_OK)
initialize(o_advancetime_error)
o_advancetime_error.mButton[0].id = -1
activate(o_advancetime_error)
}
}
if ( endDlg == true )
{
fadeout = true
for (i = 0; i < nOfButtons; i++)
{
deactivate(mbutton[i])
}
for (i=0; i<nOfCheckboxes; i++ )
{
deactivate(checkbox[i])
}
}
break
case checkbox[0] :
case checkbox[1] :
case checkbox[2] :
{
// makes the checkboxes mutually exclusive (like radio buttons)
for (i=0; i<nOfCheckboxes; i++ )
{
if ( sender == checkbox[i] )
checkbox[i].state = 2
else
checkbox[i].state = 0
initialize( checkbox[i] )
}
}
break
}
}
}