Initial commit

This commit is contained in:
Brian Beck 2025-09-11 16:56:30 -07:00
parent 2211ed7650
commit ebb3dc9cdd
10121 changed files with 801 additions and 4 deletions

View file

@ -0,0 +1,28 @@
YOU SHOULD CAREFULLY READ THE FOLLOWING END USER LICENSE AGREEMENT BEFORE INSTALLING THIS SOFTWARE PROGRAM. BY INSTALLING OR OTHERWISE USING THE SOFTWARE PROGRAM, YOU AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, PROMPTLY RETURN THE UNUSED SOFTWARE PROGRAM TO THE PLACE OF PURCHASE OR CONTACT SIERRA ON-LINE, INC. CUSTOMER SERVICE AT (425) 746-5771 FOR A FULL REFUND OF THE PURCHASE PRICE WITHIN 30 DAYS OF THE ORIGINAL PURCHASE.
This software program (the “Program”), any printed materials, any on-line or electronic documentation, and any and all copies and derivative works of such software program (including materials created with a so called level editor, if included) and materials are the copyrighted work of Sierra On-Line, Inc., a division of Havas Interactive, Inc. and/or its wholly owned subsidiaries, or its suppliers. All rights reserved, except as expressly stated herein. All use of the Program is governed by the terms of this End User License Agreement provided below ("License Agreement"). The Program is solely for use by end users according to the terms of the License Agreement. Any use, reproduction or redistribution of the Program not in accordance with the terms of the License Agreement is expressly prohibited.
END USER LICENSE AGREEMENT
1. Limited Use License. Sierra On-Line, Inc. (“Sierra ”) hereby grants, and by installing the Program you thereby accept, a limited, non-exclusive license and right to install and use one (1) copy of the Program for your use on either a home, business or portable computer. In addition, the Program has a multi-player capability that allows users to utilize the Program over the Internet via Sierras online game network Sierra.com. Use of the Program over Sierra.com is subject to your acceptance of Sierra.coms Terms of Use Agreement. Sierra On-Line, Inc. reserves the right to update, modify or change the Sierra.com Terms of Use Agreement at any time. The Program may also contain a Level Editor (the “Editor”) that allows you to create custom levels or other materials for your personal use in connection with the Program (“New Materials”). All use of the Editor or any New Materials is subject to this License Agreement. The Program is licensed, not sold. Your license confers no title or ownership in the Program.
2. Ownership. All title, ownership rights and intellectual property rights in and to the Program and any and all copies thereof (including but not limited to any titles, computer code, themes, objects, characters, character names, stories, dialog, catch phrases, locations, concepts, artwork, animations, sounds, musical compositions, audio-visual effects, methods of operation, moral rights, any related documentation, and “applets” incorporated into the Program) are owned by Sierra On-Line, Inc. or its licensors. The Program is protected by the copyright laws of the United States, international copyright treaties and conventions and other laws. All rights are reserved. The Program contains certain licensed materials and Sierra s licensors may protect their rights in the event of any violation of this Agreement.
3. Responsibilities of End User.
A. Subject to the Grant of License hereinabove, you may not, in whole or in part, copy, photocopy, reproduce, translate, reverse engineer, derive source code, modify, disassemble, decompile, create derivative works based on the Program, or remove any proprietary notices or labels on the Program without the prior consent, in writing, of Sierra.
B. The Program is licensed to you as a single product. Its component parts may not be separated for use on more than one computer.
C. You are entitled to use the Program for your own use, but you are not entitled to:
(i) sell, grant a security interest in or transfer reproductions of the Program to other parties in any way, nor to rent, lease or license the Program to others without the prior written consent of Sierra.
(ii) exploit the Program or any of its parts for any commercial purpose including, but not limited to, use at a cyber café, computer gaming center or any other location-based site. Sierra may offer a separate Site License Agreement to permit you to make the Program available for commercial use; contact Sierra for details;
(iii) host or provide matchmaking services for the Program or emulate or redirect the communication protocols used by Sierra in the network feature of the Program, through protocol emulation, tunneling, modifying or adding components to the Program, use of a utility program or any other techniques now known or hereafter developed, for any purpose including, but not limited to network play over the Internet, network play utilizing commercial or non-commercial gaming networks or as part of content aggregation networks without the prior written consent of Sierra ;
(iv) create or maintain, under any circumstance, more than one simultaneous connection to Sierra.com. All such connections to Sierra.com, whether created by the Program or by other tools and utilities, may only be made through methods and means expressly approved by Sierra On-Line, Inc. Under no circumstances may you connect, or create tools that allow you to connect to Sierra.coms private binary interface or interfaces other than those explicitly provided by Sierra On-Line, Inc. for public use.
4. Program Transfer. You may permanently transfer all of your rights under this License Agreement, provided the recipient agrees to the terms of this License Agreement and you agree to remove the Program from your home or portable computer.
5. Termination. This License Agreement is effective until terminated. You may terminate the License Agreement at any time by destroying the Program. Sierra may, at its discretion, terminate this License Agreement in the event that you fail to comply with the terms and conditions contained herein. In such event, you must immediately destroy the Program.
6. Export Controls. The Program may not be re-exported, downloaded or otherwise exported into (or to a national or resident of) any country to which the U.S. has embargoed goods, or to anyone on the U.S. Treasury Departments list of Specially Designated Nationals or the U.S. Commerce Departments Table of Denial Orders. By installing the Program, you are agreeing to the foregoing and you are representing and warranting that you are not located in, under the control of, or a national or resident of any such country or on any such list.
7. Limited Warranty. Sierra expressly disclaims any warranty for the Program, Editor and Manual(s). The Program, Editor and Manual(s) are provided "as is" without warranty of any kind, either express or implied, including, without limitation, the implied warranties of merchantability, fitness for a particular purpose, or noninfringement. The entire risk arising out of use or performance of the Program and Manual(s) remains with the User, however Sierra warrants up to and including 90 days from the date of your purchase of the Program that the media containing the Program shall be free from defects in material and workmanship. In the event that the media proves to be defective during that time period, and upon presentation to Sierra of proof of purchase of the defective Program, Sierra will at its option 1) correct any defect, 2) provide you with a product of equal or lesser value, or 3) refund your money. Some states do not allow the exclusion or limitation of implied warranties or liability for incidental damages, so the above limitations may not apply to you.
8. Limitation of Liability. NEITHER SIERRA, HAVAS INTERACTIVE, INC., ITS PARENT, SUBSIDIARIES OR AFFILIATES SHALL BE LIABLE IN ANY WAY FOR LOSS OR DAMAGE OF ANY KIND RESULTING FROM THE USE OF THE PROGRAM OR USE OF SIERRA ON-LINE, INC.S ONLINE GAME NETWORK, SIERRA.COM INCLUDING, BUT NOT LIMITED TO, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. SIERRA FURTHER DISCLAIMS ALL WARRANTIES WITH REGARD TO YEAR 2000 COMPLIANCE OF THE SOFTWARE. SPECIFICALLY, SIERRA MAKES NO WARRANTIES THAT THE PERFORMANCE OR FUNCTIONALITY OF THE PROGRAM WILL NOT BE AFFECTED BY DATES PRIOR TO, DURING OR AFTER THE YEAR 2000, OR THAT THE PROGRAM WILL BE CAPABLE OF CORRECTLY PROCESSING, PROVIDING, AND/OR RECEIVING DATE INFORMATION WITHIN AND BETWEEN CENTURIES, INCLUDING THE PROPER EXCHANGE OF DATE INFORMATION BETWEEN PRODUCTS OR APPLICATIONS. ANY WARRANTY AGAINST INFRINGEMENT THAT MAY BE PROVIDED IN SECTION 2-312(3) OF THE UNIFORM COMMERCIAL CODE AND/OR IN ANY OTHER COMPARABLE STATE STATUTE IS EXPRESSLY DISCLAIMED. FURTHER, Sierra On-Line, Inc. SHALL NOT BE LIABLE IN ANY WAY FOR THE LOSS OR DAMAGE TO PLAYER CHARACTERS, ACCOUNTS, STATISTICS OR USER PROFILE INFORMATION STORED ON SIERRA.COM. I UNDERSTAND AND ACKNOWLEDGE THAT SIERRA ON-LINE, INC. CANNOT AND WILL NOT BE RESPONSIBLE FOR ANY INTURUPTIONS OF SERVICE ON SIERRA.COM INCLUDING, BUT NOT LIMITED TO ISP DISRUPTIONS, SOFTWARE OR HARDWARE FAILURES OR ANY OTHER EVENT WHICH MAY RESULT IN A LOSS OF DATA OR DISRUPTION OF SERVICE. Some states do not allow the exclusion or limitation of incidental or consequential damages, or allow limitations on how long an implied warranty lasts, so the above limitations may not apply.
9. Equitable Remedies. You hereby agree that Sierra would be irreparably damaged if the terms of this License Agreement were not specifically enforced, and therefore you agree that Sierra shall be entitled, without bond, other security, or proof of damages, to appropriate equitable remedies with respect to breaches of this License Agreement, in addition to such other remedies as Sierra may otherwise have available to it under applicable laws. In the event any litigation is brought by either party in connection with this License Agreement, the prevailing party in such litigation shall be entitled to recover from the other party all the costs, attorneys fees and other expenses incurred by such prevailing party in the litigation.
10. Limitations on License. Nothing in this License Agreement shall preclude you from making or authorizing the making of another copy or adaptation of the Program provided, however, that (1) such new copy or adaptation is created as an essential step in your utilization of the Program in accordance with the terms of this License Agreement and for NO OTHER PURPOSE; or (2) such new copy or adaptation is for archival purposes ONLY and all archival copies are destroyed in the event of your Transfer of the Program, the Termination of this Agreement or other circumstances under which your continued use of the Program ceases to be rightful.
11. Miscellaneous. This License Agreement shall be deemed to have been made and executed in the State of California and any dispute arising hereunder shall be resolved in accordance with the law of California. You agree that any claim asserted in any legal proceeding by one of the parties against the other shall be commenced and maintained in any state or federal court located in the State of California, County of Los Angeles, having subject matter jurisdiction with respect to the dispute between the parties. This License Agreement may be amended, altered or modified only by an instrument in writing, specifying such amendment, alteration or modification, executed by both parties. In the event that any provision of this License Agreement shall be held by a court or other tribunal of competent jurisdiction to be unenforceable, such provision will be enforced to the maximum extent permissible and the remaining portions of this License Agreement shall remain in full force and effect. This License Agreement constitutes and contains the entire agreement between the parties with respect to the subject matter hereof and supersedes any prior oral or written agreements.
I hereby acknowledge that I have read and understand the foregoing License Agreement and agree that the action of installing the Program is an acknowledgment of my agreement to be bound by the terms and conditions of the License Agreement contained herein. I also acknowledge and agree that this License Agreement is the complete and exclusive statement of the agreement between Sierra and I and that the License Agreement supersedes any prior or contemporaneous agreement, either oral or written, and any other communications between Sierra and myself.

