Files
IL-GSC/IW/PC/ALL/scripts/mp/objidpoolmanager.gsc
2023-10-27 03:49:01 -04:00

303 lines
4.7 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\mp\objidpoolmanager.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 22
* Decompile Time: 835 ms
* Timestamp: 10/27/2023 12:22:35 AM
*******************************************************************/
//Function Number: 1
init()
{
var_00 = spawnstruct();
var_00.var_19 = [];
var_00.reclaimed = [];
var_00.index = 0;
level.objidpool = var_00;
}
//Function Number: 2
requestminimapid(param_00)
{
var_01 = getnext(param_00);
if(var_01 == -1)
{
return -1;
}
var_02 = spawnstruct();
var_02.priority = param_00;
var_02.requesttime = gettime();
var_02.var_C2B5 = var_01;
level.objidpool.var_19[var_01] = var_02;
return var_01;
}
//Function Number: 3
removebest(param_00)
{
var_01 = [];
foreach(var_03 in level.objidpool.var_19)
{
if(var_03.priority <= param_00)
{
var_01[var_01.size] = var_03;
}
}
scripts\common\utility::func_22C3(var_01,::comparepriorityandtime);
return returnminimapid(var_01[0].var_C2B5);
}
//Function Number: 4
comparepriorityandtime(param_00,param_01)
{
if(param_00.priority == param_01.priority)
{
return param_00.requesttime < param_01.requesttime;
}
return param_00.priority < param_01.priority;
}
//Function Number: 5
getnext(param_00)
{
if(!level.objidpool.reclaimed.size)
{
if(level.objidpool.index == 32)
{
return -1;
}
else
{
var_01 = level.objidpool.index;
level.objidpool.index++;
}
}
else
{
var_01 = level.objidpool.reclaimed[level.objidpool.reclaimed.size - 1];
level.objidpool.reclaimed[level.objidpool.reclaimed.size - 1] = undefined;
}
return var_01;
}
//Function Number: 6
returnminimapid(param_00)
{
if(!isdefined(param_00) || param_00 == -1)
{
return 0;
}
for(var_01 = 0;var_01 < level.objidpool.reclaimed.size;var_01++)
{
if(param_00 == level.objidpool.reclaimed[var_01])
{
return 0;
}
}
level.objidpool.var_19[param_00] = undefined;
function_0154(param_00);
level.objidpool.reclaimed[level.objidpool.reclaimed.size] = param_00;
return 1;
}
//Function Number: 7
minimap_objective_add(param_00,param_01,param_02,param_03,param_04)
{
if(param_00 == -1)
{
return;
}
if(isdefined(param_02))
{
if(isdefined(param_03))
{
if(isdefined(param_04))
{
function_014E(param_00,param_01,param_02,param_03,param_04);
return;
}
function_014E(param_00,param_01,param_02,param_03);
return;
}
function_014E(param_00,param_01,param_02);
return;
}
function_014E(param_00,param_01);
}
//Function Number: 8
minimap_objective_state(param_00,param_01)
{
if(param_00 == -1)
{
return;
}
function_0162(param_00,param_01);
}
//Function Number: 9
minimap_objective_position(param_00,param_01)
{
if(param_00 == -1)
{
return;
}
function_015F(param_00,param_01);
}
//Function Number: 10
minimap_objective_icon(param_00,param_01)
{
if(param_00 == -1)
{
return;
}
function_0155(param_00,param_01);
}
//Function Number: 11
minimap_objective_icon_colortype(param_00,param_01)
{
if(param_00 == -1)
{
return;
}
function_0320(param_00,param_01);
}
//Function Number: 12
minimap_objective_icon_backgroundtype(param_00,param_01)
{
if(param_00 == -1)
{
return;
}
function_031F(param_00,param_01);
}
//Function Number: 13
minimap_objective_onentity(param_00,param_01)
{
if(param_00 == -1)
{
return;
}
function_0156(param_00,param_01);
}
//Function Number: 14
minimap_objective_onentitywithrotation(param_00,param_01)
{
if(param_00 == -1)
{
return;
}
function_0157(param_00,param_01);
}
//Function Number: 15
minimap_objective_player(param_00,param_01)
{
if(param_00 == -1)
{
return;
}
function_0158(param_00,param_01);
}
//Function Number: 16
minimap_objective_team(param_00,param_01)
{
if(param_00 == -1)
{
return;
}
function_0166(param_00,param_01);
}
//Function Number: 17
minimap_objective_playermask_hidefromall(param_00)
{
if(param_00 == -1)
{
return;
}
function_015B(param_00);
}
//Function Number: 18
minimap_objective_playermask_hidefrom(param_00,param_01)
{
if(param_00 == -1)
{
return;
}
function_015A(param_00,param_01);
}
//Function Number: 19
minimap_objective_playermask_showto(param_00,param_01)
{
if(param_00 == -1)
{
return;
}
function_015C(param_00,param_01);
}
//Function Number: 20
minimap_objective_playermask_showtoall(param_00)
{
if(param_00 == -1)
{
return;
}
function_015D(param_00);
}
//Function Number: 21
minimap_objective_playerteam(param_00,param_01)
{
if(param_00 == -1)
{
return;
}
function_015E(param_00,param_01);
}
//Function Number: 22
minimap_objective_playerenemyteam(param_00,param_01)
{
if(param_00 == -1)
{
return;
}
function_0159(param_00,param_01);
}