ScrapMods/Loader/scripts/init.py

621 lines
20 KiB
Python
Raw Normal View History

2023-02-06 17:46:47 +00:00
##########################################################
# Initialization engine
##########################################################
# Cam = Scrap.GetEntity(Scrap.GetCam(0))
# Scrap.GetEntity(Scrap.GetCam(0)).CamDist = 0
# Scrap.GetEntity(Scrap.GetCam(0)).FreeCam = 1
# Scrap.GetEntity("net256").Descriptor
# Scrap.GetEntity(Scrap.GetEntity("Player1").Target).Life = 0
# Scrap.GetEntity("Player1").EMICounter = 1.0
# Scrap.GetEntity("Player1").Upgrd01 = 3;Scrap.GetEntity("Player1").UAmmo01 = 200
# import Vehicles;Vehicles.ReSpawnShip("Player1")
# Scrap.GetEntity("Player1").FireRemainTime = 10.0;Scrap.GetEntity("Player1").FireDelayTime = 0.2
# import Net;Net.Spectate(0,1)
# Scrap.GetEntity("Player1").ActCtrl = "Mosquito"
import Scrap
2023-02-07 08:38:24 +00:00
logger = None
2023-02-06 17:46:47 +00:00
PlaySpacelords = not Scrap.IsApp(436180) # 1 to activate the cross promotion
##################################
## All the built in functions
##################################
import SInput,SNet,SWeap,SScorer,SSound,SAct,sys,SAI,SFX
Scrap.CreateSaveVar("CreateBertos", "0")
Scrap.CreateSaveVar("MercsHelpDtritus", "0")
Scrap.CreateSaveVar("RobotsControlledByBoss", "0")
Scrap.CreateSaveVar("Player.InfiniteLives", "1")
# WARNING : Never import any pyhton source library at the start up!
#
SUPERDEALSMAPS = ["TUCZONE","QF","OM","FZ","CA"]
OUTMAPS = ["TUCZONE","AB","COMMERCIAL","DOWNTOWN","GDB","OUTSKIRTS","SCRAPYARD"]+SUPERDEALSMAPS
INMAPS = ["NANO","ABINDOOR","BANK","GAMBLINDEN","ORBIT","POLICE","PRESS","TEMPLE","TOWNHALL"]
ExtraExecs ={
"JUNKYARD":(
(Scrap.PreloadLibrary,('RustySound', 'Sound/RustySound.pyc' )),
(Scrap.PreloadLibrary,('SputnikJunkyardSound','Sound/SputnikJunkyardSound.pyc' )),
(Scrap.PreloadLibrary,('MaintenanceSound', 'Sound/MaintenanceSound.pyc' )),
(Scrap.PreloadLibrary,('Rusty', 'Chars/Rusty.pyc' )),
(Scrap.PreloadLibrary,('SputnikJunkyard', 'Chars/SputnikJunkyard.pyc' )),
(Scrap.PreloadLibrary,('Maintenance', 'Chars/Maintenance.pyc' )),
),
"GAMBLINDEN":(
(Scrap.PreloadLibrary,('MercenarySound', 'Sound/MercenarySound.pyc' )),
(Scrap.PreloadLibrary,('CrazyGamblerSound', 'Sound/CrazyGamblerSound.pyc' )),
(Scrap.PreloadLibrary,('MercenaryA', 'Chars/MercenaryA.pyc' )),
(Scrap.PreloadLibrary,('MercenaryB', 'Chars/MercenaryB.pyc' )),
(Scrap.PreloadLibrary,('MercenaryC', 'Chars/MercenaryC.pyc' )),
(Scrap.PreloadLibrary,('MercenaryL', 'Chars/MercenaryL.pyc' )),
(Scrap.PreloadLibrary,('CrazyGambler', 'Chars/CrazyGambler.pyc' )),
),
"ABINDOOR":(
(Scrap.PreloadLibrary,('CrazyGamblerSound', 'Sound/CrazyGamblerSound.pyc' )),
(Scrap.PreloadLibrary,('CrazyGambler', 'Chars/CrazyGambler.pyc' )),
),
"PRESS":(
(Scrap.PreloadLibrary,('SebastianSound', 'Sound/SebastianSound.pyc' )),
(Scrap.PreloadLibrary,('BossSound', 'Sound/BossSound.pyc' )),
(Scrap.PreloadLibrary,('Sebastian', 'Chars/Sebastian.pyc' )),
(Scrap.PreloadLibrary,('Boss', 'Chars/Boss.pyc' )),
),
}
OffLineGame = Scrap.GetNetFlags()==(0,0,0)
MultiPlayer = not OffLineGame or Scrap.Get("SplitScreen") != 0
############################################################################################################
#################################### Preload all the built in libraries ####################################
############################################################################################################
# todos los paths
sys.path.append('Scripts/Scorer')
sys.path.append('Scripts/ShipEdit')
sys.path.append('Scripts/Python')
sys.path.append('Scripts/Weapons')
sys.path.append('Scripts/Vehicles')
sys.path.append('Scripts/Net')
sys.path.append('Scripts/FX')
sys.path.append('Scripts/Sound')
sys.path.append('Scripts/Chars')
sys.path.append('Scripts/Missions')
sys.path.append('Scripts/SuperDeals')
sys.path.append('Scripts/Split')
###### Librerias standard de python ######
Scrap.PreloadLibrary('string','Python/string.pyc')
# determinar el ambito de los mapas...
import string
UpperMap = string.upper(Scrap.GetLevelPath()[7:])
SuperDealModule = None
sDealType = Scrap.GetSaveVar("SuperDealType")
HasSuperDeal = OffLineGame and sDealType and sDealType != "" and (UpperMap in SUPERDEALSMAPS)
OutMapSkip = OffLineGame and (UpperMap in OUTMAPS)
InMapSkip = OffLineGame and (UpperMap in INMAPS)
2023-02-07 08:38:24 +00:00
###### Preloading custom stuff ######
Scrap.PreloadLibrary('Logger','Custom/Logger.pyc')
import Logger
logger = Logger.Logger('Loader')
logger.info('Logger initialized')
logger.debug(logger)
logger.info('Preloading MyMenu...')
Scrap.PreloadLibrary('MyMenu','Scorer/MyMenu.pyc')
logger.info('MyMenu preloaded')
2023-02-06 17:46:47 +00:00
#Scrap.PreloadLibrary('QuickConsole','QuickConsole.pyc') # QuickConsole no es una libreria para el sistema
###### Librerias basicas del sistema raiz ######
Scrap.PreloadLibrary('Items','Items.pyc')
Scrap.PreloadLibrary('SaveGame','SaveGame.pyc')
###### Sistema de menues y scorer ######
if (Scrap.Get("IsXbox") == 1):
Scrap.PreloadLibrary('XBMenu','Scorer/XBMenu.pyc')
else:
Scrap.PreloadLibrary('PCMenu','Scorer/PCMenu.pyc')
Scrap.PreloadLibrary('Menu','Scorer/Menu.pyc')
Scrap.PreloadLibrary('Scorer','Scorer/Scorer.pyc')
Scrap.PreloadLibrary('CharScorer','Scorer/CharScorer.pyc')
###### Librerias de red ######
Scrap.PreloadLibrary('Net', 'Net/Net.pyc')
###### Efectos especiales ######
Scrap.PreloadLibrary('Fx', 'FX/Fx.pyc' )
###### Sistema de sonidos ######
Scrap.PreloadLibrary('Sound', 'Sound/Sound.pyc' )
Scrap.PreloadLibrary('DoorSound', 'Sound/DoorSound.pyc' )
###### Sistema de personajes ######
Scrap.PreloadLibrary('Chars', 'Chars/Chars.pyc' )
Scrap.PreloadLibrary('MakeChar', 'Chars/MakeChar.pyc')
Scrap.PreloadLibrary('Speech', 'Chars/Speech.pyc' )
Scrap.PreloadLibrary('CharAct', 'Chars/CharAct.pyc' )
###### Librerias ######
Scrap.PreloadLibrary('Teleport', 'Missions/Teleport.pyc' )
Scrap.PreloadLibrary('Elevator', 'Missions/Elevator.pyc' )
Scrap.PreloadLibrary('RaceMaker', 'Missions/RaceMaker.pyc' )
Scrap.PreloadLibrary('Doors', 'Missions/Doors.pyc' )
Scrap.PreloadLibrary('Alarm', 'Missions/Alarm.pyc' )
Scrap.PreloadLibrary('MisItems', 'Missions/MisItems.pyc' )
Scrap.PreloadLibrary('Traffic', 'Missions/Traffic.pyc' )
Scrap.PreloadLibrary('Scene', 'Missions/Scene.pyc' )
Scrap.PreloadLibrary('Challenge', 'Missions/Challenge.pyc' )
Scrap.PreloadLibrary('MissionsFuncs', 'Missions/MissionsFuncs.pyc' )
Scrap.PreloadLibrary('Metro', 'Missions/Metro.pyc' )
def LoadCharLib(filename):
Scrap.PreloadLibrary(filename, 'Chars/'+filename+'.pyc' )
filename = filename+"Sound"
Scrap.PreloadLibrary(filename, 'Sound/'+filename+'.pyc')
if not InMapSkip: # no es interiores
###### Armas de naves preparadas para red ######
Scrap.PreloadLibrary('Weapons', 'Weapons/Weapons.pyc' )
Scrap.PreloadLibrary('Vulcan', 'Weapons/Vulcan.pyc' )
Scrap.PreloadLibrary('Swarm', 'Weapons/Swarm.pyc' )
Scrap.PreloadLibrary('Tesla', 'Weapons/Tesla.pyc' )
Scrap.PreloadLibrary('Cloud', 'Weapons/Cloud.pyc' )
Scrap.PreloadLibrary('Sonic', 'Weapons/Sonic.pyc' )
Scrap.PreloadLibrary('EMI', 'Weapons/EMI.pyc' )
Scrap.PreloadLibrary('Devastator','Weapons/Devastator.pyc')
Scrap.PreloadLibrary('ATPC', 'Weapons/ATPC.pyc' )
Scrap.PreloadLibrary('Inferno', 'Weapons/Inferno.pyc' )
Scrap.PreloadLibrary('Laser', 'Weapons/Laser.pyc' )
###### Naves y afines ######
Scrap.PreloadLibrary('Vehicles', 'Vehicles/Vehicles.pyc' )
Scrap.PreloadLibrary('ShipMaker', 'Vehicles/ShipMaker.pyc' )
Scrap.PreloadLibrary('OutMap', 'Vehicles/OutMap.pyc' )
Scrap.PreloadLibrary('VehiclesNPC', 'Vehicles/VehiclesNPC.pyc' )
Scrap.PreloadLibrary('Parking', 'Vehicles/Parking.pyc' )
Scrap.PreloadLibrary('Accelerator', 'Vehicles/Accelerator.pyc' )
####### scorer solo de exteriores ######
Scrap.PreloadLibrary('RacerScorer','Scorer/RacerScorer.pyc')
####### Sputnick y sus naves #######
LoadCharLib('Sputnik')
Scrap.PreloadLibrary('SputnikInterface', 'ShipEdit/SputnikInterface.pyc' )
####### sonidos de exteriores #######
Scrap.PreloadLibrary('OutSound', 'Sound/OutSound.pyc' )
###### mas misiones de exteriores ######
Scrap.PreloadLibrary('OutPolice', 'Missions/OutPolice.pyc' )
Scrap.PreloadLibrary('PhoneCab', 'Missions/PhoneCab.pyc' )
###### Sistema de edicion de naves ######
Scrap.PreloadLibrary('ShipEdit', 'ShipEdit/ShipEdit.pyc' )
Scrap.PreloadLibrary('HangarTab', 'ShipEdit/HangarTab.pyc' )
if not OutMapSkip: # tampoco interiores (mapas de edicion de naves)
Scrap.PreloadLibrary('EnginesTab','ShipEdit/EnginesTab.pyc')
Scrap.PreloadLibrary('WeaponsTab','ShipEdit/WeaponsTab.pyc')
Scrap.PreloadLibrary('HullTab', 'ShipEdit/HullTab.pyc' )
if not OutMapSkip:
for fn in ('Nurse','Police','Desktop','Gear','Sentinel','Berto',
'BankDirector','Mayor','GateKeeper','Betty','Dtritus',
'Bishop','Functionary','Humphrey','PoliceBoss',
'Messenger','Human','BankMaster'):
LoadCharLib(fn)
# logica varias de interiores
Scrap.PreloadLibrary('CrazyWing', 'Missions/CrazyWing.pyc' )
Scrap.PreloadLibrary('Bureaucracy', 'Chars/Bureaucracy.pyc' )
Scrap.PreloadLibrary('CharsNPC', 'Chars/CharsNPC.pyc' )
Scrap.PreloadLibrary('InMap', 'Chars/InMap.pyc' )
Scrap.PreloadLibrary('InTraffic', 'Vehicles/InTraffic.pyc' )
Scrap.PreloadLibrary('DTritusDesktop','Missions/DTritusDesktop.pyc')
# Sistema de misiones para single player
Scrap.PreloadLibrary('InPolice', 'Missions/InPolice.pyc' )
Scrap.PreloadLibrary('CharConversor', 'Missions/CharConversor.pyc' )
Scrap.PreloadLibrary('NewsPanel', 'Missions/NewsPanel.pyc' )
else: # debo cargar si es un mapa exterior solo mi personaje...
LoadCharLib(Scrap.GetSaveVar("Char"))
if Scrap.Get("SplitScreen") != 0 or (Scrap.Get("isXbox") and UpperMap in ("MENU","SHIPEDIT")):
Scrap.PreloadLibrary('Split','Split/Split.pyc')
SplitModeGameMod = Scrap.Get("ServerType")
Scrap.PreloadLibrary('S'+SplitModeGameMod,'Split/S'+SplitModeGameMod+'.pyc')
import Split
Split.ModLib = __import__('S'+SplitModeGameMod)
if not OffLineGame:
Scrap.PreloadLibrary('Chat','Scorer/Chat.pyc')
Scrap.PreloadLibrary('Ffa', 'Net/Ffa.pyc')
# cargar la libreria del tipo de juego...
import Ffa
GameLibName = "N"+Scrap.Get("ServerType")
if not Scrap.FileExist('Scripts/Net/'+GameLibName+'.pyc') and not Scrap.FileExist('Scripts/Net/'+GameLibName+'.py'):
GameLibName = "NDeathMatch"
Scrap.PreloadLibrary(GameLibName, 'Net/'+GameLibName+'.pyc')
Ffa.ModLib = __import__(GameLibName)
if ExtraExecs.has_key(UpperMap):
for func in ExtraExecs[UpperMap]:
apply(apply,func)
isDemo = Scrap.Get("isDemo")
Path = "" # el path del mapa actual
Outdoor = 1 # 1 si el mapa es exterior 0 si es interior. En red debe ser 1
inMainMenu = 0 # 1 si el mapa no es mas que una miserable demo si graficos ni nada
isShipEdit = 0 # 1 si el mapa es el edicion de naves. inMainMenu = 0 Outdoor = 1 para que sea valido
isJunkYard = 0 # 1 en el caso particular del mapa junkyard
OutArea = "DownTown" # este es el mapa exterior en el que se encuentra (si esta en un interior) no vale para exteriores ni mapa del chatarrero.
isScrapYard = 0
XboxSavingMsgTime = 3.5
if (HasSuperDeal):
Scrap.PreloadLibrary(sDealType, 'SuperDeals/' + sDealType + '.pyc' )
SuperDealModule = __import__(sDealType)
######## Maplibs functions ########
MapLibs = [] # esta es la lista de las librerias propias del mapa. Se especifican para su inicializacion
# agrega una libreria a la lista de librerias del mapa
def AddMLib(library):
global MapLibs
MapLibs.append(library)
def MLibInitStatus(LevelPath):
global MapLibs
for lib in MapLibs:
lib.InitStatus(LevelPath)
def MLibInit(LevelPath):
global MapLibs
for lib in MapLibs:
lib.Init(LevelPath)
def isMission():
import string
return string.upper(Scrap.GetSaveVar("Mission.Map")) == string.upper(Scrap.GetLevelPath()[7:])
def PreloadMlibs(LevelPath):
import Map
if isMission():
Map.Libraries.append(Scrap.GetSaveVar("Mission.Library"))
if "Libraries" in dir(Map):
for LibName in Map.Libraries:
Scrap.PreloadLibrary(LibName,LibName+'.pyc')
AddMLib(__import__(LibName))
Arrows = "Models/Misc/Action/Action","Models/Misc/MMission/MMission","Models/Misc/SMission/SMission","Models/Misc/MMission/BMMission","Models/Misc/SMission/BSMission"
Scrap.Set("ArrowUseFile", Arrows[0])
Scrap.Set("ArrowMissionFile", Arrows[1])
Scrap.Set("ArrowTargetFile", Arrows[2])
def SetArrowSize():
global Arrows
for varnam in Arrows:
Nam = varnam
Scrap.Preload3DObject(Nam+".M3D",1,1,1)
Scrap.PreloadAnm(Nam+".M3D",Nam+".anim.M3D")
####################################
## Initialization routines
####################################
def Init(LevelPath):
global Path
global Outdoor
global inMainMenu
global isShipEdit
# graba el path
Path = LevelPath
# load default libraries
import sys
sys.path.append(LevelPath+"/Scripts")
Scrap.OpenPack(LevelPath+"/Scripts")
Scrap.PreloadLibrary('Map','Map.pyc')
Scrap.PreloadLibrary('MapSnd','MapSnd.pyc')
PreloadMlibs(LevelPath)
Scrap.ClosePack()
if Scrap.Get("IsXbox") and not Scrap.Get("ShowCredits") and UpperMap in ("SHIPEDIT","MENU"):
Scrap.PreloadLibrary('XboxMenu', 'Scripts/Scorer/XboxMenu.pyc')
AddMLib(__import__('XboxMenu'))
import Map
import MapSnd
# Load map Status
Map.InitStatus(LevelPath)
MLibInitStatus(LevelPath)
###################################################################
# Para arreglar el que se vea a la nave del jefe de policia dando #
# rulos por ahн despuйs de muerto y no tener que hacer cambios en #
# todos los scripts de exteriores. #
###################################################################
ga = Scrap.GetSaveVar("GameAct")
if (ga != "Prologue" and ga != "1stMurder"):
import string
cad = Scrap.GetSaveVar("Traffic.AcShips")
if (cad and string.find(cad, "SPoliBoss1") != -1):
import Traffic
cad = string.replace(cad, "SPoliBoss1", "SPoli6", 1)
Scrap.SetSaveVar("Traffic.AcShips", cad)
Traffic.AcShips = eval(cad)
#######################################################
if (SuperDealModule):
SuperDealModule.InitStatus(LevelPath)
# modifica el tamaсo de las flechas de mision
if not inMainMenu and not isShipEdit:
SetArrowSize()
#inicializaciуn AI
SAI.IniAI(LevelPath, Outdoor)
# initialize the language
#Scrap.SetLanguage("English")
# Initialize menu
Scrap.Set("EscapeEvent","Menu.Init")
import Menu; Menu.Initialize()
# Assign Mission Info callback func
if Scrap.GetNetFlags()==(0,0,0):
Scrap.Set("MainMissionEvent", "MissionsFuncs.ShowMissionInfo")
else:
Scrap.Set("MainMissionEvent", "Ffa.ShowHelp")
if not OffLineGame:
# Initialize chat system
import Chat;Chat.SetChatProc();
# Initialize the sound system
import Sound;Sound.Init()
# elementos decorativos
Scrap.CreateElements()
if not inMainMenu:
if not Outdoor:
import Bureaucracy; Bureaucracy.Init()
if UpperMap in SUPERDEALSMAPS or MultiPlayer:
Scrap.Set("isActionMusic",1)
# Initialize Character Controller (en exteriores al menos se carga un set para el single player, nada para el multi)
if not isShipEdit and not MultiPlayer:
import Chars; Chars.Init()
if (not isJunkYard):
if (Outdoor):
import PhoneCab
PhoneCab.CreatePhoneCabClass()
PhoneCab.CreateAudioComClass()
#else:
# Scrap.SetMoney(1000000)
if Outdoor or isJunkYard: # lo que son interiores no cargan nada de esto (exepto Junkyard)
# Initialize Vehicle Controller
import Vehicles;Vehicles.Init()
# Initialize Weapons Controller
import Weapons;Weapons.Init()
# Initialize Special FX Controller (generico para exteriores e interiores)
import Fx;Fx.Init()
if not isShipEdit:
# sistema de alarma
import Alarm;Alarm.Init()
# Items propios de las misiones
import MisItems;MisItems.Init()
# puertas y ventanas
import Doors;Doors.Init()
if not isShipEdit:
# Set de los mapas ya sean exteriores o interiores.
if Outdoor:
import OutMap;OutMap.Init(LevelPath)
else:
import InMap;InMap.Init(LevelPath)
if not MultiPlayer:
import SaveGame
SaveGame.InitVars()
import MissionsFuncs;MissionsFuncs.Init()
###Scrap.Set( "VideoGammaRGB", 1.0 )
if (Outdoor and Scrap.GetSaveVar("CreateBertos") == "1" and UpperMap != "GDB" and not HasSuperDeal):
import MissionsFuncs, Parking
MissionsFuncs.CreateBertos()
Parking.SwitchVehicleMissionCallbackAux = MissionsFuncs.ReassignBertosPlayerTarget
Parking.SwitchCharMissionCallbackAux = MissionsFuncs.ReassignBertosPlayerTarget
if (Scrap.GetSaveVar("RobotsControlledByBoss") == "1"):
if (Scrap.GetSaveVar("MercsHelpDtritus") == "1"):
Scrap.SetSaveVar("MercFriends.MercenaryA_Smartie", "1")
Scrap.SetSaveVar("MercFriends.MercenaryC_Brutus", "1")
Scrap.SetSaveVar("MercFriends.MercenaryB_Dumber", "1")
if UpperMap in eval(Scrap.GetSaveVar("ComSatsMissionsMapsFinished")):
Scrap.Set("AlarmFallDelta", -0.05)
Scrap.SetAlarm(0)
else:
Scrap.SetAlarm(1)
Scrap.Set("AlarmFallDelta",0)
Scrap.Set("OnCrazyDealFinished", "MissionsFuncs.OnCrazyDealFinishedMessage")
Scrap.Set("OnCrazyDealTarget", "MissionsFuncs.OnCrazyDealTarget")
# initialize the map
Map.Init(LevelPath)
MapSnd.Init(LevelPath)
MLibInit(LevelPath)
if (SuperDealModule):
SuperDealModule.Init(LevelPath)
Scrap.AddScheduledFunc(Scrap.GetTime() + 0.5, SetMapLabelText, ())
if (isDemo and Scrap.GetSaveVar("Player.NumLives") == "-1"):
Scrap.SetSaveVar("Player.NumLives", "0")
Scrap.Set("R_SceneBlurValue",0)
if OffLineGame and not inMainMenu and not isShipEdit:
Scrap.CreateSaveVar("GameSkill", "1")
Scrap.Set("GameSkill",int(Scrap.GetSaveVar("GameSkill")))
print "Actual Level at : ",LevelPath
def SetMapLabelText():
import Scorer
vis = SScorer.Get(0, Scorer.MissionScorerName, "Visible")
if (vis and vis == 1):
status = SScorer.Get(0, Scorer.MissionScorerName, "Status0")
if (status != 1 or (status == 1 and Scrap.GetSaveVar("Mission.Map") == Scrap.GetLevelPath()[7:])):
SScorer.SetLabelText(Scrap.GetLangStr("Station_" + Scrap.GetLevelPath()[7:]), Scrap.GetTime() + 10)
# Scrap.CreateSaveVar("Mission01","Searching")
# Scrap.CreateSaveVar("Mission01.Objetive","BadGuy")
# Scrap.GetSaveVar("Mission01")
# Scrap.DelSaveVars("Mission01.")
# Scrap.SetSaveVar("Mission01","Eliminate")
# Scrap.SaveGameVars("Save/Save01.sav")
# Scrap.LoadGameVars("Save/Save01.sav")
####################################
## Closing routines
####################################
PROGRESSBAR_PC = {
"MENU":200,
"ORBIT":1070,
"SCRAPYARD":1693,
"BANK":1641,
"JUNKYARD":1434,
"SHIPEDIT":1265,
"DOWNTOWN":1745,
"OUTSKIRTS":1775,
"GAMBLINDEN":1252,
"COMMERCIAL":1790,
"FAKE":1462,
"PRESS":1691,
"POLICE":1764,
"TEMPLE":1382,
"TOWNHALL":1742,
"AB":1366,
"ABINDOOR":868,
"QF":1474,
"GDB":1517,
"FZ":1488,
"OM":1537,
"CA":1487,
"MCA":1553,
"MCB":1553,
"MDA":1553,
"MDB":1553,
"MOA":1553,
"MOB":1553,
"MSA":1553,
"MSB":1553,
}
PROGRESSBAR_XBOX = {
"MENU":200,
"ORBIT":845,
"SCRAPYARD":1189,
"BANK":1327,
"JUNKYARD":990,
"SHIPEDIT":589,
"DOWNTOWN":1208,
"OUTSKIRTS":1182,
"GAMBLINDEN":995,
"COMMERCIAL":1214,
"FAKE":1208,
"PRESS":1448,
"POLICE":1533,
"TEMPLE":1162,
"TOWNHALL":1539,
"AB":844,
"ABINDOOR":690,
"QF":968,
"GDB":964,
"FZ":975,
"OM":1014,
"CA":953,
"MCA":1042,
"MCB":1016,
"MDA":1046,
"MDB":1048,
"MOA":945,
"MOB":985,
"MSA":987,
"MSB":857,
}
def Close():
# Guarda el nъmero de ficheros a leer en el siguiente nivel
UpperMap = string.upper(Scrap.GetNewLevelPath()[7:])
print "Next level: %s" % UpperMap
PROGRESSBAR = ""
if Scrap.Get("IsXbox") == 1 :
PROGRESSBAR = PROGRESSBAR_XBOX
else :
PROGRESSBAR = PROGRESSBAR_PC
if PROGRESSBAR.has_key(UpperMap):
Scrap.Set("ProgressBar", PROGRESSBAR[UpperMap])
else:
Scrap.ConsoleError("ERROR: '%s' progress bar info not found \n" % UpperMap)
Scrap.Set("ProgressBar", Scrap.Def("ProgressBar"))