Files
firestorm/Gameleap/mw4/Content/ShellScriptsDev/ErrorScreen.script
T
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

240 lines
5.9 KiB
Plaintext

#include "Content\\ShellScripts\\stddefs.h"
#include "Content\\ShellScripts\\ScriptStrings.h"
#define NO_BUTTON_MODE 0
#define ONE_BUTTON_MODE 1
#define TWO_BUTTON_MODE 2
#define THREE_BUTTON_MODE 3
o_ErrorScreen
{
GUI_CREATE
{
// use the whole region
location = 0, 0, 500
region = 0, 0 to getresx(), getresy()
Font3d gHeaderFont3d = FPATH localize$(IDS_F_GEN_SCREEN_TITLE)
Font3d gFont3d = FPATH localize$(IDS_F_GEN_DESCRIPTION)
int initialized = false
int extended_size = 0
pane gFrame
framerate = 30
sound btnTriggeredSound = SPATH "sfx_button5.wav"
// These three variables below MUST BE INITIALIZED
int button_mode = ONE_BUTTON_MODE
string error_header = localize$(IDS_GN_ERROR)
string error_message = ""
string buttonText[3]
int use_fadeout = true
// default text message for button 0
buttonText[0] = localize$(IDS_GN_OK)
// button objects
object mbutton[3]
// variables for fading in and out
int alpha_val = 5
int fadeout = false
}
GUI_INIT
{
// set up all button objects
int i
for (i = 0; i < button_mode; i++)
{
mbutton[i] = s_multistatepane
mbutton[i].file = WPATH "button_reg_138x23m_3state.tga"
mbutton[i].total_states = 3
// mbutton[i].twidth = 100
mbutton[i].id = 0
mbutton[i].text = buttonText[i]
}
if (extended_size == 0)
{
gFrame = GPATH "dialog_350x250m.tga"
// set up the location of button objects and then initialize
switch (button_mode)
{
case THREE_BUTTON_MODE:
mbutton[0].location = getresx() / 2 - 150, getresy() / 2 + 105, location.z + 20
mbutton[1].location = getresx() / 2, getresy() / 2 + 105, location.z + 20
mbutton[2].location = getresx() / 2 - 25, getresy() / 2 + 55, location.z + 20
initialize(mbutton[0])
initialize(mbutton[1])
initialize(mbutton[2])
break
case TWO_BUTTON_MODE:
mbutton[0].location = getresx() / 2 - 149, (getresy() / 2) + 72, location.z + 20
mbutton[1].location = getresx() / 2 + 7, (getresy() / 2) + 72, location.z + 20
initialize(mbutton[0])
initialize(mbutton[1])
break
case ONE_BUTTON_MODE:
mbutton[0].location = getresx() / 2 - 71, (getresy() / 2) + 72, location.z + 20
initialize(mbutton[0])
break
}
}
else
{
gFrame = GPATH "dialog_500x300m.tga"
// set up the location of button objects and then initialize
switch (button_mode)
{
case THREE_BUTTON_MODE:
mbutton[0].location = getresx() / 2 - 224, getresy() / 2 + 95, location.z + 20
mbutton[1].location = getresx() / 2 + 82, getresy() / 2 + 95, location.z + 20
mbutton[2].location = getresx() / 2 - 70, getresy() / 2 + 95, location.z + 20
initialize(mbutton[0])
initialize(mbutton[1])
initialize(mbutton[2])
break
case TWO_BUTTON_MODE:
mbutton[0].location = getresx() / 2 - 189, (getresy() / 2) + 90, location.z + 20
mbutton[1].location = getresx() / 2 + 47, (getresy() / 2) + 90, location.z + 20
initialize(mbutton[0])
initialize(mbutton[1])
break
case ONE_BUTTON_MODE:
mbutton[0].location = getresx() / 2 - 71, (getresy() / 2) + 90, location.z + 20
initialize(mbutton[0])
break
}
}
if use_fadeout == false
{
alpha_val = 150
}
initialized = true
}
GUI_ACTIVATE
{
int i
for (i = 0; i < button_mode; i++)
{
activate(mbutton[i])
}
focus(mbutton[0])
}
GUI_DEACTIVATE
{
int i
for (i = 0; i < button_mode; i++)
{
deactivate(mbutton[i])
}
}
GUI_EXECUTE
{
if use_fadeout == true
{
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_DRAW
{
// fade in or fade out
setpencolor(0, 0, 0, alpha_val)
drawrect 0, 0 to getresx(), getresy()
// Redraw the frame if we are not fading out(exiting)
if ((initialized) && (fadeout == false))
{
color (gframe) = packcolor(255, 255, 255, alpha_val)
if (extended_size == 0)
{
render gframe, getresx() / 2 - 175, getresy() / 2 - 125
// Header
print3d_attributes = gHeaderFont3d,0xffffffff,1,0,1,0,0,2
print3d_margins = getresx() / 2 - 175, (getresy() / 2) - 118 to getresx() / 2 + 175, getresy() / 2 - 50
print3d_position = getresx() / 2 - 175, (getresy() / 2) - 118
print3d error_header
print3d_attributes = gFont3d,0xffffffff,1,1,1,0,0,0
print3d_margins = (getresx() / 2) - 145, getresy() / 2 - 75 to getresx() / 2 + 145, getresy() / 2 + 75
print3d_position = (getresx() / 2) - 145, getresy() / 2 - 75
print3d error_message
}
else
{
render gframe, getresx() / 2 - 250, getresy() / 2 - 150
// Header
print3d_attributes = gHeaderFont3d,0xffffffff,1,0,1,0,0,2
print3d_margins = getresx() / 2 - 185, (getresy() / 2) - 140 to getresx() / 2 + 175, getresy() / 2 - 80
print3d_position = getresx() / 2 - 185, (getresy() / 2) - 140
print3d error_header
print3d_attributes = gFont3d,0xffffffff,1,-1,1,0,0,0
print3d_margins = (getresx() / 2) - 225, getresy() / 2 - 100 to getresx() / 2 + 225, getresy() / 2 + 85
print3d_position = (getresx() / 2) - 225, getresy() / 2 - 100
print3d error_message
}
}
}
GUI_MAILBOX
{
// mail the button number to the parent and then deactivate this object
int i
for (i = 0; i < button_mode; i++)
{
if (sender == mbutton[i])
{
play btnTriggeredSound,1
// Mail the button number to the parent
mail(i)
// Tell this script to fade out and deactivate all its objects
fadeout = true
int j
for (j = 0; j < button_mode; j++)
{
deactivate(mbutton[j])
}
}
}
}
}