453 lines
16 KiB
Plaintext
Executable File
453 lines
16 KiB
Plaintext
Executable File
--
|
|
-- File:: pipeline/util/GenSettings.ms
|
|
-- Description:: General settings functions
|
|
--
|
|
-----------------------------------------------------------------------------
|
|
|
|
include "pipeline/util/ReadIni.ms"
|
|
|
|
-- utility functions
|
|
|
|
global GtaPossibleDevKits = #()
|
|
|
|
fn FillPossibleIPs = (
|
|
GtaPossibleDevKits = #()
|
|
|
|
possDevKitsFilename = ((getdir #maxroot) + "/plugcfg") + "\\devkits.txt"
|
|
|
|
possDevKitsFile = openfile possDevKitsFilename mode:"r"
|
|
|
|
if possDevKitsFile != undefined then (
|
|
|
|
while eof(possDevKitsFile) == false do (
|
|
possDevKitsLine = readLine possDevKitsFile
|
|
possDevKitsTokens = filterstring possDevKitsLine "."
|
|
|
|
if possDevKitsTokens.count == 4 then (
|
|
append GtaPossibleDevKits possDevKitsLine
|
|
)
|
|
)
|
|
|
|
close possDevKitsFile
|
|
)
|
|
)
|
|
|
|
FillPossibleIPs()
|
|
|
|
fn AddSlashAtEndOfFolderName &foldername = (
|
|
if foldername[foldername.count] != "\\" do (
|
|
append foldername "\\"
|
|
)
|
|
)
|
|
|
|
fn GetProjectName = (
|
|
|
|
--now takes the project name as the name in the title of each setting
|
|
|
|
if gta_configname == "<custom>" then (
|
|
folders = (filterstring gta_project_rootdir "\\" )
|
|
return folders[folders.count]
|
|
)
|
|
|
|
return gta_configname
|
|
)
|
|
|
|
|
|
fn GetRWFilemakerDll = (
|
|
|
|
returnString = "unknown"
|
|
|
|
if (gta_target as string) == "1" do returnString = "rwfmps2_36003.dll"
|
|
if (gta_target as string) == "2" do returnString = "rwfmpc_36003.dll"
|
|
if (gta_target as string) == "3" do returnString = "rwfmxbox_36030.dll"
|
|
|
|
return returnString
|
|
)
|
|
|
|
fn GetPlatformString = (
|
|
|
|
returnString = "unknown"
|
|
|
|
if (gta_target as string) == "1" do returnString = "ps2"
|
|
if (gta_target as string) == "2" do returnString = "pc"
|
|
if (gta_target as string) == "3" do returnString = "xbox"
|
|
|
|
return returnString
|
|
)
|
|
|
|
fn GetListIndexFromActiveIndex activeindex = (
|
|
listindex = 0
|
|
for i = 1 to activeindex do (
|
|
if gta_cnfactive[i] == 1 do (
|
|
listindex = listindex + 1
|
|
)
|
|
)
|
|
|
|
return listindex
|
|
)
|
|
|
|
fn GetActiveIndexFromListIndex listindex = (
|
|
activeIndex = 0
|
|
for i = 1 to listindex do (
|
|
activeIndex = activeIndex + 1
|
|
while gta_cnfactive[activeIndex] == 0 do (
|
|
activeIndex = activeIndex + 1
|
|
)
|
|
)
|
|
|
|
return activeIndex
|
|
)
|
|
|
|
-- the variable list
|
|
|
|
-- configuration information
|
|
-- this is just initial information, the user is able to add, delete and modify the configurations
|
|
-- config 1 is always active as the custom configuration
|
|
|
|
gta_numconfigs = ReadGtaIntegerOveride gta_numconfigs "settings" "NumConfigs" 12
|
|
gta_cnfactive = #(1,1,1,1,1,1,1,1,1)
|
|
gta_platform_labels = #("PS2", "PC", "XBOX")
|
|
gta_cnfcurrent = ReadGtaInteger gta_cnfcurrent "settings" "SetConfig" 1
|
|
gta_configs = #("<custom>", "SA_PS2", "SA_PC", "MIAMI_PS2", "MIAMI_PC","TOKYO_PS2","SA_XBOX","ZED_PC","GTA_PC")
|
|
gta_cnfplatform = #(1,1,2,1,2,1,3,2,2)
|
|
gta_cnftristrip = #(1,1,1,1,1,1,1,1,1)
|
|
gta_cnfpreinstance = #(false,false,false,false,false,false,false,false,false)
|
|
gta_cnfbindir = #("x:\\sa\\gta_bin\\","x:\\sa\\gta_bin\\","x:\\sa\\gta_bin\\","x:\\sa\\gta_bin\\","x:\\sa\\gta_bin\\","x:\\sa\\gta_bin\\","x:\\sa\\gta_bin\\","x:\\tools_release\\gta_bin\\","x:\\tools_release\\gta_bin\\")
|
|
gta_cnfprojbin = #("x:\\sa\\gta_bin\\sa_ps2\\","x:\\sa\\gta_bin\\sa_ps2\\","x:\\sa\\gta_bin\\sa_pc\\","x:\\sa\\gta_bin\\miami_ps2\\","x:\\sa\\gta_bin\\miami_pc\\","x:\\sa\\gta_bin\\Tokyo_ps2\\","x:\\sa\\gta_bin\\sa_xbox\\","x:\\tools_release\\gta_bin\\zed\\","x:\\tools_release\\gta_bin\\gta\\")
|
|
gta_cnfprojroot = #("x:\\sa\\sa_ps2\\","x:\\sa\\sa_ps2\\","x:\\sa\\sa_pc\\","x:\\sa\\miami_ps2\\","x:\\sa\\miami_pc\\","x:\\Tokyo\\TokyoPs2\\","x:\\sa\\sa_xbox\\","x:\\zed\\zed_pc\\","x:\\gta\\gta_pc\\")
|
|
gta_cnfanimdir = #("x:\\sa\\sa art\\anim\\","x:\\sa\\sa art\\anim\\","x:\\sa\\sa art\\anim\\","x:\\sa\\miami art\\anim\\","x:\\sa\\miami art\\anim\\","x:\\Tokyo\\Tokyo_art\\anim\\","x:\\sa\\sa art\\anim\\","x:\\zed\\zed_art\\anim\\","x:\\gta\\gta_art\\anim\\")
|
|
gta_cnftexturedir = #("n:\\texturesps2\\","n:\\texturesps2\\","n:\\texturespc\\","n:\\texturesps2\\","n:\\texturespc\\","n:\\Tokyo_texturesps2\\","n:\\texturesxbox\\","n:\\textureszed\\","n:\\texturesgta\\")
|
|
gta_cnftextureloddir = #("n:\\textureslod\\","n:\\textureslod\\","n:\\textureslod\\","n:\\textureslod\\","n:\\textureslod\\","n:\\Tokyo_textureslod\\","n:\\textureslod\\","n:\\textureszedlod\\","n:\\texturesgtalod\\")
|
|
gta_cnfstreamdir = #("n:\\streamps2\\","n:\\streamps2\\","n:\\streampc\\","n:\\streamps2\\","n:\\streampc\\","n:\\Tokyo_streamps2\\","n:\\streamxbox\\","n:\\streamzed\\","n:\\streamgta\\")
|
|
|
|
-- these are the important gta settings used in various scripts
|
|
|
|
global gta_configname = ReadConfigGtaString "Name" gta_configs[gta_cnfcurrent]
|
|
global gta_bindir = ReadConfigGtaString "Bin" gta_cnfbindir[gta_cnfcurrent]
|
|
global gta_project_bin = ReadConfigGtaString "ProjectBin" gta_cnfprojbin[gta_cnfcurrent]
|
|
global gta_project_rootdir = ReadConfigGtaString "RootDir" gta_cnfprojroot[gta_cnfcurrent]
|
|
global gta_animdir = ReadConfigGtaString "AnimDir" gta_cnfanimdir[gta_cnfcurrent]
|
|
global gta_texturedir = ReadConfigGtaString "TextureDir" gta_cnftexturedir[gta_cnfcurrent]
|
|
global gta_lodtexturedir = ReadConfigGtaString "LodTextureDir" gta_cnftextureloddir[gta_cnfcurrent]
|
|
global gta_streamdir = ReadConfigGtaString "StreamDir" gta_cnfstreamdir[gta_cnfcurrent]
|
|
global gta_target = ReadConfigGtaString "Target" gta_cnfplatform[gta_cnfcurrent]
|
|
global gta_rwfilemaker = "rwfilemaker"
|
|
global gta_export_settings_rolledup = ReadGtaBoolean gta_export_settings_rolledup "settings" "settingsrollup" false
|
|
global gta_tristrip = ReadConfigGtaString "TriStrip" gta_cnftristrip[gta_cnfcurrent]
|
|
global gta_exportlog = ReadGtaBoolean gta_exportlog "settings" "ExportLog" false
|
|
global gta_preinstance = ReadConfigGtaBoolean "Preinstance" gta_cnfpreinstance[gta_cnfcurrent]
|
|
global gta_preinstanceipidx = ReadGtaInteger gta_preinstanceipidx "settings" "PreIP" 1
|
|
global gta_comutil = "\"c:\\program files\\metrowerks\\codewarrior\\bin\\cwcomutil\" -quit -tg ps2t10kt -d "
|
|
|
|
-- the rollout
|
|
|
|
rollout GtaSettingsRoll "GTA Settings"
|
|
(
|
|
-- UI
|
|
|
|
checkbox showexportlog "Show Export Log" checked:gta_exportlog
|
|
dropdownlist iplist "Preinstance IP"
|
|
-- Store Configurations on a project basis
|
|
dropdownlist configlist "Configurations"
|
|
|
|
button buttonAdd "Add" offset:[-30,0]
|
|
button buttonRemove "Remove" offset:[20,-26]
|
|
|
|
edittext confignametext "Config Name:"
|
|
radiobuttons platformradio "Target Platform" labels:gta_platform_labels default:1
|
|
checkbox tristripcheck "Tri Stripping"
|
|
checkbox preinstancecheck "Preinstance" checked:gta_preinstance
|
|
|
|
group "Directories" (
|
|
edittext bintext "Bin Folder:"
|
|
edittext projectbintext "Project Bin:"
|
|
edittext projectroottext "Project Root:"
|
|
edittext texturetext "Texture Dir:"
|
|
edittext lodtexturetext "Lod Dir:"
|
|
edittext projectanimtext "Anim Folder:"
|
|
edittext streamtext "Stream Folder:"
|
|
)
|
|
|
|
-- FUNCTIONS
|
|
|
|
fn fillListBox = (
|
|
local indexCount = 1
|
|
listItems = #()
|
|
|
|
if listItems.count > 0 then (
|
|
|
|
deleteItem listItems listItems.count
|
|
)
|
|
|
|
-- fills the list box with only active configurations
|
|
for i = 1 to gta_numconfigs do (
|
|
if gta_cnfactive[i] == 1 then (
|
|
indexCount = indexCount + 1
|
|
append listItems (ReadGtaStringOverride gta_configs[i] ("Config" + (i as string)) "Name" gta_configs[i])
|
|
)
|
|
)
|
|
|
|
configlist.items = listItems
|
|
)
|
|
|
|
fn fillIpListBox = (
|
|
iplist.items = GtaPossibleDevKits
|
|
)
|
|
|
|
fn updatePlatformRadio value = (
|
|
gta_target = value as string
|
|
)
|
|
fn updateSettings value = (
|
|
|
|
gta_cnfcurrent = value as integer
|
|
WriteGtaVariable gta_cnfcurrent "settings" "SetConfig"
|
|
|
|
-- do any ui changes
|
|
|
|
if gta_cnfcurrent == 1 then (
|
|
buttonRemove.enabled = false
|
|
confignametext.enabled = false
|
|
) else (
|
|
buttonRemove.enabled = true
|
|
confignametext.enabled = true
|
|
)
|
|
|
|
-- update the variables
|
|
|
|
fillListBox()
|
|
|
|
-- change our target variables
|
|
|
|
updatePlatformRadio (ReadConfigGtaInteger "Target" gta_cnfplatform[gta_cnfcurrent])
|
|
gta_bindir = ReadConfigGtaString "Bin" gta_cnfbindir[gta_cnfcurrent]
|
|
gta_project_bin = ReadConfigGtaString "ProjectBin" gta_cnfprojbin[gta_cnfcurrent]
|
|
gta_project_rootdir = ReadConfigGtaString "RootDir" gta_cnfprojroot[gta_cnfcurrent]
|
|
gta_animdir = ReadConfigGtaString "AnimDir" gta_cnfanimdir[gta_cnfcurrent]
|
|
gta_texturedir = ReadConfigGtaString "TextureDir" gta_cnftexturedir[gta_cnfcurrent]
|
|
gta_lodtexturedir = ReadConfigGtaString "LodTextureDir" gta_cnftextureloddir[gta_cnfcurrent]
|
|
gta_streamdir = ReadConfigGtaString "StreamDir" gta_cnfstreamdir[gta_cnfcurrent]
|
|
gta_configname = ReadConfigGtaString "Name" gta_configs[gta_cnfcurrent]
|
|
|
|
--lets just always make this 0 for now
|
|
|
|
gta_tristrip = ReadConfigGtaString "TriStrip" gta_cnftristrip[gta_cnfcurrent]
|
|
|
|
--update the gui
|
|
|
|
platformradio.state = (gta_target as integer)
|
|
confignametext.text = gta_configname
|
|
bintext.text = gta_bindir
|
|
projectbintext.text = gta_project_bin
|
|
projectroottext.text = gta_project_rootdir
|
|
texturetext.text = gta_texturedir
|
|
lodtexturetext.text = gta_lodtexturedir
|
|
projectanimtext.text = gta_animdir
|
|
streamtext.text = gta_streamdir
|
|
|
|
if (gta_tristrip as string) == "1" then (
|
|
tristripcheck.checked = on
|
|
) else (
|
|
tristripcheck.checked = off
|
|
)
|
|
)
|
|
|
|
-- EVENTS
|
|
|
|
on buttonAdd pressed do (
|
|
--try and find a non active configuration
|
|
for i = 1 to gta_numconfigs do (
|
|
if gta_cnfactive[i] == 0 then (
|
|
gta_cnfactive[i] = 1
|
|
gta_configs[i] = "New Config"
|
|
updateSettings i
|
|
WriteConfigGtaVariable gta_cnfactive[i] "active"
|
|
configlist.selection = (GetListIndexFromActiveIndex i)
|
|
|
|
platformradio.state = 1
|
|
bintext.text = "\\"
|
|
projectbintext.text = "\\"
|
|
projectroottext.text = "\\"
|
|
texturetext.text = "\\"
|
|
lodtexturetext.text = "\\"
|
|
projectanimtext.text = "\\"
|
|
|
|
updatePlatformRadio (platformradio.state)
|
|
|
|
tristripcheck.checked = true
|
|
|
|
gta_bindir = bintext.text
|
|
gta_project_bin = projectbintext.text
|
|
gta_project_rootdir = projectroottext.text
|
|
gta_animdir = texturetext.text
|
|
gta_texturedir = lodtexturetext.text
|
|
gta_lodtexturedir = projectanimtext.text
|
|
gta_streamdir = streamtext.text
|
|
|
|
WriteConfigGtaVariable gta_target "Target"
|
|
-- WriteConfigGtaVariable gta_rwfilemaker "RwFilemaker"
|
|
WriteConfigGtaVariable gta_configs[gta_cnfcurrent] "Name"
|
|
WriteConfigGtaVariable gta_bindir "Bin"
|
|
WriteConfigGtaVariable gta_project_bin "ProjectBin"
|
|
WriteConfigGtaVariable gta_project_rootdir "RootDir"
|
|
WriteConfigGtaVariable gta_animdir "AnimDir"
|
|
WriteConfigGtaVariable gta_texturedir "TextureDir"
|
|
WriteConfigGtaVariable gta_lodtexturedir "LodTextureDir"
|
|
WriteConfigGtaVariable gta_tristrip "TriStrip"
|
|
WriteConfigGtaVariable gta_streamdir "StreamDir"
|
|
WriteConfigGtaVariable gta_preinstance "Preinstance"
|
|
|
|
gta_cnftextureloddir[gta_cnfcurrent] = gta_lodtexturedir
|
|
WriteConfigGtaVariable gta_lodtexturedir "LodTextureDir"
|
|
|
|
return 1
|
|
)
|
|
)
|
|
|
|
-- if we get here then we need to add to the total number of configurations allowed
|
|
gta_numconfigs = gta_numconfigs + 1
|
|
WriteGtaVariable gta_numconfigs "settings" "NumConfigs"
|
|
|
|
append gta_cnftristrip "1"
|
|
append gta_cnfplatform 1
|
|
append gta_cnfactive 1
|
|
append gta_configs ""
|
|
append gta_cnfbindir ""
|
|
append gta_cnfprojbin ""
|
|
append gta_cnfprojroot ""
|
|
append gta_cnfanimdir ""
|
|
append gta_cnftexturedir ""
|
|
append gta_cnftextureloddir ""
|
|
append gta_cnfstreamdir ""
|
|
)
|
|
on buttonRemove pressed do (
|
|
|
|
if gta_cnfcurrent == 1 then (
|
|
print "cant delete configuration 1"
|
|
return 0
|
|
)
|
|
|
|
gta_cnfactive[gta_cnfcurrent] = 0
|
|
WriteConfigGtaVariable gta_cnfactive[gta_cnfcurrent] "active"
|
|
|
|
configlist.selection = 1
|
|
updateSettings 1
|
|
)
|
|
on GtaSettingsRoll open do (
|
|
gta_numconfigs = ReadGtaIntegerOveride gta_numconfigs "settings" "NumConfigs" 10
|
|
|
|
for i = 5 to gta_numconfigs do (
|
|
append gta_cnftristrip "1"
|
|
append gta_cnfplatform 1
|
|
append gta_cnfactive 0
|
|
append gta_configs ""
|
|
append gta_cnfbindir ""
|
|
append gta_cnfprojbin ""
|
|
append gta_cnfprojroot ""
|
|
append gta_cnfanimdir ""
|
|
append gta_cnftexturedir ""
|
|
append gta_cnftextureloddir ""
|
|
append gta_cnfstreamdir ""
|
|
)
|
|
|
|
for i = 1 to gta_numconfigs do (
|
|
-- add items to the array up to the number of configs we are meant to have
|
|
-- load in the active information for each configuration
|
|
gta_cnfcurrent = i
|
|
gta_cnfactive[gta_cnfcurrent] = ReadConfigGtaInteger "active" gta_cnfactive[gta_cnfcurrent]
|
|
)
|
|
|
|
gta_cnfcurrent = ReadGtaIntegerOveride gta_cnfcurrent "settings" "SetConfig" 1
|
|
configlist.selection = gta_cnfcurrent
|
|
iplist.selection = gta_preinstanceipidx
|
|
updateSettings gta_cnfcurrent
|
|
|
|
fillIpListBox()
|
|
)
|
|
on GtaSettingsRoll close do (
|
|
gta_export_settings_rolledup = not GtaSettingsRoll.open
|
|
WriteGtaVariable gta_export_settings_rolledup "settings" "settingsrollup"
|
|
)
|
|
on configlist selected value do (
|
|
updateSettings (GetActiveIndexFromListIndex value)
|
|
)
|
|
on iplist selected value do (
|
|
gta_preinstanceipidx = value
|
|
WriteGtaVariable gta_preinstanceipidx "settings" "PreIP"
|
|
)
|
|
on showexportlog changed state do (
|
|
gta_exportlog = showexportlog.checked
|
|
WriteGtaVariable gta_exportlog "settings" "ExportLog"
|
|
)
|
|
|
|
on preinstancecheck changed state do (
|
|
gta_preinstance = preinstancecheck.checked
|
|
WriteConfigGtaVariable gta_preinstance "Preinstance"
|
|
)
|
|
|
|
on tristripcheck changed state do (
|
|
|
|
if state == on then (
|
|
gta_tristrip = "1"
|
|
) else (
|
|
gta_tristrip = "0"
|
|
)
|
|
|
|
gta_cnftristrip[gta_cnfcurrent] = gta_tristrip
|
|
WriteConfigGtaVariable gta_tristrip "TriStrip"
|
|
)
|
|
on platformradio changed value do (
|
|
updatePlatformRadio value
|
|
gta_cnfplatform[gta_cnfcurrent] = value
|
|
WriteConfigGtaVariable gta_target "Target"
|
|
-- WriteConfigGtaVariable gta_rwfilemaker "RwFilemaker"
|
|
)
|
|
on confignametext changed text do(
|
|
gta_configname = text
|
|
gta_configs[gta_cnfcurrent] = text
|
|
WriteConfigGtaVariable gta_configname "Name"
|
|
fillListBox()
|
|
configlist.selection = (GetListIndexFromActiveIndex gta_cnfcurrent)
|
|
)
|
|
on streamtext changed text do (
|
|
gta_streamdir = text
|
|
AddSlashAtEndOfFolderName gta_streamdir
|
|
gta_cnfstreamdir[gta_cnfcurrent] = gta_streamdir
|
|
WriteConfigGtaVariable gta_streamdir "StreamDir"
|
|
)
|
|
on bintext changed text do (
|
|
gta_bindir = text
|
|
AddSlashAtEndOfFolderName gta_bindir
|
|
gta_cnfbindir[gta_cnfcurrent] = gta_bindir
|
|
WriteConfigGtaVariable gta_bindir "Bin"
|
|
)
|
|
on projectbintext changed text do (
|
|
gta_project_bin = text
|
|
AddSlashAtEndOfFolderName gta_project_bin
|
|
gta_cnfprojbin[gta_cnfcurrent] = gta_project_bin
|
|
WriteConfigGtaVariable gta_project_bin "ProjectBin"
|
|
)
|
|
on projectroottext changed text do (
|
|
gta_project_rootdir = text
|
|
AddSlashAtEndOfFolderName gta_project_rootdir
|
|
gta_cnfprojroot[gta_cnfcurrent] = gta_project_rootdir
|
|
WriteConfigGtaVariable gta_project_rootdir "RootDir"
|
|
)
|
|
on projectanimtext changed text do (
|
|
gta_animdir = text
|
|
AddSlashAtEndOfFolderName gta_animdir
|
|
gta_cnfanimdir[gta_cnfcurrent] = gta_animdir
|
|
WriteConfigGtaVariable gta_animdir "AnimDir"
|
|
)
|
|
on texturetext changed text do (
|
|
gta_texturedir = text
|
|
AddSlashAtEndOfFolderName gta_texturedir
|
|
gta_cnftexturedir[gta_cnfcurrent] = gta_texturedir
|
|
WriteConfigGtaVariable gta_texturedir "TextureDir"
|
|
)
|
|
on lodtexturetext changed text do (
|
|
gta_lodtexturedir = text
|
|
AddSlashAtEndOfFolderName gta_lodtexturedir
|
|
gta_cnftextureloddir[gta_cnfcurrent] = gta_lodtexturedir
|
|
WriteConfigGtaVariable gta_lodtexturedir "LodTextureDir"
|
|
)
|
|
)
|