View file

@ -0,0 +1,109 @@
YOU SHOULD CAREFULLY READ THE FOLLOWING END USER LICENSE AGREEMENT BEFORE INSTALLING THIS SOFTWARE PROGRAM.
This software program, any printed materials, any on-line or electronic documentation, and any and all copies and derivative works of such software program and materials (the "Program") are the copyrighted work of Sierra On-line Inc., its subsidiaries, licensors and/or its suppliers.
All use of the Program is governed by the terms of the End User License Agreement which is provided below ("License").
The Program is solely for use by end users according to the terms of the License.
Any use, reproduction or redistribution of the Program not in accordance with the terms of the License is expressly prohibited.
END USER LICENSE AGREEMENT
1. Limited Use License.
Sierra On-line Inc. ("the Licensor") hereby grants, and by installing the Program you thereby accept, a limited, non-exclusive license and right to install and use one (1) copy of the Program for your use on either a home or portable computer. You may not network the Program or otherwise install it or use it on more than one computer at a time, except if expressly authorised otherwise in the applicable documentation which you should refer to if :
(a) The Program contains a Level Editor ("Editor") that allows you to create custom levels or other materials for your personal use in connection with the Program ("New Materials").
(b) The Program has a multi-player capability
The Program is licensed not sold. Your license confers no title or ownership in the Program.
2. Ownership.
All title, ownership rights and intellectual property rights in and to the Program and any and all copies thereof (including but not limited to any titles, computer code, themes, objects, characters, character names, stories, dialog, catch phrases, locations, concepts, artwork, animations, sounds, musical compositions, audio-visual effects, methods of operation, moral rights, any related documentation, and "applets" incorporated into the Program) are owned by the Licensor or its licensors.
The Program is protected by the English copyright laws , international copyright treaties and conventions and any other applicable laws. All rights are reserved. The Program may contain certain licensed materials and the Licensor's licensors may act to protect their rights in the event of any violation of this Agreement.
3. Responsibilities of End User.
A. Subject to the Grant of License herein above, you may not, in whole or in part, copy, photocopy, reproduce, translate, reverse engineer, derive source code, modify, disassemble, decompile, create derivative works based on the Program, or remove any proprietary notices or labels on the Program without the prior consent, in writing, of the Licensor.
B. The Program is licensed to you as a single product. Its component parts may not be separated for use on more than one computer.
C. You are entitled to use the Program for your own use, but you are not be entitled to:
(i) sell, grant a security interest in or transfer reproductions of the Program to other parties in any way, nor to rent, lease or license the Program to others without the Licensor prior written consent ;
(ii) publish and/or distribute the computer images, sound, files, fonts, graphics, clipart, animations, photographs, databases or other content of the Program (including without limitation, for resale printed materials for your personal or business use (e.g., flyers and brochures) and on your personal and business website);
use any of the computer images related to identifiable individuals or entities in a manner which suggests their association with or endorsement of any product or services ;
(iii) exploit the Program or any of its parts, computer images, sound files, fonts, graphics, clipart, animations, photographs, databases or other content in the Program, for any commercial purpose including, but not limited to, use at a cyber café, computer gaming centre or any other location-based site.
(iv) host or provide matchmaking services for the Program or emulate or redirect the communication protocols used by the Licensor in the network feature of the Program, through protocol emulation, tunnelling, modifying or adding components to the Program, use of a utility program or any other techniques now known or hereafter developed,
for any purpose including, but not limited to network play over the Internet, network play utilising commercial or non-commercial gaming networks or as part of content aggregation networks without the Licensor prior written consent .
4. Program Transfer.
You may permanently transfer all of your rights under this License, provided the recipient agrees to the terms of this License and you agree to remove the Program from you home or portable computer.
5. Termination.
This License is effective until terminated. You may terminate the License at any time by destroying the Program and any New Material. The Licensor may, at its discretion, terminate this License in the event that you fail to comply with the terms and conditions contained herein. In such event, you must immediately destroy the Program and any New Material.
6. Export Controls.
The Program may not be re-exported, download or otherwise exported into (or to a national or resident of) any country to which the U.S. has embargoed goods, or anyone on the U.S. Treasury Department's list of Specially Designated National or the U.S. Treasury Department's Table of Denial Orders. By installing the Program, you are agreeing to the foregoing and you are representing and warranting that you are not located in, under the control of, or a national or resident of any such country or on any such list.
7. Limited Warranty.
THE LICENSOR EXPRESSLY DISCLAIMS ANY WARRANTY FOR THE PROGRAM, EDITOR, AND MANUAL(S). THE PROGRAM, EDITOR AND MANUAL(S) ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THE LICENSOR FURTHER DISCLAIMS ALL WARRANTIES WITH REGARD TO YEAR 2000 COMPLIANCE OF THE SOFTWARE. SPECIFICALLY, THE LICENSOR MAKES NO WARRANTIES THAT THE PERFORMANCE OR FUNCTIONALITY OF THE PROGRAM WILL NOT BE AFFECTED BY DATES PRIOR TO, DURING OR AFTER THE YEAR 2000, OR THAT THE PROGRAM WILL BE CAPABLE OF CORRECTLY PROCESSING, PROVIDING, AND/OR RECEIVING DATE INFORMATION WITHIN AND BETWEEN CENTURIES, INCLUDING THE PROPER EXCHANGE OF DATE INFORMATION BETWEEN PRODUCTS OR APPLICATIONS ANY WARRANTY AGAINST INFRINGEMENT THAT MAY BE PROVIDED IN SECTION 2-312(3) OF THE UNIFORM COMMERCIAL CODE AND/OR IN ANY DISCLAIMED.
The entire risk arising out of use or performance of the Program, Editor and Manual(s) remains with you ,
However the Licensor warrants that the media containing the Program shall be free from defects in material and workmanship under normal use and services and the Program will perform substantially in accordance with the accompanying written materials, for a period of ninety (90) days from the date of your purchase of the Program
In the event that the media proves to be defective during that time period, and upon presentation to the Licensor of proof of purchase of the defective Program, the Licensor will at its option 1) correct any defect, 2) provide you with a product of equal value, or 3) refund your money.
Some states/jurisdiction do not allow limitation on duration of an implied warranty, so the above limitation may not apply to you.
In case you would like to exchange the product or refund you money, notably if the product is defective, please refer to the "Technical Support Policy" herein included.
8. Limitation of Liability.
NEITHER THE LICENSOR , ITS PARENT, SUBSIDIARIES, AFFILIATES OR LICENSORS SHALL BE LIABLE IN ANY WAY FOR LOSS OR DAMAGE OF ANY KIND RESULTING FROM THE USE OF THE PROGRAM OR EDITOR
INCLUDING, BUT NOT LIMITED TO, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES.
Some countries do not allow the exclusion or limitation of incidental or consequential damages, or allow limitations on how long an implied warranty lasts, so above limitations or exclusion may not apply to you.
9. Equitable Remedies.
You hereby agree that the Licensor would be irreparably damaged if the terms of this License were not specifically enforced, and therefore you agree that the Licensor shall be entitled, without bond, other security, or proof of damages, to appropriate equitable remedies with respect to breaches of this License, in addition to such other remedies as the Licensor may otherwise have available to it under applicable laws.
10. Miscellaneous.
The License shall be deemed to have been made and executed in England, and any dispute arising hereunder shall be resolved in accordance with the English law. This License may be amended, altered or modified only by an instrument in writing, specifying such amendment, alteration or modification, executed by both parties.
In the event that any provision of this License shall be held by a court or other tribunal of competent jurisdiction to be unenforceable, such provision will be enforced to the maximum extent permissible and the remaining portions of this License shall remain in full force and effect.
The terms and conditions of a paper printed licence eventually accompanying the Program prevail on any terms and condition of a license eventually included in the Program and that could appear on screen.
You hereby acknowledge that you have read and understand the foregoing License and agree that the action of installing the Program is an acknowledgement of your agreement to be bound by the terms and conditions of the License contained herein. You also acknowledge and agree that this License is the complete and exclusive statement of the agreement between the Licensor and you and that the License supersedes any prior or contemporaneous agreement, either oral or written, and any other communications between the Licensor and you including any inconsistent written license agreement or on-line help accompanying the Program.
TECHNICAL SUPPORT POLICY
Attention : The technical support will only be available for private use complying with the terms of the End User License Agreement attached to the Product and to which you have agreed. Consequently, the technical support will not, in any case, be available for commercial or professional use of the Product.
Exchange Procedure for faulty CD-Rom, DVD-Rom or floppy disks
If during the 90 days period following your purchase of the product, you notice that the CD-Rom, DVD-Rom or floppy disk is defective or scratched, the technical support will be able to exchange the Product free of charge, if you:
* send the faulty CD-Rom, DVD-Rom or floppy disk back to the address indicated in the manual
* send a dated proof of purchase of the defective product (e.g. purchase ticket)
Please, do not forget to join in your letter, your name, address and a phone number where it is possible to reach you during the day.
After this 90 days period, if you want to exchange the CD-Rom, DVD-Rom or floppy disk (from a defective or scratched material only), thank you for sending back to the address indicated in the manual, the said CD-Rom, DVD-Rom or floppy disk and to join to your letter a £6-00 cheque for each defective material established to HAVAS INTERACTIVE UK Ltd.
Please address your letters to the Technical Support *
Exchange Procedure for the manuals
If you have lost or torn your manual or documentation associated to the product, the technical support will be able to send you new ones, under the following conditions:
Thank you for sending to the technical support a copy of the floppy disk #1, the CD-Rom or DVD-Rom and to join a £6-00 cheque established to Havas Interactive UK Ltd. with your letter.
Please, do not forget to join in your letter, your name, address and a phone number where it is possible to reach you during the day.
The technical support's address and phone number are indicated in the manual.
* We recommend that you send a letter by registered mail.
The Technical Support won't be responsible for any loss or damage caused by the mail delivery services.
Any shipping charge will be at your own expense

