FS507D asset recovery, ConLobby V5.0.7Df promotion, mechlab New-Mech crash fix
FS507D_20161015 release analysis wrap-up (drop itself is gitignored; art-review
folder kept local for review):
- Recovered the only assets our tree lacked: 13 hsh HUD/radar/mech bmps and the
two 5.07D lobby decals (decal_46/47.tga, extracted from release props.mw4 via
a ported gos_LZDecompress).
- ResourceImagePool.cpp: missing-texture placeholder is now LAB_ONLY (editor
keeps degraded mode); Release restores the original fatal STOP. Release +
Profile rebuilt, 0 errors.
Console script reconciled:
- ConLobby.script.new ("BattleTech Console V5.0.7Df", newest revision anywhere)
promoted to Content\ShellScripts\ConLobby.script; .new removed; stale loose
deploy copy removed. Verified in-game (console title shows V5.0.7Df).
- Corrected CLAUDE.md: the release never "renamed" the console to
ComputerPlayer.script -- the resource packer stores script contents under
alphabetically skewed entry names (runtime resolves the same pairing).
Packer quirks documented (stale entry carry-forward on incremental builds,
name/content skew in directory sweeps).
Mechlab bug fix (first FireStorm bug hunt):
- New-Mech dialog showed blank rows for Wolfhound/Zeus and crashed (KERNELBASE
read AV) when creating a Zeus. Root cause: newmech in chassis.script created
its Type droplist without setting $$m_listBoxSize$$, so capacity defaulted to
60 while 65 chassis were written in -- OOB script-array writes. Fixed by
sizing the list from $$m_chassisCount$$. Latent stock-MW4 bug armed when the
FireStorm roster passed 60 chassis. Verified: Zeus variant creates cleanly.
props.mw4 fully repacked (decals + promoted console + mechlab fix, junk
.new/.org entries gone); game deploy refreshed at MW4\. Gitignore: FS507D drop
and player-created MW4\Resource\Variants.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -382,7 +382,13 @@ void
|
||||
Verify(!extension[3]);
|
||||
if (!gos_DoesFileExist(file_name))
|
||||
#endif
|
||||
file_name = "content\\textures\\01AACA1.tga"; /* [editor degraded-mode] substitute placeholder for missing texture instead of fatal STOP, so downstream gets a valid handle (was: STOP("Texture %s could not be found!")) */
|
||||
{
|
||||
#ifdef LAB_ONLY
|
||||
file_name = "content\\textures\\01AACA1.tga"; /* [editor degraded-mode] LAB builds (editor/Profile) substitute a placeholder for missing WIP textures instead of fatal STOP, so downstream gets a valid handle */
|
||||
#else
|
||||
STOP(("Texture %s could not be found!", (const char *)file_name)); /* Release: fail loud, ship no placeholder */
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -13,6 +13,7 @@
|
||||
// 08/05/03 MSL Changed Team Player limit from 4 to 7
|
||||
// 10/10/03 MSL Added Cameraship to RESET_AFTER_LAUNCH
|
||||
// 10/17/05 MSL Added all remaining Mechs (55)
|
||||
// 06/19/18 AVB Update tab stops
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -80,7 +81,7 @@
|
||||
|
||||
#define MAX_SKIN_COUNT 16
|
||||
// MSL 5.05
|
||||
#define MAX_DECAL_COUNT 17
|
||||
#define MAX_DECAL_COUNT 20 //jpp decal total num in dropdown
|
||||
#define DO_VIRTUAL_TEST 0
|
||||
|
||||
#define USE_ALLOWED_MECHS 1
|
||||
@@ -154,7 +155,19 @@
|
||||
#define ERROR_STRING_Y 535
|
||||
#define ERROR_STRING_Y2 (535 + 41) // see o_launch_button
|
||||
|
||||
#define MAX_SLOT_ITEMS 5 // bot-type, edit-field, mech-type, team/camo, decal
|
||||
#define ROWFIELD_TYPE_BOTTYPE 0
|
||||
#define ROWFIELD_TYPE_EDITBOX 1
|
||||
#define ROWFIELD_TYPE_MECH 2
|
||||
#if USE_O_MECH_VARIANT2
|
||||
#define ROWFIELD_TYPE_MECHVARIANT 3
|
||||
#define ROWFIELD_TYPE_TEAMCAMO 4
|
||||
#define ROWFIELD_TYPE_TEAMDECAL 5
|
||||
#define MAX_SLOT_ITEMS 6
|
||||
#else
|
||||
#define ROWFIELD_TYPE_TEAMCAMO 3
|
||||
#define ROWFIELD_TYPE_TEAMDECAL 4
|
||||
#define MAX_SLOT_ITEMS 5
|
||||
#endif // USE_O_MECH_VARIANT2
|
||||
|
||||
#define MAIL_ROSTER_LIST_MAXDISPLAY 19999
|
||||
#define MAIL_ROSTER_LIST_CHANGED 20000
|
||||
@@ -163,6 +176,10 @@
|
||||
#define MAIL_REMOVE_ALL_BOTS 20003
|
||||
#define MAIL_CHANGE_LAUNCH_STATE 20004
|
||||
#define MAIL_GET_SLOTTYPE 20005 // cur-row, return: 0: none, +1: user, +2: bot, 3: currently used
|
||||
#define MAIL_SLOTTYPE_NONE 0
|
||||
#define MAIL_SLOTTYPE_USER 1
|
||||
#define MAIL_SLOTTYPE_BOT 2
|
||||
#define MAIL_SLOTTYPE_USED 3
|
||||
#define MAIL_PROCESS_TABEVENT 20006 // slot_item-index, dir(-1,+1)
|
||||
#define MAIL_POSSIBLE_TABEVENT 20007 // row, slottype, item_index
|
||||
#define MAIL_SET_ROOKIE_MISSION -1111 // sync with conlobby.script
|
||||
@@ -229,7 +246,7 @@ main
|
||||
o_frame.type = 0
|
||||
o_frame.location = 0, 0, 100
|
||||
// MSL Version
|
||||
o_frame.screen_name = "BattleTech Console V5.07" // localize$(IDS_MP_LOBBY_GAME_LOBBY)
|
||||
o_frame.screen_name = "BattleTech Console V5.0.7Df" // localize$(IDS_MP_LOBBY_GAME_LOBBY)
|
||||
initialize(o_frame)
|
||||
|
||||
int team_camo[16] // team_camo[selected team number] is skin number(0..36)...
|
||||
@@ -250,27 +267,27 @@ main
|
||||
team_camo[14] = 36 //
|
||||
team_camo[15] = 37 //
|
||||
|
||||
int team_decal[17] // team_decal[selected team number] is decal number(0..63)...
|
||||
team_decal[0] = 3 // Steiner
|
||||
team_decal[1] = 4 // Kurita
|
||||
team_decal[2] = 2 // Davion
|
||||
team_decal[3] = 5 // Liao
|
||||
team_decal[4] = 6 // Marik
|
||||
team_decal[5] = 9 // Comstar
|
||||
team_decal[6] = 50 // VGL
|
||||
team_decal[7] = 10 // Star League
|
||||
team_decal[8] = 11 // Wolf
|
||||
team_decal[9] = 12 // Falcon
|
||||
team_decal[10] = 16 // Ghost Bear
|
||||
team_decal[11] = 20 // Hell Horses
|
||||
team_decal[12] = 21 // Coyote
|
||||
team_decal[13] = 22 // Blood Spirit
|
||||
team_decal[14] = 24 // Ice Hellion
|
||||
team_decal[15] = 27 // Goliath Scorpian
|
||||
team_decal[16] = 48 // 331st
|
||||
int TEAM_DECAL[17] // team_decal[selected team number] is decal number(0..63)...
|
||||
TEAM_DECAL[0] = 3 // Steiner
|
||||
TEAM_DECAL[1] = 4 // Kurita
|
||||
TEAM_DECAL[2] = 2 // Davion
|
||||
TEAM_DECAL[3] = 5 // Liao
|
||||
TEAM_DECAL[4] = 6 // Marik
|
||||
TEAM_DECAL[5] = 9 // Comstar
|
||||
TEAM_DECAL[6] = 50 // VGL
|
||||
TEAM_DECAL[7] = 10 // Star League
|
||||
TEAM_DECAL[8] = 11 // Wolf
|
||||
TEAM_DECAL[9] = 12 // Falcon
|
||||
TEAM_DECAL[10] = 16 // Ghost Bear
|
||||
TEAM_DECAL[11] = 20 // Hell Horses
|
||||
TEAM_DECAL[12] = 21 // Coyote
|
||||
TEAM_DECAL[13] = 22 // Blood Spirit
|
||||
TEAM_DECAL[14] = 24 // Ice Hellion
|
||||
TEAM_DECAL[15] = 27 // Goliath Scorpian
|
||||
TEAM_DECAL[16] = 48 // 331st
|
||||
|
||||
int ffa_decal[36] // ffa_decal[selected skin number] is decal number(0..63)...
|
||||
// currently, these values is useless... just for later usage
|
||||
// currently, these values is useless... just for later usage //JPP add new decal here for in game use
|
||||
ffa_decal[0] = 3
|
||||
ffa_decal[1] = 4
|
||||
ffa_decal[2] = 2
|
||||
@@ -289,7 +306,9 @@ main
|
||||
ffa_decal[15] = 27 // Goliath Scorpion
|
||||
ffa_decal[16] = 48 // 331st
|
||||
ffa_decal[17] = 49 // ddc
|
||||
ffa_decal[18] = 0 // below will not used, because "o_skins[x].list_size = 16"
|
||||
ffa_decal[18] = 47 // FSA
|
||||
ffa_decal[19] = 46 // BKG
|
||||
ffa_decal[20] = 0 // below will not used, because "o_skins[x].list_size = 16"
|
||||
//ffa_decal[18-36] = ...
|
||||
|
||||
int drop_count_mech[ROSTER_DISPLAY_COUNT]
|
||||
@@ -327,7 +346,7 @@ main
|
||||
int team_param = TEAM_PARAMETER
|
||||
int team_max_plyrs = TEAM_MAX_PLAYERS
|
||||
int teamskin = TEAM_SKIN
|
||||
int teamdecal = TEAM_DECAL
|
||||
int teamdecal = TEAM_DECAL[6]
|
||||
|
||||
int k
|
||||
int x
|
||||
@@ -349,7 +368,7 @@ main
|
||||
int update_skin = false
|
||||
// MSL 5.05
|
||||
int decal_id ///////VERY IMPORTANT FOR NEW DECAL INTERFACE
|
||||
int decal_ids[18]
|
||||
int decal_ids[20] //JPP was 18
|
||||
int update_decal = false
|
||||
int ROSTER_top_of_list = 0
|
||||
int block_launch_or_ready = FALSE
|
||||
@@ -516,73 +535,73 @@ main
|
||||
|
||||
if (USE_ALLOWED_MECHS)
|
||||
{
|
||||
// MSL ADD MECH
|
||||
// MSL ADD MECH
|
||||
|
||||
allowed_mechs[ 0 ] = 0 // Annihilator
|
||||
allowed_mechs[ 1 ] = 1 // Archer
|
||||
allowed_mechs[ 2 ] = 2 // Arctic Wolf
|
||||
allowed_mechs[ 3 ] = 3 // Ares
|
||||
allowed_mechs[ 4 ] = 4 // Argus
|
||||
allowed_mechs[ 5 ] = 5 // Assassin2
|
||||
allowed_mechs[ 6 ] = 6 // Atlas
|
||||
allowed_mechs[ 7 ] = 7 // Avatar
|
||||
allowed_mechs[ 8 ] = 8 // Awesome
|
||||
allowed_mechs[ 9 ] = 9 // Battlemaster
|
||||
allowed_mechs[ 10 ] = 10 // Battlemasteriic
|
||||
allowed_mechs[ 11 ] = 11 // Behemoth
|
||||
allowed_mechs[ 12 ] = 12 // Behemoth II
|
||||
allowed_mechs[ 13 ] = 13 // Black Hawk
|
||||
allowed_mechs[ 14 ] = 14 // Black Knight
|
||||
allowed_mechs[ 15 ] = 15 // Black Lanner
|
||||
allowed_mechs[ 16 ] = 16 // Brigand
|
||||
allowed_mechs[ 17 ] = 17 // Bushwacker
|
||||
allowed_mechs[ 18 ] = 18 // Catapult
|
||||
allowed_mechs[ 19 ] = 19 // cauldron-born
|
||||
allowed_mechs[ 20 ] = 20 // Chimera
|
||||
allowed_mechs[ 21 ] = 21 // Commando
|
||||
allowed_mechs[ 22 ] = 22 // Cougar
|
||||
allowed_mechs[ 23 ] = 23 // Cyclops
|
||||
allowed_mechs[ 24 ] = 24 // Daishi
|
||||
allowed_mechs[ 25 ] = 25 // Deimos
|
||||
allowed_mechs[ 26 ] = 26 // Dragon
|
||||
allowed_mechs[ 27 ] = 27 // Fafnir
|
||||
allowed_mechs[ 28 ] = 28 // Flea
|
||||
allowed_mechs[ 29 ] = 29 // Gladiator
|
||||
allowed_mechs[ 30 ] = 30 // Grizzly
|
||||
allowed_mechs[ 31 ] = 31 // Hauptmann
|
||||
allowed_mechs[ 32 ] = 32 // Hellhound
|
||||
allowed_mechs[ 33 ] = 33 // Hellspawn
|
||||
allowed_mechs[ 34 ] = 34 // Highlander
|
||||
allowed_mechs[ 35 ] = 35 // Hollander II
|
||||
allowed_mechs[ 36 ] = 36 // Hunchback
|
||||
allowed_mechs[ 37 ] = 37 // Kodiak
|
||||
allowed_mechs[ 38 ] = 38 // Loki
|
||||
allowed_mechs[ 39 ] = 39 // Longbow
|
||||
allowed_mechs[ 40 ] = 40 // Madcat
|
||||
allowed_mechs[ 41 ] = 41 // Madcat Mk. II
|
||||
allowed_mechs[ 42 ] = 42 // Masakari
|
||||
allowed_mechs[ 43 ] = 43 // Mauler
|
||||
allowed_mechs[ 44 ] = 44 // Novacat
|
||||
allowed_mechs[ 45 ] = 45 // Osiris
|
||||
allowed_mechs[ 46 ] = 46 // Owens
|
||||
allowed_mechs[ 47 ] = 47 // Puma
|
||||
allowed_mechs[ 48 ] = 48 // Raven
|
||||
allowed_mechs[ 49 ] = 49 // Rifleman
|
||||
allowed_mechs[ 50 ] = 50 // Ryoken
|
||||
allowed_mechs[ 51 ] = 51 // Shadowcat
|
||||
allowed_mechs[ 52 ] = 52 // Solitaire
|
||||
allowed_mechs[ 53 ] = 53 // Sunder
|
||||
allowed_mechs[ 54 ] = 54 // Templar
|
||||
allowed_mechs[ 55 ] = 55 // Thanatos
|
||||
allowed_mechs[ 56 ] = 56 // Thor
|
||||
allowed_mechs[ 57 ] = 57 // Uller
|
||||
allowed_mechs[ 58 ] = 58 // Urbanmech
|
||||
allowed_mechs[ 59 ] = 59 // Uziel
|
||||
allowed_mechs[ 60 ] = 60 // Victor
|
||||
allowed_mechs[ 61 ] = 61 // Vulture
|
||||
allowed_mechs[ 62 ] = 62 // Warhammer
|
||||
allowed_mechs[ 63 ] = 63 // Wolfhound
|
||||
allowed_mechs[ 64 ] = 64 // Zeus
|
||||
allowed_mechs[ 0 ] = 0 // Annihilator
|
||||
allowed_mechs[ 1 ] = 1 // Archer
|
||||
allowed_mechs[ 2 ] = 2 // Arctic Wolf
|
||||
allowed_mechs[ 3 ] = 3 // Ares
|
||||
allowed_mechs[ 4 ] = 4 // Argus
|
||||
allowed_mechs[ 5 ] = 5 // Assassin2
|
||||
allowed_mechs[ 6 ] = 6 // Atlas
|
||||
allowed_mechs[ 7 ] = 7 // Avatar
|
||||
allowed_mechs[ 8 ] = 8 // Awesome
|
||||
allowed_mechs[ 9 ] = 9 // Battlemaster
|
||||
allowed_mechs[ 10 ] = 10 // Battlemasteriic
|
||||
allowed_mechs[ 11 ] = 11 // Behemoth
|
||||
allowed_mechs[ 12 ] = 12 // Behemoth II
|
||||
allowed_mechs[ 13 ] = 13 // Black Hawk
|
||||
allowed_mechs[ 14 ] = 14 // Black Knight
|
||||
allowed_mechs[ 15 ] = 15 // Black Lanner
|
||||
allowed_mechs[ 16 ] = 16 // Brigand
|
||||
allowed_mechs[ 17 ] = 17 // Bushwacker
|
||||
allowed_mechs[ 18 ] = 18 // Catapult
|
||||
allowed_mechs[ 19 ] = 19 // cauldron-born
|
||||
allowed_mechs[ 20 ] = 20 // Chimera
|
||||
allowed_mechs[ 21 ] = 21 // Commando
|
||||
allowed_mechs[ 22 ] = 22 // Cougar
|
||||
allowed_mechs[ 23 ] = 23 // Cyclops
|
||||
allowed_mechs[ 24 ] = 24 // Daishi
|
||||
allowed_mechs[ 25 ] = 25 // Deimos
|
||||
allowed_mechs[ 26 ] = 26 // Dragon
|
||||
allowed_mechs[ 27 ] = 27 // Fafnir
|
||||
allowed_mechs[ 28 ] = 28 // Flea
|
||||
allowed_mechs[ 29 ] = 29 // Gladiator
|
||||
allowed_mechs[ 30 ] = 30 // Grizzly
|
||||
allowed_mechs[ 31 ] = 31 // Hauptmann
|
||||
allowed_mechs[ 32 ] = 32 // Hellhound
|
||||
allowed_mechs[ 33 ] = 33 // Hellspawn
|
||||
allowed_mechs[ 34 ] = 34 // Highlander
|
||||
allowed_mechs[ 35 ] = 35 // Hollander II
|
||||
allowed_mechs[ 36 ] = 36 // Hunchback
|
||||
allowed_mechs[ 37 ] = 37 // Kodiak
|
||||
allowed_mechs[ 38 ] = 38 // Loki
|
||||
allowed_mechs[ 39 ] = 39 // Longbow
|
||||
allowed_mechs[ 40 ] = 40 // Madcat
|
||||
allowed_mechs[ 41 ] = 41 // Madcat Mk. II
|
||||
allowed_mechs[ 42 ] = 42 // Masakari
|
||||
allowed_mechs[ 43 ] = 43 // Mauler
|
||||
allowed_mechs[ 44 ] = 44 // Novacat
|
||||
allowed_mechs[ 45 ] = 45 // Osiris
|
||||
allowed_mechs[ 46 ] = 46 // Owens
|
||||
allowed_mechs[ 47 ] = 47 // Puma
|
||||
allowed_mechs[ 48 ] = 48 // Raven
|
||||
allowed_mechs[ 49 ] = 49 // Rifleman
|
||||
allowed_mechs[ 50 ] = 50 // Ryoken
|
||||
allowed_mechs[ 51 ] = 51 // Shadowcat
|
||||
allowed_mechs[ 52 ] = 52 // Solitaire
|
||||
allowed_mechs[ 53 ] = 53 // Sunder
|
||||
allowed_mechs[ 54 ] = 54 // Templar
|
||||
allowed_mechs[ 55 ] = 55 // Thanatos
|
||||
allowed_mechs[ 56 ] = 56 // Thor
|
||||
allowed_mechs[ 57 ] = 57 // Uller
|
||||
allowed_mechs[ 58 ] = 58 // Urbanmech
|
||||
allowed_mechs[ 59 ] = 59 // Uziel
|
||||
allowed_mechs[ 60 ] = 60 // Victor
|
||||
allowed_mechs[ 61 ] = 61 // Vulture
|
||||
allowed_mechs[ 62 ] = 62 // Warhammer
|
||||
allowed_mechs[ 63 ] = 63 // Wolfhound
|
||||
allowed_mechs[ 64 ] = 64 // Zeus
|
||||
|
||||
}
|
||||
|
||||
@@ -655,6 +674,7 @@ allowed_mechs[ 64 ] = 64 // Zeus
|
||||
|
||||
player_num = -1
|
||||
|
||||
// ComboBox for the Player Type
|
||||
object o_BotList[17]
|
||||
object o_BotList_bu[17]
|
||||
int m_naLastSelected[17]
|
||||
@@ -831,14 +851,15 @@ allowed_mechs[ 64 ] = 64 // Zeus
|
||||
stock_size = 0
|
||||
if (USE_ALLOWED_MECHS)
|
||||
{
|
||||
o_mech_variant[x].list_size = MAX_ALLOWED_MECHS
|
||||
for k = 0; k < MAX_ALLOWED_MECHS; k++
|
||||
{
|
||||
o_mech_variant[x].list_item[stock_size] = mech[stock_array[allowed_mechs[k]]]
|
||||
stock_size++
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
else
|
||||
{
|
||||
for k = 0; k < $$m_mechCount$$; k++
|
||||
{
|
||||
if (stock_id[k] == 1)
|
||||
@@ -1126,6 +1147,8 @@ allowed_mechs[ 64 ] = 64 // Zeus
|
||||
initialize (o_cam_status)
|
||||
|
||||
MAX_ITEMS = 1 + (MAXTESLA - MAXTESLA_P) // 1(blank) + (MAXTESLA - MAXTESLA_P)
|
||||
|
||||
// Live Cam Drop Box
|
||||
object o_cam_list = s_droplistbox
|
||||
MAX_ITEMS = 60
|
||||
o_cam_list.location = BOT_LIST_X, CAM_STATUS_Y,10
|
||||
@@ -1160,11 +1183,13 @@ allowed_mechs[ 64 ] = 64 // Zeus
|
||||
|
||||
object o_cam_print_text = s_print_text
|
||||
|
||||
o_cam_print_text.location = PRINT_TEXT_X, CAM_STATUS_Y + 3,5
|
||||
// Let's move this so it's clearly not in the same line as the o_cam_list
|
||||
o_cam_print_text.location = (PRINT_TEXT_X + PLAYER_EDIT_WIDTH + ROSTER_GAP2), (CAM_STATUS_Y + ROSTER_GAP2),5
|
||||
|
||||
o_cam_print_text.id = -1
|
||||
o_cam_print_text.text_font = FPATH localize$(IDS_F_ML_LABEL)
|
||||
o_cam_print_text.text_color = packcolor(255,255,255,255)
|
||||
o_cam_print_text.text = "DEFAULT" // Give it some default value to start up with.
|
||||
activate(o_cam_print_text)
|
||||
|
||||
object o_reprint = s_multistatepane
|
||||
@@ -1277,74 +1302,83 @@ allowed_mechs[ 64 ] = 64 // Zeus
|
||||
|
||||
GUI_MAILBOX
|
||||
{
|
||||
// GetSlotType
|
||||
if (sender == this) && (getmessage() == MAIL_GET_SLOTTYPE)
|
||||
{
|
||||
int cur_row = getmessage(1)
|
||||
if (cur_row < MAXTESLA_P)
|
||||
{
|
||||
//mLauncherConnection = callback($$CTCL_Get$$, _CTCL_GetTeslaInfo, k, mConnection2, mApplType, mApplState, mGameState, mGameTime, mGameIsServer)
|
||||
//if (mGameState != _EGS_Idle) // ((mLauncherConnection == 1) && (mConnection2 == 1) && (mApplType == _EAT_MW4))
|
||||
// return 3
|
||||
if (o_BotList[cur_row].nselected == 1)
|
||||
return 1
|
||||
{
|
||||
return MAIL_SLOTTYPE_USER
|
||||
}
|
||||
}
|
||||
if (o_BotList[cur_row].nselected == 0)
|
||||
return 0
|
||||
{
|
||||
return MAIL_SLOTTYPE_NONE
|
||||
}
|
||||
else
|
||||
return 2
|
||||
{
|
||||
return MAIL_SLOTTYPE_BOT
|
||||
}
|
||||
}
|
||||
// IsPossibleTabEvent(cur_row, slottype, cur_item)
|
||||
if (sender == this) && (getmessage() == MAIL_POSSIBLE_TABEVENT)
|
||||
{
|
||||
int cur_row = getmessage(1)
|
||||
int slottype = getmessage(2)
|
||||
int cur_item = getmessage(3)
|
||||
if (cur_item == 0)
|
||||
int cur_row = getmessage(1)
|
||||
int slottype = getmessage(2)
|
||||
int cur_item = getmessage(3)
|
||||
if (cur_item == ROWFIELD_TYPE_BOTTYPE)
|
||||
{
|
||||
return 1
|
||||
}
|
||||
if (cur_item == 1)
|
||||
{
|
||||
if (slottype == 1)
|
||||
return 1
|
||||
return 0
|
||||
return 1
|
||||
}
|
||||
if (cur_item == 2)
|
||||
if (cur_item == ROWFIELD_TYPE_EDITBOX)
|
||||
{
|
||||
if (slottype == 1) || (slottype == 2)
|
||||
if (slottype == MAIL_SLOTTYPE_USER)
|
||||
{
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
}
|
||||
if (cur_item == ROWFIELD_TYPE_MECH)
|
||||
{
|
||||
if (slottype == MAIL_SLOTTYPE_USER) || (slottype == MAIL_SLOTTYPE_BOT)
|
||||
{
|
||||
return 1
|
||||
return 0
|
||||
}
|
||||
return 0
|
||||
}
|
||||
if (cur_item == 3)
|
||||
#if USE_O_MECH_VARIANT2
|
||||
if (cur_item == ROWFIELD_TYPE_MECHVARIANT)
|
||||
{
|
||||
if (slottype == 2)
|
||||
{
|
||||
if (cur_team_val)
|
||||
return 1
|
||||
if (slottype == MAIL_SLOTTYPE_USER) || (slottype == MAIL_SLOTTYPE_BOT)
|
||||
{
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
}
|
||||
if (slottype == 1)
|
||||
{
|
||||
return 1
|
||||
}
|
||||
}
|
||||
if (cur_item == 4)
|
||||
}
|
||||
#endif // USE_O_MECH_VARIANT2
|
||||
if (cur_item == ROWFIELD_TYPE_TEAMCAMO) || (cur_item == ROWFIELD_TYPE_TEAMDECAL)
|
||||
{
|
||||
if (slottype == 2)
|
||||
{
|
||||
if (cur_team_val)
|
||||
return 1
|
||||
return 0
|
||||
if (slottype == MAIL_SLOTTYPE_USER)
|
||||
{
|
||||
return 1
|
||||
}
|
||||
if (slottype == MAIL_SLOTTYPE_BOT)
|
||||
{
|
||||
if (cur_team_val)
|
||||
{
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
}
|
||||
}
|
||||
if (slottype == 1)
|
||||
{
|
||||
return 1
|
||||
}
|
||||
}
|
||||
return 0
|
||||
}
|
||||
if (sender == this) && (getmessage() == MAIL_PROCESS_TABEVENT)
|
||||
{
|
||||
int cur_index = getmessage(1) // row * MAX_SLOT_ITEMS + slot-item-index(bot-type, edit-field, mech-type, team/camo)
|
||||
}
|
||||
// ProcessTabEvent
|
||||
if (sender == this) && (getmessage() == MAIL_PROCESS_TABEVENT)
|
||||
{
|
||||
int cur_index = getmessage(1) // row * MAX_SLOT_ITEMS + slot-item-index(bot-type, edit-field, mech-type, ?mech-variant,? team/camo, decal)
|
||||
int tab_dir = getmessage(2) // -1 or +1
|
||||
int old_row = -1
|
||||
int cur_row
|
||||
@@ -1354,46 +1388,60 @@ allowed_mechs[ 64 ] = 64 // Zeus
|
||||
|
||||
while(!done)
|
||||
{
|
||||
cur_index = cur_index + tab_dir
|
||||
if !done && (cur_index < 0)
|
||||
{
|
||||
done = 1
|
||||
focus(o_cam_list) // focus(@ConLobbyMission@o_game_options[13]) // MAX_OPTIONS-1
|
||||
}
|
||||
if !done && (nRosterCount * MAX_SLOT_ITEMS <= cur_index)
|
||||
{
|
||||
done = 1
|
||||
focus(@ConLobbyMission@o_game_options[0])
|
||||
}
|
||||
if (!done)
|
||||
{
|
||||
cur_row = cur_index / MAX_SLOT_ITEMS
|
||||
cur_item = cur_index % MAX_SLOT_ITEMS
|
||||
if (old_row != cur_row)
|
||||
{
|
||||
old_row = cur_row
|
||||
slottype = mail(MAIL_GET_SLOTTYPE, cur_row, this)
|
||||
}
|
||||
if mail(MAIL_POSSIBLE_TABEVENT, cur_row, slottype, cur_item, this)
|
||||
cur_index = cur_index + tab_dir
|
||||
if !done && (cur_index < 0)
|
||||
{
|
||||
done = 1
|
||||
if (cur_item == 0)
|
||||
focus(o_BotList[cur_row])
|
||||
if (cur_item == 1)
|
||||
focus(o_Editbox[cur_row])
|
||||
if (cur_item == 2)
|
||||
focus(o_mech_variant[cur_row])
|
||||
if (cur_item == 3)
|
||||
{
|
||||
if (cur_team_val)
|
||||
focus(o_team[cur_row])
|
||||
else
|
||||
focus(o_skins[cur_row])
|
||||
}
|
||||
if (cur_item == 4)
|
||||
focus(o_decal[cur_row])
|
||||
focus(o_cam_list) // focus(@ConLobbyMission@o_game_options[13]) // MAX_OPTIONS-1
|
||||
}
|
||||
if !done && (nRosterCount * MAX_SLOT_ITEMS <= cur_index)
|
||||
{
|
||||
done = 1
|
||||
focus(@ConLobbyMission@o_game_options[0])
|
||||
}
|
||||
if (!done)
|
||||
{
|
||||
cur_row = cur_index / MAX_SLOT_ITEMS
|
||||
cur_item = cur_index % MAX_SLOT_ITEMS
|
||||
if (old_row != cur_row)
|
||||
{
|
||||
old_row = cur_row
|
||||
slottype = mail(MAIL_GET_SLOTTYPE, cur_row, this)
|
||||
}
|
||||
if mail(MAIL_POSSIBLE_TABEVENT, cur_row, slottype, cur_item, this)
|
||||
{
|
||||
done = 1
|
||||
if (cur_item == 0)
|
||||
{
|
||||
focus(o_BotList[cur_row])
|
||||
}
|
||||
if (cur_item == 1) // Bot Select
|
||||
{
|
||||
focus(o_Editbox[cur_row])
|
||||
}
|
||||
if (cur_item == 2) // Edit Box
|
||||
{
|
||||
focus(o_mech_variant[cur_row])
|
||||
}
|
||||
#if USE_O_MECH_VARIANT2
|
||||
if (cur_item == 3) // Mech Box
|
||||
{
|
||||
focus(o_mech_variant2[cur_row])
|
||||
}
|
||||
#endif // USE_O_MECH_VARIANT2
|
||||
if (cur_item == 4)
|
||||
{
|
||||
if (cur_team_val)
|
||||
focus(o_team[cur_row])
|
||||
else
|
||||
focus(o_skins[cur_row])
|
||||
}
|
||||
if (cur_item == ROWFIELD_TYPE_TEAMDECAL)
|
||||
{
|
||||
focus(o_decal[cur_row])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
@@ -1415,78 +1463,83 @@ allowed_mechs[ 64 ] = 64 // Zeus
|
||||
nTabDir = +1
|
||||
if (sender == o_cam_list)
|
||||
{
|
||||
if (nTabDir == -1)
|
||||
focus(@ConLobbyMission@o_game_options[14]) // MAX_OPTIONS-1
|
||||
else
|
||||
mail(MAIL_PROCESS_TABEVENT, -1, +1, this)
|
||||
return
|
||||
}
|
||||
if (nTabDir == -1)
|
||||
focus(@ConLobbyMission@o_game_options[14]) // MAX_OPTIONS-1
|
||||
else
|
||||
mail(MAIL_PROCESS_TABEVENT, -1, +1, this)
|
||||
return
|
||||
}
|
||||
|
||||
int cur_index = 0
|
||||
int nItemFound = 0
|
||||
for (k = 0; k < nRosterCount; k++)
|
||||
{
|
||||
if (sender == o_BotList[k])
|
||||
{
|
||||
nItemFound++
|
||||
cur_index = cur_index + 0
|
||||
}
|
||||
if (sender == o_Editbox[k])
|
||||
{
|
||||
nItemFound++
|
||||
cur_index = cur_index + 1
|
||||
}
|
||||
int cur_index = 0
|
||||
int nItemFound = 0
|
||||
for (k = 0; k < nRosterCount; k++)
|
||||
{
|
||||
if (sender == o_BotList[k])
|
||||
{
|
||||
nItemFound++
|
||||
cur_index = cur_index + ROWFIELD_TYPE_BOTTYPE
|
||||
}
|
||||
if (sender == o_Editbox[k])
|
||||
{
|
||||
nItemFound++
|
||||
cur_index = cur_index + ROWFIELD_TYPE_EDITBOX
|
||||
}
|
||||
if (sender == o_mech_variant[k])
|
||||
{
|
||||
nItemFound++
|
||||
cur_index = cur_index + 2
|
||||
nItemFound++
|
||||
cur_index = cur_index + ROWFIELD_TYPE_MECH
|
||||
}
|
||||
if (sender == o_mech_variant2[k])
|
||||
{
|
||||
nItemFound++
|
||||
cur_index = cur_index + ROWFIELD_TYPE_MECHVARIANT
|
||||
}
|
||||
if (sender == o_skins[k]) || (sender == o_team[k])
|
||||
{
|
||||
nItemFound++
|
||||
cur_index = cur_index + 3
|
||||
}
|
||||
nItemFound++
|
||||
cur_index = cur_index + ROWFIELD_TYPE_TEAMCAMO
|
||||
}
|
||||
if (sender == o_decal[k])
|
||||
{
|
||||
nItemFound++
|
||||
cur_index = cur_index + 4
|
||||
}
|
||||
if (nItemFound)
|
||||
{
|
||||
//play press,1
|
||||
nItemFound++
|
||||
cur_index = cur_index + ROWFIELD_TYPE_TEAMDECAL
|
||||
}
|
||||
if (nItemFound)
|
||||
{
|
||||
//play press,1
|
||||
mail(MAIL_PROCESS_TABEVENT, cur_index, nTabDir, this)
|
||||
break
|
||||
}
|
||||
cur_index = cur_index + MAX_SLOT_ITEMS
|
||||
}
|
||||
return
|
||||
}
|
||||
if (sender == o_roster_list_scroll_controls)
|
||||
{
|
||||
if (getmessage() == MAIL_ROSTER_LIST_MAXDISPLAY)
|
||||
mail(MAIL_ROSTER_LIST_MAXDISPLAY, getmessage(1), this)
|
||||
if (getmessage() == MAIL_ROSTER_LIST_CHANGED)
|
||||
mail(MAIL_ROSTER_LIST_CHANGED, getmessage(1), this)
|
||||
return
|
||||
}
|
||||
return
|
||||
} // End TAB_EVENT
|
||||
if (sender == o_roster_list_scroll_controls)
|
||||
{
|
||||
if (getmessage() == MAIL_ROSTER_LIST_MAXDISPLAY)
|
||||
mail(MAIL_ROSTER_LIST_MAXDISPLAY, getmessage(1), this)
|
||||
if (getmessage() == MAIL_ROSTER_LIST_CHANGED)
|
||||
mail(MAIL_ROSTER_LIST_CHANGED, getmessage(1), this)
|
||||
return
|
||||
}
|
||||
// MSL 5.02 Recall Button
|
||||
if (sender == o_recall)
|
||||
{
|
||||
if (sender == o_recall)
|
||||
{
|
||||
play press,1
|
||||
mail(MAIL_PREVIOUS_MISSION, @ConLobbyMission@) // // set rookie, see conlobbymission.script
|
||||
mail(MAIL_PREVIOUS_MISSION, @ConLobbyMission@) // // set rookie, see conlobbymission.script
|
||||
for (k = 0; k < nRosterCount; k++)
|
||||
{
|
||||
o_BotList[k].nselected = o_BotList_bu[k].nselected
|
||||
if (o_BotList[k].nselected > 0)
|
||||
{
|
||||
o_BotList[k].nselected = o_BotList_bu[k].nselected
|
||||
if (o_BotList[k].nselected > 0)
|
||||
{
|
||||
activate(o_BotList[k])
|
||||
}
|
||||
o_Editbox[k].boxValue = o_Editbox[k].backup
|
||||
if (o_BotList[k].nselected == 1)
|
||||
{
|
||||
initialize(o_Editbox[k])
|
||||
activate(o_Editbox[k])
|
||||
}
|
||||
activate(o_BotList[k])
|
||||
}
|
||||
o_Editbox[k].boxValue = o_Editbox[k].backup
|
||||
if (o_BotList[k].nselected == 1)
|
||||
{
|
||||
initialize(o_Editbox[k])
|
||||
activate(o_Editbox[k])
|
||||
}
|
||||
|
||||
mail(MAIL_PLAYER_TYPE_CHANGED, k, this)
|
||||
m_naLastSelected[k] = o_BotList[k].nselected
|
||||
@@ -1866,18 +1919,18 @@ allowed_mechs[ 64 ] = 64 // Zeus
|
||||
}
|
||||
else
|
||||
{ // hidden
|
||||
deactivate(o_status[k])
|
||||
deactivate(o_status[k])
|
||||
deactivate(o_BotList[k])
|
||||
deactivate(o_Editbox[k])
|
||||
deactivate(o_print_text[k])
|
||||
deactivate(o_mech_variant[k])
|
||||
deactivate(o_mech_variant[k])
|
||||
#if USE_O_MECH_VARIANT2
|
||||
deactivate(o_mech_variant2[k])
|
||||
#endif // USE_O_MECH_VARIANT2
|
||||
deactivate(o_mech_rand[k])
|
||||
deactivate(o_skins[k])
|
||||
deactivate(o_decal[k])
|
||||
deactivate(o_team[k])
|
||||
deactivate(o_skins[k])
|
||||
deactivate(o_decal[k])
|
||||
deactivate(o_team[k])
|
||||
deactivate(o_skin_box[k])
|
||||
deactivate(o_decal_box[k])
|
||||
}
|
||||
@@ -2097,7 +2150,7 @@ allowed_mechs[ 64 ] = 64 // Zeus
|
||||
else
|
||||
nMissionReview = 0
|
||||
|
||||
callback($$CTCL_DoMission$$, 0, team_camo[0], team_decal[0], ffa_decal[0], nPrintOut, nMissionReview) // prepare to add player...
|
||||
callback($$CTCL_DoMission$$, 0, team_camo[0], TEAM_DECAL[0], ffa_decal[0], nPrintOut, nMissionReview) // prepare to add player...
|
||||
for (k = 0; k < nRosterCount; k++)
|
||||
{
|
||||
if (0 < o_BotList[k].nselected)
|
||||
@@ -2351,6 +2404,7 @@ allowed_mechs[ 64 ] = 64 // Zeus
|
||||
}
|
||||
else
|
||||
{
|
||||
// Writing out the time to each pod status
|
||||
timeString = conv$(mGameTime / 60)
|
||||
timeTemp = conv$(mGameTime % 60)
|
||||
if length$(timeTemp) == 1
|
||||
@@ -2552,7 +2606,7 @@ allowed_mechs[ 64 ] = 64 // Zeus
|
||||
{
|
||||
if (mLauncherConnection == -1)
|
||||
{
|
||||
//o_cam_print_text.text = "Connecting..."
|
||||
o_cam_print_text.text = "Connecting..."
|
||||
processing = o_cam_print_text.text
|
||||
if equal$(processing, ".")
|
||||
processing = ".."
|
||||
@@ -2579,7 +2633,7 @@ allowed_mechs[ 64 ] = 64 // Zeus
|
||||
}
|
||||
else
|
||||
{
|
||||
o_cam_print_text.text = "" // !ready"
|
||||
o_cam_print_text.text = "!" // !ready"
|
||||
}
|
||||
}
|
||||
if ((mLauncherConnection == 1) && (mConnection2 == 1) && (mApplType == _EAT_MW4) && (mGameState == _EGS_Idle))
|
||||
@@ -2882,7 +2936,7 @@ skin_box
|
||||
letters[35] = "Z"
|
||||
letters[36] = "_" // MSL Bot color
|
||||
|
||||
string decals[18]
|
||||
string decals[21] //JPP Add Decal here
|
||||
decals[0] = "03"
|
||||
decals[1] = "04"
|
||||
decals[2] = "02"
|
||||
@@ -2900,7 +2954,10 @@ skin_box
|
||||
decals[14] = "24"
|
||||
decals[15] = "27"
|
||||
decals[16] = "48"
|
||||
decals[17] = "00" // MSL Bot color
|
||||
decals[17] = "49"
|
||||
decals[18] = "47"
|
||||
decals[19] = "46"
|
||||
decals[20] = "00" // MSL Bot color
|
||||
|
||||
framerate = 10
|
||||
}
|
||||
@@ -2987,7 +3044,7 @@ decal_box
|
||||
letters[35] = "Z"
|
||||
letters[36] = "_" // MSL Bot color
|
||||
|
||||
string decals[18]
|
||||
string decals[21] //JPP Decal add here
|
||||
decals[0] = "03"
|
||||
decals[1] = "04"
|
||||
decals[2] = "02"
|
||||
@@ -3005,7 +3062,10 @@ decal_box
|
||||
decals[14] = "24"
|
||||
decals[15] = "27"
|
||||
decals[16] = "48"
|
||||
decals[17] = "00" // MSL Bot color
|
||||
decals[17] = "49"
|
||||
decals[18] = "47"
|
||||
decals[19] = "46"
|
||||
decals[20] = "00" // MSL Bot color
|
||||
|
||||
framerate = 10
|
||||
}
|
||||
@@ -3023,7 +3083,7 @@ decal_box
|
||||
}
|
||||
else
|
||||
{
|
||||
dstate = 17 // MSL Bot color
|
||||
dstate = 20 // MSL Bot color jpp decal change for bot
|
||||
}
|
||||
}
|
||||
if (dstate != nLastdState)
|
||||
@@ -4042,4 +4102,4 @@ s_error_string
|
||||
print3d text
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
// Mechwarrior: Vengeance
|
||||
// Copyright © 1999-2000
|
||||
// Copyright � 1999-2000
|
||||
// Mechbay_main.script
|
||||
// Paolo Malabuyo
|
||||
// July 12, 2000
|
||||
@@ -2171,6 +2171,11 @@ newmech
|
||||
int boxy2 = 425
|
||||
int boxz = 65
|
||||
|
||||
// [mechlab data fix] s_droplistbox takes its capacity from $$m_listBoxSize$$ (then resets it
|
||||
// to 60). Nothing set it here, so this list held 60 items while list_size = m_chassisCount
|
||||
// (65 mechs) -> the last chassis rows showed blank and selecting the final one crashed
|
||||
// (garbage string pointer into CreateNewMech). Size it to the actual chassis count.
|
||||
$$m_listBoxSize$$ = $$m_chassisCount$$
|
||||
object o_chassisdroplistbox = s_droplistbox
|
||||
o_chassisdroplistbox.boxFont3d = FPATH localize$(IDS_F_ML_LABEL)
|
||||
o_chassisdroplistbox.backColor = packcolor (0, 0, 0, 255)
|
||||
|
||||
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user