Installed JDK 21 + Ghidra 12.1.2 (no admin, %LOCALAPPDATA%\bt411-tools beside DXSDK/cmake; runner uses 8.3 SHORT paths because Ghidra's .bat expands %JAVA_HOME% unquoted and the profile has a space). New tooling: reference/ghidra_scripts/ExportGaps.java -- ExportAll's exact output contract PLUS a gap-fill pass (force disassembly + createFunction at E8 call targets outside functions, data->code pointers at a plausible prologue, and the census's discovered starts; iterated to a fixpoint, logged to gapfill_report.tsv). tools/ghidra_reexport.sh (headless runner, 'reprocess' mode) and tools/gapdiff.py (score two censused exports); gapcensus.py now censuses any export dir. Results: 6267 -> 6472 functions (+205 created in 2 rounds: 195 census starts, 6 call targets, 4 data pointers; 56.1KB newly covered), ZERO decompile failures. Dark real code 90.4 -> 40.8 KB (54.8% recovered); game-side dark 53.1 -> 21.1 KB; regions 428 -> 321. EVERY historically dark function now has pseudocode -- including @0x4c05c4 VehicleDead, the absence that opened this issue. VALIDATION: the new pseudocode confirms this week's hand reconstruction of the crouch field-for-field (mapPosture/duckState/squatCapable/myomerEff/ novice gate/SetLegAnimation/ForceUpdate/stability alarm) -- and exposed one branch the raw pass missed: AIRBORNE AUTO-RISE (mode 3|4 && legState 1 -> forced squ), now implemented in mech4.cpp and re-benched un-regressed. PROMOTION: the re-export is canonical reference/decomp/; the previous export is preserved at reference/decomp/archive_2025export/ so old `part_0NN.c:LINE` citations still resolve (addresses are stable across both; line/shard membership is NOT -- cite @ADDR). New lead recorded: @0x4c0904 is the MASTER BTPlayer Performance (team resolution, EndMission console post, score heartbeat) -- our @0x4c083c PlayerSimulation attribution needs a re-check. KB: source-completeness, gotcha #20 (the rule is cheap now -- look it up), CLAUDE.md router/layout. Log: phases/phase-04-gap-census.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
12561 lines
329 KiB
C
12561 lines
329 KiB
C
/* @004c14b0 file=? name=FUN_004c14b0 */
|
|
|
|
void __cdecl FUN_004c14b0(int param_1)
|
|
|
|
{
|
|
FUN_0041a1a4(**(int **)(param_1 + 0xc),0x513414);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c1548 file=? name=FUN_004c1548 */
|
|
|
|
undefined4 * __cdecl FUN_004c1548(undefined4 *param_1)
|
|
|
|
{
|
|
FUN_00433220(param_1);
|
|
*param_1 = &PTR_FUN_00513588;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c1564 file=? name=FUN_004c1564 */
|
|
|
|
void __cdecl FUN_004c1564(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00513588;
|
|
FUN_0043324c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c1590 file=? name=FUN_004c1590 */
|
|
|
|
undefined * __cdecl FUN_004c1590(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
undefined *puVar1;
|
|
|
|
if (param_2 < 0xbd2) {
|
|
if (param_2 == 0xbd1) {
|
|
return &DAT_005129b0;
|
|
}
|
|
if (param_2 == 0xbb9) {
|
|
return &DAT_0050bde4;
|
|
}
|
|
if (param_2 == 0xbba) {
|
|
return &DAT_00512d48;
|
|
}
|
|
}
|
|
else {
|
|
if (param_2 == 0xbd9) {
|
|
return &DAT_00513380;
|
|
}
|
|
if (param_2 == 0xbda) {
|
|
return &DAT_00512fc4;
|
|
}
|
|
}
|
|
puVar1 = FUN_004332fc(param_1,param_2);
|
|
return puVar1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c15f0 file=? name=FUN_004c15f0 */
|
|
|
|
undefined4 * __cdecl FUN_004c15f0(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
int *piVar2;
|
|
char cVar3;
|
|
undefined4 uVar4;
|
|
char *pcVar5;
|
|
undefined4 *puVar6;
|
|
uint uVar7;
|
|
uint uVar8;
|
|
char *pcVar9;
|
|
bool bVar10;
|
|
undefined4 local_12c;
|
|
undefined4 local_128;
|
|
undefined4 local_124;
|
|
undefined4 local_120 [2];
|
|
undefined4 local_118;
|
|
undefined4 local_114;
|
|
undefined4 local_110;
|
|
undefined4 local_10c [2];
|
|
undefined4 local_104;
|
|
undefined4 local_100;
|
|
undefined4 local_fc;
|
|
undefined4 local_f8;
|
|
undefined4 local_f4;
|
|
undefined4 local_f0;
|
|
undefined4 local_ec;
|
|
undefined4 local_e8;
|
|
undefined4 local_e4;
|
|
undefined4 local_e0;
|
|
undefined4 local_dc;
|
|
undefined4 local_d8;
|
|
undefined4 local_d4;
|
|
undefined4 local_d0 [2];
|
|
undefined4 local_c8;
|
|
undefined4 local_c4;
|
|
undefined4 local_c0;
|
|
undefined4 local_bc [2];
|
|
undefined4 local_b4;
|
|
undefined4 local_b0;
|
|
undefined4 local_ac;
|
|
undefined4 local_a8;
|
|
undefined4 local_a4;
|
|
undefined4 local_a0;
|
|
undefined4 local_9c;
|
|
undefined4 local_98;
|
|
undefined4 local_94;
|
|
undefined4 local_90;
|
|
char local_8c [64];
|
|
char local_4c [64];
|
|
int *local_c;
|
|
int *local_8;
|
|
|
|
pcVar9 = s_camera_00513549;
|
|
pcVar5 = *(char **)(param_2 + 0x2c);
|
|
do {
|
|
bVar10 = *pcVar5 == *pcVar9;
|
|
if (!bVar10) break;
|
|
if (*pcVar5 == '\0') goto LAB_004c17c9;
|
|
pcVar1 = pcVar5 + 1;
|
|
bVar10 = *pcVar1 == pcVar9[1];
|
|
if (!bVar10) break;
|
|
pcVar5 = pcVar5 + 2;
|
|
pcVar9 = pcVar9 + 2;
|
|
bVar10 = *pcVar1 == '\0';
|
|
} while (!bVar10);
|
|
if (bVar10) {
|
|
LAB_004c17c9:
|
|
uVar4 = *(undefined4 *)(param_2 + 0x4c);
|
|
local_12c = 0x50;
|
|
local_128 = 3;
|
|
local_124 = 1;
|
|
FUN_00420ea4(local_120,(undefined4 *)&DAT_00522524);
|
|
local_118 = 0;
|
|
local_114 = 0;
|
|
local_110 = 0x46;
|
|
FUN_00420ea4(local_10c,(undefined4 *)&DAT_00522524);
|
|
local_104 = 0xffffffff;
|
|
local_100 = 0x9100;
|
|
local_fc = DAT_004e0fec;
|
|
local_f8 = DAT_004e0ff0;
|
|
local_f4 = DAT_004e0ff4;
|
|
local_f0 = DAT_004e0ff8;
|
|
local_ec = DAT_004e0ffc;
|
|
local_e8 = DAT_004e1000;
|
|
local_e4 = DAT_004e1004;
|
|
local_e0 = uVar4;
|
|
puVar6 = (undefined4 *)FUN_00402298(0x238);
|
|
if (puVar6 == (undefined4 *)0x0) {
|
|
puVar6 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar6 = FUN_004c1408(puVar6,(int)&local_12c,&DAT_00513444);
|
|
}
|
|
}
|
|
else {
|
|
local_8 = *(int **)(param_2 + 0xec);
|
|
local_8[3] = local_8[3] + 1;
|
|
local_c = *(int **)(param_2 + 0xe8);
|
|
local_c[3] = local_c[3] + 1;
|
|
uVar4 = *(undefined4 *)(param_2 + 0x4c);
|
|
local_dc = 0xd0;
|
|
local_d8 = 3;
|
|
local_d4 = 1;
|
|
FUN_00420ea4(local_d0,(undefined4 *)&DAT_00522524);
|
|
local_c8 = 0;
|
|
local_c4 = 0;
|
|
local_c0 = 0xbda;
|
|
FUN_00420ea4(local_bc,(undefined4 *)&DAT_00522524);
|
|
local_b4 = 0xffffffff;
|
|
local_b0 = 0x5100;
|
|
local_ac = DAT_004e0fec;
|
|
local_a8 = DAT_004e0ff0;
|
|
local_a4 = DAT_004e0ff4;
|
|
local_a0 = DAT_004e0ff8;
|
|
local_9c = DAT_004e0ffc;
|
|
local_98 = DAT_004e1000;
|
|
local_94 = DAT_004e1004;
|
|
uVar7 = 0xffffffff;
|
|
pcVar5 = (char *)local_8[2];
|
|
do {
|
|
pcVar9 = pcVar5;
|
|
if (uVar7 == 0) break;
|
|
uVar7 = uVar7 - 1;
|
|
pcVar9 = pcVar5 + 1;
|
|
cVar3 = *pcVar5;
|
|
pcVar5 = pcVar9;
|
|
} while (cVar3 != '\0');
|
|
uVar7 = ~uVar7;
|
|
pcVar5 = pcVar9 + -uVar7;
|
|
pcVar9 = local_8c;
|
|
for (uVar8 = uVar7 >> 2; uVar8 != 0; uVar8 = uVar8 - 1) {
|
|
*(undefined4 *)pcVar9 = *(undefined4 *)pcVar5;
|
|
pcVar5 = pcVar5 + 4;
|
|
pcVar9 = pcVar9 + 4;
|
|
}
|
|
for (uVar7 = uVar7 & 3; uVar7 != 0; uVar7 = uVar7 - 1) {
|
|
*pcVar9 = *pcVar5;
|
|
pcVar5 = pcVar5 + 1;
|
|
pcVar9 = pcVar9 + 1;
|
|
}
|
|
uVar7 = 0xffffffff;
|
|
pcVar5 = (char *)local_c[2];
|
|
do {
|
|
pcVar9 = pcVar5;
|
|
if (uVar7 == 0) break;
|
|
uVar7 = uVar7 - 1;
|
|
pcVar9 = pcVar5 + 1;
|
|
cVar3 = *pcVar5;
|
|
pcVar5 = pcVar9;
|
|
} while (cVar3 != '\0');
|
|
uVar7 = ~uVar7;
|
|
pcVar5 = pcVar9 + -uVar7;
|
|
pcVar9 = local_4c;
|
|
for (uVar8 = uVar7 >> 2; uVar8 != 0; uVar8 = uVar8 - 1) {
|
|
*(undefined4 *)pcVar9 = *(undefined4 *)pcVar5;
|
|
pcVar5 = pcVar5 + 4;
|
|
pcVar9 = pcVar9 + 4;
|
|
}
|
|
for (uVar7 = uVar7 & 3; uVar7 != 0; uVar7 = uVar7 - 1) {
|
|
*pcVar9 = *pcVar5;
|
|
pcVar5 = pcVar5 + 1;
|
|
pcVar9 = pcVar9 + 1;
|
|
}
|
|
piVar2 = local_c + 3;
|
|
*piVar2 = *piVar2 + -1;
|
|
local_90 = uVar4;
|
|
if (*piVar2 == 0) {
|
|
FUN_004024d8(local_c,3);
|
|
}
|
|
piVar2 = local_8 + 3;
|
|
*piVar2 = *piVar2 + -1;
|
|
if (*piVar2 == 0) {
|
|
FUN_004024d8(local_8,3);
|
|
}
|
|
puVar6 = (undefined4 *)FUN_00402298(0x294);
|
|
if (puVar6 == (undefined4 *)0x0) {
|
|
puVar6 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar6 = FUN_004c0bc8(puVar6,(int)&local_dc,&DAT_00512fc4);
|
|
}
|
|
}
|
|
return puVar6;
|
|
}
|
|
|
|
|
|
|
|
/* @004c18cc file=? name=FUN_004c18cc */
|
|
|
|
void __cdecl FUN_004c18cc(undefined4 *param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
{
|
|
*param_1 = 0x14;
|
|
param_1[1] = 8;
|
|
param_1[2] = 1;
|
|
param_1[3] = param_2;
|
|
param_1[4] = param_3;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c18f4 file=? name=FUN_004c18f4 */
|
|
|
|
void __cdecl FUN_004c18f4(undefined4 *param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
{
|
|
*param_1 = 0x14;
|
|
param_1[1] = 9;
|
|
param_1[2] = 1;
|
|
param_1[3] = param_2;
|
|
param_1[4] = param_3;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c191c file=? name=FUN_004c191c */
|
|
|
|
void __cdecl FUN_004c191c(undefined4 *param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
{
|
|
*param_1 = 0x14;
|
|
param_1[1] = 0xd;
|
|
param_1[2] = 1;
|
|
param_1[3] = param_2;
|
|
param_1[4] = param_3;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c1944 file=? name=FUN_004c1944 */
|
|
|
|
void __cdecl
|
|
FUN_004c1944(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
|
|
undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8)
|
|
|
|
{
|
|
*param_1 = 0x28;
|
|
param_1[1] = 10;
|
|
param_1[2] = 1;
|
|
param_1[3] = param_2;
|
|
param_1[4] = param_3;
|
|
param_1[5] = param_4;
|
|
param_1[6] = param_7;
|
|
param_1[7] = param_5;
|
|
param_1[8] = param_6;
|
|
param_1[9] = param_8;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c198c file=? name=FUN_004c198c */
|
|
|
|
void __cdecl FUN_004c198c(undefined4 *param_1,undefined4 param_2)
|
|
|
|
{
|
|
*param_1 = 0x10;
|
|
param_1[1] = 0xf;
|
|
param_1[2] = 1;
|
|
param_1[3] = param_2;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c19b0 file=? name=FUN_004c19b0 */
|
|
|
|
undefined4 __cdecl FUN_004c19b0(undefined4 param_1,char *param_2,undefined4 *param_3)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 uVar2;
|
|
undefined **ppuVar3;
|
|
|
|
ppuVar3 = &PTR_s_ModeMFD1Quad_005135e8;
|
|
while( true ) {
|
|
if (*ppuVar3 == (char *)0x0) {
|
|
uVar2 = FUN_0044c310(param_1,param_2,param_3);
|
|
return uVar2;
|
|
}
|
|
iVar1 = FUN_004d4b58(param_2,*ppuVar3);
|
|
if (iVar1 == 0) break;
|
|
ppuVar3 = ppuVar3 + 2;
|
|
}
|
|
*param_3 = ppuVar3[1];
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c19fc file=? name=FUN_004c19fc */
|
|
|
|
void __cdecl FUN_004c19fc(float *param_1,int param_2,float *param_3,int param_4,int param_5)
|
|
|
|
{
|
|
float fVar1;
|
|
undefined4 local_c;
|
|
int local_8;
|
|
|
|
if (param_2 == param_4) {
|
|
param_1[6] = 0.0;
|
|
}
|
|
else {
|
|
if (*(int *)(param_2 + 400) == 0) {
|
|
param_1[6] = 0.0;
|
|
}
|
|
else {
|
|
local_8 = *(int *)(DAT_004efc94 + 200);
|
|
local_c = *(undefined4 *)(*(int *)(param_2 + 400) + 0x1e0);
|
|
fVar1 = (float)(**(code **)(*(int *)(local_8 + 0x80) + 0xc))(local_8 + 0x80,&local_c);
|
|
param_1[6] = fVar1;
|
|
}
|
|
FUN_00408b98(param_1,(float *)(param_2 + 0x100),param_3);
|
|
fVar1 = (float)FUN_004c2f88();
|
|
param_1[7] = fVar1;
|
|
param_1[8] = (float)(uint)(param_2 == param_5);
|
|
param_1[3] = -1.0;
|
|
param_1[4] = 0.0;
|
|
param_1[5] = 0.0;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c1ab0 file=? name=FUN_004c1ab0 */
|
|
|
|
void __cdecl FUN_004c1ab0(int param_1,int *param_2,undefined4 param_3)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 uVar2;
|
|
undefined4 uVar3;
|
|
|
|
if (*(int *)(param_1 + 0x18) != 0) {
|
|
uVar2 = FUN_004dcd94();
|
|
uVar3 = FUN_004dcd94();
|
|
(**(code **)(*param_2 + 0x24))(param_2,uVar2,uVar3);
|
|
if (*(int *)(param_1 + 0x20) == 0) {
|
|
(**(code **)(*param_2 + 0x18))(param_2,*(undefined4 *)(param_1 + 0x1c));
|
|
}
|
|
else {
|
|
(**(code **)(*param_2 + 0x18))(param_2,param_3);
|
|
}
|
|
iVar1 = *(int *)(param_1 + 0x18);
|
|
(**(code **)(*param_2 + 0x54))
|
|
(param_2,0,iVar1,0,0,*(int *)(iVar1 + 0xc) + -1,*(int *)(iVar1 + 0x10) + -1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c1b4c file=? name=FUN_004c1b4c */
|
|
|
|
bool __cdecl FUN_004c1b4c(int param_1,int param_2,int param_3,int param_4,int param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
|
|
iVar1 = FUN_004d4b58(&DAT_005139cc,s_BOTTOM_0051400a);
|
|
piVar2 = (int *)FUN_00402298(0x3c8);
|
|
if (piVar2 == (int *)0x0) {
|
|
piVar2 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar2 = FUN_004c1c24(piVar2,DAT_00513900,DAT_00513944,param_5,0,param_1,param_2,param_3,
|
|
param_2 + DAT_00513988,param_3 + DAT_0051398c,(uint)(iVar1 == 0),
|
|
DAT_00513a10,DAT_00513a54,DAT_00513a98,DAT_00513adc,DAT_00513b20,param_4,
|
|
DAT_00513b64,DAT_00513ba8,DAT_00513bec,DAT_00513c30,0);
|
|
}
|
|
return piVar2 != (int *)0x0;
|
|
}
|
|
|
|
|
|
|
|
/* @004c1c24 file=? name=FUN_004c1c24 */
|
|
|
|
int * __cdecl
|
|
FUN_004c1c24(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,int param_7,int param_8,undefined4 param_9,int param_10,int param_11,
|
|
int param_12,int param_13,int param_14,int param_15,int param_16,int param_17,
|
|
undefined4 param_18,undefined4 param_19,undefined4 param_20,undefined4 param_21,
|
|
int param_22)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
int *piVar3;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,s_MapDisplay_00514011);
|
|
*param_1 = (int)&PTR_FUN_0051422c;
|
|
piVar3 = FUN_004de998(param_1 + 0x24,0x24,0x10,1,FUN_004c2a1d);
|
|
FUN_00443474(param_1 + 0xde);
|
|
FUN_00443474(param_1 + 0xe5);
|
|
FUN_0044a5b4((uint *)(param_1 + 0xec));
|
|
(**(code **)(param_1[0x12] + 8))(param_1 + 0x12,param_7,param_8,piVar3,param_10);
|
|
if (param_11 == 1) {
|
|
(**(code **)(param_1[0x12] + 0x10))(param_1 + 0x12,(int)piVar3 - param_7 >> 1,0);
|
|
}
|
|
else {
|
|
(**(code **)(param_1[0x12] + 0x10))
|
|
(param_1 + 0x12,(int)piVar3 - param_7 >> 1,param_10 - param_8 >> 1);
|
|
}
|
|
param_1[0xd6] = param_13;
|
|
param_1[0xd7] = param_14;
|
|
param_1[0xd8] = param_15;
|
|
param_1[0xbc] = param_16;
|
|
param_1[0xdc] = param_22;
|
|
param_1[0xd9] = (int)piVar3 - param_7 >> 1;
|
|
param_1[0xda] = param_10 - param_8 >> 1;
|
|
param_1[0xb4] = param_11;
|
|
param_1[0xf0] = param_12 >> 1;
|
|
iVar1 = FUN_004022b0((param_12 >> 1) << 3);
|
|
param_1[0xf1] = iVar1;
|
|
param_1[199] = 0;
|
|
param_1[200] = 0x3ec90fdb;
|
|
param_1[0xdd] = 0;
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00474855(puVar2,0,param_1 + 0xb5,param_18);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_004c2a3e(puVar2,0,param_1 + 0xb6,param_19);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_004c2bc0(puVar2,0,param_1 + 0xb7,param_20);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00474855(puVar2,0,param_1 + 0xb8,param_21);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
if (*(int *)(param_17 + 4) == 0xbb9) {
|
|
iVar1 = FUN_0041f98c(param_17,s_Torso_0051401c);
|
|
if (iVar1 != 0) {
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_004c2d42(puVar2,0,param_1 + 199,iVar1 + 0x1d8);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
}
|
|
}
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c1ea8 file=? name=FUN_004c1ea8 */
|
|
|
|
void __cdecl FUN_004c1ea8(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051422c;
|
|
FUN_004022e8((int *)param_1[0xf1]);
|
|
FUN_0044a5dc(param_1 + 0xec,2);
|
|
FUN_004434a0(param_1 + 0xe5,2);
|
|
FUN_004434a0(param_1 + 0xde,2);
|
|
FUN_004de8d4(param_1 + 0x24,0x24,0x10,1,FUN_004c2a25);
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c1f30 file=? name=FUN_004c1f30 */
|
|
|
|
void FUN_004c1f30(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c1f40 file=? name=FUN_004c1f40 */
|
|
|
|
void __cdecl FUN_004c1f40(int param_1,char *param_2)
|
|
|
|
{
|
|
char cVar1;
|
|
uint uVar2;
|
|
uint uVar3;
|
|
char *pcVar4;
|
|
char *pcVar5;
|
|
char local_54 [80];
|
|
|
|
FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_ThreatIndicator__00514022,(char *)0x0);
|
|
uVar2 = 0xffffffff;
|
|
do {
|
|
pcVar4 = param_2;
|
|
if (uVar2 == 0) break;
|
|
uVar2 = uVar2 - 1;
|
|
pcVar4 = param_2 + 1;
|
|
cVar1 = *param_2;
|
|
param_2 = pcVar4;
|
|
} while (cVar1 != '\0');
|
|
uVar2 = ~uVar2;
|
|
pcVar4 = pcVar4 + -uVar2;
|
|
pcVar5 = local_54;
|
|
for (uVar3 = uVar2 >> 2; uVar3 != 0; uVar3 = uVar3 - 1) {
|
|
*(undefined4 *)pcVar5 = *(undefined4 *)pcVar4;
|
|
pcVar4 = pcVar4 + 4;
|
|
pcVar5 = pcVar5 + 4;
|
|
}
|
|
for (uVar2 = uVar2 & 3; uVar2 != 0; uVar2 = uVar2 - 1) {
|
|
*pcVar5 = *pcVar4;
|
|
pcVar4 = pcVar4 + 1;
|
|
pcVar5 = pcVar5 + 1;
|
|
}
|
|
FUN_004d49b8(local_54,&DAT_00514034);
|
|
FUN_004448bc(param_1,local_54);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c1fc0 file=? name=FUN_004c1fc0 */
|
|
|
|
void __cdecl FUN_004c1fc0(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x354) = 0;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c1fd0 file=? name=FUN_004c1fd0 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004c1fd0(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
uint uVar2;
|
|
|
|
iVar1 = *(int *)(param_1 + 0x354);
|
|
*(int *)(param_1 + 0x354) = *(int *)(param_1 + 0x354) + 1;
|
|
if (iVar1 == 0) {
|
|
uVar2 = (uint)(_DAT_004c2174 < *(float *)(param_1 + 0x2e0));
|
|
*(uint *)(param_1 + 0x36c) = uVar2;
|
|
if (uVar2 != 0) {
|
|
*(float *)(param_1 + 0x2f4) = *(float *)(param_1 + 0x2e0) * *(float *)(param_1 + 0x2f0);
|
|
*(float *)(param_1 + 0x2f4) = *(float *)(param_1 + 0x2f4) * *(float *)(param_1 + 0x2f4);
|
|
FUN_004c2178(param_1);
|
|
}
|
|
}
|
|
else if (iVar1 == 1) {
|
|
FUN_004435ac(param_1 + 0x378);
|
|
if (*(int *)(param_1 + 0x36c) != 0) {
|
|
FUN_00443ba4(*(int *)(param_1 + 0x1c) + 0xb0,param_1 + 0x378,*(float *)(param_1 + 0x2f8),
|
|
*(undefined4 *)(param_1 + 0x2fc),*(float *)(param_1 + 0x300),
|
|
*(float *)(param_1 + 0x304),*(undefined4 *)(param_1 + 0x308),
|
|
*(float *)(param_1 + 0x30c),0);
|
|
}
|
|
}
|
|
else if (iVar1 == 2) {
|
|
FUN_004435ac(param_1 + 0x394);
|
|
if (*(int *)(param_1 + 0x36c) != 0) {
|
|
FUN_0044366c(*(int *)(param_1 + 0x1c) + 0x94,param_1 + 0x394,*(float *)(param_1 + 0x2f8),
|
|
*(undefined4 *)(param_1 + 0x2fc),*(float *)(param_1 + 0x300),
|
|
*(float *)(param_1 + 0x304),*(undefined4 *)(param_1 + 0x308),
|
|
*(float *)(param_1 + 0x30c),0);
|
|
}
|
|
}
|
|
else {
|
|
if ((iVar1 == 3) && (FUN_004c2294(param_1), *(int *)(param_1 + 0x36c) != 0)) {
|
|
FUN_004c22c4(param_1);
|
|
}
|
|
*(undefined4 *)(param_1 + 0x354) = 0;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2178 file=bt_l4/btl4rdr.cpp name=FUN_004c2178 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004c2178(int param_1)
|
|
|
|
{
|
|
float fVar1;
|
|
float fVar2;
|
|
int iVar3;
|
|
|
|
if (*(float *)(param_1 + 0x2d4) <= _DAT_004c2284) {
|
|
FUN_0040385c(s_MapDisplay__CalculateBounds_dete_00514038,
|
|
s_d__tesla_bt_bt_l4_BTL4RDR_CPP_00514071,0x224);
|
|
*(undefined4 *)(param_1 + 0x2d4) = 0x3f800000;
|
|
}
|
|
*(float *)(param_1 + 0x2e8) = (float)(*(int *)(param_1 + 0x364) * 2) / *(float *)(param_1 + 0x2d4)
|
|
;
|
|
*(float *)(param_1 + 0x2ec) = _DAT_004c2288 / *(float *)(param_1 + 0x2e8);
|
|
*(undefined4 *)(param_1 + 0x2e4) = *(undefined4 *)(param_1 + 0x2ec);
|
|
fVar1 = (float)*(int *)(param_1 + 0x364) / *(float *)(param_1 + 0x2e8);
|
|
fVar2 = (float)*(int *)(param_1 + 0x368) / *(float *)(param_1 + 0x2e8);
|
|
iVar3 = FUN_00417ab4(*(int *)(param_1 + 0x1c) + 0x40);
|
|
FUN_00408440((undefined4 *)(param_1 + 0x310),(undefined4 *)(iVar3 + 0x100));
|
|
*(float *)(param_1 + 0x2f8) = *(float *)(param_1 + 0x310) - fVar1;
|
|
*(float *)(param_1 + 0x304) = *(float *)(param_1 + 0x310) + fVar1;
|
|
*(undefined4 *)(param_1 + 0x2fc) = 0xc7000000;
|
|
*(undefined4 *)(param_1 + 0x308) = 0x47000000;
|
|
*(float *)(param_1 + 0x300) = *(float *)(param_1 + 0x318) - fVar2;
|
|
*(float *)(param_1 + 0x30c) = *(float *)(param_1 + 0x318) + fVar2;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c228c file=? name=FUN_004c228c */
|
|
|
|
void FUN_004c228c(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2294 file=? name=FUN_004c2294 */
|
|
|
|
void __cdecl FUN_004c2294(int param_1)
|
|
|
|
{
|
|
FUN_0044a650((int *)(param_1 + 0x3b0),param_1 + 0x48,*(uint *)(param_1 + 0x358));
|
|
FUN_0044a630(param_1 + 0x3b0);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c22c4 file=? name=FUN_004c22c4 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004c22c4(int param_1)
|
|
|
|
{
|
|
float *pfVar1;
|
|
int iVar2;
|
|
float *pfVar3;
|
|
float *pfVar4;
|
|
float local_b8 [12];
|
|
float local_88 [4];
|
|
float local_78 [3];
|
|
float local_6c [4];
|
|
undefined4 local_5c [3];
|
|
float local_50 [12];
|
|
float local_20;
|
|
undefined4 local_1c;
|
|
undefined4 local_18;
|
|
float local_14;
|
|
float local_10;
|
|
float local_c;
|
|
undefined4 local_8;
|
|
|
|
FUN_0040aadc(local_50);
|
|
FUN_0040aadc(local_50);
|
|
iVar2 = FUN_00417ab4(*(int *)(param_1 + 0x1c) + 0x40);
|
|
if ((*(int *)(param_1 + 0x2d8) == 0) && (iVar2 != 0)) {
|
|
*(int *)(param_1 + 0x2d8) = iVar2 + 0x100;
|
|
}
|
|
if (*(undefined4 **)(param_1 + 0x2d8) != (undefined4 *)0x0) {
|
|
FUN_00408440(local_5c,*(undefined4 **)(param_1 + 0x2d8));
|
|
FUN_0040b0ac((int)local_50,3,local_5c);
|
|
if (*(undefined4 **)(param_1 + 0x2dc) != (undefined4 *)0x0) {
|
|
if (*(int *)(param_1 + 0x370) == 0) {
|
|
FUN_0040954c(local_78,*(float **)(param_1 + 0x2dc));
|
|
local_14 = local_78[0] * _DAT_004c2480;
|
|
local_10 = local_14;
|
|
FUN_00408328(&local_c,&local_14);
|
|
FUN_00409948(local_88,0,local_c,0,local_8);
|
|
FUN_0040adec(local_50,local_88);
|
|
}
|
|
else {
|
|
FUN_00409968(local_6c,*(undefined4 **)(param_1 + 0x2dc));
|
|
FUN_0040adec(local_50,local_6c);
|
|
}
|
|
}
|
|
}
|
|
pfVar1 = (float *)(param_1 + 0x324);
|
|
FUN_0040b244(pfVar1,local_50);
|
|
local_20 = *(float *)(param_1 + 0x2e8);
|
|
local_1c = *(undefined4 *)(param_1 + 0x2e8);
|
|
local_18 = *(undefined4 *)(param_1 + 0x2e8);
|
|
pfVar3 = pfVar1;
|
|
pfVar4 = local_b8;
|
|
for (iVar2 = 0xc; iVar2 != 0; iVar2 = iVar2 + -1) {
|
|
*pfVar4 = *pfVar3;
|
|
pfVar3 = pfVar3 + 1;
|
|
pfVar4 = pfVar4 + 1;
|
|
}
|
|
FUN_0040b374(pfVar1,local_b8,&local_20);
|
|
FUN_004c228c();
|
|
*(uint *)(param_1 + 0x374) = *(uint *)(param_1 + 0x374) ^ 1;
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 100))(param_1 + 0x48,param_1 + 0x3b0);
|
|
FUN_004c2484(param_1);
|
|
FUN_004c25b4(param_1,pfVar1);
|
|
FUN_004c2788(param_1,pfVar1);
|
|
FUN_004c28c4(param_1,pfVar1);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x68))(param_1 + 0x48);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2484 file=? name=FUN_004c2484 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004c2484(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 uVar2;
|
|
undefined4 uVar3;
|
|
float local_34;
|
|
float local_30;
|
|
float local_2c;
|
|
float local_28;
|
|
float local_24;
|
|
float local_20;
|
|
float local_1c;
|
|
float local_18;
|
|
float local_14;
|
|
float local_10;
|
|
float local_c;
|
|
float local_8;
|
|
|
|
local_c = *(float *)(param_1 + 0x31c) - *(float *)(param_1 + 800);
|
|
iVar1 = param_1 + 0x48;
|
|
local_14 = *(float *)(param_1 + 0x31c) + *(float *)(param_1 + 800);
|
|
local_10 = local_14;
|
|
local_8 = local_c;
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(iVar1,*(undefined4 *)(param_1 + 0x35c));
|
|
local_2c = -local_8;
|
|
local_28 = local_2c;
|
|
FUN_00408328(&local_24,&local_2c);
|
|
local_18 = local_24 * _DAT_004c25ac;
|
|
local_1c = local_20 * _DAT_004c25ac;
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(iVar1,0,0);
|
|
uVar2 = FUN_004dcd94();
|
|
uVar3 = FUN_004dcd94();
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x30))(iVar1,uVar3,uVar2);
|
|
local_34 = -local_10;
|
|
local_30 = local_34;
|
|
FUN_00408328(&local_24,&local_34);
|
|
local_18 = local_24 * _DAT_004c25ac;
|
|
local_1c = local_20 * _DAT_004c25ac;
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(iVar1,0,0);
|
|
uVar2 = FUN_004dcd94();
|
|
uVar3 = FUN_004dcd94();
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x30))(iVar1,uVar3,uVar2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c25b4 file=? name=FUN_004c25b4 */
|
|
|
|
void __cdecl FUN_004c25b4(int param_1,float *param_2)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
undefined4 uVar3;
|
|
int iVar4;
|
|
float local_80 [3];
|
|
float local_74;
|
|
float local_70;
|
|
float local_6c;
|
|
int local_68 [3];
|
|
float local_5c [15];
|
|
undefined4 local_20;
|
|
undefined4 local_1c;
|
|
undefined4 local_18;
|
|
undefined4 local_14;
|
|
undefined4 local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
FUN_0042ac1c(local_68,param_1 + 900);
|
|
local_20 = 0;
|
|
local_1c = 0;
|
|
local_18 = 0;
|
|
local_8 = *(int *)(*(int *)(param_1 + 0x1c) + 0x4c);
|
|
local_c = *(int *)(DAT_004efc94 + 200);
|
|
while( true ) {
|
|
iVar4 = (**(code **)(local_68[0] + 0x28))(local_68);
|
|
if (iVar4 == 0) break;
|
|
FUN_00408644(&local_74,(float *)(param_1 + 0x310),(float *)(iVar4 + 0x100));
|
|
if (local_6c * local_6c + local_70 * local_70 + local_74 * local_74 <=
|
|
*(float *)(param_1 + 0x2f4)) {
|
|
piVar1 = FUN_004688ce(local_8 + 0x58,*(int *)(iVar4 + 0x1bc),0);
|
|
if (piVar1 != (int *)0x0) {
|
|
FUN_0040b104(local_5c,(float *)(iVar4 + 0xd0),param_2);
|
|
FUN_0046f0c0(piVar1,*(float *)(param_1 + 0x2e4),*(float *)(param_1 + 0x2ec),
|
|
(int *)(param_1 + 0x48),*(int *)(param_1 + 0x35c),local_5c,0);
|
|
}
|
|
iVar2 = FUN_0041a1a4(**(int **)(iVar4 + 0xc),0x4e70c4);
|
|
if (iVar2 != 0) {
|
|
local_10 = *(undefined4 *)(iVar4 + 0x21c);
|
|
iVar2 = (**(code **)(*(int *)(local_c + 0x68) + 0xc))(local_c + 0x68,&local_10);
|
|
if (iVar2 != 0) {
|
|
FUN_00408b98(local_80,(float *)(iVar4 + 0x100),param_2);
|
|
local_14 = FUN_004dcd94();
|
|
uVar3 = FUN_004dcd94();
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(param_1 + 0x48,local_14,uVar3);
|
|
uVar3 = FUN_004c2f88();
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(param_1 + 0x48,uVar3);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x54))
|
|
(param_1 + 0x48,0,iVar2,0,0,*(int *)(iVar2 + 0xc) + -1,
|
|
*(int *)(iVar2 + 0x10) + -1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
FUN_0042ac79(local_68,2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2788 file=? name=FUN_004c2788 */
|
|
|
|
void __cdecl FUN_004c2788(int param_1,float *param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
float *pfVar4;
|
|
float local_58;
|
|
float local_54;
|
|
float local_50;
|
|
float local_4c [12];
|
|
int local_1c [3];
|
|
int local_10;
|
|
int local_c;
|
|
int *local_8;
|
|
|
|
FUN_0042ac1c(local_1c,param_1 + 0x3a0);
|
|
local_c = *(int *)(*(int *)(param_1 + 0x1c) + 0x4c);
|
|
iVar1 = FUN_00417ab4(*(int *)(param_1 + 0x1c) + 0x40);
|
|
local_10 = 0;
|
|
if (iVar1 != 0) {
|
|
local_10 = *(int *)(*(int *)(iVar1 + 400) + 0x284);
|
|
}
|
|
while( true ) {
|
|
iVar3 = (**(code **)(local_1c[0] + 0x28))(local_1c);
|
|
if (iVar3 == 0) break;
|
|
if (iVar1 != iVar3) {
|
|
FUN_00408644(&local_58,(float *)(param_1 + 0x310),(float *)(iVar3 + 0x100));
|
|
if (local_50 * local_50 + local_54 * local_54 + local_58 * local_58 <=
|
|
*(float *)(param_1 + 0x2f4)) {
|
|
local_8 = FUN_004688ce(local_c + 0x58,*(int *)(iVar3 + 0x1bc),0);
|
|
if (local_8 != (int *)0x0) {
|
|
FUN_0040b104(local_4c,(float *)(iVar3 + 0xd0),param_2);
|
|
if (iVar3 == local_10) {
|
|
iVar3 = *(int *)(param_1 + 0x360);
|
|
}
|
|
else {
|
|
iVar3 = 0;
|
|
}
|
|
pfVar4 = local_4c;
|
|
iVar2 = FUN_004c2f88();
|
|
FUN_0046f0c0(local_8,*(float *)(param_1 + 0x2e4),*(float *)(param_1 + 0x2ec),
|
|
(int *)(param_1 + 0x48),iVar2,pfVar4,iVar3);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
FUN_0042ac79(local_1c,2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c28c4 file=bt_l4/btl4rdr.cpp name=FUN_004c28c4 */
|
|
|
|
void __cdecl FUN_004c28c4(int param_1,float *param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
float *pfVar2;
|
|
int iVar3;
|
|
undefined4 uVar4;
|
|
int local_1c [3];
|
|
int local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
local_8 = FUN_00417ab4(*(int *)(param_1 + 0x1c) + 0x40);
|
|
local_c = 0;
|
|
if (local_8 != 0) {
|
|
local_c = *(int *)(*(int *)(local_8 + 400) + 0x284);
|
|
}
|
|
FUN_0042ac1c(local_1c,param_1 + 0x3a0);
|
|
local_10 = (**(code **)(local_1c[0] + 0x14))(local_1c);
|
|
if (local_10 < 1) {
|
|
FUN_0042ac79(local_1c,2);
|
|
}
|
|
else {
|
|
if (0x10 < local_10) {
|
|
local_10 = 0x10;
|
|
}
|
|
iVar3 = 0;
|
|
pfVar2 = (float *)(param_1 + 0x90);
|
|
if (0 < local_10) {
|
|
do {
|
|
iVar1 = (**(code **)(local_1c[0] + 0x28))(local_1c);
|
|
if (iVar1 == 0) {
|
|
FUN_0040385c(s_MapDisplay__DrawNames___GetSize__0051408f,
|
|
s_d__tesla_bt_bt_l4_BTL4RDR_CPP_005140b7,0x408);
|
|
}
|
|
FUN_004c19fc(pfVar2,iVar1,param_2,local_8,local_c);
|
|
iVar3 = iVar3 + 1;
|
|
pfVar2 = pfVar2 + 9;
|
|
} while (iVar3 < local_10);
|
|
}
|
|
if (*(int *)(param_1 + 0x374) == 0) {
|
|
uVar4 = 0;
|
|
}
|
|
else {
|
|
uVar4 = *(undefined4 *)(param_1 + 0x360);
|
|
}
|
|
iVar1 = 0;
|
|
iVar3 = param_1 + 0x90;
|
|
if (0 < local_10) {
|
|
do {
|
|
FUN_004c1ab0(iVar3,(int *)(param_1 + 0x48),uVar4);
|
|
iVar1 = iVar1 + 1;
|
|
iVar3 = iVar3 + 0x24;
|
|
} while (iVar1 < local_10);
|
|
}
|
|
FUN_0042ac79(local_1c,2);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2a1d file=? name=FUN_004c2a1d */
|
|
|
|
undefined4 __cdecl FUN_004c2a1d(undefined4 param_1)
|
|
|
|
{
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2a25 file=? name=FUN_004c2a25 */
|
|
|
|
void __cdecl FUN_004c2a25(int *param_1,byte param_2)
|
|
|
|
{
|
|
if ((param_1 != (int *)0x0) && ((param_2 & 1) != 0)) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2a3e file=? name=FUN_004c2a3e */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c2a3e(undefined4 *param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)
|
|
|
|
{
|
|
FUN_00444124(param_1,param_2);
|
|
*param_1 = &PTR_FUN_00514220;
|
|
param_1[4] = param_4;
|
|
param_1[5] = param_3;
|
|
*param_3 = *(undefined4 *)param_1[4];
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2a70 file=? name=FUN_004c2a70 */
|
|
|
|
void __cdecl FUN_004c2a70(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00514220;
|
|
FUN_00444148(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2a9c file=? name=FUN_004c2a9c */
|
|
|
|
void __cdecl FUN_004c2a9c(int param_1)
|
|
|
|
{
|
|
**(undefined4 **)(param_1 + 0x14) = **(undefined4 **)(param_1 + 0x10);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2aae file=? name=FUN_004c2aae */
|
|
|
|
void __cdecl FUN_004c2aae(int param_1,char *param_2)
|
|
|
|
{
|
|
undefined8 uVar1;
|
|
uint uVar2;
|
|
uint uVar3;
|
|
|
|
FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_GaugeConnectionDirectOf__00514121,(char *)0x0);
|
|
uVar3 = **(uint **)(param_1 + 0x10);
|
|
uVar2 = *(uint *)(param_1 + 0x10);
|
|
FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s____dataSource_at_0051413b,(char *)0x0);
|
|
uVar1 = FUN_004dbd4c(&DAT_00524e20,uVar2);
|
|
FUN_004dbb24((int *)uVar1,&DAT_00514151,(char *)0x0);
|
|
uVar1 = FUN_004dbd4c((int *)uVar1,uVar3);
|
|
FUN_004dbb24((int *)uVar1,&DAT_00514153,(char *)0x0);
|
|
uVar3 = *(uint *)(param_1 + 0x10);
|
|
FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s____dataDestination_at_00514155,(char *)0x0);
|
|
uVar1 = FUN_004dbd4c(&DAT_00524e20,uVar3);
|
|
FUN_004dbb24((int *)uVar1,&DAT_0051416b,(char *)0x0);
|
|
FUN_004d9c70((int *)uVar1);
|
|
FUN_0044419c(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2bb1 file=? name=FUN_004c2bb1 */
|
|
|
|
void FUN_004c2bb1(void)
|
|
|
|
{
|
|
FUN_00415f1c();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2bc0 file=? name=FUN_004c2bc0 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c2bc0(undefined4 *param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)
|
|
|
|
{
|
|
FUN_00444124(param_1,param_2);
|
|
*param_1 = &PTR_FUN_00514214;
|
|
param_1[4] = param_4;
|
|
param_1[5] = param_3;
|
|
*param_3 = *(undefined4 *)param_1[4];
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2bf2 file=? name=FUN_004c2bf2 */
|
|
|
|
void __cdecl FUN_004c2bf2(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00514214;
|
|
FUN_00444148(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2c1e file=? name=FUN_004c2c1e */
|
|
|
|
void __cdecl FUN_004c2c1e(int param_1)
|
|
|
|
{
|
|
**(undefined4 **)(param_1 + 0x14) = **(undefined4 **)(param_1 + 0x10);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2c30 file=? name=FUN_004c2c30 */
|
|
|
|
void __cdecl FUN_004c2c30(int param_1,char *param_2)
|
|
|
|
{
|
|
undefined8 uVar1;
|
|
uint uVar2;
|
|
uint uVar3;
|
|
|
|
FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_GaugeConnectionDirectOf__0051416d,(char *)0x0);
|
|
uVar3 = **(uint **)(param_1 + 0x10);
|
|
uVar2 = *(uint *)(param_1 + 0x10);
|
|
FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s____dataSource_at_00514187,(char *)0x0);
|
|
uVar1 = FUN_004dbd4c(&DAT_00524e20,uVar2);
|
|
FUN_004dbb24((int *)uVar1,&DAT_0051419d,(char *)0x0);
|
|
uVar1 = FUN_004dbd4c((int *)uVar1,uVar3);
|
|
FUN_004dbb24((int *)uVar1,&DAT_0051419f,(char *)0x0);
|
|
uVar3 = *(uint *)(param_1 + 0x10);
|
|
FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s____dataDestination_at_005141a1,(char *)0x0);
|
|
uVar1 = FUN_004dbd4c(&DAT_00524e20,uVar3);
|
|
FUN_004dbb24((int *)uVar1,&DAT_005141b7,(char *)0x0);
|
|
FUN_004d9c70((int *)uVar1);
|
|
FUN_0044419c(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2d33 file=? name=FUN_004c2d33 */
|
|
|
|
void FUN_004c2d33(void)
|
|
|
|
{
|
|
FUN_00415f1c();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2d42 file=? name=FUN_004c2d42 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c2d42(undefined4 *param_1,undefined4 param_2,undefined4 *param_3,undefined4 param_4)
|
|
|
|
{
|
|
FUN_00444124(param_1,param_2);
|
|
*param_1 = &PTR_FUN_00514208;
|
|
param_1[4] = param_4;
|
|
param_1[5] = param_3;
|
|
*param_3 = *(undefined4 *)param_1[4];
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2d74 file=? name=FUN_004c2d74 */
|
|
|
|
void __cdecl FUN_004c2d74(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00514208;
|
|
FUN_00444148(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2da0 file=? name=FUN_004c2da0 */
|
|
|
|
void __cdecl FUN_004c2da0(int param_1)
|
|
|
|
{
|
|
**(undefined4 **)(param_1 + 0x14) = **(undefined4 **)(param_1 + 0x10);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2db2 file=? name=FUN_004c2db2 */
|
|
|
|
void __cdecl FUN_004c2db2(int param_1,char *param_2)
|
|
|
|
{
|
|
int *piVar1;
|
|
undefined8 uVar2;
|
|
uint uVar3;
|
|
float *pfVar4;
|
|
|
|
FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_GaugeConnectionDirectOf__005141b9,(char *)0x0);
|
|
pfVar4 = *(float **)(param_1 + 0x10);
|
|
uVar3 = *(uint *)(param_1 + 0x10);
|
|
FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s____dataSource_at_005141d3,(char *)0x0);
|
|
uVar2 = FUN_004dbd4c(&DAT_00524e20,uVar3);
|
|
FUN_004dbb24((int *)uVar2,&DAT_005141e9,(char *)0x0);
|
|
piVar1 = FUN_00408270((int *)uVar2,pfVar4);
|
|
FUN_004dbb24(piVar1,&DAT_005141eb,(char *)0x0);
|
|
uVar3 = *(uint *)(param_1 + 0x10);
|
|
FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s____dataDestination_at_005141ed,(char *)0x0);
|
|
uVar2 = FUN_004dbd4c(&DAT_00524e20,uVar3);
|
|
FUN_004dbb24((int *)uVar2,&DAT_00514203,(char *)0x0);
|
|
FUN_004d9c70((int *)uVar2);
|
|
FUN_0044419c(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2eb3 file=? name=FUN_004c2eb3 */
|
|
|
|
void FUN_004c2eb3(void)
|
|
|
|
{
|
|
FUN_00415f1c();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2ec4 file=? name=FUN_004c2ec4 */
|
|
|
|
void __cdecl
|
|
FUN_004c2ec4(undefined4 param_1,undefined4 param_2,int *param_3,int param_4,char *param_5)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
(**(code **)(*param_3 + 0x24))(param_3,param_1,param_2);
|
|
puVar1 = FUN_00442aec(param_4 + 4,param_5,0);
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
(**(code **)(*param_3 + 0x58))(param_3,0,0,puVar1,0,0,puVar1[3] + -1,puVar1[4] + -1);
|
|
}
|
|
FUN_00442c12(param_4 + 4,param_5);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2f28 file=? name=FUN_004c2f28 */
|
|
|
|
void __cdecl
|
|
FUN_004c2f28(undefined4 param_1,undefined4 param_2,int *param_3,int param_4,char *param_5)
|
|
|
|
{
|
|
int *piVar1;
|
|
|
|
(**(code **)(*param_3 + 0x24))(param_3,param_1,param_2);
|
|
piVar1 = FUN_00442d2b(param_4 + 0x20,param_5,0);
|
|
if (piVar1 != (int *)0x0) {
|
|
(**(code **)(*param_3 + 0x5c))(param_3,1,0,piVar1,0,0,*piVar1 + -1,piVar1[1] + -1);
|
|
}
|
|
FUN_00442c12(param_4 + 4,param_5);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2f88 file=? name=FUN_004c2f88 */
|
|
|
|
undefined4 FUN_004c2f88(void)
|
|
|
|
{
|
|
return 7;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2f94 file=? name=FUN_004c2f94 */
|
|
|
|
uint __cdecl FUN_004c2f94(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
uint *puVar2;
|
|
uint local_8;
|
|
|
|
iVar1 = FUN_0041a1a4(**(int **)(param_1 + 0xc),0x50bdb4);
|
|
if (iVar1 != 0) {
|
|
local_8 = (uint)**(uint3 **)(*(int *)(param_1 + 0x848) + 8);
|
|
for (puVar2 = &DAT_00514274; 0 < (int)puVar2[1]; puVar2 = puVar2 + 2) {
|
|
if (*puVar2 == local_8) {
|
|
return puVar2[1];
|
|
}
|
|
}
|
|
}
|
|
return 0xff;
|
|
}
|
|
|
|
|
|
|
|
/* @004c2ff8 file=? name=FUN_004c2ff8 */
|
|
|
|
void __cdecl
|
|
FUN_004c2ff8(int *param_1,int param_2,int param_3,int param_4,int param_5,undefined4 param_6,
|
|
int param_7)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
int iVar3;
|
|
int iVar4;
|
|
int local_30 [3];
|
|
int local_24 [3];
|
|
int local_18;
|
|
int local_14;
|
|
int local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
local_8 = *(int *)(param_7 + 0xc);
|
|
local_c = *(int *)(param_7 + 0x10);
|
|
iVar4 = 0;
|
|
if (0 < param_5) {
|
|
do {
|
|
local_24[2] = param_3 - iVar4;
|
|
local_24[1] = 0;
|
|
if (param_3 - iVar4 < 0) {
|
|
piVar2 = local_24 + 1;
|
|
}
|
|
else {
|
|
piVar2 = local_24 + 2;
|
|
}
|
|
local_10 = *piVar2;
|
|
if (*piVar2 < local_c) {
|
|
local_24[0] = (param_5 - iVar4) + 1;
|
|
if (local_c < local_24[0]) {
|
|
piVar2 = &local_c;
|
|
}
|
|
else {
|
|
piVar2 = local_24;
|
|
}
|
|
local_18 = *piVar2;
|
|
if (0 < local_18) {
|
|
local_18 = local_18 + -1;
|
|
iVar3 = 0;
|
|
if (0 < param_4) {
|
|
do {
|
|
local_30[2] = param_2 - iVar3;
|
|
local_30[1] = 0;
|
|
if (param_2 - iVar3 < 0) {
|
|
piVar2 = local_30 + 1;
|
|
}
|
|
else {
|
|
piVar2 = local_30 + 2;
|
|
}
|
|
iVar1 = *piVar2;
|
|
if (iVar1 < local_8) {
|
|
local_30[0] = (param_4 - iVar3) + 1;
|
|
if (local_8 < local_30[0]) {
|
|
piVar2 = &local_8;
|
|
}
|
|
else {
|
|
piVar2 = local_30;
|
|
}
|
|
local_14 = *piVar2;
|
|
if (0 < local_14) {
|
|
local_14 = local_14 + -1;
|
|
(**(code **)(*param_1 + 0x24))(param_1,iVar3,iVar4);
|
|
(**(code **)(*param_1 + 0x58))
|
|
(param_1,param_6,0,param_7,iVar1,local_10,local_14,local_18);
|
|
}
|
|
}
|
|
iVar3 = iVar3 + local_8;
|
|
} while (iVar3 < param_4);
|
|
}
|
|
}
|
|
}
|
|
iVar4 = iVar4 + local_c;
|
|
} while (iVar4 < param_5);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3134 file=? name=FUN_004c3134 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c3134(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)
|
|
|
|
{
|
|
FUN_00444124(param_1,param_2);
|
|
*param_1 = &PTR_FUN_00518ea8;
|
|
param_1[4] = param_4;
|
|
param_1[5] = param_3;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3160 file=? name=FUN_004c3160 */
|
|
|
|
void __cdecl FUN_004c3160(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518ea8;
|
|
FUN_00444148(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c318c file=? name=FUN_004c318c */
|
|
|
|
undefined4 FUN_004c318c(void)
|
|
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3198 file=? name=FUN_004c3198 */
|
|
|
|
void FUN_004c3198(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c31a0 file=? name=FUN_004c31a0 */
|
|
|
|
void __cdecl FUN_004c31a0(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
|
|
iVar2 = 0;
|
|
if (*(int *)(*(int *)(param_1 + 0x10) + 0x134) == 1) {
|
|
iVar1 = FUN_0041bf44(*(int *)(param_1 + 0x10),3);
|
|
if (iVar1 != 0) {
|
|
iVar2 = FUN_00417ab4(iVar1);
|
|
}
|
|
}
|
|
if (iVar2 == 0) {
|
|
**(undefined4 **)(param_1 + 0x14) = 0;
|
|
}
|
|
else {
|
|
**(undefined4 **)(param_1 + 0x14) = *(undefined4 *)(iVar2 + 0x1d4);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c31ec file=? name=FUN_004c31ec */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c31ec(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)
|
|
|
|
{
|
|
FUN_00444124(param_1,param_2);
|
|
*param_1 = &PTR_FUN_00518e9c;
|
|
param_1[4] = param_4;
|
|
param_1[5] = param_3;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3218 file=? name=FUN_004c3218 */
|
|
|
|
void __cdecl FUN_004c3218(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518e9c;
|
|
FUN_00444148(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3244 file=? name=FUN_004c3244 */
|
|
|
|
undefined4 FUN_004c3244(void)
|
|
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3250 file=? name=FUN_004c3250 */
|
|
|
|
void FUN_004c3250(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3258 file=? name=FUN_004c3258 */
|
|
|
|
void __cdecl FUN_004c3258(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
iVar1 = FUN_00417ab4(*(int *)(param_1 + 0x10));
|
|
if (iVar1 == 0) {
|
|
**(undefined4 **)(param_1 + 0x14) = 0;
|
|
return;
|
|
}
|
|
**(undefined4 **)(param_1 + 0x14) = *(undefined4 *)(iVar1 + 0x1e0);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3288 file=? name=FUN_004c3288 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c3288(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)
|
|
|
|
{
|
|
FUN_00444124(param_1,param_2);
|
|
*param_1 = &PTR_FUN_00518e90;
|
|
param_1[4] = param_4;
|
|
param_1[5] = param_3;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c32b4 file=? name=FUN_004c32b4 */
|
|
|
|
void __cdecl FUN_004c32b4(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518e90;
|
|
FUN_00444148(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c32e0 file=? name=FUN_004c32e0 */
|
|
|
|
undefined4 FUN_004c32e0(void)
|
|
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c32ec file=? name=FUN_004c32ec */
|
|
|
|
void FUN_004c32ec(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c32f4 file=? name=FUN_004c32f4 */
|
|
|
|
void __cdecl FUN_004c32f4(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
iVar1 = FUN_00417ab4(*(int *)(param_1 + 0x10));
|
|
if (iVar1 == 0) {
|
|
**(undefined4 **)(param_1 + 0x14) = 0;
|
|
return;
|
|
}
|
|
**(undefined4 **)(param_1 + 0x14) = *(undefined4 *)(iVar1 + 0x1dc);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3324 file=? name=FUN_004c3324 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c3324(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)
|
|
|
|
{
|
|
FUN_00444124(param_1,param_2);
|
|
*param_1 = &PTR_FUN_00518e84;
|
|
param_1[4] = param_4;
|
|
param_1[5] = param_3;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3350 file=? name=FUN_004c3350 */
|
|
|
|
void __cdecl FUN_004c3350(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518e84;
|
|
FUN_00444148(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c337c file=? name=FUN_004c337c */
|
|
|
|
undefined4 FUN_004c337c(void)
|
|
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3388 file=? name=FUN_004c3388 */
|
|
|
|
void FUN_004c3388(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3390 file=? name=FUN_004c3390 */
|
|
|
|
void __cdecl FUN_004c3390(int param_1)
|
|
|
|
{
|
|
**(undefined4 **)(param_1 + 0x14) = *(undefined4 *)(*(int *)(param_1 + 0x10) + 0x14);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c33a4 file=? name=FUN_004c33a4 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c33a4(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5)
|
|
|
|
{
|
|
FUN_00444124(param_1,param_2);
|
|
*param_1 = &PTR_FUN_00518e78;
|
|
if (param_5 < 0) {
|
|
param_1[4] = 0;
|
|
}
|
|
else {
|
|
param_1[4] = *(undefined4 *)(*(int *)(param_4 + 0x120) + param_5 * 4);
|
|
}
|
|
param_1[5] = param_3;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c33e8 file=? name=FUN_004c33e8 */
|
|
|
|
void __cdecl FUN_004c33e8(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518e78;
|
|
FUN_00444148(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3414 file=? name=FUN_004c3414 */
|
|
|
|
undefined4 FUN_004c3414(void)
|
|
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3428 file=? name=FUN_004c3428 */
|
|
|
|
void FUN_004c3428(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3430 file=? name=FUN_004c3430 */
|
|
|
|
void __cdecl FUN_004c3430(int param_1)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
|
|
if (*(int *)(param_1 + 0x10) == 0) {
|
|
**(undefined4 **)(param_1 + 0x14) = 100;
|
|
return;
|
|
}
|
|
uVar1 = FUN_004dcd94();
|
|
**(undefined4 **)(param_1 + 0x14) = uVar1;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c346c file=? name=FUN_004c346c */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c346c(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
|
|
undefined4 *param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
|
|
FUN_00444124(param_1,param_2);
|
|
*param_1 = &PTR_FUN_00518e6c;
|
|
iVar1 = 0;
|
|
puVar2 = param_1 + 6;
|
|
do {
|
|
*puVar2 = *param_5;
|
|
iVar1 = iVar1 + 1;
|
|
puVar2 = puVar2 + 1;
|
|
param_5 = param_5 + 1;
|
|
} while (iVar1 < 8);
|
|
param_1[4] = param_4;
|
|
param_1[0xe] = param_3;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c34b4 file=? name=FUN_004c34b4 */
|
|
|
|
void __cdecl FUN_004c34b4(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518e6c;
|
|
FUN_00444148(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c34e0 file=? name=FUN_004c34e0 */
|
|
|
|
undefined4 FUN_004c34e0(void)
|
|
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c34ec file=? name=FUN_004c34ec */
|
|
|
|
void FUN_004c34ec(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c34f4 file=? name=FUN_004c34f4 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004c34f4(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 uVar2;
|
|
int iVar3;
|
|
int *piVar4;
|
|
int local_c;
|
|
float local_8;
|
|
|
|
iVar3 = 0;
|
|
local_8 = 0.0;
|
|
local_c = 0;
|
|
piVar4 = (int *)(param_1 + 0x18);
|
|
do {
|
|
if (((-1 < *piVar4) &&
|
|
(iVar1 = *(int *)(*(int *)(*(int *)(param_1 + 0x10) + 0x120) + *piVar4 * 4), iVar1 != 0)) &&
|
|
(local_c = local_c + 1, local_8 < *(float *)(iVar1 + 0x158))) {
|
|
local_8 = *(float *)(iVar1 + 0x158);
|
|
}
|
|
iVar3 = iVar3 + 1;
|
|
piVar4 = piVar4 + 1;
|
|
} while (iVar3 < 8);
|
|
if (local_c == 0) {
|
|
**(undefined4 **)(param_1 + 0x38) = 100;
|
|
}
|
|
else {
|
|
uVar2 = FUN_004dcd94();
|
|
**(undefined4 **)(param_1 + 0x38) = uVar2;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3598 file=? name=FUN_004c3598 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c3598(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)
|
|
|
|
{
|
|
FUN_00444124(param_1,param_2);
|
|
*param_1 = &PTR_FUN_00518e60;
|
|
param_1[4] = param_4;
|
|
param_1[5] = param_3;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c35c8 file=? name=FUN_004c35c8 */
|
|
|
|
void __cdecl FUN_004c35c8(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518e60;
|
|
FUN_00444148(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c35f4 file=? name=FUN_004c35f4 */
|
|
|
|
undefined4 FUN_004c35f4(void)
|
|
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3608 file=? name=FUN_004c3608 */
|
|
|
|
void FUN_004c3608(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3610 file=? name=FUN_004c3610 */
|
|
|
|
void __cdecl FUN_004c3610(int param_1)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
|
|
if (*(int *)(param_1 + 0x10) == 0) {
|
|
**(undefined4 **)(param_1 + 0x14) = 0;
|
|
return;
|
|
}
|
|
if (*(int *)(*(int *)(param_1 + 0x10) + 0x40) == 1) {
|
|
**(undefined4 **)(param_1 + 0x14) = 100;
|
|
return;
|
|
}
|
|
uVar1 = FUN_004dcd94();
|
|
**(undefined4 **)(param_1 + 0x14) = uVar1;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3664 file=? name=FUN_004c3664 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c3664(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
FUN_00444124(param_1,param_2);
|
|
*param_1 = &PTR_FUN_00518e54;
|
|
if (param_4 != 0) {
|
|
iVar1 = FUN_0041a1a4(**(int **)(param_4 + 0xc),0x50e3ec);
|
|
if (iVar1 == 0) {
|
|
iVar1 = FUN_0041a1a4(**(int **)(param_4 + 0xc),0x50e604);
|
|
if (iVar1 == 0) {
|
|
param_4 = 0;
|
|
}
|
|
else {
|
|
param_1[5] = 0;
|
|
}
|
|
}
|
|
else {
|
|
param_1[5] = 1;
|
|
}
|
|
}
|
|
param_1[4] = param_4;
|
|
param_1[6] = param_3;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c36d8 file=? name=FUN_004c36d8 */
|
|
|
|
void __cdecl FUN_004c36d8(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518e54;
|
|
FUN_00444148(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3704 file=? name=FUN_004c3704 */
|
|
|
|
undefined4 FUN_004c3704(void)
|
|
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3718 file=? name=FUN_004c3718 */
|
|
|
|
void FUN_004c3718(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3720 file=? name=FUN_004c3720 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004c3720(int param_1)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
|
|
if (*(int *)(param_1 + 0x10) == 0) {
|
|
**(undefined4 **)(param_1 + 0x18) = 100;
|
|
}
|
|
else if (*(int *)(*(int *)(param_1 + 0x10) + 0x40) == 1) {
|
|
**(undefined4 **)(param_1 + 0x18) = 100;
|
|
}
|
|
else {
|
|
if (*(int *)(param_1 + 0x14) == 0) {
|
|
FUN_00417ab4(*(int *)(param_1 + 0x10) + 0x114);
|
|
}
|
|
uVar1 = FUN_004dcd94();
|
|
**(undefined4 **)(param_1 + 0x18) = uVar1;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c37dc file=? name=FUN_004c37dc */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c37dc(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4,
|
|
undefined4 param_5,int param_6,undefined4 param_7,char *param_8,char *param_9,
|
|
undefined4 param_10)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
char *pcVar2;
|
|
int iVar3;
|
|
int *piVar4;
|
|
undefined4 *puVar5;
|
|
int iVar6;
|
|
|
|
FUN_00444308(param_1,param_2,param_3,param_4,param_5,param_10);
|
|
*param_1 = &PTR_FUN_00518e10;
|
|
uVar1 = FUN_004700ac(param_8);
|
|
param_1[0x12] = uVar1;
|
|
pcVar2 = (char *)FUN_004700ac(param_9);
|
|
param_1[0x13] = pcVar2;
|
|
iVar3 = FUN_004d4b58((char *)param_1[0x12],pcVar2);
|
|
if (iVar3 == 0) {
|
|
param_1[0x14] = 0;
|
|
}
|
|
else {
|
|
param_1[0x14] = 1;
|
|
}
|
|
iVar3 = *(int *)(param_4 + 0x4c);
|
|
iVar6 = 0;
|
|
puVar5 = param_1 + 0x12;
|
|
do {
|
|
piVar4 = FUN_00442f6a(iVar3 + 0x3c,(char *)*puVar5,0);
|
|
if (piVar4 == (int *)0x0) {
|
|
pcVar2 = (char *)*puVar5;
|
|
FUN_004dbb24(&DAT_00524e20,s_ColorMapper_cannot_find_palette_f_005185b6,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,pcVar2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_005185dd,(char *)0x0);
|
|
}
|
|
iVar6 = iVar6 + 1;
|
|
puVar5 = puVar5 + 1;
|
|
} while (iVar6 < 2);
|
|
param_1[0x17] = param_7;
|
|
param_1[0x18] = 0;
|
|
uVar1 = FUN_00447f84(param_4,param_6);
|
|
param_1[0x1a] = uVar1;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c38dc file=? name=FUN_004c38dc */
|
|
|
|
void __cdecl FUN_004c38dc(int *param_1,byte param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
int iVar3;
|
|
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518e10;
|
|
iVar3 = 0;
|
|
piVar2 = param_1 + 0x12;
|
|
iVar1 = *(int *)(param_1[7] + 0x4c);
|
|
do {
|
|
FUN_00443090(iVar1 + 0x3c,(char *)*piVar2);
|
|
FUN_004022e8((int *)*piVar2);
|
|
*piVar2 = 0;
|
|
iVar3 = iVar3 + 1;
|
|
piVar2 = piVar2 + 1;
|
|
} while (iVar3 < 2);
|
|
FUN_00444360(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3944 file=? name=FUN_004c3944 */
|
|
|
|
void FUN_004c3944(void)
|
|
|
|
{
|
|
FUN_004443a4();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3954 file=? name=FUN_004c3954 */
|
|
|
|
void FUN_004c3954(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c395c file=? name=FUN_004c395c */
|
|
|
|
void __cdecl FUN_004c395c(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x54) = 0xffffffff;
|
|
*(undefined4 *)(param_1 + 0x58) = 0xffffffff;
|
|
*(undefined1 *)(param_1 + 100) = 0xff;
|
|
*(undefined1 *)(param_1 + 0x65) = 0xff;
|
|
*(undefined1 *)(param_1 + 0x66) = 0xff;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3980 file=? name=FUN_004c3980 */
|
|
|
|
void __cdecl FUN_004c3980(int param_1)
|
|
|
|
{
|
|
undefined2 uVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
bool bVar4;
|
|
int *piVar5;
|
|
int *piVar6;
|
|
undefined2 local_103;
|
|
char local_101;
|
|
int local_c [2];
|
|
|
|
local_c[1] = 0xff;
|
|
piVar6 = (int *)(param_1 + 0x54);
|
|
if (0xfe < *piVar6) {
|
|
piVar6 = local_c + 1;
|
|
}
|
|
piVar5 = (int *)(param_1 + 0x54);
|
|
*(int *)(param_1 + 0x54) = *piVar6;
|
|
local_c[0] = 0;
|
|
if (*piVar5 < 1) {
|
|
piVar5 = local_c;
|
|
}
|
|
*(int *)(param_1 + 0x54) = *piVar5;
|
|
if (*(int *)(param_1 + 0x50) == 0) {
|
|
if (*(int *)(param_1 + 0x54) == *(int *)(param_1 + 0x58)) {
|
|
return;
|
|
}
|
|
*(int *)(param_1 + 0x58) = *(int *)(param_1 + 0x54);
|
|
}
|
|
else {
|
|
*(int *)(param_1 + 0x60) = *(int *)(param_1 + 0x60) + 1;
|
|
if (1 < *(int *)(param_1 + 0x60)) {
|
|
*(undefined4 *)(param_1 + 0x60) = 0;
|
|
}
|
|
}
|
|
iVar2 = *(int *)(*(int *)(param_1 + 0x1c) + 0x4c);
|
|
piVar6 = FUN_00442f6a(iVar2 + 0x3c,*(char **)(param_1 + 0x48 + *(int *)(param_1 + 0x60) * 4),0);
|
|
uVar1 = local_103;
|
|
if (piVar6 != (int *)0x0) {
|
|
iVar3 = *(int *)(param_1 + 0x54) * 3;
|
|
uVar1 = *(undefined2 *)((int)piVar6 + iVar3 + 4);
|
|
local_101 = *(char *)((int)piVar6 + iVar3 + 6);
|
|
local_103._0_1_ = (char)uVar1;
|
|
local_103._1_1_ = (char)((ushort)uVar1 >> 8);
|
|
if (((*(char *)(param_1 + 100) == (char)local_103) &&
|
|
(*(char *)(param_1 + 0x65) == local_103._1_1_)) && (*(char *)(param_1 + 0x66) == local_101))
|
|
{
|
|
bVar4 = false;
|
|
}
|
|
else {
|
|
bVar4 = true;
|
|
}
|
|
if (bVar4) {
|
|
*(char *)(param_1 + 100) = (char)local_103;
|
|
*(char *)(param_1 + 0x65) = local_103._1_1_;
|
|
*(char *)(param_1 + 0x66) = local_101;
|
|
local_103 = uVar1;
|
|
(**(code **)(**(int **)(param_1 + 0x68) + 0xc))
|
|
(*(int **)(param_1 + 0x68),&local_103,*(undefined4 *)(param_1 + 0x5c));
|
|
uVar1 = local_103;
|
|
}
|
|
}
|
|
local_103 = uVar1;
|
|
FUN_00443090(iVar2 + 0x3c,*(char **)(param_1 + 0x48 + *(int *)(param_1 + 0x60) * 4));
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3aa4 file=? name=FUN_004c3aa4 */
|
|
|
|
undefined4 __cdecl
|
|
FUN_004c3aa4(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5)
|
|
|
|
{
|
|
uint *puVar1;
|
|
int iVar2;
|
|
int *piVar3;
|
|
undefined4 uVar4;
|
|
uint *local_8;
|
|
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,&DAT_00514414);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
iVar2 = FUN_0042076c(param_4,(int *)&local_8);
|
|
if (iVar2 < 0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_Warning__damage_zone___005185e9,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,(char *)local_8[2],(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s___not_found__00518600,(char *)0x0);
|
|
}
|
|
piVar3 = (int *)FUN_00402298(0x70);
|
|
if (piVar3 != (int *)0x0) {
|
|
FUN_004c3b98(piVar3,DAT_005142c0,DAT_00514304,param_5,0,param_1,param_4,DAT_00514348,
|
|
&DAT_0051438c,&DAT_005143d0,iVar2,s_ColorMapperArmor_00518489);
|
|
}
|
|
uVar4 = 1;
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return uVar4;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3b98 file=? name=FUN_004c3b98 */
|
|
|
|
int * __cdecl
|
|
FUN_004c3b98(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,int param_7,undefined4 param_8,char *param_9,char *param_10,int param_11,
|
|
undefined4 param_12)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
FUN_004c37dc(param_1,param_2,param_3,param_4,param_5,param_6,param_8,param_9,param_10,param_12);
|
|
*param_1 = (int)&PTR_FUN_00518dcc;
|
|
param_1[0x1b] = 0;
|
|
puVar1 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_004c33a4(puVar1,0,param_1 + 0x15,param_7,param_11);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3c14 file=? name=FUN_004c3c14 */
|
|
|
|
void FUN_004c3c14(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3c1c file=? name=FUN_004c3c1c */
|
|
|
|
void __cdecl FUN_004c3c1c(int param_1)
|
|
|
|
{
|
|
if (*(int *)(param_1 + 0x6c) != 0) {
|
|
*(undefined4 *)(param_1 + 0x54) = 100;
|
|
}
|
|
FUN_004c3980(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3c38 file=? name=FUN_004c3c38 */
|
|
|
|
void __cdecl FUN_004c3c38(int param_1,undefined4 param_2)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x6c) = param_2;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3c48 file=? name=FUN_004c3c48 */
|
|
|
|
undefined4 __cdecl
|
|
FUN_004c3c48(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5)
|
|
|
|
{
|
|
uint *puVar1;
|
|
int iVar2;
|
|
undefined4 uVar3;
|
|
int *piVar4;
|
|
int iVar5;
|
|
int local_34 [8];
|
|
char *local_14;
|
|
uint *local_10;
|
|
int local_c;
|
|
undefined *local_8;
|
|
|
|
iVar5 = 0;
|
|
local_8 = &DAT_00514704;
|
|
local_c = 1;
|
|
piVar4 = local_34;
|
|
do {
|
|
local_14 = local_8 + iVar5 * 0x44 + 0x158;
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_10 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_10 = FUN_00402460(puVar1,local_14);
|
|
}
|
|
local_10[3] = local_10[3] + 1;
|
|
iVar2 = FUN_0042076c(param_4,(int *)&local_10);
|
|
*piVar4 = iVar2;
|
|
if (iVar2 != 0) {
|
|
local_c = 0;
|
|
}
|
|
puVar1 = local_10 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_10,3);
|
|
}
|
|
iVar5 = iVar5 + 1;
|
|
piVar4 = piVar4 + 1;
|
|
} while (iVar5 < 8);
|
|
if (local_c == 0) {
|
|
piVar4 = (int *)FUN_00402298(0x6c);
|
|
if (piVar4 != (int *)0x0) {
|
|
FUN_004c3d60(piVar4,*(undefined4 *)(local_8 + 4),*(undefined4 *)(local_8 + 0x48),param_5,0,
|
|
param_1,param_4,*(undefined4 *)(local_8 + 0x8c),local_8 + 0xd0,local_8 + 0x114,
|
|
local_34,s_ColorMapperMultiArmor_0051849a);
|
|
}
|
|
uVar3 = 1;
|
|
}
|
|
else {
|
|
FUN_004dbb24(&DAT_00524e20,s_No_Damage_zones_found__00518624,(char *)0x0);
|
|
uVar3 = 0;
|
|
}
|
|
return uVar3;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3d60 file=? name=FUN_004c3d60 */
|
|
|
|
int * __cdecl
|
|
FUN_004c3d60(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,undefined4 param_7,undefined4 param_8,char *param_9,char *param_10,
|
|
undefined4 *param_11,undefined4 param_12)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
FUN_004c37dc(param_1,param_2,param_3,param_4,param_5,param_6,param_8,param_9,param_10,param_12);
|
|
*param_1 = (int)&PTR_FUN_00518d88;
|
|
puVar1 = (undefined4 *)FUN_00402298(0x3c);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_004c346c(puVar1,0,param_1 + 0x15,param_7,param_11);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3dd4 file=? name=FUN_004c3dd4 */
|
|
|
|
void FUN_004c3dd4(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3ddc file=? name=FUN_004c3ddc */
|
|
|
|
undefined4 __cdecl
|
|
FUN_004c3ddc(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5)
|
|
|
|
{
|
|
int *piVar1;
|
|
|
|
piVar1 = (int *)FUN_00402298(0x6c);
|
|
if (piVar1 != (int *)0x0) {
|
|
FUN_004c3e40(piVar1,DAT_00514b50,DAT_00514b94,param_5,0,param_1,param_4,DAT_00514bd8,
|
|
&DAT_00514c1c,&DAT_00514c60,&DAT_00514ca4,s_ColorMapperCritical_005184b0);
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3e40 file=? name=FUN_004c3e40 */
|
|
|
|
int * __cdecl
|
|
FUN_004c3e40(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,int param_7,undefined4 param_8,char *param_9,char *param_10,char *param_11,
|
|
undefined4 param_12)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
|
|
FUN_004c37dc(param_1,param_2,param_3,param_4,param_5,param_6,param_8,param_9,param_10,param_12);
|
|
*param_1 = (int)&PTR_FUN_00518d44;
|
|
iVar1 = FUN_0041f98c(param_7,param_11);
|
|
if (iVar1 == 0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_ColorMapperCritical_warning__sub_00518643,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,param_11,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s___does_not_exist_0051866c,(char *)0x0);
|
|
}
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_004c3598(puVar2,0,param_1 + 0x15,iVar1);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3f00 file=? name=FUN_004c3f00 */
|
|
|
|
void FUN_004c3f00(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3f08 file=? name=FUN_004c3f08 */
|
|
|
|
undefined4 __cdecl
|
|
FUN_004c3f08(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5)
|
|
|
|
{
|
|
int *piVar1;
|
|
|
|
piVar1 = (int *)FUN_00402298(0x6c);
|
|
if (piVar1 != (int *)0x0) {
|
|
FUN_004c3f6c(piVar1,DAT_00514f98,DAT_00514fdc,param_5,0,param_1,param_4,DAT_00515020,
|
|
&DAT_00515064,&DAT_005150a8,&DAT_005150ec,s_ColorMapperHeat_005184c4);
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c3f6c file=bt_l4/btl4gaug.cpp name=FUN_004c3f6c */
|
|
|
|
int * __cdecl
|
|
FUN_004c3f6c(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,int param_7,undefined4 param_8,char *param_9,char *param_10,char *param_11,
|
|
undefined4 param_12)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
undefined4 *puVar3;
|
|
|
|
FUN_004c37dc(param_1,param_2,param_3,param_4,param_5,param_6,param_8,param_9,param_10,param_12);
|
|
*param_1 = (int)&PTR_FUN_00518d00;
|
|
iVar1 = FUN_0041f98c(param_7,param_11);
|
|
if (iVar1 == 0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_ColorMapperHeat_warning__subsyst_00518685,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,param_11,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s___does_not_exist_005186aa,(char *)0x0);
|
|
}
|
|
else {
|
|
iVar2 = FUN_0041a1a4(**(int **)(iVar1 + 0xc),0x50e3ec);
|
|
if ((iVar2 == 0) && (iVar2 = FUN_0041a1a4(**(int **)(iVar1 + 0xc),0x50e604), iVar2 == 0)) {
|
|
FUN_0040385c(s_Bad_subsystem_type_005186bc,s_d__tesla_bt_bt_l4_BTL4GAUG_CPP_005186cf,0x68a);
|
|
}
|
|
}
|
|
puVar3 = (undefined4 *)FUN_00402298(0x1c);
|
|
if (puVar3 == (undefined4 *)0x0) {
|
|
puVar3 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar3 = FUN_004c3664(puVar3,0,param_1 + 0x15,iVar1);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar3);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4074 file=? name=FUN_004c4074 */
|
|
|
|
void FUN_004c4074(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c407c file=? name=FUN_004c407c */
|
|
|
|
bool __cdecl FUN_004c407c(int param_1,int param_2,int param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
undefined4 *puVar3;
|
|
|
|
piVar2 = (int *)FUN_00402298(0xb8);
|
|
if (piVar2 != (int *)0x0) {
|
|
FUN_004c4170(piVar2,DAT_005153e0,DAT_00515424,param_5,0,param_1,param_2,param_3,
|
|
param_2 + DAT_00515468,param_3 + DAT_0051546c,&DAT_005154ac,DAT_005154f0,
|
|
DAT_00515534,DAT_00515578,DAT_005155bc,DAT_00515600,s_HorizTwoPartBar_005184d4);
|
|
}
|
|
iVar1 = *(int *)(param_5 + 0x4c);
|
|
puVar3 = FUN_00442aec(iVar1 + 4,&DAT_005154ac,0);
|
|
if (puVar3 != (undefined4 *)0x0) {
|
|
FUN_00442c12(iVar1 + 4,&DAT_005154ac);
|
|
}
|
|
else {
|
|
FUN_004dbb24(&DAT_00524e20,s_HorizTwoPartBar__Missing_image__005186f7,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_005154ac,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_00518717,(char *)0x0);
|
|
}
|
|
return puVar3 != (undefined4 *)0x0;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4170 file=? name=FUN_004c4170 */
|
|
|
|
int * __cdecl
|
|
FUN_004c4170(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,int param_7,int param_8,int param_9,int param_10,char *param_11,int param_12
|
|
,int param_13,undefined4 param_14,undefined4 param_15,undefined4 param_16,
|
|
undefined4 param_17)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,param_17);
|
|
*param_1 = (int)&PTR_FUN_00518cbc;
|
|
iVar1 = FUN_004700ac(param_11);
|
|
param_1[0x27] = iVar1;
|
|
FUN_00442aec(*(int *)(param_4 + 0x4c) + 4,(char *)param_1[0x27],0);
|
|
(**(code **)(param_1[0x12] + 8))(param_1 + 0x12,param_7,param_8,param_9,param_10);
|
|
param_1[0x28] = param_12;
|
|
param_1[0x29] = param_13;
|
|
param_1[0x2a] = param_9 - param_7;
|
|
param_1[0x2b] = (param_10 - param_8) + -1;
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00474855(puVar2,0,param_1 + 0x24,param_14);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00474855(puVar2,0,param_1 + 0x25,param_15);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00474855(puVar2,0,param_1 + 0x26,param_16);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c42b0 file=? name=FUN_004c42b0 */
|
|
|
|
void __cdecl FUN_004c42b0(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518cbc;
|
|
FUN_00442c12(*(int *)(param_1[7] + 0x4c) + 4,(char *)param_1[0x27]);
|
|
FUN_004022e8((int *)param_1[0x27]);
|
|
param_1[0x27] = 0;
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c430c file=? name=FUN_004c430c */
|
|
|
|
void FUN_004c430c(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c431c file=? name=FUN_004c431c */
|
|
|
|
void FUN_004c431c(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4324 file=? name=FUN_004c4324 */
|
|
|
|
void __cdecl FUN_004c4324(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0xb4) = 0;
|
|
*(undefined4 *)(param_1 + 0xb0) = *(undefined4 *)(param_1 + 0xa8);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4340 file=? name=FUN_004c4340 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004c4340(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
int *piVar3;
|
|
int *piVar4;
|
|
int local_14 [3];
|
|
int local_8;
|
|
|
|
if (_DAT_004c452c <= *(float *)(param_1 + 0x90)) {
|
|
if (*(float *)(param_1 + 0x98) < *(float *)(param_1 + 0x90)) {
|
|
*(undefined4 *)(param_1 + 0x90) = *(undefined4 *)(param_1 + 0x98);
|
|
}
|
|
}
|
|
else {
|
|
*(undefined4 *)(param_1 + 0x90) = 0;
|
|
}
|
|
local_8 = FUN_004dcd94();
|
|
local_14[2] = FUN_004dcd94();
|
|
local_14[1] = 0;
|
|
if (local_8 < 0) {
|
|
piVar3 = local_14 + 1;
|
|
}
|
|
else {
|
|
piVar3 = &local_8;
|
|
}
|
|
if (*(int *)(param_1 + 0xa8) <= *piVar3) {
|
|
piVar3 = (int *)(param_1 + 0xa8);
|
|
}
|
|
local_8 = *piVar3;
|
|
local_14[0] = 0;
|
|
if (local_14[2] < 0) {
|
|
piVar4 = local_14;
|
|
}
|
|
else {
|
|
piVar4 = local_14 + 2;
|
|
}
|
|
if (*(int *)(param_1 + 0xa8) <= *piVar4) {
|
|
piVar4 = (int *)(param_1 + 0xa8);
|
|
}
|
|
local_14[2] = *piVar4;
|
|
if ((*piVar3 != *(int *)(param_1 + 0xb4)) || (local_14[2] != *(int *)(param_1 + 0xb0))) {
|
|
piVar3 = (int *)(param_1 + 0x48);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(piVar3,*(undefined4 *)(param_1 + 0xa0));
|
|
iVar1 = *(int *)(*(int *)(param_1 + 0x1c) + 0x4c);
|
|
puVar2 = FUN_00442aec(iVar1 + 4,*(char **)(param_1 + 0x9c),0);
|
|
FUN_004c2ff8(piVar3,0,0,local_8 + -1,*(int *)(param_1 + 0xac),*(undefined4 *)(param_1 + 0xa4),
|
|
(int)puVar2);
|
|
FUN_00442c12(iVar1 + 4,*(char **)(param_1 + 0x9c));
|
|
if (local_8 < local_14[2]) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(piVar3,local_8,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x48))
|
|
(piVar3,local_14[2] + -1,*(undefined4 *)(param_1 + 0xac));
|
|
}
|
|
if (local_14[2] < *(int *)(param_1 + 0xa8)) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(piVar3,*(undefined4 *)(param_1 + 0xa4));
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(piVar3,local_14[2],0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x48))
|
|
(piVar3,*(undefined4 *)(param_1 + 0xa8),*(undefined4 *)(param_1 + 0xac));
|
|
}
|
|
*(int *)(param_1 + 0xb4) = local_8;
|
|
*(int *)(param_1 + 0xb0) = local_14[2];
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4534 file=? name=FUN_004c4534 */
|
|
|
|
bool __cdecl FUN_004c4534(int param_1,int param_2,int param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
undefined4 *puVar3;
|
|
|
|
piVar2 = (int *)FUN_00402298(0xbc);
|
|
if (piVar2 != (int *)0x0) {
|
|
FUN_004c4724(piVar2,DAT_00515828,DAT_0051586c,param_5,0,param_1,param_2,param_3,
|
|
param_2 + DAT_005158b0,param_3 + DAT_005158b4,&DAT_005158f4,DAT_00515938,
|
|
DAT_0051597c,DAT_005159c0,DAT_00515a04,DAT_00515a48,DAT_00515a8c,
|
|
s_VertTwoPartBar_005184e4);
|
|
}
|
|
iVar1 = *(int *)(param_5 + 0x4c);
|
|
puVar3 = FUN_00442aec(iVar1 + 4,&DAT_005158f4,0);
|
|
if (puVar3 != (undefined4 *)0x0) {
|
|
FUN_00442c12(iVar1 + 4,&DAT_005158f4);
|
|
}
|
|
else {
|
|
FUN_004dbb24(&DAT_00524e20,s_VertTwoPartBar__Missing_image__00518722,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_005158f4,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_00518741,(char *)0x0);
|
|
}
|
|
return puVar3 != (undefined4 *)0x0;
|
|
}
|
|
|
|
|
|
|
|
/* @004c462c file=? name=FUN_004c462c */
|
|
|
|
bool __cdecl FUN_004c462c(int param_1,int param_2,int param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
undefined4 *puVar3;
|
|
|
|
piVar2 = (int *)FUN_00402298(0xbc);
|
|
if (piVar2 != (int *)0x0) {
|
|
FUN_004c4724(piVar2,DAT_00515c70,DAT_00515cb4,param_5,0,param_1,param_2,param_3,
|
|
param_2 + DAT_00515cf8,param_3 + DAT_00515cfc,&DAT_00515d3c,DAT_00515d80,
|
|
DAT_00515dc4,DAT_00515e08,DAT_00515e4c,DAT_00515e90,&DAT_00514270,
|
|
s_VertTwoPartBar_005184e4);
|
|
}
|
|
iVar1 = *(int *)(param_5 + 0x4c);
|
|
puVar3 = FUN_00442aec(iVar1 + 4,&DAT_00515d3c,0);
|
|
if (puVar3 != (undefined4 *)0x0) {
|
|
FUN_00442c12(iVar1 + 4,&DAT_00515d3c);
|
|
}
|
|
else {
|
|
FUN_004dbb24(&DAT_00524e20,s_VertTwoPartBarNormalized__Missin_00518756,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_00515d3c,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_0051877f,(char *)0x0);
|
|
}
|
|
return puVar3 != (undefined4 *)0x0;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4724 file=? name=FUN_004c4724 */
|
|
|
|
int * __cdecl
|
|
FUN_004c4724(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,int param_7,int param_8,int param_9,int param_10,char *param_11,int param_12
|
|
,int param_13,int param_14,undefined4 param_15,undefined4 param_16,undefined4 param_17,
|
|
undefined4 param_18)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,param_18);
|
|
*param_1 = (int)&PTR_FUN_00518c78;
|
|
iVar1 = FUN_004700ac(param_11);
|
|
param_1[0x24] = iVar1;
|
|
FUN_00442aec(*(int *)(param_4 + 0x4c) + 4,(char *)param_1[0x24],0);
|
|
(**(code **)(param_1[0x12] + 8))(param_1 + 0x12,param_7,param_8,param_9,param_10);
|
|
param_1[0x25] = param_12;
|
|
param_1[0x26] = param_13;
|
|
param_1[0x27] = param_14;
|
|
param_1[0x28] = (param_9 - param_7) + -1;
|
|
param_1[0x29] = param_10 - param_8;
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00474855(puVar2,0,param_1 + 0x2c,param_15);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00474855(puVar2,0,param_1 + 0x2d,param_16);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00474855(puVar2,0,param_1 + 0x2e,param_17);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c486c file=? name=FUN_004c486c */
|
|
|
|
void __cdecl FUN_004c486c(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518c78;
|
|
FUN_00442c12(*(int *)(param_1[7] + 0x4c) + 4,(char *)param_1[0x24]);
|
|
FUN_004022e8((int *)param_1[0x24]);
|
|
param_1[0x24] = 0;
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c48c8 file=? name=FUN_004c48c8 */
|
|
|
|
void FUN_004c48c8(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c48d8 file=? name=FUN_004c48d8 */
|
|
|
|
void FUN_004c48d8(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c48e0 file=? name=FUN_004c48e0 */
|
|
|
|
void __cdecl FUN_004c48e0(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0xac) = 0;
|
|
*(undefined4 *)(param_1 + 0xa8) = *(undefined4 *)(param_1 + 0xa0);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c48fc file=? name=FUN_004c48fc */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004c48fc(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
int *piVar3;
|
|
int *piVar4;
|
|
int local_14 [3];
|
|
int local_8;
|
|
|
|
if (_DAT_004c4b00 <= *(float *)(param_1 + 0xb0)) {
|
|
if (*(float *)(param_1 + 0xb8) < *(float *)(param_1 + 0xb0)) {
|
|
*(undefined4 *)(param_1 + 0xb0) = *(undefined4 *)(param_1 + 0xb8);
|
|
}
|
|
}
|
|
else {
|
|
*(undefined4 *)(param_1 + 0xb0) = 0;
|
|
}
|
|
local_8 = FUN_004dcd94();
|
|
local_14[2] = FUN_004dcd94();
|
|
local_14[1] = 0;
|
|
if (local_8 < 0) {
|
|
piVar3 = local_14 + 1;
|
|
}
|
|
else {
|
|
piVar3 = &local_8;
|
|
}
|
|
if (*(int *)(param_1 + 0xa4) <= *piVar3) {
|
|
piVar3 = (int *)(param_1 + 0xa4);
|
|
}
|
|
local_8 = *piVar3;
|
|
local_14[0] = 0;
|
|
if (local_14[2] < 0) {
|
|
piVar4 = local_14;
|
|
}
|
|
else {
|
|
piVar4 = local_14 + 2;
|
|
}
|
|
if (*(int *)(param_1 + 0xa4) <= *piVar4) {
|
|
piVar4 = (int *)(param_1 + 0xa4);
|
|
}
|
|
local_14[2] = *piVar4;
|
|
if ((*piVar3 != *(int *)(param_1 + 0xac)) || (local_14[2] != *(int *)(param_1 + 0xa8))) {
|
|
iVar1 = *(int *)(*(int *)(param_1 + 0x1c) + 0x4c);
|
|
puVar2 = FUN_00442aec(iVar1 + 4,*(char **)(param_1 + 0x90),0);
|
|
piVar3 = (int *)(param_1 + 0x48);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(piVar3,*(undefined4 *)(param_1 + 0x94));
|
|
FUN_004c2ff8(piVar3,0,0,*(int *)(param_1 + 0xa0),local_8 + -1,*(undefined4 *)(param_1 + 0x9c),
|
|
(int)puVar2);
|
|
FUN_00442c12(iVar1 + 4,*(char **)(param_1 + 0x90));
|
|
if (local_8 < local_14[2]) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(piVar3,*(undefined4 *)(param_1 + 0x98));
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(piVar3,0,local_8);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x48))
|
|
(piVar3,*(undefined4 *)(param_1 + 0xa0),local_14[2] + -1);
|
|
}
|
|
if (local_14[2] < *(int *)(param_1 + 0xa4)) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(piVar3,*(undefined4 *)(param_1 + 0x9c));
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(piVar3,0,local_14[2]);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x48))
|
|
(piVar3,*(undefined4 *)(param_1 + 0xa0),*(undefined4 *)(param_1 + 0xa4));
|
|
}
|
|
*(int *)(param_1 + 0xac) = local_8;
|
|
*(int *)(param_1 + 0xa8) = local_14[2];
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4b08 file=? name=FUN_004c4b08 */
|
|
|
|
undefined4 __cdecl FUN_004c4b08(int param_1,int param_2,int param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
int *piVar1;
|
|
|
|
piVar1 = (int *)FUN_00402298(0xb0);
|
|
if (piVar1 != (int *)0x0) {
|
|
FUN_004c4b84(piVar1,DAT_005160b8,DAT_005160fc,param_5,0,param_1,param_2,param_3,
|
|
param_2 + DAT_00516140,param_3 + DAT_00516144,DAT_00516184,DAT_005161c8,
|
|
DAT_0051620c,DAT_00516250,s_VertNormalSlider_005184f3);
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4b84 file=? name=FUN_004c4b84 */
|
|
|
|
int * __cdecl
|
|
FUN_004c4b84(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,int param_7,int param_8,int param_9,int param_10,int param_11,int param_12,
|
|
int param_13,undefined4 param_14,undefined4 param_15)
|
|
|
|
{
|
|
int *piVar1;
|
|
undefined4 *puVar2;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,param_15);
|
|
*param_1 = (int)&PTR_FUN_00518c34;
|
|
piVar1 = param_1 + 0x12;
|
|
(**(code **)(param_1[0x12] + 8))(piVar1,param_7,param_8,param_9,param_10);
|
|
(**(code **)(param_1[0x12] + 0xc))(piVar1,3);
|
|
(**(code **)(param_1[0x12] + 0x18))(piVar1,param_11);
|
|
param_1[0x29] = param_11;
|
|
param_1[0x2a] = param_12;
|
|
param_1[0x27] = param_13;
|
|
param_1[0x25] = (param_9 - param_7) + -1;
|
|
param_1[0x26] = param_10 - param_8;
|
|
param_1[0x28] = (param_10 - param_8) - param_1[0x27];
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00474855(puVar2,0,param_1 + 0x2b,param_14);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4c68 file=? name=FUN_004c4c68 */
|
|
|
|
void __cdecl FUN_004c4c68(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518c34;
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4c94 file=? name=FUN_004c4c94 */
|
|
|
|
void FUN_004c4c94(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4ca4 file=? name=FUN_004c4ca4 */
|
|
|
|
void FUN_004c4ca4(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4cac file=? name=FUN_004c4cac */
|
|
|
|
void __cdecl FUN_004c4cac(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x90) = 0xffffffff;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4cc0 file=? name=FUN_004c4cc0 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004c4cc0(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
if (_DAT_004c4d3c <= *(float *)(param_1 + 0xac)) {
|
|
if (_DAT_004c4d40 < *(float *)(param_1 + 0xac)) {
|
|
*(undefined4 *)(param_1 + 0xac) = 0x3f800000;
|
|
}
|
|
}
|
|
else {
|
|
*(undefined4 *)(param_1 + 0xac) = 0;
|
|
}
|
|
iVar1 = FUN_004dcd94();
|
|
if (iVar1 != *(int *)(param_1 + 0x90)) {
|
|
FUN_004c4d48(param_1);
|
|
*(int *)(param_1 + 0x90) = iVar1;
|
|
FUN_004c4d48(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4d48 file=? name=FUN_004c4d48 */
|
|
|
|
void __cdecl FUN_004c4d48(int param_1)
|
|
|
|
{
|
|
if (-1 < *(int *)(param_1 + 0x90)) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(param_1 + 0x48,0,*(int *)(param_1 + 0x90));
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x4c))
|
|
(param_1 + 0x48,*(undefined4 *)(param_1 + 0x94),*(undefined4 *)(param_1 + 0x9c));
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4d88 file=? name=FUN_004c4d88 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c4d88(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4,
|
|
undefined4 param_5,int param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9,
|
|
char *param_10,undefined4 param_11,undefined4 param_12,int param_13,int param_14,
|
|
undefined4 param_15)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
undefined4 *puVar2;
|
|
int *piVar3;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,param_15);
|
|
*param_1 = &PTR_FUN_00518bf0;
|
|
param_1[0x26] = param_11;
|
|
param_1[0x27] = param_12;
|
|
param_1[0x28] = param_13;
|
|
param_1[0x24] = param_9;
|
|
uVar1 = FUN_004700ac(param_10);
|
|
param_1[0x25] = uVar1;
|
|
if (param_1[0x24] == 0) {
|
|
piVar3 = FUN_00442d2b(*(int *)(param_4 + 0x4c) + 0x20,(char *)param_1[0x25],0);
|
|
param_1[0x29] = *piVar3 / param_13;
|
|
param_1[0x2a] = piVar3[1] / param_14;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00442aec(*(int *)(param_4 + 0x4c) + 4,(char *)param_1[0x25],0);
|
|
param_1[0x29] = (int)puVar2[3] / param_13;
|
|
param_1[0x2a] = (int)puVar2[4] / param_14;
|
|
}
|
|
(**(code **)(param_1[0x12] + 0x10))(param_1 + 0x12,param_7,param_8);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4e7c file=? name=FUN_004c4e7c */
|
|
|
|
void __cdecl FUN_004c4e7c(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518bf0;
|
|
if (param_1[0x24] == 0) {
|
|
FUN_00442e51(*(int *)(param_1[7] + 0x4c) + 0x20,(char *)param_1[0x25]);
|
|
}
|
|
else {
|
|
FUN_00442c12(*(int *)(param_1[7] + 0x4c) + 4,(char *)param_1[0x25]);
|
|
}
|
|
FUN_004022e8((int *)param_1[0x25]);
|
|
param_1[0x25] = 0;
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4efc file=? name=FUN_004c4efc */
|
|
|
|
void FUN_004c4efc(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4f0c file=? name=FUN_004c4f0c */
|
|
|
|
void FUN_004c4f0c(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4f14 file=? name=FUN_004c4f14 */
|
|
|
|
void __cdecl FUN_004c4f14(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0xb0) = 0xffffffff;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c4f28 file=? name=FUN_004c4f28 */
|
|
|
|
void __cdecl FUN_004c4f28(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
int *piVar3;
|
|
int iVar4;
|
|
int iVar5;
|
|
int iVar6;
|
|
int iVar7;
|
|
|
|
if (*(int *)(param_1 + 0xac) != *(int *)(param_1 + 0xb0)) {
|
|
*(int *)(param_1 + 0xb0) = *(int *)(param_1 + 0xac);
|
|
iVar7 = *(int *)(param_1 + 0xa0);
|
|
if (iVar7 == 1) {
|
|
iVar6 = 0;
|
|
iVar7 = *(int *)(param_1 + 0xac);
|
|
}
|
|
else {
|
|
iVar6 = *(int *)(param_1 + 0xac) % iVar7;
|
|
iVar7 = *(int *)(param_1 + 0xac) / iVar7;
|
|
}
|
|
iVar6 = iVar6 * *(int *)(param_1 + 0xa4);
|
|
iVar4 = *(int *)(param_1 + 0xa4) + iVar6 + -1;
|
|
iVar7 = iVar7 * *(int *)(param_1 + 0xa8);
|
|
iVar5 = *(int *)(param_1 + 0xa8) + iVar7 + -1;
|
|
if (*(int *)(param_1 + 0x90) == 0) {
|
|
iVar1 = *(int *)(*(int *)(param_1 + 0x1c) + 0x4c);
|
|
piVar3 = FUN_00442d2b(iVar1 + 0x20,*(char **)(param_1 + 0x94),0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x5c))
|
|
(param_1 + 0x48,1,0,piVar3,iVar6,iVar7,iVar4,iVar5);
|
|
FUN_00442e51(iVar1 + 0x20,*(char **)(param_1 + 0x94));
|
|
}
|
|
else {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(param_1 + 0x48,*(undefined4 *)(param_1 + 0x98))
|
|
;
|
|
iVar1 = *(int *)(*(int *)(param_1 + 0x1c) + 0x4c);
|
|
puVar2 = FUN_00442aec(iVar1 + 4,*(char **)(param_1 + 0x94),0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x58))
|
|
(param_1 + 0x48,*(undefined4 *)(param_1 + 0x9c),0,puVar2,iVar6,iVar7,iVar4,iVar5);
|
|
FUN_00442c12(iVar1 + 4,*(char **)(param_1 + 0x94));
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5068 file=? name=FUN_004c5068 */
|
|
|
|
bool __cdecl
|
|
FUN_004c5068(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
undefined4 *puVar3;
|
|
|
|
piVar2 = (int *)FUN_00402298(0xb4);
|
|
if (piVar2 != (int *)0x0) {
|
|
FUN_004c5148(piVar2,DAT_00516500,DAT_00516544,param_5,0,param_1,param_2,param_3,&DAT_00516588,
|
|
DAT_005165cc,DAT_00516610,DAT_00516654,DAT_00516698,DAT_005166dc,
|
|
s_OneOfSeveralInt_00518511);
|
|
}
|
|
iVar1 = *(int *)(param_5 + 0x4c);
|
|
puVar3 = FUN_00442aec(iVar1 + 4,&DAT_00516588,0);
|
|
if (puVar3 != (undefined4 *)0x0) {
|
|
FUN_00442c12(iVar1 + 4,&DAT_00516588);
|
|
}
|
|
else {
|
|
FUN_004dbb24(&DAT_00524e20,s_OneOfSeveralInt__Missing_image__005187a3,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_00516588,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_005187c3,(char *)0x0);
|
|
}
|
|
return puVar3 != (undefined4 *)0x0;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5148 file=? name=FUN_004c5148 */
|
|
|
|
int * __cdecl
|
|
FUN_004c5148(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,undefined4 param_7,undefined4 param_8,char *param_9,undefined4 param_10,
|
|
undefined4 param_11,int param_12,int param_13,undefined4 param_14,undefined4 param_15)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
FUN_004c4d88(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,1,param_9,param_10,
|
|
param_11,param_12,param_13,param_15);
|
|
*param_1 = (int)&PTR_FUN_00518bac;
|
|
param_1[0x2b] = 0;
|
|
puVar1 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_004749de(puVar1,0,param_1 + 0x2b,param_14);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c51d8 file=? name=FUN_004c51d8 */
|
|
|
|
void __cdecl FUN_004c51d8(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518bac;
|
|
FUN_004c4e7c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5204 file=? name=FUN_004c5204 */
|
|
|
|
bool __cdecl
|
|
FUN_004c5204(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
|
|
piVar2 = (int *)FUN_00402298(0xb4);
|
|
if (piVar2 != (int *)0x0) {
|
|
FUN_004c52d8(piVar2,DAT_00516948,DAT_0051698c,param_5,0,param_1,param_2,param_3,&DAT_005169d0,
|
|
DAT_00516a14,DAT_00516a58,DAT_00516a9c,s_OneOfSeveralPixInt_00518521);
|
|
}
|
|
iVar1 = *(int *)(param_5 + 0x4c);
|
|
piVar2 = FUN_00442d2b(iVar1 + 0x20,&DAT_005169d0,0);
|
|
if (piVar2 != (int *)0x0) {
|
|
FUN_00442e51(iVar1 + 0x20,&DAT_005169d0);
|
|
}
|
|
else {
|
|
FUN_004dbb24(&DAT_00524e20,s_OneOfSeveralPixInt__Missing_imag_005187d9,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_005169d0,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_005187fc,(char *)0x0);
|
|
}
|
|
return piVar2 != (int *)0x0;
|
|
}
|
|
|
|
|
|
|
|
/* @004c52d8 file=? name=FUN_004c52d8 */
|
|
|
|
int * __cdecl
|
|
FUN_004c52d8(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,undefined4 param_7,undefined4 param_8,char *param_9,int param_10,
|
|
int param_11,undefined4 param_12,undefined4 param_13)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
FUN_004c4d88(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,0,param_9,0,0,
|
|
param_10,param_11,param_13);
|
|
*param_1 = (int)&PTR_FUN_00518b68;
|
|
param_1[0x2b] = 0;
|
|
puVar1 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_004749de(puVar1,0,param_1 + 0x2b,param_12);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5364 file=? name=FUN_004c5364 */
|
|
|
|
void __cdecl FUN_004c5364(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518b68;
|
|
FUN_004c4e7c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5390 file=? name=FUN_004c5390 */
|
|
|
|
bool __cdecl
|
|
FUN_004c5390(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
undefined4 *puVar3;
|
|
|
|
piVar2 = (int *)FUN_00402298(0xb4);
|
|
if (piVar2 != (int *)0x0) {
|
|
FUN_004c5470(piVar2,DAT_00516d90,DAT_00516dd4,param_5,0,param_1,param_2,param_3,&DAT_00516e18,
|
|
DAT_00516e5c,DAT_00516ea0,DAT_00516ee4,DAT_00516f28,DAT_00516f6c,
|
|
s_OneOfSeveralStates_00518534);
|
|
}
|
|
iVar1 = *(int *)(param_5 + 0x4c);
|
|
puVar3 = FUN_00442aec(iVar1 + 4,&DAT_00516e18,0);
|
|
if (puVar3 != (undefined4 *)0x0) {
|
|
FUN_00442c12(iVar1 + 4,&DAT_00516e18);
|
|
}
|
|
else {
|
|
FUN_004dbb24(&DAT_00524e20,s_OneOfSeveralStates__Missing_imag_00518812,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_00516e18,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_00518835,(char *)0x0);
|
|
}
|
|
return puVar3 != (undefined4 *)0x0;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5470 file=? name=FUN_004c5470 */
|
|
|
|
int * __cdecl
|
|
FUN_004c5470(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,undefined4 param_7,undefined4 param_8,char *param_9,undefined4 param_10,
|
|
undefined4 param_11,int param_12,int param_13,undefined4 param_14,undefined4 param_15)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
FUN_004c4d88(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,1,param_9,param_10,
|
|
param_11,param_12,param_13,param_15);
|
|
*param_1 = (int)&PTR_FUN_00518b24;
|
|
param_1[0x2b] = 0;
|
|
puVar1 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_004c3324(puVar1,0,param_1 + 0x2b,param_14);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5500 file=? name=FUN_004c5500 */
|
|
|
|
void __cdecl FUN_004c5500(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518b24;
|
|
FUN_004c4e7c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c552c file=? name=FUN_004c552c */
|
|
|
|
void __cdecl FUN_004c552c(int param_1)
|
|
|
|
{
|
|
if (*(int *)(param_1 + 0xac) < 0) {
|
|
*(undefined4 *)(param_1 + 0xac) = 0;
|
|
}
|
|
FUN_004c4f28(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c554c file=? name=FUN_004c554c */
|
|
|
|
bool __cdecl
|
|
FUN_004c554c(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
|
|
puVar2 = (undefined4 *)FUN_00402298(0xc0);
|
|
if (puVar2 != (undefined4 *)0x0) {
|
|
FUN_004c562c(puVar2,DAT_005171d8,DAT_0051721c,param_5,0,param_1,param_2,param_3,DAT_00517260,
|
|
DAT_005172a4,DAT_005172e8,DAT_0051732c,DAT_00517370,&DAT_005173b4,
|
|
s_HeadingPointer_00518547);
|
|
}
|
|
iVar1 = *(int *)(param_5 + 0x4c);
|
|
puVar2 = FUN_00442aec(iVar1 + 4,&DAT_005173b4,0);
|
|
if (puVar2 != (undefined4 *)0x0) {
|
|
FUN_00442c12(iVar1 + 4,&DAT_005173b4);
|
|
}
|
|
else {
|
|
FUN_004dbb24(&DAT_00524e20,s_HeadingPointer__Missing_font__00518847,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_005173b4,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_00518865,(char *)0x0);
|
|
}
|
|
return puVar2 != (undefined4 *)0x0;
|
|
}
|
|
|
|
|
|
|
|
/* @004c562c file=? name=FUN_004c562c */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c562c(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4,
|
|
undefined4 param_5,int param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9,
|
|
int param_10,int param_11,undefined4 param_12,undefined4 param_13,char *param_14,
|
|
undefined4 param_15)
|
|
|
|
{
|
|
int iVar1;
|
|
uint uVar2;
|
|
undefined4 uVar3;
|
|
undefined4 *puVar4;
|
|
int iVar5;
|
|
int *piVar6;
|
|
int iVar7;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,param_15);
|
|
*param_1 = &PTR_FUN_00518ae0;
|
|
FUN_0044a5b4(param_1 + 0x29);
|
|
(**(code **)(param_1[0x12] + 0x10))(param_1 + 0x12,param_7,param_8);
|
|
param_1[0x24] = param_9;
|
|
param_1[0x25] = param_11;
|
|
param_1[0x26] = param_12;
|
|
param_1[0x27] = param_13;
|
|
uVar3 = FUN_004700ac(param_14);
|
|
param_1[0x28] = uVar3;
|
|
iVar1 = *(int *)(param_1[7] + 0x4c);
|
|
puVar4 = FUN_00442aec(iVar1 + 4,param_14,0);
|
|
uVar2 = ((int)puVar4[3] / 0xe) * 3;
|
|
iVar5 = (int)uVar2 >> 1;
|
|
if (iVar5 < 0) {
|
|
iVar5 = iVar5 + (uint)((uVar2 & 1) != 0);
|
|
}
|
|
iVar7 = (int)puVar4[4] >> 1;
|
|
if (iVar7 < 0) {
|
|
iVar7 = iVar7 + (uint)((puVar4[4] & 1) != 0);
|
|
}
|
|
piVar6 = (int *)FUN_00402298(0x44);
|
|
if (piVar6 == (int *)0x0) {
|
|
piVar6 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar6 = FUN_004700bc(piVar6,iVar1,-iVar5,-iVar7,param_14,3,0,param_11,param_10);
|
|
}
|
|
param_1[0x2f] = piVar6;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c573c file=? name=FUN_004c573c */
|
|
|
|
void __cdecl FUN_004c573c(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518ae0;
|
|
FUN_00442c12(*(int *)(param_1[7] + 0x4c) + 4,(char *)param_1[0x28]);
|
|
FUN_004022e8((int *)param_1[0x28]);
|
|
param_1[0x28] = 0;
|
|
FUN_0047018c((int *)param_1[0x2f],3);
|
|
param_1[0x2f] = 0;
|
|
FUN_0044a5dc(param_1 + 0x29,2);
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c57c0 file=? name=FUN_004c57c0 */
|
|
|
|
void FUN_004c57c0(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c57d0 file=? name=FUN_004c57d0 */
|
|
|
|
void __cdecl FUN_004c57d0(int param_1,char *param_2)
|
|
|
|
{
|
|
char cVar1;
|
|
int *piVar2;
|
|
uint uVar3;
|
|
uint uVar4;
|
|
char *pcVar5;
|
|
char *pcVar6;
|
|
char local_54 [80];
|
|
|
|
FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_HeadingPointer__00518868,(char *)0x0);
|
|
uVar3 = 0xffffffff;
|
|
do {
|
|
pcVar5 = param_2;
|
|
if (uVar3 == 0) break;
|
|
uVar3 = uVar3 - 1;
|
|
pcVar5 = param_2 + 1;
|
|
cVar1 = *param_2;
|
|
param_2 = pcVar5;
|
|
} while (cVar1 != '\0');
|
|
uVar3 = ~uVar3;
|
|
pcVar5 = pcVar5 + -uVar3;
|
|
pcVar6 = local_54;
|
|
for (uVar4 = uVar3 >> 2; uVar4 != 0; uVar4 = uVar4 - 1) {
|
|
*(undefined4 *)pcVar6 = *(undefined4 *)pcVar5;
|
|
pcVar5 = pcVar5 + 4;
|
|
pcVar6 = pcVar6 + 4;
|
|
}
|
|
for (uVar3 = uVar3 & 3; uVar3 != 0; uVar3 = uVar3 - 1) {
|
|
*pcVar6 = *pcVar5;
|
|
pcVar5 = pcVar5 + 1;
|
|
pcVar6 = pcVar6 + 1;
|
|
}
|
|
FUN_004d49b8(local_54,&DAT_00518879);
|
|
uVar3 = *(uint *)(param_1 + 0x94);
|
|
FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_bgColor__0051887d,(char *)0x0);
|
|
piVar2 = FUN_004db78c(&DAT_00524e20,uVar3);
|
|
FUN_004dbb24(piVar2,&DAT_00518886,(char *)0x0);
|
|
uVar3 = *(uint *)(param_1 + 0x90);
|
|
FUN_004dbb24(&DAT_00524e20,local_54,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_fgColor__00518888,(char *)0x0);
|
|
piVar2 = FUN_004db78c(&DAT_00524e20,uVar3);
|
|
FUN_004dbb24(piVar2,&DAT_00518891,(char *)0x0);
|
|
FUN_004448bc(param_1,local_54);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c58e8 file=? name=FUN_004c58e8 */
|
|
|
|
void __cdecl FUN_004c58e8(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0xb4) = 0xfffffc19;
|
|
*(undefined4 *)(param_1 + 0xb8) = 0xfffffc19;
|
|
FUN_004703f4(*(int *)(param_1 + 0xbc));
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5914 file=? name=FUN_004c5914 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void FUN_004c5914(int param_1)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
float afStack_30 [3];
|
|
int iStack_24;
|
|
int iStack_20;
|
|
undefined4 uStack_1c;
|
|
undefined4 uStack_18;
|
|
float fStack_14;
|
|
float fStack_10;
|
|
float afStack_c [2];
|
|
|
|
iVar2 = FUN_00417ab4(*(int *)(param_1 + 0x1c) + 0x40);
|
|
if (iVar2 != 0) {
|
|
FUN_0040954c(afStack_30,(float *)(iVar2 + 0x10c));
|
|
fStack_14 = -afStack_30[0];
|
|
fStack_10 = fStack_14;
|
|
FUN_00408328(afStack_c,&fStack_14);
|
|
uStack_1c = FUN_004dcd94();
|
|
uStack_18 = FUN_004dcd94();
|
|
iStack_24 = FUN_004dcd94();
|
|
iStack_20 = FUN_004dcd94();
|
|
if ((iStack_24 != *(int *)(param_1 + 0xb4)) || (iStack_20 != *(int *)(param_1 + 0xb8))) {
|
|
*(int *)(param_1 + 0xb4) = iStack_24;
|
|
iVar2 = param_1 + 0x48;
|
|
piVar1 = (int *)(param_1 + 0xa4);
|
|
*(int *)(param_1 + 0xb8) = iStack_20;
|
|
FUN_0044a650(piVar1,iVar2,*(uint *)(param_1 + 0x94));
|
|
FUN_0044a630((int)piVar1);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 100))(iVar2,piVar1);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(iVar2,*(undefined4 *)(param_1 + 0x90));
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(iVar2,uStack_1c,uStack_18);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x38))(iVar2,iStack_24,iStack_20);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x68))(iVar2);
|
|
}
|
|
iVar2 = FUN_004dcd94();
|
|
if ((float)iVar2 < _DAT_004c5acc) {
|
|
FUN_004dcd94();
|
|
}
|
|
iVar2 = FUN_004dcd94();
|
|
FUN_00470430(*(int **)(param_1 + 0xbc),(int *)(param_1 + 0x48),(float)iVar2);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c591a file=? name=FUN_004c591a */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void FUN_004c591a(void)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
undefined4 uVar4;
|
|
int unaff_EBP;
|
|
|
|
iVar2 = *(int *)(unaff_EBP + 8);
|
|
iVar3 = FUN_00417ab4(*(int *)(iVar2 + 0x1c) + 0x40);
|
|
if (iVar3 != 0) {
|
|
FUN_0040954c((float *)(unaff_EBP + -0x2c),(float *)(iVar3 + 0x10c));
|
|
*(float *)(unaff_EBP + -0xc) = -*(float *)(unaff_EBP + -0x2c);
|
|
*(undefined4 *)(unaff_EBP + -0x10) = *(undefined4 *)(unaff_EBP + -0xc);
|
|
FUN_00408328((float *)(unaff_EBP + -8),(float *)(unaff_EBP + -0x10));
|
|
uVar4 = FUN_004dcd94();
|
|
*(undefined4 *)(unaff_EBP + -0x18) = uVar4;
|
|
uVar4 = FUN_004dcd94();
|
|
*(undefined4 *)(unaff_EBP + -0x14) = uVar4;
|
|
uVar4 = FUN_004dcd94();
|
|
*(undefined4 *)(unaff_EBP + -0x20) = uVar4;
|
|
uVar4 = FUN_004dcd94();
|
|
*(undefined4 *)(unaff_EBP + -0x1c) = uVar4;
|
|
if ((*(int *)(unaff_EBP + -0x20) != *(int *)(iVar2 + 0xb4)) ||
|
|
(*(int *)(unaff_EBP + -0x1c) != *(int *)(iVar2 + 0xb8))) {
|
|
*(int *)(iVar2 + 0xb4) = *(int *)(unaff_EBP + -0x20);
|
|
iVar3 = iVar2 + 0x48;
|
|
piVar1 = (int *)(iVar2 + 0xa4);
|
|
*(undefined4 *)(iVar2 + 0xb8) = *(undefined4 *)(unaff_EBP + -0x1c);
|
|
FUN_0044a650(piVar1,iVar3,*(uint *)(iVar2 + 0x94));
|
|
FUN_0044a630((int)piVar1);
|
|
(**(code **)(*(int *)(iVar2 + 0x48) + 100))(iVar3,piVar1);
|
|
(**(code **)(*(int *)(iVar2 + 0x48) + 0x18))(iVar3,*(undefined4 *)(iVar2 + 0x90));
|
|
(**(code **)(*(int *)(iVar2 + 0x48) + 0x24))
|
|
(iVar3,*(undefined4 *)(unaff_EBP + -0x18),*(undefined4 *)(unaff_EBP + -0x14));
|
|
(**(code **)(*(int *)(iVar2 + 0x48) + 0x38))
|
|
(iVar3,*(undefined4 *)(unaff_EBP + -0x20),*(undefined4 *)(unaff_EBP + -0x1c));
|
|
(**(code **)(*(int *)(iVar2 + 0x48) + 0x68))(iVar3);
|
|
}
|
|
uVar4 = FUN_004dcd94();
|
|
*(undefined4 *)(unaff_EBP + -0x30) = uVar4;
|
|
if ((float)*(int *)(unaff_EBP + -0x30) < _DAT_004c5acc) {
|
|
*(undefined4 *)(unaff_EBP + -0x34) = uVar4;
|
|
uVar4 = FUN_004dcd94();
|
|
}
|
|
*(undefined4 *)(unaff_EBP + -0x30) = uVar4;
|
|
uVar4 = FUN_004dcd94();
|
|
*(undefined4 *)(unaff_EBP + -0x34) = uVar4;
|
|
FUN_00470430(*(int **)(iVar2 + 0xbc),(int *)(iVar2 + 0x48),(float)*(int *)(unaff_EBP + -0x34));
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5ad4 file=? name=FUN_004c5ad4 */
|
|
|
|
bool __cdecl
|
|
FUN_004c5ad4(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
undefined4 *puVar3;
|
|
|
|
piVar2 = (int *)FUN_00402298(0xb8);
|
|
if (piVar2 != (int *)0x0) {
|
|
FUN_004c5b7c(piVar2,DAT_00517620,DAT_00517664,param_5,0,param_1,param_2,param_3,&DAT_005176a8,
|
|
DAT_005176ec,DAT_00517730,DAT_00517774,DAT_005177b8,DAT_005177fc,
|
|
s_LeakGauge_00518556);
|
|
}
|
|
iVar1 = *(int *)(param_5 + 0x4c) + 4;
|
|
puVar3 = FUN_00442aec(iVar1,&DAT_005176a8,0);
|
|
if (puVar3 != (undefined4 *)0x0) {
|
|
FUN_00442c12(iVar1,&DAT_005176a8);
|
|
}
|
|
return puVar3 != (undefined4 *)0x0;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5b7c file=? name=FUN_004c5b7c */
|
|
|
|
int * __cdecl
|
|
FUN_004c5b7c(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,undefined4 param_7,undefined4 param_8,char *param_9,int param_10,
|
|
int param_11,int param_12,int param_13,undefined4 param_14,undefined4 param_15)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,param_15);
|
|
*param_1 = (int)&PTR_FUN_00518a9c;
|
|
(**(code **)(param_1[0x12] + 0x10))(param_1 + 0x12,param_7,param_8);
|
|
iVar1 = FUN_004700ac(param_9);
|
|
param_1[0x24] = iVar1;
|
|
param_1[0x25] = param_10;
|
|
param_1[0x26] = param_11;
|
|
param_1[0x28] = param_12;
|
|
param_1[0x27] = param_12 * 2;
|
|
param_1[0x2c] = param_13;
|
|
puVar2 = FUN_00442aec(*(int *)(param_4 + 0x4c) + 4,(char *)param_1[0x24],0);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
param_1[0x2a] = 0;
|
|
param_1[0x29] = 0;
|
|
}
|
|
else {
|
|
param_1[0x2a] = (int)puVar2[3] / 3;
|
|
param_1[0x29] = puVar2[4];
|
|
}
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00474855(puVar2,0,param_1 + 0x2d,param_14);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5c80 file=? name=FUN_004c5c80 */
|
|
|
|
void __cdecl FUN_004c5c80(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518a9c;
|
|
FUN_00442c12(*(int *)(param_1[7] + 0x4c) + 4,(char *)param_1[0x24]);
|
|
FUN_004022e8((int *)param_1[0x24]);
|
|
param_1[0x24] = 0;
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5cdc file=? name=FUN_004c5cdc */
|
|
|
|
void FUN_004c5cdc(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5cec file=? name=FUN_004c5cec */
|
|
|
|
void FUN_004c5cec(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5cf4 file=? name=FUN_004c5cf4 */
|
|
|
|
void __cdecl FUN_004c5cf4(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0xac) = 0xffffffff;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5d08 file=? name=FUN_004c5d08 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004c5d08(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
undefined4 *puVar4;
|
|
int iVar5;
|
|
int iVar6;
|
|
|
|
iVar1 = *(int *)(param_1 + 0x9c);
|
|
iVar3 = FUN_004dcd94();
|
|
if (iVar3 < 0) {
|
|
iVar3 = 0;
|
|
}
|
|
if (iVar1 < iVar3) {
|
|
iVar3 = iVar1;
|
|
}
|
|
if ((_DAT_0050e3d8 < *(float *)(param_1 + 0xb4)) && (iVar3 < 1)) {
|
|
iVar3 = 1;
|
|
}
|
|
if (iVar3 != *(int *)(param_1 + 0xac)) {
|
|
*(int *)(param_1 + 0xac) = iVar3;
|
|
iVar1 = *(int *)(*(int *)(param_1 + 0x1c) + 0x4c);
|
|
puVar4 = FUN_00442aec(iVar1 + 4,*(char **)(param_1 + 0x90),0);
|
|
if (puVar4 != (undefined4 *)0x0) {
|
|
iVar6 = -*(int *)(param_1 + 0xa4);
|
|
for (iVar2 = *(int *)(param_1 + 0xa0); 0 < iVar2; iVar2 = iVar2 + -1) {
|
|
iVar5 = param_1 + 0x48;
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(iVar5,0,iVar6);
|
|
if (iVar3 < 1) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(iVar5,*(undefined4 *)(param_1 + 0x94));
|
|
iVar5 = 0;
|
|
}
|
|
else if (iVar3 == 1) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(iVar5,*(undefined4 *)(param_1 + 0x98));
|
|
iVar5 = *(int *)(param_1 + 0xa8);
|
|
}
|
|
else {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(iVar5,*(undefined4 *)(param_1 + 0x98));
|
|
iVar5 = *(int *)(param_1 + 0xa8) * 2;
|
|
}
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x54))
|
|
(param_1 + 0x48,0,puVar4,iVar5,0,*(int *)(param_1 + 0xa8) + iVar5,
|
|
*(undefined4 *)(param_1 + 0xa4));
|
|
iVar3 = iVar3 + -2;
|
|
iVar6 = iVar6 - *(int *)(param_1 + 0xa4);
|
|
}
|
|
}
|
|
FUN_00442c12(iVar1 + 4,*(char **)(param_1 + 0x90));
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5e84 file=? name=FUN_004c5e84 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c5e84(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4,
|
|
undefined4 param_5,int param_6,undefined4 param_7,undefined4 param_8,char *param_9,
|
|
undefined4 param_10,undefined4 param_11,undefined4 param_12)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
undefined4 *puVar2;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,param_12);
|
|
*param_1 = &PTR_FUN_00518a58;
|
|
(**(code **)(param_1[0x12] + 0x10))(param_1 + 0x12,param_7,param_8);
|
|
uVar1 = FUN_004700ac(param_9);
|
|
param_1[0x24] = uVar1;
|
|
param_1[0x25] = param_10;
|
|
param_1[0x26] = param_11;
|
|
puVar2 = FUN_00442aec(*(int *)(param_4 + 0x4c) + 4,(char *)param_1[0x24],0);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
param_1[0x27] = 0;
|
|
param_1[0x28] = 0;
|
|
}
|
|
else {
|
|
param_1[0x27] = puVar2[3];
|
|
param_1[0x28] = puVar2[4];
|
|
}
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5f30 file=? name=FUN_004c5f30 */
|
|
|
|
void __cdecl FUN_004c5f30(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00518a58;
|
|
FUN_00442c12(*(int *)(param_1[7] + 0x4c) + 4,(char *)param_1[0x24]);
|
|
FUN_004022e8((int *)param_1[0x24]);
|
|
param_1[0x24] = 0;
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5f8c file=? name=FUN_004c5f8c */
|
|
|
|
void FUN_004c5f8c(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5f9c file=? name=FUN_004c5f9c */
|
|
|
|
void FUN_004c5f9c(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5fa4 file=? name=FUN_004c5fa4 */
|
|
|
|
void __cdecl FUN_004c5fa4(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0xa4) = 0xffffffff;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c5fb8 file=? name=FUN_004c5fb8 */
|
|
|
|
void __cdecl FUN_004c5fb8(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
undefined4 *puVar3;
|
|
|
|
iVar1 = *(int *)(param_1 + 0x9c);
|
|
iVar2 = FUN_004dcd94();
|
|
if (iVar2 < 0) {
|
|
iVar2 = 0;
|
|
}
|
|
if (iVar1 < iVar2) {
|
|
iVar2 = iVar1;
|
|
}
|
|
if (iVar2 != *(int *)(param_1 + 0xa4)) {
|
|
*(int *)(param_1 + 0xa4) = iVar2;
|
|
iVar1 = *(int *)(*(int *)(param_1 + 0x1c) + 0x4c);
|
|
puVar3 = FUN_00442aec(iVar1 + 4,*(char **)(param_1 + 0x90),0);
|
|
if (puVar3 != (undefined4 *)0x0) {
|
|
if (iVar2 != 0) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(param_1 + 0x48,0,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))
|
|
(param_1 + 0x48,*(undefined4 *)(param_1 + 0x94));
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x58))
|
|
(param_1 + 0x48,*(undefined4 *)(param_1 + 0x98),0,puVar3,0,0,iVar2,
|
|
*(undefined4 *)(param_1 + 0xa0));
|
|
iVar2 = iVar2 + 1;
|
|
}
|
|
if (iVar2 < *(int *)(param_1 + 0x9c)) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(param_1 + 0x48,iVar2,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))
|
|
(param_1 + 0x48,*(undefined4 *)(param_1 + 0x98));
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x58))
|
|
(param_1 + 0x48,*(undefined4 *)(param_1 + 0x94),0,puVar3,iVar2,0,
|
|
*(undefined4 *)(param_1 + 0x9c),*(undefined4 *)(param_1 + 0xa0));
|
|
}
|
|
}
|
|
FUN_00442c12(iVar1 + 4,*(char **)(param_1 + 0x90));
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c60f4 file=? name=FUN_004c60f4 */
|
|
|
|
bool __cdecl
|
|
FUN_004c60f4(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
undefined4 *puVar3;
|
|
|
|
piVar2 = (int *)FUN_00402298(0xac);
|
|
if (piVar2 != (int *)0x0) {
|
|
FUN_004c61c8(piVar2,DAT_00517a68,DAT_00517aac,param_5,0,param_1,param_2,param_3,&DAT_00517af0,
|
|
DAT_00517b34,DAT_00517b78,DAT_00517bbc,s_BitMapInverseWipeScalar_00518572);
|
|
}
|
|
iVar1 = *(int *)(param_5 + 0x4c);
|
|
puVar3 = FUN_00442aec(iVar1 + 4,&DAT_00517af0,0);
|
|
if (puVar3 != (undefined4 *)0x0) {
|
|
FUN_00442c12(iVar1 + 4,&DAT_00517af0);
|
|
}
|
|
else {
|
|
FUN_004dbb24(&DAT_00524e20,s_BitMapInverseWipeScalar__Missing_005188b5,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_00517af0,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_005188de,(char *)0x0);
|
|
}
|
|
return puVar3 != (undefined4 *)0x0;
|
|
}
|
|
|
|
|
|
|
|
/* @004c61c8 file=? name=FUN_004c61c8 */
|
|
|
|
int * __cdecl
|
|
FUN_004c61c8(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,undefined4 param_7,undefined4 param_8,char *param_9,undefined4 param_10,
|
|
undefined4 param_11,undefined4 param_12,undefined4 param_13)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
FUN_004c5e84(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10,
|
|
param_11,param_13);
|
|
*param_1 = (int)&PTR_FUN_00518a14;
|
|
puVar1 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_00474855(puVar1,0,param_1 + 0x2a,param_12);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6244 file=? name=FUN_004c6244 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
int * __cdecl
|
|
FUN_004c6244(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,undefined4 param_7,undefined4 param_8,float param_9,float param_10,
|
|
float param_11,float param_12,float param_13,float param_14,uint param_15,
|
|
undefined4 param_16,undefined4 param_17,undefined4 param_18,undefined4 param_19,
|
|
undefined4 param_20)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
FUN_004745e0(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10,
|
|
param_11,param_12,param_13,param_14,param_15,param_16,param_17,param_18,param_19,
|
|
param_20);
|
|
*param_1 = (int)&PTR_FUN_005189d0;
|
|
iVar1 = (param_15 ^ (int)param_15 >> 0x1f) - ((int)param_15 >> 0x1f);
|
|
param_1[0x30] = (int)((float)(iVar1 / (iVar1 + -1)) * _DAT_004c62d4);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c62d8 file=? name=FUN_004c62d8 */
|
|
|
|
void __cdecl FUN_004c62d8(int param_1)
|
|
|
|
{
|
|
*(float *)(param_1 + 0xa4) = *(float *)(param_1 + 0xc0) * *(float *)(param_1 + 0xa4);
|
|
FUN_00474300(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c62fc file=? name=FUN_004c62fc */
|
|
|
|
undefined4 __cdecl
|
|
FUN_004c62fc(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
int *piVar1;
|
|
|
|
piVar1 = (int *)FUN_00402298(0xcc);
|
|
if (piVar1 != (int *)0x0) {
|
|
FUN_004c6394(piVar1,DAT_00517eb0,DAT_00517ef4,param_5,0,param_1,param_2,param_3,DAT_00517f38,
|
|
DAT_00517f7c,DAT_00517f38,DAT_00517f7c,DAT_00517fc0,DAT_00518004,DAT_00518048,
|
|
DAT_0051808c,DAT_005180d0,DAT_00518114,DAT_00518158,1,s_SegmentArcRatio_00518598);
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6394 file=? name=FUN_004c6394 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
int * __cdecl
|
|
FUN_004c6394(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,undefined4 param_7,undefined4 param_8,float param_9,float param_10,
|
|
float param_11,float param_12,float param_13,float param_14,uint param_15,
|
|
undefined4 param_16,undefined4 param_17,undefined4 param_18,undefined4 param_19,
|
|
undefined4 param_20,undefined4 param_21)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
|
|
FUN_00473f44(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10,
|
|
param_11,param_12,param_13,param_14,param_15,param_16,param_17,param_20,param_21);
|
|
*param_1 = (int)&PTR_FUN_0051898c;
|
|
iVar1 = (param_15 ^ (int)param_15 >> 0x1f) - ((int)param_15 >> 0x1f);
|
|
param_1[0x32] = (int)((float)(iVar1 / (iVar1 + -1)) * _DAT_004c6484);
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00474855(puVar2,0,param_1 + 0x30,param_18);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
puVar2 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00474855(puVar2,0,param_1 + 0x31,param_19);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar2);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6488 file=? name=FUN_004c6488 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004c6488(int param_1)
|
|
|
|
{
|
|
float10 fVar1;
|
|
|
|
if (_DAT_004c651c <= *(float *)(param_1 + 0xc4)) {
|
|
*(float *)(param_1 + 0xa4) =
|
|
(*(float *)(param_1 + 0xc0) / *(float *)(param_1 + 0xc4)) * *(float *)(param_1 + 200);
|
|
fVar1 = FUN_004dcd00((double)*(float *)(param_1 + 0xa4));
|
|
*(float *)(param_1 + 0xa4) = (float)fVar1;
|
|
if (_DAT_004c6520 <= *(float *)(param_1 + 0xa4)) {
|
|
if (_DAT_004c651c < *(float *)(param_1 + 0xa4)) {
|
|
*(undefined4 *)(param_1 + 0xa4) = 0x3f800000;
|
|
}
|
|
}
|
|
else {
|
|
*(undefined4 *)(param_1 + 0xa4) = 0;
|
|
}
|
|
}
|
|
else {
|
|
*(undefined4 *)(param_1 + 0xa4) = 0;
|
|
}
|
|
FUN_00474300(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c668d file=? name=FUN_004c668d */
|
|
|
|
void __cdecl FUN_004c668d(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
FUN_00474094(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c66b3 file=? name=FUN_004c66b3 */
|
|
|
|
void __cdecl FUN_004c66b3(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
FUN_00474094(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c66d9 file=? name=FUN_004c66d9 */
|
|
|
|
void __cdecl FUN_004c66d9(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
FUN_004c5f30(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c66ff file=? name=FUN_004c66ff */
|
|
|
|
void __cdecl FUN_004c66ff(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
FUN_004c38dc(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6725 file=? name=FUN_004c6725 */
|
|
|
|
void __cdecl FUN_004c6725(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
FUN_004c38dc(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c674b file=? name=FUN_004c674b */
|
|
|
|
void __cdecl FUN_004c674b(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
FUN_004c38dc(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6771 file=? name=FUN_004c6771 */
|
|
|
|
void __cdecl FUN_004c6771(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
FUN_004c38dc(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6798 file=? name=FUN_004c6798 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c6798(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4,
|
|
undefined4 param_5,int param_6,int param_7,undefined4 param_8,char *param_9,
|
|
undefined4 param_10,undefined4 param_11)
|
|
|
|
{
|
|
char *pcVar1;
|
|
int iVar2;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,param_11);
|
|
*param_1 = &PTR_FUN_0051a1fc;
|
|
pcVar1 = (char *)FUN_004700ac(param_9);
|
|
param_1[0x24] = pcVar1;
|
|
FUN_00442aec(*(int *)(param_1[7] + 0x4c) + 4,pcVar1,0);
|
|
iVar2 = FUN_0041bfc0(param_7,s_CurrentSeekVoltageIndex_00519b05);
|
|
param_1[0x25] = iVar2;
|
|
iVar2 = FUN_0041bfc0(param_7,s_MinSeekVoltageIndex_00519b1d);
|
|
param_1[0x26] = iVar2;
|
|
iVar2 = FUN_0041bfc0(param_7,s_MaxSeekVoltageIndex_00519b31);
|
|
param_1[0x27] = iVar2;
|
|
iVar2 = FUN_0041bfc0(param_7,s_SeekVoltage_00519b45);
|
|
param_1[0x28] = iVar2;
|
|
param_1[0x29] = param_8;
|
|
param_1[0x2a] = param_7;
|
|
(**(code **)(param_1[0x12] + 0xc))(param_1 + 0x12,3);
|
|
(**(code **)(param_1[0x12] + 8))(param_1 + 0x12,0x97,0x80,0x17d,0x13b);
|
|
param_1[0x2c] = 0x43660000;
|
|
param_1[0x2d] = 0x433b0000;
|
|
param_1[0x2f] = param_10;
|
|
param_1[0x2e] = 0;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c68ac file=? name=FUN_004c68ac */
|
|
|
|
void __cdecl FUN_004c68ac(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051a1fc;
|
|
FUN_00442c12(*(int *)(param_1[7] + 0x4c) + 4,(char *)param_1[0x24]);
|
|
FUN_004022e8((int *)param_1[0x24]);
|
|
param_1[0x24] = 0;
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6908 file=? name=FUN_004c6908 */
|
|
|
|
void FUN_004c6908(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6918 file=? name=FUN_004c6918 */
|
|
|
|
void FUN_004c6918(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6920 file=? name=FUN_004c6920 */
|
|
|
|
void __cdecl FUN_004c6920(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0xac) = 0x461c3c00;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6934 file=? name=FUN_004c6934 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004c6934(int *param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
int iVar3;
|
|
int iVar4;
|
|
undefined4 uVar5;
|
|
undefined4 uVar6;
|
|
int iVar7;
|
|
float10 fVar8;
|
|
float local_c;
|
|
|
|
if (*(int *)(param_1[0x2a] + 0x40) == 1) {
|
|
if (param_1[0x2e] == 0) {
|
|
param_1[0x2e] = 1;
|
|
FUN_004c6be4((int)param_1);
|
|
iVar7 = *(int *)(param_1[7] + 0x4c);
|
|
puVar2 = FUN_00442aec(iVar7 + 4,(char *)param_1[0x24],0);
|
|
iVar3 = FUN_004dcd94();
|
|
iVar1 = puVar2[3];
|
|
iVar4 = FUN_004dcd94();
|
|
(**(code **)(param_1[0x12] + 0x24))(param_1 + 0x12,iVar3 - iVar1 >> 1,iVar4 - puVar2[4] >> 1);
|
|
(**(code **)(param_1[0x12] + 0x18))(param_1 + 0x12,0xff);
|
|
(**(code **)(param_1[0x12] + 0x54))(param_1 + 0x12,0,puVar2,0,0,puVar2[3] + -1,puVar2[4] + -1)
|
|
;
|
|
FUN_00442c12(iVar7 + 4,(char *)param_1[0x24]);
|
|
}
|
|
}
|
|
else {
|
|
if (param_1[0x2e] != 0) {
|
|
param_1[0x2e] = 0;
|
|
(**(code **)(*param_1 + 0xc))(param_1);
|
|
}
|
|
fVar8 = (float10)(**(code **)(*(int *)param_1[0x2a] + 0x3c))((int *)param_1[0x2a],0x463b8000);
|
|
if ((float)param_1[0x2b] != (float)fVar8) {
|
|
param_1[0x2b] = (int)(float)fVar8;
|
|
FUN_004c6be4((int)param_1);
|
|
(**(code **)(param_1[0x12] + 0x18))(param_1 + 0x12,0xff);
|
|
(**(code **)(param_1[0x12] + 0x24))(param_1 + 0x12,0,0);
|
|
for (local_c = 0.0; local_c < _DAT_004c6be0; local_c = local_c + _DAT_004c6bdc) {
|
|
(**(code **)(*(int *)param_1[0x2a] + 0x3c))((int *)param_1[0x2a],local_c);
|
|
uVar5 = FUN_004dcd94();
|
|
uVar6 = FUN_004dcd94();
|
|
(**(code **)(param_1[0x12] + 0x30))(param_1 + 0x12,uVar5,uVar6);
|
|
}
|
|
param_1[0x30] = -1;
|
|
param_1[0x31] = -1;
|
|
(**(code **)(param_1[0x12] + 0xc))(param_1 + 0x12,3);
|
|
if (((int *)param_1[0x25] != (int *)0x0) && (param_1[0x28] != 0)) {
|
|
param_1[0x32] = *(int *)param_1[0x25];
|
|
FUN_004c6c6c((int)param_1);
|
|
}
|
|
}
|
|
if ((((int *)param_1[0x25] != (int *)0x0) && (param_1[0x28] != 0)) &&
|
|
(iVar7 = *(int *)param_1[0x25], iVar7 != param_1[0x32])) {
|
|
FUN_004c6c6c((int)param_1);
|
|
param_1[0x32] = iVar7;
|
|
FUN_004c6c6c((int)param_1);
|
|
}
|
|
if (param_1[0x2f] != 0) {
|
|
if (-1 < param_1[0x30]) {
|
|
FUN_004c6c30((int)param_1);
|
|
}
|
|
(**(code **)(*(int *)param_1[0x2a] + 0x3c))((int *)param_1[0x2a],*(undefined4 *)param_1[0x29])
|
|
;
|
|
iVar7 = FUN_004dcd94();
|
|
param_1[0x30] = iVar7;
|
|
iVar7 = FUN_004dcd94();
|
|
param_1[0x31] = iVar7;
|
|
FUN_004c6c30((int)param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6be4 file=? name=FUN_004c6be4 */
|
|
|
|
void __cdecl FUN_004c6be4(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
iVar1 = param_1 + 0x48;
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0xc))(iVar1,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(iVar1,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(iVar1,0,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x48))(iVar1,1000,1000);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6c30 file=? name=FUN_004c6c30 */
|
|
|
|
void __cdecl FUN_004c6c30(int param_1)
|
|
|
|
{
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))
|
|
(param_1 + 0x48,*(int *)(param_1 + 0xc0) + -4,*(int *)(param_1 + 0xc4) + -4);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x4c))(param_1 + 0x48,8,8);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6c6c file=? name=FUN_004c6c6c */
|
|
|
|
void __cdecl FUN_004c6c6c(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 uVar2;
|
|
undefined4 uVar3;
|
|
int iVar4;
|
|
|
|
iVar1 = **(int **)(param_1 + 0x9c);
|
|
for (iVar4 = **(int **)(param_1 + 0x98); iVar4 <= iVar1; iVar4 = iVar4 + 1) {
|
|
(**(code **)(**(int **)(param_1 + 0xa8) + 0x3c))
|
|
(*(int **)(param_1 + 0xa8),*(undefined4 *)(*(int *)(param_1 + 0xa0) + iVar4 * 4));
|
|
uVar2 = FUN_004dcd94();
|
|
uVar3 = FUN_004dcd94();
|
|
if (iVar4 == *(int *)(param_1 + 200)) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(param_1 + 0x48,0,uVar3);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x30))(param_1 + 0x48,uVar2,uVar3);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x30))(param_1 + 0x48,uVar2,0);
|
|
}
|
|
else {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(param_1 + 0x48,0,uVar3);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x30))(param_1 + 0x48,10,uVar3);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(param_1 + 0x48,uVar2,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x30))(param_1 + 0x48,uVar2,10);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6d80 file=? name=FUN_004c6d80 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c6d80(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4,
|
|
undefined4 param_5,int param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9,
|
|
undefined4 param_10)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
int iVar3;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,param_10);
|
|
*param_1 = &PTR_FUN_0051a1b8;
|
|
param_1[0x26] = s_btjoy_pcc_00519b51;
|
|
param_1[0x27] = s_cm_off_pcc_00519b5b;
|
|
param_1[0x28] = s_cm_other_pcc_00519b66;
|
|
param_1[0x29] = s_cm_only_pcc_00519b73;
|
|
param_1[0x2a] = s_cm_both_pcc_00519b7f;
|
|
(**(code **)(param_1[0x12] + 0x10))(param_1 + 0x12,param_7,param_8);
|
|
param_1[0x25] = 0;
|
|
param_1[0x24] = param_9;
|
|
iVar1 = *(int *)(param_4 + 0x4c);
|
|
FUN_00442aec(iVar1 + 4,(char *)param_1[0x26],0);
|
|
iVar3 = 0;
|
|
puVar2 = param_1 + 0x27;
|
|
do {
|
|
FUN_00442d2b(iVar1 + 0x20,(char *)*puVar2,0);
|
|
iVar3 = iVar3 + 1;
|
|
puVar2 = puVar2 + 1;
|
|
} while (iVar3 < 4);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6e54 file=? name=FUN_004c6e54 */
|
|
|
|
void __cdecl FUN_004c6e54(int *param_1,byte param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
int iVar3;
|
|
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051a1b8;
|
|
iVar1 = *(int *)(param_1[7] + 0x4c);
|
|
FUN_00442c12(iVar1 + 4,(char *)param_1[0x26]);
|
|
iVar3 = 0;
|
|
piVar2 = param_1 + 0x27;
|
|
do {
|
|
FUN_00442e51(iVar1 + 0x20,(char *)*piVar2);
|
|
iVar3 = iVar3 + 1;
|
|
piVar2 = piVar2 + 1;
|
|
} while (iVar3 < 4);
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6ec8 file=? name=FUN_004c6ec8 */
|
|
|
|
void FUN_004c6ec8(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6ed8 file=? name=FUN_004c6ed8 */
|
|
|
|
void FUN_004c6ed8(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6ee0 file=? name=FUN_004c6ee0 */
|
|
|
|
void __cdecl FUN_004c6ee0(int param_1,undefined4 param_2)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x94) = param_2;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6ef4 file=? name=FUN_004c6ef4 */
|
|
|
|
void __cdecl FUN_004c6ef4(int param_1)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
int iVar2;
|
|
|
|
iVar2 = 0;
|
|
*(undefined4 *)(param_1 + 0xbc) = 1;
|
|
puVar1 = (undefined4 *)(param_1 + 0xac);
|
|
do {
|
|
*puVar1 = 0xffffffff;
|
|
iVar2 = iVar2 + 1;
|
|
puVar1 = puVar1 + 1;
|
|
} while (iVar2 < 4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c6f1c file=? name=FUN_004c6f1c */
|
|
|
|
void __cdecl FUN_004c6f1c(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
undefined4 *puVar3;
|
|
int iVar4;
|
|
int *piVar5;
|
|
int *piVar6;
|
|
int *local_18;
|
|
int local_10;
|
|
|
|
if (*(int *)(param_1 + 0x94) != 0) {
|
|
iVar2 = *(int *)(*(int *)(param_1 + 0x1c) + 0x4c);
|
|
if (*(int *)(param_1 + 0xbc) != 0) {
|
|
*(undefined4 *)(param_1 + 0xbc) = 0;
|
|
puVar3 = FUN_00442aec(iVar2 + 4,*(char **)(param_1 + 0x98),0);
|
|
if (puVar3 != (undefined4 *)0x0) {
|
|
iVar1 = param_1 + 0x48;
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(iVar1,0xff);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(iVar1,0,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x54))
|
|
(iVar1,0,puVar3,0,0,puVar3[3] + -1,puVar3[4] + -1);
|
|
}
|
|
}
|
|
piVar6 = &DAT_00518eb8;
|
|
iVar1 = *(int *)(DAT_004efc94 + 0x3c);
|
|
local_10 = 0;
|
|
local_18 = (int *)(param_1 + 0xac);
|
|
do {
|
|
iVar4 = *(int *)(param_1 + 0x90);
|
|
iVar4 = (**(code **)(*(int *)(iVar1 + 0x1c0 + *piVar6 * 0x20) + 0x24))
|
|
(*piVar6 * 0x20 + iVar1 + 0x1c0,*(undefined4 *)(iVar4 + 0xe8),iVar4,
|
|
*(undefined4 *)(iVar4 + 0xec),0x10000);
|
|
if (iVar4 != *local_18) {
|
|
*local_18 = iVar4;
|
|
piVar5 = FUN_00442d2b(iVar2 + 0x20,*(char **)(param_1 + 0x9c + iVar4 * 4),0);
|
|
if (piVar5 != (int *)0x0) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(param_1 + 0x48,0xc,piVar6[-1]);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x5c))
|
|
(param_1 + 0x48,0,0,piVar5,0,0,*piVar5 + -1,piVar5[1] + -1);
|
|
}
|
|
FUN_00442e51(iVar2 + 0x20,*(char **)(param_1 + 0x9c + iVar4 * 4));
|
|
}
|
|
local_10 = local_10 + 1;
|
|
local_18 = local_18 + 1;
|
|
piVar6 = piVar6 + 2;
|
|
} while (local_10 < 4);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c70a4 file=? name=FUN_004c70a4 */
|
|
|
|
int * __cdecl
|
|
FUN_004c70a4(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,undefined4 param_7,undefined4 param_8,char *param_9,undefined4 param_10,
|
|
undefined4 param_11,int param_12,int param_13,undefined4 param_14,undefined4 param_15)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
FUN_004c4d88(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,1,param_9,param_10,
|
|
param_11,param_12,param_13,param_15);
|
|
*param_1 = (int)&PTR_FUN_0051a174;
|
|
param_1[0x2b] = 0;
|
|
puVar1 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_004c3134(puVar1,0,param_1 + 0x2b,param_14);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c7134 file=? name=FUN_004c7134 */
|
|
|
|
void __cdecl FUN_004c7134(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051a174;
|
|
FUN_004c4e7c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c7160 file=? name=FUN_004c7160 */
|
|
|
|
int * __cdecl
|
|
FUN_004c7160(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,undefined4 param_7,undefined4 param_8,char *param_9,undefined4 param_10,
|
|
undefined4 param_11,int param_12,int param_13,undefined4 param_14,undefined4 param_15)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
FUN_004c4d88(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,1,param_9,param_10,
|
|
param_11,param_12,param_13,param_15);
|
|
*param_1 = (int)&PTR_FUN_0051a130;
|
|
param_1[0x2b] = 0;
|
|
puVar1 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_004c31ec(puVar1,0,param_1 + 0x2b,param_14);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c71f0 file=? name=FUN_004c71f0 */
|
|
|
|
void __cdecl FUN_004c71f0(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051a130;
|
|
FUN_004c4e7c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c721c file=? name=FUN_004c721c */
|
|
|
|
int * __cdecl
|
|
FUN_004c721c(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,int param_7,int param_8,int param_9,int param_10,char *param_11,int param_12
|
|
,int param_13,undefined4 param_14,float param_15,float param_16,undefined4 param_17,
|
|
undefined4 param_18)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
FUN_00472ef0(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10,
|
|
param_11,param_12,param_13,param_14,param_15,param_16,0,param_18);
|
|
*param_1 = (int)&PTR_FUN_0051a0e4;
|
|
puVar1 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_004c3288(puVar1,0,param_1 + 0x2d,param_17);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c72ac file=? name=FUN_004c72ac */
|
|
|
|
int * __cdecl
|
|
FUN_004c72ac(int *param_1,undefined4 param_2,undefined4 param_3,int param_4,undefined4 param_5,
|
|
int param_6,int param_7,int param_8,int param_9,int param_10,char *param_11,int param_12
|
|
,int param_13,undefined4 param_14,float param_15,float param_16,undefined4 param_17,
|
|
undefined4 param_18)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
FUN_00472ef0(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10,
|
|
param_11,param_12,param_13,param_14,param_15,param_16,0,param_18);
|
|
*param_1 = (int)&PTR_FUN_0051a0e4;
|
|
puVar1 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_00474855(puVar1,0,param_1 + 0x2d,param_17);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c733c file=? name=FUN_004c733c */
|
|
|
|
void __cdecl FUN_004c733c(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051a0e4;
|
|
FUN_00472fb4(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c7368 file=? name=FUN_004c7368 */
|
|
|
|
undefined4 __cdecl FUN_004c7368(int param_1,int param_2,int param_3,int param_4,int param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 uVar2;
|
|
undefined4 *puVar3;
|
|
|
|
iVar1 = FUN_0041f98c(param_4,&DAT_00518f24);
|
|
if (iVar1 == 0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_Subsystem___00519b9c,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_00518f24,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s___not_found__00519ba8,(char *)0x0);
|
|
uVar2 = 0;
|
|
}
|
|
else {
|
|
puVar3 = (undefined4 *)FUN_00402298(0xb4);
|
|
if (puVar3 != (undefined4 *)0x0) {
|
|
FUN_004c746c(puVar3,DAT_00518ee0,param_5,0,param_1,param_2,param_3,iVar1,&DAT_00518f68,
|
|
DAT_00518fac,&DAT_00518ff0,DAT_00519034,DAT_00519078,&DAT_005190bc,DAT_00519100,
|
|
&DAT_00519144,DAT_00519188,&DAT_005191cc,&DAT_00519210,DAT_00519254,DAT_00519298,
|
|
s_GeneratorCluster_00519a8c);
|
|
}
|
|
uVar2 = 1;
|
|
}
|
|
return uVar2;
|
|
}
|
|
|
|
|
|
|
|
/* @004c746c file=? name=FUN_004c746c */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c746c(undefined4 *param_1,undefined4 param_2,int param_3,undefined4 param_4,int param_5,
|
|
int param_6,int param_7,int param_8,char *param_9,int param_10,char *param_11,
|
|
int param_12,int param_13,char *param_14,int param_15,char *param_16,int param_17,
|
|
char *param_18,char *param_19,int param_20,int param_21,undefined4 param_22)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
undefined4 uVar2;
|
|
undefined4 uVar3;
|
|
undefined4 uVar4;
|
|
int iVar5;
|
|
int iVar6;
|
|
int iVar7;
|
|
int iVar8;
|
|
int iVar9;
|
|
undefined4 uVar10;
|
|
int *piVar11;
|
|
|
|
FUN_00444818(param_1,0xffff,param_2,param_3,param_4,param_5,param_22);
|
|
*param_1 = &PTR_FUN_0051a0a0;
|
|
uVar1 = FUN_004442b8();
|
|
uVar2 = FUN_004442b8();
|
|
uVar3 = FUN_004442b8();
|
|
uVar4 = FUN_004442b8();
|
|
iVar5 = FUN_0041bfc0(param_8,s_CurrentTemperature_00519bb6);
|
|
iVar6 = FUN_0041bfc0(param_8,s_DegradationTemperature_00519bc9);
|
|
iVar7 = FUN_0041bfc0(param_8,s_FailureTemperature_00519be0);
|
|
iVar8 = FUN_0041bfc0(param_8,s_CoolantMassLeakRate_00519bf3);
|
|
iVar9 = FUN_0041bfc0(param_8,s_OutputVoltage_00519c07);
|
|
(**(code **)(param_1[0x12] + 0x10))(param_1 + 0x12,param_6,param_7);
|
|
param_1[0x25] = param_17;
|
|
uVar10 = FUN_004700ac(param_9);
|
|
param_1[0x24] = uVar10;
|
|
FUN_00442d2b(*(int *)(param_3 + 0x4c) + 0x20,(char *)param_1[0x24],0);
|
|
piVar11 = (int *)FUN_00402298(0xbc);
|
|
if (piVar11 == (int *)0x0) {
|
|
piVar11 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar11 = FUN_004c4724(piVar11,uVar1,param_2,param_3,param_4,param_5,param_6 + 5,param_7 + 0x29,
|
|
param_6 + 0xc,param_7 + 0x5c,param_11,param_12,param_13,param_10,iVar5,
|
|
iVar6,iVar7,s_VertTwoPartBar_0051995c);
|
|
}
|
|
param_1[0x26] = piVar11;
|
|
piVar11 = (int *)FUN_00402298(0xcc);
|
|
if (piVar11 == (int *)0x0) {
|
|
piVar11 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar11 = FUN_004c72ac(piVar11,uVar2,param_2,param_3,param_4,param_5,param_6 + 0x18,
|
|
param_7 + 0x29,param_6 + 0x1c,param_7 + 0x5c,param_14,param_15,param_10,3
|
|
,0.0,12000.0,iVar9,s_GeneratorVoltage_scalar__00519a73);
|
|
}
|
|
param_1[0x27] = piVar11;
|
|
piVar11 = (int *)FUN_00402298(0xb8);
|
|
if (piVar11 == (int *)0x0) {
|
|
piVar11 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar11 = FUN_004c5b7c(piVar11,uVar3,param_2,param_3,param_4,param_5,param_6,param_7 + 0x27,
|
|
param_16,param_10,param_17,3,*(int *)(param_8 + 0x150),iVar8,
|
|
s_LeakGauge_005199ce);
|
|
}
|
|
param_1[0x28] = piVar11;
|
|
piVar11 = (int *)FUN_00402298(0xa4);
|
|
if (piVar11 == (int *)0x0) {
|
|
piVar11 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar11 = FUN_004739d8(piVar11,uVar4,param_2,param_3,param_4,param_5,param_6 + 0xc,param_7 + 2,
|
|
param_18,param_20,param_21,param_8 + 0x1d4,s_TwoState_005198af);
|
|
}
|
|
param_1[0x29] = piVar11;
|
|
piVar11 = (int *)FUN_00402298(0xa4);
|
|
if (piVar11 == (int *)0x0) {
|
|
piVar11 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar11 = FUN_004739d8(piVar11,uVar4,param_2,param_3,param_4,param_5,param_6 + 2,param_7 + 2,
|
|
param_19,param_20,param_21,param_8 + 0x1d4,s_TwoState_005198af);
|
|
}
|
|
param_1[0x2a] = piVar11;
|
|
param_1[0x2b] = param_8;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c7778 file=? name=FUN_004c7778 */
|
|
|
|
void __cdecl FUN_004c7778(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051a0a0;
|
|
FUN_00442e51(*(int *)(param_1[7] + 0x4c) + 0x20,(char *)param_1[0x24]);
|
|
FUN_004022e8((int *)param_1[0x24]);
|
|
param_1[0x24] = 0;
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c77d4 file=? name=FUN_004c77d4 */
|
|
|
|
void FUN_004c77d4(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c77e4 file=? name=FUN_004c77e4 */
|
|
|
|
void FUN_004c77e4(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c77ec file=? name=FUN_004c77ec */
|
|
|
|
void __cdecl FUN_004c77ec(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0xb0) = 0xffffffff;
|
|
(**(code **)(**(int **)(param_1 + 0x98) + 0xc))(*(int **)(param_1 + 0x98));
|
|
(**(code **)(**(int **)(param_1 + 0x9c) + 0xc))(*(int **)(param_1 + 0x9c));
|
|
(**(code **)(**(int **)(param_1 + 0xa0) + 0xc))(*(int **)(param_1 + 0xa0));
|
|
(**(code **)(**(int **)(param_1 + 0xa4) + 0xc))(*(int **)(param_1 + 0xa4));
|
|
(**(code **)(**(int **)(param_1 + 0xa8) + 0xc))(*(int **)(param_1 + 0xa8));
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c7844 file=? name=FUN_004c7844 */
|
|
|
|
void __cdecl FUN_004c7844(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
uint uVar3;
|
|
|
|
uVar3 = (uint)(*(int *)(*(int *)(param_1 + 0xac) + 0x40) == 1);
|
|
if (uVar3 != *(uint *)(param_1 + 0xb0)) {
|
|
*(uint *)(param_1 + 0xb0) = uVar3;
|
|
FUN_004c7978(param_1,uVar3);
|
|
if (uVar3 == 0) {
|
|
iVar1 = *(int *)(*(int *)(param_1 + 0x1c) + 0x4c);
|
|
piVar2 = FUN_00442d2b(iVar1 + 0x20,*(char **)(param_1 + 0x90),0);
|
|
if (piVar2 != (int *)0x0) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(param_1 + 0x48,0,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x5c))
|
|
(param_1 + 0x48,1,0,piVar2,0,0,*piVar2 + -1,piVar2[1] + -1);
|
|
}
|
|
FUN_00442e51(iVar1 + 0x20,*(char **)(param_1 + 0x90));
|
|
}
|
|
else {
|
|
iVar1 = param_1 + 0x48;
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(iVar1,*(undefined4 *)(param_1 + 0x94));
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(iVar1,0,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x30))(iVar1,0x23,0x66);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(iVar1,1,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x30))(iVar1,0x24,0x66);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(iVar1,0,0x66);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x30))(iVar1,0x23,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(iVar1,1,0x66);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x30))(iVar1,0x24,0);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c7978 file=? name=FUN_004c7978 */
|
|
|
|
void __cdecl FUN_004c7978(int param_1,int param_2)
|
|
|
|
{
|
|
FUN_00444650(*(int **)(param_1 + 0x9c),param_2);
|
|
FUN_00444650(*(int **)(param_1 + 0x98),param_2);
|
|
FUN_00444650(*(int **)(param_1 + 0xa4),param_2);
|
|
FUN_00444650(*(int **)(param_1 + 0xa8),param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c79c8 file=? name=FUN_004c79c8 */
|
|
|
|
void __cdecl
|
|
FUN_004c79c8(int *param_1,int param_2,int param_3,char *param_4,char *param_5,char *param_6)
|
|
|
|
{
|
|
if (param_3 != 0) {
|
|
(**(code **)(*param_1 + 0x18))(param_1,0);
|
|
(**(code **)(*param_1 + 0x24))(param_1,0x97,0x80);
|
|
(**(code **)(*param_1 + 0x48))(param_1,0x17d,0x13b);
|
|
}
|
|
if (param_4 == (char *)0x0) {
|
|
(**(code **)(*param_1 + 0x18))(param_1,0);
|
|
(**(code **)(*param_1 + 0x24))(param_1,0x15a,0x145);
|
|
(**(code **)(*param_1 + 0x48))(param_1,0x17f,0x159);
|
|
}
|
|
else {
|
|
(**(code **)(*param_1 + 0x18))(param_1,0xff);
|
|
FUN_004c2ec4(0x15a,0x145,param_1,param_2,param_4);
|
|
}
|
|
if (param_5 == (char *)0x0) {
|
|
(**(code **)(*param_1 + 0x18))(param_1,0);
|
|
(**(code **)(*param_1 + 0x24))(param_1,0x85,0x58);
|
|
(**(code **)(*param_1 + 0x48))(param_1,0x17f,0x7c);
|
|
}
|
|
else {
|
|
(**(code **)(*param_1 + 0x18))(param_1,0xff);
|
|
FUN_004c2ec4(0x85,0x58,param_1,param_2,param_5);
|
|
}
|
|
if (param_6 == (char *)0x0) {
|
|
(**(code **)(*param_1 + 0x18))(param_1,0);
|
|
(**(code **)(*param_1 + 0x24))(param_1,0x2a,0x34);
|
|
(**(code **)(*param_1 + 0x4c))(param_1,99,10);
|
|
(**(code **)(*param_1 + 0x24))(param_1,10,0);
|
|
(**(code **)(*param_1 + 0x48))(param_1,0x9f,0x2d);
|
|
}
|
|
else {
|
|
(**(code **)(*param_1 + 0x18))(param_1,0xff);
|
|
FUN_004c2ec4(0x2a,0x34,param_1,param_2,param_6);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c7b30 file=? name=FUN_004c7b30 */
|
|
|
|
undefined4 __cdecl
|
|
FUN_004c7b30(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
uint uVar1;
|
|
int *piVar2;
|
|
undefined4 uVar3;
|
|
undefined4 *puVar4;
|
|
|
|
uVar1 = DAT_0051936c;
|
|
if (((int)DAT_0051936c < 1) || (0xc < (int)DAT_0051936c)) {
|
|
FUN_004dbb24(&DAT_00524e20,s_PrepEngr__screen_number_out_of_r_00519c1e,(char *)0x0);
|
|
piVar2 = FUN_004db78c(&DAT_00524e20,uVar1);
|
|
FUN_004dbb24(piVar2,&DAT_00519c46,(char *)0x0);
|
|
uVar3 = 0;
|
|
}
|
|
else {
|
|
puVar4 = (undefined4 *)FUN_00402298(0x90);
|
|
if (puVar4 != (undefined4 *)0x0) {
|
|
FUN_004c7bf0(puVar4,DAT_00519328,param_5,0,param_1,param_4,DAT_0051936c,&DAT_005193b0,
|
|
&DAT_005193f4,&DAT_00519438,&DAT_0051947c,&DAT_005194c0,&DAT_00519504,
|
|
&DAT_00519548,s_PrepEngr_00519a9d);
|
|
}
|
|
uVar3 = 1;
|
|
}
|
|
return uVar3;
|
|
}
|
|
|
|
|
|
|
|
/* @004c7bf0 file=? name=FUN_004c7bf0 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c7bf0(undefined4 *param_1,undefined4 param_2,int param_3,undefined4 param_4,int param_5,
|
|
undefined4 param_6,undefined4 param_7,char *param_8,char *param_9,char *param_10,
|
|
char *param_11,char *param_12,char *param_13,char *param_14,undefined4 param_15)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 uVar2;
|
|
|
|
FUN_004440d4(param_1,param_2,param_3,param_4,param_5,param_15);
|
|
*param_1 = &PTR_FUN_0051a06c;
|
|
param_1[0x1c] = param_6;
|
|
param_1[0x1b] = param_7;
|
|
uVar2 = FUN_004700ac(param_8);
|
|
param_1[0x1d] = uVar2;
|
|
uVar2 = FUN_004700ac(param_9);
|
|
param_1[0x1e] = uVar2;
|
|
uVar2 = FUN_004700ac(param_10);
|
|
param_1[0x1f] = uVar2;
|
|
uVar2 = FUN_004700ac(param_11);
|
|
param_1[0x20] = uVar2;
|
|
uVar2 = FUN_004700ac(param_12);
|
|
param_1[0x21] = uVar2;
|
|
uVar2 = FUN_004700ac(param_13);
|
|
param_1[0x22] = uVar2;
|
|
uVar2 = FUN_004700ac(param_14);
|
|
param_1[0x23] = uVar2;
|
|
iVar1 = *(int *)(param_3 + 0x4c) + 4;
|
|
FUN_00442aec(iVar1,(char *)param_1[0x1d],0);
|
|
FUN_00442aec(iVar1,(char *)param_1[0x1e],0);
|
|
FUN_00442aec(iVar1,(char *)param_1[0x1f],0);
|
|
FUN_00442aec(iVar1,(char *)param_1[0x20],0);
|
|
FUN_00442aec(iVar1,(char *)param_1[0x21],0);
|
|
FUN_00442aec(iVar1,(char *)param_1[0x22],0);
|
|
FUN_00442aec(iVar1,(char *)param_1[0x23],0);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c7d14 file=? name=FUN_004c7d14 */
|
|
|
|
void __cdecl FUN_004c7d14(int *param_1,byte param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051a06c;
|
|
iVar1 = *(int *)(param_1[7] + 0x4c) + 4;
|
|
FUN_00442c12(iVar1,(char *)param_1[0x1d]);
|
|
FUN_00442c12(iVar1,(char *)param_1[0x1e]);
|
|
FUN_00442c12(iVar1,(char *)param_1[0x1f]);
|
|
FUN_00442c12(iVar1,(char *)param_1[0x20]);
|
|
FUN_00442c12(iVar1,(char *)param_1[0x21]);
|
|
FUN_00442c12(iVar1,(char *)param_1[0x22]);
|
|
FUN_00442c12(iVar1,(char *)param_1[0x23]);
|
|
FUN_004022e8((int *)param_1[0x1d]);
|
|
param_1[0x1d] = 0;
|
|
FUN_004022e8((int *)param_1[0x1e]);
|
|
param_1[0x1e] = 0;
|
|
FUN_004022e8((int *)param_1[0x1f]);
|
|
param_1[0x1f] = 0;
|
|
FUN_004022e8((int *)param_1[0x20]);
|
|
param_1[0x20] = 0;
|
|
FUN_004022e8((int *)param_1[0x21]);
|
|
param_1[0x21] = 0;
|
|
FUN_004022e8((int *)param_1[0x22]);
|
|
param_1[0x22] = 0;
|
|
FUN_004022e8((int *)param_1[0x23]);
|
|
param_1[0x23] = 0;
|
|
FUN_0044ae0c(param_1 + 9,2);
|
|
FUN_00443f7c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c7e48 file=? name=FUN_004c7e48 */
|
|
|
|
void __cdecl FUN_004c7e48(int param_1)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
int iVar4;
|
|
int local_58 [17];
|
|
char *local_14;
|
|
int local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
local_8 = *(int *)(*(int *)(param_1 + 0x1c) + 0x4c);
|
|
local_c = *(int *)(*(int *)(param_1 + 0x70) + 0x124);
|
|
iVar4 = 0;
|
|
if (0 < local_c) {
|
|
do {
|
|
if ((((iVar4 != 0) &&
|
|
(iVar2 = *(int *)(*(int *)(*(int *)(param_1 + 0x70) + 0x128) + iVar4 * 4), iVar2 != 0))
|
|
&& (iVar3 = FUN_0041a1a4(**(int **)(iVar2 + 0xc),0x50f4bc), iVar3 != 0)) &&
|
|
(*(int *)(iVar2 + 0x1dc) == *(int *)(param_1 + 0x6c))) {
|
|
FUN_004700bc(local_58,local_8,0xe9,0x176,*(char **)(param_1 + 0x74),2,0,0,0xff);
|
|
piVar1 = (int *)(param_1 + 0x24);
|
|
FUN_00470430(local_58,piVar1,(float)*(int *)(param_1 + 0x6c));
|
|
FUN_0047018c(local_58,2);
|
|
local_10 = 0;
|
|
iVar4 = FUN_0041bfc0(iVar2,s_HeatSink_00519c49);
|
|
if ((iVar4 != 0) && (iVar4 = FUN_00417ab4(iVar4), iVar4 != 0)) {
|
|
local_10 = *(int *)(iVar4 + 0x1d4);
|
|
}
|
|
FUN_004700bc((int *)&stack0xffffff64,local_8,0x15e,5,*(char **)(param_1 + 0x74),1,0,0,0xff);
|
|
FUN_00470430((int *)&stack0xffffff64,piVar1,(float)local_10);
|
|
FUN_0047018c((int *)&stack0xffffff64,2);
|
|
local_14 = (char *)(iVar2 + 0x224);
|
|
(**(code **)(*(int *)(param_1 + 0x24) + 0x18))();
|
|
(**(code **)(*(int *)(param_1 + 0x24) + 0x24))();
|
|
(**(code **)(*(int *)(param_1 + 0x24) + 0x48))();
|
|
if (local_14 != (char *)0x0) {
|
|
(**(code **)(*(int *)(param_1 + 0x24) + 0x18))();
|
|
FUN_004c2ec4(0x125,0x172,piVar1,local_8,local_14);
|
|
}
|
|
switch(*(undefined4 *)(iVar2 + 4)) {
|
|
case 0xbc3:
|
|
FUN_004c79c8((int *)(param_1 + 0x24),local_8,1,(char *)0x0,(char *)0x0,(char *)0x0);
|
|
(**(code **)(*(int *)(param_1 + 0x24) + 0x18))();
|
|
FUN_004c2ec4(0xb8,0x8c,(int *)(param_1 + 0x24),local_8,*(char **)(param_1 + 0x8c));
|
|
return;
|
|
default:
|
|
return;
|
|
case 0xbc6:
|
|
FUN_004c79c8((int *)(param_1 + 0x24),local_8,0,(char *)0x0,*(char **)(param_1 + 0x88),
|
|
*(char **)(param_1 + 0x80));
|
|
return;
|
|
case 0xbc8:
|
|
case 0xbd4:
|
|
FUN_004c79c8((int *)(param_1 + 0x24),local_8,0,*(char **)(param_1 + 0x78),
|
|
*(char **)(param_1 + 0x7c),*(char **)(param_1 + 0x80));
|
|
return;
|
|
case 0xbcd:
|
|
case 0xbd0:
|
|
FUN_004c79c8((int *)(param_1 + 0x24),local_8,1,(char *)0x0,(char *)0x0,
|
|
*(char **)(param_1 + 0x84));
|
|
return;
|
|
case 0xbce:
|
|
FUN_004dbb24(&DAT_00524e20,s_PrepEngr__Gauss_rifle_not_yet_su_00519c52,(char *)0x0);
|
|
FUN_004c79c8((int *)(param_1 + 0x24),local_8,1,(char *)0x0,(char *)0x0,
|
|
*(char **)(param_1 + 0x80));
|
|
return;
|
|
}
|
|
}
|
|
iVar4 = iVar4 + 1;
|
|
} while (iVar4 < local_c);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8140 file=? name=FUN_004c8140 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c8140(undefined4 *param_1,undefined4 param_2,int param_3,undefined4 param_4,int param_5,
|
|
int param_6,int param_7,int param_8,undefined4 param_9,char *param_10,char *param_11,
|
|
char *param_12,int param_13,undefined4 param_14)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
undefined4 uVar2;
|
|
undefined4 uVar3;
|
|
undefined4 uVar4;
|
|
undefined4 uVar5;
|
|
undefined4 uVar6;
|
|
undefined4 uVar7;
|
|
int iVar8;
|
|
int iVar9;
|
|
int iVar10;
|
|
int iVar11;
|
|
int iVar12;
|
|
int *piVar13;
|
|
undefined4 *puVar14;
|
|
int iVar15;
|
|
int iVar16;
|
|
int iVar17;
|
|
|
|
FUN_00444818(param_1,0xffff,0xffffffff,param_3,param_4,param_5,param_14);
|
|
*param_1 = &PTR_FUN_0051a020;
|
|
uVar1 = FUN_004442b8();
|
|
uVar2 = FUN_004442b8();
|
|
uVar3 = FUN_004442b8();
|
|
uVar4 = FUN_004442b8();
|
|
uVar5 = FUN_004442dc();
|
|
uVar6 = FUN_004442dc();
|
|
uVar7 = FUN_004442dc();
|
|
iVar8 = FUN_0041bfc0(param_8,s_InputVoltage_00519c7b);
|
|
iVar9 = FUN_0041bfc0(param_8,s_HeatSink_00519c88);
|
|
iVar10 = FUN_0041bfc0(param_8,s_CurrentTemperature_00519c91);
|
|
iVar11 = FUN_0041bfc0(param_8,s_DegradationTemperature_00519ca4);
|
|
iVar12 = FUN_0041bfc0(param_8,s_FailureTemperature_00519cbb);
|
|
iVar15 = *(int *)(param_3 + 0x4c);
|
|
piVar13 = (int *)FUN_00402298(0xb8);
|
|
if (piVar13 == (int *)0x0) {
|
|
piVar13 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar13 = FUN_004c4170(piVar13,uVar1,param_2,param_3,param_4,param_5,param_6 + 0x13,
|
|
param_7 + 0x10,param_6 + 0xdc,param_7 + 0x1f,param_11,0xff,0,iVar10,
|
|
iVar11,iVar12,s_HorizTwoPartBar_0051994c);
|
|
}
|
|
param_1[0x26] = piVar13;
|
|
piVar13 = (int *)FUN_00402298(0xb4);
|
|
if (piVar13 == (int *)0x0) {
|
|
piVar13 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar13 = FUN_004c70a4(piVar13,uVar2,param_2,param_3,param_4,param_5,param_6 + 0xe5,
|
|
param_7 + 0xe,s_btploop_pcc_00519cce,0xff,0,7,1,param_8,
|
|
s_CoolingLoop_00519a42);
|
|
}
|
|
param_1[0x27] = piVar13;
|
|
if (iVar8 == 0) {
|
|
param_1[0x29] = 0;
|
|
}
|
|
else {
|
|
piVar13 = (int *)FUN_00402298(0xb4);
|
|
if (piVar13 == (int *)0x0) {
|
|
piVar13 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar13 = FUN_004c7160(piVar13,uVar3,param_2,param_3,param_4,param_5,param_6 + 0x10e,
|
|
param_7 + 0xe,s_btpbus_pcc_00519cda,0xff,0,5,1,iVar8,
|
|
s_PowerSource_00519a4e);
|
|
}
|
|
param_1[0x29] = piVar13;
|
|
}
|
|
iVar16 = *(int *)(param_8 + 0x1e0);
|
|
param_1[0x24] = 0;
|
|
if ((-1 < iVar16) && (*(int *)(param_13 + iVar16 * 4) != 0)) {
|
|
puVar14 = (undefined4 *)FUN_00402298(0x7c);
|
|
if (puVar14 == (undefined4 *)0x0) {
|
|
puVar14 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar14 = FUN_00471d00(puVar14,param_2,param_3,param_4,param_5,param_6 + 0x90,param_7 + 0x36,
|
|
*(char **)(param_13 + iVar16 * 4),0,0xff,0,s_BackgroundBitmap_00519843)
|
|
;
|
|
}
|
|
param_1[0x24] = puVar14;
|
|
}
|
|
(**(code **)(param_1[0x12] + 0x10))(param_1 + 0x12,param_6,param_7);
|
|
(**(code **)(param_1[0x12] + 0x18))(param_1 + 0x12,0xff);
|
|
FUN_004c2ec4(9,0xb4,param_1 + 0x12,iVar15,param_12);
|
|
iVar15 = FUN_00447f1c(param_3,param_10);
|
|
iVar9 = FUN_00417ab4(iVar9);
|
|
iVar16 = FUN_0041bfc0(iVar9,s_CurrentTemperature_00519ce5);
|
|
iVar9 = FUN_0041bfc0(iVar9,s_DegradationTemperature_00519cf8);
|
|
iVar17 = FUN_0041bfc0(param_8,s_CoolantMassLeakRate_00519d0f);
|
|
piVar13 = (int *)FUN_00402298(0xb4);
|
|
if (piVar13 == (int *)0x0) {
|
|
piVar13 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar13 = FUN_004c70a4(piVar13,uVar1,param_9,param_3,param_4,iVar15,0x254,0x13b,
|
|
s_bteloop_pcc_00519d23,0xff,0,7,1,param_8,s_CoolingLoop_00519a42);
|
|
}
|
|
param_1[0x28] = piVar13;
|
|
piVar13 = (int *)FUN_00402298(0xb4);
|
|
if (piVar13 == (int *)0x0) {
|
|
piVar13 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar13 = FUN_004c5148(piVar13,uVar2,param_9,param_3,param_4,iVar15,400,10,
|
|
s_btecmode_pcc_00519d2f,0xff,0,1,2,param_8 + 0x134,
|
|
s_OneOfSeveralInt_00519989);
|
|
}
|
|
param_1[0x2d] = piVar13;
|
|
if (iVar8 == 0) {
|
|
param_1[0x2a] = 0;
|
|
param_1[0x25] = 0;
|
|
param_1[0x2e] = 0;
|
|
}
|
|
else {
|
|
piVar13 = (int *)FUN_00402298(0xb4);
|
|
if (piVar13 == (int *)0x0) {
|
|
piVar13 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar13 = FUN_004c7160(piVar13,uVar3,param_9,param_3,param_4,iVar15,0x1a,0xd0,
|
|
s_btebus_pcc_00519d3c,0xff,0,5,1,iVar8,s_PowerSource_00519a4e);
|
|
}
|
|
param_1[0x2a] = piVar13;
|
|
piVar13 = (int *)FUN_00402298(0xcc);
|
|
if (piVar13 == (int *)0x0) {
|
|
piVar13 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar13 = FUN_004c721c(piVar13,uVar4,param_9,param_3,param_4,iVar15,0x89,0x82,0x93,0x13b,
|
|
s_evolt_pcc_00519d47,0xff,0,3,0.0,12000.0,iVar8,
|
|
s_GeneratorVoltage_slotOf__00519a5a);
|
|
}
|
|
param_1[0x25] = piVar13;
|
|
iVar8 = FUN_0041a1a4(**(int **)(param_8 + 0xc),0x50f4bc);
|
|
if (iVar8 == 0) {
|
|
param_1[0x2e] = 0;
|
|
}
|
|
else {
|
|
piVar13 = (int *)FUN_00402298(0xb4);
|
|
if (piVar13 == (int *)0x0) {
|
|
piVar13 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar13 = FUN_004c5470(piVar13,uVar1,param_9,param_3,param_4,iVar15,0xbe,0,
|
|
s_btemode_pcc_00519d51,0xff,0,1,3,param_8 + 0x2b8,
|
|
s_OneOfSeveralStates_005199ac);
|
|
}
|
|
param_1[0x2e] = piVar13;
|
|
}
|
|
}
|
|
piVar13 = (int *)FUN_00402298(0xbc);
|
|
if (piVar13 == (int *)0x0) {
|
|
piVar13 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar13 = FUN_004c4724(piVar13,uVar5,param_9,param_3,param_4,iVar15,0x1d1,0x5c,0x1eb,0x124,
|
|
param_11,0xff,0xff,0,iVar10,iVar11,iVar12,s_VertTwoPartBar_0051995c);
|
|
}
|
|
param_1[0x2c] = piVar13;
|
|
piVar13 = (int *)FUN_00402298(0xbc);
|
|
if (piVar13 == (int *)0x0) {
|
|
piVar13 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar13 = FUN_004c4724(piVar13,uVar6,param_9,param_3,param_4,iVar15,0x222,0x5c,0x23d,0x124,
|
|
param_11,0xff,0xff,0,iVar16,iVar9,iVar12,s_VertTwoPartBar_0051995c);
|
|
}
|
|
param_1[0x2b] = piVar13;
|
|
piVar13 = (int *)FUN_00402298(0xb8);
|
|
if (piVar13 == (int *)0x0) {
|
|
piVar13 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar13 = FUN_004c5b7c(piVar13,uVar7,param_9,param_3,param_4,iVar15,0x255,0xe0,
|
|
s_eleak_pcc_00519d5d,0,0xff,3,*(int *)(param_8 + 0x150),iVar17,
|
|
s_LeakGauge_005199ce);
|
|
}
|
|
param_1[0x2f] = piVar13;
|
|
param_1[0x31] = 0;
|
|
param_1[0x30] = param_8;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c87dc file=? name=FUN_004c87dc */
|
|
|
|
void __cdecl FUN_004c87dc(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051a020;
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8808 file=? name=FUN_004c8808 */
|
|
|
|
void FUN_004c8808(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8818 file=? name=FUN_004c8818 */
|
|
|
|
void FUN_004c8818(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8820 file=? name=FUN_004c8820 */
|
|
|
|
void __cdecl FUN_004c8820(int param_1)
|
|
|
|
{
|
|
int *piVar1;
|
|
|
|
piVar1 = *(int **)(param_1 + 0x90);
|
|
if (piVar1 != (int *)0x0) {
|
|
(**(code **)(*piVar1 + 0xc))(piVar1);
|
|
}
|
|
(**(code **)(**(int **)(param_1 + 0x98) + 0xc))(*(int **)(param_1 + 0x98));
|
|
(**(code **)(**(int **)(param_1 + 0x9c) + 0xc))(*(int **)(param_1 + 0x9c));
|
|
(**(code **)(**(int **)(param_1 + 0xa0) + 0xc))(*(int **)(param_1 + 0xa0));
|
|
(**(code **)(**(int **)(param_1 + 0xb4) + 0xc))(*(int **)(param_1 + 0xb4));
|
|
piVar1 = *(int **)(param_1 + 0xa4);
|
|
if (piVar1 != (int *)0x0) {
|
|
(**(code **)(*piVar1 + 0xc))(piVar1);
|
|
}
|
|
piVar1 = *(int **)(param_1 + 0xa8);
|
|
if (piVar1 != (int *)0x0) {
|
|
(**(code **)(*piVar1 + 0xc))(piVar1);
|
|
}
|
|
piVar1 = *(int **)(param_1 + 0xb8);
|
|
if (piVar1 != (int *)0x0) {
|
|
(**(code **)(*piVar1 + 0xc))(piVar1);
|
|
}
|
|
piVar1 = *(int **)(param_1 + 0x94);
|
|
if (piVar1 != (int *)0x0) {
|
|
(**(code **)(*piVar1 + 0xc))(piVar1);
|
|
}
|
|
(**(code **)(**(int **)(param_1 + 0xac) + 0xc))(*(int **)(param_1 + 0xac));
|
|
(**(code **)(**(int **)(param_1 + 0xb0) + 0xc))(*(int **)(param_1 + 0xb0));
|
|
(**(code **)(**(int **)(param_1 + 0xbc) + 0xc))(*(int **)(param_1 + 0xbc));
|
|
*(undefined4 *)(param_1 + 200) = 0;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c88e4 file=? name=FUN_004c88e4 */
|
|
|
|
void __cdecl FUN_004c88e4(int *param_1)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
|
|
param_1[0x31] = (uint)(*(int *)(param_1[0x30] + 0x40) == 1);
|
|
iVar2 = (**(code **)(*param_1 + 0x48))(param_1);
|
|
if (iVar2 != param_1[0x32]) {
|
|
param_1[0x32] = iVar2;
|
|
(**(code **)(*param_1 + 0x44))(param_1,iVar2);
|
|
if (iVar2 == 0) {
|
|
FUN_004c89c4((int)param_1,0);
|
|
piVar1 = (int *)param_1[0x24];
|
|
if (piVar1 != (int *)0x0) {
|
|
(**(code **)(*piVar1 + 0xc))(piVar1);
|
|
}
|
|
}
|
|
else {
|
|
piVar1 = param_1 + 0x12;
|
|
(**(code **)(param_1[0x12] + 0x18))(piVar1,0);
|
|
(**(code **)(param_1[0x12] + 0x24))(piVar1,1,0x32);
|
|
(**(code **)(param_1[0x12] + 0x48))(piVar1,0x136,0xad);
|
|
FUN_004c89c4((int)param_1,0xff);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8990 file=? name=FUN_004c8990 */
|
|
|
|
undefined4 __cdecl FUN_004c8990(int param_1)
|
|
|
|
{
|
|
if (*(int *)(param_1 + 0xc4) != 0) {
|
|
return 1;
|
|
}
|
|
if (*(int *)(*(int *)(param_1 + 0xc0) + 0x278) != 4) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
/* @004c89c4 file=? name=FUN_004c89c4 */
|
|
|
|
void __cdecl FUN_004c89c4(int param_1,undefined4 param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
iVar1 = param_1 + 0x48;
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(iVar1,param_2);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(iVar1,9,0x33);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x38))(iVar1,0x132,0xab);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(iVar1,9,0xab);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x38))(iVar1,0x132,0x33);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8a28 file=? name=FUN_004c8a28 */
|
|
|
|
void __cdecl FUN_004c8a28(int param_1,int param_2)
|
|
|
|
{
|
|
FUN_00444650(*(int **)(param_1 + 0x98),param_2);
|
|
FUN_00444650(*(int **)(param_1 + 0x9c),param_2);
|
|
if (*(int **)(param_1 + 0xa4) != (int *)0x0) {
|
|
FUN_00444650(*(int **)(param_1 + 0xa4),param_2);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8a6c file=? name=FUN_004c8a6c */
|
|
|
|
int * __cdecl
|
|
FUN_004c8a6c(int *param_1,undefined4 param_2,int param_3,undefined4 param_4,int param_5,int param_6,
|
|
int param_7,int param_8,int param_9,undefined4 param_10,char *param_11,char *param_12,
|
|
char *param_13,char *param_14,int param_15,undefined4 param_16)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
undefined4 uVar2;
|
|
undefined4 uVar3;
|
|
undefined4 uVar4;
|
|
int iVar5;
|
|
int *piVar6;
|
|
undefined4 *puVar7;
|
|
|
|
FUN_004c8140(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_10,param_11,
|
|
param_12,param_13,param_15,param_16);
|
|
*param_1 = (int)&PTR_FUN_00519fd4;
|
|
uVar1 = FUN_004442dc();
|
|
uVar2 = FUN_004442dc();
|
|
uVar3 = FUN_004442dc();
|
|
uVar4 = FUN_004442dc();
|
|
param_1[0x36] = 0x42c80000;
|
|
iVar5 = FUN_00447f1c(param_3,param_11);
|
|
piVar6 = (int *)FUN_00402298(0xa4);
|
|
if (piVar6 == (int *)0x0) {
|
|
piVar6 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar6 = FUN_004739d8(piVar6,uVar1,param_10,param_3,param_4,iVar5,200,0x110,param_14,0,0xff,
|
|
param_1 + 0x31,s_TwoState_005198af);
|
|
}
|
|
param_1[0x37] = (int)piVar6;
|
|
param_1[0x33] = param_9;
|
|
param_1[0x34] = 0;
|
|
piVar6 = (int *)FUN_00402298(0xa4);
|
|
if (piVar6 == (int *)0x0) {
|
|
piVar6 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar6 = FUN_004739d8(piVar6,uVar2,param_10,param_3,param_4,iVar5,0x97,0xe8,
|
|
s_btehfail_pcc_00519d67,0,0xff,param_1 + 0x34,s_TwoState_005198af);
|
|
}
|
|
param_1[0x38] = (int)piVar6;
|
|
piVar6 = (int *)FUN_00402298(0xa4);
|
|
if (piVar6 == (int *)0x0) {
|
|
piVar6 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar6 = FUN_004739d8(piVar6,uVar3,param_10,param_3,param_4,iVar5,0x97,0xc0,
|
|
s_btepfail_pcc_00519d74,0,0xff,param_8 + 0x324,s_TwoState_005198af);
|
|
}
|
|
param_1[0x39] = (int)piVar6;
|
|
piVar6 = (int *)FUN_00402298(0xa4);
|
|
if (piVar6 == (int *)0x0) {
|
|
piVar6 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar6 = FUN_004739d8(piVar6,uVar4,param_10,param_3,param_4,iVar5,0x97,0x98,
|
|
s_btesfail_pcc_00519d81,0xff,0,param_8 + 800,s_TwoState_005198af);
|
|
}
|
|
param_1[0x3a] = (int)piVar6;
|
|
piVar6 = (int *)FUN_00402298(0x98);
|
|
if (piVar6 == (int *)0x0) {
|
|
piVar6 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar6 = FUN_00470888(piVar6,uVar3,param_10,param_3,param_4,iVar5,0x132,0x8c,0x15a,0xaa,
|
|
s_helv18_pcc_00519d8e,3,0,0,0xff,param_1 + 0x36,
|
|
s_NumericDisplayScalar_005197a5);
|
|
}
|
|
param_1[0x3b] = (int)piVar6;
|
|
puVar7 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar7 == (undefined4 *)0x0) {
|
|
puVar7 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar7 = FUN_00474855(puVar7,0,param_1 + 0x35,param_8 + 0x31c);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar7);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8d18 file=? name=FUN_004c8d18 */
|
|
|
|
void __cdecl FUN_004c8d18(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00519fd4;
|
|
FUN_004c87dc(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8d44 file=? name=FUN_004c8d44 */
|
|
|
|
void FUN_004c8d44(void)
|
|
|
|
{
|
|
FUN_004c8808();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8d54 file=? name=FUN_004c8d54 */
|
|
|
|
void FUN_004c8d54(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8d5c file=? name=FUN_004c8d5c */
|
|
|
|
void __cdecl FUN_004c8d5c(int param_1)
|
|
|
|
{
|
|
FUN_004c8820(param_1);
|
|
(**(code **)(**(int **)(param_1 + 0xdc) + 0xc))(*(int **)(param_1 + 0xdc));
|
|
(**(code **)(**(int **)(param_1 + 0xe4) + 0xc))(*(int **)(param_1 + 0xe4));
|
|
(**(code **)(**(int **)(param_1 + 0xe0) + 0xc))(*(int **)(param_1 + 0xe0));
|
|
(**(code **)(**(int **)(param_1 + 0xe8) + 0xc))(*(int **)(param_1 + 0xe8));
|
|
(**(code **)(**(int **)(param_1 + 0xec) + 0xc))(*(int **)(param_1 + 0xec));
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8db0 file=? name=FUN_004c8db0 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004c8db0(int *param_1)
|
|
|
|
{
|
|
if (param_1[0x33] != 0) {
|
|
param_1[0x34] = (uint)(*(int *)(param_1[0x33] + 0x40) == 1);
|
|
}
|
|
param_1[0x36] = (int)((float)param_1[0x35] * _DAT_004c8df0);
|
|
FUN_004c88e4(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8df4 file=? name=FUN_004c8df4 */
|
|
|
|
int * __cdecl
|
|
FUN_004c8df4(int *param_1,undefined4 param_2,int param_3,undefined4 param_4,int param_5,int param_6,
|
|
int param_7,int param_8,undefined4 param_9,char *param_10,char *param_11,char *param_12,
|
|
int param_13,undefined4 param_14)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
int iVar2;
|
|
undefined4 *puVar3;
|
|
int *piVar4;
|
|
|
|
FUN_004c8140(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10,
|
|
param_11,param_12,param_13,param_14);
|
|
*param_1 = (int)&PTR_FUN_00519f88;
|
|
uVar1 = FUN_004442dc();
|
|
param_1[0x33] = 0;
|
|
iVar2 = FUN_00447f1c(param_3,param_10);
|
|
puVar3 = (undefined4 *)FUN_00402298(0xcc);
|
|
if (puVar3 == (undefined4 *)0x0) {
|
|
puVar3 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar3 = FUN_004c6798(puVar3,0xffff,param_9,param_3,0,iVar2,param_8,param_1 + 0x33,
|
|
s_edestryd_pcc_00519d99,0,s_EngrGraph_00519a2e);
|
|
}
|
|
param_1[0x34] = (int)puVar3;
|
|
piVar4 = (int *)FUN_00402298(0xb4);
|
|
if (piVar4 == (int *)0x0) {
|
|
piVar4 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar4 = FUN_004c5148(piVar4,uVar1,param_9,param_3,param_4,iVar2,0xf,0,s_bteseek_pcc_00519da6,
|
|
0xff,0,1,4,param_8 + 800,s_OneOfSeveralInt_00519989);
|
|
}
|
|
param_1[0x35] = (int)piVar4;
|
|
iVar2 = FUN_0041bfc0(param_8,s_InputVoltage_00519db2);
|
|
puVar3 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar3 == (undefined4 *)0x0) {
|
|
puVar3 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar3 = FUN_004c3288(puVar3,0,param_1 + 0x33,iVar2);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar3);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8f54 file=? name=FUN_004c8f54 */
|
|
|
|
void __cdecl FUN_004c8f54(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00519f88;
|
|
FUN_004c87dc(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8f80 file=? name=FUN_004c8f80 */
|
|
|
|
void FUN_004c8f80(void)
|
|
|
|
{
|
|
FUN_004c8808();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8f90 file=? name=FUN_004c8f90 */
|
|
|
|
void FUN_004c8f90(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8f98 file=? name=FUN_004c8f98 */
|
|
|
|
void __cdecl FUN_004c8f98(int param_1)
|
|
|
|
{
|
|
FUN_004c8820(param_1);
|
|
(**(code **)(**(int **)(param_1 + 0xd0) + 0xc))(*(int **)(param_1 + 0xd0));
|
|
(**(code **)(**(int **)(param_1 + 0xd4) + 0xc))(*(int **)(param_1 + 0xd4));
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c8fc4 file=? name=FUN_004c8fc4 */
|
|
|
|
int * __cdecl
|
|
FUN_004c8fc4(int *param_1,undefined4 param_2,int param_3,undefined4 param_4,int param_5,int param_6,
|
|
int param_7,int param_8,undefined4 param_9,char *param_10,char *param_11,char *param_12,
|
|
char *param_13,int param_14,undefined4 param_15)
|
|
|
|
{
|
|
char *pcVar1;
|
|
undefined4 uVar2;
|
|
int iVar3;
|
|
int iVar4;
|
|
undefined4 *puVar5;
|
|
int *piVar6;
|
|
|
|
FUN_004c8140(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10,
|
|
param_11,param_12,param_14,param_15);
|
|
*param_1 = (int)&PTR_FUN_00519f38;
|
|
uVar2 = FUN_004442b8();
|
|
iVar3 = FUN_0041bfc0(param_8,s_PercentDone_00519dbf);
|
|
iVar4 = FUN_004700ac(param_13);
|
|
param_1[0x33] = iVar4;
|
|
puVar5 = FUN_00442aec(*(int *)(param_3 + 0x4c) + 4,(char *)param_1[0x33],0);
|
|
if (puVar5 == (undefined4 *)0x0) {
|
|
pcVar1 = (char *)param_1[0x33];
|
|
FUN_004dbb24(&DAT_00524e20,s_WeaponCluster_missing___00519dcb,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,pcVar1,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_00519de3,(char *)0x0);
|
|
param_1[0x37] = 0;
|
|
param_1[0x38] = 0;
|
|
}
|
|
else {
|
|
param_1[0x37] = 0x41 - ((int)puVar5[3] >> 1);
|
|
param_1[0x38] = 0x6d - ((int)puVar5[4] >> 1);
|
|
}
|
|
piVar6 = (int *)FUN_00402298(0xc4);
|
|
if (piVar6 == (int *)0x0) {
|
|
piVar6 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar6 = FUN_004c6244(piVar6,0xffff,param_2,param_3,0,param_5,param_6 + 0x41,param_7 + 0x6d,40.0
|
|
,60.0,40.0,60.0,0.0,360.0,0x14,0,0xff,iVar3,1,s_SegmentArc270_00519a02);
|
|
}
|
|
param_1[0x34] = (int)piVar6;
|
|
puVar5 = (undefined4 *)FUN_00402298(0xc0);
|
|
if (puVar5 == (undefined4 *)0x0) {
|
|
puVar5 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar5 = FUN_004c6d80(puVar5,uVar2,param_2,param_3,0,param_5,param_6 + 0xee,param_7 + 0x38,
|
|
param_8,s_ConfigMap_00519a38);
|
|
}
|
|
param_1[0x35] = (int)puVar5;
|
|
puVar5 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar5 == (undefined4 *)0x0) {
|
|
puVar5 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar5 = FUN_00474855(puVar5,0,param_1 + 0x36,iVar3);
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,puVar5);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c91d4 file=? name=FUN_004c91d4 */
|
|
|
|
void __cdecl FUN_004c91d4(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00519f38;
|
|
FUN_00442c12(*(int *)(param_1[7] + 0x4c) + 4,(char *)param_1[0x33]);
|
|
FUN_004022e8((int *)param_1[0x33]);
|
|
param_1[0x33] = 0;
|
|
FUN_004c87dc(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9230 file=? name=FUN_004c9230 */
|
|
|
|
void FUN_004c9230(void)
|
|
|
|
{
|
|
FUN_004740c0();
|
|
FUN_004c8808();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9250 file=? name=FUN_004c9250 */
|
|
|
|
void FUN_004c9250(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9258 file=? name=FUN_004c9258 */
|
|
|
|
void __cdecl FUN_004c9258(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0xe4) = 0xfffffffe;
|
|
(**(code **)(**(int **)(param_1 + 0xd4) + 0xc))(*(int **)(param_1 + 0xd4));
|
|
(**(code **)(**(int **)(param_1 + 0xd0) + 0xc))(*(int **)(param_1 + 0xd0));
|
|
FUN_004c8820(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9290 file=? name=FUN_004c9290 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004c9290(int *param_1)
|
|
|
|
{
|
|
uint uVar1;
|
|
|
|
FUN_004c88e4(param_1);
|
|
if ((param_1[0x32] == 0) &&
|
|
(uVar1 = (uint)(_DAT_004c92e0 < (float)param_1[0x36]), uVar1 != param_1[0x39])) {
|
|
param_1[0x39] = uVar1;
|
|
(**(code **)(*param_1 + 0x4c))(param_1,uVar1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c92e4 file=? name=FUN_004c92e4 */
|
|
|
|
void __cdecl FUN_004c92e4(int param_1,int param_2)
|
|
|
|
{
|
|
FUN_00444650(*(int **)(param_1 + 0xd4),param_2);
|
|
FUN_00444650(*(int **)(param_1 + 0xd0),param_2);
|
|
if (param_2 == 0) {
|
|
*(undefined4 *)(param_1 + 0xe4) = 0xfffffffe;
|
|
}
|
|
FUN_004c8a28(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c932c file=? name=FUN_004c932c */
|
|
|
|
void __cdecl FUN_004c932c(int param_1,int param_2)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
undefined4 uVar2;
|
|
|
|
puVar1 = FUN_00442aec(*(int *)(*(int *)(param_1 + 0x1c) + 0x4c) + 4,*(char **)(param_1 + 0xcc),0);
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))
|
|
(param_1 + 0x48,*(undefined4 *)(param_1 + 0xdc),*(undefined4 *)(param_1 + 0xe0));
|
|
uVar2 = 0;
|
|
if (param_2 != 0) {
|
|
uVar2 = 0xff;
|
|
}
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(param_1 + 0x48,uVar2);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x54))
|
|
(param_1 + 0x48,0,puVar1,0,0,puVar1[3] + -1,puVar1[4] + -1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c93b0 file=? name=FUN_004c93b0 */
|
|
|
|
int * __cdecl
|
|
FUN_004c93b0(int *param_1,undefined4 param_2,int param_3,undefined4 param_4,int param_5,int param_6,
|
|
int param_7,int param_8,undefined4 param_9,char *param_10,char *param_11,char *param_12,
|
|
char *param_13,int param_14,undefined4 param_15)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
undefined4 *puVar4;
|
|
int *piVar5;
|
|
|
|
FUN_004c8fc4(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10,
|
|
param_11,param_12,param_13,param_14,param_15);
|
|
*param_1 = (int)&PTR_FUN_00519ee8;
|
|
uVar1 = FUN_004442dc();
|
|
iVar2 = FUN_00447f1c(param_3,param_10);
|
|
iVar3 = FUN_0041bfc0(param_8,s_OutputVoltage_00519de7);
|
|
puVar4 = (undefined4 *)FUN_00402298(0xcc);
|
|
if (puVar4 == (undefined4 *)0x0) {
|
|
puVar4 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar4 = FUN_004c6798(puVar4,0xffff,param_9,param_3,0,iVar2,param_8,iVar3,
|
|
s_edestryd_pcc_00519df5,1,s_EngrGraph_00519a2e);
|
|
}
|
|
param_1[0x3a] = (int)puVar4;
|
|
piVar5 = (int *)FUN_00402298(0xb4);
|
|
if (piVar5 == (int *)0x0) {
|
|
piVar5 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar5 = FUN_004c5148(piVar5,uVar1,param_9,param_3,param_4,iVar2,0xf,0,s_bteseek_pcc_00519e02,
|
|
0xff,0,1,4,param_8 + 0x3f0,s_OneOfSeveralInt_00519989);
|
|
}
|
|
param_1[0x3b] = (int)piVar5;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c94dc file=? name=FUN_004c94dc */
|
|
|
|
void __cdecl FUN_004c94dc(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00519ee8;
|
|
FUN_004c91d4(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9508 file=? name=FUN_004c9508 */
|
|
|
|
void FUN_004c9508(void)
|
|
|
|
{
|
|
FUN_004c9230();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9518 file=? name=FUN_004c9518 */
|
|
|
|
void FUN_004c9518(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9520 file=? name=FUN_004c9520 */
|
|
|
|
void __cdecl FUN_004c9520(int param_1)
|
|
|
|
{
|
|
FUN_004c9258(param_1);
|
|
(**(code **)(**(int **)(param_1 + 0xe8) + 0xc))(*(int **)(param_1 + 0xe8));
|
|
(**(code **)(**(int **)(param_1 + 0xec) + 0xc))(*(int **)(param_1 + 0xec));
|
|
*(undefined4 *)(param_1 + 0xe4) = 0xffffffff;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9558 file=? name=FUN_004c9558 */
|
|
|
|
int * __cdecl
|
|
FUN_004c9558(int *param_1,undefined4 param_2,int param_3,undefined4 param_4,int param_5,int param_6,
|
|
int param_7,int param_8,undefined4 param_9,char *param_10,char *param_11,char *param_12,
|
|
char *param_13,int param_14,char *param_15,char *param_16,undefined4 param_17)
|
|
|
|
{
|
|
int *piVar1;
|
|
undefined4 uVar2;
|
|
undefined4 uVar3;
|
|
undefined4 uVar4;
|
|
undefined4 uVar5;
|
|
undefined4 uVar6;
|
|
int iVar7;
|
|
int iVar8;
|
|
undefined4 *puVar9;
|
|
undefined4 *puVar10;
|
|
|
|
FUN_004c8fc4(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10,
|
|
param_11,param_12,param_13,param_14,param_17);
|
|
*param_1 = (int)&PTR_FUN_00519e98;
|
|
piVar1 = (int *)FUN_00414b60();
|
|
param_1[0x3d] = *piVar1;
|
|
param_1[0x3e] = (int)((float)param_1[0x3d] / DAT_0052140c);
|
|
uVar2 = FUN_00444290();
|
|
uVar3 = FUN_004442b8();
|
|
uVar4 = FUN_004442b8();
|
|
uVar5 = FUN_004442b8();
|
|
uVar6 = FUN_004442dc();
|
|
iVar7 = FUN_00417ab4(param_8 + 0x43c);
|
|
piVar1 = (int *)FUN_00402298(0x98);
|
|
if (piVar1 == (int *)0x0) {
|
|
piVar1 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar1 = FUN_00470cfc(piVar1,uVar3,param_2,param_3,param_4,param_5,param_6 + 0x27,param_7 + 100,
|
|
param_6 + 0x5f,param_7 + 0x76,param_15,4,0,0,0xff,iVar7 + 0x180,
|
|
s_NumericDisplayInteger_005197ba);
|
|
}
|
|
param_1[0x45] = (int)piVar1;
|
|
iVar8 = FUN_00447f1c(param_3,param_10);
|
|
piVar1 = (int *)FUN_00402298(0x98);
|
|
if (piVar1 == (int *)0x0) {
|
|
piVar1 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar1 = FUN_00470cfc(piVar1,uVar4,param_9,param_3,param_4,iVar8,0xdc,0x104,0x140,300,param_16,4
|
|
,0,0,0xff,iVar7 + 0x180,s_NumericDisplayInteger_005197ba);
|
|
}
|
|
param_1[0x46] = (int)piVar1;
|
|
param_1[0x3a] = 0;
|
|
piVar1 = (int *)FUN_00402298(0xa4);
|
|
if (piVar1 == (int *)0x0) {
|
|
piVar1 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar1 = FUN_004739d8(piVar1,uVar5,param_9,param_3,param_4,iVar8,0xa0,0xb2,s_btejam_pcc_00519e0e
|
|
,0,0xff,param_1 + 0x3a,s_TwoState_005198af);
|
|
}
|
|
param_1[0x42] = (int)piVar1;
|
|
param_1[0x3b] = 0;
|
|
param_1[0x3c] = 0;
|
|
piVar1 = (int *)FUN_00402298(0xa4);
|
|
if (piVar1 == (int *)0x0) {
|
|
piVar1 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar1 = FUN_004739d8(piVar1,uVar5,param_9,param_3,param_4,iVar8,0x121,0xb6,
|
|
s_btefire_pcc_00519e19,0,0xff,param_1 + 0x3b,s_TwoState_005198af);
|
|
}
|
|
param_1[0x43] = (int)piVar1;
|
|
puVar9 = (undefined4 *)FUN_00402298(0x48);
|
|
if (puVar9 == (undefined4 *)0x0) {
|
|
puVar9 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar10 = (undefined4 *)FUN_00447f84(param_3,iVar8);
|
|
puVar9 = FUN_0044ad78(puVar9,puVar10);
|
|
}
|
|
param_1[0x3f] = (int)puVar9;
|
|
piVar1 = (int *)FUN_00402298(0xac);
|
|
if (piVar1 == (int *)0x0) {
|
|
piVar1 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar1 = FUN_00473c94(piVar1,uVar5,param_9,param_3,param_4,iVar8,0x130,0xbc,0x162,0xee,
|
|
s_helv42_pcc_00519e25,2,0,0,0xff,param_1 + 0x3e,param_1 + 0x3b,
|
|
s_NumericDisplayScalarTwoState_005198b8);
|
|
}
|
|
param_1[0x40] = (int)piVar1;
|
|
piVar1 = (int *)FUN_00402298(0xa4);
|
|
if (piVar1 == (int *)0x0) {
|
|
piVar1 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar1 = FUN_004739d8(piVar1,uVar6,param_9,param_3,param_4,iVar8,0xc2,0x85,
|
|
s_edestryd_pcc_00519e30,0,0xff,param_1 + 0x31,s_TwoState_005198af);
|
|
}
|
|
param_1[0x41] = (int)piVar1;
|
|
piVar1 = (int *)FUN_00402298(0xac);
|
|
if (piVar1 == (int *)0x0) {
|
|
piVar1 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar1 = FUN_004c61c8(piVar1,uVar2,param_9,param_3,param_4,iVar8,0xf,0,s_bteejtm_pcc_00519e3d,0,
|
|
0xff,param_8 + 0x3f8,s_BitMapInverseWipeScalar_005199ea);
|
|
}
|
|
param_1[0x44] = (int)piVar1;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9940 file=? name=FUN_004c9940 */
|
|
|
|
void __cdecl FUN_004c9940(int *param_1,byte param_2)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_00519e98;
|
|
puVar1 = (undefined4 *)param_1[0x3f];
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
(**(code **)*puVar1)(puVar1,3);
|
|
}
|
|
param_1[0x3f] = 0;
|
|
puVar1 = (undefined4 *)param_1[0x40];
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
(**(code **)*puVar1)(puVar1,3);
|
|
}
|
|
param_1[0x40] = 0;
|
|
FUN_004c91d4(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c99a4 file=? name=FUN_004c99a4 */
|
|
|
|
void FUN_004c99a4(void)
|
|
|
|
{
|
|
FUN_00470e0c();
|
|
FUN_004c9230();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c99c4 file=? name=FUN_004c99c4 */
|
|
|
|
void FUN_004c99c4(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c99cc file=? name=FUN_004c99cc */
|
|
|
|
void __cdecl FUN_004c99cc(int param_1)
|
|
|
|
{
|
|
(**(code **)(**(int **)(param_1 + 0x114) + 0xc))(*(int **)(param_1 + 0x114));
|
|
(**(code **)(**(int **)(param_1 + 0x118) + 0xc))(*(int **)(param_1 + 0x118));
|
|
(**(code **)(**(int **)(param_1 + 0x104) + 0xc))(*(int **)(param_1 + 0x104));
|
|
(**(code **)(**(int **)(param_1 + 0x108) + 0xc))(*(int **)(param_1 + 0x108));
|
|
(**(code **)(**(int **)(param_1 + 0x10c) + 0xc))(*(int **)(param_1 + 0x10c));
|
|
(**(code **)(**(int **)(param_1 + 0x100) + 0xc))(*(int **)(param_1 + 0x100));
|
|
(**(code **)(**(int **)(param_1 + 0x110) + 0xc))(*(int **)(param_1 + 0x110));
|
|
FUN_004c9258(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9a38 file=? name=FUN_004c9a38 */
|
|
|
|
void __cdecl FUN_004c9a38(int *param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
int *piVar3;
|
|
|
|
param_1[0x3a] = (uint)(*(int *)(param_1[0x30] + 0x364) == 5);
|
|
iVar2 = FUN_00417ab4(param_1[0x30] + 0x43c);
|
|
iVar1 = *(int *)(iVar2 + 0x18c);
|
|
param_1[0x3b] = iVar1;
|
|
if (iVar1 == 0) {
|
|
if (param_1[0x3c] != 0) {
|
|
param_1[0x3c] = 0;
|
|
}
|
|
}
|
|
else {
|
|
param_1[0x3c] = 1;
|
|
piVar3 = (int *)FUN_00414b60();
|
|
param_1[0x3d] = *piVar3;
|
|
param_1[0x3d] = param_1[0x3d] - *(int *)(iVar2 + 400);
|
|
param_1[0x3e] = (int)((float)param_1[0x3d] / DAT_0052140c);
|
|
}
|
|
FUN_004c9290(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9adc file=? name=FUN_004c9adc */
|
|
|
|
undefined4 __cdecl FUN_004c9adc(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 uVar2;
|
|
|
|
iVar1 = FUN_00417ab4(*(int *)(param_1 + 0xc0) + 0x43c);
|
|
if (*(int *)(iVar1 + 0x180) == 0) {
|
|
return 1;
|
|
}
|
|
if (*(int *)(param_1 + 0xe8) != 0) {
|
|
return 1;
|
|
}
|
|
uVar2 = FUN_004c8990(param_1);
|
|
return uVar2;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9b24 file=? name=FUN_004c9b24 */
|
|
|
|
void __cdecl FUN_004c9b24(int param_1,int param_2)
|
|
|
|
{
|
|
FUN_00444650(*(int **)(param_1 + 0x114),param_2);
|
|
FUN_004c92e4(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9b50 file=? name=FUN_004c9b50 */
|
|
|
|
void __cdecl FUN_004c9b50(int param_1,int param_2)
|
|
|
|
{
|
|
FUN_004c932c(param_1,param_2);
|
|
if (param_2 == 0) {
|
|
FUN_00470ec8(*(int *)(param_1 + 0x114),0,0xff);
|
|
}
|
|
else {
|
|
FUN_00470ec8(*(int *)(param_1 + 0x114),0xff,0);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9bd0 file=? name=FUN_004c9bd0 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c9bd0(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4,
|
|
undefined4 param_5,int param_6,int param_7,int param_8,char *param_9,char *param_10,
|
|
undefined4 param_11)
|
|
|
|
{
|
|
uint *puVar1;
|
|
int *piVar2;
|
|
undefined4 uVar3;
|
|
undefined **ppuVar4;
|
|
undefined4 *puVar5;
|
|
undefined4 uVar6;
|
|
int iVar7;
|
|
undefined4 uVar8;
|
|
int iVar9;
|
|
int iVar10;
|
|
int iVar11;
|
|
char *pcVar12;
|
|
char *pcVar13;
|
|
int iVar14;
|
|
undefined4 uVar15;
|
|
uint *local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
local_8 = 0;
|
|
ppuVar4 = &PTR_s_dz_door_0051a240;
|
|
puVar5 = param_1;
|
|
do {
|
|
pcVar12 = *ppuVar4;
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_10 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_10 = FUN_00402460(puVar1,pcVar12);
|
|
}
|
|
local_10[3] = local_10[3] + 1;
|
|
local_c = FUN_0042076c(param_7,(int *)&local_10);
|
|
piVar2 = (int *)FUN_00402298(0x70);
|
|
if (piVar2 == (int *)0x0) {
|
|
piVar2 = (int *)0x0;
|
|
}
|
|
else {
|
|
uVar6 = param_3;
|
|
iVar7 = param_4;
|
|
uVar8 = param_5;
|
|
iVar9 = param_6;
|
|
iVar10 = param_7;
|
|
iVar11 = param_8;
|
|
pcVar12 = param_9;
|
|
pcVar13 = param_10;
|
|
iVar14 = local_c;
|
|
uVar15 = param_11;
|
|
uVar3 = FUN_004442b8();
|
|
piVar2 = FUN_004c3b98(piVar2,uVar3,uVar6,iVar7,uVar8,iVar9,iVar10,iVar11,pcVar12,pcVar13,
|
|
iVar14,uVar15);
|
|
}
|
|
*puVar5 = piVar2;
|
|
puVar1 = local_10 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_10,3);
|
|
}
|
|
local_8 = local_8 + 1;
|
|
param_8 = param_8 + 1;
|
|
ppuVar4 = ppuVar4 + 1;
|
|
puVar5 = puVar5 + 1;
|
|
} while (local_8 < 0x1c);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9ca8 file=? name=FUN_004c9ca8 */
|
|
|
|
void __cdecl FUN_004c9ca8(int *param_1,byte param_2)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
int *piVar2;
|
|
int iVar3;
|
|
|
|
if (param_1 != (int *)0x0) {
|
|
iVar3 = 0;
|
|
piVar2 = param_1;
|
|
do {
|
|
puVar1 = (undefined4 *)*piVar2;
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
(**(code **)*puVar1)(puVar1,3);
|
|
}
|
|
*piVar2 = 0;
|
|
iVar3 = iVar3 + 1;
|
|
piVar2 = piVar2 + 1;
|
|
} while (iVar3 < 0x1c);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9ce8 file=? name=FUN_004c9ce8 */
|
|
|
|
undefined4 FUN_004c9ce8(void)
|
|
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9cf4 file=? name=FUN_004c9cf4 */
|
|
|
|
void __cdecl FUN_004c9cf4(undefined4 *param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
iVar1 = 0;
|
|
do {
|
|
(**(code **)(*(int *)*param_1 + 0xc))((int *)*param_1);
|
|
iVar1 = iVar1 + 1;
|
|
param_1 = param_1 + 1;
|
|
} while (iVar1 < 0x1c);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9d18 file=? name=FUN_004c9d18 */
|
|
|
|
void __cdecl FUN_004c9d18(int *param_1,undefined4 param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
iVar1 = 0;
|
|
do {
|
|
FUN_004c3c38(*param_1,param_2);
|
|
iVar1 = iVar1 + 1;
|
|
param_1 = param_1 + 1;
|
|
} while (iVar1 < 0x1c);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9d44 file=? name=FUN_004c9d44 */
|
|
|
|
bool __cdecl
|
|
FUN_004c9d44(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
|
|
puVar2 = (undefined4 *)FUN_00402298(0xc4);
|
|
if (puVar2 != (undefined4 *)0x0) {
|
|
FUN_004c9e10(puVar2,DAT_0051a2bc,DAT_0051a300,param_5,0,param_1,param_2,param_3,&DAT_0051a344,
|
|
DAT_0051a388,DAT_0051a3cc,s_SectorDisplay_0051bb34);
|
|
}
|
|
iVar1 = *(int *)(param_5 + 0x4c);
|
|
puVar2 = FUN_00442aec(iVar1 + 4,&DAT_0051a344,0);
|
|
if (puVar2 != (undefined4 *)0x0) {
|
|
FUN_00442c12(iVar1 + 4,&DAT_0051a344);
|
|
}
|
|
else {
|
|
FUN_004dbb24(&DAT_00524e20,s_SectorDisplay__Missing_image___0051bc90,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_0051a344,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_0051bcaf,(char *)0x0);
|
|
}
|
|
return puVar2 != (undefined4 *)0x0;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9e10 file=? name=FUN_004c9e10 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004c9e10(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4,
|
|
undefined4 param_5,int param_6,undefined4 param_7,undefined4 param_8,char *param_9,
|
|
int param_10,int param_11,undefined4 param_12)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 uVar2;
|
|
undefined4 *puVar3;
|
|
int *piVar4;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,param_12);
|
|
*param_1 = &PTR_FUN_0051beec;
|
|
uVar2 = FUN_004700ac(param_9);
|
|
param_1[0x25] = uVar2;
|
|
param_1[0x2a] = param_10;
|
|
param_1[0x2b] = param_11;
|
|
param_1[0x24] = 0;
|
|
param_1[0x2d] = 500;
|
|
param_1[0x2c] = 500;
|
|
iVar1 = *(int *)(param_4 + 0x4c);
|
|
puVar3 = FUN_00442aec(iVar1 + 4,(char *)param_1[0x25],0);
|
|
if (puVar3 == (undefined4 *)0x0) {
|
|
param_1[0x26] = 0;
|
|
param_1[0x27] = 0;
|
|
param_1[0x28] = 0;
|
|
param_1[0x29] = 0;
|
|
}
|
|
else {
|
|
param_1[0x26] = (int)puVar3[3] / 0xe;
|
|
param_1[0x27] = param_1[0x26] * 0xc;
|
|
param_1[0x28] = param_1[0x26] * 0xc + param_1[0x26] + -1;
|
|
param_1[0x29] = puVar3[4];
|
|
}
|
|
(**(code **)(param_1[0x12] + 0x10))(param_1 + 0x12,param_7,param_8);
|
|
piVar4 = (int *)FUN_00402298(0x44);
|
|
if (piVar4 == (int *)0x0) {
|
|
piVar4 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar4 = FUN_004700bc(piVar4,iVar1,0,0,param_9,3,0,param_10,param_11);
|
|
}
|
|
param_1[0x2f] = piVar4;
|
|
piVar4 = (int *)FUN_00402298(0x44);
|
|
if (piVar4 == (int *)0x0) {
|
|
piVar4 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar4 = FUN_004700bc(piVar4,iVar1,param_1[0x26] << 2,0,param_9,3,0,param_10,param_11);
|
|
}
|
|
param_1[0x30] = piVar4;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004c9f94 file=? name=FUN_004c9f94 */
|
|
|
|
void __cdecl FUN_004c9f94(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051beec;
|
|
FUN_00442c12(*(int *)(param_1[7] + 0x4c) + 4,(char *)param_1[0x25]);
|
|
FUN_004022e8((int *)param_1[0x25]);
|
|
param_1[0x25] = 0;
|
|
FUN_0047018c((int *)param_1[0x2f],3);
|
|
param_1[0x2f] = 0;
|
|
FUN_0047018c((int *)param_1[0x30],3);
|
|
param_1[0x30] = 0;
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca020 file=? name=FUN_004ca020 */
|
|
|
|
void FUN_004ca020(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca030 file=? name=FUN_004ca030 */
|
|
|
|
void FUN_004ca030(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca038 file=? name=FUN_004ca038 */
|
|
|
|
void __cdecl FUN_004ca038(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0xb8) = 1;
|
|
FUN_004703f4(*(int *)(param_1 + 0xc0));
|
|
FUN_004703f4(*(int *)(param_1 + 0xbc));
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca068 file=? name=FUN_004ca068 */
|
|
|
|
void __cdecl FUN_004ca068(int param_1,undefined4 param_2)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x90) = param_2;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca07c file=? name=FUN_004ca07c */
|
|
|
|
void __cdecl FUN_004ca07c(int param_1)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
undefined4 *puVar4;
|
|
|
|
if (*(int *)(param_1 + 0x90) != 0) {
|
|
iVar2 = FUN_004dcd94();
|
|
iVar3 = FUN_004dcd94();
|
|
piVar1 = (int *)(param_1 + 0x48);
|
|
FUN_00470430(*(int **)(param_1 + 0xbc),piVar1,(float)(iVar2 + *(int *)(param_1 + 0xb0)));
|
|
FUN_00470430(*(int **)(param_1 + 0xc0),piVar1,(float)(iVar3 + *(int *)(param_1 + 0xb4)));
|
|
if (*(int *)(param_1 + 0xb8) != 0) {
|
|
*(undefined4 *)(param_1 + 0xb8) = 0;
|
|
puVar4 = FUN_00442aec(*(int *)(*(int *)(param_1 + 0x1c) + 0x4c) + 4,*(char **)(param_1 + 0x94)
|
|
,0);
|
|
if (puVar4 != (undefined4 *)0x0) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(piVar1,*(int *)(param_1 + 0x98) * 3,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(piVar1,*(undefined4 *)(param_1 + 0xac));
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x54))
|
|
(piVar1,0,puVar4,*(undefined4 *)(param_1 + 0x9c),0,*(undefined4 *)(param_1 + 0xa0)
|
|
,*(undefined4 *)(param_1 + 0xa4));
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca1a0 file=? name=FUN_004ca1a0 */
|
|
|
|
undefined4 __cdecl
|
|
FUN_004ca1a0(int param_1,undefined4 param_2,int param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
puVar1 = (undefined4 *)FUN_00402298(0x150);
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
FUN_004ca208(puVar1,DAT_0051a704,DAT_0051a748,param_5,0,param_1,param_2,param_3,&DAT_0051a78c,
|
|
DAT_0051a7d0,DAT_0051a814,DAT_0051a858,s_Ranking_0051bb42);
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca208 file=? name=FUN_004ca208 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004ca208(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4,
|
|
undefined4 param_5,int param_6,undefined4 param_7,int param_8,char *param_9,
|
|
undefined4 param_10,int param_11,undefined4 param_12,undefined4 param_13)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
undefined4 *puVar3;
|
|
int *piVar4;
|
|
int iVar5;
|
|
int local_1c;
|
|
int local_18;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,param_13);
|
|
*param_1 = &PTR_FUN_0051bea8;
|
|
param_1[0x29] = param_10;
|
|
param_1[0x28] = param_12;
|
|
param_1[0x26] = param_7;
|
|
param_1[0x27] = param_8 + -0x20;
|
|
iVar1 = *(int *)(param_4 + 0x4c);
|
|
puVar3 = FUN_00442aec(iVar1 + 4,param_9,0);
|
|
iVar2 = puVar3[3];
|
|
iVar5 = (iVar2 / 0xe) * 8;
|
|
FUN_00442c12(iVar1 + 4,param_9);
|
|
param_1[0x2a] = iVar5 + 0x86;
|
|
if ((*(byte *)(param_1 + 0x28) & 4) != 0) {
|
|
param_1[0x2a] = param_1[0x2a] + iVar2 / 0xe + 0x20;
|
|
}
|
|
puVar3 = param_1 + 0x3b;
|
|
local_1c = param_1[0x27] + 3;
|
|
local_18 = 0;
|
|
do {
|
|
piVar4 = (int *)FUN_00402298(0x44);
|
|
if (piVar4 == (int *)0x0) {
|
|
piVar4 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar4 = FUN_004700bc(piVar4,iVar1,param_1[0x26] + 0x82,local_1c,param_9,8,2,0,param_11);
|
|
}
|
|
*puVar3 = piVar4;
|
|
if ((*(byte *)(param_1 + 0x28) & 4) == 0) {
|
|
puVar3[0x11] = 0;
|
|
}
|
|
else {
|
|
piVar4 = (int *)FUN_00402298(0x44);
|
|
if (piVar4 == (int *)0x0) {
|
|
piVar4 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar4 = FUN_004700bc(piVar4,iVar1,param_1[0x26] + iVar5 + 0xa2,local_1c,param_9,1,0,0,
|
|
param_11);
|
|
}
|
|
puVar3[0x11] = piVar4;
|
|
}
|
|
puVar3 = puVar3 + 1;
|
|
local_18 = local_18 + 1;
|
|
local_1c = local_1c - param_1[0x29];
|
|
} while (local_18 < 8);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca39c file=? name=FUN_004ca39c */
|
|
|
|
void __cdecl FUN_004ca39c(int *param_1,byte param_2)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051bea8;
|
|
iVar2 = 0;
|
|
piVar1 = param_1 + 0x3b;
|
|
do {
|
|
if ((int *)*piVar1 != (int *)0x0) {
|
|
FUN_0047018c((int *)*piVar1,3);
|
|
*piVar1 = 0;
|
|
}
|
|
if ((int *)piVar1[0x11] != (int *)0x0) {
|
|
FUN_0047018c((int *)piVar1[0x11],3);
|
|
piVar1[0x11] = 0;
|
|
}
|
|
iVar2 = iVar2 + 1;
|
|
piVar1 = piVar1 + 1;
|
|
} while (iVar2 < 8);
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca40c file=? name=FUN_004ca40c */
|
|
|
|
void FUN_004ca40c(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca41c file=? name=FUN_004ca41c */
|
|
|
|
void FUN_004ca41c(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca424 file=? name=FUN_004ca424 */
|
|
|
|
void __cdecl FUN_004ca424(int param_1,undefined4 param_2)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x90) = param_2;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca438 file=? name=FUN_004ca438 */
|
|
|
|
void __cdecl FUN_004ca438(int param_1)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
int iVar2;
|
|
|
|
*(undefined4 *)(param_1 + 0x94) = 999;
|
|
*(undefined4 *)(param_1 + 0x10c) = 0;
|
|
iVar2 = 0;
|
|
puVar1 = (undefined4 *)(param_1 + 0xac);
|
|
do {
|
|
*puVar1 = 0xffffffff;
|
|
puVar1[8] = 0xba83126f;
|
|
puVar1[0x19] = 0xffffffff;
|
|
iVar2 = iVar2 + 1;
|
|
puVar1 = puVar1 + 1;
|
|
} while (iVar2 < 8);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca478 file=? name=FUN_004ca478 */
|
|
|
|
void __cdecl FUN_004ca478(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
int *piVar3;
|
|
undefined4 uVar4;
|
|
int *piVar5;
|
|
int local_54 [3];
|
|
int local_48 [8];
|
|
int local_28;
|
|
float local_24;
|
|
undefined4 local_20;
|
|
int local_1c;
|
|
int local_18;
|
|
uint local_14;
|
|
int local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
iVar1 = FUN_00403ad0(*(int *)(DAT_004efc94 + 0x24) + 0x18,s_Players_0051bcba);
|
|
if (iVar1 != 0) {
|
|
if (*(int *)(param_1 + 0x90) == 0) {
|
|
local_10 = -1;
|
|
local_14 = 0;
|
|
}
|
|
else {
|
|
iVar2 = *(int *)(*(int *)(param_1 + 0x90) + 400);
|
|
local_10 = *(int *)(iVar2 + 0x1cc);
|
|
iVar2 = FUN_0044fc10(*(int *)(iVar2 + 0x204));
|
|
local_14 = (uint)(iVar2 != -1);
|
|
}
|
|
piVar3 = local_48;
|
|
local_8 = 0;
|
|
do {
|
|
*piVar3 = 0;
|
|
local_8 = local_8 + 1;
|
|
piVar3 = piVar3 + 1;
|
|
} while (local_8 < 8);
|
|
FUN_00421414(local_54,iVar1 + 0x10);
|
|
while (iVar1 = (**(code **)(local_54[0] + 0x28))(local_54), iVar1 != 0) {
|
|
if ((((*(byte *)(iVar1 + 0x29) & 0x40) == 0) && (iVar2 = *(int *)(iVar1 + 0x1cc), iVar2 < 8))
|
|
&& (-1 < iVar2)) {
|
|
local_48[iVar2] = iVar1;
|
|
}
|
|
}
|
|
local_c = *(int *)(param_1 + 0x9c);
|
|
local_8 = 0;
|
|
piVar3 = local_48;
|
|
piVar5 = (int *)(param_1 + 0xac);
|
|
do {
|
|
if (*piVar5 != *piVar3) {
|
|
*piVar5 = *piVar3;
|
|
piVar5[8] = -0x1a5697ea;
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))
|
|
(param_1 + 0x48,*(int *)(param_1 + 0x98) + 1,local_c);
|
|
if (*piVar3 == 0) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(param_1 + 0x48,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x4c))(param_1 + 0x48,0x80,0x20);
|
|
FUN_00470758(piVar5[0x10],(int *)(param_1 + 0x48));
|
|
if (piVar5[0x21] != 0) {
|
|
FUN_00470758(piVar5[0x21],(int *)(param_1 + 0x48));
|
|
}
|
|
}
|
|
else {
|
|
local_18 = *(int *)(DAT_004efc94 + 200);
|
|
local_20 = *(undefined4 *)(*piVar3 + 0x1e0);
|
|
local_1c = (**(code **)(*(int *)(local_18 + 0x68) + 0xc))(local_18 + 0x68,&local_20);
|
|
if (local_1c == 0) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(param_1 + 0x48,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x4c))(param_1 + 0x48,0x80,0x20);
|
|
}
|
|
else {
|
|
uVar4 = 0xff;
|
|
if (((*(byte *)(param_1 + 0xa0) & 1) != 0) && (*(int *)(*piVar3 + 0x1fc) != 0)) {
|
|
uVar4 = FUN_004c2f88();
|
|
}
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(param_1 + 0x48,uVar4);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x58))
|
|
(param_1 + 0x48,0,0,local_1c,0,0,*(int *)(local_1c + 0xc) + -1,
|
|
*(int *)(local_1c + 0x10) + -1);
|
|
}
|
|
}
|
|
}
|
|
local_8 = local_8 + 1;
|
|
piVar5 = piVar5 + 1;
|
|
piVar3 = piVar3 + 1;
|
|
local_c = local_c - *(int *)(param_1 + 0xa4);
|
|
} while (local_8 < 8);
|
|
piVar5 = (int *)(param_1 + 0xec);
|
|
local_8 = 0;
|
|
piVar3 = local_48;
|
|
do {
|
|
if (*piVar3 == 0) {
|
|
FUN_00470758(*piVar5,(int *)(param_1 + 0x48));
|
|
}
|
|
else {
|
|
local_24 = *(float *)(*piVar3 + 0x1c8);
|
|
if ((float)piVar5[-8] != local_24) {
|
|
piVar5[-8] = (int)local_24;
|
|
if ((local_10 < local_8) && ((*(byte *)(param_1 + 0xa0) & 2) == 0)) {
|
|
FUN_00470758(*piVar5,(int *)(param_1 + 0x48));
|
|
}
|
|
else {
|
|
FUN_00470430((int *)*piVar5,(int *)(param_1 + 0x48),local_24);
|
|
}
|
|
}
|
|
}
|
|
local_8 = local_8 + 1;
|
|
piVar5 = piVar5 + 1;
|
|
piVar3 = piVar3 + 1;
|
|
} while (local_8 < 8);
|
|
if ((*(byte *)(param_1 + 0xa0) & 4) != 0) {
|
|
if (local_14 == 0) {
|
|
if (*(int *)(param_1 + 0x10c) == 1) {
|
|
piVar3 = (int *)(param_1 + 0x130);
|
|
local_8 = 0;
|
|
do {
|
|
FUN_00470758(*piVar3,(int *)(param_1 + 0x48));
|
|
piVar3[-8] = -1;
|
|
local_8 = local_8 + 1;
|
|
piVar3 = piVar3 + 1;
|
|
} while (local_8 < 8);
|
|
}
|
|
}
|
|
else {
|
|
piVar5 = (int *)(param_1 + 0x110);
|
|
local_8 = 0;
|
|
piVar3 = local_48;
|
|
do {
|
|
if (*piVar3 == 0) {
|
|
if (*piVar5 != -1) {
|
|
FUN_00470758(piVar5[8],(int *)(param_1 + 0x48));
|
|
*piVar5 = -1;
|
|
}
|
|
}
|
|
else {
|
|
local_28 = *(int *)(*piVar3 + 0x204);
|
|
iVar1 = FUN_0044fc10(local_28);
|
|
iVar1 = iVar1 - *(int *)(local_28 + 0x40);
|
|
if (iVar1 != *piVar5) {
|
|
*piVar5 = iVar1;
|
|
if (iVar1 == -1) {
|
|
FUN_00470758(piVar5[8],(int *)(param_1 + 0x48));
|
|
}
|
|
else {
|
|
FUN_00470430((int *)piVar5[8],(int *)(param_1 + 0x48),(float)(iVar1 + 1));
|
|
}
|
|
}
|
|
}
|
|
local_8 = local_8 + 1;
|
|
piVar5 = piVar5 + 1;
|
|
piVar3 = piVar3 + 1;
|
|
} while (local_8 < 8);
|
|
}
|
|
*(uint *)(param_1 + 0x10c) = local_14;
|
|
}
|
|
iVar1 = *(int *)(param_1 + 0x94);
|
|
if (iVar1 != local_10) {
|
|
if ((-1 < iVar1) && (iVar1 < 8)) {
|
|
iVar1 = param_1 + 0x48;
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(iVar1,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))
|
|
(iVar1,*(undefined4 *)(param_1 + 0x98),
|
|
(*(int *)(param_1 + 0x9c) - *(int *)(param_1 + 0x94) * *(int *)(param_1 + 0xa4))
|
|
+ -1);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x44))(iVar1,*(undefined4 *)(param_1 + 0xa8),0x22);
|
|
}
|
|
if ((-1 < local_10) && (local_10 < 8)) {
|
|
iVar1 = param_1 + 0x48;
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(iVar1,0xff);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))
|
|
(iVar1,*(undefined4 *)(param_1 + 0x98),
|
|
(*(int *)(param_1 + 0x9c) - local_10 * *(int *)(param_1 + 0xa4)) + -1);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x44))(iVar1,*(undefined4 *)(param_1 + 0xa8),0x22);
|
|
}
|
|
*(int *)(param_1 + 0x94) = local_10;
|
|
}
|
|
FUN_00421452(local_54,2);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca90c file=? name=FUN_004ca90c */
|
|
|
|
undefined4 __cdecl FUN_004ca90c(int param_1)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
int in_stack_00000014;
|
|
|
|
puVar1 = (undefined4 *)FUN_00402298(0x178);
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
FUN_004ca958(puVar1,DAT_0051ab4c,DAT_0051ab90,in_stack_00000014,0,param_1,&DAT_0051abd4,
|
|
s_PilotList_0051bb4a);
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004ca958 file=? name=FUN_004ca958 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004ca958(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4,
|
|
undefined4 param_5,int param_6,char *param_7,undefined4 param_8)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
int iVar4;
|
|
int *piVar5;
|
|
int *piVar6;
|
|
int *piVar7;
|
|
int local_18;
|
|
int local_14;
|
|
int local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,param_8);
|
|
piVar7 = &DAT_0051af88;
|
|
*param_1 = &PTR_FUN_0051be64;
|
|
param_1[0x24] = 0;
|
|
param_1[0x25] = 0;
|
|
iVar1 = *(int *)(param_4 + 0x4c);
|
|
local_8 = 0;
|
|
piVar6 = param_1 + 0x26;
|
|
do {
|
|
iVar2 = *piVar7;
|
|
iVar3 = piVar7[1];
|
|
iVar4 = piVar7[2];
|
|
if (iVar4 == 0) {
|
|
LAB_004ca9cc:
|
|
local_c = iVar2 + 0x95;
|
|
local_10 = iVar3 + -0xd;
|
|
local_14 = iVar2 + 0xe8;
|
|
local_18 = iVar3 + -0xd;
|
|
}
|
|
else if (iVar4 == 1) {
|
|
local_c = iVar2 + -8;
|
|
local_10 = iVar3 + -0x50;
|
|
local_14 = iVar2 + 0x48;
|
|
local_18 = iVar3 + -0x50;
|
|
}
|
|
else {
|
|
if (iVar4 != 2) goto LAB_004ca9cc;
|
|
local_c = iVar2 + -8;
|
|
local_10 = iVar3 + 0x44;
|
|
local_14 = iVar2 + 0x48;
|
|
local_18 = iVar3 + 0x44;
|
|
}
|
|
*piVar6 = iVar2;
|
|
piVar6[1] = iVar3;
|
|
piVar6[2] = 0;
|
|
piVar6[3] = 0;
|
|
piVar5 = (int *)FUN_00402298(0x44);
|
|
if (piVar5 == (int *)0x0) {
|
|
piVar5 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar5 = FUN_004700bc(piVar5,iVar1,local_c,local_10,param_7,2,2,0,0xff);
|
|
}
|
|
piVar6[4] = (int)piVar5;
|
|
piVar5 = (int *)FUN_00402298(0x44);
|
|
if (piVar5 == (int *)0x0) {
|
|
piVar5 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar5 = FUN_004700bc(piVar5,iVar1,local_14,local_18,param_7,2,2,0,0xff);
|
|
}
|
|
piVar6[5] = (int)piVar5;
|
|
piVar5 = (int *)FUN_00402298(0x44);
|
|
if (piVar5 == (int *)0x0) {
|
|
piVar5 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar5 = FUN_004700bc(piVar5,iVar1,iVar2,iVar3,param_7,1,2,0,0xff);
|
|
}
|
|
piVar6[6] = (int)piVar5;
|
|
piVar7 = piVar7 + 3;
|
|
local_8 = local_8 + 1;
|
|
piVar6 = piVar6 + 7;
|
|
if (7 < local_8) {
|
|
return param_1;
|
|
}
|
|
} while( true );
|
|
}
|
|
|
|
|
|
|
|
/* @004cab10 file=? name=FUN_004cab10 */
|
|
|
|
void __cdecl FUN_004cab10(int *param_1,byte param_2)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051be64;
|
|
iVar2 = 0;
|
|
piVar1 = param_1 + 0x26;
|
|
do {
|
|
FUN_0047018c((int *)piVar1[4],3);
|
|
piVar1[4] = 0;
|
|
FUN_0047018c((int *)piVar1[5],3);
|
|
piVar1[5] = 0;
|
|
FUN_0047018c((int *)piVar1[6],3);
|
|
piVar1[6] = 0;
|
|
iVar2 = iVar2 + 1;
|
|
piVar1 = piVar1 + 7;
|
|
} while (iVar2 < 8);
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cab8c file=? name=FUN_004cab8c */
|
|
|
|
void FUN_004cab8c(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cab9c file=? name=FUN_004cab9c */
|
|
|
|
void FUN_004cab9c(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004caba4 file=? name=FUN_004caba4 */
|
|
|
|
void __cdecl FUN_004caba4(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
|
|
iVar2 = 0;
|
|
iVar1 = param_1 + 0x98;
|
|
do {
|
|
*(undefined4 *)(iVar1 + 8) = 0xffffffff;
|
|
iVar2 = iVar2 + 1;
|
|
iVar1 = iVar1 + 0x1c;
|
|
} while (iVar2 < 8);
|
|
*(undefined4 *)(param_1 + 0x90) = 9;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cabd0 file=? name=FUN_004cabd0 */
|
|
|
|
void __cdecl FUN_004cabd0(int param_1)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
int iVar4;
|
|
undefined4 local_c;
|
|
|
|
iVar4 = **(int **)(*(int *)(DAT_004efc94 + 0x6c) + 0x128);
|
|
iVar2 = FUN_004b0898(iVar4,0);
|
|
if (iVar2 != 0) {
|
|
if (7 < *(int *)(param_1 + 0x90)) {
|
|
*(undefined4 *)(param_1 + 0x90) = 0;
|
|
*(undefined4 *)(param_1 + 0x94) = 0;
|
|
}
|
|
iVar3 = *(int *)(param_1 + 0x90) * 0x1c + param_1;
|
|
if (*(int *)(param_1 + 0x94) == 0) {
|
|
iVar4 = FUN_004b0898(iVar4,*(int *)(param_1 + 0x90));
|
|
if (iVar4 == 0) {
|
|
*(undefined4 *)(param_1 + 0x94) = 1;
|
|
}
|
|
}
|
|
else {
|
|
iVar4 = 0;
|
|
}
|
|
if (iVar4 == 0) {
|
|
if (*(int *)(iVar3 + 0xa0) != 0) {
|
|
piVar1 = (int *)(param_1 + 0x48);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))
|
|
(piVar1,*(undefined4 *)(iVar3 + 0x98),*(undefined4 *)(iVar3 + 0x9c));
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(piVar1,0);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x4c))(piVar1,0x80,0x20);
|
|
FUN_00470758(*(int *)(iVar3 + 0xa8),piVar1);
|
|
FUN_00470758(*(int *)(iVar3 + 0xac),piVar1);
|
|
FUN_00470758(*(int *)(iVar3 + 0xb0),piVar1);
|
|
}
|
|
}
|
|
else {
|
|
if (*(int *)(iVar2 + 0x284) == 0) {
|
|
local_c = 0;
|
|
}
|
|
else {
|
|
local_c = (uint)(iVar4 == *(int *)(*(int *)(iVar2 + 0x284) + 400));
|
|
}
|
|
if ((iVar4 != *(int *)(iVar3 + 0xa0)) || (*(uint *)(iVar3 + 0xa4) != local_c)) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))
|
|
(param_1 + 0x48,*(undefined4 *)(iVar3 + 0x98),*(undefined4 *)(iVar3 + 0x9c));
|
|
FUN_004cad70(param_1,iVar4,local_c);
|
|
*(uint *)(iVar3 + 0xa4) = local_c;
|
|
}
|
|
FUN_00470430(*(int **)(iVar3 + 0xa8),(int *)(param_1 + 0x48),(float)*(int *)(iVar4 + 0x27c));
|
|
FUN_00470430(*(int **)(iVar3 + 0xac),(int *)(param_1 + 0x48),(float)*(int *)(iVar4 + 0x280));
|
|
}
|
|
}
|
|
*(int *)(param_1 + 0x90) = *(int *)(param_1 + 0x90) + 1;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cad70 file=? name=FUN_004cad70 */
|
|
|
|
void __cdecl FUN_004cad70(int param_1,int param_2,int param_3)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 uVar2;
|
|
undefined4 uVar3;
|
|
undefined4 local_8;
|
|
|
|
local_8 = *(undefined4 *)(param_2 + 0x1e0);
|
|
iVar1 = (**(code **)(*(int *)(*(int *)(DAT_004efc94 + 200) + 0x68) + 0xc))
|
|
(*(int *)(DAT_004efc94 + 200) + 0x68,&local_8);
|
|
uVar3 = 0xff;
|
|
if (param_3 == 0) {
|
|
uVar3 = 0;
|
|
}
|
|
uVar2 = 0;
|
|
if (param_3 == 0) {
|
|
uVar2 = 0xff;
|
|
}
|
|
if (iVar1 == 0) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(param_1 + 0x48,uVar3);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x4c))(param_1 + 0x48,0x80,0x20);
|
|
}
|
|
else {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(param_1 + 0x48,uVar2);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x58))
|
|
(param_1 + 0x48,uVar3,0,iVar1,0,0,*(int *)(iVar1 + 0xc) + -1,
|
|
*(int *)(iVar1 + 0x10) + -1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cae20 file=? name=FUN_004cae20 */
|
|
|
|
void __cdecl FUN_004cae20(int param_1,undefined4 param_2,int param_3,int param_4)
|
|
|
|
{
|
|
int iVar1;
|
|
bool bVar2;
|
|
int iVar3;
|
|
|
|
bVar2 = false;
|
|
iVar3 = 0;
|
|
iVar1 = *(int *)(param_3 + 0x204);
|
|
if (iVar1 != 0) {
|
|
iVar3 = FUN_0044fc10(iVar1);
|
|
if (iVar3 != -1) {
|
|
bVar2 = true;
|
|
iVar3 = (iVar3 - *(int *)(iVar1 + 0x40)) + 1;
|
|
}
|
|
}
|
|
if (bVar2) {
|
|
FUN_00470430(*(int **)(param_4 + 0x18),(int *)(param_1 + 0x48),(float)iVar3);
|
|
}
|
|
else {
|
|
FUN_00470758(*(int *)(param_4 + 0x18),(int *)(param_1 + 0x48));
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cae90 file=? name=FUN_004cae90 */
|
|
|
|
undefined4 __cdecl
|
|
FUN_004cae90(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
uint uVar1;
|
|
int *piVar2;
|
|
undefined4 *puVar3;
|
|
undefined4 uVar4;
|
|
|
|
uVar1 = DAT_0051b07c;
|
|
uVar4 = 0;
|
|
if (((int)DAT_0051b07c < 1) || (8 < (int)DAT_0051b07c)) {
|
|
FUN_004dbb24(&DAT_00524e20,s_PlayerStatus__Make_player_number_0051bcd9,(char *)0x0);
|
|
piVar2 = FUN_004db78c(&DAT_00524e20,uVar1);
|
|
FUN_004dbb24(piVar2,&DAT_0051bd0a,(char *)0x0);
|
|
}
|
|
else {
|
|
puVar3 = (undefined4 *)FUN_00402298(200);
|
|
if (puVar3 != (undefined4 *)0x0) {
|
|
FUN_004cb1a8(puVar3,DAT_0051aff4,DAT_0051b038,param_5,0,param_1,param_2,param_3,uVar1,
|
|
&DAT_0051b0c0,DAT_0051b104,DAT_0051b148,DAT_0051b18c,DAT_0051b1d0,
|
|
s_PlayerStatus_0051bb54);
|
|
}
|
|
uVar4 = 1;
|
|
}
|
|
return uVar4;
|
|
}
|
|
|
|
|
|
|
|
/* @004caf50 file=? name=FUN_004caf50 */
|
|
|
|
void __cdecl FUN_004caf50(int *param_1,undefined1 *param_2,int param_3)
|
|
|
|
{
|
|
int iVar1;
|
|
int local_c;
|
|
undefined1 local_5;
|
|
|
|
(**(code **)(*param_1 + 0x1c))(param_1,&local_c,4);
|
|
iVar1 = 0;
|
|
if (0 < local_c) {
|
|
do {
|
|
(**(code **)(*param_1 + 0x1c))(param_1,&local_5,1);
|
|
if (iVar1 < param_3 + -1) {
|
|
*param_2 = local_5;
|
|
param_2 = param_2 + 1;
|
|
}
|
|
iVar1 = iVar1 + 1;
|
|
} while (iVar1 < local_c);
|
|
}
|
|
*param_2 = 0;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cafac file=? name=FUN_004cafac */
|
|
|
|
int * __cdecl FUN_004cafac(int param_1,int param_2,int param_3,int *param_4)
|
|
|
|
{
|
|
uint uVar1;
|
|
byte bVar2;
|
|
int *piVar3;
|
|
undefined4 *puVar4;
|
|
int iVar5;
|
|
byte *pbVar6;
|
|
byte *pbVar7;
|
|
char local_68 [80];
|
|
int local_18;
|
|
int local_14;
|
|
int *local_10;
|
|
int *local_c;
|
|
int local_8;
|
|
|
|
local_8 = FUN_00407064(*(int *)(DAT_004efc94 + 0x68),*(int *)(param_1 + 0x1bc),0x20);
|
|
if (local_8 == 0) {
|
|
uVar1 = *(uint *)(param_1 + 0x1bc);
|
|
FUN_004dbb24(&DAT_00524e20,s_CreateMutantPixelmap8__couldn_t_f_0051bd0d,(char *)0x0);
|
|
piVar3 = FUN_004db78c(&DAT_00524e20,uVar1);
|
|
FUN_004dbb24(piVar3,&DAT_0051bd3d,(char *)0x0);
|
|
}
|
|
else {
|
|
iVar5 = *(int *)(local_8 + 4);
|
|
*(int *)(local_8 + 4) = *(int *)(local_8 + 4) + 1;
|
|
if (iVar5 == 0) {
|
|
FUN_00406cd0(local_8);
|
|
}
|
|
puVar4 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar4 == (undefined4 *)0x0) {
|
|
local_c = (int *)0x0;
|
|
}
|
|
else {
|
|
local_c = FUN_004032dc(puVar4,*(undefined4 *)(local_8 + 0x3c),*(undefined4 *)(local_8 + 0x40),
|
|
0);
|
|
}
|
|
if (local_c == (int *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_CreateMutantPixelmap8__couldn_t_o_0051bd40,(char *)0x0);
|
|
}
|
|
else {
|
|
FUN_004caf50(local_c,local_68,0x50);
|
|
local_10 = FUN_00442d2b(param_2 + 0x20,local_68,0);
|
|
if (local_10 == (int *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_CreateMutantPixelmap8_can_t_find_0051bd6d,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,local_68,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_0051bd95,(char *)0x0);
|
|
FUN_004d9c70(&DAT_00524e20);
|
|
}
|
|
else {
|
|
pbVar6 = (byte *)local_10[2];
|
|
if (param_4 == (int *)0x0) {
|
|
piVar3 = (int *)FUN_00402298(0xc);
|
|
if (piVar3 == (int *)0x0) {
|
|
param_4 = (int *)0x0;
|
|
}
|
|
else {
|
|
param_4 = FUN_00449c88(piVar3,*local_10,local_10[1]);
|
|
}
|
|
}
|
|
local_18 = param_3 + -0x20;
|
|
pbVar7 = (byte *)param_4[2];
|
|
for (local_14 = local_10[1]; 0 < local_14; local_14 = local_14 + -1) {
|
|
for (iVar5 = *local_10; 0 < iVar5; iVar5 = iVar5 + -1) {
|
|
bVar2 = *pbVar6;
|
|
pbVar6 = pbVar6 + 1;
|
|
if (0x1f < bVar2) {
|
|
bVar2 = bVar2 + (char)local_18;
|
|
}
|
|
*pbVar7 = bVar2;
|
|
pbVar7 = pbVar7 + 1;
|
|
}
|
|
}
|
|
FUN_00442e51(param_2 + 0x20,local_68);
|
|
}
|
|
FUN_00403310(local_c,3);
|
|
}
|
|
*(int *)(local_8 + 4) = *(int *)(local_8 + 4) + -1;
|
|
}
|
|
return param_4;
|
|
}
|
|
|
|
|
|
|
|
/* @004cb1a8 file=? name=FUN_004cb1a8 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004cb1a8(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4,
|
|
undefined4 param_5,int param_6,undefined4 param_7,undefined4 param_8,int param_9,
|
|
char *param_10,undefined4 param_11,undefined4 param_12,undefined4 param_13,
|
|
undefined4 param_14,undefined4 param_15)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,param_15);
|
|
*param_1 = &PTR_FUN_0051be20;
|
|
param_1[0x29] = param_11;
|
|
param_1[0x2a] = param_12;
|
|
param_1[0x2b] = param_13;
|
|
param_1[0x2c] = param_14;
|
|
param_1[0x24] = param_6;
|
|
(**(code **)(param_1[0x12] + 0x10))(param_1 + 0x12,param_7,param_8);
|
|
param_1[0x25] = param_9 + -1;
|
|
param_1[0x26] = 0;
|
|
param_1[0x27] = 0;
|
|
param_1[0x28] = 0;
|
|
param_1[0x2d] = 0;
|
|
iVar1 = *(int *)(param_4 + 0x4c);
|
|
piVar2 = (int *)FUN_00402298(0x44);
|
|
if (piVar2 == (int *)0x0) {
|
|
piVar2 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar2 = FUN_004700bc(piVar2,iVar1,0x72,0xd8,param_10,5,2,param_1[0x29],param_1[0x2a]);
|
|
}
|
|
param_1[0x2e] = piVar2;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004cb28c file=? name=FUN_004cb28c */
|
|
|
|
void __cdecl FUN_004cb28c(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051be20;
|
|
param_1[0x26] = 0;
|
|
FUN_0047018c((int *)param_1[0x2e],3);
|
|
param_1[0x2e] = 0;
|
|
if ((int *)param_1[0x28] != (int *)0x0) {
|
|
FUN_00449d0c((int *)param_1[0x28],3);
|
|
param_1[0x28] = 0;
|
|
}
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cb2f8 file=? name=FUN_004cb2f8 */
|
|
|
|
void FUN_004cb2f8(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cb308 file=? name=FUN_004cb308 */
|
|
|
|
void FUN_004cb308(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cb310 file=? name=FUN_004cb310 */
|
|
|
|
void __cdecl FUN_004cb310(int param_1)
|
|
|
|
{
|
|
FUN_004703f4(*(int *)(param_1 + 0xb8));
|
|
if (*(undefined4 **)(param_1 + 0xb4) != (undefined4 *)0x0) {
|
|
FUN_004c9cf4(*(undefined4 **)(param_1 + 0xb4));
|
|
}
|
|
*(undefined4 *)(param_1 + 0xbc) = 1;
|
|
*(undefined4 *)(param_1 + 0xc0) = 0xffffffff;
|
|
*(undefined4 *)(param_1 + 0xc4) = 0xffffffff;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cb358 file=? name=FUN_004cb358 */
|
|
|
|
void __cdecl FUN_004cb358(int *param_1)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
int *piVar3;
|
|
undefined4 *puVar4;
|
|
int iVar5;
|
|
uint uVar6;
|
|
int local_20 [3];
|
|
int local_14;
|
|
undefined4 local_10;
|
|
undefined4 *local_c;
|
|
int local_8;
|
|
|
|
iVar2 = FUN_00403ad0(*(int *)(DAT_004efc94 + 0x24) + 0x18,s_Players_0051bd97);
|
|
if (iVar2 != 0) {
|
|
FUN_00421414(local_20,iVar2 + 0x10);
|
|
iVar2 = (**(code **)(local_20[0] + 0x34))(local_20,param_1[0x25]);
|
|
if ((iVar2 != param_1[0x26]) && (param_1[0x26] = iVar2, iVar2 != 0)) {
|
|
iVar2 = *(int *)(iVar2 + 0x1fc);
|
|
if (iVar2 == 0) {
|
|
param_1[0x26] = 0;
|
|
}
|
|
else {
|
|
local_8 = *(int *)(param_1[7] + 0x4c);
|
|
iVar5 = param_1[0x25] * 0x1c + 0x10;
|
|
piVar3 = FUN_004cafac(iVar2,local_8,iVar5,(int *)param_1[0x28]);
|
|
param_1[0x28] = (int)piVar3;
|
|
if ((int *)param_1[0x2d] != (int *)0x0) {
|
|
FUN_004c9ca8((int *)param_1[0x2d],3);
|
|
}
|
|
local_c = (undefined4 *)FUN_00402298(0x70);
|
|
if (local_c == (undefined4 *)0x0) {
|
|
puVar4 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar4 = FUN_004c9bd0(local_c,param_1[9],param_1[6],param_1[7],param_1[5],param_1[0x24],
|
|
iVar2,iVar5,s_adpal_pcc_0051bd9f,s_adpal2_pcc_0051bda9,
|
|
s_PlayerStatusMappingGroup_0051bdb4);
|
|
}
|
|
param_1[0x2d] = (int)puVar4;
|
|
local_10 = *(undefined4 *)(param_1[0x26] + 0x1e0);
|
|
iVar2 = (**(code **)(*(int *)(*(int *)(DAT_004efc94 + 200) + 0x68) + 0xc))
|
|
(*(int *)(DAT_004efc94 + 200) + 0x68,&local_10);
|
|
param_1[0x27] = iVar2;
|
|
(**(code **)(*param_1 + 0xc))(param_1);
|
|
}
|
|
}
|
|
FUN_00421452(local_20,2);
|
|
}
|
|
if (param_1[0x26] != 0) {
|
|
piVar3 = param_1 + 0x12;
|
|
FUN_00470430((int *)param_1[0x2e],piVar3,*(float *)(param_1[0x26] + 0x1c8));
|
|
iVar2 = *(int *)(param_1[0x26] + 0x1fc);
|
|
local_14 = 0;
|
|
iVar5 = FUN_0041a1a4(**(int **)(iVar2 + 0xc),0x50bdb4);
|
|
if (iVar5 != 0) {
|
|
local_14 = FUN_0049fb54(iVar2);
|
|
}
|
|
if (local_14 != param_1[0x31]) {
|
|
param_1[0x31] = local_14;
|
|
if ((int *)param_1[0x2d] != (int *)0x0) {
|
|
FUN_004c9d18((int *)param_1[0x2d],local_14);
|
|
}
|
|
}
|
|
if (param_1[0x2f] != 0) {
|
|
param_1[0x2f] = 0;
|
|
if (param_1[0x28] != 0) {
|
|
(**(code **)(param_1[0x12] + 0x24))(piVar3,1,1);
|
|
piVar1 = (int *)param_1[0x28];
|
|
(**(code **)(param_1[0x12] + 0x5c))(piVar3,1,0,piVar1,0,0,*piVar1 + -1,piVar1[1] + -1);
|
|
}
|
|
(**(code **)(param_1[0x12] + 0x24))(piVar3,1,0xcf);
|
|
if (param_1[0x27] == 0) {
|
|
(**(code **)(param_1[0x12] + 0x18))(piVar3,param_1[0x29]);
|
|
(**(code **)(param_1[0x12] + 0x4c))(piVar3,0x80,0x20);
|
|
}
|
|
else {
|
|
uVar6 = FUN_004c2f94(iVar2);
|
|
(**(code **)(param_1[0x12] + 0x18))(piVar3,uVar6);
|
|
iVar2 = param_1[0x27];
|
|
(**(code **)(param_1[0x12] + 0x58))
|
|
(piVar3,param_1[0x29],0,iVar2,0,0,*(int *)(iVar2 + 0xc) + -1,
|
|
*(int *)(iVar2 + 0x10) + -1);
|
|
}
|
|
}
|
|
iVar2 = *(int *)(param_1[0x26] + 0x1c4);
|
|
if (iVar2 != param_1[0x30]) {
|
|
param_1[0x30] = iVar2;
|
|
if (iVar2 == 0) {
|
|
iVar2 = param_1[0x2b];
|
|
}
|
|
else {
|
|
iVar2 = param_1[0x2c];
|
|
}
|
|
(**(code **)(param_1[0x12] + 0x18))(param_1 + 0x12,iVar2);
|
|
(**(code **)(param_1[0x12] + 0x24))(param_1 + 0x12,0,0);
|
|
(**(code **)(param_1[0x12] + 0x44))(param_1 + 0x12,0x9f,0xef);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cb678 file=? name=FUN_004cb678 */
|
|
|
|
bool __cdecl
|
|
FUN_004cb678(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
|
|
puVar2 = (undefined4 *)FUN_00402298(0xa4);
|
|
if (puVar2 != (undefined4 *)0x0) {
|
|
FUN_004cb704(puVar2,DAT_0051b43c,DAT_0051b480,param_5,0,param_1,param_2,param_3,&DAT_0051b4c4,
|
|
DAT_0051b508,s_MessageBoard_0051bb61);
|
|
}
|
|
iVar1 = *(int *)(param_5 + 0x4c) + 4;
|
|
puVar2 = FUN_00442aec(iVar1,&DAT_0051b4c4,0);
|
|
if (puVar2 != (undefined4 *)0x0) {
|
|
FUN_00442c12(iVar1,&DAT_0051b4c4);
|
|
}
|
|
return puVar2 != (undefined4 *)0x0;
|
|
}
|
|
|
|
|
|
|
|
/* @004cb704 file=? name=FUN_004cb704 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004cb704(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int param_4,
|
|
undefined4 param_5,int param_6,undefined4 param_7,undefined4 param_8,char *param_9,
|
|
undefined4 param_10,undefined4 param_11)
|
|
|
|
{
|
|
char *pcVar1;
|
|
|
|
FUN_00444818(param_1,param_2,param_3,param_4,param_5,param_6,param_11);
|
|
*param_1 = &PTR_FUN_0051bddc;
|
|
pcVar1 = (char *)FUN_004700ac(param_9);
|
|
param_1[0x25] = pcVar1;
|
|
FUN_00442aec(*(int *)(param_4 + 0x4c) + 4,pcVar1,0);
|
|
(**(code **)(param_1[0x12] + 0x10))(param_1 + 0x12,param_7,param_8);
|
|
param_1[0x26] = param_10;
|
|
param_1[0x24] = 0;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004cb788 file=? name=FUN_004cb788 */
|
|
|
|
void __cdecl FUN_004cb788(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051bddc;
|
|
FUN_00442c12(*(int *)(param_1[7] + 0x4c) + 4,(char *)param_1[0x25]);
|
|
FUN_004022e8((int *)param_1[0x25]);
|
|
param_1[0x25] = 0;
|
|
FUN_00444870(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cb7e4 file=? name=FUN_004cb7e4 */
|
|
|
|
void FUN_004cb7e4(void)
|
|
|
|
{
|
|
FUN_004448ac();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cb7f4 file=? name=FUN_004cb7f4 */
|
|
|
|
void FUN_004cb7f4(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cb7fc file=? name=FUN_004cb7fc */
|
|
|
|
void __cdecl FUN_004cb7fc(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x9c) = 0xffffffff;
|
|
*(undefined4 *)(param_1 + 0xa0) = 0xfffffffe;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cb818 file=? name=FUN_004cb818 */
|
|
|
|
void __cdecl FUN_004cb818(int param_1,undefined4 param_2)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x90) = param_2;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cb82c file=? name=FUN_004cb82c */
|
|
|
|
void __cdecl FUN_004cb82c(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
int iVar3;
|
|
undefined4 uVar4;
|
|
int iVar5;
|
|
undefined4 local_14;
|
|
undefined4 local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
if ((*(int *)(param_1 + 0x90) != 0) &&
|
|
(iVar1 = *(int *)(*(int *)(param_1 + 0x90) + 400), iVar1 != 0)) {
|
|
iVar1 = *(int *)(iVar1 + 0x1dc);
|
|
if (iVar1 == 0) {
|
|
iVar5 = 0;
|
|
iVar1 = -1;
|
|
}
|
|
else {
|
|
iVar5 = *(int *)(iVar1 + 0x10);
|
|
iVar1 = *(int *)(iVar1 + 0xc);
|
|
}
|
|
if (iVar1 != *(int *)(param_1 + 0xa0)) {
|
|
*(int *)(param_1 + 0xa0) = iVar1;
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(param_1 + 0x48,0,0);
|
|
if (*(int *)(param_1 + 0xa0) == -1) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))
|
|
(param_1 + 0x48,*(undefined4 *)(param_1 + 0x98));
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x4c))(param_1 + 0x48,0x80,0x20);
|
|
}
|
|
else {
|
|
local_8 = (*(uint *)(param_1 + 0xa0) & 3) << 7;
|
|
local_c = ((int)*(uint *)(param_1 + 0xa0) >> 2) << 5;
|
|
uVar4 = FUN_004c2f88();
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(param_1 + 0x48,uVar4);
|
|
iVar1 = *(int *)(*(int *)(param_1 + 0x1c) + 0x4c);
|
|
puVar2 = FUN_00442aec(iVar1 + 4,*(char **)(param_1 + 0x94),0);
|
|
if (puVar2 != (undefined4 *)0x0) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x58))
|
|
(param_1 + 0x48,*(undefined4 *)(param_1 + 0x98),0,puVar2,local_8,local_c,
|
|
local_8 + 0x7f,local_c + 0x1f);
|
|
}
|
|
FUN_00442c12(iVar1 + 4,*(char **)(param_1 + 0x94));
|
|
}
|
|
}
|
|
if (iVar5 != *(int *)(param_1 + 0x9c)) {
|
|
iVar1 = param_1 + 0x48;
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x24))(iVar1,0x80,0);
|
|
if (iVar5 == 0) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(iVar1,*(undefined4 *)(param_1 + 0x98));
|
|
if (*(int *)(param_1 + 0x9c) == -1) {
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x4c))(iVar1,0x80,0x20);
|
|
}
|
|
else {
|
|
local_10 = *(undefined4 *)(*(int *)(param_1 + 0x9c) + 0x1e0);
|
|
iVar3 = (**(code **)(*(int *)(*(int *)(DAT_004efc94 + 200) + 0x68) + 0xc))
|
|
(*(int *)(DAT_004efc94 + 200) + 0x68,&local_10);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x54))
|
|
(iVar1,0,iVar3,0,0,*(int *)(iVar3 + 0xc) + -1,*(int *)(iVar3 + 0x10) + -1);
|
|
}
|
|
}
|
|
else {
|
|
uVar4 = FUN_004c2f88();
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x18))(iVar1,uVar4);
|
|
local_14 = *(undefined4 *)(iVar5 + 0x1e0);
|
|
iVar3 = (**(code **)(*(int *)(*(int *)(DAT_004efc94 + 200) + 0x68) + 0xc))
|
|
(*(int *)(DAT_004efc94 + 200) + 0x68,&local_14);
|
|
(**(code **)(*(int *)(param_1 + 0x48) + 0x58))
|
|
(iVar1,*(undefined4 *)(param_1 + 0x98),0,iVar3,0,0,*(int *)(iVar3 + 0xc) + -1,
|
|
*(int *)(iVar3 + 0x10) + -1);
|
|
}
|
|
*(int *)(param_1 + 0x9c) = iVar5;
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cbaf0 file=? name=FUN_004cbaf0 */
|
|
|
|
undefined4 FUN_004cbaf0(void)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
uint uVar4;
|
|
int *piVar5;
|
|
undefined8 uVar6;
|
|
int in_stack_00000010;
|
|
int in_stack_00000014;
|
|
int local_60 [8];
|
|
int *local_40;
|
|
int *local_3c;
|
|
uint local_38;
|
|
int *local_34;
|
|
int *local_30;
|
|
int *local_2c;
|
|
char *local_28;
|
|
int local_24;
|
|
undefined4 local_20;
|
|
undefined4 local_1c;
|
|
char *local_18;
|
|
int local_14;
|
|
char *local_10;
|
|
int local_c;
|
|
char *local_8;
|
|
|
|
local_8 = s_btwarn_pcc_0051cdc7;
|
|
iVar2 = 0;
|
|
piVar5 = local_60;
|
|
do {
|
|
*piVar5 = (int)(&DAT_0051c08c + iVar2 * 0x44);
|
|
iVar2 = iVar2 + 1;
|
|
piVar5 = piVar5 + 1;
|
|
} while (iVar2 < 8);
|
|
local_c = *(int *)(in_stack_00000010 + 0x124);
|
|
iVar2 = 0;
|
|
if (0 < local_c) {
|
|
do {
|
|
if (((iVar2 != 0) &&
|
|
(iVar1 = *(int *)(*(int *)(in_stack_00000010 + 0x128) + iVar2 * 4), iVar1 != 0)) &&
|
|
(iVar3 = FUN_0041a1a4(**(int **)(iVar1 + 0xc),0x50f4bc), iVar3 != 0)) {
|
|
local_10 = (char *)(iVar1 + 0x1e4);
|
|
iVar3 = *(int *)(in_stack_00000014 + 0x4c);
|
|
FUN_00442aec(iVar3 + 4,(char *)(iVar1 + 0x224),0);
|
|
FUN_00442aec(iVar3 + 4,local_10,0);
|
|
uVar4 = *(int *)(iVar1 + 0x1dc) - 1;
|
|
if ((int)uVar4 < 0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_Auxiliary_screen_position___zero_0051cdd2,(char *)0x0);
|
|
}
|
|
else if ((int)uVar4 < 0xc) {
|
|
iVar3 = *(int *)(&DAT_0051bf34 + uVar4 * 0x1c);
|
|
local_14 = *(int *)(&DAT_0051bf38 + uVar4 * 0x1c);
|
|
local_18 = (&PTR_DAT_0051bf48)[uVar4 * 7];
|
|
local_1c = *(undefined4 *)(&DAT_0051bf3c + uVar4 * 0x1c);
|
|
local_20 = *(undefined4 *)(&DAT_0051bf40 + uVar4 * 0x1c);
|
|
local_24 = FUN_00447f1c(in_stack_00000014,(&PTR_DAT_0051bf44)[uVar4 * 7]);
|
|
switch(*(undefined4 *)(iVar1 + 4)) {
|
|
case 0xbc3:
|
|
uVar4 = FUN_0041f98c(in_stack_00000010,&DAT_0051ce73);
|
|
local_38 = uVar4;
|
|
FUN_004dbb24(&DAT_00524e20,s_MakeVehicleSystems_hud__0051ce77,(char *)0x0);
|
|
uVar6 = FUN_004dbd4c(&DAT_00524e20,uVar4);
|
|
local_3c = (int *)uVar6;
|
|
FUN_004dbb24(local_3c,&DAT_0051ce8f,(char *)0x0);
|
|
local_40 = (int *)FUN_00402298(0xf0);
|
|
if (local_40 != (int *)0x0) {
|
|
FUN_004c8a6c(local_40,local_1c,in_stack_00000014,0,local_24,iVar3,local_14,iVar1,
|
|
local_38,local_20,local_18,local_8,local_10,s_edestryd_pcc_0051ce91,
|
|
(int)local_60,s_SensorCluster_0051cccf);
|
|
}
|
|
break;
|
|
case 0xbc6:
|
|
local_34 = (int *)FUN_00402298(0xd8);
|
|
if (local_34 != (int *)0x0) {
|
|
FUN_004c8df4(local_34,local_1c,in_stack_00000014,0,local_24,iVar3,local_14,iVar1,
|
|
local_20,local_18,local_8,local_10,(int)local_60,s_MyomerCluster_0051ccc1
|
|
);
|
|
}
|
|
break;
|
|
case 0xbc8:
|
|
case 0xbd4:
|
|
if (*(int *)(iVar1 + 0x334) == 0) {
|
|
local_28 = s_qcircle_pcc_0051ce25;
|
|
}
|
|
else {
|
|
local_28 = s_qcircr_pcc_0051ce1a;
|
|
}
|
|
local_2c = (int *)FUN_00402298(0xf0);
|
|
if (local_2c != (int *)0x0) {
|
|
FUN_004c93b0(local_2c,local_1c,in_stack_00000014,0,local_24,iVar3,local_14,iVar1,
|
|
local_20,local_18,local_8,local_10,local_28,(int)local_60,
|
|
s_EnergyWeaponCluster_0051cceb);
|
|
}
|
|
break;
|
|
case 0xbcd:
|
|
case 0xbd0:
|
|
local_30 = (int *)FUN_00402298(0x11c);
|
|
if (local_30 != (int *)0x0) {
|
|
FUN_004c9558(local_30,local_1c,in_stack_00000014,0,local_24,iVar3,local_14,iVar1,
|
|
local_20,local_18,local_8,local_10,s_qcircle_pcc_0051ce31,(int)local_60,
|
|
s_smlfont_pcc_0051ce3d,s_helv42_pcc_0051ce49,s_ProjWeaponCluster_0051ccff
|
|
);
|
|
}
|
|
break;
|
|
case 0xbce:
|
|
FUN_004dbb24(&DAT_00524e20,s_Gauss_rifle_not_yet_supported_0051ce54,(char *)0x0);
|
|
}
|
|
}
|
|
else {
|
|
FUN_004dbb24(&DAT_00524e20,s_Illegal_auxiliary_screen_positio_0051cdf4,(char *)0x0);
|
|
piVar5 = FUN_004db78c(&DAT_00524e20,uVar4);
|
|
FUN_004dbb24(piVar5,&DAT_0051ce18,(char *)0x0);
|
|
}
|
|
}
|
|
iVar2 = iVar2 + 1;
|
|
} while (iVar2 < local_c);
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004cbea0 file=? name=FUN_004cbea0 */
|
|
|
|
int * __cdecl FUN_004cbea0(int *param_1)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
undefined4 *puVar2;
|
|
|
|
FUN_0046f97c(param_1);
|
|
*param_1 = (int)&PTR_FUN_0051cebc;
|
|
puVar2 = (undefined4 *)FUN_00402298(0x14);
|
|
if (puVar2 != (undefined4 *)0x0) {
|
|
FUN_00448c54(puVar2);
|
|
*puVar2 = &PTR_FUN_0051ceb0;
|
|
}
|
|
param_1[0x7033] = (int)puVar2;
|
|
uVar1 = *(undefined4 *)(DAT_004efc94 + 0x3c);
|
|
puVar2 = (undefined4 *)FUN_00402298(0x44);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00474c4c(puVar2,uVar1);
|
|
}
|
|
param_1[0x7032] = (int)puVar2;
|
|
puVar2 = (undefined4 *)FUN_00402298(0x74);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00468778(puVar2);
|
|
}
|
|
param_1[0x13] = (int)puVar2;
|
|
FUN_00448928(param_1,s_gauge_l4gauge_cfg_0051ce9e,(int *)&PTR_PTR_0051c910);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004cbf40 file=? name=FUN_004cbf40 */
|
|
|
|
void __cdecl FUN_004cbf40(int *param_1,byte param_2)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051cebc;
|
|
FUN_00447fc0((int)param_1,0);
|
|
puVar1 = (undefined4 *)param_1[0x13];
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
(**(code **)*puVar1)(puVar1,3);
|
|
}
|
|
param_1[0x13] = 0;
|
|
FUN_0046fbcc(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cbf90 file=? name=FUN_004cbf90 */
|
|
|
|
void __cdecl FUN_004cbf90(int param_1)
|
|
|
|
{
|
|
FUN_00447b60(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cbfa0 file=? name=FUN_004cbfa0 */
|
|
|
|
void __cdecl FUN_004cbfa0(int param_1,int param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
iVar1 = FUN_00407064(*(int *)(DAT_004efc94 + 0x68),*(int *)(param_2 + 0x1bc),0x12);
|
|
if (iVar1 != 0) {
|
|
iVar1 = FUN_0041a1a4(**(int **)(param_2 + 0xc),0x4e4518);
|
|
if (iVar1 == 0) {
|
|
iVar1 = FUN_0041a1a4(**(int **)(param_2 + 0xc),0x4e6ef8);
|
|
if (iVar1 != 0) {
|
|
FUN_00443864((float *)(param_1 + 0xb0),param_2);
|
|
}
|
|
}
|
|
else {
|
|
FUN_004434f4(param_1 + 0x94,param_2);
|
|
}
|
|
}
|
|
FUN_0046fd6c(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cc028 file=? name=FUN_004cc028 */
|
|
|
|
void __cdecl FUN_004cc028(int param_1,int param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
iVar1 = FUN_00407064(*(int *)(DAT_004efc94 + 0x68),*(int *)(param_2 + 0x1bc),0x12);
|
|
if (iVar1 != 0) {
|
|
iVar1 = FUN_0041a1a4(**(int **)(param_2 + 0xc),0x4e4518);
|
|
if (iVar1 == 0) {
|
|
iVar1 = FUN_0041a1a4(**(int **)(param_2 + 0xc),0x4e6ef8);
|
|
if (iVar1 != 0) {
|
|
FUN_00443930(param_1 + 0xb0,param_2);
|
|
}
|
|
}
|
|
else {
|
|
FUN_00443510(param_1 + 0x94,param_2);
|
|
}
|
|
}
|
|
FUN_0046fda0(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cc0e1 file=? name=FUN_004cc0e1 */
|
|
|
|
void __cdecl FUN_004cc0e1(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
FUN_00448c74(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cc108 file=? name=FUN_004cc108 */
|
|
|
|
undefined4 __cdecl FUN_004cc108(char *param_1,undefined4 *param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined **ppuVar2;
|
|
|
|
ppuVar2 = &PTR_s_coolingLoop1_0051cf1c;
|
|
while( true ) {
|
|
if (*ppuVar2 == (char *)0x0) {
|
|
return 0;
|
|
}
|
|
iVar1 = FUN_004d4b58(param_1,*ppuVar2);
|
|
if (iVar1 == 0) break;
|
|
ppuVar2 = ppuVar2 + 2;
|
|
}
|
|
*param_2 = ppuVar2[1];
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004cc148 file=? name=FUN_004cc148 */
|
|
|
|
undefined4 __cdecl FUN_004cc148(undefined4 param_1)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
|
|
uVar1 = 0xffffffff;
|
|
switch(param_1) {
|
|
case 0:
|
|
uVar1 = 0x2f;
|
|
break;
|
|
case 1:
|
|
uVar1 = 0x2e;
|
|
break;
|
|
case 2:
|
|
uVar1 = 0x2d;
|
|
break;
|
|
case 3:
|
|
uVar1 = 0x2c;
|
|
break;
|
|
case 4:
|
|
uVar1 = 0x2b;
|
|
break;
|
|
case 5:
|
|
uVar1 = 0x2a;
|
|
}
|
|
return uVar1;
|
|
}
|
|
|
|
|
|
|
|
/* @004cc1a0 file=? name=FUN_004cc1a0 */
|
|
|
|
int __cdecl FUN_004cc1a0(int param_1,int param_2,undefined4 *param_3)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
|
|
iVar2 = -1;
|
|
iVar1 = FUN_0041a1a4(**(int **)(param_2 + 0xc),0x50f4bc);
|
|
if ((iVar1 != 0) && (0 < *(int *)(param_2 + 0x1dc))) {
|
|
iVar1 = *(int *)(param_2 + 0x1dc) + -1;
|
|
if (param_1 == 0x80) {
|
|
iVar2 = *(int *)(&DAT_0051cffc + iVar1 * 4);
|
|
*param_3 = *(undefined4 *)(&DAT_0051cf9c + iVar1 * 4);
|
|
}
|
|
else {
|
|
iVar2 = *(int *)(&DAT_0051d02c + iVar1 * 4);
|
|
*param_3 = *(undefined4 *)(&DAT_0051cfcc + iVar1 * 4);
|
|
switch(param_1) {
|
|
case 0x82:
|
|
iVar2 = iVar2 + -1;
|
|
break;
|
|
case 0x83:
|
|
iVar2 = iVar2 + -2;
|
|
break;
|
|
case 0x84:
|
|
iVar2 = iVar2 + -3;
|
|
break;
|
|
case 0x85:
|
|
iVar2 = iVar2 + -4;
|
|
break;
|
|
case 0x86:
|
|
iVar2 = iVar2 + -5;
|
|
break;
|
|
case 0x87:
|
|
iVar2 = iVar2 + -6;
|
|
break;
|
|
case 0x88:
|
|
iVar2 = iVar2 + -7;
|
|
}
|
|
}
|
|
}
|
|
return iVar2;
|
|
}
|
|
|
|
|
|
|
|
/* @004cc264 file=? name=FUN_004cc264 */
|
|
|
|
undefined4 __cdecl FUN_004cc264(int param_1)
|
|
|
|
{
|
|
return *(undefined4 *)(&DAT_0051d058 + *(int *)(param_1 + 0x1d4) * 4);
|
|
}
|
|
|
|
|
|
|
|
/* @004cc27c file=? name=FUN_004cc27c */
|
|
|
|
undefined4 __cdecl FUN_004cc27c(int param_1)
|
|
|
|
{
|
|
return *(undefined4 *)(&DAT_0051d070 + *(int *)(param_1 + 0x1e0) * 4);
|
|
}
|
|
|
|
|
|
|
|
/* @004cc294 file=? name=FUN_004cc294 */
|
|
|
|
undefined4 __cdecl FUN_004cc294(undefined4 param_1,int *param_2,char *param_3,char *param_4)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 uVar2;
|
|
undefined4 local_c;
|
|
undefined4 local_8;
|
|
|
|
iVar1 = FUN_004ac194(param_3,&local_8);
|
|
if (iVar1 == 0) {
|
|
uVar2 = 0;
|
|
}
|
|
else {
|
|
iVar1 = FUN_004cc108(param_4,&local_c);
|
|
if (iVar1 == 0) {
|
|
uVar2 = 0;
|
|
}
|
|
else {
|
|
(**(code **)(*param_2 + 0x20))(param_2,&local_8,4);
|
|
(**(code **)(*param_2 + 0x20))(param_2,&local_c,4);
|
|
uVar2 = 1;
|
|
}
|
|
}
|
|
return uVar2;
|
|
}
|
|
|
|
|
|
|
|
/* @004cc2fc file=? name=FUN_004cc2fc */
|
|
|
|
void __cdecl
|
|
FUN_004cc2fc(undefined4 param_1,int param_2,undefined4 param_3,int param_4,int param_5,int *param_6)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
int unaff_EBX;
|
|
int local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
(**(code **)(*param_6 + 0x1c))(param_6,&local_8,4);
|
|
(**(code **)(*param_6 + 0x1c))(param_6,&local_c,4);
|
|
if (param_5 == local_8) {
|
|
local_10 = -1;
|
|
iVar1 = FUN_0041a1a4(**(int **)(param_4 + 0xc),0x50e4fc);
|
|
if (iVar1 == 0) {
|
|
iVar1 = FUN_0041a1a4(**(int **)(param_4 + 0xc),0x50fb60);
|
|
if (iVar1 == 0) {
|
|
if (local_c < 0x80) {
|
|
unaff_EBX = FUN_004cc148(local_c);
|
|
}
|
|
else {
|
|
unaff_EBX = FUN_004cc1a0(local_c,param_4,&local_10);
|
|
}
|
|
}
|
|
else if (param_5 == 2) {
|
|
unaff_EBX = FUN_004cc27c(param_4);
|
|
}
|
|
}
|
|
else if (param_5 == 2) {
|
|
unaff_EBX = FUN_004cc264(param_4);
|
|
}
|
|
if ((-1 < unaff_EBX) && (*(int *)(DAT_004efc94 + 0x4c) != 0)) {
|
|
piVar2 = (int *)FUN_00444c80(*(int *)(*(int *)(DAT_004efc94 + 0x4c) + 0x1c0c8),unaff_EBX,
|
|
local_10);
|
|
if (piVar2 != (int *)0x0) {
|
|
FUN_00444e64(piVar2,1);
|
|
(**(code **)(*(int *)(param_2 + 0x18) + 4))(param_2 + 0x18,piVar2);
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cc40c file=? name=FUN_004cc40c */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004cc40c(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 *param_4,
|
|
undefined4 param_5,undefined4 *param_6,undefined4 param_7,undefined4 param_8,
|
|
undefined4 param_9,undefined4 param_10,undefined4 param_11,undefined4 param_12,
|
|
undefined4 param_13,undefined4 param_14,undefined4 param_15)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
undefined4 uVar3;
|
|
undefined4 local_24 [6];
|
|
float local_c;
|
|
undefined4 *local_8;
|
|
|
|
FUN_004530ec(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_0051db44;
|
|
local_8 = param_1 + 0xcd;
|
|
FUN_004d123b(param_1 + 0xd1,0);
|
|
param_1[0x94] = param_4;
|
|
param_1[0x95] = *param_4;
|
|
param_1[0x96] = param_5;
|
|
param_1[0x89] = param_6;
|
|
param_1[0x8a] = *param_6;
|
|
param_1[0x8b] = param_11;
|
|
param_1[0x8c] = param_12;
|
|
param_1[0x91] = *(undefined4 *)param_1[0x95];
|
|
param_1[0x92] = ((undefined4 *)param_1[0x95])[1];
|
|
param_1[0x93] = *(undefined4 *)(param_1[0x95] + 8);
|
|
param_1[0x90] = 0;
|
|
param_1[0x78] = 0;
|
|
param_1[0x77] = 0;
|
|
param_1[0xe] = 0;
|
|
param_1[0xd] = 0;
|
|
param_1[0x79] = param_8;
|
|
param_1[0x7a] = 0;
|
|
param_1[0x7b] = param_9;
|
|
param_1[0x7c] = param_10;
|
|
param_1[0x7d] = param_7;
|
|
param_1[0x7e] = 0;
|
|
param_1[0xd0] = param_13;
|
|
FUN_00408440(param_1 + 0xcd,&DAT_004e0f74);
|
|
param_1[0xc9] = param_14;
|
|
FUN_00408440(param_1 + 0xca,&DAT_004e0f74);
|
|
param_1[0x61] = param_15;
|
|
param_1[0x62] = 0;
|
|
piVar1 = (int *)FUN_00414b60();
|
|
param_1[0x4b] = (float)*piVar1 / DAT_0052140c;
|
|
param_1[8] = *(undefined4 *)(param_1[0x95] + 0x24);
|
|
param_1[7] = 0;
|
|
param_1[0x60] = 0;
|
|
param_1[0x7f] = 0x3eb33333;
|
|
param_1[0x80] = 0x3e800000;
|
|
param_1[0x81] = 0x3f000000;
|
|
param_1[0x83] = 0x3c03126f;
|
|
param_1[0x82] = 0x3c83126f;
|
|
param_1[9] = 0xd;
|
|
param_1[10] = 1;
|
|
param_1[0x84] = 0xbe800000;
|
|
param_1[0x85] = 0x3eb33333;
|
|
param_1[0x86] = 0x3f000000;
|
|
param_1[0x88] = 0x3c03126f;
|
|
param_1[0x87] = 0x3c83126f;
|
|
param_1[0xb] = 0x15;
|
|
param_1[0xc] = 1;
|
|
iVar2 = FUN_00498448(s_PNAME1_bgf_0051d1f7,0);
|
|
param_1[0xbb] = iVar2;
|
|
iVar2 = FUN_00498448(s_PNAME2_bgf_0051d202,0);
|
|
param_1[0xbc] = iVar2;
|
|
iVar2 = FUN_00498448(s_PNAME3_bgf_0051d20d,0);
|
|
param_1[0xbd] = iVar2;
|
|
iVar2 = FUN_00498448(s_PNAME4_bgf_0051d218,0);
|
|
param_1[0xbe] = iVar2;
|
|
iVar2 = FUN_00498448(s_PNAME5_bgf_0051d223,0);
|
|
param_1[0xbf] = iVar2;
|
|
iVar2 = FUN_00498448(s_PNAME6_bgf_0051d22e,0);
|
|
param_1[0xc0] = iVar2;
|
|
iVar2 = FUN_00498448(s_PNAME7_bgf_0051d239,0);
|
|
param_1[0xc1] = iVar2;
|
|
iVar2 = FUN_00498448(s_PNAME8_bgf_0051d244,0);
|
|
param_1[0xc2] = iVar2;
|
|
uVar3 = FUN_00489708();
|
|
param_1[199] = uVar3;
|
|
iVar2 = FUN_00489724();
|
|
param_1[200] = iVar2;
|
|
FUN_0048ab0c(iVar2,param_1[0xbb]);
|
|
FUN_0048ac30(param_1[200],0);
|
|
FUN_00489e04(param_1[199],param_1[200]);
|
|
FUN_00491cc4(param_1[199],0.12,0x3df5c28f,0x3df5c28f);
|
|
FUN_00491c58(param_1[199],0x80000000,0xbda3d70a,0xbf800000);
|
|
FUN_004901a0(param_1[199],1);
|
|
FUN_0048fe54(param_1[199],7);
|
|
FUN_0048d5d4((undefined4 *)param_1[200]);
|
|
FUN_0048d3e8((undefined4 *)param_1[199]);
|
|
FUN_00489ba8(param_1[199]);
|
|
param_1[0x8d] = (float)param_1[0x8b] - (float)param_1[0x8c];
|
|
if ((float)param_1[0x8c] <= (float)param_1[0x8a]) {
|
|
if ((float)param_1[0x8a] <= (float)param_1[0x8b]) {
|
|
uVar3 = param_1[0x8a];
|
|
}
|
|
else {
|
|
uVar3 = param_1[0x8b];
|
|
}
|
|
}
|
|
else {
|
|
uVar3 = param_1[0x8c];
|
|
}
|
|
param_1[0x8a] = uVar3;
|
|
param_1[0x8f] = ((float)param_1[0x8a] - (float)param_1[0x8c]) / (float)param_1[0x8d];
|
|
param_1[0x8e] = param_1[0x8f];
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0x97] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0x98] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0x99] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0x9b] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0x9c] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0x9a] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0x9d] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0xb7] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0xb8] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0xb9] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0xb6] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0x9e] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0xba] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0x9f] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0xa0] = piVar1;
|
|
piVar1 = FUN_00487f34();
|
|
param_1[0xa1] = piVar1;
|
|
FUN_00487fbc(param_1[0x97],1);
|
|
FUN_00488850(param_1[0x97],(undefined4 *)param_1[0x98]);
|
|
FUN_00488030(param_1[0x97]);
|
|
FUN_00488054((byte *)param_1[0x97]);
|
|
FUN_00487fbc(param_1[0x98],1);
|
|
FUN_00488500(param_1[0x98],0x3f800000);
|
|
FUN_004888c0(param_1[0x98]);
|
|
FUN_00488630(param_1[0x98],0x3f400000,0,0);
|
|
FUN_00488850(param_1[0x98],(undefined4 *)param_1[0xa1]);
|
|
FUN_00488630(param_1[0x98],0,0x3f400000,0);
|
|
FUN_00488850(param_1[0x98],(undefined4 *)param_1[0x9a]);
|
|
FUN_00488340(param_1[0x98]);
|
|
FUN_00488408(param_1[0x98],0,0);
|
|
FUN_004883a4(param_1[0x98]);
|
|
FUN_00488278(param_1[0x98]);
|
|
FUN_00488408(param_1[0x98],0x3d23d70a,0);
|
|
FUN_00488408(param_1[0x98],0x3dcccccd,0);
|
|
FUN_00488408(param_1[0x98],0xbd23d70a,0);
|
|
FUN_00488408(param_1[0x98],0xbdcccccd,0);
|
|
FUN_00488408(param_1[0x98],0,0x3d23d70a);
|
|
FUN_00488408(param_1[0x98],0,0x3dcccccd);
|
|
FUN_00488408(param_1[0x98],0,0xbd23d70a);
|
|
FUN_00488408(param_1[0x98],0,0xbdcccccd);
|
|
FUN_004882dc(param_1[0x98]);
|
|
FUN_00488500(param_1[0x98],0x40400000);
|
|
FUN_00488278(param_1[0x98]);
|
|
FUN_00488408(param_1[0x98],0x3dcccccd,0);
|
|
FUN_00488408(param_1[0x98],0x3e23d70a,0);
|
|
FUN_00488408(param_1[0x98],0xbdcccccd,0);
|
|
FUN_00488408(param_1[0x98],0xbe23d70a,0);
|
|
FUN_00488408(param_1[0x98],0,0x3dcccccd);
|
|
FUN_00488408(param_1[0x98],0,0x3e23d70a);
|
|
FUN_00488408(param_1[0x98],0,0xbdcccccd);
|
|
FUN_00488408(param_1[0x98],0,0xbe23d70a);
|
|
FUN_004882dc(param_1[0x98]);
|
|
FUN_00488500(param_1[0x98],0x3f800000);
|
|
FUN_004cd938(param_1,param_1[0x98],param_1[9],param_1[10],(float)param_1[0x81],
|
|
(float)param_1[0x7f],(float)param_1[0x80],3,(float)param_1[0x83],(float)param_1[0x82]
|
|
);
|
|
FUN_0048856c(param_1[0x98]);
|
|
FUN_00488500(param_1[0x98],0x40000000);
|
|
FUN_00488630(param_1[0x98],0x3f400000,0x3f400000,0);
|
|
FUN_00488850(param_1[0x98],(undefined4 *)param_1[0x9b]);
|
|
FUN_00488500(param_1[0x98],0x3f800000);
|
|
FUN_00488630(param_1[0x98],0,0x3f400000,0);
|
|
FUN_004880e8(param_1[0x98]);
|
|
FUN_00488408(param_1[0x98],(float)param_1[0x7f] - (float)param_1[0x82],param_1[0x80]);
|
|
FUN_00488408(param_1[0x98],((float)param_1[0x7f] - _DAT_004cd7f4) - (float)param_1[0x82],
|
|
(float)param_1[0x80] + _DAT_004cd7f4);
|
|
FUN_00488408(param_1[0x98],((float)param_1[0x7f] - _DAT_004cd7f4) - (float)param_1[0x82],
|
|
(float)param_1[0x80] - _DAT_004cd7f4);
|
|
FUN_00488408(param_1[0x98],(float)param_1[0x7f] - (float)param_1[0x82],param_1[0x80]);
|
|
FUN_0048814c(param_1[0x98]);
|
|
FUN_004885cc(param_1[0x98]);
|
|
FUN_004cd938(param_1,param_1[0x98],param_1[0xb],param_1[0xc],(float)param_1[0x86],
|
|
(float)param_1[0x84],(float)param_1[0x85],0,(float)param_1[0x88],(float)param_1[0x87]
|
|
);
|
|
local_c = (float)param_1[0x86] * _DAT_004cd7f8 + (float)param_1[0x84];
|
|
FUN_0048856c(param_1[0x98]);
|
|
FUN_00488500(param_1[0x98],0x40000000);
|
|
FUN_00488630(param_1[0x98],0x3f400000,0x3f400000,0);
|
|
FUN_00488850(param_1[0x98],(undefined4 *)param_1[0x9c]);
|
|
FUN_00488500(param_1[0x98],0x3f800000);
|
|
FUN_00488630(param_1[0x98],0,0x3f400000,0);
|
|
FUN_004880e8(param_1[0x98]);
|
|
FUN_00488408(param_1[0x98],local_c,(float)param_1[0x85] - (float)param_1[0x87]);
|
|
FUN_00488408(param_1[0x98],local_c + _DAT_004cd7f4,
|
|
((float)param_1[0x85] - _DAT_004cd7f4) - (float)param_1[0x87]);
|
|
FUN_00488408(param_1[0x98],local_c - _DAT_004cd7f4,
|
|
((float)param_1[0x85] - _DAT_004cd7f4) - (float)param_1[0x87]);
|
|
FUN_00488408(param_1[0x98],local_c,(float)param_1[0x85] - (float)param_1[0x87]);
|
|
FUN_0048814c(param_1[0x98]);
|
|
FUN_004885cc(param_1[0x98]);
|
|
FUN_004880e8(param_1[0x98]);
|
|
FUN_00488408(param_1[0x98],local_c,(float)param_1[0x85] + (float)param_1[0x87]);
|
|
FUN_00488408(param_1[0x98],local_c + _DAT_004cd7f4,
|
|
(float)param_1[0x85] + _DAT_004cd7f4 + (float)param_1[0x87]);
|
|
FUN_00488408(param_1[0x98],local_c - _DAT_004cd7f4,
|
|
(float)param_1[0x85] + _DAT_004cd7f4 + (float)param_1[0x87]);
|
|
FUN_00488408(param_1[0x98],local_c,(float)param_1[0x85] + (float)param_1[0x87]);
|
|
FUN_0048814c(param_1[0x98]);
|
|
FUN_0048856c(param_1[0x98]);
|
|
FUN_00488850(param_1[0x98],(undefined4 *)param_1[0x9e]);
|
|
FUN_0048847c(param_1[0x98],0,0,0x3cf5c28f,0);
|
|
FUN_00488278(param_1[0x98]);
|
|
FUN_00488408(param_1[0x98],0,0xbd23d70a);
|
|
FUN_00488408(param_1[0x98],0,0xbba3d70a);
|
|
FUN_004882dc(param_1[0x98]);
|
|
FUN_00488850(param_1[0x98],(undefined4 *)param_1[0xba]);
|
|
FUN_004885cc(param_1[0x98]);
|
|
FUN_00488850(param_1[0x98],(undefined4 *)param_1[0xb6]);
|
|
FUN_00488850(param_1[0x98],(undefined4 *)param_1[0x9d]);
|
|
FUN_00488850(param_1[0x98],(undefined4 *)param_1[0xb7]);
|
|
FUN_00488030(param_1[0x98]);
|
|
FUN_00488054((byte *)param_1[0x98]);
|
|
FUN_00488b80(local_24);
|
|
FUN_00488bac((int)local_24,*(float *)param_1[0x95],((float *)param_1[0x95])[1]);
|
|
FUN_00487fbc(param_1[0x9a],1);
|
|
FUN_00488718(param_1[0x9a],local_24);
|
|
FUN_00488030(param_1[0x9a]);
|
|
FUN_00488054((byte *)param_1[0x9a]);
|
|
FUN_00488b80(local_24);
|
|
FUN_00488bac((int)local_24,0.0,-(float)param_1[0x81] * (float)param_1[0x8f]);
|
|
FUN_00487fbc(param_1[0x9b],1);
|
|
FUN_004887b0(param_1[0x9b],local_24,0);
|
|
FUN_00488030(param_1[0x9b]);
|
|
FUN_00488054((byte *)param_1[0x9b]);
|
|
FUN_00488b80(local_24);
|
|
FUN_00487fbc(param_1[0x9c],1);
|
|
FUN_004887b0(param_1[0x9c],local_24,0);
|
|
FUN_00488030(param_1[0x9c]);
|
|
FUN_00488054((byte *)param_1[0x9c]);
|
|
FUN_00488b80(local_24);
|
|
FUN_00488bac((int)local_24,(float)param_1[0x84],
|
|
((float)param_1[0x85] - (float)param_1[0x87] * _DAT_004cd7fc) - _DAT_004cd800);
|
|
FUN_00487fbc(param_1[0x9e],1);
|
|
FUN_004887b0(param_1[0x9e],local_24,0);
|
|
FUN_00488030(param_1[0x9e]);
|
|
FUN_00488054((byte *)param_1[0x9e]);
|
|
FUN_00487fbc(param_1[0xba],1);
|
|
FUN_00488030(param_1[0xba]);
|
|
FUN_00488054((byte *)param_1[0xba]);
|
|
FUN_00487fbc(param_1[0xb6],1);
|
|
FUN_00488030(param_1[0xb6]);
|
|
FUN_00488054((byte *)param_1[0xb6]);
|
|
FUN_00488b80(local_24);
|
|
FUN_00487fbc(param_1[0x9d],1);
|
|
FUN_004887b0(param_1[0x9d],local_24,0);
|
|
FUN_00488030(param_1[0x9d]);
|
|
FUN_00488054((byte *)param_1[0x9d]);
|
|
FUN_00487fbc(param_1[0xb7],1);
|
|
FUN_00488030(param_1[0xb7]);
|
|
FUN_00488054((byte *)param_1[0xb7]);
|
|
FUN_00487fbc(param_1[0xb8],1);
|
|
FUN_00488630(param_1[0xb8],0,0x3f400000,0);
|
|
FUN_0048847c(param_1[0xb8],0,0,0x3df5c28f,0);
|
|
FUN_00488030(param_1[0xb8]);
|
|
FUN_00488054((byte *)param_1[0xb8]);
|
|
FUN_00487fbc(param_1[0xb9],1);
|
|
FUN_00488630(param_1[0xb9],0,0x3f400000,0);
|
|
FUN_0048847c(param_1[0xb9],0,0,0x3df5c28f,0);
|
|
FUN_00488278(param_1[0xb9]);
|
|
FUN_00488408(param_1[0xb9],0x3e0f5c29,0);
|
|
FUN_00488408(param_1[0xb9],0x3dcccccd,0);
|
|
FUN_00488408(param_1[0xb9],0xbe0f5c29,0);
|
|
FUN_00488408(param_1[0xb9],0xbdcccccd,0);
|
|
FUN_00488408(param_1[0xb9],0,0x3e0f5c29);
|
|
FUN_00488408(param_1[0xb9],0,0x3dcccccd);
|
|
FUN_00488408(param_1[0xb9],0,0xbe0f5c29);
|
|
FUN_00488408(param_1[0xb9],0,0xbdcccccd);
|
|
FUN_004882dc(param_1[0xb9]);
|
|
FUN_00488030(param_1[0xb9]);
|
|
FUN_00488054((byte *)param_1[0xb9]);
|
|
FUN_00487fbc(param_1[0x9f],1);
|
|
FUN_00488500(param_1[0x9f],0x41400000);
|
|
FUN_004886ac(param_1[0x9f],0x3f000000);
|
|
FUN_00488278(param_1[0x9f]);
|
|
FUN_00488408(param_1[0x9f],0xbf99999a,0xbe99a6b5);
|
|
FUN_00488408(param_1[0x9f],0xbfc00000,0);
|
|
FUN_00488408(param_1[0x9f],0xbfc00000,0);
|
|
FUN_00488408(param_1[0x9f],0xbf99999a,0x3e99a6b5);
|
|
FUN_004882dc(param_1[0x9f]);
|
|
FUN_00488500(param_1[0x9f],0x3f800000);
|
|
FUN_004886ac(param_1[0x9f],0x3f800000);
|
|
FUN_00488030(param_1[0x9f]);
|
|
FUN_00488054((byte *)param_1[0x9f]);
|
|
FUN_00487fbc(param_1[0xa0],1);
|
|
FUN_00488500(param_1[0xa0],0x41400000);
|
|
FUN_004886ac(param_1[0xa0],0x3f000000);
|
|
FUN_00488278(param_1[0xa0]);
|
|
FUN_00488408(param_1[0xa0],0x3f99999a,0x3e99a6b5);
|
|
FUN_00488408(param_1[0xa0],0x3fc00000,0);
|
|
FUN_00488408(param_1[0xa0],0x3fc00000,0);
|
|
FUN_00488408(param_1[0xa0],0x3f99999a,0xbe99a6b5);
|
|
FUN_004882dc(param_1[0xa0]);
|
|
FUN_00488500(param_1[0xa0],0x3f800000);
|
|
FUN_004886ac(param_1[0xa0],0x3f800000);
|
|
FUN_00488030(param_1[0xa0]);
|
|
FUN_00488054((byte *)param_1[0xa0]);
|
|
FUN_00487fbc(param_1[0xa1],1);
|
|
FUN_00488030(param_1[0xa1]);
|
|
FUN_00488054((byte *)param_1[0xa1]);
|
|
FUN_00487fbc(param_1[0x99],1);
|
|
FUN_00488500(param_1[0x99],0x3f800000);
|
|
FUN_004888c0(param_1[0x99]);
|
|
FUN_00488630(param_1[0x99],0,0x3f400000,0);
|
|
FUN_00488850(param_1[0x99],(undefined4 *)param_1[0x9a]);
|
|
FUN_00488278(param_1[0x99]);
|
|
FUN_00488408(param_1[0x99],0xbda3d70a,0);
|
|
FUN_00488408(param_1[0x99],0xbca3d70a,0);
|
|
FUN_00488408(param_1[0x99],0x3ca3d70a,0);
|
|
FUN_00488408(param_1[0x99],0x3da3d70a,0);
|
|
FUN_00488408(param_1[0x99],0,0xbda3d70a);
|
|
FUN_00488408(param_1[0x99],0,0xbca3d70a);
|
|
FUN_00488408(param_1[0x99],0,0x3ca3d70a);
|
|
FUN_00488408(param_1[0x99],0,0x3da3d70a);
|
|
FUN_004882dc(param_1[0x99]);
|
|
FUN_00488030(param_1[0x99]);
|
|
FUN_00488054((byte *)param_1[0x99]);
|
|
if (param_1[0x93] == 1) {
|
|
FUN_00488ab4(param_1[0x96],param_1[0x97]);
|
|
FUN_0048d42c((undefined4 *)param_1[0x96]);
|
|
}
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004cd804 file=? name=FUN_004cd804 */
|
|
|
|
void __cdecl FUN_004cd804(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051db44;
|
|
FUN_00488ab4(param_1[0x96],0);
|
|
FUN_0048d42c((undefined4 *)param_1[0x96]);
|
|
FUN_00487f78((int *)param_1[0x98]);
|
|
FUN_00487f78((int *)param_1[0x9b]);
|
|
FUN_00487f78((int *)param_1[0x9c]);
|
|
FUN_00487f78((int *)param_1[0x9a]);
|
|
FUN_00487f78((int *)param_1[0x9d]);
|
|
FUN_00487f78((int *)param_1[0xb7]);
|
|
FUN_00487f78((int *)param_1[0xb8]);
|
|
FUN_00487f78((int *)param_1[0xb9]);
|
|
FUN_00487f78((int *)param_1[0xb6]);
|
|
param_1[0xd] = 0;
|
|
while (param_1[0xd] < param_1[0xe]) {
|
|
FUN_00487f78((int *)param_1[param_1[0xd] + 0xac]);
|
|
FUN_00487f78((int *)param_1[param_1[0xd] + 0xa2]);
|
|
param_1[0xd] = param_1[0xd] + 1;
|
|
}
|
|
*(undefined4 *)param_1[0x94] = 0;
|
|
FUN_004d125a(param_1 + 0xd1,2);
|
|
FUN_00453198(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cd918 file=? name=FUN_004cd918 */
|
|
|
|
undefined4 __cdecl FUN_004cd918(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
FUN_004531c4(param_1);
|
|
for (iVar1 = 0; iVar1 < *(int *)(param_1 + 0x38); iVar1 = iVar1 + 1) {
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004cd938 file=? name=FUN_004cd938 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl
|
|
FUN_004cd938(undefined4 param_1,int param_2,int param_3,int param_4,float param_5,float param_6,
|
|
float param_7,int param_8,float param_9,float param_10)
|
|
|
|
{
|
|
float fVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
undefined4 local_28;
|
|
undefined4 local_24;
|
|
undefined4 local_20;
|
|
undefined4 local_1c;
|
|
undefined4 local_18;
|
|
undefined4 local_14;
|
|
undefined4 local_c;
|
|
undefined4 local_8;
|
|
|
|
local_8 = param_6;
|
|
local_c = param_7;
|
|
fVar1 = param_5 / (float)(param_3 + -1);
|
|
local_28 = _DAT_004cdabc;
|
|
local_24 = _DAT_004cdabc;
|
|
local_20 = _DAT_004cdabc;
|
|
local_1c = _DAT_004cdabc;
|
|
if (param_8 == 0) {
|
|
local_18 = 0.0;
|
|
local_20 = param_10;
|
|
local_28 = param_9;
|
|
local_14 = fVar1;
|
|
}
|
|
else if (param_8 == 1) {
|
|
local_18 = 0.0;
|
|
local_20 = param_10;
|
|
local_28 = param_9;
|
|
local_14 = -fVar1;
|
|
}
|
|
else if (param_8 == 2) {
|
|
local_14 = 0.0;
|
|
local_1c = param_10;
|
|
local_24 = param_9;
|
|
local_18 = fVar1;
|
|
}
|
|
else if (param_8 == 3) {
|
|
local_14 = 0.0;
|
|
local_1c = param_10;
|
|
local_24 = param_9;
|
|
local_18 = -fVar1;
|
|
}
|
|
iVar2 = 0;
|
|
FUN_00488278(param_2);
|
|
iVar3 = 0;
|
|
if (0 < param_3) {
|
|
do {
|
|
if (iVar2 == 0) {
|
|
FUN_00488408(param_2,local_8 + local_1c,local_c + local_20);
|
|
FUN_00488408(param_2,local_8 - local_1c,local_c - local_20);
|
|
iVar2 = param_4;
|
|
}
|
|
else {
|
|
FUN_00488408(param_2,local_8 + local_24,local_c + local_28);
|
|
FUN_00488408(param_2,local_8 - local_24,local_c - local_28);
|
|
iVar2 = iVar2 + -1;
|
|
}
|
|
local_8 = local_14 + local_8;
|
|
local_c = local_18 + local_c;
|
|
iVar3 = iVar3 + 1;
|
|
} while (iVar3 < param_3);
|
|
}
|
|
FUN_004882dc(param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cdac0 file=bt_l4/btl4vid.cpp name=FUN_004cdac0 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl
|
|
FUN_004cdac0(int param_1,float param_2,int param_3,undefined4 *param_4,int param_5,
|
|
undefined4 param_6,undefined4 param_7,undefined4 param_8,int param_9,undefined4 param_10
|
|
,undefined4 param_11,int param_12,undefined4 param_13,undefined4 param_14)
|
|
|
|
{
|
|
float fVar1;
|
|
float fVar2;
|
|
byte *pbVar3;
|
|
byte *pbVar4;
|
|
|
|
if (9 < *(int *)(param_1 + 0x38)) {
|
|
FUN_0040385c(s_Tried_to_display_too_many_weapon_0051d24f,
|
|
s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051d272,0x338);
|
|
}
|
|
*(undefined4 *)(param_1 + 100 + *(int *)(param_1 + 0x38) * 4) = param_11;
|
|
*(undefined4 *)(param_1 + 0x8c + *(int *)(param_1 + 0x38) * 4) = param_10;
|
|
*(undefined4 *)(param_1 + 0xb4 + *(int *)(param_1 + 0x38) * 4) = param_13;
|
|
*(int *)(param_1 + 0x130 + *(int *)(param_1 + 0x38) * 4) = param_9;
|
|
*(undefined4 *)(param_1 + 0xdc + *(int *)(param_1 + 0x38) * 4) = *(undefined4 *)(param_9 + 0x14);
|
|
*(int *)(param_1 + 0x158 + *(int *)(param_1 + 0x38) * 4) = param_12;
|
|
*(undefined4 *)(param_1 + 0x104 + *(int *)(param_1 + 0x38) * 4) = *(undefined4 *)(param_12 + 0x14)
|
|
;
|
|
*(undefined4 **)(param_1 + 0x18c + *(int *)(param_1 + 0x38) * 4) = param_4;
|
|
*(undefined4 *)(param_1 + 0x1b4 + *(int *)(param_1 + 0x38) * 4) = *param_4;
|
|
*(undefined4 *)(param_1 + 0x3c + *(int *)(param_1 + 0x38) * 4) = param_14;
|
|
pbVar3 = (byte *)FUN_00487f34();
|
|
pbVar4 = (byte *)FUN_00487f34();
|
|
*(byte **)(param_1 + 0x2b0 + *(int *)(param_1 + 0x38) * 4) = pbVar3;
|
|
*(byte **)(param_1 + 0x288 + *(int *)(param_1 + 0x38) * 4) = pbVar4;
|
|
if (*(float *)(param_1 + 0x230) <= param_2) {
|
|
if (*(float *)(param_1 + 0x22c) < param_2) {
|
|
param_2 = *(float *)(param_1 + 0x22c);
|
|
}
|
|
}
|
|
else {
|
|
param_2 = *(float *)(param_1 + 0x230);
|
|
}
|
|
fVar2 = *(float *)(param_1 + 0x1fc) + *(float *)(param_1 + 0x208) +
|
|
(float)param_3 * (float)_DAT_004cdce8;
|
|
fVar1 = -*(float *)(param_1 + 0x204) *
|
|
((param_2 - *(float *)(param_1 + 0x230)) / *(float *)(param_1 + 0x234)) +
|
|
*(float *)(param_1 + 0x200);
|
|
FUN_00487fbc((int)pbVar3,1);
|
|
FUN_00488630((int)pbVar3,param_6,param_7,param_8);
|
|
FUN_0048847c((int)pbVar3,fVar2,fVar1,0x3c449ba6,1);
|
|
FUN_00488630((int)pbVar3,0,0,0);
|
|
FUN_0048847c((int)pbVar3,fVar2,fVar1,0x3c656042,0);
|
|
if (param_5 != 0) {
|
|
FUN_00488630((int)pbVar3,0x3f333333,0x3f333333,0x3f333333);
|
|
FUN_00488340((int)pbVar3);
|
|
FUN_00488408((int)pbVar3,fVar2,fVar1);
|
|
FUN_004883a4((int)pbVar3);
|
|
}
|
|
FUN_00488030((int)pbVar3);
|
|
FUN_00488054(pbVar3);
|
|
FUN_00487fbc((int)pbVar4,1);
|
|
FUN_00488630((int)pbVar4,0,0,0);
|
|
FUN_0048847c((int)pbVar4,fVar2,fVar1,0x3c656042,0);
|
|
FUN_00488030((int)pbVar4);
|
|
FUN_00488054(pbVar4);
|
|
*(int *)(param_1 + 0x38) = *(int *)(param_1 + 0x38) + 1;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cdcf0 file=? name=FUN_004cdcf0 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004cdcf0(int param_1)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
int iVar2;
|
|
bool bVar3;
|
|
int *piVar4;
|
|
int iVar5;
|
|
undefined4 *puVar6;
|
|
uint uVar7;
|
|
uint uVar8;
|
|
float10 fVar9;
|
|
undefined4 local_b8 [6];
|
|
int local_a0 [5];
|
|
undefined4 local_8c [6];
|
|
float local_74;
|
|
float local_70;
|
|
float local_6c;
|
|
undefined4 *local_68;
|
|
float local_64;
|
|
float local_60;
|
|
undefined4 *local_5c;
|
|
undefined4 *local_58;
|
|
float local_54;
|
|
float local_50;
|
|
float local_4c;
|
|
int local_48;
|
|
float local_44;
|
|
undefined4 *local_40;
|
|
undefined4 *local_3c;
|
|
undefined4 *local_38;
|
|
float local_34;
|
|
undefined4 *local_30;
|
|
float local_2c;
|
|
undefined4 local_28;
|
|
float local_24;
|
|
undefined4 local_20;
|
|
float *local_1c;
|
|
float local_18;
|
|
float local_14;
|
|
float local_10;
|
|
float local_c;
|
|
float local_8;
|
|
|
|
if ((*(int *)(*(int *)(param_1 + 0x254) + 8) != *(int *)(param_1 + 0x24c)) ||
|
|
((*(uint *)(*(int *)(param_1 + 0x254) + 0x24) & 0x20) != (*(uint *)(param_1 + 0x20) & 0x20))) {
|
|
*(undefined4 *)(param_1 + 0x24c) = *(undefined4 *)(*(int *)(param_1 + 0x254) + 8);
|
|
*(uint *)(param_1 + 0x20) =
|
|
*(uint *)(param_1 + 0x20) & 0xffffffdf | *(uint *)(*(int *)(param_1 + 0x254) + 0x24) & 0x20
|
|
;
|
|
FUN_00487fbc(*(int *)(param_1 + 0x25c),1);
|
|
if (*(int *)(param_1 + 0x24c) == 0) {
|
|
FUN_0048ac30(*(int *)(param_1 + 800),0);
|
|
FUN_0048d5d4(*(undefined4 **)(param_1 + 800));
|
|
*(undefined4 *)(param_1 + 0x1e0) = 0;
|
|
}
|
|
else if (*(int *)(param_1 + 0x24c) == 1) {
|
|
if ((*(byte *)(*(int *)(param_1 + 0x254) + 0x24) & 0x20) == 0) {
|
|
FUN_00488850(*(int *)(param_1 + 0x25c),*(undefined4 **)(param_1 + 0x264));
|
|
FUN_0048ac30(*(int *)(param_1 + 800),0);
|
|
FUN_0048d5d4(*(undefined4 **)(param_1 + 800));
|
|
*(undefined4 *)(param_1 + 0x1e0) = 0;
|
|
}
|
|
else {
|
|
FUN_00488850(*(int *)(param_1 + 0x25c),*(undefined4 **)(param_1 + 0x260));
|
|
}
|
|
}
|
|
FUN_00488030(*(int *)(param_1 + 0x25c));
|
|
FUN_00488054(*(byte **)(param_1 + 0x25c));
|
|
}
|
|
if (*(int *)(param_1 + 0x24c) == 1) {
|
|
piVar4 = (int *)FUN_00414b60();
|
|
local_8 = (float)*piVar4 / DAT_0052140c;
|
|
iVar5 = FUN_0045961f((float *)(param_1 + 0x244),*(float **)(param_1 + 0x254),0.0001);
|
|
if (iVar5 == 0) {
|
|
*(undefined4 *)(param_1 + 0x244) = **(undefined4 **)(param_1 + 0x254);
|
|
*(undefined4 *)(param_1 + 0x248) = (*(undefined4 **)(param_1 + 0x254))[1];
|
|
FUN_00488b80(local_8c);
|
|
FUN_00488bac((int)local_8c,**(float **)(param_1 + 0x254),
|
|
*(float *)(*(int *)(param_1 + 0x254) + 4));
|
|
FUN_00487fbc(*(int *)(param_1 + 0x268),1);
|
|
FUN_00488718(*(int *)(param_1 + 0x268),local_8c);
|
|
FUN_00488030(*(int *)(param_1 + 0x268));
|
|
FUN_00488054(*(byte **)(param_1 + 0x268));
|
|
FUN_00491c2c(*(int *)(param_1 + 0x31c));
|
|
FUN_00491cc4(*(int *)(param_1 + 0x31c),0.12,0x3df5c28f,0x3df5c28f);
|
|
FUN_00491c58(*(int *)(param_1 + 0x31c),
|
|
(float)(_DAT_004cee64 * (float10)**(float **)(param_1 + 0x254) +
|
|
(float10)_DAT_004cee74),
|
|
(float)(_DAT_004cee64 * (float10)*(float *)(*(int *)(param_1 + 0x254) + 4) +
|
|
(float10)_DAT_004cee70),0xbf800000);
|
|
FUN_0048d3e8(*(undefined4 **)(param_1 + 0x31c));
|
|
}
|
|
if ((*(byte *)(*(int *)(param_1 + 0x254) + 0x24) & 0x20) != 0) {
|
|
iVar5 = FUN_004084fc(*(float **)(param_1 + 0x324),(float *)(param_1 + 0x328),0.0001);
|
|
if (iVar5 == 0) {
|
|
iVar5 = FUN_004084fc(*(float **)(param_1 + 0x324),(float *)&DAT_004e0f74,0.0001);
|
|
if ((iVar5 == 0) && ((*(byte *)(*(int *)(param_1 + 0x254) + 0x24) & 0x10) == 0)) {
|
|
if (*(float *)(*(int *)(param_1 + 0x324) + 8) != _DAT_004cee78) {
|
|
local_c = ((**(float **)(param_1 + 0x324) - _DAT_004cee7c) /
|
|
*(float *)(*(int *)(param_1 + 0x324) + 8)) * (float)_DAT_004cee80;
|
|
local_14 = ((**(float **)(param_1 + 0x324) + _DAT_004cee7c) /
|
|
*(float *)(*(int *)(param_1 + 0x324) + 8)) * (float)_DAT_004cee80;
|
|
}
|
|
if (((_DAT_004cee78 <= *(float *)(*(int *)(param_1 + 0x324) + 8)) ||
|
|
(((float)_DAT_004cee88 < local_c && ((float)_DAT_004cee88 < local_14)))) ||
|
|
((local_c < (float)_DAT_004cee90 && (local_14 < (float)_DAT_004cee90)))) {
|
|
if (_DAT_004cee98 <= **(float **)(param_1 + 0x324)) {
|
|
uVar8 = (uint)(_DAT_004cee9c < **(float **)(param_1 + 0x324));
|
|
}
|
|
else {
|
|
uVar8 = 0xffffffff;
|
|
}
|
|
if (_DAT_004cee98 <= *(float *)(param_1 + 0x328)) {
|
|
uVar7 = (uint)(_DAT_004cee9c < *(float *)(param_1 + 0x328));
|
|
}
|
|
else {
|
|
uVar7 = 0xffffffff;
|
|
}
|
|
if ((uVar8 != uVar7) || (*(int *)(param_1 + 0x1c) != 2)) {
|
|
*(undefined4 *)(param_1 + 0x1c) = 2;
|
|
FUN_00487fbc(*(int *)(param_1 + 0x284),1);
|
|
if (**(float **)(param_1 + 0x324) <= _DAT_004cee78) {
|
|
FUN_00488850(*(int *)(param_1 + 0x284),*(undefined4 **)(param_1 + 0x27c));
|
|
}
|
|
else {
|
|
FUN_00488850(*(int *)(param_1 + 0x284),*(undefined4 **)(param_1 + 0x280));
|
|
}
|
|
FUN_00488030(*(int *)(param_1 + 0x284));
|
|
FUN_00488054(*(byte **)(param_1 + 0x284));
|
|
}
|
|
}
|
|
else {
|
|
*(undefined4 *)(param_1 + 0x1c) = 1;
|
|
local_10 = ((*(float *)(*(int *)(param_1 + 0x324) + 4) - _DAT_004ceea0) /
|
|
*(float *)(*(int *)(param_1 + 0x324) + 8)) * (float)_DAT_004ceea4;
|
|
local_18 = ((*(float *)(*(int *)(param_1 + 0x324) + 4) + _DAT_004ceeac) /
|
|
*(float *)(*(int *)(param_1 + 0x324) + 8)) * (float)_DAT_004ceea4;
|
|
FUN_00487fbc(*(int *)(param_1 + 0x284),1);
|
|
FUN_004880e8(*(int *)(param_1 + 0x284));
|
|
FUN_00488408(*(int *)(param_1 + 0x284),local_c,local_10);
|
|
FUN_00488408(*(int *)(param_1 + 0x284),local_c,local_18);
|
|
FUN_00488408(*(int *)(param_1 + 0x284),local_14,local_18);
|
|
FUN_00488408(*(int *)(param_1 + 0x284),local_14,local_10);
|
|
FUN_00488408(*(int *)(param_1 + 0x284),local_c,local_10);
|
|
FUN_0048814c(*(int *)(param_1 + 0x284));
|
|
FUN_00488030(*(int *)(param_1 + 0x284));
|
|
FUN_00488054(*(byte **)(param_1 + 0x284));
|
|
}
|
|
}
|
|
else {
|
|
if (*(int *)(param_1 + 0x1c) != 0) {
|
|
FUN_00487fbc(*(int *)(param_1 + 0x284),1);
|
|
FUN_00488030(*(int *)(param_1 + 0x284));
|
|
FUN_00488054(*(byte **)(param_1 + 0x284));
|
|
}
|
|
*(undefined4 *)(param_1 + 0x1c) = 0;
|
|
}
|
|
FUN_00408440((undefined4 *)(param_1 + 0x328),*(undefined4 **)(param_1 + 0x324));
|
|
}
|
|
if ((*(uint *)(*(int *)(param_1 + 0x254) + 0x24) & 0xf) != (*(uint *)(param_1 + 0x20) & 0xf))
|
|
{
|
|
*(uint *)(param_1 + 0x20) =
|
|
*(uint *)(param_1 + 0x20) & 0xfffffff0 |
|
|
*(uint *)(*(int *)(param_1 + 0x254) + 0x24) & 0xf;
|
|
*(undefined4 *)(param_1 + 0x34) = 0xffffffff;
|
|
}
|
|
piVar4 = (int *)(param_1 + 0x130);
|
|
for (iVar5 = 0; iVar5 < *(int *)(param_1 + 0x38); iVar5 = iVar5 + 1) {
|
|
iVar2 = *(int *)(piVar4[10] + 0x14);
|
|
if ((*(int *)(*piVar4 + 0x14) != piVar4[-0x15]) || (iVar2 != piVar4[-0xb])) {
|
|
piVar4[-0x15] = *(int *)(*piVar4 + 0x14);
|
|
piVar4[-0xb] = iVar2;
|
|
*(undefined4 *)(param_1 + 0x34) = 0xffffffff;
|
|
}
|
|
piVar4 = piVar4 + 1;
|
|
}
|
|
if (*(int *)(param_1 + 0x34) != *(int *)(param_1 + 0x38)) {
|
|
FUN_00487fbc(*(int *)(param_1 + 0x2d8),1);
|
|
*(undefined4 *)(param_1 + 0x34) = 0;
|
|
while (iVar5 = *(int *)(param_1 + 0x34), iVar5 < *(int *)(param_1 + 0x38)) {
|
|
if (((*(uint *)(param_1 + 0x3c + iVar5 * 4) & *(uint *)(param_1 + 0x20)) != 0) &&
|
|
(*(int *)(param_1 + 0x104 + iVar5 * 4) != *(int *)(param_1 + 0xb4 + iVar5 * 4))) {
|
|
if (*(int *)(param_1 + 0xdc + iVar5 * 4) == *(int *)(param_1 + 100 + iVar5 * 4)) {
|
|
FUN_00488850(*(int *)(param_1 + 0x2d8),*(undefined4 **)(param_1 + 0x288 + iVar5 * 4));
|
|
}
|
|
else {
|
|
iVar5 = *(int *)(param_1 + 0x34);
|
|
if (*(int *)(param_1 + 0xdc + iVar5 * 4) == *(int *)(param_1 + 0x8c + iVar5 * 4)) {
|
|
FUN_00488850(*(int *)(param_1 + 0x2d8),*(undefined4 **)(param_1 + 0x2b0 + iVar5 * 4)
|
|
);
|
|
}
|
|
else {
|
|
FUN_00488850(*(int *)(param_1 + 0x2d8),
|
|
*(undefined4 **)(param_1 + 0x288 + *(int *)(param_1 + 0x34) * 4));
|
|
}
|
|
}
|
|
}
|
|
*(int *)(param_1 + 0x34) = *(int *)(param_1 + 0x34) + 1;
|
|
}
|
|
FUN_00488030(*(int *)(param_1 + 0x2d8));
|
|
FUN_00488054(*(byte **)(param_1 + 0x2d8));
|
|
}
|
|
iVar5 = FUN_004084fc((float *)(param_1 + 0x334),*(float **)(param_1 + 0x340),0.0001);
|
|
if ((iVar5 == 0) || (*(float *)(param_1 + 300) < local_8)) {
|
|
*(float *)(param_1 + 300) = local_8 + _DAT_004ceea0;
|
|
bVar3 = false;
|
|
iVar5 = FUN_004084fc(*(float **)(param_1 + 0x340),(float *)&DAT_004e0f74,0.0001);
|
|
if (iVar5 == 0) {
|
|
local_1c = *(float **)(param_1 + 0x340);
|
|
iVar5 = FUN_004084fc((float *)(param_1 + 0x334),local_1c,0.0001);
|
|
if (iVar5 == 0) {
|
|
local_24 = **(float **)(param_1 + 0x340);
|
|
local_20 = *(undefined4 *)(*(int *)(param_1 + 0x340) + 8);
|
|
FUN_004039e3(&local_2c,&local_24);
|
|
FUN_00403973(&local_2c,&local_2c,0.05);
|
|
local_38 = (undefined4 *)FUN_00402298(0x1c);
|
|
if (local_38 != (undefined4 *)0x0) {
|
|
local_34 = local_8;
|
|
FUN_00415e90(local_38,1);
|
|
*local_38 = &PTR_FUN_0051db40;
|
|
local_38[5] = local_34;
|
|
local_38[3] = local_2c;
|
|
local_38[4] = local_28;
|
|
local_38[6] = 1;
|
|
}
|
|
local_30 = local_38;
|
|
(**(code **)(*(int *)(param_1 + 0x344) + 4))(param_1 + 0x344);
|
|
bVar3 = true;
|
|
}
|
|
}
|
|
local_3c = *(undefined4 **)(param_1 + 0x340);
|
|
local_40 = (undefined4 *)(param_1 + 0x334);
|
|
FUN_00408440(local_40,local_3c);
|
|
FUN_004d1286(local_a0,param_1 + 0x344);
|
|
while (puVar6 = (undefined4 *)(**(code **)(local_a0[0] + 0x28))(),
|
|
puVar6 != (undefined4 *)0x0) {
|
|
local_44 = local_8 - (float)puVar6[5];
|
|
if ((_DAT_004ceeb0 < local_44) && (puVar6[6] != 0)) {
|
|
bVar3 = true;
|
|
puVar6[6] = 0;
|
|
}
|
|
if (_DAT_004ceeb4 < local_44) {
|
|
if (puVar6 != (undefined4 *)0x0) {
|
|
(**(code **)*puVar6)(puVar6);
|
|
}
|
|
bVar3 = true;
|
|
}
|
|
}
|
|
if (bVar3) {
|
|
local_48 = 1;
|
|
FUN_00487fbc(*(int *)(param_1 + 0x2e8),1);
|
|
FUN_00488630(*(int *)(param_1 + 0x2e8),0x3f400000,0x3f400000,0);
|
|
FUN_00488278(*(int *)(param_1 + 0x2e8));
|
|
(**(code **)(local_a0[0] + 4))();
|
|
while (iVar5 = (**(code **)(local_a0[0] + 0x28))(), iVar5 != 0) {
|
|
if ((*(int *)(iVar5 + 0x18) != 0) && (local_48 != 0)) {
|
|
FUN_004882dc(*(int *)(param_1 + 0x2e8));
|
|
FUN_00488630(*(int *)(param_1 + 0x2e8),0x3f400000,0,0);
|
|
FUN_00488278(*(int *)(param_1 + 0x2e8));
|
|
local_48 = 0;
|
|
}
|
|
FUN_00488408(*(int *)(param_1 + 0x2e8),0,0);
|
|
FUN_00488408(*(int *)(param_1 + 0x2e8),*(undefined4 *)(iVar5 + 0xc),
|
|
*(undefined4 *)(iVar5 + 0x10));
|
|
}
|
|
FUN_004882dc(*(int *)(param_1 + 0x2e8));
|
|
FUN_00488630(*(int *)(param_1 + 0x2e8),0,0x3f400000,0);
|
|
FUN_00488030(*(int *)(param_1 + 0x2e8));
|
|
FUN_00488054(*(byte **)(param_1 + 0x2e8));
|
|
}
|
|
FUN_004d12e3(local_a0,2);
|
|
}
|
|
local_4c = **(float **)(param_1 + 500);
|
|
local_50 = *(float *)(param_1 + 0x1f8);
|
|
fVar9 = FUN_004dcd00((double)(local_50 - local_4c));
|
|
if ((float10)_DAT_004cee9c < fVar9) {
|
|
local_58 = *(undefined4 **)(param_1 + 500);
|
|
local_5c = (undefined4 *)(param_1 + 0x1f8);
|
|
*local_5c = *local_58;
|
|
local_54 = *(float *)(param_1 + 0x1f8);
|
|
FUN_00488b80(local_8c);
|
|
FUN_00488bc8(local_8c,_DAT_004ceeb8 * local_54);
|
|
FUN_00488bac((int)local_8c,*(float *)(param_1 + 0x210),
|
|
(*(float *)(param_1 + 0x214) - *(float *)(param_1 + 0x21c) * _DAT_004ceebc) -
|
|
_DAT_004ceec0);
|
|
FUN_00487fbc(*(int *)(param_1 + 0x278),1);
|
|
FUN_004887b0(*(int *)(param_1 + 0x278),local_8c,0);
|
|
FUN_00488030(*(int *)(param_1 + 0x278));
|
|
FUN_00488054(*(byte **)(param_1 + 0x278));
|
|
}
|
|
local_60 = **(float **)(param_1 + 0x1e4);
|
|
local_64 = *(float *)(param_1 + 0x1e8);
|
|
fVar9 = FUN_004dcd00((double)(local_64 - local_60));
|
|
if ((float10)_DAT_004cee9c < fVar9) {
|
|
local_68 = *(undefined4 **)(param_1 + 0x1e4);
|
|
*(undefined4 *)(param_1 + 0x1e8) = *local_68;
|
|
local_6c = *(float *)(param_1 + 0x1e8);
|
|
fVar9 = FUN_004dcd00((double)(local_6c - _DAT_004cee78));
|
|
if ((float10)_DAT_004cee9c < fVar9) {
|
|
local_70 = *(float *)(param_1 + 0x218) * _DAT_004ceec4 + *(float *)(param_1 + 0x210);
|
|
if (*(float *)(param_1 + 0x1e8) <= _DAT_004cee78) {
|
|
local_74 = (*(float *)(param_1 + 0x1e8) / *(float *)(param_1 + 0x1ec)) *
|
|
*(float *)(param_1 + 0x218) * _DAT_004ceec4;
|
|
FUN_00488b80(local_8c);
|
|
FUN_00488bac((int)local_8c,local_74,0.0);
|
|
FUN_00487fbc(*(int *)(param_1 + 0x270),1);
|
|
FUN_00488278(*(int *)(param_1 + 0x270));
|
|
FUN_00488408(*(int *)(param_1 + 0x270),local_70,*(undefined4 *)(param_1 + 0x214));
|
|
FUN_00488408(*(int *)(param_1 + 0x270),local_70 + local_74,
|
|
*(undefined4 *)(param_1 + 0x214));
|
|
FUN_004882dc(*(int *)(param_1 + 0x270));
|
|
FUN_004887b0(*(int *)(param_1 + 0x270),local_8c,0);
|
|
FUN_00488030(*(int *)(param_1 + 0x270));
|
|
FUN_00488054(*(byte **)(param_1 + 0x270));
|
|
}
|
|
else {
|
|
local_74 = (*(float *)(param_1 + 0x1e8) / *(float *)(param_1 + 0x1f0)) *
|
|
-(*(float *)(param_1 + 0x218) * _DAT_004ceec4);
|
|
FUN_00488b80(local_8c);
|
|
FUN_00488bac((int)local_8c,local_74,0.0);
|
|
FUN_00487fbc(*(int *)(param_1 + 0x270),1);
|
|
FUN_00488278(*(int *)(param_1 + 0x270));
|
|
FUN_00488408(*(int *)(param_1 + 0x270),local_70,*(undefined4 *)(param_1 + 0x214));
|
|
FUN_00488408(*(int *)(param_1 + 0x270),local_70 + local_74,
|
|
*(undefined4 *)(param_1 + 0x214));
|
|
FUN_004882dc(*(int *)(param_1 + 0x270));
|
|
FUN_004887b0(*(int *)(param_1 + 0x270),local_8c,0);
|
|
FUN_00488030(*(int *)(param_1 + 0x270));
|
|
FUN_00488054(*(byte **)(param_1 + 0x270));
|
|
}
|
|
}
|
|
else {
|
|
FUN_00488b80(local_8c);
|
|
FUN_00487fbc(*(int *)(param_1 + 0x270),1);
|
|
FUN_004887b0(*(int *)(param_1 + 0x270),local_8c,0);
|
|
FUN_00488030(*(int *)(param_1 + 0x270));
|
|
FUN_00488054(*(byte **)(param_1 + 0x270));
|
|
}
|
|
}
|
|
if (*(float *)(param_1 + 0x228) != **(float **)(param_1 + 0x224)) {
|
|
*(undefined4 *)(param_1 + 0x228) = **(undefined4 **)(param_1 + 0x224);
|
|
if (*(float *)(param_1 + 0x230) <= *(float *)(param_1 + 0x228)) {
|
|
if (*(float *)(param_1 + 0x228) <= *(float *)(param_1 + 0x22c)) {
|
|
uVar1 = *(undefined4 *)(param_1 + 0x228);
|
|
}
|
|
else {
|
|
uVar1 = *(undefined4 *)(param_1 + 0x22c);
|
|
}
|
|
}
|
|
else {
|
|
uVar1 = *(undefined4 *)(param_1 + 0x230);
|
|
}
|
|
*(undefined4 *)(param_1 + 0x228) = uVar1;
|
|
*(float *)(param_1 + 0x23c) =
|
|
(*(float *)(param_1 + 0x228) - *(float *)(param_1 + 0x230)) /
|
|
*(float *)(param_1 + 0x234);
|
|
FUN_00488b80(local_b8);
|
|
FUN_00488bac((int)local_b8,0.0,-*(float *)(param_1 + 0x204) * *(float *)(param_1 + 0x23c));
|
|
FUN_00487fbc(*(int *)(param_1 + 0x26c),1);
|
|
FUN_00488278(*(int *)(param_1 + 0x26c));
|
|
FUN_00488408(*(int *)(param_1 + 0x26c),*(undefined4 *)(param_1 + 0x1fc),
|
|
*(float *)(param_1 + 0x200) - *(float *)(param_1 + 0x204));
|
|
FUN_00488408(*(int *)(param_1 + 0x26c),*(undefined4 *)(param_1 + 0x1fc),
|
|
*(float *)(param_1 + 0x200) -
|
|
*(float *)(param_1 + 0x204) * *(float *)(param_1 + 0x23c));
|
|
FUN_004882dc(*(int *)(param_1 + 0x26c));
|
|
FUN_004887b0(*(int *)(param_1 + 0x26c),local_b8,0);
|
|
FUN_00488030(*(int *)(param_1 + 0x26c));
|
|
FUN_00488054(*(byte **)(param_1 + 0x26c));
|
|
}
|
|
if ((*(int *)(*(int *)(param_1 + 0x254) + 0x1c) != *(int *)(param_1 + 0x1e0)) ||
|
|
(**(int **)(param_1 + 0x184) != *(int *)(param_1 + 0x188))) {
|
|
*(undefined4 *)(param_1 + 0x188) = **(undefined4 **)(param_1 + 0x184);
|
|
*(undefined4 *)(param_1 + 0x1e0) = *(undefined4 *)(*(int *)(param_1 + 0x254) + 0x1c);
|
|
if (*(int *)(param_1 + 0x188) == 0) {
|
|
if (*(int *)(param_1 + 0x1dc) != 0) {
|
|
*(undefined4 *)(param_1 + 0x1dc) = 0;
|
|
FUN_00487fbc(*(int *)(param_1 + 0x2dc),1);
|
|
FUN_00488030(*(int *)(param_1 + 0x2dc));
|
|
FUN_00488054(*(byte **)(param_1 + 0x2dc));
|
|
}
|
|
if (*(int *)(param_1 + 0x180) != 0) {
|
|
FUN_0048ac30(*(int *)(param_1 + 800),0);
|
|
FUN_0048d5d4(*(undefined4 **)(param_1 + 800));
|
|
*(undefined4 *)(param_1 + 0x180) = 0;
|
|
}
|
|
}
|
|
else {
|
|
if (*(int *)(param_1 + 0x1dc) == 0) {
|
|
FUN_00487fbc(*(int *)(param_1 + 0x2dc),1);
|
|
FUN_00488850(*(int *)(param_1 + 0x2dc),*(undefined4 **)(param_1 + 0x2e4));
|
|
FUN_00488030(*(int *)(param_1 + 0x2dc));
|
|
FUN_00488054(*(byte **)(param_1 + 0x2dc));
|
|
*(undefined4 *)(param_1 + 0x1dc) = 1;
|
|
}
|
|
if (*(int *)(param_1 + 0x1e0) == 0) {
|
|
iVar5 = 0;
|
|
}
|
|
else {
|
|
iVar5 = *(int *)(*(int *)(param_1 + 0x1e0) + 400);
|
|
}
|
|
if (iVar5 == 0) {
|
|
if (*(int *)(param_1 + 0x180) != 0) {
|
|
FUN_0048ac30(*(int *)(param_1 + 800),0);
|
|
FUN_0048d5d4(*(undefined4 **)(param_1 + 800));
|
|
*(undefined4 *)(param_1 + 0x180) = 0;
|
|
}
|
|
}
|
|
else {
|
|
FUN_0048ab0c(*(int *)(param_1 + 800),
|
|
*(int *)(param_1 + 0x2e8 + *(int *)(iVar5 + 0x1e0) * 4));
|
|
FUN_0048ac30(*(int *)(param_1 + 800),1);
|
|
FUN_0048d5d4(*(undefined4 **)(param_1 + 800));
|
|
*(undefined4 *)(param_1 + 0x180) = 1;
|
|
}
|
|
}
|
|
}
|
|
if (*(int *)(param_1 + 0x1dc) != 0) {
|
|
*(float *)(param_1 + 0x240) = *(float *)(param_1 + 0x240) + _DAT_004cee7c;
|
|
if (_DAT_004ceec8 <= *(float *)(param_1 + 0x240)) {
|
|
*(float *)(param_1 + 0x240) = *(float *)(param_1 + 0x240) - _DAT_004ceec8;
|
|
}
|
|
FUN_00488b80(local_8c);
|
|
FUN_00488bc8(local_8c,*(float *)(param_1 + 0x240));
|
|
FUN_00487fbc(*(int *)(param_1 + 0x274),1);
|
|
FUN_004887b0(*(int *)(param_1 + 0x274),local_8c,0);
|
|
FUN_00488030(*(int *)(param_1 + 0x274));
|
|
FUN_00488054(*(byte **)(param_1 + 0x274));
|
|
}
|
|
}
|
|
}
|
|
FUN_004531d8();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004ceecc file=? name=FUN_004ceecc */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004ceecc(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
|
|
undefined4 param_5,undefined4 param_6)
|
|
|
|
{
|
|
FUN_0045a180(param_1,param_2,param_3,param_4,param_5,param_6);
|
|
*param_1 = &PTR_FUN_0051daf4;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004ceefc file=? name=FUN_004ceefc */
|
|
|
|
void __cdecl FUN_004ceefc(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051daf4;
|
|
FUN_0045d0f4(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004cef28 file=bt_l4/btl4vid.cpp name=FUN_004cef28 */
|
|
|
|
undefined4 __cdecl FUN_004cef28(int param_1,int param_2,undefined4 param_3,int param_4)
|
|
|
|
{
|
|
char *pcVar1;
|
|
char cVar2;
|
|
int iVar3;
|
|
int *piVar4;
|
|
undefined4 *puVar5;
|
|
undefined4 *puVar6;
|
|
char *pcVar7;
|
|
int iVar8;
|
|
int iVar9;
|
|
uint uVar10;
|
|
uint uVar11;
|
|
char *pcVar12;
|
|
bool bVar13;
|
|
undefined4 uVar14;
|
|
undefined4 local_320 [3];
|
|
undefined4 local_314 [3];
|
|
float local_308;
|
|
undefined4 local_304;
|
|
undefined4 local_300;
|
|
float local_2fc [3];
|
|
undefined4 local_2f0 [12];
|
|
int local_2c0 [7];
|
|
int local_2a4 [7];
|
|
undefined4 local_288 [12];
|
|
int local_258 [7];
|
|
char local_23c [40];
|
|
undefined4 *local_214;
|
|
undefined4 *local_210;
|
|
int *local_20c;
|
|
int *local_208;
|
|
int local_204;
|
|
int local_200;
|
|
int local_1fc;
|
|
undefined4 *local_1f8;
|
|
undefined4 *local_1f4;
|
|
int *local_1f0;
|
|
undefined4 local_1ec;
|
|
int local_1e8;
|
|
undefined4 *local_1e4;
|
|
undefined4 *local_1e0;
|
|
undefined4 *local_1dc;
|
|
int local_1d8;
|
|
undefined4 *local_1d4;
|
|
undefined4 *local_1d0;
|
|
undefined4 *local_1cc;
|
|
undefined4 *local_1c8;
|
|
undefined4 *local_1c4;
|
|
undefined4 *local_1c0;
|
|
int local_1bc;
|
|
int *local_1b8;
|
|
undefined4 *local_1b4;
|
|
int local_1b0;
|
|
undefined4 *local_1ac;
|
|
int local_1a8;
|
|
undefined4 *local_1a4;
|
|
int local_1a0;
|
|
int local_19c;
|
|
int local_198;
|
|
int local_194;
|
|
undefined4 *local_190;
|
|
undefined4 *local_18c;
|
|
int local_188;
|
|
int local_184;
|
|
int local_180;
|
|
int local_17c;
|
|
undefined4 local_178;
|
|
int *local_174;
|
|
int local_170;
|
|
int local_16c;
|
|
int *local_168;
|
|
undefined4 *local_164;
|
|
int *local_160;
|
|
float *local_15c;
|
|
undefined4 *local_158;
|
|
int *local_154;
|
|
int *local_150;
|
|
int *local_14c;
|
|
int *local_148;
|
|
int *local_144;
|
|
int *local_140;
|
|
undefined4 *local_13c;
|
|
int *local_138;
|
|
int local_134;
|
|
undefined4 *local_130;
|
|
int local_12c;
|
|
int local_128;
|
|
int local_124;
|
|
int local_120;
|
|
int *local_11c;
|
|
int *local_118;
|
|
undefined4 *local_114;
|
|
undefined4 *local_110;
|
|
undefined4 *local_10c;
|
|
int local_108;
|
|
int local_104;
|
|
int local_100;
|
|
int local_fc;
|
|
undefined4 *local_f8;
|
|
undefined4 *local_f4;
|
|
int local_f0;
|
|
undefined4 *local_ec;
|
|
int local_e8;
|
|
undefined4 *local_e4;
|
|
undefined4 *local_e0;
|
|
undefined4 *local_dc;
|
|
undefined4 *local_d8;
|
|
undefined4 *local_d4;
|
|
undefined4 *local_d0;
|
|
undefined4 *local_cc;
|
|
undefined4 *local_c8;
|
|
undefined4 *local_c4;
|
|
undefined4 *local_c0;
|
|
undefined4 *local_bc;
|
|
undefined4 *local_b8;
|
|
undefined4 *local_b4;
|
|
undefined4 *local_b0;
|
|
undefined4 *local_ac;
|
|
undefined4 *local_a8;
|
|
undefined4 *local_a4;
|
|
undefined4 *local_a0;
|
|
undefined4 *local_9c;
|
|
undefined4 *local_98;
|
|
undefined4 *local_94;
|
|
undefined4 *local_90;
|
|
undefined4 *local_8c;
|
|
undefined4 *local_88;
|
|
int local_84;
|
|
uint local_80;
|
|
int local_7c;
|
|
int local_78;
|
|
int local_74;
|
|
undefined4 *local_70;
|
|
undefined4 *local_6c;
|
|
int *local_68;
|
|
int *local_64;
|
|
undefined4 *local_60;
|
|
int local_5c;
|
|
int local_58;
|
|
undefined4 *local_54;
|
|
int local_50;
|
|
int *local_4c;
|
|
int local_48;
|
|
int local_44;
|
|
undefined4 *local_40;
|
|
int local_3c;
|
|
undefined4 *local_38;
|
|
undefined4 *local_34;
|
|
undefined4 *local_30;
|
|
undefined4 *local_2c;
|
|
undefined4 *local_28;
|
|
undefined4 local_24;
|
|
undefined4 *local_20;
|
|
uint local_1c;
|
|
int local_18;
|
|
int local_14;
|
|
undefined4 local_10;
|
|
undefined4 local_c;
|
|
undefined4 *local_8;
|
|
|
|
local_20 = (undefined4 *)0x0;
|
|
local_1c = 1;
|
|
local_8 = FUN_0045a724();
|
|
if (param_4 == 1) {
|
|
local_c = 1;
|
|
local_10 = 0;
|
|
local_24 = 4;
|
|
local_2c = (undefined4 *)FUN_00402298(0x60);
|
|
if (local_2c == (undefined4 *)0x0) {
|
|
local_28 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_28 = FUN_00455de4(local_2c,param_2,1,1,local_8);
|
|
}
|
|
}
|
|
else {
|
|
local_c = 3;
|
|
local_10 = 0xffffffff;
|
|
local_24 = 0;
|
|
local_30 = (undefined4 *)FUN_00402298(0x60);
|
|
if (local_30 == (undefined4 *)0x0) {
|
|
local_28 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_28 = FUN_00455de4(local_30,param_2,1,0,local_8);
|
|
}
|
|
}
|
|
local_38 = (undefined4 *)FUN_00402298(100);
|
|
if (local_38 == (undefined4 *)0x0) {
|
|
local_34 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_34 = FUN_00453578(local_38,param_2,3,0,local_8,local_c,local_10);
|
|
}
|
|
FUN_00455c18((int)local_28,local_34);
|
|
if (((param_4 == 1) && (local_3c = FUN_0041bf44(param_2,1), local_3c != 0)) &&
|
|
(local_40 = (undefined4 *)FUN_00402298(0x48), local_40 != (undefined4 *)0x0)) {
|
|
FUN_00453f18(local_40,param_2,2,*(undefined4 *)(param_1 + 300),local_8,local_34[0xb],local_3c,2)
|
|
;
|
|
}
|
|
if ((*(int *)(param_1 + 0xb0) != 0) && (iVar3 = FUN_00417ab4(param_1 + 0x40), param_2 == iVar3)) {
|
|
local_44 = local_34[0xb];
|
|
FUN_00489cec(local_44,*(int *)(param_1 + 0x120));
|
|
}
|
|
local_48 = param_2;
|
|
local_4c = (int *)FUN_004022b0(*(int *)(param_2 + 0x318) << 2);
|
|
local_50 = FUN_00417ab4(local_48 + 0x31c);
|
|
FUN_0041f216(local_258,local_48 + 0x300);
|
|
LAB_004cf86e:
|
|
do {
|
|
iVar3 = (**(code **)(local_258[0] + 0x28))(local_258);
|
|
if (iVar3 == 0) {
|
|
if (param_4 == 1) {
|
|
local_e8 = FUN_0041f98c(param_2,&DAT_0051d2ae);
|
|
if (local_e8 == 0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_Mech_did_not_have_a_HUD_subsyste_0051d36f,(char *)0x0);
|
|
}
|
|
else {
|
|
iVar3 = FUN_0041bfc0(param_2,s_TargetReticle_0051d2b2);
|
|
*(int *)(param_1 + 0x130) = iVar3;
|
|
local_ec = (undefined4 *)FUN_0041bf44(local_e8,8);
|
|
local_f0 = FUN_0041bf44(local_e8,4);
|
|
local_f4 = (undefined4 *)FUN_0041bf44(local_e8,5);
|
|
local_f8 = (undefined4 *)FUN_0041bf44(local_e8,6);
|
|
local_fc = FUN_0041bf44(local_e8,0xd);
|
|
local_100 = FUN_0041bf44(local_e8,0xc);
|
|
local_104 = FUN_0041bf44(local_e8,0xb);
|
|
local_108 = FUN_0041bf44(local_e8,10);
|
|
if (((local_108 == 0) || (*(int *)(param_1 + 0x130) == 0)) ||
|
|
((local_ec == (undefined4 *)0x0 ||
|
|
((((local_f0 == 0 || (local_f4 == (undefined4 *)0x0)) ||
|
|
(local_f8 == (undefined4 *)0x0)) || (local_fc == 0)))))) {
|
|
FUN_0040385c(s_Bad_reticle__one_of_TargetReticl_0051d2c0,
|
|
s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051d315,0x7be);
|
|
}
|
|
local_10c = (undefined4 *)FUN_00402298(0x358);
|
|
if (local_10c == (undefined4 *)0x0) {
|
|
local_20 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_114 = local_f8;
|
|
local_110 = local_f4;
|
|
local_20 = FUN_004cc40c(local_10c,param_2,1,(undefined4 *)(param_1 + 0x130),
|
|
*(undefined4 *)(param_1 + 0x124),local_ec,local_fc,local_f0,
|
|
*local_f4,*local_f8,0x44960000,0,local_100,local_104,local_108);
|
|
}
|
|
if (local_20 == (undefined4 *)0x0) {
|
|
FUN_0040385c(s_Could_not_create_the_reticle_0051d333,
|
|
s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051d351,0x7d3);
|
|
}
|
|
}
|
|
}
|
|
local_118 = (int *)0x0;
|
|
local_11c = (int *)0x0;
|
|
iVar3 = 0;
|
|
do {
|
|
if (*(int *)(param_2 + 0x124) <= iVar3) {
|
|
if ((local_118 != (int *)0x0) &&
|
|
(local_1cc = (undefined4 *)FUN_00402298(0x2c), local_1cc != (undefined4 *)0x0)) {
|
|
FUN_00456778(local_1cc,param_2,1,local_118,(int)local_11c);
|
|
}
|
|
local_1d4 = (undefined4 *)FUN_00402298(0x14);
|
|
if (local_1d4 == (undefined4 *)0x0) {
|
|
local_1dc = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_1dc = FUN_00460cd0(local_1d4,param_2,(int)local_4c);
|
|
}
|
|
local_1d8 = param_2;
|
|
local_1d0 = local_1dc;
|
|
(**(code **)(*(int *)(param_1 + 0x3a4) + 8))(param_1 + 0x3a4,local_1dc,&local_1d8);
|
|
FUN_004022e8(local_4c);
|
|
local_1e4 = (undefined4 *)FUN_00402298(0x38);
|
|
if (local_1e4 == (undefined4 *)0x0) {
|
|
local_1e0 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_1e0 = FUN_00455d3c(local_1e4,param_2,3,0x3f000000);
|
|
}
|
|
FUN_00455e88((int)local_28,local_1e0);
|
|
iVar3 = 0;
|
|
do {
|
|
if (*(int *)(param_2 + 0x11c) <= iVar3) {
|
|
uVar14 = local_34[0xb];
|
|
FUN_0041f235(local_258,2);
|
|
return uVar14;
|
|
}
|
|
local_1e8 = *(int *)(*(int *)(param_2 + 0x120) + iVar3 * 4);
|
|
local_1ec = local_24;
|
|
iVar8 = (**(code **)(*(int *)(local_1e8 + 0xbc) + 0xc))(local_1e8 + 0xbc,&local_1ec);
|
|
if (iVar8 != 0) {
|
|
local_1f8 = (undefined4 *)FUN_00402298(0x3c);
|
|
if (local_1f8 == (undefined4 *)0x0) {
|
|
local_1f4 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_1f4 = FUN_00455c7c(local_1f8,param_2,3,(undefined4 *)(local_1e8 + 0x158),
|
|
0x3d23d70a);
|
|
}
|
|
FUN_00455c18((int)local_1e0,local_1f4);
|
|
(**(code **)(**(int **)(iVar8 + 0xc) + 4))(*(int **)(iVar8 + 0xc));
|
|
while( true ) {
|
|
iVar9 = (**(code **)(**(int **)(iVar8 + 0xc) + 0x30))(*(int **)(iVar8 + 0xc));
|
|
if (iVar9 == 0) {
|
|
local_1f0 = (int *)0x0;
|
|
}
|
|
else {
|
|
local_1fc = (**(code **)(**(int **)(iVar8 + 0xc) + 0x28))(*(int **)(iVar8 + 0xc));
|
|
local_1f0 = (int *)(local_1fc + 0xc);
|
|
}
|
|
if (local_1f0 == (int *)0x0) break;
|
|
uVar10 = 0xffffffff;
|
|
pcVar12 = *(char **)(*local_1f0 + 8);
|
|
do {
|
|
pcVar7 = pcVar12;
|
|
if (uVar10 == 0) break;
|
|
uVar10 = uVar10 - 1;
|
|
pcVar7 = pcVar12 + 1;
|
|
cVar2 = *pcVar12;
|
|
pcVar12 = pcVar7;
|
|
} while (cVar2 != '\0');
|
|
uVar10 = ~uVar10;
|
|
pcVar12 = pcVar7 + -uVar10;
|
|
pcVar7 = (char *)&DAT_00524b54;
|
|
for (uVar11 = uVar10 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {
|
|
*(undefined4 *)pcVar7 = *(undefined4 *)pcVar12;
|
|
pcVar12 = pcVar12 + 4;
|
|
pcVar7 = pcVar7 + 4;
|
|
}
|
|
for (uVar10 = uVar10 & 3; uVar10 != 0; uVar10 = uVar10 - 1) {
|
|
*pcVar7 = *pcVar12;
|
|
pcVar12 = pcVar12 + 1;
|
|
pcVar7 = pcVar7 + 1;
|
|
}
|
|
local_204 = FUN_00497678((char *)&DAT_00524b54,0,&local_200);
|
|
if (local_204 == 0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_BTL4VideoRenderer__Material_name_0051d6f8,(char *)0x0
|
|
);
|
|
FUN_004dbb24(&DAT_00524e20,(char *)&DAT_00524b54,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_could_not_be_found_0051d71a,(char *)0x0);
|
|
}
|
|
else {
|
|
FUN_00402a98((int *)&local_208,local_1f0,(char *)&DAT_00524b54);
|
|
local_20c = local_208;
|
|
piVar4 = local_208 + 3;
|
|
*piVar4 = *piVar4 + -1;
|
|
if (*piVar4 == 0) {
|
|
FUN_004024d8(local_208,3);
|
|
}
|
|
local_214 = (undefined4 *)FUN_00402298(0xe8);
|
|
if (local_214 == (undefined4 *)0x0) {
|
|
local_210 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_210 = FUN_004573e4(local_214,param_2,3,local_204,
|
|
(undefined4 *)(local_1e8 + 0x158),0.1);
|
|
}
|
|
FUN_00455c18((int)local_1f4,local_210);
|
|
}
|
|
}
|
|
}
|
|
iVar3 = iVar3 + 1;
|
|
} while( true );
|
|
}
|
|
iVar8 = *(int *)(*(int *)(param_2 + 0x128) + iVar3 * 4);
|
|
if (((iVar8 != 0) && (iVar3 != 0)) && (local_120 = *(int *)(iVar8 + 0xdc), local_120 != -1))
|
|
{
|
|
local_124 = local_120;
|
|
FUN_0041f216(local_2c0,local_48 + 0x300);
|
|
iVar9 = (**(code **)(local_2c0[0] + 0x34))(local_2c0,local_124);
|
|
FUN_0041f235(local_2c0,2);
|
|
if (*(int *)(iVar9 + 0xc4) == 0) {
|
|
local_128 = local_34[0xb];
|
|
}
|
|
else {
|
|
local_12c = *(int *)(iVar9 + 200);
|
|
local_128 = local_4c[local_12c];
|
|
}
|
|
local_130 = (undefined4 *)(iVar9 + 0x74);
|
|
puVar5 = local_130;
|
|
puVar6 = local_2f0;
|
|
for (iVar9 = 0xc; iVar9 != 0; iVar9 = iVar9 + -1) {
|
|
*puVar6 = *puVar5;
|
|
puVar5 = puVar5 + 1;
|
|
puVar6 = puVar6 + 1;
|
|
}
|
|
iVar9 = FUN_0041a1a4(**(int **)(iVar8 + 0xc),0x50de2c);
|
|
if (iVar9 == 0) {
|
|
local_14 = 0;
|
|
}
|
|
else {
|
|
local_134 = iVar8;
|
|
FUN_0040b058((int)local_2f0,3,local_2fc);
|
|
local_308 = *(float *)(local_134 + 0xf8);
|
|
local_304 = *(undefined4 *)(local_134 + 0xfc);
|
|
local_300 = *(undefined4 *)(local_134 + 0x100);
|
|
FUN_004085ec(local_2fc,local_2fc,&local_308);
|
|
FUN_0040b0ac((int)local_2f0,3,local_2fc);
|
|
local_13c = (undefined4 *)FUN_00402298(0x10);
|
|
if (local_13c == (undefined4 *)0x0) {
|
|
local_138 = (int *)0x0;
|
|
}
|
|
else {
|
|
local_138 = (int *)FUN_004023f4(local_13c);
|
|
}
|
|
local_138[3] = local_138[3] + 1;
|
|
local_144 = (int *)(local_134 + 0xf4);
|
|
local_148 = (int *)*local_144;
|
|
local_148[3] = local_148[3] + 1;
|
|
FUN_00402a4c((int *)&local_140,(int *)&local_138,(int *)&local_148);
|
|
local_14c = local_140;
|
|
piVar4 = local_140 + 3;
|
|
*piVar4 = *piVar4 + -1;
|
|
if (*piVar4 == 0) {
|
|
FUN_004024d8(local_140,3);
|
|
}
|
|
local_150 = local_148;
|
|
piVar4 = local_148 + 3;
|
|
*piVar4 = *piVar4 + -1;
|
|
if (*piVar4 == 0) {
|
|
FUN_004024d8(local_148,3);
|
|
}
|
|
pcVar7 = &DAT_0051d398;
|
|
pcVar12 = (char *)local_138[2];
|
|
do {
|
|
bVar13 = *pcVar7 == *pcVar12;
|
|
if (!bVar13) break;
|
|
if (*pcVar7 == '\0') goto LAB_004cfd8d;
|
|
pcVar1 = pcVar7 + 1;
|
|
bVar13 = *pcVar1 == pcVar12[1];
|
|
if (!bVar13) break;
|
|
pcVar7 = pcVar7 + 2;
|
|
pcVar12 = pcVar12 + 2;
|
|
bVar13 = *pcVar1 == '\0';
|
|
} while (!bVar13);
|
|
if (bVar13) {
|
|
LAB_004cfd8d:
|
|
local_14 = 0;
|
|
}
|
|
else {
|
|
uVar10 = 0xffffffff;
|
|
pcVar12 = (char *)local_138[2];
|
|
do {
|
|
pcVar7 = pcVar12;
|
|
if (uVar10 == 0) break;
|
|
uVar10 = uVar10 - 1;
|
|
pcVar7 = pcVar12 + 1;
|
|
cVar2 = *pcVar12;
|
|
pcVar12 = pcVar7;
|
|
} while (cVar2 != '\0');
|
|
uVar10 = ~uVar10;
|
|
pcVar12 = pcVar7 + -uVar10;
|
|
pcVar7 = local_23c;
|
|
for (uVar11 = uVar10 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {
|
|
*(undefined4 *)pcVar7 = *(undefined4 *)pcVar12;
|
|
pcVar12 = pcVar12 + 4;
|
|
pcVar7 = pcVar7 + 4;
|
|
}
|
|
for (uVar10 = uVar10 & 3; uVar10 != 0; uVar10 = uVar10 - 1) {
|
|
*pcVar7 = *pcVar12;
|
|
pcVar12 = pcVar12 + 1;
|
|
pcVar7 = pcVar7 + 1;
|
|
}
|
|
local_14 = FUN_00498448(local_23c,local_1c);
|
|
}
|
|
local_154 = local_138;
|
|
piVar4 = local_138 + 3;
|
|
*piVar4 = *piVar4 + -1;
|
|
if (*piVar4 == 0) {
|
|
FUN_004024d8(local_138,3);
|
|
}
|
|
}
|
|
if (((param_4 == 1) &&
|
|
(iVar9 = FUN_0041a1a4(**(int **)(iVar8 + 0xc),0x511830), iVar9 != 0)) &&
|
|
(local_20 != (undefined4 *)0x0)) {
|
|
local_158 = (undefined4 *)FUN_0041bf44(iVar8,0x15);
|
|
local_15c = (float *)FUN_0041bf44(iVar8,0x16);
|
|
local_160 = (int *)FUN_0041bf44(iVar8,0x17);
|
|
local_164 = (undefined4 *)FUN_0041bf44(iVar8,0x18);
|
|
local_168 = (int *)FUN_0041bf44(iVar8,0x19);
|
|
local_16c = FUN_0041bf44(iVar8,1);
|
|
local_170 = FUN_0041bf44(iVar8,0x1c);
|
|
local_174 = (int *)FUN_0041bf44(iVar8,0x1b);
|
|
if (local_158 == (undefined4 *)0x0) {
|
|
FUN_0040385c(s_No_TargetWithinRange_attribute_i_0051d39d,
|
|
s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051d3d2,0x866);
|
|
}
|
|
if (local_15c == (float *)0x0) {
|
|
FUN_0040385c(s_No_WeaponRange_attribute_in_weap_0051d3f0,
|
|
s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051d41f,0x868);
|
|
}
|
|
if (local_160 == (int *)0x0) {
|
|
FUN_0040385c(s_No_PipPosition_attribute_in_weap_0051d43d,
|
|
s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051d46c,0x86a);
|
|
}
|
|
if (local_164 == (undefined4 *)0x0) {
|
|
FUN_0040385c(s_No_PipColor_attribute_in_weapons_0051d48a,
|
|
s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051d4b6,0x86c);
|
|
}
|
|
if (local_168 == (int *)0x0) {
|
|
FUN_0040385c(s_No_PipExtendedRange_attribute_in_0051d4d4,
|
|
s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051d508,0x86e);
|
|
}
|
|
if (local_16c == 0) {
|
|
FUN_0040385c(s_No_SimulationState_attribute_in_w_0051d526,
|
|
s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051d559,0x870);
|
|
}
|
|
if (local_170 == 0) {
|
|
FUN_0040385c(s_No_SimulationState_attribute_in_w_0051d577,
|
|
s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051d5aa,0x873);
|
|
}
|
|
if (local_174 == (int *)0x0) {
|
|
FUN_0040385c(s_No_RearFiring_attribute_in_weapo_0051d5c8,
|
|
s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051d5f6,0x875);
|
|
}
|
|
if (*local_174 == 0) {
|
|
local_178 = 1;
|
|
}
|
|
else {
|
|
local_178 = 2;
|
|
}
|
|
FUN_004cdac0((int)local_20,*local_15c,*local_160,local_158,*local_168,*local_164,
|
|
local_164[1],local_164[2],local_170,2,3,local_16c,1,local_178);
|
|
}
|
|
switch(*(undefined4 *)(iVar8 + 4)) {
|
|
case 0xbc0:
|
|
FUN_0040b058((int)local_2f0,3,local_320);
|
|
local_1b0 = FUN_0041bfc0(iVar8,s_ReservoirState_0051d614);
|
|
if (local_1b0 == 0) {
|
|
FUN_0040385c(s_Reservoir_did_not_have_a_Reservo_0051d623,
|
|
s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051d64c,0x926);
|
|
}
|
|
local_1b4 = (undefined4 *)FUN_00402298(0x138);
|
|
if (local_1b4 != (undefined4 *)0x0) {
|
|
FUN_00456a68(local_1b4,param_2,2,local_1b0,1,*(undefined4 **)(param_1 + 0x318),
|
|
local_128,local_320);
|
|
}
|
|
break;
|
|
case 0xbc8:
|
|
local_17c = FUN_0041bf44(iVar8,0x1e);
|
|
local_180 = FUN_0041bf44(iVar8,0x1f);
|
|
local_184 = FUN_0041bf44(iVar8,0x1d);
|
|
local_188 = FUN_0041bf44(iVar8,0x1c);
|
|
local_190 = (undefined4 *)FUN_00402298(0x80);
|
|
if (local_190 == (undefined4 *)0x0) {
|
|
local_18c = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_18c = FUN_004593c0(local_190,param_2,2,local_14,local_8,1,0,local_128,local_2f0,
|
|
local_188,0,local_180,local_17c);
|
|
}
|
|
break;
|
|
case 0xbcd:
|
|
FUN_0040b058((int)local_2f0,3,local_314);
|
|
local_1a8 = FUN_0041bf44(iVar8,0x1c);
|
|
if ((param_4 != 1) &&
|
|
(local_1ac = (undefined4 *)FUN_00402298(0x138), local_1ac != (undefined4 *)0x0)) {
|
|
FUN_00456a68(local_1ac,param_2,2,local_1a8,0,*(undefined4 **)(param_1 + 0x2e4),
|
|
local_128,local_314);
|
|
}
|
|
break;
|
|
case 0xbd4:
|
|
local_194 = FUN_0041bf44(iVar8,0x1e);
|
|
local_198 = FUN_0041bf44(iVar8,0x1f);
|
|
local_19c = FUN_0041bf44(iVar8,0x1d);
|
|
local_1a0 = FUN_0041bf44(iVar8,0x1c);
|
|
local_1a4 = (undefined4 *)FUN_00402298(0x88);
|
|
if (local_1a4 != (undefined4 *)0x0) {
|
|
FUN_004590d8(local_1a4,param_2,2,local_14,local_8,1,0,local_128,local_2f0,local_1a0,0,
|
|
local_198,local_194,0x40000000);
|
|
}
|
|
break;
|
|
case 0xbd8:
|
|
local_1b8 = (int *)FUN_0041bfc0(iVar8,s_LightOn_0051d66a);
|
|
if (local_1b8 == (int *)0x0) {
|
|
FUN_0040385c(s_searchlight_subsystem_had_no_lig_0051d672,
|
|
s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051d6a2,0x941);
|
|
}
|
|
if (param_4 == 1) {
|
|
if (local_118 == (int *)0x0) {
|
|
local_118 = local_1b8;
|
|
}
|
|
else {
|
|
local_11c = local_1b8;
|
|
}
|
|
}
|
|
else {
|
|
local_1bc = FUN_00498448(s_spot_bgf_0051d6c0,0);
|
|
if (local_1bc == 0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_Couldn_t_locate_spot_bgf_for_mec_0051d6c9,(char *)0x0);
|
|
}
|
|
else {
|
|
local_1c4 = (undefined4 *)FUN_00402298(0x50);
|
|
if (local_1c4 == (undefined4 *)0x0) {
|
|
local_1c0 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_1c0 = FUN_0045848c(local_1c4,param_2,(int)local_8,local_1bc,1,0,local_2f0,
|
|
local_128);
|
|
}
|
|
local_1c8 = (undefined4 *)FUN_00402298(0x2c);
|
|
if (local_1c8 != (undefined4 *)0x0) {
|
|
FUN_0045612c(local_1c8,param_2,1,local_1c0[6],1,local_1b8);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
iVar3 = iVar3 + 1;
|
|
} while( true );
|
|
}
|
|
FUN_0040aadc(local_288);
|
|
local_54 = (undefined4 *)(iVar3 + 0x74);
|
|
FUN_0040ab28(local_288,local_54);
|
|
if (*(int *)(iVar3 + 0xc4) == 0) {
|
|
local_58 = local_34[0xb];
|
|
}
|
|
else {
|
|
local_5c = *(int *)(iVar3 + 200);
|
|
local_58 = local_4c[local_5c];
|
|
}
|
|
if (*(int *)(iVar3 + 0x10) != 0) {
|
|
if (param_4 == 1) {
|
|
local_60 = (undefined4 *)(iVar3 + 0x11c);
|
|
local_68 = (int *)*local_60;
|
|
pcVar7 = s_siteeyepoint_0051d290;
|
|
local_68[3] = local_68[3] + 1;
|
|
pcVar12 = (char *)local_68[2];
|
|
do {
|
|
bVar13 = *pcVar12 == *pcVar7;
|
|
if ((!bVar13) || (bVar13 = true, *pcVar12 == '\0')) break;
|
|
pcVar1 = pcVar12 + 1;
|
|
bVar13 = *pcVar1 == pcVar7[1];
|
|
if (!bVar13) break;
|
|
pcVar12 = pcVar12 + 2;
|
|
pcVar7 = pcVar7 + 2;
|
|
bVar13 = *pcVar1 == '\0';
|
|
} while (!bVar13);
|
|
uVar10 = (uint)bVar13;
|
|
piVar4 = local_68 + 3;
|
|
*piVar4 = *piVar4 + -1;
|
|
local_64 = local_68;
|
|
if (*piVar4 == 0) {
|
|
FUN_004024d8(local_68,3);
|
|
}
|
|
if (uVar10 != 0) {
|
|
local_6c = (undefined4 *)FUN_0041bfc0(param_2,s_EyepointRotation_0051d29d);
|
|
local_70 = (undefined4 *)FUN_00402298(0x5c);
|
|
if (local_70 != (undefined4 *)0x0) {
|
|
FUN_004579a8(local_70,param_2,(int)local_8,local_288,local_58,
|
|
*(undefined4 **)(param_1 + 0x124),local_6c);
|
|
}
|
|
}
|
|
}
|
|
goto LAB_004cf86e;
|
|
}
|
|
piVar4 = (int *)FUN_00424084(iVar3,local_24);
|
|
if (piVar4 == (int *)0x0) {
|
|
local_14 = 0;
|
|
}
|
|
else {
|
|
uVar10 = 0xffffffff;
|
|
pcVar12 = *(char **)(*piVar4 + 8);
|
|
do {
|
|
pcVar7 = pcVar12;
|
|
if (uVar10 == 0) break;
|
|
uVar10 = uVar10 - 1;
|
|
pcVar7 = pcVar12 + 1;
|
|
cVar2 = *pcVar12;
|
|
pcVar12 = pcVar7;
|
|
} while (cVar2 != '\0');
|
|
uVar10 = ~uVar10;
|
|
pcVar12 = pcVar7 + -uVar10;
|
|
pcVar7 = local_23c;
|
|
for (uVar11 = uVar10 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {
|
|
*(undefined4 *)pcVar7 = *(undefined4 *)pcVar12;
|
|
pcVar12 = pcVar12 + 4;
|
|
pcVar7 = pcVar7 + 4;
|
|
}
|
|
for (uVar10 = uVar10 & 3; uVar10 != 0; uVar10 = uVar10 - 1) {
|
|
*pcVar7 = *pcVar12;
|
|
pcVar12 = pcVar12 + 1;
|
|
pcVar7 = pcVar7 + 1;
|
|
}
|
|
local_14 = FUN_00498448(local_23c,local_1c);
|
|
}
|
|
piVar4 = (int *)FUN_00424084(iVar3,local_24);
|
|
if (piVar4 == (int *)0x0) {
|
|
local_18 = 0;
|
|
local_74 = 0;
|
|
}
|
|
else {
|
|
uVar10 = 0xffffffff;
|
|
pcVar12 = *(char **)(*piVar4 + 8);
|
|
do {
|
|
pcVar7 = pcVar12;
|
|
if (uVar10 == 0) break;
|
|
uVar10 = uVar10 - 1;
|
|
pcVar7 = pcVar12 + 1;
|
|
cVar2 = *pcVar12;
|
|
pcVar12 = pcVar7;
|
|
} while (cVar2 != '\0');
|
|
uVar10 = ~uVar10;
|
|
pcVar12 = pcVar7 + -uVar10;
|
|
pcVar7 = local_23c;
|
|
for (uVar11 = uVar10 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {
|
|
*(undefined4 *)pcVar7 = *(undefined4 *)pcVar12;
|
|
pcVar12 = pcVar12 + 4;
|
|
pcVar7 = pcVar7 + 4;
|
|
}
|
|
for (uVar10 = uVar10 & 3; uVar10 != 0; uVar10 = uVar10 - 1) {
|
|
*pcVar7 = *pcVar12;
|
|
pcVar12 = pcVar12 + 1;
|
|
pcVar7 = pcVar7 + 1;
|
|
}
|
|
local_18 = FUN_00498448(local_23c,local_1c);
|
|
local_78 = *(int *)(*(int *)(param_2 + 0x120) + *(int *)(iVar3 + 0x100) * 4);
|
|
local_74 = local_78 + 100;
|
|
}
|
|
local_7c = *(int *)(iVar3 + 0xcc);
|
|
iVar8 = 0;
|
|
if (*(int *)(iVar3 + 0xc0) == -1) {
|
|
local_80 = 3;
|
|
}
|
|
else {
|
|
local_84 = *(int *)(iVar3 + 0xc0);
|
|
FUN_0041d3b3(local_2a4,local_50 + 0xe4);
|
|
iVar8 = (**(code **)(local_2a4[0] + 0x34))(local_2a4,local_84);
|
|
FUN_0041d3d2(local_2a4,2);
|
|
local_80 = *(uint *)(iVar8 + 0x10);
|
|
}
|
|
if (2 < local_80) {
|
|
if (local_80 != 3) {
|
|
if (local_80 == 4) {
|
|
local_a4 = (undefined4 *)FUN_00402298(0x7c);
|
|
if (local_a4 == (undefined4 *)0x0) {
|
|
local_a0 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar5 = (undefined4 *)FUN_0041cfa0(iVar8);
|
|
local_a0 = FUN_004539b4(local_a4,param_2,3,local_14,local_8,local_c,local_10,local_58,
|
|
local_288,puVar5);
|
|
}
|
|
FUN_00455e88((int)local_28,local_a0);
|
|
local_4c[local_7c] = local_a0[0xb];
|
|
if (local_18 != 0) {
|
|
local_ac = (undefined4 *)FUN_00402298(0x30);
|
|
if (local_ac == (undefined4 *)0x0) {
|
|
local_a8 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_a8 = FUN_00453474(local_ac,param_2,0,local_18,local_a0[0xb],local_c,local_10,1);
|
|
}
|
|
local_b0 = (undefined4 *)FUN_00402298(0x30);
|
|
if (local_b0 != (undefined4 *)0x0) {
|
|
FUN_00456224(local_b0,param_2,2,local_a0[0xc],1,local_74,0);
|
|
}
|
|
local_b4 = (undefined4 *)FUN_00402298(0x30);
|
|
if (local_b4 != (undefined4 *)0x0) {
|
|
FUN_00456224(local_b4,param_2,2,local_a8[0xb],1,local_74,1);
|
|
}
|
|
}
|
|
goto LAB_004cf86e;
|
|
}
|
|
if (local_80 == 5) {
|
|
local_bc = (undefined4 *)FUN_00402298(0x8c);
|
|
if (local_bc == (undefined4 *)0x0) {
|
|
local_b8 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar5 = *(undefined4 **)(iVar8 + 0xc);
|
|
puVar6 = (undefined4 *)FUN_0041cfa0(iVar8);
|
|
local_b8 = FUN_00453ac4(local_bc,param_2,3,local_14,local_8,local_c,local_10,local_58,
|
|
local_288,puVar6,puVar5);
|
|
}
|
|
FUN_00455e88((int)local_28,local_b8);
|
|
local_4c[local_7c] = local_b8[0xb];
|
|
if (local_18 != 0) {
|
|
local_c4 = (undefined4 *)FUN_00402298(0x30);
|
|
if (local_c4 == (undefined4 *)0x0) {
|
|
local_c0 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_c0 = FUN_00453474(local_c4,param_2,0,local_18,local_b8[0xb],local_c,local_10,1);
|
|
}
|
|
local_c8 = (undefined4 *)FUN_00402298(0x30);
|
|
if (local_c8 != (undefined4 *)0x0) {
|
|
FUN_00456224(local_c8,param_2,2,local_b8[0xc],1,local_74,0);
|
|
}
|
|
local_cc = (undefined4 *)FUN_00402298(0x30);
|
|
if (local_cc != (undefined4 *)0x0) {
|
|
FUN_00456224(local_cc,param_2,2,local_c0[0xb],1,local_74,1);
|
|
}
|
|
}
|
|
goto LAB_004cf86e;
|
|
}
|
|
}
|
|
local_d4 = (undefined4 *)FUN_00402298(0x50);
|
|
if (local_d4 == (undefined4 *)0x0) {
|
|
local_d0 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_d0 = FUN_0045848c(local_d4,param_2,(int)local_8,local_14,local_c,local_10,local_288,
|
|
local_58);
|
|
}
|
|
local_4c[local_7c] = local_d0[4];
|
|
if (local_18 != 0) {
|
|
local_dc = (undefined4 *)FUN_00402298(0x30);
|
|
if (local_dc == (undefined4 *)0x0) {
|
|
local_d8 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_d8 = FUN_00453474(local_dc,param_2,0,local_18,local_d0[4],local_c,local_10,1);
|
|
}
|
|
local_e0 = (undefined4 *)FUN_00402298(0x30);
|
|
if (local_e0 != (undefined4 *)0x0) {
|
|
FUN_00456224(local_e0,param_2,2,local_d0[6],1,local_74,0);
|
|
}
|
|
local_e4 = (undefined4 *)FUN_00402298(0x30);
|
|
if (local_e4 != (undefined4 *)0x0) {
|
|
FUN_00456224(local_e4,param_2,2,local_d8[0xb],1,local_74,1);
|
|
}
|
|
}
|
|
goto LAB_004cf86e;
|
|
}
|
|
local_8c = (undefined4 *)FUN_00402298(0x78);
|
|
if (local_8c == (undefined4 *)0x0) {
|
|
local_88 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_88 = FUN_004537e8(local_8c,param_2,3,local_14,local_8,local_c,local_10,local_58,
|
|
local_288,*(undefined4 **)(iVar8 + 0xc));
|
|
}
|
|
FUN_00455e88((int)local_28,local_88);
|
|
local_4c[local_7c] = local_88[0xb];
|
|
if (local_18 != 0) {
|
|
local_94 = (undefined4 *)FUN_00402298(0x30);
|
|
if (local_94 == (undefined4 *)0x0) {
|
|
local_90 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
local_90 = FUN_00453474(local_94,param_2,0,local_18,local_88[0xb],local_c,local_10,1);
|
|
}
|
|
local_98 = (undefined4 *)FUN_00402298(0x30);
|
|
if (local_98 != (undefined4 *)0x0) {
|
|
FUN_00456224(local_98,param_2,2,local_88[0xc],1,local_74,0);
|
|
}
|
|
local_9c = (undefined4 *)FUN_00402298(0x30);
|
|
if (local_9c != (undefined4 *)0x0) {
|
|
FUN_00456224(local_9c,param_2,2,local_90[0xb],1,local_74,1);
|
|
}
|
|
}
|
|
} while( true );
|
|
}
|
|
|
|
|
|
|
|
/* @004d0774 file=? name=FUN_004d0774 */
|
|
|
|
void __cdecl FUN_004d0774(int param_1,int param_2,int param_3,int param_4)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
undefined4 *puVar4;
|
|
int iVar5;
|
|
|
|
DAT_004f1aa8 = param_2;
|
|
iVar5 = 0;
|
|
iVar2 = *(int *)(param_2 + 4);
|
|
if (iVar2 == 0xbb9) {
|
|
FUN_0045d3cc(param_1,0x68);
|
|
FUN_004d0cc0(param_1,param_2);
|
|
iVar5 = FUN_004cef28(param_1,param_2,param_3,param_4);
|
|
FUN_004d11e8();
|
|
}
|
|
else if (iVar2 == 0xbba) {
|
|
iVar2 = FUN_00498448(s_tmst_c_bgf_0051d72f,0);
|
|
puVar4 = (undefined4 *)FUN_00402298(100);
|
|
if (puVar4 == (undefined4 *)0x0) {
|
|
puVar4 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar4 = FUN_00453578(puVar4,param_2,1,iVar2,*(undefined4 *)(param_1 + 300),1,0);
|
|
}
|
|
puVar1 = (undefined4 *)FUN_00402298(0x120);
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
FUN_00458c58(puVar1,param_2,0,*(undefined4 **)(param_1 + 0x2cc),puVar4[0xb]);
|
|
}
|
|
}
|
|
else if (iVar2 == 0xbda) {
|
|
iVar2 = FUN_0041bf44(param_2,1);
|
|
if ((*(uint *)(param_2 + 0x28) & 0xc) == 4) {
|
|
iVar3 = FUN_0041bfc0(param_2,s_DropZoneLocation_0051d73a);
|
|
if ((iVar2 != 0) && (iVar3 != 0)) {
|
|
puVar4 = (undefined4 *)FUN_00402298(0x40);
|
|
if (puVar4 != (undefined4 *)0x0) {
|
|
FUN_00458d2c(puVar4,param_2,2,*(undefined4 *)(param_1 + 300),iVar2,iVar3,1);
|
|
}
|
|
}
|
|
}
|
|
else if (iVar2 != 0) {
|
|
puVar4 = (undefined4 *)FUN_00402298(0x50);
|
|
if (puVar4 != (undefined4 *)0x0) {
|
|
FUN_00454394(puVar4,param_2,2,*(undefined4 *)(param_1 + 300),
|
|
*(undefined4 *)(param_1 + 0x128),*(undefined4 *)(param_1 + 0x124),iVar2,
|
|
*(undefined4 *)(param_1 + 200),*(undefined4 *)(param_1 + 0xd0),
|
|
*(undefined4 *)(param_1 + 0xcc),*(undefined4 *)(param_1 + 0xd4),
|
|
*(undefined4 *)(param_1 + 0xd8),3,4);
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
FUN_0045e744(param_1,param_2,param_3,param_4);
|
|
}
|
|
DAT_004f1aa8 = 0;
|
|
if (iVar5 != 0) {
|
|
FUN_0045a994(param_1,iVar5,param_2);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d097c file=? name=FUN_004d097c */
|
|
|
|
void __cdecl FUN_004d097c(int param_1,int param_2,int param_3,uint param_4)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
int *piVar3;
|
|
int local_6c [3];
|
|
undefined4 local_60;
|
|
undefined4 local_5c;
|
|
undefined4 local_58;
|
|
undefined4 local_54 [12];
|
|
int local_24 [4];
|
|
int local_14;
|
|
int local_10;
|
|
int local_c;
|
|
uint local_8;
|
|
|
|
FUN_00452cad(local_24,0);
|
|
FUN_0040aadc(local_54);
|
|
iVar2 = FUN_0041dbd0(param_3,1);
|
|
if (iVar2 == 0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_StartEntityEffectImplementation__0051d74b,(char *)0x0);
|
|
FUN_004d9c70(&DAT_00524e20);
|
|
FUN_00452ccc(local_24,2);
|
|
}
|
|
else {
|
|
FUN_0040ab28(local_54,(undefined4 *)(iVar2 + 0x74));
|
|
FUN_0040b058((int)local_54,3,&local_60);
|
|
iVar2 = *(int *)(*(int *)(iVar2 + 0xc4) + 0xc0);
|
|
if (iVar2 == -1) {
|
|
FUN_004dbb24(&DAT_00524e20,s_StartEntityEffectImplementation__0051d785,(char *)0x0);
|
|
FUN_004d9c70(&DAT_00524e20);
|
|
FUN_00452ccc(local_24,2);
|
|
}
|
|
else {
|
|
local_14 = param_2;
|
|
local_10 = (**(code **)(*(int *)(param_1 + 0x3a4) + 0xc))(param_1 + 0x3a4,&local_14);
|
|
if (local_10 == 0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_StartEntityEffectImplementation__0051d7ca,(char *)0x0);
|
|
FUN_004d9c70(&DAT_00524e20);
|
|
FUN_00452ccc(local_24,2);
|
|
}
|
|
else {
|
|
local_c = *(int *)(*(int *)(local_10 + 0x10) + iVar2 * 4);
|
|
iVar2 = FUN_00407064(*(int *)(DAT_004efc94 + 0x68),param_4,10);
|
|
if (iVar2 == 0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_StartEntityEffectImplementation__0051d810,(char *)0x0);
|
|
piVar3 = FUN_004db78c(&DAT_00524e20,param_4);
|
|
FUN_004dbb24(piVar3,s_has_no_video_resource_0051d83b,(char *)0x0);
|
|
FUN_00452ccc(local_24,2);
|
|
}
|
|
else {
|
|
iVar1 = *(int *)(iVar2 + 4);
|
|
*(int *)(iVar2 + 4) = *(int *)(iVar2 + 4) + 1;
|
|
if (iVar1 == 0) {
|
|
FUN_00406cd0(iVar2);
|
|
}
|
|
FUN_0045a0c4(local_24,iVar2);
|
|
*(int *)(iVar2 + 4) = *(int *)(iVar2 + 4) + -1;
|
|
FUN_004614d7(local_6c,(int)local_24);
|
|
if (*(int *)(param_2 + 400) == 0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_StartEntityEffectImplementation__0051d853,(char *)0x0);
|
|
local_8 = 0;
|
|
}
|
|
else {
|
|
local_8 = *(uint *)(*(int *)(param_2 + 400) + 0x1e0);
|
|
}
|
|
(**(code **)(local_6c[0] + 4))(local_6c);
|
|
while( true ) {
|
|
iVar2 = (**(code **)(local_6c[0] + 0x28))(local_6c);
|
|
if (iVar2 == 0) break;
|
|
iVar2 = FUN_004dd1e0(*(char **)(iVar2 + 0xc));
|
|
if (iVar2 < 1000) {
|
|
FUN_004dbb24(&DAT_00524e20,s_StartEntityEffectImplementation__0051d897,(char *)0x0);
|
|
}
|
|
else {
|
|
FUN_004606d4(param_1,local_60,local_5c,local_58,iVar2,local_c,local_8);
|
|
}
|
|
}
|
|
FUN_0045a134((int)local_24);
|
|
FUN_00461515(local_6c,2);
|
|
FUN_00452ccc(local_24,2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d0c14 file=? name=FUN_004d0c14 */
|
|
|
|
void __cdecl FUN_004d0c14(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
uint uVar1;
|
|
|
|
if (*(int *)(param_2 + 400) != 0) {
|
|
uVar1 = *(int *)(*(int *)(param_2 + 400) + 0x1e0) << 0x10;
|
|
FUN_00490368(uVar1,uVar1 | 0xffff);
|
|
return;
|
|
}
|
|
FUN_004dbb24(&DAT_00524e20,s_StopAllEntityEffectsImplementati_0051d8da,(char *)0x0);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d0c5c file=? name=FUN_004d0c5c */
|
|
|
|
void __cdecl FUN_004d0c5c(int param_1,int param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
int local_8;
|
|
|
|
iVar1 = FUN_0041a1a4(**(int **)(param_2 + 0xc),0x4e4afc);
|
|
if (iVar1 != 0) {
|
|
local_8 = param_2;
|
|
puVar2 = (undefined4 *)(**(code **)(*(int *)(param_1 + 0x3a4) + 0xc))(param_1 + 0x3a4,&local_8);
|
|
if ((puVar2 != (undefined4 *)0x0) && (puVar2 != (undefined4 *)0x0)) {
|
|
(**(code **)*puVar2)(puVar2,3);
|
|
}
|
|
}
|
|
FUN_004369a0(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d0cc0 file=bt_l4/btl4vid.cpp name=FUN_004d0cc0 */
|
|
|
|
void __cdecl FUN_004d0cc0(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
char cVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
int *piVar4;
|
|
int *piVar5;
|
|
char *pcVar6;
|
|
char *pcVar7;
|
|
uint uVar8;
|
|
uint uVar9;
|
|
char *pcVar10;
|
|
char *pcVar11;
|
|
char local_7c [80];
|
|
char *local_2c;
|
|
char *local_28;
|
|
char *local_24;
|
|
undefined4 *local_20;
|
|
uint local_1c;
|
|
char *local_18;
|
|
char *local_14;
|
|
char *local_10;
|
|
undefined4 *local_c;
|
|
int *local_8;
|
|
|
|
if (DAT_0051d19c == '\0') {
|
|
DAT_0051d198 = FUN_004d4a78(PTR_s__color__0051d188);
|
|
DAT_0051d19c = DAT_0051d19c + '\x01';
|
|
}
|
|
if (DAT_0051d1a4 == '\0') {
|
|
DAT_0051d1a0 = FUN_004d4a78(PTR_s__badge__0051d18c);
|
|
DAT_0051d1a4 = DAT_0051d1a4 + '\x01';
|
|
}
|
|
if (DAT_0051d1ac == '\0') {
|
|
DAT_0051d1a8 = FUN_004d4a78(PTR_s__patch__0051d190);
|
|
DAT_0051d1ac = DAT_0051d1ac + '\x01';
|
|
}
|
|
if (DAT_0051d1b4 == '\0') {
|
|
DAT_0051d1b0 = FUN_004d4a78(PTR_s__serno__0051d194);
|
|
DAT_0051d1b4 = DAT_0051d1b4 + '\x01';
|
|
}
|
|
iVar3 = FUN_00406ff8(*(int *)(DAT_004efc94 + 0x68),s_vehicletable_0051d941,0x19,-1);
|
|
if (iVar3 != 0) {
|
|
iVar2 = *(int *)(iVar3 + 4);
|
|
*(int *)(iVar3 + 4) = *(int *)(iVar3 + 4) + 1;
|
|
if (iVar2 == 0) {
|
|
FUN_00406cd0(iVar3);
|
|
}
|
|
local_20 = *(undefined4 **)(iVar3 + 0x3c);
|
|
uVar8 = *(uint *)(iVar3 + 0x40);
|
|
piVar4 = (int *)FUN_004022b0(uVar8);
|
|
FUN_004d4918(piVar4,local_20,uVar8);
|
|
*(int *)(iVar3 + 4) = *(int *)(iVar3 + 4) + -1;
|
|
piVar5 = (int *)FUN_00402298(0x20);
|
|
if (piVar5 == (int *)0x0) {
|
|
local_8 = (int *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00403e84(piVar5,(char *)0x0,1);
|
|
}
|
|
FUN_00404d00((int)local_8,(char *)piVar4,uVar8);
|
|
FUN_004022d0(piVar4);
|
|
pcVar11 = *(char **)(*(int *)(param_2 + 0x848) + 8);
|
|
pcVar7 = *(char **)(*(int *)(param_2 + 0x844) + 8);
|
|
pcVar6 = *(char **)(*(int *)(param_2 + 0x84c) + 8);
|
|
iVar3 = FUN_00404088((int)local_8,s_color_0051d94e,pcVar11,&local_10);
|
|
if (iVar3 == 0) {
|
|
local_24 = pcVar11;
|
|
FUN_004dbb24(&DAT_00524e20,s_____Color_value___0051d954,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,local_24,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s___from_egg_not_found_in_vehicle_t_0051d966,(char *)0x0);
|
|
FUN_004d9c38(&DAT_00524e20);
|
|
FUN_0040385c(s_Exiting__0051d991,s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051d99a,0xbeb);
|
|
}
|
|
iVar3 = FUN_00404088((int)local_8,s_badge_0051d9b8,pcVar7,&local_14);
|
|
if (iVar3 == 0) {
|
|
local_28 = pcVar7;
|
|
FUN_004dbb24(&DAT_00524e20,s_____Badge_value___0051d9be,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,local_28,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s___from_egg_not_found_in_vehicle_t_0051d9d0,(char *)0x0);
|
|
FUN_004d9c38(&DAT_00524e20);
|
|
FUN_0040385c(s_Exiting__0051d9fb,s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051da04,0xbf2);
|
|
}
|
|
iVar3 = FUN_00404088((int)local_8,s_patch_0051da22,pcVar6,&local_18);
|
|
if (iVar3 == 0) {
|
|
local_2c = pcVar6;
|
|
FUN_004dbb24(&DAT_00524e20,s_____Patch_value___0051da28,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,local_2c,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s___from_egg_not_found_in_vehicle_t_0051da3a,(char *)0x0);
|
|
FUN_004d9c38(&DAT_00524e20);
|
|
FUN_0040385c(s_Exiting__0051da65,s_d__tesla_bt_bt_l4_BTL4VID_CPP_0051da6e,0xbf9);
|
|
}
|
|
DAT_004f1aac = FUN_00404720((int)local_8,s_substitute_0051da8c,(char *)0x0);
|
|
for (local_c = (undefined4 *)DAT_004f1aac[1]; local_c != (undefined4 *)0x0;
|
|
local_c = (undefined4 *)*local_c) {
|
|
pcVar11 = local_7c;
|
|
pcVar7 = (char *)local_c[1];
|
|
local_7c[0] = '\0';
|
|
while (pcVar6 = FUN_004d49f4(pcVar7,'%'), pcVar6 != (char *)0x0) {
|
|
local_1c = (int)pcVar6 - (int)pcVar7;
|
|
pcVar10 = pcVar7;
|
|
if (local_1c != 0) {
|
|
FUN_004d4b9c((undefined4 *)pcVar11,pcVar7,local_1c);
|
|
pcVar11 = pcVar11 + local_1c;
|
|
pcVar10 = pcVar6;
|
|
}
|
|
iVar3 = FUN_004d4ae0(pcVar6,PTR_s__serno__0051d194,DAT_0051d1b0);
|
|
if (iVar3 == 0) {
|
|
if (s_0GraphicGaugeBackground_0051d1b5[0] != '\0') {
|
|
*pcVar11 = s_0GraphicGaugeBackground_0051d1b5[0];
|
|
pcVar11 = pcVar11 + 1;
|
|
}
|
|
pcVar7 = pcVar10 + DAT_0051d1b0;
|
|
}
|
|
else {
|
|
iVar3 = FUN_004d4ae0(pcVar6,PTR_s__color__0051d188,DAT_0051d198);
|
|
if (iVar3 == 0) {
|
|
if (local_10 != (char *)0x0) {
|
|
uVar8 = 0xffffffff;
|
|
pcVar7 = local_10;
|
|
do {
|
|
pcVar6 = pcVar7;
|
|
if (uVar8 == 0) break;
|
|
uVar8 = uVar8 - 1;
|
|
pcVar6 = pcVar7 + 1;
|
|
cVar1 = *pcVar7;
|
|
pcVar7 = pcVar6;
|
|
} while (cVar1 != '\0');
|
|
uVar8 = ~uVar8;
|
|
pcVar7 = pcVar6 + -uVar8;
|
|
pcVar6 = pcVar11;
|
|
for (uVar9 = uVar8 >> 2; uVar9 != 0; uVar9 = uVar9 - 1) {
|
|
*(undefined4 *)pcVar6 = *(undefined4 *)pcVar7;
|
|
pcVar7 = pcVar7 + 4;
|
|
pcVar6 = pcVar6 + 4;
|
|
}
|
|
for (uVar8 = uVar8 & 3; uVar8 != 0; uVar8 = uVar8 - 1) {
|
|
*pcVar6 = *pcVar7;
|
|
pcVar7 = pcVar7 + 1;
|
|
pcVar6 = pcVar6 + 1;
|
|
}
|
|
iVar3 = FUN_004d4a78(local_10);
|
|
pcVar11 = pcVar11 + iVar3;
|
|
}
|
|
pcVar7 = pcVar10 + DAT_0051d198;
|
|
}
|
|
else {
|
|
iVar3 = FUN_004d4ae0(pcVar6,PTR_s__badge__0051d18c,DAT_0051d1a0);
|
|
if (iVar3 == 0) {
|
|
if (local_14 != (char *)0x0) {
|
|
uVar8 = 0xffffffff;
|
|
pcVar7 = local_14;
|
|
do {
|
|
pcVar6 = pcVar7;
|
|
if (uVar8 == 0) break;
|
|
uVar8 = uVar8 - 1;
|
|
pcVar6 = pcVar7 + 1;
|
|
cVar1 = *pcVar7;
|
|
pcVar7 = pcVar6;
|
|
} while (cVar1 != '\0');
|
|
uVar8 = ~uVar8;
|
|
pcVar7 = pcVar6 + -uVar8;
|
|
pcVar6 = pcVar11;
|
|
for (uVar9 = uVar8 >> 2; uVar9 != 0; uVar9 = uVar9 - 1) {
|
|
*(undefined4 *)pcVar6 = *(undefined4 *)pcVar7;
|
|
pcVar7 = pcVar7 + 4;
|
|
pcVar6 = pcVar6 + 4;
|
|
}
|
|
for (uVar8 = uVar8 & 3; uVar8 != 0; uVar8 = uVar8 - 1) {
|
|
*pcVar6 = *pcVar7;
|
|
pcVar7 = pcVar7 + 1;
|
|
pcVar6 = pcVar6 + 1;
|
|
}
|
|
iVar3 = FUN_004d4a78(local_14);
|
|
pcVar11 = pcVar11 + iVar3;
|
|
}
|
|
pcVar7 = pcVar10 + DAT_0051d1a0;
|
|
}
|
|
else {
|
|
iVar3 = FUN_004d4ae0(pcVar6,PTR_s__patch__0051d190,DAT_0051d1a8);
|
|
if (iVar3 == 0) {
|
|
if (local_18 != (char *)0x0) {
|
|
uVar8 = 0xffffffff;
|
|
pcVar7 = local_18;
|
|
do {
|
|
pcVar6 = pcVar7;
|
|
if (uVar8 == 0) break;
|
|
uVar8 = uVar8 - 1;
|
|
pcVar6 = pcVar7 + 1;
|
|
cVar1 = *pcVar7;
|
|
pcVar7 = pcVar6;
|
|
} while (cVar1 != '\0');
|
|
uVar8 = ~uVar8;
|
|
pcVar7 = pcVar6 + -uVar8;
|
|
pcVar6 = pcVar11;
|
|
for (uVar9 = uVar8 >> 2; uVar9 != 0; uVar9 = uVar9 - 1) {
|
|
*(undefined4 *)pcVar6 = *(undefined4 *)pcVar7;
|
|
pcVar7 = pcVar7 + 4;
|
|
pcVar6 = pcVar6 + 4;
|
|
}
|
|
for (uVar8 = uVar8 & 3; uVar8 != 0; uVar8 = uVar8 - 1) {
|
|
*pcVar6 = *pcVar7;
|
|
pcVar7 = pcVar7 + 1;
|
|
pcVar6 = pcVar6 + 1;
|
|
}
|
|
iVar3 = FUN_004d4a78(local_18);
|
|
pcVar11 = pcVar11 + iVar3;
|
|
}
|
|
pcVar7 = pcVar10 + DAT_0051d1a8;
|
|
}
|
|
else {
|
|
pcVar7 = pcVar10 + 1;
|
|
*pcVar11 = *pcVar10;
|
|
pcVar11 = pcVar11 + 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (*pcVar7 == '\0') {
|
|
*pcVar11 = '\0';
|
|
}
|
|
else {
|
|
uVar8 = 0xffffffff;
|
|
do {
|
|
pcVar6 = pcVar7;
|
|
if (uVar8 == 0) break;
|
|
uVar8 = uVar8 - 1;
|
|
pcVar6 = pcVar7 + 1;
|
|
cVar1 = *pcVar7;
|
|
pcVar7 = pcVar6;
|
|
} while (cVar1 != '\0');
|
|
uVar8 = ~uVar8;
|
|
pcVar7 = pcVar6 + -uVar8;
|
|
for (uVar9 = uVar8 >> 2; uVar9 != 0; uVar9 = uVar9 - 1) {
|
|
*(undefined4 *)pcVar11 = *(undefined4 *)pcVar7;
|
|
pcVar7 = pcVar7 + 4;
|
|
pcVar11 = pcVar11 + 4;
|
|
}
|
|
for (uVar8 = uVar8 & 3; uVar8 != 0; uVar8 = uVar8 - 1) {
|
|
*pcVar11 = *pcVar7;
|
|
pcVar7 = pcVar7 + 1;
|
|
pcVar11 = pcVar11 + 1;
|
|
}
|
|
}
|
|
iVar3 = FUN_004d4a78(local_7c);
|
|
pcVar7 = (char *)FUN_004022b0(iVar3 + 1);
|
|
uVar8 = 0xffffffff;
|
|
pcVar11 = local_7c;
|
|
do {
|
|
pcVar6 = pcVar11;
|
|
if (uVar8 == 0) break;
|
|
uVar8 = uVar8 - 1;
|
|
pcVar6 = pcVar11 + 1;
|
|
cVar1 = *pcVar11;
|
|
pcVar11 = pcVar6;
|
|
} while (cVar1 != '\0');
|
|
uVar8 = ~uVar8;
|
|
pcVar11 = pcVar6 + -uVar8;
|
|
pcVar6 = pcVar7;
|
|
for (uVar9 = uVar8 >> 2; uVar9 != 0; uVar9 = uVar9 - 1) {
|
|
*(undefined4 *)pcVar6 = *(undefined4 *)pcVar11;
|
|
pcVar11 = pcVar11 + 4;
|
|
pcVar6 = pcVar6 + 4;
|
|
}
|
|
for (uVar8 = uVar8 & 3; uVar8 != 0; uVar8 = uVar8 - 1) {
|
|
*pcVar6 = *pcVar11;
|
|
pcVar11 = pcVar11 + 1;
|
|
pcVar6 = pcVar6 + 1;
|
|
}
|
|
local_c[1] = pcVar7;
|
|
}
|
|
FUN_00403ecc(local_8,3);
|
|
if (s_0GraphicGaugeBackground_0051d1b5[0] == '9') {
|
|
s_0GraphicGaugeBackground_0051d1b5[0] = 'A';
|
|
}
|
|
else {
|
|
s_0GraphicGaugeBackground_0051d1b5[0] = s_0GraphicGaugeBackground_0051d1b5[0] + '\x01';
|
|
}
|
|
FUN_0049664c(FUN_00459eb8);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d11e8 file=? name=FUN_004d11e8 */
|
|
|
|
void FUN_004d11e8(void)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
FUN_0049664c(0);
|
|
if (DAT_004f1aac != (undefined4 *)0x0) {
|
|
for (puVar1 = (undefined4 *)DAT_004f1aac[1]; puVar1 != (undefined4 *)0x0;
|
|
puVar1 = (undefined4 *)*puVar1) {
|
|
if ((int *)puVar1[1] != (int *)0x0) {
|
|
FUN_004022d0((int *)puVar1[1]);
|
|
puVar1[1] = 0;
|
|
}
|
|
}
|
|
if (DAT_004f1aac != (undefined4 *)0x0) {
|
|
(**(code **)*DAT_004f1aac)(DAT_004f1aac,3);
|
|
}
|
|
DAT_004f1aac = (undefined4 *)0x0;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d123b file=? name=FUN_004d123b */
|
|
|
|
undefined4 * __cdecl FUN_004d123b(undefined4 *param_1,undefined4 param_2)
|
|
|
|
{
|
|
FUN_0041827c(param_1,param_2);
|
|
*param_1 = &PTR_FUN_0051daec;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004d125a file=? name=FUN_004d125a */
|
|
|
|
void __cdecl FUN_004d125a(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051daec;
|
|
FUN_004182a8(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d1286 file=? name=FUN_004d1286 */
|
|
|
|
undefined4 * __cdecl FUN_004d1286(undefined4 *param_1,int param_2)
|
|
|
|
{
|
|
FUN_00418398(param_1,param_2);
|
|
*param_1 = &PTR_FUN_0051da98;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004d12a5 file=? name=FUN_004d12a5 */
|
|
|
|
undefined4 * __cdecl FUN_004d12a5(undefined4 *param_1,int param_2)
|
|
|
|
{
|
|
FUN_00418398(param_1,param_2);
|
|
*param_1 = &PTR_FUN_0051da98;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004d12c4 file=? name=FUN_004d12c4 */
|
|
|
|
undefined4 * __cdecl FUN_004d12c4(undefined4 *param_1,int param_2)
|
|
|
|
{
|
|
FUN_004183c0(param_1,param_2);
|
|
*param_1 = &PTR_FUN_0051da98;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004d12e3 file=? name=FUN_004d12e3 */
|
|
|
|
void __cdecl FUN_004d12e3(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051da98;
|
|
FUN_004183ec(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d130f file=? name=FUN_004d130f */
|
|
|
|
void __cdecl FUN_004d130f(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051db40;
|
|
FUN_00415ed8(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d133c file=? name=FUN_004d133c */
|
|
|
|
void __cdecl FUN_004d133c(int param_1,char *param_2,undefined4 param_3)
|
|
|
|
{
|
|
int *piVar1;
|
|
undefined4 local_24;
|
|
undefined4 local_20;
|
|
undefined4 local_1c;
|
|
undefined4 local_18;
|
|
undefined4 local_14;
|
|
undefined4 local_10;
|
|
undefined4 local_c;
|
|
undefined4 local_8;
|
|
|
|
piVar1 = (int *)FUN_0041f98c(param_1,param_2);
|
|
if (piVar1 == (int *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_SendFakeButtonEvents__subsystem___0051e1b6,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,param_2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s___not_found_0051e1d8,(char *)0x0);
|
|
}
|
|
else {
|
|
local_14 = 0x10;
|
|
local_10 = param_3;
|
|
local_c = 1;
|
|
local_8 = 1;
|
|
(**(code **)(*piVar1 + 0xc))(piVar1,&local_14);
|
|
local_24 = 0x10;
|
|
local_20 = param_3;
|
|
local_1c = 1;
|
|
local_18 = 0xffffffff;
|
|
(**(code **)(*piVar1 + 0xc))(piVar1,&local_24);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d13f0 file=? name=FUN_004d13f0 */
|
|
|
|
void __cdecl FUN_004d13f0(char *param_1,undefined4 param_2)
|
|
|
|
{
|
|
int *piVar1;
|
|
|
|
piVar1 = (int *)FUN_0041f98c(*(int *)(DAT_004efc94 + 0x6c),param_1);
|
|
if (piVar1 != (int *)0x0) {
|
|
(**(code **)(*piVar1 + 0x20))(piVar1,param_2);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d141c file=? name=FUN_004d141c */
|
|
|
|
void __cdecl FUN_004d141c(int param_1,int param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 local_14;
|
|
undefined4 local_10;
|
|
undefined4 local_c;
|
|
undefined4 local_8;
|
|
|
|
iVar1 = *(int *)(param_2 + 0xc);
|
|
if (iVar1 < 0x166) {
|
|
if (iVar1 == 0x165) {
|
|
FUN_004d13f0(s_LRM15_0051e259,0);
|
|
}
|
|
else if (iVar1 < 0x162) {
|
|
if (iVar1 == 0x161) {
|
|
FUN_004d13f0(s_GeneratorD_0051e230,0);
|
|
}
|
|
else if (iVar1 == 0x5c) {
|
|
local_14 = 0x10;
|
|
local_10 = 0x19;
|
|
local_c = 1;
|
|
local_8 = 1;
|
|
FUN_00419bbc(*(int *)(param_1 + 0xd0),(int)&local_14);
|
|
}
|
|
else if (iVar1 == 0x15e) {
|
|
FUN_004d13f0(s_GeneratorA_0051e20f,0);
|
|
}
|
|
else if (iVar1 == 0x15f) {
|
|
FUN_004d13f0(s_GeneratorB_0051e21a,0);
|
|
}
|
|
else if (iVar1 == 0x160) {
|
|
FUN_004d13f0(s_GeneratorC_0051e225,0);
|
|
}
|
|
}
|
|
else if (iVar1 == 0x162) {
|
|
FUN_004d13f0(s_Condenser1_0051e23b,0);
|
|
}
|
|
else if (iVar1 == 0x163) {
|
|
FUN_004d13f0(s_LRM15_0051e246,2);
|
|
}
|
|
else if (iVar1 == 0x164) {
|
|
FUN_004d13f0(s_AmmoBinLRM15_0051e24c,1);
|
|
}
|
|
}
|
|
else {
|
|
switch(iVar1) {
|
|
case 0x166:
|
|
FUN_004d13f0(s_Avionics_0051e25f,0);
|
|
break;
|
|
case 0x167:
|
|
FUN_004d13f0(&DAT_0051e268,0);
|
|
break;
|
|
case 0x168:
|
|
FUN_004d13f0(s_GeneratorA_0051e26c,1);
|
|
break;
|
|
case 0x169:
|
|
FUN_004d13f0(s_GeneratorB_0051e277,1);
|
|
break;
|
|
case 0x16a:
|
|
FUN_004d13f0(s_GeneratorC_0051e282,1);
|
|
break;
|
|
case 0x16b:
|
|
FUN_004d13f0(s_GeneratorD_0051e28d,1);
|
|
break;
|
|
case 0x16c:
|
|
FUN_004d13f0(s_Condenser1_0051e298,1);
|
|
break;
|
|
case 0x185:
|
|
if (*(int *)(DAT_004efc94 + 0x4c) != 0) {
|
|
FUN_00448654(*(int *)(DAT_004efc94 + 0x4c));
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d168c file=? name=FUN_004d168c */
|
|
|
|
void __cdecl FUN_004d168c(int param_1,int param_2)
|
|
|
|
{
|
|
int *piVar1;
|
|
undefined4 local_98;
|
|
undefined4 local_94;
|
|
undefined4 local_90;
|
|
undefined4 local_8c [2];
|
|
undefined4 local_84;
|
|
undefined4 local_80;
|
|
undefined4 local_7c [2];
|
|
undefined4 local_74;
|
|
undefined4 local_70;
|
|
undefined4 local_6c;
|
|
undefined4 local_68;
|
|
undefined4 local_64;
|
|
undefined4 local_60;
|
|
undefined4 local_5c;
|
|
undefined4 local_58;
|
|
undefined4 local_54;
|
|
undefined4 local_50;
|
|
undefined4 local_4c;
|
|
undefined4 local_48;
|
|
undefined4 local_44;
|
|
undefined4 local_40;
|
|
undefined4 local_3c;
|
|
undefined4 local_38;
|
|
undefined4 local_34;
|
|
undefined4 local_30;
|
|
undefined4 local_2c;
|
|
undefined4 local_28;
|
|
undefined4 local_24;
|
|
undefined4 local_20;
|
|
undefined4 local_1c;
|
|
undefined4 local_18;
|
|
undefined4 local_14;
|
|
undefined4 local_10;
|
|
undefined4 local_c;
|
|
undefined4 local_8;
|
|
|
|
piVar1 = *(int **)(param_1 + 0xd0);
|
|
if (*(int *)(param_2 + 0xc) == 1) {
|
|
FUN_0041db7c((int)&local_34);
|
|
local_34 = 2;
|
|
local_30 = 0x47c35000;
|
|
local_8 = 0;
|
|
FUN_00408440(&local_14,piVar1 + 0x40);
|
|
local_98 = 100;
|
|
local_94 = 0x12;
|
|
local_90 = 1;
|
|
FUN_00420ea4(local_8c,(undefined4 *)&DAT_00522524);
|
|
local_84 = 0;
|
|
local_80 = 0;
|
|
FUN_00420ea4(local_7c,piVar1 + 0x61);
|
|
local_74 = 0xffffffff;
|
|
local_70 = 1;
|
|
local_6c = local_34;
|
|
local_68 = local_30;
|
|
local_64 = local_2c;
|
|
local_60 = local_28;
|
|
local_5c = local_24;
|
|
local_58 = local_20;
|
|
local_54 = local_1c;
|
|
local_50 = local_18;
|
|
local_4c = local_14;
|
|
local_48 = local_10;
|
|
local_44 = local_c;
|
|
local_40 = local_8;
|
|
local_3c = 0xffffffff;
|
|
local_38 = 1;
|
|
(**(code **)(*piVar1 + 0xc))(piVar1,&local_98);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d17ac file=? name=FUN_004d17ac */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004d17ac(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int *param_4,
|
|
undefined4 param_5,undefined4 param_6)
|
|
|
|
{
|
|
int *piVar1;
|
|
|
|
param_4[3] = param_4[3] + 1;
|
|
FUN_004b02f0(param_1,param_2,param_3,param_4,param_5,param_6);
|
|
*param_1 = &PTR_FUN_0051e440;
|
|
param_1[0x6a] = 0;
|
|
param_1[0x68] = 0x40000000;
|
|
param_1[0x69] = 0x40000000;
|
|
piVar1 = param_4 + 3;
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_004024d8(param_4,3);
|
|
}
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004d1814 file=? name=FUN_004d1814 */
|
|
|
|
void __cdecl FUN_004d1814(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051e440;
|
|
FUN_004b044c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d1840 file=? name=FUN_004d1840 */
|
|
|
|
void __cdecl
|
|
FUN_004d1840(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5
|
|
,undefined4 param_6,undefined4 param_7)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
|
|
piVar1 = *(int **)(DAT_004efc94 + 0x3c);
|
|
(**(code **)(*piVar1 + 0x20))(piVar1,param_3,param_4,param_4,param_7,0x10000,0x8000);
|
|
(**(code **)(piVar1[param_2 * 8 + 0x70] + 0x14))
|
|
(piVar1 + param_2 * 8 + 0x70,0x8000,param_4,param_6,param_4);
|
|
iVar2 = 0x40;
|
|
do {
|
|
if (iVar2 == 0x41) {
|
|
iVar2 = 0x45;
|
|
}
|
|
(**(code **)(piVar1[iVar2 * 8 + 0x70] + 0x14))
|
|
(piVar1 + iVar2 * 8 + 0x70,0x8000,param_4,param_5,param_4);
|
|
iVar2 = iVar2 + 1;
|
|
} while (iVar2 < 0x48);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d18dc file=? name=FUN_004d18dc */
|
|
|
|
void __cdecl FUN_004d18dc(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
|
|
piVar1 = *(int **)(DAT_004efc94 + 0x3c);
|
|
(**(code **)(*piVar1 + 0x24))(piVar1,0x8000,0x10000);
|
|
(**(code **)(piVar1[param_2 * 8 + 0x70] + 0xc))(piVar1 + param_2 * 8 + 0x70,0x8000);
|
|
iVar2 = 0x40;
|
|
do {
|
|
if (iVar2 == 0x41) {
|
|
iVar2 = 0x45;
|
|
}
|
|
(**(code **)(piVar1[iVar2 * 8 + 0x70] + 0xc))(piVar1 + iVar2 * 8 + 0x70,0x8000);
|
|
iVar2 = iVar2 + 1;
|
|
} while (iVar2 < 0x48);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d195c file=? name=FUN_004d195c */
|
|
|
|
void FUN_004d195c(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d1964 file=? name=FUN_004d1964 */
|
|
|
|
void FUN_004d1964(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d196c file=? name=FUN_004d196c */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004d196c(int param_1,float param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
float10 fVar3;
|
|
|
|
fVar3 = FUN_004dcd00((double)(*(float *)(param_1 + 0x11c) - _DAT_004d1ac0));
|
|
if (fVar3 <= (float10)_DAT_004d1ac4) {
|
|
*(undefined4 *)(param_1 + 0x11c) = 0x3f800000;
|
|
}
|
|
FUN_004b0600(param_1);
|
|
iVar1 = *(int *)(*(int *)(param_1 + 0xd0) + 0x414);
|
|
if (iVar1 != *(int *)(param_1 + 0x1a8)) {
|
|
*(int *)(param_1 + 0x1a8) = iVar1;
|
|
iVar2 = *(int *)(DAT_004efc94 + 0x50);
|
|
if (iVar1 == 0) {
|
|
*(undefined4 *)(iVar2 + 8) = *(undefined4 *)(iVar2 + 4);
|
|
*(uint *)(iVar2 + 4) = *(uint *)(iVar2 + 4) & 0xffdfffff;
|
|
}
|
|
else {
|
|
*(undefined4 *)(iVar2 + 8) = *(undefined4 *)(iVar2 + 4);
|
|
*(uint *)(iVar2 + 4) = *(uint *)(iVar2 + 4) | 0x200000;
|
|
}
|
|
}
|
|
if (*(float *)(param_1 + 0x1a0) != *(float *)(param_1 + 0x1a4)) {
|
|
if (*(float *)(param_1 + 0x1a0) <= *(float *)(param_1 + 0x1a4)) {
|
|
*(float *)(param_1 + 0x1a4) = *(float *)(param_1 + 0x1a4) - param_2;
|
|
if (*(float *)(param_1 + 0x1a4) < *(float *)(param_1 + 0x1a0)) {
|
|
*(undefined4 *)(param_1 + 0x1a4) = *(undefined4 *)(param_1 + 0x1a0);
|
|
}
|
|
}
|
|
else {
|
|
*(float *)(param_1 + 0x1a4) = param_2 + *(float *)(param_1 + 0x1a4);
|
|
if (*(float *)(param_1 + 0x1a0) < *(float *)(param_1 + 0x1a4)) {
|
|
*(undefined4 *)(param_1 + 0x1a4) = *(undefined4 *)(param_1 + 0x1a0);
|
|
}
|
|
}
|
|
iVar1 = *(int *)(param_1 + 0xd0);
|
|
fVar3 = FUN_004dce94(2.0,SUB84((double)*(float *)(param_1 + 0x1a4),0),
|
|
(uint)((ulonglong)(double)*(float *)(param_1 + 0x1a4) >> 0x20));
|
|
*(float *)(iVar1 + 0x404) = (float)(fVar3 * (float10)_DAT_004d1ac8);
|
|
}
|
|
FUN_004afd10(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d1acc file=? name=FUN_004d1acc */
|
|
|
|
void FUN_004d1acc(void)
|
|
|
|
{
|
|
FUN_004b048c();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d1ae4 file=? name=FUN_004d1ae4 */
|
|
|
|
void __cdecl FUN_004d1ae4(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
uint uVar2;
|
|
|
|
iVar1 = *(int *)(DAT_004efc94 + 0x50);
|
|
*(undefined4 *)(iVar1 + 8) = *(undefined4 *)(iVar1 + 4);
|
|
*(uint *)(iVar1 + 4) = *(uint *)(iVar1 + 4) & 0xffe3ffff;
|
|
uVar2 = *(uint *)(&DAT_0051dbe4 + param_2 * 4);
|
|
*(undefined4 *)(iVar1 + 8) = *(undefined4 *)(iVar1 + 4);
|
|
*(uint *)(iVar1 + 4) = *(uint *)(iVar1 + 4) | uVar2;
|
|
FUN_004b0494();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d1b24 file=? name=FUN_004d1b24 */
|
|
|
|
void __cdecl FUN_004d1b24(undefined4 param_1,int param_2,int param_3)
|
|
|
|
{
|
|
int iVar1;
|
|
uint uVar2;
|
|
int iVar3;
|
|
|
|
iVar3 = param_2 * 5 + param_3;
|
|
iVar1 = *(int *)(DAT_004efc94 + 0x50);
|
|
uVar2 = *(uint *)(&DAT_0051dbf0 + iVar3 * 8);
|
|
*(undefined4 *)(iVar1 + 8) = *(undefined4 *)(iVar1 + 4);
|
|
*(uint *)(iVar1 + 4) = *(uint *)(iVar1 + 4) & ~uVar2;
|
|
uVar2 = *(uint *)(&DAT_0051dbf4 + iVar3 * 8);
|
|
*(undefined4 *)(iVar1 + 8) = *(undefined4 *)(iVar1 + 4);
|
|
*(uint *)(iVar1 + 4) = *(uint *)(iVar1 + 4) | uVar2;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d1b64 file=? name=FUN_004d1b64 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004d1b64(int param_1)
|
|
|
|
{
|
|
float fVar1;
|
|
|
|
fVar1 = *(float *)(param_1 + 0x1a0) - _DAT_004d1b94;
|
|
*(float *)(param_1 + 0x1a0) = fVar1;
|
|
if (fVar1 < _DAT_004d1b98) {
|
|
*(undefined4 *)(param_1 + 0x1a0) = 0;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d1b9c file=? name=FUN_004d1b9c */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004d1b9c(int param_1)
|
|
|
|
{
|
|
float fVar1;
|
|
|
|
fVar1 = _DAT_004d1bcc + *(float *)(param_1 + 0x1a0);
|
|
*(float *)(param_1 + 0x1a0) = fVar1;
|
|
if (_DAT_004d1bd0 < fVar1) {
|
|
*(undefined4 *)(param_1 + 0x1a0) = 0x40a00000;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d1bf0 file=? name=FUN_004d1bf0 */
|
|
|
|
void __cdecl FUN_004d1bf0(int *param_1,int param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 local_24;
|
|
undefined4 local_20;
|
|
undefined4 local_1c;
|
|
undefined4 local_18;
|
|
undefined4 local_14;
|
|
undefined4 local_10;
|
|
undefined4 local_c;
|
|
undefined4 local_8;
|
|
|
|
iVar1 = *(int *)(param_2 + 0xc);
|
|
if (iVar1 < 0x71) {
|
|
if (iVar1 == 0x70) {
|
|
FUN_004b04d8((int)param_1,0);
|
|
return;
|
|
}
|
|
switch(iVar1) {
|
|
case 0x2b:
|
|
FUN_004d1b64((int)param_1);
|
|
return;
|
|
case 0x2d:
|
|
FUN_004d1b9c((int)param_1);
|
|
return;
|
|
case 0x31:
|
|
FUN_004d1b24(param_1,0,1);
|
|
return;
|
|
case 0x32:
|
|
FUN_004d1b24(param_1,0,2);
|
|
return;
|
|
case 0x33:
|
|
FUN_004d1b24(param_1,0,3);
|
|
return;
|
|
case 0x34:
|
|
FUN_004d1b24(param_1,0,4);
|
|
return;
|
|
case 0x35:
|
|
FUN_004d1b24(param_1,0,0);
|
|
return;
|
|
case 0x61:
|
|
FUN_004d1b24(param_1,1,1);
|
|
return;
|
|
case 0x62:
|
|
FUN_004d1b24(param_1,2,0);
|
|
return;
|
|
case 99:
|
|
FUN_004d1b24(param_1,2,3);
|
|
return;
|
|
case 100:
|
|
FUN_004d1b24(param_1,1,3);
|
|
return;
|
|
case 0x65:
|
|
FUN_004b049c((int)param_1,1);
|
|
return;
|
|
case 0x66:
|
|
FUN_004d1b24(param_1,1,4);
|
|
return;
|
|
case 0x67:
|
|
FUN_004d1b24(param_1,1,0);
|
|
return;
|
|
case 0x69:
|
|
FUN_004b049c((int)param_1,6);
|
|
return;
|
|
case 0x6a:
|
|
FUN_004d133c(param_1[0x34],s_LRM10_0051e2e3,0xb);
|
|
return;
|
|
case 0x6c:
|
|
FUN_004d133c(param_1[0x34],s_Searchlight_0051e2d7,3);
|
|
return;
|
|
case 0x6f:
|
|
FUN_004b049c((int)param_1,7);
|
|
return;
|
|
}
|
|
}
|
|
else if (iVar1 < 0x13c) {
|
|
if (iVar1 == 0x13b) {
|
|
FUN_00476e34(*(int *)(DAT_004efc94 + 0x3c));
|
|
return;
|
|
}
|
|
switch(iVar1) {
|
|
case 0x72:
|
|
FUN_004b049c((int)param_1,2);
|
|
return;
|
|
case 0x73:
|
|
FUN_004d1b24(param_1,1,2);
|
|
return;
|
|
case 0x74:
|
|
FUN_004b049c((int)param_1,3);
|
|
return;
|
|
case 0x75:
|
|
FUN_004b049c((int)param_1,5);
|
|
return;
|
|
case 0x76:
|
|
FUN_004d1b24(param_1,2,4);
|
|
return;
|
|
case 0x77:
|
|
FUN_004b049c((int)param_1,0);
|
|
return;
|
|
case 0x78:
|
|
FUN_004d1b24(param_1,2,2);
|
|
return;
|
|
case 0x79:
|
|
FUN_004b049c((int)param_1,4);
|
|
return;
|
|
case 0x7a:
|
|
FUN_004d1b24(param_1,2,1);
|
|
return;
|
|
}
|
|
}
|
|
else if (iVar1 < 0x14c) {
|
|
if (iVar1 == 0x14b) {
|
|
param_1[0x4c] = -1;
|
|
param_1[0x4d] = 1;
|
|
param_1[0x4e] = -1;
|
|
param_1[0x4f] = -1;
|
|
param_1[0x50] = -1;
|
|
return;
|
|
}
|
|
if (iVar1 == 0x13c) {
|
|
FUN_00476e54(*(int *)(DAT_004efc94 + 0x3c));
|
|
return;
|
|
}
|
|
if (iVar1 == 0x13d) {
|
|
local_14 = 0x10;
|
|
local_10 = 0;
|
|
local_c = 1;
|
|
local_8 = 1;
|
|
FUN_004afbe0(param_1,(int)&local_14);
|
|
return;
|
|
}
|
|
if (iVar1 == 0x13e) {
|
|
local_24 = 0x10;
|
|
local_20 = 0;
|
|
local_1c = 1;
|
|
local_18 = 1;
|
|
FUN_004afcac(param_1,(int)&local_24);
|
|
return;
|
|
}
|
|
if (iVar1 == 0x148) {
|
|
param_1[0x4c] = 1;
|
|
param_1[0x4d] = -1;
|
|
param_1[0x4e] = -1;
|
|
param_1[0x4f] = -1;
|
|
param_1[0x50] = -1;
|
|
return;
|
|
}
|
|
}
|
|
else {
|
|
if (iVar1 == 0x14d) {
|
|
param_1[0x4c] = -1;
|
|
param_1[0x4d] = -1;
|
|
param_1[0x4e] = 1;
|
|
param_1[0x4f] = -1;
|
|
param_1[0x50] = -1;
|
|
return;
|
|
}
|
|
if (iVar1 == 0x150) {
|
|
param_1[0x4c] = -1;
|
|
param_1[0x4d] = -1;
|
|
param_1[0x4e] = -1;
|
|
param_1[0x4f] = 1;
|
|
param_1[0x50] = -1;
|
|
return;
|
|
}
|
|
if (iVar1 == 0x18d) {
|
|
param_1[0x4c] = -1;
|
|
param_1[0x4d] = -1;
|
|
param_1[0x4e] = -1;
|
|
param_1[0x4f] = -1;
|
|
param_1[0x50] = 1;
|
|
return;
|
|
}
|
|
}
|
|
FUN_004d141c((int)param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d2150 file=? name=FUN_004d2150 */
|
|
|
|
void __cdecl FUN_004d2150(int param_1,float param_2)
|
|
|
|
{
|
|
if (*(int *)(param_1 + 0x1ac) < 1) {
|
|
if (*(int *)(param_1 + 0x1b0) < 1) {
|
|
*(undefined4 *)(param_1 + 0x124) = 0;
|
|
*(undefined4 *)(param_1 + 0x11c) = 0;
|
|
}
|
|
else {
|
|
*(undefined4 *)(param_1 + 0x11c) = 0x3f800000;
|
|
*(undefined4 *)(param_1 + 0x124) = 1;
|
|
}
|
|
}
|
|
else {
|
|
*(undefined4 *)(param_1 + 0x11c) = 0x3f800000;
|
|
*(undefined4 *)(param_1 + 0x124) = 0;
|
|
}
|
|
*(float *)(param_1 + 0x120) = (float)(*(int *)(param_1 + 0x1b4) - *(int *)(param_1 + 0x1b8));
|
|
FUN_004d196c(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d21d0 file=? name=FUN_004d21d0 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004d21d0(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int *param_4,
|
|
undefined4 param_5,undefined4 param_6)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
|
|
param_4[3] = param_4[3] + 1;
|
|
FUN_004d17ac(param_1,param_2,param_3,param_4,param_5,param_6);
|
|
*param_1 = &PTR_FUN_0051e3f0;
|
|
param_1[7] = PTR_FUN_0051dcc4;
|
|
param_1[8] = DAT_0051dcc8;
|
|
param_1[9] = DAT_0051dccc;
|
|
param_1[0x6b] = 0;
|
|
param_1[0x6c] = 0;
|
|
param_1[0x6d] = 0;
|
|
param_1[0x6e] = 0;
|
|
iVar2 = *(int *)(DAT_004efc94 + 0x3c);
|
|
(**(code **)(*(int *)(iVar2 + 0xa00) + 0x18))(iVar2 + 0xa00,0xffffffff,param_1 + 0x6b,param_1);
|
|
(**(code **)(*(int *)(iVar2 + 0x9e0) + 0x18))(iVar2 + 0x9e0,0xffffffff,param_1 + 0x6c,param_1);
|
|
(**(code **)(*(int *)(iVar2 + 0x1a0) + 0x14))(iVar2 + 0x1a0,0xffffffff,param_1,0x17,param_1);
|
|
piVar1 = param_4 + 3;
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_004024d8(param_4,3);
|
|
}
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004d22b4 file=? name=FUN_004d22b4 */
|
|
|
|
void __cdecl FUN_004d22b4(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051e3f0;
|
|
FUN_004d1814(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d22e0 file=? name=FUN_004d22e0 */
|
|
|
|
void __cdecl FUN_004d22e0(int param_1)
|
|
|
|
{
|
|
FUN_0041a1a4(**(int **)(param_1 + 0xc),0x51dc78);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d22fc file=? name=FUN_004d22fc */
|
|
|
|
void __cdecl FUN_004d22fc(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,0,0);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d231c file=? name=FUN_004d231c */
|
|
|
|
void __cdecl FUN_004d231c(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,0,1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d233c file=? name=FUN_004d233c */
|
|
|
|
void __cdecl FUN_004d233c(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,0,2);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d235c file=? name=FUN_004d235c */
|
|
|
|
void __cdecl FUN_004d235c(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,0,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d237c file=? name=FUN_004d237c */
|
|
|
|
void __cdecl FUN_004d237c(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,0,4);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d239c file=? name=FUN_004d239c */
|
|
|
|
void __cdecl FUN_004d239c(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,1,0);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d23bc file=? name=FUN_004d23bc */
|
|
|
|
void __cdecl FUN_004d23bc(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,1,1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d23dc file=? name=FUN_004d23dc */
|
|
|
|
void __cdecl FUN_004d23dc(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,1,2);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d23fc file=? name=FUN_004d23fc */
|
|
|
|
void __cdecl FUN_004d23fc(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,1,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d241c file=? name=FUN_004d241c */
|
|
|
|
void __cdecl FUN_004d241c(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,1,4);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d243c file=? name=FUN_004d243c */
|
|
|
|
void __cdecl FUN_004d243c(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,2,0);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d245c file=? name=FUN_004d245c */
|
|
|
|
void __cdecl FUN_004d245c(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,2,1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d247c file=? name=FUN_004d247c */
|
|
|
|
void __cdecl FUN_004d247c(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,2,2);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d249c file=? name=FUN_004d249c */
|
|
|
|
void __cdecl FUN_004d249c(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,2,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d24bc file=? name=FUN_004d24bc */
|
|
|
|
void __cdecl FUN_004d24bc(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b24(param_1,2,4);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d24dc file=? name=FUN_004d24dc */
|
|
|
|
void __cdecl FUN_004d24dc(int param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b64(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d24f8 file=? name=FUN_004d24f8 */
|
|
|
|
void __cdecl FUN_004d24f8(int param_1,int param_2)
|
|
|
|
{
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
FUN_004d1b9c(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d2514 file=? name=FUN_004d2514 */
|
|
|
|
void __cdecl FUN_004d2514(int param_1,int param_2)
|
|
|
|
{
|
|
if (*(int *)(param_2 + 0xc) == 0x13b) {
|
|
FUN_00476e8c(*(int *)(DAT_004efc94 + 0x3c));
|
|
FUN_0041bbd8(*(int *)(param_1 + 0xd0) + 0x2c,0);
|
|
return;
|
|
}
|
|
if (*(int *)(param_2 + 0xc) != 0x186) {
|
|
FUN_004d141c(param_1,param_2);
|
|
return;
|
|
}
|
|
FUN_0044e6c0(DAT_004efc94);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d2574 file=? name=FUN_004d2574 */
|
|
|
|
void __cdecl FUN_004d2574(int param_1,int param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
|
|
if (0 < *(int *)(param_2 + 0xc)) {
|
|
piVar2 = &DAT_0051dcd0;
|
|
iVar1 = 0;
|
|
do {
|
|
if (*(int *)(param_2 + 0xc) + -1 == *piVar2) {
|
|
if (iVar1 < 7) {
|
|
FUN_004b049c(param_1,iVar1 + 1);
|
|
return;
|
|
}
|
|
FUN_004b04d8(param_1,0);
|
|
return;
|
|
}
|
|
iVar1 = iVar1 + 1;
|
|
piVar2 = piVar2 + 1;
|
|
} while (iVar1 < 8);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d25c0 file=? name=FUN_004d25c0 */
|
|
|
|
void __cdecl FUN_004d25c0(int param_1,float param_2)
|
|
|
|
{
|
|
*(float *)(param_1 + 0x120) = *(float *)(param_1 + 0x1b4) - *(float *)(param_1 + 0x1b8);
|
|
FUN_004d196c(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d25e8 file=? name=FUN_004d25e8 */
|
|
|
|
void __cdecl FUN_004d25e8(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
iVar1 = (param_2 + -1) * 0x20;
|
|
(**(code **)(*(int *)(*(int *)(DAT_004efc94 + 0x3c) + 0x1c0 + iVar1) + 0x1c))
|
|
(iVar1 + *(int *)(DAT_004efc94 + 0x3c) + 0x1c0,0x10000,param_3,param_4,param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d262c file=? name=FUN_004d262c */
|
|
|
|
void __cdecl FUN_004d262c(undefined4 param_1,int param_2,undefined4 param_3)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
iVar1 = (param_2 + -1) * 0x20;
|
|
(**(code **)(*(int *)(*(int *)(DAT_004efc94 + 0x3c) + 0x1c0 + iVar1) + 0x20))
|
|
(iVar1 + *(int *)(DAT_004efc94 + 0x3c) + 0x1c0,0x10000,param_3,param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d266c file=? name=FUN_004d266c */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_004d266c(undefined4 *param_1,undefined4 param_2,undefined4 param_3,int *param_4,
|
|
undefined4 param_5,undefined4 param_6)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
int local_8;
|
|
|
|
param_4[3] = param_4[3] + 1;
|
|
FUN_004d17ac(param_1,param_2,param_3,param_4,param_5,param_6);
|
|
*param_1 = &PTR_FUN_0051e3a0;
|
|
param_1[7] = PTR_FUN_0051deb4;
|
|
param_1[8] = DAT_0051deb8;
|
|
param_1[9] = DAT_0051debc;
|
|
param_1[0x6b] = 0;
|
|
param_1[0x6c] = 0;
|
|
param_1[0x6d] = 0;
|
|
param_1[0x6e] = 0;
|
|
iVar1 = *(int *)(DAT_004efc94 + 0x3c);
|
|
(**(code **)(*(int *)(iVar1 + 0x1a0) + 0x14))(iVar1 + 0x1a0,0xffffffff,param_1,0x19,param_1);
|
|
(**(code **)(*(int *)(iVar1 + 0x44) + 0x18))(iVar1 + 0x44,0xffffffff,param_1 + 0x6d,param_1);
|
|
(**(code **)(*(int *)(iVar1 + 100) + 0x18))(iVar1 + 100,0xffffffff,param_1 + 0x6e,param_1);
|
|
(**(code **)(*(int *)(iVar1 + 0x960) + 0x14))(iVar1 + 0x960,0x200000,param_2,0x19,param_1);
|
|
piVar2 = FUN_00476fc0(iVar1,0x3d,0x200000);
|
|
if (piVar2 != (int *)0x0) {
|
|
FUN_00444e64(piVar2,1);
|
|
}
|
|
piVar2 = &DAT_0051dcd0;
|
|
local_8 = 0;
|
|
do {
|
|
(**(code **)(*(int *)(iVar1 + 0x1c0 + *piVar2 * 0x20) + 0x14))
|
|
(*piVar2 * 0x20 + iVar1 + 0x1c0,0xffffffff,param_1,0x1a,param_1);
|
|
FUN_00476fc0(iVar1,*piVar2,0xffffffff);
|
|
local_8 = local_8 + 1;
|
|
piVar2 = piVar2 + 1;
|
|
} while (local_8 < 8);
|
|
piVar2 = param_4 + 3;
|
|
*piVar2 = *piVar2 + -1;
|
|
if (*piVar2 == 0) {
|
|
FUN_004024d8(param_4,3);
|
|
}
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004d27cc file=? name=FUN_004d27cc */
|
|
|
|
void __cdecl FUN_004d27cc(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051e3a0;
|
|
FUN_004d1814(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d27f8 file=? name=FUN_004d27f8 */
|
|
|
|
void __cdecl FUN_004d27f8(int param_1)
|
|
|
|
{
|
|
FUN_0041a1a4(**(int **)(param_1 + 0xc),0x51dd00);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d29fc file=? name=FUN_004d29fc */
|
|
|
|
undefined4 * __cdecl FUN_004d29fc(undefined4 *param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
undefined4 *puVar3;
|
|
|
|
FUN_00436b1c(param_1);
|
|
*param_1 = &PTR_FUN_0051e568;
|
|
puVar2 = &DAT_004e107c;
|
|
puVar3 = param_1 + 0x16;
|
|
for (iVar1 = 0xc; iVar1 != 0; iVar1 = iVar1 + -1) {
|
|
*puVar3 = *puVar2;
|
|
puVar2 = puVar2 + 1;
|
|
puVar3 = puVar3 + 1;
|
|
}
|
|
param_1[0x14] = 0;
|
|
param_1[0x15] = 0;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004d2a34 file=? name=FUN_004d2a34 */
|
|
|
|
void __cdecl FUN_004d2a34(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051e568;
|
|
FUN_00436b9c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d2a60 file=? name=FUN_004d2a60 */
|
|
|
|
void __cdecl FUN_004d2a60(int param_1,int param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
uint *puVar2;
|
|
|
|
FUN_00436bd8(param_1,param_2);
|
|
*(undefined4 *)(param_1 + 0x50) = 0;
|
|
iVar1 = FUN_0041a1a4(**(int **)(param_2 + 0xc),0x4e4afc);
|
|
if (iVar1 != 0) {
|
|
puVar2 = (uint *)FUN_00402298(0x10);
|
|
if (puVar2 == (uint *)0x0) {
|
|
puVar2 = (uint *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00402460(puVar2,s_siteeyepoint_0051e4d1);
|
|
}
|
|
puVar2[3] = puVar2[3] + 1;
|
|
iVar1 = FUN_00424b60(param_2,(int *)puVar2);
|
|
*(int *)(param_1 + 0x54) = iVar1;
|
|
if (iVar1 != 0) {
|
|
*(undefined4 *)(param_1 + 0x50) = 1;
|
|
FUN_004d2ae4(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d2ae4 file=? name=FUN_004d2ae4 */
|
|
|
|
void __cdecl FUN_004d2ae4(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 local_34 [12];
|
|
|
|
if (*(int *)(param_1 + 0x50) == 0) {
|
|
FUN_00436c08(local_34,param_1);
|
|
FUN_0040ab28((undefined4 *)(param_1 + 0x58),local_34);
|
|
}
|
|
else {
|
|
iVar1 = FUN_00417ab4(param_1 + 8);
|
|
FUN_00424da8(iVar1,*(int *)(param_1 + 0x54),(float *)(param_1 + 0x58));
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d2b34 file=? name=FUN_004d2b34 */
|
|
|
|
void __cdecl FUN_004d2b34(int param_1)
|
|
|
|
{
|
|
FUN_00436c38(param_1);
|
|
FUN_004d2ae4(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d2b4c file=? name=FUN_004d2b4c */
|
|
|
|
void __cdecl FUN_004d2b4c(undefined4 *param_1,int param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
|
|
puVar2 = (undefined4 *)(param_2 + 0x58);
|
|
for (iVar1 = 0xc; iVar1 != 0; iVar1 = iVar1 + -1) {
|
|
*param_1 = *puVar2;
|
|
puVar2 = puVar2 + 1;
|
|
param_1 = param_1 + 1;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d2b6c file=? name=FUN_004d2b6c */
|
|
|
|
undefined4 * __cdecl FUN_004d2b6c(undefined4 *param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
{
|
|
FUN_0046739c(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_0051e518;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004d2b90 file=? name=FUN_004d2b90 */
|
|
|
|
void __cdecl FUN_004d2b90(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_0051e518;
|
|
FUN_00467418(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004d2bbc file=? name=FUN_004d2bbc */
|
|
|
|
undefined4 * FUN_004d2bbc(void)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
puVar1 = (undefined4 *)FUN_00402298(0x88);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_004d29fc(puVar1);
|
|
}
|
|
return puVar1;
|
|
}
|
|
|
|
|
|
|