Files
iw4_bot_warfare/scripts/mp/bots_adapter_codxe.gsc
Michael Oliver e7f1a90440 fix: add file handling functions for bot built-ins
Loading all waypoint data at once crashes on real hardware on various maps, narrowed it down to those maps with bigger waypoint files. Using a streamed file reader seems to work better but there might be a "better" fix to look at in the future.
2026-06-13 23:38:30 +01:00

86 lines
1.6 KiB
Plaintext

init()
{
level.bot_builtins[ "printconsole" ] = ::do_printconsole;
level.bot_builtins[ "filewrite" ] = ::do_filewrite;
level.bot_builtins[ "fileread" ] = ::do_fileread;
level.bot_builtins[ "fileexists" ] = ::do_fileexists;
level.bot_builtins[ "openfile" ] = ::do_openfile;
level.bot_builtins[ "readstream" ] = ::do_readstream;
level.bot_builtins[ "closefile" ] = ::do_closefile;
level.bot_builtins[ "botaction" ] = ::do_botaction;
level.bot_builtins[ "botstop" ] = ::do_botstop;
level.bot_builtins[ "botmovement" ] = ::do_botmovement;
level.bot_builtins[ "botmeleeparams" ] = ::do_botmeleeparams;
level.bot_builtins[ "botremoteangles" ] = ::do_botremoteangles;
level.bot_builtins[ "botangles" ] = ::do_botangles;
}
do_printconsole( s )
{
printconsole( s + "\n" );
}
do_filewrite( file, contents, mode )
{
file = "scriptdata/" + file;
filewrite( file, contents, mode );
}
do_fileread( file )
{
file = "scriptdata/" + file;
return fileread( file );
}
do_fileexists( file )
{
file = "scriptdata/" + file;
return fileexists( file );
}
do_openfile( file, mode )
{
file = "scriptdata/" + file;
return openfile( file, mode );
}
do_readstream()
{
return readstream();
}
do_closefile()
{
return closefile();
}
do_botaction( action )
{
self botaction( action );
}
do_botstop()
{
self botstop();
}
do_botmovement( forward, right )
{
self botmovement( forward, right );
}
do_botmeleeparams( yaw, dist )
{
self botmeleeparams( yaw, dist );
}
do_botremoteangles( pitch, yaw )
{
self botremoteangles( pitch, yaw );
}
do_botangles( angles )
{
self botangles( angles[ 0 ], angles[ 1 ], angles[ 2 ] );
}