mirror of
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer.git
synced 2025-06-27 11:07:51 -05:00
uploading 119 patch_mp scripts and 23 patch_zm scripts as a baseline
This commit is contained in:
342
patch_zm/maps/mp/_script_gen.gsc
Normal file
342
patch_zm/maps/mp/_script_gen.gsc
Normal file
@ -0,0 +1,342 @@
|
||||
#include maps/mp/_script_gen;
|
||||
#include maps/mp/_utility;
|
||||
#include common_scripts/utility;
|
||||
|
||||
script_gen_dump_checksaved()
|
||||
{
|
||||
signatures = getarraykeys( level.script_gen_dump );
|
||||
i = 0;
|
||||
while ( i < signatures.size )
|
||||
{
|
||||
if ( !isDefined( level.script_gen_dump2[ signatures[ i ] ] ) )
|
||||
{
|
||||
level.script_gen_dump_reasons[ level.script_gen_dump_reasons.size ] = "Signature unmatched( removed feature ): " + signatures[ i ];
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
script_gen_dump()
|
||||
{
|
||||
/#
|
||||
script_gen_dump_checksaved();
|
||||
if ( !level.script_gen_dump_reasons.size )
|
||||
{
|
||||
flag_set( "scriptgen_done" );
|
||||
return;
|
||||
}
|
||||
firstrun = 0;
|
||||
if ( level.bscriptgened )
|
||||
{
|
||||
println( " " );
|
||||
println( " " );
|
||||
println( " " );
|
||||
println( "^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- " );
|
||||
println( "^3Dumping scriptgen dump for these reasons" );
|
||||
println( "^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- " );
|
||||
i = 0;
|
||||
while ( i < level.script_gen_dump_reasons.size )
|
||||
{
|
||||
if ( issubstr( level.script_gen_dump_reasons[ i ], "nowrite" ) )
|
||||
{
|
||||
substr = getsubstr( level.script_gen_dump_reasons[ i ], 15 );
|
||||
println( ( i + ". ) " ) + substr );
|
||||
}
|
||||
else
|
||||
{
|
||||
println( ( i + ". ) " ) + level.script_gen_dump_reasons[ i ] );
|
||||
}
|
||||
if ( level.script_gen_dump_reasons[ i ] == "First run" )
|
||||
{
|
||||
firstrun = 1;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
println( "^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- " );
|
||||
println( " " );
|
||||
if ( firstrun )
|
||||
{
|
||||
println( "for First Run make sure you delete all of the vehicle precache script calls, createart calls, createfx calls( most commonly placed in maps\\" + level.script + "_fx.gsc ) " );
|
||||
println( " " );
|
||||
println( "replace:" );
|
||||
println( "maps\\_load::main( 1 );" );
|
||||
println( " " );
|
||||
println( "with( don't forget to add this file to P4 ):" );
|
||||
println( "maps\\scriptgen\\" + level.script + "_scriptgen::main();" );
|
||||
println( " " );
|
||||
}
|
||||
println( "^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- " );
|
||||
println( " " );
|
||||
println( "^2 / \\ / \\ / \\" );
|
||||
println( "^2scroll up" );
|
||||
println( "^2 / \\ / \\ / \\" );
|
||||
println( " " );
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
filename = "scriptgen/" + level.script + "_scriptgen.gsc";
|
||||
csvfilename = "zone_source/" + level.script + ".csv";
|
||||
if ( level.bscriptgened )
|
||||
{
|
||||
file = openfile( filename, "write" );
|
||||
}
|
||||
else
|
||||
{
|
||||
file = 0;
|
||||
}
|
||||
assert( file != -1, "File not writeable( check it and and restart the map ): " + filename );
|
||||
script_gen_dumpprintln( file, "// script generated script do not write your own script here it will go away if you do." );
|
||||
script_gen_dumpprintln( file, "main()" );
|
||||
script_gen_dumpprintln( file, "{" );
|
||||
script_gen_dumpprintln( file, "" );
|
||||
script_gen_dumpprintln( file, "\tlevel.script_gen_dump = [];" );
|
||||
script_gen_dumpprintln( file, "" );
|
||||
signatures = getarraykeys( level.script_gen_dump );
|
||||
i = 0;
|
||||
while ( i < signatures.size )
|
||||
{
|
||||
if ( !issubstr( level.script_gen_dump[ signatures[ i ] ], "nowrite" ) )
|
||||
{
|
||||
script_gen_dumpprintln( file, "\t" + level.script_gen_dump[ signatures[ i ] ] );
|
||||
}
|
||||
i++;
|
||||
}
|
||||
i = 0;
|
||||
while ( i < signatures.size )
|
||||
{
|
||||
if ( !issubstr( level.script_gen_dump[ signatures[ i ] ], "nowrite" ) )
|
||||
{
|
||||
script_gen_dumpprintln( file, "\tlevel.script_gen_dump[ " + """ + signatures[ i ] + """ + " ] = " + """ + signatures[ i ] + """ + ";" );
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
script_gen_dumpprintln( file, "\tlevel.script_gen_dump[ " + """ + signatures[ i ] + """ + " ] = " + ""nowrite"" + ";" );
|
||||
}
|
||||
i++;
|
||||
}
|
||||
script_gen_dumpprintln( file, "" );
|
||||
keys1 = undefined;
|
||||
keys2 = undefined;
|
||||
if ( isDefined( level.sg_precacheanims ) )
|
||||
{
|
||||
keys1 = getarraykeys( level.sg_precacheanims );
|
||||
}
|
||||
while ( isDefined( keys1 ) )
|
||||
{
|
||||
i = 0;
|
||||
while ( i < keys1.size )
|
||||
{
|
||||
script_gen_dumpprintln( file, "\tanim_precach_" + keys1[ i ] + "();" );
|
||||
i++;
|
||||
}
|
||||
}
|
||||
script_gen_dumpprintln( file, "\tmaps\\_load::main( 1, " + level.bcsvgened + ", 1 );" );
|
||||
script_gen_dumpprintln( file, "}" );
|
||||
script_gen_dumpprintln( file, "" );
|
||||
if ( isDefined( level.sg_precacheanims ) )
|
||||
{
|
||||
keys1 = getarraykeys( level.sg_precacheanims );
|
||||
}
|
||||
while ( isDefined( keys1 ) )
|
||||
{
|
||||
i = 0;
|
||||
while ( i < keys1.size )
|
||||
{
|
||||
script_gen_dumpprintln( file, "#using_animtree( "" + keys1[ i ] + "" );" );
|
||||
script_gen_dumpprintln( file, "anim_precach_" + keys1[ i ] + "()" );
|
||||
script_gen_dumpprintln( file, "{" );
|
||||
script_gen_dumpprintln( file, "\tlevel.sg_animtree[ "" + keys1[ i ] + "" ] = #animtree;" );
|
||||
keys2 = getarraykeys( level.sg_precacheanims[ keys1[ i ] ] );
|
||||
while ( isDefined( keys2 ) )
|
||||
{
|
||||
j = 0;
|
||||
while ( j < keys2.size )
|
||||
{
|
||||
script_gen_dumpprintln( file, "\tlevel.sg_anim[ "" + keys2[ j ] + "" ] = %" + keys2[ j ] + ";" );
|
||||
j++;
|
||||
}
|
||||
}
|
||||
script_gen_dumpprintln( file, "}" );
|
||||
script_gen_dumpprintln( file, "" );
|
||||
i++;
|
||||
}
|
||||
}
|
||||
if ( level.bscriptgened )
|
||||
{
|
||||
saved = closefile( file );
|
||||
}
|
||||
else
|
||||
{
|
||||
saved = 1;
|
||||
}
|
||||
if ( level.bcsvgened )
|
||||
{
|
||||
csvfile = openfile( csvfilename, "write" );
|
||||
}
|
||||
else
|
||||
{
|
||||
csvfile = 0;
|
||||
}
|
||||
assert( csvfile != -1, "File not writeable( check it and and restart the map ): " + csvfilename );
|
||||
signatures = getarraykeys( level.script_gen_dump );
|
||||
i = 0;
|
||||
while ( i < signatures.size )
|
||||
{
|
||||
script_gen_csvdumpprintln( csvfile, signatures[ i ] );
|
||||
i++;
|
||||
}
|
||||
if ( level.bcsvgened )
|
||||
{
|
||||
csvfilesaved = closefile( csvfile );
|
||||
}
|
||||
else
|
||||
{
|
||||
csvfilesaved = 1;
|
||||
}
|
||||
assert( csvfilesaved == 1, "csv not saved( see above message? ): " + csvfilename );
|
||||
assert( saved == 1, "map not saved( see above message? ): " + filename );
|
||||
#/
|
||||
/#
|
||||
assert( !level.bscriptgened, "SCRIPTGEN generated: follow instructions listed above this error in the console" );
|
||||
#/
|
||||
if ( level.bscriptgened )
|
||||
{
|
||||
/#
|
||||
assertmsg( "SCRIPTGEN updated: Rebuild fast file and run map again" );
|
||||
#/
|
||||
}
|
||||
flag_set( "scriptgen_done" );
|
||||
}
|
||||
|
||||
script_gen_csvdumpprintln( file, signature )
|
||||
{
|
||||
prefix = undefined;
|
||||
writtenprefix = undefined;
|
||||
path = "";
|
||||
extension = "";
|
||||
if ( issubstr( signature, "ignore" ) )
|
||||
{
|
||||
prefix = "ignore";
|
||||
}
|
||||
else if ( issubstr( signature, "col_map_sp" ) )
|
||||
{
|
||||
prefix = "col_map_sp";
|
||||
}
|
||||
else if ( issubstr( signature, "gfx_map" ) )
|
||||
{
|
||||
prefix = "gfx_map";
|
||||
}
|
||||
else if ( issubstr( signature, "rawfile" ) )
|
||||
{
|
||||
prefix = "rawfile";
|
||||
}
|
||||
else if ( issubstr( signature, "sound" ) )
|
||||
{
|
||||
prefix = "sound";
|
||||
}
|
||||
else if ( issubstr( signature, "xmodel" ) )
|
||||
{
|
||||
prefix = "xmodel";
|
||||
}
|
||||
else if ( issubstr( signature, "xanim" ) )
|
||||
{
|
||||
prefix = "xanim";
|
||||
}
|
||||
else if ( issubstr( signature, "item" ) )
|
||||
{
|
||||
prefix = "item";
|
||||
writtenprefix = "weapon";
|
||||
path = "sp/";
|
||||
}
|
||||
else if ( issubstr( signature, "fx" ) )
|
||||
{
|
||||
prefix = "fx";
|
||||
}
|
||||
else if ( issubstr( signature, "menu" ) )
|
||||
{
|
||||
prefix = "menu";
|
||||
writtenprefix = "menufile";
|
||||
path = "ui / scriptmenus/";
|
||||
extension = ".menu";
|
||||
}
|
||||
else if ( issubstr( signature, "rumble" ) )
|
||||
{
|
||||
prefix = "rumble";
|
||||
writtenprefix = "rawfile";
|
||||
path = "rumble/";
|
||||
}
|
||||
else if ( issubstr( signature, "shader" ) )
|
||||
{
|
||||
prefix = "shader";
|
||||
writtenprefix = "material";
|
||||
}
|
||||
else if ( issubstr( signature, "shock" ) )
|
||||
{
|
||||
prefix = "shock";
|
||||
writtenprefix = "rawfile";
|
||||
extension = ".shock";
|
||||
path = "shock/";
|
||||
}
|
||||
else if ( issubstr( signature, "string" ) )
|
||||
{
|
||||
prefix = "string";
|
||||
/#
|
||||
assertmsg( "string not yet supported by scriptgen" );
|
||||
#/
|
||||
}
|
||||
else if ( issubstr( signature, "turret" ) )
|
||||
{
|
||||
prefix = "turret";
|
||||
writtenprefix = "weapon";
|
||||
path = "sp/";
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( issubstr( signature, "vehicle" ) )
|
||||
{
|
||||
prefix = "vehicle";
|
||||
writtenprefix = "rawfile";
|
||||
path = "vehicles/";
|
||||
}
|
||||
}
|
||||
if ( !isDefined( prefix ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
if ( !isDefined( writtenprefix ) )
|
||||
{
|
||||
string = ( prefix + ", " ) + getsubstr( signature, prefix.size + 1, signature.size );
|
||||
}
|
||||
else
|
||||
{
|
||||
string = ( writtenprefix + ", " ) + path + getsubstr( signature, prefix.size + 1, signature.size ) + extension;
|
||||
}
|
||||
/#
|
||||
if ( file == -1 || !level.bcsvgened )
|
||||
{
|
||||
println( string );
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintln( file, string );
|
||||
#/
|
||||
}
|
||||
}
|
||||
|
||||
script_gen_dumpprintln( file, string )
|
||||
{
|
||||
/#
|
||||
if ( file == -1 || !level.bscriptgened )
|
||||
{
|
||||
println( string );
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintln( file, string );
|
||||
#/
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user