View file

@ -0,0 +1,662 @@
if ( $pref::Shell::lastBackground > 4 )
$pref::Shell::lastBackground = 0;
else
$pref::Shell::lastBackground++;
// load default controls:
exec("scripts/controlDefaults.cs");
// override with control settings
if ( $pref::Input::ActiveConfig !$= "" )
exec( "prefs/" @ $pref::Input::ActiveConfig @ ".cs", false, true );
// ---------------------------------------------------------------------------------
// z0dd - ZOD, 5/8/02. Moved here so scripters can use the message callback feature.
// message.cs is loaded so autoexec can add new message callbacks
exec("scripts/message.cs");
//exec any user created .cs files found in scripts/autoexec (order is that returned by the OS)
function loadCustomScripts()
{
%path = "scripts/autoexec/*.cs";
for( %file = findFirstFile( %path ); %file !$= ""; %file = findNextFile( %path ) )
exec( %file );
}
loadCustomScripts();
// override settings from autoexec.cs
exec("autoexec.cs");
$LoginName = "";
$LoginPassword = "";
//TINMAN hack to add a command line option for starting a bot match...
if ($CmdLineBotCount !$= "")
{
$Host::BotCount = $CmdLineBotCount;
}
// message.cs is loaded so autoexec can add new message callbacks
// z0dd - ZOD, 5/8/02. Moved so scripters can use the message callback feature.
//exec("scripts/message.cs");
//function to be called when the game exits
function onExit()
{
if ( !isDemo() && isObject($IRCClient.tcp) )
IRCClient::quit();
echo("exporting pref::* to ClientPrefs.cs");
export("$pref::*", "prefs/ClientPrefs.cs", False);
BanList::Export("prefs/banlist.cs");
if ( $PlayingOnline )
savePlayerDatabase();
}
//--------------------------------------------------------------------------
exec("scripts/LaunchLanGui.cs");
exec("scripts/GameGui.cs");
exec("scripts/ChooseFilterDlg.cs");
exec("scripts/TrainingGui.cs");
exec("scripts/webstuff.cs");
exec("scripts/webemail.cs");
exec("scripts/webbrowser.cs");
exec("scripts/webtest.cs");
exec("scripts/weblinks.cs");
exec("scripts/OptionsDlg.cs");
exec("scripts/EditChatMenuGui.cs");
exec("scripts/scoreList.cs");
exec("scripts/LobbyGui.cs");
exec("scripts/DebriefGui.cs");
exec("scripts/commonDialogs.cs");
exec("scripts/client.cs");
exec("scripts/server.cs");
exec("scripts/hud.cs");
exec("scripts/objectiveHud.cs");
exec("scripts/vehicles/clientVehicleHud.cs");
exec("scripts/inventoryHud.cs");
exec("scripts/chatMenuHud.cs");
exec("scripts/scoreScreen.cs");
exec("scripts/loadingGui.cs");
exec("scripts/helpGuiText.cs");
exec("scripts/voiceChat.cs");
exec("scripts/clientTasks.cs");
exec("scripts/targetManager.cs");
exec("scripts/gameCanvas.cs");
exec("scripts/centerPrint.cs");
exec("scripts/CreditsGui.cs");
if (isDemo())
exec("scripts/DemoEndGui.cs");
exec("scripts/ChatGui.cs");
// see if the mission and type are valid
// if they are they will be assigned into $Host::Map and $Host::MissionType
if($mission !$= "" && $missionType !$= "")
validateMissionAndType($mission, $missionType);
if($LaunchMode $= "DedicatedServer")
{
enableWinConsole(true);
$Host::Dedicated = true;
$HostGameType = "Online";
$ServerName = $Host::GameName;
setNetPort($Host::Port);
CreateServer($Host::Map, $Host::MissionType);
return;
}
else if($LaunchMode $= "Console")
{
enableWinConsole(true);
$Host::Dedicated = true;
return;
}
else if($LaunchMode $= "NavBuild")
{
enableWinConsole(true);
$Host::Dedicated = true;
$ServerName = $Host::GameName;
$Host::MissionType = $missionType;
$Host::Map = $Mission;
setNetPort($Host::Port);
CreateServer($Mission, $missionType);
return;
}
else if($LaunchMode $= "SpnBuild")
{
enableWinConsole(true);
$Host::Dedicated = true;
$ServerName = $Host::GameName;
$Host::MissionType = $missionType;
$Host::Map = $Mission;
setNetPort($Host::Port);
CreateServer($Mission, $missionType);
return;
}
function recordMovie(%movieName, %fps)
{
$timeAdvance = 1000 / %fps;
$screenGrabThread = schedule("movieGrabScreen(" @ %movieName @ ", 0);", $timeAdvance);
}
function movieGrabScreen(%movieName, %frameNumber)
{
if(%frameNumber < 10)
%frameNumber = "0" @ %frameNumber;
if(%frameNumber < 100)
%frameNumber = "0" @ %frameNumber;
if(%frameNumber < 1000)
%frameNumber = "0" @ %frameNumber;
if(%frameNumber < 10000)
%frameNumber = "0" @ %frameNumber;
screenshot(%movieName @ %frameNumber @ ".png");
$screenGrabThread = schedule("movieGrabScreen(" @ %movieName @ "," @ %frameNumber + 1 @ ");", $timeAdvance);
}
function stopMovie()
{
cancel($screenGrabThread);
}
function loadGui(%gui)
{
exec("gui/" @ %gui @ ".gui");
}
exec("scripts/clientAudio.cs");
exec("gui/guiProfiles.cs");
exec("scripts/recordings.cs");
// tool guis
loadGui("GuiEditorGui");
loadGui("consoleDlg");
loadGui("InspectDlg");
loadGui("CommonLoadDlg");
loadGui("CommonSaveDlg");
loadGui("FrameOverlayGui");
loadGui("TribeAdminMemberDlg");
loadGui("TSShowGui");
loadGui("TSShowLoadDlg");
loadGui("TSShowMiscDlg");
loadGui("TSShowThreadControlDlg");
loadGui("TSShowEditScale");
loadGui("TSShowLightDlg");
loadGui("TSShowTransitionDlg");
loadGui("TSShowTranDurEditDlg");
loadGui("TSShowDetailControlDlg");
// debugger GUI's
function Debugger()
{
if(!$DebuggerLoaded)
{
loadGui("debuggerGui");
loadGui("DebuggerBreakConditionDlg");
loadGui("DebuggerConnectDlg");
loadGui("DebuggerEditWatchDlg");
loadGui("DebuggerWatchDlg");
loadGui("DebuggerFindDlg");
exec("scripts/debuggerGui.cs");
$DebuggerLoaded = true;
}
Canvas.setContent(DebuggerGui);
}
// test GUIs
loadGui("GuiTestGui");
// common shell dialogs:
loadGui("MessageBoxDlg");
loadGui("MessagePopupDlg");
loadGui("ShellLoadFileDlg");
loadGui("ShellSaveFileDlg");
// menus
loadGui("AddressDlg");
loadGui("GenDialog");
loadGui("LaunchGui");
loadGui("LaunchToolbarDlg");
loadGui("GameGui");
loadGui("ChooseFilterDlg");
loadGui("ServerInfoDlg");
loadGui("EnterIPDlg");
loadGui("FindServerDlg");
loadGui("AdvancedHostDlg");
loadGui("NewWarriorDlg");
loadGui("JoinChatDlg");
loadGui("ChannelKeyDlg");
loadGui("ChatOptionsDlg");
loadGui("ChannelOptionsDlg");
loadGui("ChannelBanDlg");
loadGui("FilterEditDlg");
loadGui("PasswordDlg");
loadGui("OptionsDlg");
loadGui("DriverInfoDlg");
loadGui("RemapDlg");
loadGui("MouseConfigDlg");
loadGui("JoystickConfigDlg");
loadGui("EditChatMenuGui");
loadGui("EditChatMenuDlg");
loadGui("EditChatCommandDlg");
loadGui("ChatGui");
loadGui("EmailGui");
loadGui("EmailBlockDlg");
loadGui("EmailComposeDlg");
loadGui("TribeAndWarriorBrowserGui");
loadGui("TribePropertiesDlg");
loadGui("WarriorPropertiesDlg");
loadGui("BrowserSearchDlg");
loadGui("BrowserEditInfoDlg");
loadGui("CreateTribeDlg");
loadGui("RecordingsDlg");
loadGui("DemoLoadProgressDlg");
loadGui("DemoRenameFileDlg");
loadGui("DemoPlaybackDlg");
loadGui("TrainingGui");
loadGui("SinglePlayerEscapeDlg");
loadGui("LobbyGui");
loadGui("DebriefGui");
loadGui("CreditsGui");
if (isDemo())
loadGui("DemoEndGui");
loadGui("MoveThreadDlg");
loadGui("NewMissionGui");
loadGui("ChatDlg");
loadGui("PlayGui");
loadGui("PanoramaGui");
loadGui("LoadingGui");
loadGui("TestGui");
// HUD GUI's:
loadGui("HUDDlgs");
// TR2 Huds
exec("prefs/TR2HudPrefs.cs");
exec("scripts/TR2BonusHud.cs");
exec("scripts/TR2EventHud.cs");
exec("scripts/TR2FlagToss.cs");
// terraformer GUI's
loadGui("helpTextGui");
//
loadGui("InteriorPreviewGui");
loadGui("InteriorDebug");
exec("scripts/editor.cs");
loadGui("SceneLightingGui");
loadGui("InspectAddFieldDlg");
loadGui("PickTeamDlg");
loadGui("DetailSetDlg");
loadGui("IHVTest");
// Load material properties
echo("Load Material Properties:");
//exec("textures/badlands/badlandsPropMap.cs");
//exec("textures/desert/desertPropMap.cs");
//exec("textures/ice/icePropMap.cs");
//exec("textures/lava/lavaPropMap.cs");
//exec("textures/lush/lushPropMap.cs");
exec("scripts/badlandsPropMap.cs");
exec("scripts/desertPropMap.cs");
exec("scripts/icePropMap.cs");
exec("scripts/lavaPropMap.cs");
exec("scripts/lushPropMap.cs");
// commander map
exec("scripts/commanderProfiles.cs");
exec("scripts/commanderMap.cs");
exec("scripts/commanderMapHelpText.cs");
loadGui(CommanderMapGui);
loadGui(cmdMapHelpText);
loadGui(TaskHudDlg);
function frameCounter()
{
return " FPS: " @ $fps::real @
" mspf: " @ 1000 / $fps::real;
}
function terrMetrics()
{
return frameCounter() @
" L0: " @ $T2::levelZeroCount @
" FMC: " @ $T2::fullMipCount @
" DTC: " @ $T2::dynamicTextureCount @
" UNU: " @ $T2::unusedTextureCount @
" STC: " @ $T2::staticTextureCount @
" DTSU: " @ $T2::textureSpaceUsed @
" STSU: " @ $T2::staticTSU @
" FRB: " @ $T2::FogRejections;
}
function triMetrics()
{
return frameCounter() @
" TC: " @ $OpenGL::triCount0 + $OpenGL::triCount1 + $OpenGL::triCount2 + $OpenGL::triCount3 @
" PC: " @ $OpenGL::primCount0 + $OpenGL::primCount1 + $OpenGL::primCount2 + $OpenGL::primCount3 @
" T_T: " @ $OpenGL::triCount1 @
" T_P: " @ $OpenGL::primCount1 @
" I_T: " @ $OpenGL::triCount2 @
" I_P: " @ $OpenGL::primCount2 @
" TS_T: " @ $OpenGL::triCount3 @
" TS_P: " @ $OpenGL::primCount3 @
" ?_T: " @ $OpenGL::triCount0 @
" ?_P: " @ $OpenGL::primCount0;
}
function interiorMetrics()
{
return frameCounter() @
" NTL: " @ $Video::numTexelsLoaded @
" TRP: " @ $Video::texResidentPercentage @
" INP: " @ $Metrics::Interior::numPrimitives @
" INT: " @ $Matrics::Interior::numTexturesUsed @
" INO: " @ $Metrics::Interior::numInteriors;
}
function textureMetrics()
{
return frameCounter() @
" NTL: " @ $Video::numTexelsLoaded @
" TRP: " @ $Video::texResidentPercentage @
" TCM: " @ $Video::textureCacheMisses;
}
function waterMetrics()
{
return frameCounter() @
" Tri#: " @ $T2::waterTriCount @
" Pnt#: " @ $T2::waterPointCount @
" Hz#: " @ $T2::waterHazePointCount;
}
function timeMetrics()
{
return frameCounter() @ " Time: " @ getSimTime() @ " Mod: " @ getSimTime() % 32;
}
function vehicleMetrics()
{
return frameCounter() @
" R: " @ $Vehicle::retryCount @
" C: " @ $Vehicle::searchCount @
" P: " @ $Vehicle::polyCount @
" V: " @ $Vehicle::vertexCount;
}
function audioMetrics()
{
return frameCounter() @
" OH: " @ $Audio::numOpenHandles @
" OLH: " @ $Audio::numOpenLoopingHandles @
" OVH: " @ $Audio::numOpenVoiceHandles @
" AS: " @ $Audio::numActiveStreams @
" NAS: " @ $Audio::numNullActiveStreams @
" LAS: " @ $Audio::numActiveLoopingStreams @
" VAS: " @ $Audio::numActiveVoiceStreams @
" LS: " @ $Audio::numLoopingStreams @
" ILS: " @ $Audio::numInactiveLoopingStreams @
" CLS: " @ $Audio::numCulledLoopingStreams @
" MEM: " @ $Audio::memUsage @
" DYN: " @ $Audio::dynamicMemUsage @
" / " @ $Audio::dynamicMemSize @
" CNT: " @ $Audio::dynamicBufferCount @
" / " @ $Audio::bufferCount;
}
function DebugMetrics()
{
return frameCounter() @
" NTL: " @ $Video::numTexelsLoaded @
" TRP: " @ $Video::texResidentPercentage @
" NP: " @ $Metrics::numPrimitives @
" NT: " @ $Metrics::numTexturesUsed @
" NO: " @ $Metrics::numObjectsRendered;
}
function showMapperMetrics( %expr )
{
GLEnableMetrics( %expr );
if( Canvas.getContent() != PlayGui.getId() )
metricsIMain.setVisible( %expr );
else
metricsMain.setVisible( %expr );
}
function showTerr()
{
show("terrMetrics()");
}
function showTri()
{
GLEnableMetrics(true);
show("triMetrics()");
}
function showTime()
{
show("timeMetrics()");
}
function showWater()
{
show("waterMetrics()");
}
function showTexture()
{
show("textureMetrics()");
}
function showInterior()
{
$fps::virtual = 0;
$Interior::numPolys = 0;
$Interior::numTextures = 0;
$Interior::numTexels = 0;
$Interior::numLightmaps = 0;
$Interior::numLumels = 0;
show("interiorMetrics()");
}
function showVehicle()
{
show("vehicleMetrics()");
}
function showAudio()
{
show("audioMetrics()");
}
function showDebug()
{
show("DebugMetrics()");
}
function show(%expr)
{
if(%expr $= "")
{
GLEnableMetrics(false);
Canvas.popDialog(FrameOverlayGui);
}
else
{
Canvas.pushDialog(FrameOverlayGui, 1000);
TextOverlayControl.setValue(%expr);
}
}
//showInterior();
// check the launch mode:
Canvas.setCursor("DefaultCursor");
function dumpFile(%fileName)
{
%file = new FileObject();
if(%file.openForRead(%fileName))
{
while(!%file.isEOF())
echo(%file.readLine());
}
%file.delete();
}
function doScreenShot(%val)
{
$pref::interior::showdetailmaps = false;
if(!%val)
screenShot("screen" @ $screenshotnum++ @ ".png");
}
// set up the movement action map
GlobalActionMap.bind(keyboard, "print", doScreenShot);
GlobalActionMap.bindCmd(keyboard, "alt enter", "", "toggleFullScreen();");
// Get the joystick binding functions:
exec( "scripts/joystickBind.cs" );
function clientCMDgetManagerID(%client)
{
$client = %client;
}
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- //
function abs(%val)
{
if (%val < 0)
return %val * -1;
else
return %val;
}
//##############################################################################
//CreateServer(testmission);
//LocalConnect(UberBob);
//##############################################################################
function ServerConnectionAccepted()
{
if ( !isDemo() )
{
%info = GMJ_Browser.getServerInfoString();
%desc = "joined a" SPC getField(%info,4) @ " game (" @ getField(%info,3) @ ") on the \"" @ getField(%info,0) @ "\" server.";
IRCClient::onJoinGame($JoinGameAddress,%desc);
if ( !$pref::Net::CheckEmail )
CancelEmailCheck();
// if($pref::Net::DisconnectChat)
// IRCClient::quit();
}
checkGotLoadInfo();
}
function LocalConnectionAccepted()
{
if ( !isDemo() )
{
%desc = $pref::IRCClient::hostmsg;
IRCClient::onJoinGame("", %desc);
if ( !$pref::Net::CheckEmail )
CancelEmailCheck();
// if($pref::Net::DisconnectChat)
// IRCClient::quit(); //this is screwed up right now ^^
}
checkGotLoadInfo();
}
function checkGotLoadInfo()
{
if ( LoadingGui.gotLoadInfo )
Canvas.setContent( LoadingGui );
else
LoadingGui.checkSchedule = schedule( 500, 0, checkGotLoadInfo );
}
function cancelLoadInfoCheck()
{
if ( LoadingGui.checkSchedule )
{
cancel( LoadingGui.checkSchedule );
LoadingGui.checkSchedule = "";
}
}
function DispatchLaunchMode()
{
switch$($LaunchMode)
{
case "InteriorView":
if ( isFile( "missions/interiorTest.mis" ) )
{
$InteriorArgument = $TestObjectFileName;
$extension = fileExt( $TestObjectFileName );
if ( stricmp( $extension, ".dif\"" ) == 0 )
{
// Have to adjust for quotes:
$TestObjectFileName = getSubStr( $TestObjectFileName,
1, strlen( $TestObjectFileName ) - 2 );
}
if ( getSubStr( $TestObjectFileName, strlen( $TestObjectFileName ) - 6, 1 ) $= "_" )
{
// Strip the detail part off...
$TestObjectFileName = getSubStr( $TestObjectFileName, 0, strlen( $TestObjectFileName ) - 6 ) @ ".dif";
}
echo( $TestObjectFileName @ " is the file loaded" );
$ServerName = $Host::GameName;
$Host::TimeLimit = 60;
CreateServer( "interiorTest", "InteriorTest" );
localConnect( "TestGuy" );
}
else
MessageBoxOK( "FILE NOT FOUND", "You do not have the interior test mission in your mission folder.\nTalk to Brad or Tom to get it.", "quit();" );
case "Connect":
OnlineLogIn();
setNetPort(0);
JoinGame($JoinGameAddress);
case "HostGame":
$ServerName = $Host::GameName;
$Host::MissionType = $MissionType;
$Host::Map = $Mission;
CreateServer($Mission, $MissionType);
localConnect();
case "Normal":
OnlineLogIn();
case "Offline":
PlayOffline();
case "TSShow":
startShow();
case "SceneLight":
CreateServer($Mission);
localConnect();
case "Demo":
LoopDemos();
}
}
// if($LaunchMode !$= "Demo")
// VerifyCDCheck(DispatchLaunchMode);
// else
DispatchLaunchMode();

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.

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.

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.

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.

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.