Clean, self-contained extraction of the BattleTech-specific work from the
reverse-engineering workspace -- engine + game + content + build, with nothing
from Red Planet or the raw archive dumps. Builds green (Win32) and runs the
single-player drive->animate->target->fire->damage->destroy loop out of the box.
Layout:
engine/ MUNGA + MUNGA_L4 shared 2007 engine, carrying our BT render/loader
work (bgfload/L4D3D/L4VIDEO: BSL bit-slice decode, LOD/ground/shadow
models) + image codec; the minimal rp/ headers the audio HAL needs
game/ reconstructed BT logic + surviving-original BT source + fwd shims
+ WinMain launcher
content/ full runtime tree (BTL4.RES, VIDEO/, GAUGE/, AUDIO/, eggs, BTDPL.INI)
docs/ format specs + reconstruction ledgers
reference/ raw Ghidra pseudocode (recon source-of-truth) + decomp exporter
tools/ MP console emulator + map/resource scanners
One top-level CMake builds munga_engine lib + bt410_l4 game lib + btl4.exe.
All paths relativized (186 fwd shims + ~437 CMake abs paths -> repo-relative);
DXSDK is the one external, overridable via -DDXSDK. Verified: builds to a
byte-identical 2.27MB exe and runs combat (TARGET DESTROYED, 0 crashes) against
the bundled content.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8573 lines
199 KiB
C
8573 lines
199 KiB
C
/* @00438774 file=? name=FUN_00438774 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
bool __cdecl FUN_00438774(undefined4 param_1,int param_2,float param_3,float *param_4)
|
|
|
|
{
|
|
float fVar1;
|
|
float10 fVar2;
|
|
float10 fVar3;
|
|
|
|
fVar1 = *(float *)(param_2 + 0x38);
|
|
if (-fVar1 <= param_3) {
|
|
if (fVar1 < param_3) {
|
|
param_3 = fVar1;
|
|
}
|
|
}
|
|
else {
|
|
param_3 = -fVar1;
|
|
}
|
|
fVar3 = FUN_004dcd00((double)(fVar1 - param_3));
|
|
fVar2 = (float10)_DAT_00438800;
|
|
if (fVar2 < fVar3) {
|
|
*param_4 = (_DAT_00438804 - fVar1 / (fVar1 - param_3)) * *(float *)(param_2 + 0x3c);
|
|
}
|
|
return fVar2 < fVar3;
|
|
}
|
|
|
|
|
|
|
|
/* @00438808 file=munga/audcmp.cpp name=FUN_00438808 */
|
|
|
|
undefined4 * __cdecl FUN_00438808(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
undefined4 *puVar3;
|
|
int iVar4;
|
|
uint *puVar5;
|
|
int local_14;
|
|
undefined4 local_10;
|
|
uint *local_c;
|
|
int *local_8;
|
|
|
|
FUN_00436d14(param_1,param_2,&DAT_004e8698);
|
|
*param_1 = &PTR_FUN_004ea0a4;
|
|
FUN_0043acac(param_1 + 9,0);
|
|
param_1[0xe] = 0;
|
|
puVar3 = (undefined4 *)FUN_00402298(0x10);
|
|
if (puVar3 == (undefined4 *)0x0) {
|
|
local_8 = (int *)0x0;
|
|
}
|
|
else {
|
|
local_8 = (int *)FUN_004023f4(puVar3);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00402aec(param_2,(int *)&local_8);
|
|
iVar4 = FUN_0041f98c(param_3,(char *)local_8[2]);
|
|
if (iVar4 == 0) {
|
|
puVar5 = (uint *)FUN_00402298(0x10);
|
|
if (puVar5 == (uint *)0x0) {
|
|
local_c = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_c = FUN_00402460(puVar5,s_Entity_004e8ca0);
|
|
}
|
|
local_c[3] = local_c[3] + 1;
|
|
iVar4 = FUN_004027d8((int)local_8,(int)local_c);
|
|
if (iVar4 != 0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_MessageWatcher__MessageWatcher___004e8ca7,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,(char *)local_8[2],(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e8cd3,(char *)0x0);
|
|
FUN_0040385c(s_MessageWatcher__MessageWatcher___004e8cd5,
|
|
s_d__tesla_bt_munga_AUDCMP_CPP_004e8d0b,0x5c);
|
|
}
|
|
puVar5 = local_c + 3;
|
|
*puVar5 = *puVar5 - 1;
|
|
iVar4 = param_3;
|
|
if (*puVar5 == 0) {
|
|
FUN_004024d8((int *)local_c,3);
|
|
}
|
|
}
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_10,4);
|
|
FUN_0043afbc(param_2,&local_14);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xc,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xd,4);
|
|
(**(code **)(param_1[9] + 4))(param_1 + 9,local_14);
|
|
iVar2 = **(int **)(iVar4 + 0xc);
|
|
puVar3 = FUN_00402f74(0x4e2d84);
|
|
if (puVar3 == (undefined4 *)0x0) {
|
|
puVar3 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar3 = FUN_00419ed8(puVar3,iVar2,param_1,PTR_FUN_004e8c94,DAT_004e8c98,DAT_004e8c9c,local_10,
|
|
iVar4);
|
|
}
|
|
param_1[0xe] = puVar3;
|
|
FUN_004206b4(param_3,param_1);
|
|
piVar1 = local_8 + 3;
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_004024d8(local_8,3);
|
|
}
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004389fc file=? name=FUN_004389fc */
|
|
|
|
void __cdecl FUN_004389fc(int *param_1,byte param_2)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ea0a4;
|
|
puVar1 = (undefined4 *)param_1[0xe];
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
(**(code **)*puVar1)(puVar1,3);
|
|
}
|
|
FUN_0043accb(param_1 + 9,2);
|
|
FUN_00436d4c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00438a48 file=munga/audcmp.cpp name=FUN_00438a48 */
|
|
|
|
void __cdecl FUN_00438a48(int *param_1,int param_2)
|
|
|
|
{
|
|
int *piVar1;
|
|
undefined4 *puVar2;
|
|
char *pcVar3;
|
|
uint *puVar4;
|
|
float local_18;
|
|
int local_14;
|
|
uint *local_10;
|
|
int local_c;
|
|
int *local_8;
|
|
|
|
FUN_00414c58(param_1);
|
|
puVar2 = (undefined4 *)FUN_00402298(0x10);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
local_8 = (int *)0x0;
|
|
}
|
|
else {
|
|
local_8 = (int *)FUN_004023f4(puVar2);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
pcVar3 = (char *)FUN_00403ad0(param_2,s_subsystem_004e8d28);
|
|
if (pcVar3 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e8d32,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_subsystem_004e8d57,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e8d61,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e8d63,s_d__tesla_bt_munga_AUDCMP_CPP_004e8da3
|
|
,0xa4);
|
|
}
|
|
FUN_00402b3c(pcVar3,(int *)&local_8);
|
|
FUN_004029b0(param_1,(int)local_8);
|
|
piVar1 = local_8 + 3;
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_004024d8(local_8,3);
|
|
}
|
|
pcVar3 = (char *)FUN_00403ad0(param_2,s_message_ID_004e8dc0);
|
|
if (pcVar3 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e8dcb,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_message_ID_004e8df0,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e8dfb,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e8dfd,s_d__tesla_bt_munga_AUDCMP_CPP_004e8e3d
|
|
,0xa9);
|
|
}
|
|
FUN_00407ae0(pcVar3,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
puVar4 = (uint *)FUN_00402298(0x10);
|
|
if (puVar4 == (uint *)0x0) {
|
|
local_10 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_10 = FUN_00402460(puVar4,s_audio_component_004e8e5a);
|
|
}
|
|
local_10[3] = local_10[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_10);
|
|
pcVar3 = (char *)FUN_00403ad0(param_2,s_control_ID_004e8e6a);
|
|
if (pcVar3 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e8e75,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_004e8e9a,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e8ea5,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e8ea7,s_d__tesla_bt_munga_AUDCMP_CPP_004e8ee7
|
|
,0xb1);
|
|
}
|
|
FUN_00407ae0(pcVar3,&local_14);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
pcVar3 = (char *)FUN_00403ad0(param_2,s_control_value_004e8f04);
|
|
if (pcVar3 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e8f12,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_004e8f37,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e8f45,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e8f47,s_d__tesla_bt_munga_AUDCMP_CPP_004e8f87
|
|
,0xb2);
|
|
}
|
|
FUN_00407b78(pcVar3,&local_18);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_18,4);
|
|
puVar4 = local_10 + 3;
|
|
*puVar4 = *puVar4 - 1;
|
|
if (*puVar4 == 0) {
|
|
FUN_004024d8((int *)local_10,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00438d04 file=? name=FUN_00438d04 */
|
|
|
|
undefined4 __cdecl FUN_00438d04(int param_1)
|
|
|
|
{
|
|
FUN_0041b8e0(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @00438d20 file=? name=FUN_00438d20 */
|
|
|
|
void __cdecl FUN_00438d20(int *param_1,undefined4 param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
|
|
iVar1 = (**(code **)(*param_1 + 0x1c))(param_1,param_2);
|
|
if (iVar1 != 0) {
|
|
piVar2 = (int *)FUN_00417ab4((int)(param_1 + 9));
|
|
(**(code **)(*piVar2 + 0x18))(piVar2,param_1[0xc],param_1[0xd]);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00438d58 file=? name=FUN_00438d58 */
|
|
|
|
void FUN_00438d58(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00438d60 file=? name=FUN_00438d60 */
|
|
|
|
undefined4 * __cdecl FUN_00438d60(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_00438808(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ea084;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00438d84 file=? name=FUN_00438d84 */
|
|
|
|
void __cdecl FUN_00438d84(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ea084;
|
|
FUN_004389fc(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00438db0 file=? name=FUN_00438db0 */
|
|
|
|
bool __cdecl FUN_00438db0(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
return 0 < *(int *)(param_2 + 0xc);
|
|
}
|
|
|
|
|
|
|
|
/* @00438dc8 file=? name=FUN_00438dc8 */
|
|
|
|
void __cdecl FUN_00438dc8(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ea068;
|
|
FUN_00436d4c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00438df4 file=? name=FUN_00438df4 */
|
|
|
|
undefined4 * __cdecl FUN_00438df4(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined4 local_10;
|
|
undefined4 local_c;
|
|
int *local_8;
|
|
|
|
FUN_00436d14(param_1,param_2,&DAT_004e8698);
|
|
*param_1 = &PTR_FUN_004ea068;
|
|
FUN_0043afbc(param_2,(int *)&local_8);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_c,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_10,4);
|
|
FUN_004206b4(param_3,param_1);
|
|
(**(code **)(*local_8 + 0x18))(local_8,local_c,local_10);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00438e70 file=munga/audcmp.cpp name=FUN_00438e70 */
|
|
|
|
void __cdecl FUN_00438e70(int *param_1,int param_2)
|
|
|
|
{
|
|
uint *puVar1;
|
|
char *pcVar2;
|
|
float local_10;
|
|
int local_c;
|
|
uint *local_8;
|
|
|
|
FUN_00414c58(param_1);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,s_audio_component_004e8fa4);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_8);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_control_ID_004e8fb4);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e8fbf,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_004e8fe4,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e8fef,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e8ff1,s_d__tesla_bt_munga_AUDCMP_CPP_004e9031
|
|
,0x166);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_control_value_004e904e);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e905c,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_004e9081,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e908f,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9091,s_d__tesla_bt_munga_AUDCMP_CPP_004e90d1
|
|
,0x167);
|
|
}
|
|
FUN_00407b78(pcVar2,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00438fec file=? name=FUN_00438fec */
|
|
|
|
void FUN_00438fec(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00438ff4 file=? name=FUN_00438ff4 */
|
|
|
|
undefined4 * __cdecl FUN_00438ff4(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
int iVar1;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
FUN_00436d14(param_1,param_2,&DAT_004e8698);
|
|
*param_1 = &PTR_FUN_004ea04c;
|
|
FUN_0043acf7(param_1 + 9,0);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_8,4);
|
|
iVar1 = 0;
|
|
if (0 < local_8) {
|
|
do {
|
|
FUN_0043afbc(param_2,&local_c);
|
|
(**(code **)(param_1[9] + 4))(param_1 + 9,local_c);
|
|
(**(code **)(*(int *)(local_c + 0x14) + 4))(local_c + 0x14,param_1);
|
|
iVar1 = iVar1 + 1;
|
|
} while (iVar1 < local_8);
|
|
}
|
|
FUN_004206b4(param_3,param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00439094 file=? name=FUN_00439094 */
|
|
|
|
void __cdecl FUN_00439094(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ea04c;
|
|
FUN_0043ad16(param_1 + 9,2);
|
|
FUN_00436d4c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004390d0 file=munga/audcmp.cpp name=FUN_004390d0 */
|
|
|
|
void __cdecl FUN_004390d0(int *param_1,int param_2)
|
|
|
|
{
|
|
int *piVar1;
|
|
undefined4 *puVar2;
|
|
bool bVar3;
|
|
undefined3 extraout_var;
|
|
undefined3 extraout_var_00;
|
|
undefined4 *puVar4;
|
|
int *local_14;
|
|
int local_10;
|
|
int *local_c;
|
|
int local_8;
|
|
|
|
FUN_00414c58(param_1);
|
|
local_8 = 0;
|
|
for (puVar2 = *(undefined4 **)(param_2 + 4); puVar2 != (undefined4 *)0x0;
|
|
puVar2 = (undefined4 *)*puVar2) {
|
|
bVar3 = FUN_00403c20((int)puVar2,s_audio_component_004e90ee);
|
|
if (CONCAT31(extraout_var,bVar3) != 0) {
|
|
local_8 = local_8 + 1;
|
|
}
|
|
}
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
for (puVar2 = *(undefined4 **)(param_2 + 4); puVar2 != (undefined4 *)0x0;
|
|
puVar2 = (undefined4 *)*puVar2) {
|
|
bVar3 = FUN_00403c20((int)puVar2,s_audio_component_004e90fe);
|
|
if (CONCAT31(extraout_var_00,bVar3) != 0) {
|
|
puVar4 = (undefined4 *)FUN_00402298(0x10);
|
|
if (puVar4 == (undefined4 *)0x0) {
|
|
local_c = (int *)0x0;
|
|
}
|
|
else {
|
|
local_c = (int *)FUN_004023f4(puVar4);
|
|
}
|
|
local_c[3] = local_c[3] + 1;
|
|
FUN_00402a98((int *)&local_14,(int *)&local_c,(char *)puVar2[1]);
|
|
piVar1 = local_14 + 3;
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_004024d8(local_14,3);
|
|
}
|
|
local_10 = FUN_00417208((int)param_1,&local_c);
|
|
if (local_10 == 0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_AudioControlSplitter__BuildFromP_004e910e,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,(char *)local_c[2],(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9144,(char *)0x0);
|
|
FUN_0040385c(s_AudioControlSplitter__BuildFromP_004e9146,
|
|
s_d__tesla_bt_munga_AUDCMP_CPP_004e9186,0x1d2);
|
|
}
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
piVar1 = local_c + 3;
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_004024d8(local_c,3);
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00439234 file=? name=FUN_00439234 */
|
|
|
|
undefined4 __cdecl FUN_00439234(int param_1)
|
|
|
|
{
|
|
FUN_00436d88(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @00439248 file=? name=FUN_00439248 */
|
|
|
|
void __cdecl FUN_00439248(int param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
{
|
|
int *piVar1;
|
|
int local_18 [5];
|
|
|
|
FUN_0043afeb(local_18,param_1 + 0x24);
|
|
while( true ) {
|
|
piVar1 = (int *)(**(code **)(local_18[0] + 0x28))(local_18);
|
|
if (piVar1 == (int *)0x0) break;
|
|
(**(code **)(*piVar1 + 0x18))(piVar1,param_2,param_3);
|
|
}
|
|
FUN_0043b048(local_18,2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043929c file=? name=FUN_0043929c */
|
|
|
|
void __cdecl FUN_0043929c(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ea030;
|
|
FUN_0043accb(param_1 + 9,2);
|
|
FUN_00436d4c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004392d8 file=? name=FUN_004392d8 */
|
|
|
|
undefined4 * __cdecl FUN_004392d8(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined4 local_14;
|
|
int local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
FUN_00436d14(param_1,param_2,&DAT_004e8698);
|
|
*param_1 = &PTR_FUN_004ea030;
|
|
FUN_0043acac(param_1 + 9,0);
|
|
FUN_0043afbc(param_2,&local_8);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_c,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_10,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_14,4);
|
|
FUN_00439574((int)param_1,local_8,param_3,local_c,local_10,local_14);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00439370 file=munga/audcmp.cpp name=FUN_00439370 */
|
|
|
|
void __cdecl FUN_00439370(int *param_1,int param_2)
|
|
|
|
{
|
|
uint *puVar1;
|
|
char *pcVar2;
|
|
int local_14;
|
|
int local_10;
|
|
int local_c;
|
|
uint *local_8;
|
|
|
|
FUN_00414c58(param_1);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,s_audio_component_004e91a3);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_8);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_first_input_control_ID_004e91b3);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e91ca,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_first_input_control_ID_004e91ef,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9206,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9208,s_d__tesla_bt_munga_AUDCMP_CPP_004e9248
|
|
,0x23d);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_last_input_control_ID_004e9265);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e927b,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_last_input_control_ID_004e92a0,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e92b6,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e92b8,s_d__tesla_bt_munga_AUDCMP_CPP_004e92f8
|
|
,0x23e);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_output_control_ID_004e9315);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9327,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_output_control_ID_004e934c,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e935e,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9360,s_d__tesla_bt_munga_AUDCMP_CPP_004e93a0
|
|
,0x23f);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_14);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00439574 file=? name=FUN_00439574 */
|
|
|
|
void __cdecl
|
|
FUN_00439574(int param_1,int param_2,int param_3,int param_4,int param_5,undefined4 param_6)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
int iVar2;
|
|
|
|
*(int *)(param_1 + 0x40) = param_4;
|
|
*(undefined4 *)(param_1 + 0x48) = param_6;
|
|
*(int *)(param_1 + 0x44) = (param_5 - param_4) + 1;
|
|
puVar1 = (undefined4 *)(param_1 + 0x30);
|
|
for (iVar2 = 0; iVar2 < *(int *)(param_1 + 0x44); iVar2 = iVar2 + 1) {
|
|
*puVar1 = 0;
|
|
puVar1 = puVar1 + 1;
|
|
}
|
|
(**(code **)(*(int *)(param_1 + 0x24) + 4))(param_1 + 0x24,param_2);
|
|
(**(code **)(*(int *)(param_2 + 0x14) + 4))(param_2 + 0x14,param_1);
|
|
FUN_004206b4(param_3,param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004395dc file=? name=FUN_004395dc */
|
|
|
|
undefined4 __cdecl FUN_004395dc(int param_1)
|
|
|
|
{
|
|
FUN_00436d88(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004395f0 file=? name=FUN_004395f0 */
|
|
|
|
void __cdecl FUN_004395f0(int param_1,int param_2,undefined4 param_3)
|
|
|
|
{
|
|
int iVar1;
|
|
float *pfVar2;
|
|
int *piVar3;
|
|
float local_8;
|
|
|
|
iVar1 = param_2 - *(int *)(param_1 + 0x40);
|
|
if ((-1 < iVar1) && (iVar1 < *(int *)(param_1 + 0x44))) {
|
|
*(undefined4 *)(param_1 + 0x30 + iVar1 * 4) = param_3;
|
|
local_8 = 0.0;
|
|
pfVar2 = (float *)(param_1 + 0x30);
|
|
for (iVar1 = 0; iVar1 < *(int *)(param_1 + 0x44); iVar1 = iVar1 + 1) {
|
|
local_8 = *pfVar2 + local_8;
|
|
pfVar2 = pfVar2 + 1;
|
|
}
|
|
piVar3 = (int *)FUN_00417ab4(param_1 + 0x24);
|
|
(**(code **)(*piVar3 + 0x18))(piVar3,*(undefined4 *)(param_1 + 0x48),local_8);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00439650 file=? name=FUN_00439650 */
|
|
|
|
void __cdecl FUN_00439650(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ea014;
|
|
FUN_0043accb(param_1 + 9,2);
|
|
FUN_00436d4c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043968c file=? name=FUN_0043968c */
|
|
|
|
undefined4 * __cdecl FUN_0043968c(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined4 local_14;
|
|
int local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
FUN_00436d14(param_1,param_2,&DAT_004e8698);
|
|
*param_1 = &PTR_FUN_004ea014;
|
|
FUN_0043acac(param_1 + 9,0);
|
|
FUN_0043afbc(param_2,&local_8);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_c,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_10,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_14,4);
|
|
FUN_00439928((int)param_1,local_8,param_3,local_c,local_10,local_14);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00439724 file=munga/audcmp.cpp name=FUN_00439724 */
|
|
|
|
void __cdecl FUN_00439724(int *param_1,int param_2)
|
|
|
|
{
|
|
uint *puVar1;
|
|
char *pcVar2;
|
|
int local_14;
|
|
int local_10;
|
|
int local_c;
|
|
uint *local_8;
|
|
|
|
FUN_00414c58(param_1);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,s_audio_component_004e93bd);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_8);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_first_input_control_ID_004e93cd);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e93e4,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_first_input_control_ID_004e9409,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9420,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9422,s_d__tesla_bt_munga_AUDCMP_CPP_004e9462
|
|
,0x2df);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_last_input_control_ID_004e947f);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9495,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_last_input_control_ID_004e94ba,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e94d0,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e94d2,s_d__tesla_bt_munga_AUDCMP_CPP_004e9512
|
|
,0x2e0);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_output_control_ID_004e952f);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9541,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_output_control_ID_004e9566,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9578,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e957a,s_d__tesla_bt_munga_AUDCMP_CPP_004e95ba
|
|
,0x2e1);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_14);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00439928 file=? name=FUN_00439928 */
|
|
|
|
void __cdecl
|
|
FUN_00439928(int param_1,int param_2,int param_3,int param_4,int param_5,undefined4 param_6)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
int iVar2;
|
|
|
|
*(int *)(param_1 + 0x40) = param_4;
|
|
*(undefined4 *)(param_1 + 0x48) = param_6;
|
|
*(int *)(param_1 + 0x44) = (param_5 - param_4) + 1;
|
|
puVar1 = (undefined4 *)(param_1 + 0x30);
|
|
for (iVar2 = 0; iVar2 < *(int *)(param_1 + 0x44); iVar2 = iVar2 + 1) {
|
|
*puVar1 = 0x3f800000;
|
|
puVar1 = puVar1 + 1;
|
|
}
|
|
(**(code **)(*(int *)(param_1 + 0x24) + 4))(param_1 + 0x24,param_2);
|
|
(**(code **)(*(int *)(param_2 + 0x14) + 4))(param_2 + 0x14,param_1);
|
|
FUN_004206b4(param_3,param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00439994 file=? name=FUN_00439994 */
|
|
|
|
undefined4 __cdecl FUN_00439994(int param_1)
|
|
|
|
{
|
|
FUN_00436d88(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @004399a8 file=? name=FUN_004399a8 */
|
|
|
|
void __cdecl FUN_004399a8(int param_1,int param_2,undefined4 param_3)
|
|
|
|
{
|
|
int iVar1;
|
|
float *pfVar2;
|
|
int *piVar3;
|
|
float local_8;
|
|
|
|
iVar1 = param_2 - *(int *)(param_1 + 0x40);
|
|
if ((-1 < iVar1) && (iVar1 < *(int *)(param_1 + 0x44))) {
|
|
*(undefined4 *)(param_1 + 0x30 + iVar1 * 4) = param_3;
|
|
local_8 = 1.0;
|
|
pfVar2 = (float *)(param_1 + 0x30);
|
|
for (iVar1 = 0; iVar1 < *(int *)(param_1 + 0x44); iVar1 = iVar1 + 1) {
|
|
local_8 = *pfVar2 * local_8;
|
|
pfVar2 = pfVar2 + 1;
|
|
}
|
|
piVar3 = (int *)FUN_00417ab4(param_1 + 0x24);
|
|
(**(code **)(*piVar3 + 0x18))(piVar3,*(undefined4 *)(param_1 + 0x48),local_8);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00439a0c file=? name=FUN_00439a0c */
|
|
|
|
void __cdecl FUN_00439a0c(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004e9ff8;
|
|
FUN_0043adb5(param_1 + 0xc,2);
|
|
FUN_0043accb(param_1 + 9,2);
|
|
FUN_00436d4c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00439a54 file=? name=FUN_00439a54 */
|
|
|
|
undefined4 * __cdecl FUN_00439a54(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined4 local_14;
|
|
undefined4 local_10;
|
|
uint local_c;
|
|
int local_8;
|
|
|
|
FUN_00436d14(param_1,param_2,&DAT_004e8698);
|
|
*param_1 = &PTR_FUN_004e9ff8;
|
|
FUN_0043acac(param_1 + 9,0);
|
|
FUN_0043ad42((int)(param_1 + 0xc));
|
|
FUN_0043afbc(param_2,&local_8);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_14,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_c,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_10,4);
|
|
FUN_0043ad70(param_1 + 0xc,local_c,local_10);
|
|
FUN_00439cc0((int)param_1,local_8,param_3,local_14);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00439b00 file=munga/audcmp.cpp name=FUN_00439b00 */
|
|
|
|
void __cdecl FUN_00439b00(int *param_1,int param_2)
|
|
|
|
{
|
|
uint *puVar1;
|
|
char *pcVar2;
|
|
int iVar3;
|
|
float *pfVar4;
|
|
float local_14;
|
|
int local_10;
|
|
int local_c;
|
|
uint *local_8;
|
|
|
|
FUN_00414c58(param_1);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,s_audio_component_004e95d7);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_8);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_control_ID_004e95e7);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e95f2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_004e9617,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9622,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9624,s_d__tesla_bt_munga_AUDCMP_CPP_004e9664
|
|
,0x38b);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_number_of_samples_004e9681);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9693,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_number_of_samples_004e96b8,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e96ca,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e96cc,s_d__tesla_bt_munga_AUDCMP_CPP_004e970c
|
|
,0x38c);
|
|
}
|
|
FUN_00407b08(pcVar2,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
local_14 = 0.0;
|
|
iVar3 = FUN_00403ad0(param_2,s_initial_fill_value_004e9729);
|
|
if (iVar3 != 0) {
|
|
pfVar4 = &local_14;
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_initial_fill_value_004e973c);
|
|
FUN_00407b78(pcVar2,pfVar4);
|
|
}
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00439cc0 file=? name=FUN_00439cc0 */
|
|
|
|
void __cdecl FUN_00439cc0(int param_1,int param_2,int param_3,undefined4 param_4)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x3c) = param_4;
|
|
(**(code **)(*(int *)(param_1 + 0x24) + 4))(param_1 + 0x24,param_2);
|
|
(**(code **)(*(int *)(param_2 + 0x14) + 4))(param_2 + 0x14,param_1);
|
|
FUN_004206b4(param_3,param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00439d04 file=? name=FUN_00439d04 */
|
|
|
|
undefined4 __cdecl FUN_00439d04(int param_1)
|
|
|
|
{
|
|
FUN_00436d88(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @00439d18 file=? name=FUN_00439d18 */
|
|
|
|
void __cdecl FUN_00439d18(int param_1,int param_2,undefined4 param_3)
|
|
|
|
{
|
|
int *piVar1;
|
|
float10 fVar2;
|
|
|
|
if (param_2 == *(int *)(param_1 + 0x3c)) {
|
|
FUN_0043ade4((uint *)(param_1 + 0x30),param_3);
|
|
piVar1 = (int *)FUN_00417ab4(param_1 + 0x24);
|
|
fVar2 = FUN_0043ae47((uint *)(param_1 + 0x30));
|
|
(**(code **)(*piVar1 + 0x18))(piVar1,*(undefined4 *)(param_1 + 0x3c),(float)fVar2);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00439d68 file=? name=FUN_00439d68 */
|
|
|
|
void __cdecl FUN_00439d68(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004e9fdc;
|
|
FUN_0043accb(param_1 + 9,2);
|
|
FUN_00436d4c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00439da4 file=? name=FUN_00439da4 */
|
|
|
|
undefined4 * __cdecl FUN_00439da4(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined4 local_1c;
|
|
undefined4 local_18;
|
|
undefined4 local_14;
|
|
undefined4 local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
FUN_00436d14(param_1,param_2,&DAT_004e8698);
|
|
*param_1 = &PTR_FUN_004e9fdc;
|
|
FUN_0043acac(param_1 + 9,0);
|
|
FUN_0043b074(param_2,&local_8);
|
|
FUN_0043b0a3(param_2,&local_c);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_10,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_14,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_18,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_1c,4);
|
|
FUN_0043a130((int)param_1,local_8,param_3,local_c,local_10,local_14,local_18,local_1c);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00439e60 file=munga/audcmp.cpp name=FUN_00439e60 */
|
|
|
|
void __cdecl FUN_00439e60(int *param_1,int param_2)
|
|
|
|
{
|
|
uint *puVar1;
|
|
char *pcVar2;
|
|
int local_1c;
|
|
float local_18;
|
|
float local_14;
|
|
int local_10;
|
|
uint *local_c;
|
|
uint *local_8;
|
|
|
|
FUN_00414c58(param_1);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,s_audio_source_004e974f);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_8);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_c = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_c = FUN_00402460(puVar1,s_audio_resource_index_004e975c);
|
|
}
|
|
local_c[3] = local_c[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_c);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_control_ID_004e9771);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e977c,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_004e97a1,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e97ac,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e97ae,s_d__tesla_bt_munga_AUDCMP_CPP_004e97ee
|
|
,0x41d);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_min_control_value_004e980b);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e981d,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_min_control_value_004e9842,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9854,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9856,s_d__tesla_bt_munga_AUDCMP_CPP_004e9896
|
|
,0x41e);
|
|
}
|
|
FUN_00407b78(pcVar2,&local_14);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_max_control_value_004e98b3);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e98c5,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_max_control_value_004e98ea,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e98fc,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e98fe,s_d__tesla_bt_munga_AUDCMP_CPP_004e993e
|
|
,0x41f);
|
|
}
|
|
FUN_00407b78(pcVar2,&local_18);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_18,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_dump_value_004e995b);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9966,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_dump_value_004e998b,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9996,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9998,s_d__tesla_bt_munga_AUDCMP_CPP_004e99d8
|
|
,0x420);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_1c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_1c,4);
|
|
puVar1 = local_c + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_c,3);
|
|
}
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043a130 file=? name=FUN_0043a130 */
|
|
|
|
void __cdecl
|
|
FUN_0043a130(int param_1,int param_2,int param_3,undefined4 param_4,undefined4 param_5,
|
|
undefined4 param_6,undefined4 param_7,undefined4 param_8)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x34) = param_5;
|
|
*(undefined4 *)(param_1 + 0x38) = param_6;
|
|
*(undefined4 *)(param_1 + 0x3c) = param_7;
|
|
*(undefined4 *)(param_1 + 0x40) = param_8;
|
|
*(undefined4 *)(param_1 + 0x30) = param_4;
|
|
(**(code **)(*(int *)(param_1 + 0x24) + 4))(param_1 + 0x24,param_2);
|
|
(**(code **)(*(int *)(param_2 + 0x14) + 4))(param_2 + 0x14,param_1);
|
|
FUN_004206b4(param_3,param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043a18c file=? name=FUN_0043a18c */
|
|
|
|
undefined4 __cdecl FUN_0043a18c(int param_1)
|
|
|
|
{
|
|
FUN_00436d88(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043a1a0 file=? name=FUN_0043a1a0 */
|
|
|
|
void __cdecl FUN_0043a1a0(int param_1,int param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 uVar2;
|
|
|
|
if ((param_2 == *(int *)(param_1 + 0x34)) &&
|
|
(iVar1 = FUN_00417ab4(param_1 + 0x24), *(int *)(iVar1 + 0x2c) == 0)) {
|
|
FUN_00437c4c(*(int *)(param_1 + 0x30));
|
|
uVar2 = FUN_004dcd94();
|
|
uVar2 = FUN_00437c0c(*(int *)(param_1 + 0x30),uVar2);
|
|
FUN_0043b9f4(iVar1,uVar2);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043a248 file=? name=FUN_0043a248 */
|
|
|
|
undefined4 * __cdecl FUN_0043a248(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined4 local_1c;
|
|
undefined4 local_18;
|
|
undefined4 local_14;
|
|
undefined1 local_10 [4];
|
|
undefined4 local_c;
|
|
int local_8;
|
|
|
|
FUN_00436d14(param_1,param_2,&DAT_004e8698);
|
|
*param_1 = &PTR_FUN_004e9fc0;
|
|
FUN_0043acac(param_1 + 9,0);
|
|
param_1[0x10] = 0xffffffff;
|
|
param_1[0x11] = 0xffffffff;
|
|
local_14 = 0xffffffff;
|
|
FUN_0043afbc(param_2,&local_8);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_c,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,local_10,4);
|
|
local_14 = FUN_00437404();
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_18,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_1c,4);
|
|
FUN_0043a528((int)param_1,local_8,param_3,local_c,&local_14,local_18,local_1c);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043a324 file=munga/audcmp.cpp name=FUN_0043a324 */
|
|
|
|
void __cdecl FUN_0043a324(int *param_1,int param_2)
|
|
|
|
{
|
|
uint *puVar1;
|
|
char *pcVar2;
|
|
int iVar3;
|
|
float *pfVar4;
|
|
float local_18;
|
|
float local_14;
|
|
float local_10;
|
|
int local_c;
|
|
uint *local_8;
|
|
|
|
FUN_00414c58(param_1);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,s_audio_component_004e99f5);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_8);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_control_ID_004e9a05);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9a10,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_004e9a35,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9a40,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9a42,s_d__tesla_bt_munga_AUDCMP_CPP_004e9a82
|
|
,0x4d0);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_sample_duration_004e9a9f);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9aaf,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_sample_duration_004e9ad4,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9ae4,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9ae6,s_d__tesla_bt_munga_AUDCMP_CPP_004e9b26
|
|
,0x4d1);
|
|
}
|
|
FUN_00407b78(pcVar2,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
local_14 = 0.0;
|
|
local_18 = 1.0;
|
|
iVar3 = FUN_00403ad0(param_2,s_min_value_004e9b43);
|
|
if (iVar3 != 0) {
|
|
pfVar4 = &local_14;
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_min_value_004e9b4d);
|
|
FUN_00407b78(pcVar2,pfVar4);
|
|
}
|
|
iVar3 = FUN_00403ad0(param_2,s_max_value_004e9b57);
|
|
if (iVar3 != 0) {
|
|
pfVar4 = &local_18;
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_max_value_004e9b61);
|
|
FUN_00407b78(pcVar2,pfVar4);
|
|
}
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_18,4);
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043a528 file=? name=FUN_0043a528 */
|
|
|
|
void __cdecl
|
|
FUN_0043a528(int param_1,int param_2,int param_3,undefined4 param_4,undefined4 *param_5,
|
|
undefined4 param_6,undefined4 param_7)
|
|
|
|
{
|
|
undefined4 local_8;
|
|
|
|
*(undefined4 *)(param_1 + 0x30) = param_4;
|
|
*(undefined4 *)(param_1 + 0x3c) = 0;
|
|
FUN_004373e8(&local_8);
|
|
*(undefined4 *)(param_1 + 0x40) = local_8;
|
|
*(undefined4 *)(param_1 + 0x44) = *param_5;
|
|
*(undefined4 *)(param_1 + 0x34) = param_6;
|
|
*(undefined4 *)(param_1 + 0x38) = param_7;
|
|
(**(code **)(*(int *)(param_1 + 0x24) + 4))(param_1 + 0x24,param_2);
|
|
(**(code **)(*(int *)(param_2 + 0x14) + 4))(param_2 + 0x14,param_1);
|
|
FUN_004206b4(param_3,param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043a59c file=? name=FUN_0043a59c */
|
|
|
|
void __cdecl FUN_0043a59c(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004e9fc0;
|
|
FUN_0043accb(param_1 + 9,2);
|
|
FUN_00436d4c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043a5d8 file=? name=FUN_0043a5d8 */
|
|
|
|
void __cdecl FUN_0043a5d8(int param_1)
|
|
|
|
{
|
|
int local_8;
|
|
|
|
FUN_00436e14(param_1);
|
|
FUN_004373e8(&local_8);
|
|
if (*(int *)(param_1 + 0x40) < local_8) {
|
|
FUN_0043a628(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043a610 file=? name=FUN_0043a610 */
|
|
|
|
void __cdecl FUN_0043a610(int param_1,int param_2)
|
|
|
|
{
|
|
if (param_2 == 1) {
|
|
FUN_0043a628(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043a628 file=? name=FUN_0043a628 */
|
|
|
|
void __cdecl FUN_0043a628(int param_1)
|
|
|
|
{
|
|
int *piVar1;
|
|
float10 fVar2;
|
|
int local_c;
|
|
float local_8;
|
|
|
|
fVar2 = FUN_00408050();
|
|
local_8 = (float)fVar2;
|
|
*(float *)(param_1 + 0x3c) =
|
|
(*(float *)(param_1 + 0x38) - *(float *)(param_1 + 0x34)) * local_8 +
|
|
*(float *)(param_1 + 0x34);
|
|
FUN_004373e8(&local_c);
|
|
piVar1 = (int *)(param_1 + 0x40);
|
|
*piVar1 = local_c;
|
|
*piVar1 = *piVar1 + *(int *)(param_1 + 0x44);
|
|
piVar1 = (int *)FUN_00417ab4(param_1 + 0x24);
|
|
(**(code **)(*piVar1 + 0x18))
|
|
(piVar1,*(undefined4 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x3c));
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043a68c file=? name=FUN_0043a68c */
|
|
|
|
undefined4 * __cdecl FUN_0043a68c(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined4 local_20;
|
|
undefined4 local_1c;
|
|
undefined4 local_18;
|
|
undefined4 local_14;
|
|
undefined4 local_10;
|
|
undefined4 local_c;
|
|
int local_8;
|
|
|
|
FUN_00436d14(param_1,param_2,&DAT_004e8698);
|
|
*param_1 = &PTR_FUN_004e9fa4;
|
|
FUN_0043acac(param_1 + 9,0);
|
|
param_1[0x10] = 0xffffffff;
|
|
param_1[0x11] = 0xffffffff;
|
|
FUN_0043afbc(param_2,&local_8);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_c,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_10,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_14,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_18,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_1c,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_20,4);
|
|
FUN_0043ab00((int)param_1,local_8,param_3,local_c,local_10,local_14,local_18,local_1c,local_20);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043a770 file=munga/audcmp.cpp name=FUN_0043a770 */
|
|
|
|
void __cdecl FUN_0043a770(int *param_1,int param_2)
|
|
|
|
{
|
|
uint *puVar1;
|
|
char *pcVar2;
|
|
int local_20;
|
|
float local_1c;
|
|
float local_18;
|
|
float local_14;
|
|
int local_10;
|
|
int local_c;
|
|
uint *local_8;
|
|
|
|
FUN_00414c58(param_1);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,s_audio_component_004e9b6b);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_8);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_control_ID_004e9b7b);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9b86,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_004e9bab,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9bb6,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9bb8,s_d__tesla_bt_munga_AUDCMP_CPP_004e9bf8
|
|
,0x599);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_wave_form_004e9c15);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9c1f,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_wave_form_004e9c44,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9c4e,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9c50,s_d__tesla_bt_munga_AUDCMP_CPP_004e9c90
|
|
,0x59a);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_period_004e9cad);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9cb4,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_period_004e9cd9,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9ce0,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9ce2,s_d__tesla_bt_munga_AUDCMP_CPP_004e9d22
|
|
,0x59b);
|
|
}
|
|
FUN_00407b78(pcVar2,&local_14);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_min_value_004e9d3f);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9d49,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_min_value_004e9d6e,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9d78,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9d7a,s_d__tesla_bt_munga_AUDCMP_CPP_004e9dba
|
|
,0x5a0);
|
|
}
|
|
FUN_00407b78(pcVar2,&local_18);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_18,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_max_value_004e9dd7);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9de1,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_max_value_004e9e06,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9e10,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9e12,s_d__tesla_bt_munga_AUDCMP_CPP_004e9e52
|
|
,0x5a1);
|
|
}
|
|
FUN_00407b78(pcVar2,&local_1c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_1c,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_dump_value_004e9e6f);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9e7a,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_dump_value_004e9e9f,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004e9eaa,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004e9eac,s_d__tesla_bt_munga_AUDCMP_CPP_004e9eec
|
|
,0x5a2);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_20);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_20,4);
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ab00 file=? name=FUN_0043ab00 */
|
|
|
|
void __cdecl
|
|
FUN_0043ab00(int param_1,int param_2,int param_3,undefined4 param_4,undefined4 param_5,
|
|
undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
undefined4 local_c;
|
|
undefined4 local_8;
|
|
|
|
(**(code **)(*(int *)(param_1 + 0x24) + 4))(param_1 + 0x24,param_2);
|
|
(**(code **)(*(int *)(param_2 + 0x14) + 4))(param_2 + 0x14,param_1);
|
|
*(undefined4 *)(param_1 + 0x30) = param_4;
|
|
*(undefined4 *)(param_1 + 0x34) = param_5;
|
|
*(undefined4 *)(param_1 + 0x38) = param_7;
|
|
*(undefined4 *)(param_1 + 0x3c) = param_8;
|
|
local_8 = param_6;
|
|
uVar1 = FUN_00437404();
|
|
*(undefined4 *)(param_1 + 0x40) = uVar1;
|
|
FUN_004373e8(&local_c);
|
|
*(undefined4 *)(param_1 + 0x44) = local_c;
|
|
*(undefined4 *)(param_1 + 0x48) = param_9;
|
|
FUN_004206b4(param_3,param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ab88 file=? name=FUN_0043ab88 */
|
|
|
|
void __cdecl FUN_0043ab88(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004e9fa4;
|
|
FUN_0043accb(param_1 + 9,2);
|
|
FUN_00436d4c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043abc4 file=? name=FUN_0043abc4 */
|
|
|
|
void __cdecl FUN_0043abc4(int param_1)
|
|
|
|
{
|
|
FUN_00436e14(param_1);
|
|
FUN_0043abf4(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043abdc file=? name=FUN_0043abdc */
|
|
|
|
void __cdecl FUN_0043abdc(int param_1,int param_2)
|
|
|
|
{
|
|
if (param_2 == 1) {
|
|
FUN_0043abf4(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043abf4 file=? name=FUN_0043abf4 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_0043abf4(int param_1)
|
|
|
|
{
|
|
int *piVar1;
|
|
float10 fVar2;
|
|
float10 fVar3;
|
|
float10 fVar4;
|
|
int local_14;
|
|
float local_10;
|
|
float local_c;
|
|
float local_8;
|
|
|
|
FUN_004373e8(&local_14);
|
|
fVar2 = FUN_00437428(&local_14,local_14);
|
|
local_8 = (float)fVar2;
|
|
fVar3 = FUN_00437428((int *)(param_1 + 0x44),*(int *)(param_1 + 0x44));
|
|
fVar2 = (float10)local_8;
|
|
fVar4 = FUN_00437428((int *)(param_1 + 0x40),*(int *)(param_1 + 0x40));
|
|
local_8 = (float)((float10)(float)(fVar2 - fVar3) / fVar4);
|
|
fVar2 = (float10)FUN_004dd0f4(SUB84((double)(local_8 * _DAT_0043aca0),0),
|
|
(int)((ulonglong)(double)(local_8 * _DAT_0043aca0) >> 0x20));
|
|
local_c = (float)((fVar2 + (float10)_DAT_0043aca4) * (float10)_DAT_0043aca8);
|
|
local_10 = (*(float *)(param_1 + 0x3c) - *(float *)(param_1 + 0x38)) * local_c +
|
|
*(float *)(param_1 + 0x38);
|
|
piVar1 = (int *)FUN_00417ab4(param_1 + 0x24);
|
|
(**(code **)(*piVar1 + 0x18))(piVar1,*(undefined4 *)(param_1 + 0x30),local_10);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043acac file=? name=FUN_0043acac */
|
|
|
|
undefined4 * __cdecl FUN_0043acac(undefined4 *param_1,undefined4 param_2)
|
|
|
|
{
|
|
FUN_004179d4(param_1,param_2);
|
|
*param_1 = &PTR_FUN_004e9f9c;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043accb file=? name=FUN_0043accb */
|
|
|
|
void __cdecl FUN_0043accb(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004e9f9c;
|
|
FUN_004179f8(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043acf7 file=? name=FUN_0043acf7 */
|
|
|
|
undefined4 * __cdecl FUN_0043acf7(undefined4 *param_1,undefined4 param_2)
|
|
|
|
{
|
|
FUN_0041827c(param_1,param_2);
|
|
*param_1 = &PTR_FUN_004e9f94;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ad16 file=? name=FUN_0043ad16 */
|
|
|
|
void __cdecl FUN_0043ad16(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004e9f94;
|
|
FUN_004182a8(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ad42 file=? name=FUN_0043ad42 */
|
|
|
|
void __cdecl FUN_0043ad42(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 8) = 0;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ad4f file=? name=FUN_0043ad4f */
|
|
|
|
uint * __cdecl FUN_0043ad4f(uint *param_1,uint param_2,undefined4 param_3)
|
|
|
|
{
|
|
param_1[2] = 0;
|
|
FUN_0043ad70(param_1,param_2,param_3);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ad70 file=? name=FUN_0043ad70 */
|
|
|
|
void __cdecl FUN_0043ad70(uint *param_1,uint param_2,undefined4 param_3)
|
|
|
|
{
|
|
uint uVar1;
|
|
|
|
if ((int *)param_1[2] != (int *)0x0) {
|
|
FUN_004022e8((int *)param_1[2]);
|
|
}
|
|
*param_1 = param_2;
|
|
uVar1 = FUN_004022b0(param_2 << 2);
|
|
param_1[2] = uVar1;
|
|
param_1[1] = 0;
|
|
for (uVar1 = 0; uVar1 < *param_1; uVar1 = uVar1 + 1) {
|
|
*(undefined4 *)(param_1[2] + uVar1 * 4) = param_3;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043adb5 file=? name=FUN_0043adb5 */
|
|
|
|
void __cdecl FUN_0043adb5(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
FUN_004022e8((int *)param_1[2]);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043adda file=? name=FUN_0043adda */
|
|
|
|
undefined4 FUN_0043adda(void)
|
|
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ade4 file=? name=FUN_0043ade4 */
|
|
|
|
void __cdecl FUN_0043ade4(uint *param_1,undefined4 param_2)
|
|
|
|
{
|
|
*(undefined4 *)(param_1[2] + param_1[1] * 4) = param_2;
|
|
param_1[1] = param_1[1] + 1;
|
|
if (*param_1 <= param_1[1]) {
|
|
param_1[1] = 0;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ae0b file=? name=FUN_0043ae0b */
|
|
|
|
float10 __cdecl FUN_0043ae0b(uint *param_1)
|
|
|
|
{
|
|
uint uVar1;
|
|
float *pfVar2;
|
|
float local_8;
|
|
|
|
local_8 = 0.0;
|
|
pfVar2 = (float *)param_1[2];
|
|
for (uVar1 = 0; uVar1 < *param_1; uVar1 = uVar1 + 1) {
|
|
local_8 = *pfVar2 + local_8;
|
|
pfVar2 = pfVar2 + 1;
|
|
}
|
|
return (float10)local_8 / (float10)*param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ae47 file=? name=FUN_0043ae47 */
|
|
|
|
float10 __cdecl FUN_0043ae47(uint *param_1)
|
|
|
|
{
|
|
uint uVar1;
|
|
float *pfVar2;
|
|
float local_10;
|
|
float local_c;
|
|
float local_8;
|
|
|
|
local_c = *(float *)param_1[2];
|
|
local_10 = *(float *)param_1[2];
|
|
local_8 = 0.0;
|
|
pfVar2 = (float *)param_1[2];
|
|
for (uVar1 = 0; uVar1 < *param_1; uVar1 = uVar1 + 1) {
|
|
local_8 = *pfVar2 + local_8;
|
|
if (*pfVar2 < local_c) {
|
|
local_c = *pfVar2;
|
|
}
|
|
if (local_10 < *pfVar2) {
|
|
local_10 = *pfVar2;
|
|
}
|
|
pfVar2 = pfVar2 + 1;
|
|
}
|
|
return (float10)((local_8 - local_c) - local_10) / (float10)(*param_1 - 2);
|
|
}
|
|
|
|
|
|
|
|
/* @0043aed4 file=? name=FUN_0043aed4 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
float10 __cdecl FUN_0043aed4(uint *param_1)
|
|
|
|
{
|
|
uint uVar1;
|
|
float fVar2;
|
|
float fVar3;
|
|
uint uVar4;
|
|
float local_1c;
|
|
float local_c;
|
|
float local_8;
|
|
|
|
local_8 = 0.0;
|
|
local_c = 0.0;
|
|
uVar1 = *param_1;
|
|
fVar2 = (float)uVar1;
|
|
fVar3 = fVar2 * fVar2 * _DAT_0043af9c;
|
|
fVar2 = fVar2 * _DAT_0043af9c + fVar3;
|
|
uVar4 = param_1[1];
|
|
local_1c = 1.0;
|
|
do {
|
|
local_8 = *(float *)(param_1[2] + uVar4 * 4) + local_8;
|
|
local_c = local_1c * *(float *)(param_1[2] + uVar4 * 4) + local_c;
|
|
local_1c = _DAT_0043afb8 + local_1c;
|
|
uVar4 = uVar4 + 1;
|
|
if (uVar4 == *param_1) {
|
|
uVar4 = 0;
|
|
}
|
|
} while (uVar4 != param_1[1]);
|
|
return ((float10)uVar1 * (float10)local_c - (float10)fVar2 * (float10)local_8) /
|
|
((float10)uVar1 *
|
|
(float10)(float)(_DAT_0043afac * (float10)uVar1 +
|
|
_DAT_0043afa0 * (float10)uVar1 * (float10)uVar1 * (float10)uVar1 +
|
|
(float10)fVar3) - (float10)fVar2 * (float10)fVar2);
|
|
}
|
|
|
|
|
|
|
|
/* @0043afbc file=? name=FUN_0043afbc */
|
|
|
|
void __cdecl FUN_0043afbc(int *param_1,int *param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 local_8;
|
|
|
|
(**(code **)(*param_1 + 0x1c))(param_1,&local_8,4);
|
|
iVar1 = FUN_004170e4((int)param_1,local_8);
|
|
*param_2 = iVar1;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043afeb file=? name=FUN_0043afeb */
|
|
|
|
undefined4 * __cdecl FUN_0043afeb(undefined4 *param_1,int param_2)
|
|
|
|
{
|
|
FUN_00418398(param_1,param_2);
|
|
*param_1 = &PTR_FUN_004e9f40;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b00a file=? name=FUN_0043b00a */
|
|
|
|
undefined4 * __cdecl FUN_0043b00a(undefined4 *param_1,int param_2)
|
|
|
|
{
|
|
FUN_00418398(param_1,param_2);
|
|
*param_1 = &PTR_FUN_004e9f40;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b029 file=? name=FUN_0043b029 */
|
|
|
|
undefined4 * __cdecl FUN_0043b029(undefined4 *param_1,int param_2)
|
|
|
|
{
|
|
FUN_004183c0(param_1,param_2);
|
|
*param_1 = &PTR_FUN_004e9f40;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b048 file=? name=FUN_0043b048 */
|
|
|
|
void __cdecl FUN_0043b048(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004e9f40;
|
|
FUN_004183ec(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b074 file=? name=FUN_0043b074 */
|
|
|
|
void __cdecl FUN_0043b074(int *param_1,int *param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 local_8;
|
|
|
|
(**(code **)(*param_1 + 0x1c))(param_1,&local_8,4);
|
|
iVar1 = FUN_004170e4((int)param_1,local_8);
|
|
*param_2 = iVar1;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b0a3 file=? name=FUN_0043b0a3 */
|
|
|
|
void __cdecl FUN_0043b0a3(int *param_1,int *param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 local_8;
|
|
|
|
(**(code **)(*param_1 + 0x1c))(param_1,&local_8,4);
|
|
iVar1 = FUN_004170e4((int)param_1,local_8);
|
|
*param_2 = iVar1;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b0d2 file=? name=FUN_0043b0d2 */
|
|
|
|
undefined4 FUN_0043b0d2(void)
|
|
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b0dc file=? name=FUN_0043b0dc */
|
|
|
|
undefined4 * __cdecl FUN_0043b0dc(undefined4 *param_1)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
|
|
param_1[4] = 0xffffffff;
|
|
param_1[5] = 0xffffffff;
|
|
*param_1 = 0x42700000;
|
|
param_1[1] = 0;
|
|
param_1[2] = 0;
|
|
param_1[3] = 0;
|
|
uVar1 = FUN_00437404();
|
|
param_1[4] = uVar1;
|
|
uVar1 = FUN_00437404();
|
|
param_1[5] = uVar1;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b138 file=? name=FUN_0043b138 */
|
|
|
|
void __cdecl FUN_0043b138(int *param_1,byte param_2)
|
|
|
|
{
|
|
if ((param_1 != (int *)0x0) && ((param_2 & 1) != 0)) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b154 file=? name=FUN_0043b154 */
|
|
|
|
undefined4 FUN_0043b154(void)
|
|
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b170 file=? name=FUN_0043b170 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_0043b170(int param_1,float param_2)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
undefined4 uVar3;
|
|
int local_14 [2];
|
|
float local_c;
|
|
int local_8;
|
|
|
|
if (param_2 <= _DAT_0043b228) {
|
|
if (*(int *)(param_1 + 4) == 0) {
|
|
*(undefined4 *)(param_1 + 8) = 0;
|
|
uVar3 = FUN_00437404();
|
|
*(undefined4 *)(param_1 + 0x14) = uVar3;
|
|
}
|
|
else {
|
|
*(undefined4 *)(param_1 + 8) = 1;
|
|
FUN_004373e8(local_14);
|
|
piVar1 = (int *)(param_1 + 0x14);
|
|
*piVar1 = local_14[0];
|
|
iVar2 = FUN_00437404();
|
|
*piVar1 = *piVar1 + iVar2;
|
|
*(undefined4 *)(param_1 + 4) = 0;
|
|
}
|
|
}
|
|
else {
|
|
*(undefined4 *)(param_1 + 8) = 1;
|
|
FUN_004373e8(&local_8);
|
|
piVar1 = (int *)(param_1 + 0x14);
|
|
*piVar1 = local_8;
|
|
local_c = param_2;
|
|
iVar2 = FUN_00437404();
|
|
*piVar1 = *piVar1 + iVar2;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b22c file=? name=FUN_0043b22c */
|
|
|
|
undefined4 * __cdecl FUN_0043b22c(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined4 local_34;
|
|
undefined4 local_30;
|
|
undefined4 local_2c;
|
|
undefined1 local_28 [4];
|
|
undefined4 local_24;
|
|
undefined4 local_20;
|
|
undefined4 local_1c;
|
|
undefined4 local_18;
|
|
undefined4 local_14;
|
|
undefined4 local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
FUN_00436d14(param_1,param_2,&DAT_004ea124);
|
|
*param_1 = &PTR_FUN_004ea820;
|
|
FUN_0043b0dc(param_1 + 0xc);
|
|
FUN_0043b0dc(param_1 + 0x12);
|
|
param_1[0x1f] = 0xffffffff;
|
|
local_2c = 0xffffffff;
|
|
FUN_00437e75(param_2,&local_8);
|
|
FUN_0043c11d(param_2,&local_c);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_10,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_14,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_18,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_1c,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_20,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_24,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,local_28,4);
|
|
local_2c = FUN_00437404();
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_30,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_34,4);
|
|
FUN_0043b8e8((int)param_1,local_8,local_c,param_3,local_10,local_14,local_18,local_1c,local_20,
|
|
local_24,&local_2c,local_30,local_34);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b37c file=munga/audsrc.cpp name=FUN_0043b37c */
|
|
|
|
void __cdecl FUN_0043b37c(int *param_1,int param_2)
|
|
|
|
{
|
|
uint *puVar1;
|
|
char *pcVar2;
|
|
int local_30;
|
|
int local_2c;
|
|
float local_28;
|
|
int local_24;
|
|
float local_20;
|
|
float local_1c;
|
|
float local_18;
|
|
int local_14;
|
|
int local_10;
|
|
uint *local_c;
|
|
uint *local_8;
|
|
|
|
FUN_00414c58(param_1);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,s_resource_004ea143);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_8);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_c = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_c = FUN_00402460(puVar1,s_location_004ea14c);
|
|
}
|
|
local_c[3] = local_c[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_c);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_priority_004ea155);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea15e,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_priority_004ea183,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ea18c,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea18e,s_d__tesla_bt_munga_AUDSRC_CPP_004ea1ce
|
|
,0xf7);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_mix_presence_004ea1eb);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea1f8,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_mix_presence_004ea21d,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ea22a,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea22c,s_d__tesla_bt_munga_AUDSRC_CPP_004ea26c
|
|
,0xf8);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_14);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_volume_mix_level_004ea289);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea29a,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_volume_mix_level_004ea2bf,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ea2d0,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea2d2,s_d__tesla_bt_munga_AUDSRC_CPP_004ea312
|
|
,0xf9);
|
|
}
|
|
FUN_00407b78(pcVar2,&local_18);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_18,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_pitch_mix_offset_004ea32f);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea340,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_pitch_mix_offset_004ea365,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ea376,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea378,s_d__tesla_bt_munga_AUDSRC_CPP_004ea3b8
|
|
,0xfa);
|
|
}
|
|
FUN_00407b78(pcVar2,&local_1c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_1c,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_brightness_mix_level_004ea3d5);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea3ea,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_brightness_mix_level_004ea40f,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ea424,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea426,s_d__tesla_bt_munga_AUDSRC_CPP_004ea466
|
|
,0xfb);
|
|
}
|
|
FUN_00407b78(pcVar2,&local_20);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_20,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_has_compression_curve_004ea483);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea499,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_has_compression_curve_004ea4be,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ea4d4,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea4d6,s_d__tesla_bt_munga_AUDSRC_CPP_004ea516
|
|
,0xfc);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_24);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_24,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_compression_duration_004ea533);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea548,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_compression_duration_004ea56d,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ea582,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea584,s_d__tesla_bt_munga_AUDSRC_CPP_004ea5c4
|
|
,0xfd);
|
|
}
|
|
FUN_00407b78(pcVar2,&local_28);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_28,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_use_brightness_scale_004ea5e1);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea5f6,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_use_brightness_scale_004ea61b,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ea630,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea632,s_d__tesla_bt_munga_AUDSRC_CPP_004ea672
|
|
,0xfe);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_2c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_2c,4);
|
|
pcVar2 = (char *)FUN_00403ad0(param_2,s_use_attack_time_scale_004ea68f);
|
|
if (pcVar2 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea6a5,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_use_attack_time_scale_004ea6ca,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ea6e0,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ea6e2,s_d__tesla_bt_munga_AUDSRC_CPP_004ea722
|
|
,0xff);
|
|
}
|
|
FUN_00407ae0(pcVar2,&local_30);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_30,4);
|
|
puVar1 = local_c + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_c,3);
|
|
}
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b8e8 file=? name=FUN_0043b8e8 */
|
|
|
|
void __cdecl
|
|
FUN_0043b8e8(int param_1,undefined4 param_2,undefined4 param_3,int 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_1 + 0x24) = param_3;
|
|
*(undefined4 *)(param_1 + 0x28) = param_2;
|
|
*(undefined4 *)(param_1 + 0x2c) = 0;
|
|
*(undefined4 *)(param_1 + 0x60) = 0x3f800000;
|
|
*(undefined4 *)(param_1 + 100) = param_13;
|
|
*(undefined4 *)(param_1 + 0x68) = 0;
|
|
*(undefined4 *)(param_1 + 0x6c) = param_5;
|
|
*(undefined4 *)(param_1 + 0x70) = param_6;
|
|
*(undefined4 *)(param_1 + 0x74) = 0x3f800000;
|
|
*(undefined4 *)(param_1 + 0x78) = param_10;
|
|
*(undefined4 *)(param_1 + 0x7c) = *param_11;
|
|
*(undefined4 *)(param_1 + 0x80) = param_7;
|
|
*(undefined4 *)(param_1 + 0x84) = param_8;
|
|
*(undefined4 *)(param_1 + 0x88) = param_12;
|
|
*(undefined4 *)(param_1 + 0x8c) = param_9;
|
|
*(undefined4 *)(param_1 + 0x90) = 0x3f800000;
|
|
*(undefined4 *)(param_1 + 0x94) = 0;
|
|
*(undefined4 *)(param_1 + 0x98) = 0x3f800000;
|
|
*(undefined4 *)(param_1 + 0x9c) = 0xffffffff;
|
|
*(undefined4 *)(param_1 + 0xa0) = 0xffffffff;
|
|
FUN_004206b4(param_4,param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b998 file=? name=FUN_0043b998 */
|
|
|
|
void __cdecl FUN_0043b998(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ea820;
|
|
FUN_0043b138(param_1 + 0x12,2);
|
|
FUN_0043b138(param_1 + 0xc,2);
|
|
FUN_00436d4c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b9e0 file=? name=FUN_0043b9e0 */
|
|
|
|
undefined4 __cdecl FUN_0043b9e0(int param_1)
|
|
|
|
{
|
|
FUN_00436d88(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043b9f4 file=? name=FUN_0043b9f4 */
|
|
|
|
void __cdecl FUN_0043b9f4(int param_1,undefined4 param_2)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x28) = param_2;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ba04 file=? name=FUN_0043ba04 */
|
|
|
|
void __cdecl FUN_0043ba04(int param_1,int param_2)
|
|
|
|
{
|
|
int local_1c;
|
|
undefined4 local_18;
|
|
undefined4 local_14;
|
|
undefined4 local_10;
|
|
undefined4 local_c;
|
|
undefined4 local_8;
|
|
|
|
if (param_2 == 2) {
|
|
FUN_0043b0dc(&local_1c);
|
|
*(int *)(param_1 + 0x30) = local_1c;
|
|
*(undefined4 *)(param_1 + 0x34) = local_18;
|
|
*(undefined4 *)(param_1 + 0x38) = local_14;
|
|
*(undefined4 *)(param_1 + 0x3c) = local_10;
|
|
*(undefined4 *)(param_1 + 0x40) = local_c;
|
|
*(undefined4 *)(param_1 + 0x44) = local_8;
|
|
FUN_0043b138(&local_1c,2);
|
|
}
|
|
*(int *)(param_1 + 0x2c) = param_2;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ba64 file=? name=FUN_0043ba64 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
float10 __cdecl FUN_0043ba64(int *param_1)
|
|
|
|
{
|
|
float10 fVar1;
|
|
int local_14;
|
|
int local_10;
|
|
float local_c;
|
|
float local_8;
|
|
|
|
fVar1 = (float10)(**(code **)(*param_1 + 0x1c))(param_1);
|
|
local_8 = (float)fVar1;
|
|
if (param_1[0x1e] == 0) {
|
|
fVar1 = (float10)local_8;
|
|
}
|
|
else {
|
|
FUN_004373e8(&local_10);
|
|
local_14 = local_10 - param_1[0x16];
|
|
fVar1 = FUN_00437428(&local_14,local_14);
|
|
local_c = (float)fVar1;
|
|
fVar1 = FUN_00437428(param_1 + 0x1f,param_1[0x1f]);
|
|
fVar1 = FUN_004dce94((double)((_DAT_0043bb10 / (float)fVar1) * local_c),0,0x40000000);
|
|
fVar1 = (float10)(_DAT_0043bb10 / (_DAT_0043bb10 + (float)fVar1)) * (float10)local_8;
|
|
}
|
|
return fVar1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043bb14 file=? name=FUN_0043bb14 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
float10 __cdecl FUN_0043bb14(int param_1)
|
|
|
|
{
|
|
float fVar1;
|
|
float fVar2;
|
|
|
|
FUN_00436db0(param_1);
|
|
fVar1 = *(float *)(param_1 + 0x90) * *(float *)(param_1 + 0x80) * *(float *)(param_1 + 0x74);
|
|
fVar2 = _DAT_004e8634;
|
|
if ((_DAT_004e8634 <= fVar1) && (fVar2 = fVar1, _DAT_004e8630 < fVar1)) {
|
|
fVar2 = _DAT_004e8630;
|
|
}
|
|
return (float10)fVar2;
|
|
}
|
|
|
|
|
|
|
|
/* @0043bb70 file=? name=FUN_0043bb70 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
float10 __cdecl FUN_0043bb70(int param_1)
|
|
|
|
{
|
|
float fVar1;
|
|
float fVar2;
|
|
|
|
fVar1 = *(float *)(param_1 + 0x98) * *(float *)(param_1 + 0x8c);
|
|
fVar2 = _DAT_004e8640;
|
|
if ((_DAT_004e8640 <= fVar1) && (fVar2 = fVar1, _DAT_004e863c < fVar1)) {
|
|
fVar2 = _DAT_004e863c;
|
|
}
|
|
return (float10)fVar2;
|
|
}
|
|
|
|
|
|
|
|
/* @0043bbc0 file=munga/audsrc.cpp name=FUN_0043bbc0 */
|
|
|
|
void __cdecl FUN_0043bbc0(int *param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
{
|
|
uint local_30 [10];
|
|
undefined4 local_8;
|
|
|
|
switch(param_2) {
|
|
case 0:
|
|
case 9:
|
|
break;
|
|
case 1:
|
|
local_8 = param_3;
|
|
local_30[5] = 0x14;
|
|
local_30[6] = 4;
|
|
local_30[7] = 1;
|
|
local_30[8] = 1;
|
|
local_30[9] = param_3;
|
|
FUN_00442068(*(int *)(DAT_004efc94 + 0x44),param_1,local_30 + 5);
|
|
break;
|
|
case 2:
|
|
local_30[0] = 0x14;
|
|
local_30[1] = 5;
|
|
local_30[2] = 1;
|
|
local_30[3] = 2;
|
|
local_30[4] = 0;
|
|
FUN_00442068(*(int *)(DAT_004efc94 + 0x44),param_1,local_30);
|
|
break;
|
|
case 3:
|
|
(**(code **)(*param_1 + 0x28))(param_1,param_3);
|
|
break;
|
|
case 4:
|
|
(**(code **)(*param_1 + 0x2c))(param_1,param_3);
|
|
break;
|
|
case 5:
|
|
(**(code **)(*param_1 + 0x30))(param_1,param_3);
|
|
break;
|
|
case 6:
|
|
(**(code **)(*param_1 + 0x34))(param_1,param_3);
|
|
break;
|
|
case 7:
|
|
(**(code **)(*param_1 + 0x38))(param_1,param_3);
|
|
break;
|
|
case 8:
|
|
(**(code **)(*param_1 + 0x3c))(param_1,param_3);
|
|
break;
|
|
case 10:
|
|
(**(code **)(*param_1 + 0x40))(param_1,param_3);
|
|
break;
|
|
case 0xb:
|
|
FUN_004421b4(*(int *)(DAT_004efc94 + 0x44),(int)param_1);
|
|
break;
|
|
default:
|
|
FUN_0040385c(s_AudioSource__ReceiveControl___Sh_004ea73f,s_d__tesla_bt_munga_AUDSRC_CPP_004ea775
|
|
,0x233);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043bd20 file=? name=FUN_0043bd20 */
|
|
|
|
void __cdecl FUN_0043bd20(int *param_1,int param_2)
|
|
|
|
{
|
|
int local_10;
|
|
undefined4 local_c;
|
|
int local_8;
|
|
|
|
local_c = DAT_004e862c;
|
|
local_8 = FUN_00437404();
|
|
if ((param_1[0xb] == 2) && (FUN_004373e8(&local_10), local_10 - param_1[0x16] <= local_8)) {
|
|
return;
|
|
}
|
|
if (param_1[0xb] != 0) {
|
|
FUN_0043be08(param_1);
|
|
}
|
|
param_1[0x12] = param_1[0xc];
|
|
param_1[0x13] = param_1[0xd];
|
|
param_1[0x14] = param_1[0xe];
|
|
param_1[0x15] = param_1[0xf];
|
|
param_1[0x16] = param_1[0x10];
|
|
param_1[0x17] = param_1[0x11];
|
|
FUN_0043b170((int)(param_1 + 0x12),*(float *)(param_2 + 0x10));
|
|
(**(code **)(*param_1 + 0x54))(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043be08 file=? name=FUN_0043be08 */
|
|
|
|
void __cdecl FUN_0043be08(int *param_1)
|
|
|
|
{
|
|
if (param_1[0xb] != 0) {
|
|
(**(code **)(*param_1 + 0x58))(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043be20 file=? name=FUN_0043be20 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_0043be20(int param_1,float param_2)
|
|
|
|
{
|
|
float fVar1;
|
|
|
|
fVar1 = _DAT_004e8634;
|
|
if ((_DAT_004e8634 <= param_2) && (fVar1 = param_2, _DAT_004e8630 < param_2)) {
|
|
fVar1 = _DAT_004e8630;
|
|
}
|
|
*(float *)(param_1 + 0x90) = fVar1 / (_DAT_004e8630 - _DAT_004e8634);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043be70 file=? name=FUN_0043be70 */
|
|
|
|
void __cdecl FUN_0043be70(int param_1,undefined4 param_2)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x94) = param_2;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043be84 file=? name=FUN_0043be84 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_0043be84(int param_1,float param_2)
|
|
|
|
{
|
|
float fVar1;
|
|
|
|
fVar1 = _DAT_004e8640;
|
|
if ((_DAT_004e8640 <= param_2) && (fVar1 = param_2, _DAT_004e863c < param_2)) {
|
|
fVar1 = _DAT_004e863c;
|
|
}
|
|
*(float *)(param_1 + 0x98) = fVar1 / (_DAT_004e863c - _DAT_004e8640);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043bed4 file=? name=FUN_0043bed4 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_0043bed4(int param_1,float param_2)
|
|
|
|
{
|
|
float fVar1;
|
|
|
|
fVar1 = _DAT_004e8648;
|
|
if ((_DAT_004e8648 <= param_2) && (fVar1 = param_2, _DAT_004e8644 < param_2)) {
|
|
fVar1 = _DAT_004e8644;
|
|
}
|
|
*(float *)(param_1 + 0x60) = fVar1 / (_DAT_004e8644 - _DAT_004e8648);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043bf20 file=? name=FUN_0043bf20 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_0043bf20(int param_1,float param_2)
|
|
|
|
{
|
|
float fVar1;
|
|
|
|
fVar1 = _DAT_004e8648;
|
|
if ((_DAT_004e8648 <= param_2) && (fVar1 = param_2, _DAT_004e8644 < param_2)) {
|
|
fVar1 = _DAT_004e8644;
|
|
}
|
|
*(float *)(param_1 + 0x68) = fVar1 / (_DAT_004e8644 - _DAT_004e8648);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043bf6c file=? name=FUN_0043bf6c */
|
|
|
|
void __cdecl FUN_0043bf6c(int param_1,undefined4 param_2)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x30) = param_2;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043bf84 file=? name=FUN_0043bf84 */
|
|
|
|
void __cdecl FUN_0043bf84(int param_1,undefined4 param_2)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x34) = 1;
|
|
*(undefined4 *)(param_1 + 0x3c) = param_2;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043bfa4 file=? name=FUN_0043bfa4 */
|
|
|
|
void __cdecl FUN_0043bfa4(int param_1)
|
|
|
|
{
|
|
undefined4 local_8;
|
|
|
|
FUN_004373e8(&local_8);
|
|
*(undefined4 *)(param_1 + 0x58) = local_8;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043bfc4 file=munga/audsrc.cpp name=FUN_0043bfc4 */
|
|
|
|
void FUN_0043bfc4(void)
|
|
|
|
{
|
|
FUN_0040385c(s_AudioSource__StopImplementation___004ea792,s_d__tesla_bt_munga_AUDSRC_CPP_004ea7cc,
|
|
0x309);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043bfe0 file=? name=FUN_0043bfe0 */
|
|
|
|
void __cdecl FUN_0043bfe0(int *param_1)
|
|
|
|
{
|
|
(**(code **)(*param_1 + 0x48))(param_1);
|
|
param_1[0x28] =
|
|
*(int *)(*(int *)(*(int *)(DAT_004efc94 + 0x44) + 0x4c) + 4) +
|
|
*(int *)(*(int *)(param_1[10] + 0xc) + 0x14);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c014 file=? name=FUN_0043c014 */
|
|
|
|
void __cdecl FUN_0043c014(int *param_1)
|
|
|
|
{
|
|
(**(code **)(*param_1 + 0x44))(param_1);
|
|
param_1[0x28] = -1;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c030 file=? name=FUN_0043c030 */
|
|
|
|
void __cdecl FUN_0043c030(int *param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
int *piVar3;
|
|
|
|
iVar1 = *(int *)(DAT_004efc94 + 0x44);
|
|
iVar2 = *(int *)(*(int *)(iVar1 + 0x4c) + 4);
|
|
if (param_1[0x27] <= iVar2) {
|
|
param_1[0x27] = iVar2 + 2;
|
|
iVar1 = *(int *)(iVar1 + 0x4c);
|
|
piVar3 = (int *)param_1[9];
|
|
if (piVar3[0x18] <= *(int *)(iVar1 + 4)) {
|
|
piVar3[0x18] = *(int *)(iVar1 + 4) + piVar3[0x17];
|
|
(**(code **)(*piVar3 + 0x1c))(piVar3,iVar1);
|
|
}
|
|
FUN_00436e14((int)param_1);
|
|
(**(code **)(*param_1 + 0x5c))(param_1,0);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c11d file=? name=FUN_0043c11d */
|
|
|
|
void __cdecl FUN_0043c11d(int *param_1,int *param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 local_8;
|
|
|
|
(**(code **)(*param_1 + 0x1c))(param_1,&local_8,4);
|
|
iVar1 = FUN_004170e4((int)param_1,local_8);
|
|
*param_2 = iVar1;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c14c file=? name=FUN_0043c14c */
|
|
|
|
float10 __cdecl FUN_0043c14c(int param_1)
|
|
|
|
{
|
|
return (float10)*(float *)(param_1 + 0x84) + (float10)*(float *)(param_1 + 0x94);
|
|
}
|
|
|
|
|
|
|
|
/* @0043c160 file=? name=FUN_0043c160 */
|
|
|
|
void FUN_0043c160(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c165 file=? name=FUN_0043c165 */
|
|
|
|
void FUN_0043c165(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c16a file=? name=FUN_0043c16a */
|
|
|
|
void FUN_0043c16a(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c170 file=? name=FUN_0043c170 */
|
|
|
|
undefined4 * __cdecl FUN_0043c170(undefined4 *param_1)
|
|
|
|
{
|
|
FUN_004178cc(param_1,2);
|
|
*param_1 = &PTR_FUN_004ea9d0;
|
|
*(undefined2 *)(param_1 + 3) = 0;
|
|
param_1[4] = 0;
|
|
*(undefined2 *)(param_1 + 5) = 0;
|
|
param_1[6] = 0;
|
|
param_1[7] = 0;
|
|
*(undefined2 *)(param_1 + 8) = 0;
|
|
*(undefined2 *)((int)param_1 + 0x22) = 0;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c1b4 file=? name=FUN_0043c1b4 */
|
|
|
|
void __cdecl FUN_0043c1b4(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ea9d0;
|
|
if ((int *)param_1[7] != (int *)0x0) {
|
|
FUN_004022e8((int *)param_1[7]);
|
|
param_1[7] = 0;
|
|
}
|
|
FUN_0041790c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c1f4 file=? name=FUN_0043c1f4 */
|
|
|
|
undefined4 FUN_0043c1f4(void)
|
|
|
|
{
|
|
FUN_00415f1c();
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c208 file=? name=FUN_0043c208 */
|
|
|
|
undefined4 __cdecl FUN_0043c208(int param_1)
|
|
|
|
{
|
|
return *(undefined4 *)(param_1 + 0x10);
|
|
}
|
|
|
|
|
|
|
|
/* @0043c214 file=? name=FUN_0043c214 */
|
|
|
|
void __cdecl FUN_0043c214(int *param_1)
|
|
|
|
{
|
|
uint uVar1;
|
|
short sVar2;
|
|
|
|
uVar1 = FUN_0043c358(param_1);
|
|
while (sVar2 = (short)uVar1, uVar1 = (uint)(ushort)(sVar2 - 1), 0 < sVar2) {
|
|
FUN_0043c3c4(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c240 file=? name=FUN_0043c240 */
|
|
|
|
undefined4 __cdecl FUN_0043c240(int *param_1,char *param_2,short param_3)
|
|
|
|
{
|
|
char cVar1;
|
|
short sVar2;
|
|
uint uVar3;
|
|
uint uVar4;
|
|
ushort uVar5;
|
|
char *pcVar6;
|
|
char *pcVar7;
|
|
char local_2c [32];
|
|
char *local_c;
|
|
char local_8 [4];
|
|
|
|
uVar5 = 0;
|
|
local_c = s_expecting_004ea8a0;
|
|
while( true ) {
|
|
pcVar6 = local_8 + (short)uVar5;
|
|
if (uVar5 < 4) {
|
|
do {
|
|
sVar2 = (**(code **)(*param_1 + 0xc))(param_1);
|
|
if (sVar2 == -1) {
|
|
local_c = s_EOF_while_expecting_004ea8ab;
|
|
goto LAB_0043c2db;
|
|
}
|
|
*pcVar6 = (char)sVar2;
|
|
uVar5 = uVar5 + 1;
|
|
pcVar6 = pcVar6 + 1;
|
|
} while ((short)uVar5 < 4);
|
|
}
|
|
if ((((*param_2 == local_8[0]) && (param_2[1] == local_8[1])) && (param_2[2] == local_8[2])) &&
|
|
(param_2[3] == local_8[3])) {
|
|
return 0;
|
|
}
|
|
if (param_3 == 0) break;
|
|
local_8[0] = local_8[1];
|
|
uVar5 = 3;
|
|
local_8[1] = local_8[2];
|
|
local_8[2] = local_8[3];
|
|
}
|
|
LAB_0043c2db:
|
|
uVar3 = 0xffffffff;
|
|
pcVar6 = local_c;
|
|
do {
|
|
pcVar7 = pcVar6;
|
|
if (uVar3 == 0) break;
|
|
uVar3 = uVar3 - 1;
|
|
pcVar7 = pcVar6 + 1;
|
|
cVar1 = *pcVar6;
|
|
pcVar6 = pcVar7;
|
|
} while (cVar1 != '\0');
|
|
uVar3 = ~uVar3;
|
|
pcVar6 = pcVar7 + -uVar3;
|
|
pcVar7 = local_2c;
|
|
for (uVar4 = uVar3 >> 2; uVar4 != 0; uVar4 = uVar4 - 1) {
|
|
*(undefined4 *)pcVar7 = *(undefined4 *)pcVar6;
|
|
pcVar6 = pcVar6 + 4;
|
|
pcVar7 = pcVar7 + 4;
|
|
}
|
|
for (uVar3 = uVar3 & 3; uVar3 != 0; uVar3 = uVar3 - 1) {
|
|
*pcVar7 = *pcVar6;
|
|
pcVar6 = pcVar6 + 1;
|
|
pcVar7 = pcVar7 + 1;
|
|
}
|
|
FUN_004d49b8(local_2c,param_2);
|
|
FUN_0043c978(param_1,local_2c);
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c328 file=? name=FUN_0043c328 */
|
|
|
|
undefined4 __cdecl FUN_0043c328(int *param_1)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
|
|
uVar1 = (**(code **)(*param_1 + 0xc))(param_1);
|
|
if ((short)uVar1 == -1) {
|
|
FUN_0043c978(param_1,s_premature_EOF_004ea8c0);
|
|
}
|
|
param_1[6] = param_1[6] + -1;
|
|
return uVar1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c358 file=? name=FUN_0043c358 */
|
|
|
|
undefined4 __cdecl FUN_0043c358(int *param_1)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
undefined4 uVar2;
|
|
int iVar3;
|
|
undefined4 uVar4;
|
|
|
|
uVar1 = FUN_0043c240(param_1,&DAT_004ea8ce,(short)param_1[5]);
|
|
if ((short)uVar1 == -1) {
|
|
uVar2 = 0;
|
|
}
|
|
else {
|
|
iVar3 = FUN_0043c908(param_1);
|
|
param_1[6] = iVar3;
|
|
uVar1 = FUN_0043c950(param_1);
|
|
uVar2 = FUN_0043c950(param_1);
|
|
uVar4 = FUN_0043c950(param_1);
|
|
(**(code **)(*param_1 + 0x20))(param_1,uVar1,uVar2,uVar4);
|
|
while (0 < param_1[6]) {
|
|
FUN_0043c328(param_1);
|
|
}
|
|
}
|
|
return uVar2;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c3c4 file=? name=FUN_0043c3c4 */
|
|
|
|
void __cdecl FUN_0043c3c4(int *param_1)
|
|
|
|
{
|
|
short sVar1;
|
|
bool bVar2;
|
|
bool bVar3;
|
|
undefined2 uVar4;
|
|
undefined2 uVar5;
|
|
undefined4 uVar6;
|
|
int iVar7;
|
|
uint uVar8;
|
|
undefined4 uVar9;
|
|
uint uVar10;
|
|
uint extraout_EDX;
|
|
undefined2 extraout_var;
|
|
short sVar11;
|
|
short local_8;
|
|
|
|
local_8 = 0;
|
|
bVar3 = false;
|
|
uVar6 = FUN_0043c240(param_1,&DAT_004ea8d3,0);
|
|
if ((short)uVar6 != -1) {
|
|
iVar7 = FUN_0043c908(param_1);
|
|
param_1[6] = iVar7;
|
|
param_1[4] = 0;
|
|
(**(code **)(*param_1 + 0x14))(param_1);
|
|
while (0 < param_1[6]) {
|
|
uVar8 = FUN_0043c878(param_1);
|
|
param_1[4] = param_1[4] + uVar8;
|
|
uVar8 = FUN_0043c328(param_1);
|
|
sVar11 = (short)uVar8;
|
|
if ((bVar3) && (sVar11 != 0xf7)) {
|
|
FUN_0043c978(param_1,s_didn_t_find_expected_continuatio_004ea8d8);
|
|
}
|
|
if ((uVar8 & 0x80) == 0) {
|
|
if (local_8 == 0) {
|
|
FUN_0043c978(param_1,s_unexpected_running_status_004ea905);
|
|
}
|
|
bVar2 = true;
|
|
}
|
|
else {
|
|
bVar2 = false;
|
|
local_8 = sVar11;
|
|
}
|
|
uVar10 = (int)local_8 >> 4 & 0xf;
|
|
sVar1 = *(short *)(&DAT_004ea880 + uVar10 * 2);
|
|
if (sVar1 == 0) {
|
|
if (sVar11 == 0xf0) {
|
|
uVar10 = FUN_0043c878(param_1);
|
|
iVar7 = param_1[6];
|
|
FUN_0043c990((int)param_1);
|
|
FUN_0043c9b8((int)param_1,0xf0);
|
|
while ((int)(iVar7 - uVar10) < param_1[6]) {
|
|
uVar8 = FUN_0043c328(param_1);
|
|
FUN_0043c9b8((int)param_1,(char)uVar8);
|
|
}
|
|
if (((short)uVar8 == 0xf7) || ((short)param_1[3] == 0)) {
|
|
FUN_0043c778(param_1);
|
|
}
|
|
else {
|
|
bVar3 = true;
|
|
}
|
|
}
|
|
else if (sVar11 == 0xf7) {
|
|
uVar10 = FUN_0043c878(param_1);
|
|
iVar7 = param_1[6];
|
|
if (!bVar3) {
|
|
FUN_0043c990((int)param_1);
|
|
}
|
|
while ((int)(iVar7 - uVar10) < param_1[6]) {
|
|
uVar8 = FUN_0043c328(param_1);
|
|
FUN_0043c9b8((int)param_1,(char)uVar8);
|
|
}
|
|
if (bVar3) {
|
|
if ((short)uVar8 == 0xf7) {
|
|
FUN_0043c778(param_1);
|
|
bVar3 = false;
|
|
}
|
|
}
|
|
else {
|
|
uVar6 = FUN_0043c9a0((int)param_1);
|
|
uVar5 = FUN_0043c9ac((int)param_1);
|
|
(**(code **)(*param_1 + 0x44))(param_1,uVar5,uVar6);
|
|
}
|
|
}
|
|
else if (sVar11 == 0xff) {
|
|
uVar6 = FUN_0043c328(param_1);
|
|
uVar8 = FUN_0043c878(param_1);
|
|
iVar7 = param_1[6];
|
|
FUN_0043c990((int)param_1);
|
|
while ((int)(iVar7 - uVar8) < param_1[6]) {
|
|
uVar9 = FUN_0043c328(param_1);
|
|
FUN_0043c9b8((int)param_1,(char)uVar9);
|
|
}
|
|
FUN_0043c638(param_1,(short)uVar6);
|
|
}
|
|
else {
|
|
FUN_0043c604(param_1);
|
|
}
|
|
}
|
|
else {
|
|
if (!bVar2) {
|
|
uVar6 = FUN_0043c328(param_1);
|
|
sVar11 = (short)uVar6;
|
|
uVar10 = extraout_EDX;
|
|
}
|
|
uVar5 = (undefined2)(uVar10 >> 0x10);
|
|
if (sVar1 < 2) {
|
|
uVar4 = 0;
|
|
}
|
|
else {
|
|
uVar6 = FUN_0043c328(param_1);
|
|
uVar4 = (undefined2)uVar6;
|
|
uVar5 = extraout_var;
|
|
}
|
|
FUN_0043c79c(param_1,CONCAT22(uVar5,local_8),sVar11,uVar4);
|
|
}
|
|
}
|
|
(**(code **)(*param_1 + 0x18))(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c604 file=? name=FUN_0043c604 */
|
|
|
|
void __cdecl FUN_0043c604(int *param_1)
|
|
|
|
{
|
|
undefined1 local_24 [32];
|
|
|
|
FUN_004d7f10(local_24,s_unexpected_byte__0x_02x_004ea91f);
|
|
FUN_0043c978(param_1,local_24);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c638 file=? name=FUN_0043c638 */
|
|
|
|
void __cdecl FUN_0043c638(int *param_1,short param_2)
|
|
|
|
{
|
|
undefined2 uVar1;
|
|
char *pcVar2;
|
|
int iVar3;
|
|
undefined4 uVar4;
|
|
undefined2 extraout_var;
|
|
|
|
uVar1 = FUN_0043c9ac((int)param_1);
|
|
pcVar2 = (char *)FUN_0043c9a0((int)param_1);
|
|
iVar3 = (int)param_2;
|
|
if (iVar3 < 0x55) {
|
|
if (iVar3 == 0x54) {
|
|
(**(code **)(*param_1 + 0x50))
|
|
(param_1,(int)*pcVar2,(int)pcVar2[1],(int)pcVar2[2],(int)pcVar2[3],(int)pcVar2[4]);
|
|
return;
|
|
}
|
|
if (iVar3 == 0) {
|
|
uVar4 = FUN_0043c8ec(param_1,(short)*pcVar2,(short)pcVar2[1]);
|
|
(**(code **)(*param_1 + 0x4c))(param_1,uVar4);
|
|
return;
|
|
}
|
|
if (iVar3 - 1U < 0xf) {
|
|
(**(code **)(*param_1 + 100))(param_1,CONCAT22(extraout_var,param_2),uVar1,pcVar2);
|
|
return;
|
|
}
|
|
if (iVar3 == 0x2f) {
|
|
(**(code **)(*param_1 + 0x1c))(param_1);
|
|
return;
|
|
}
|
|
if (iVar3 == 0x51) {
|
|
iVar3 = FUN_0043c8b0(param_1,0,(short)*pcVar2,(short)pcVar2[1],(short)pcVar2[2]);
|
|
(**(code **)(*param_1 + 0x58))(param_1,iVar3);
|
|
return;
|
|
}
|
|
}
|
|
else {
|
|
if (iVar3 == 0x58) {
|
|
(**(code **)(*param_1 + 0x54))
|
|
(param_1,(int)*pcVar2,(int)pcVar2[1],(int)pcVar2[2],(int)pcVar2[3]);
|
|
return;
|
|
}
|
|
if (iVar3 == 0x59) {
|
|
(**(code **)(*param_1 + 0x5c))(param_1,(int)*pcVar2,(int)pcVar2[1]);
|
|
return;
|
|
}
|
|
if (iVar3 == 0x7f) {
|
|
(**(code **)(*param_1 + 0x60))(param_1,uVar1,pcVar2);
|
|
return;
|
|
}
|
|
}
|
|
(**(code **)(*param_1 + 0x48))(param_1,param_2,uVar1,pcVar2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c778 file=? name=FUN_0043c778 */
|
|
|
|
void __cdecl FUN_0043c778(int *param_1)
|
|
|
|
{
|
|
undefined2 uVar1;
|
|
undefined4 uVar2;
|
|
|
|
uVar2 = FUN_0043c9a0((int)param_1);
|
|
uVar1 = FUN_0043c9ac((int)param_1);
|
|
(**(code **)(*param_1 + 0x40))(param_1,uVar1,uVar2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c79c file=? name=FUN_0043c79c */
|
|
|
|
void __cdecl FUN_0043c79c(int *param_1,uint param_2,undefined2 param_3,undefined2 param_4)
|
|
|
|
{
|
|
ushort uVar1;
|
|
uint uVar2;
|
|
|
|
uVar2 = param_2 & 0xffff000f;
|
|
uVar1 = (ushort)param_2 & 0xf0;
|
|
if (0xb0 < uVar1) {
|
|
if (uVar1 == 0xc0) {
|
|
(**(code **)(*param_1 + 0x38))(param_1,uVar2,param_3);
|
|
return;
|
|
}
|
|
if (uVar1 != 0xd0) {
|
|
if (uVar1 != 0xe0) {
|
|
return;
|
|
}
|
|
(**(code **)(*param_1 + 0x34))(param_1,uVar2,param_3,param_4);
|
|
return;
|
|
}
|
|
(**(code **)(*param_1 + 0x3c))(param_1,uVar2,param_3);
|
|
return;
|
|
}
|
|
if (uVar1 == 0xb0) {
|
|
(**(code **)(*param_1 + 0x30))(param_1,uVar2,param_3,param_4);
|
|
return;
|
|
}
|
|
if (uVar1 != 0x80) {
|
|
if (uVar1 == 0x90) {
|
|
(**(code **)(*param_1 + 0x24))(param_1,uVar2,param_3,param_4);
|
|
return;
|
|
}
|
|
if (uVar1 != 0xa0) {
|
|
return;
|
|
}
|
|
(**(code **)(*param_1 + 0x2c))(param_1,uVar2,param_3,param_4);
|
|
return;
|
|
}
|
|
(**(code **)(*param_1 + 0x28))(param_1,uVar2,param_3,param_4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c878 file=? name=FUN_0043c878 */
|
|
|
|
uint __cdecl FUN_0043c878(int *param_1)
|
|
|
|
{
|
|
uint uVar1;
|
|
uint uVar2;
|
|
|
|
uVar1 = FUN_0043c328(param_1);
|
|
uVar2 = (uint)(short)uVar1;
|
|
if ((uVar1 & 0x80) != 0) {
|
|
uVar2 = uVar2 & 0x7f;
|
|
do {
|
|
uVar1 = FUN_0043c328(param_1);
|
|
uVar2 = uVar2 * 0x80 + ((int)(short)uVar1 & 0x7fU);
|
|
} while ((uVar1 & 0x80) != 0);
|
|
}
|
|
return uVar2;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c8b0 file=? name=FUN_0043c8b0 */
|
|
|
|
int __cdecl FUN_0043c8b0(undefined4 param_1,short param_2,short param_3,short param_4,short param_5)
|
|
|
|
{
|
|
return ((((int)param_2 & 0xffU) * 0x100 + ((int)param_3 & 0xffU)) * 0x100 + ((int)param_4 & 0xffU)
|
|
) * 0x100 + ((int)param_5 & 0xffU);
|
|
}
|
|
|
|
|
|
|
|
/* @0043c8ec file=? name=FUN_0043c8ec */
|
|
|
|
undefined4 __cdecl FUN_0043c8ec(undefined4 param_1,undefined2 param_2,ushort param_3)
|
|
|
|
{
|
|
undefined4 in_EAX;
|
|
uint uVar1;
|
|
|
|
uVar1 = CONCAT22((short)((uint)in_EAX >> 0x10),param_2) & 0xffff00ff;
|
|
return CONCAT22((short)(uVar1 >> 8),(short)(uVar1 << 8) + (param_3 & 0xff));
|
|
}
|
|
|
|
|
|
|
|
/* @0043c908 file=? name=FUN_0043c908 */
|
|
|
|
void __cdecl FUN_0043c908(int *param_1)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
undefined4 uVar2;
|
|
undefined4 uVar3;
|
|
undefined4 uVar4;
|
|
|
|
uVar1 = FUN_0043c328(param_1);
|
|
uVar2 = FUN_0043c328(param_1);
|
|
uVar3 = FUN_0043c328(param_1);
|
|
uVar4 = FUN_0043c328(param_1);
|
|
FUN_0043c8b0(param_1,(short)uVar1,(short)uVar2,(short)uVar3,(short)uVar4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c950 file=? name=FUN_0043c950 */
|
|
|
|
void __cdecl FUN_0043c950(int *param_1)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
undefined4 uVar2;
|
|
|
|
uVar1 = FUN_0043c328(param_1);
|
|
uVar2 = FUN_0043c328(param_1);
|
|
FUN_0043c8ec(param_1,(short)uVar1,(ushort)uVar2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c978 file=? name=FUN_0043c978 */
|
|
|
|
void __cdecl FUN_0043c978(int *param_1,undefined4 param_2)
|
|
|
|
{
|
|
(**(code **)(*param_1 + 0x10))(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c990 file=? name=FUN_0043c990 */
|
|
|
|
void __cdecl FUN_0043c990(int param_1)
|
|
|
|
{
|
|
*(undefined2 *)(param_1 + 0x22) = 0;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c9a0 file=? name=FUN_0043c9a0 */
|
|
|
|
undefined4 __cdecl FUN_0043c9a0(int param_1)
|
|
|
|
{
|
|
return *(undefined4 *)(param_1 + 0x1c);
|
|
}
|
|
|
|
|
|
|
|
/* @0043c9ac file=? name=FUN_0043c9ac */
|
|
|
|
undefined2 __cdecl FUN_0043c9ac(int param_1)
|
|
|
|
{
|
|
return *(undefined2 *)(param_1 + 0x22);
|
|
}
|
|
|
|
|
|
|
|
/* @0043c9b8 file=? name=FUN_0043c9b8 */
|
|
|
|
void __cdecl FUN_0043c9b8(int param_1,undefined1 param_2)
|
|
|
|
{
|
|
short sVar1;
|
|
|
|
if (*(short *)(param_1 + 0x20) <= *(short *)(param_1 + 0x22)) {
|
|
FUN_0043c9e8(param_1);
|
|
}
|
|
sVar1 = *(short *)(param_1 + 0x22);
|
|
*(short *)(param_1 + 0x22) = *(short *)(param_1 + 0x22) + 1;
|
|
*(undefined1 *)(*(int *)(param_1 + 0x1c) + (int)sVar1) = param_2;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043c9e8 file=? name=FUN_0043c9e8 */
|
|
|
|
void __cdecl FUN_0043c9e8(int param_1)
|
|
|
|
{
|
|
short sVar1;
|
|
int *piVar2;
|
|
undefined1 *puVar3;
|
|
int *piVar4;
|
|
undefined1 *puVar5;
|
|
|
|
sVar1 = *(short *)(param_1 + 0x20);
|
|
piVar2 = *(int **)(param_1 + 0x1c);
|
|
*(short *)(param_1 + 0x20) = *(short *)(param_1 + 0x20) + 0x80;
|
|
puVar3 = (undefined1 *)FUN_004022b0((int)*(short *)(param_1 + 0x20));
|
|
if (piVar2 != (int *)0x0) {
|
|
puVar5 = puVar3;
|
|
for (piVar4 = piVar2; piVar4 != (int *)((int)sVar1 + (int)piVar2);
|
|
piVar4 = (int *)((int)piVar4 + 1)) {
|
|
*puVar5 = (char)*piVar4;
|
|
puVar5 = puVar5 + 1;
|
|
}
|
|
FUN_004022e8(piVar2);
|
|
}
|
|
*(undefined1 **)(param_1 + 0x1c) = puVar3;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ca48 file=munga/audmidi.cpp name=FUN_0043ca48 */
|
|
|
|
undefined4 FUN_0043ca48(void)
|
|
|
|
{
|
|
FUN_0040385c(s_MidiParse__Mf_getc___Should_neve_004ea937,s_d__tesla_bt_munga_AUDMIDI_CPP_004ea964,
|
|
0x2b6);
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ca68 file=munga/audmidi.cpp name=FUN_0043ca68 */
|
|
|
|
void FUN_0043ca68(void)
|
|
|
|
{
|
|
FUN_0040385c(s_MidiParse__Mf_error___Should_nev_004ea982,s_d__tesla_bt_munga_AUDMIDI_CPP_004ea9b0,
|
|
0x2c1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ca84 file=? name=FUN_0043ca84 */
|
|
|
|
void FUN_0043ca84(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ca89 file=? name=FUN_0043ca89 */
|
|
|
|
void FUN_0043ca89(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ca8e file=? name=FUN_0043ca8e */
|
|
|
|
void FUN_0043ca8e(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ca93 file=? name=FUN_0043ca93 */
|
|
|
|
void FUN_0043ca93(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ca98 file=? name=FUN_0043ca98 */
|
|
|
|
void FUN_0043ca98(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ca9d file=? name=FUN_0043ca9d */
|
|
|
|
void FUN_0043ca9d(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043caa2 file=? name=FUN_0043caa2 */
|
|
|
|
void FUN_0043caa2(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043caa7 file=? name=FUN_0043caa7 */
|
|
|
|
void FUN_0043caa7(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043caac file=? name=FUN_0043caac */
|
|
|
|
void FUN_0043caac(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cab1 file=? name=FUN_0043cab1 */
|
|
|
|
void FUN_0043cab1(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cab6 file=? name=FUN_0043cab6 */
|
|
|
|
void FUN_0043cab6(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cabb file=? name=FUN_0043cabb */
|
|
|
|
void FUN_0043cabb(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cac0 file=? name=FUN_0043cac0 */
|
|
|
|
void FUN_0043cac0(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cac5 file=? name=FUN_0043cac5 */
|
|
|
|
void FUN_0043cac5(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043caca file=? name=FUN_0043caca */
|
|
|
|
void FUN_0043caca(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cacf file=? name=FUN_0043cacf */
|
|
|
|
void FUN_0043cacf(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cad4 file=? name=FUN_0043cad4 */
|
|
|
|
void FUN_0043cad4(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cad9 file=? name=FUN_0043cad9 */
|
|
|
|
void FUN_0043cad9(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cade file=? name=FUN_0043cade */
|
|
|
|
void FUN_0043cade(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cae3 file=? name=FUN_0043cae3 */
|
|
|
|
void FUN_0043cae3(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cae8 file=? name=FUN_0043cae8 */
|
|
|
|
void FUN_0043cae8(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043caf0 file=? name=FUN_0043caf0 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_0043caf0(undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)
|
|
|
|
{
|
|
FUN_00415e90(param_1,0x4a);
|
|
*param_1 = &PTR_FUN_004ead64;
|
|
param_1[3] = param_2;
|
|
param_1[4] = param_3;
|
|
param_1[5] = param_4;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cb20 file=? name=FUN_0043cb20 */
|
|
|
|
undefined4 * __cdecl FUN_0043cb20(undefined4 *param_1)
|
|
|
|
{
|
|
FUN_00415e90(param_1,0x4a);
|
|
*param_1 = &PTR_FUN_004ead64;
|
|
param_1[3] = 0;
|
|
param_1[4] = 0;
|
|
param_1[5] = 0;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cb4c file=? name=FUN_0043cb4c */
|
|
|
|
void __cdecl FUN_0043cb4c(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ead64;
|
|
FUN_00415ed8(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cb78 file=? name=FUN_0043cb78 */
|
|
|
|
undefined4 FUN_0043cb78(void)
|
|
|
|
{
|
|
FUN_00415f1c();
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cb8c file=? name=FUN_0043cb8c */
|
|
|
|
void __cdecl FUN_0043cb8c(int param_1,int *param_2)
|
|
|
|
{
|
|
(**(code **)(*param_2 + 0x18))
|
|
(param_2,*(undefined4 *)(param_1 + 0x10),*(undefined4 *)(param_1 + 0x14));
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cba8 file=? name=FUN_0043cba8 */
|
|
|
|
undefined4 __cdecl FUN_0043cba8(int param_1,int *param_2)
|
|
|
|
{
|
|
if (*(int *)(param_1 + 0x10) == 1) {
|
|
return 0;
|
|
}
|
|
if (*(int *)(param_1 + 0x10) != 2) {
|
|
return 1;
|
|
}
|
|
FUN_0043cb8c(param_1,param_2);
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cbd8 file=? name=FUN_0043cbd8 */
|
|
|
|
int * __cdecl FUN_0043cbd8(int *param_1,int param_2)
|
|
|
|
{
|
|
(**(code **)(*param_1 + 0x1c))(param_1,param_2 + 0xc,4);
|
|
(**(code **)(*param_1 + 0x1c))(param_1,param_2 + 0x10,4);
|
|
(**(code **)(*param_1 + 0x1c))(param_1,param_2 + 0x14,4);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cc1c file=? name=FUN_0043cc1c */
|
|
|
|
int * __cdecl FUN_0043cc1c(int *param_1,int param_2)
|
|
|
|
{
|
|
(**(code **)(*param_1 + 0x20))(param_1,param_2 + 0xc,4);
|
|
(**(code **)(*param_1 + 0x20))(param_1,param_2 + 0x10,4);
|
|
(**(code **)(*param_1 + 0x20))(param_1,param_2 + 0x14,4);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cc60 file=? name=FUN_0043cc60 */
|
|
|
|
int * __cdecl FUN_0043cc60(int *param_1,int param_2)
|
|
|
|
{
|
|
int *piVar1;
|
|
|
|
FUN_004dbb24(param_1,&DAT_004eaa38,(char *)0x0);
|
|
piVar1 = FUN_004db78c(param_1,*(uint *)(param_2 + 0xc));
|
|
FUN_004dbb24(piVar1,&DAT_004eaa3a,(char *)0x0);
|
|
piVar1 = FUN_004db78c(param_1,*(uint *)(param_2 + 0x10));
|
|
FUN_004dbb24(piVar1,&DAT_004eaa3c,(char *)0x0);
|
|
FUN_004db634(param_1,(float10)*(float *)(param_2 + 0x14));
|
|
FUN_004dbb24(param_1,&DAT_004eaa3e,(char *)0x0);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ccec file=? name=FUN_0043ccec */
|
|
|
|
undefined4 * __cdecl FUN_0043ccec(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
undefined4 local_20;
|
|
undefined4 local_1c;
|
|
int local_18;
|
|
int local_14;
|
|
int local_10;
|
|
undefined4 local_c;
|
|
undefined1 local_8 [4];
|
|
|
|
FUN_00436d14(param_1,param_2,&DAT_004e8698);
|
|
*param_1 = &PTR_FUN_004ead48;
|
|
param_1[0xb] = 0xffffffff;
|
|
FUN_0043acac(param_1 + 0xe,0);
|
|
FUN_0043d7c1(param_1 + 0x11,0);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,local_8,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_c,4);
|
|
FUN_0043afbc(param_2,&local_10);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_1c,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_20,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,&local_18,4);
|
|
local_14 = 0;
|
|
if (0 < local_18) {
|
|
do {
|
|
puVar1 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_0043cb20(puVar1);
|
|
}
|
|
FUN_0043cbd8(param_2,(int)puVar1);
|
|
(**(code **)(param_1[0x11] + 4))(param_1 + 0x11,puVar1);
|
|
local_14 = local_14 + 1;
|
|
} while (local_14 < local_18);
|
|
}
|
|
FUN_0043ce14((int)param_1,local_10,param_3,local_c,local_1c,local_20);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ce14 file=? name=FUN_0043ce14 */
|
|
|
|
void __cdecl
|
|
FUN_0043ce14(int param_1,int param_2,int param_3,undefined4 param_4,undefined4 param_5,
|
|
undefined4 param_6)
|
|
|
|
{
|
|
(**(code **)(*(int *)(param_1 + 0x38) + 4))(param_1 + 0x38,param_2);
|
|
*(undefined4 *)(param_1 + 0x24) = param_4;
|
|
*(undefined4 *)(param_1 + 0x28) = 0;
|
|
*(undefined4 *)(param_1 + 0x2c) = DAT_00522b30;
|
|
*(undefined4 *)(param_1 + 0x58) = 0;
|
|
*(undefined4 *)(param_1 + 0x30) = param_5;
|
|
*(undefined4 *)(param_1 + 0x34) = param_6;
|
|
(**(code **)(*(int *)(param_2 + 0x14) + 4))(param_2 + 0x14,param_1);
|
|
FUN_004206b4(param_3,param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ce78 file=? name=FUN_0043ce78 */
|
|
|
|
void __cdecl FUN_0043ce78(int *param_1,byte param_2)
|
|
|
|
{
|
|
void *this;
|
|
int local_18 [5];
|
|
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ead48;
|
|
FUN_0043d2d4((int)param_1);
|
|
FUN_0043d80c(local_18,(int)(param_1 + 0x11));
|
|
FUN_00417858(this,local_18,1);
|
|
FUN_0043d869(local_18,2);
|
|
FUN_0043d7e0(param_1 + 0x11,2);
|
|
FUN_0043accb(param_1 + 0xe,2);
|
|
FUN_00436d4c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043cef8 file=munga/audseq.cpp name=FUN_0043cef8 */
|
|
|
|
void __cdecl FUN_0043cef8(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
uint *puVar2;
|
|
int iVar3;
|
|
undefined4 *puVar4;
|
|
int *piVar5;
|
|
int local_130 [11];
|
|
undefined4 local_104;
|
|
int local_100;
|
|
int local_e4 [6];
|
|
int local_cc [17];
|
|
int local_88 [19];
|
|
int local_3c [6];
|
|
undefined4 local_24;
|
|
undefined4 local_20;
|
|
int *local_1c;
|
|
int *local_18;
|
|
int local_14;
|
|
uint *local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
FUN_00414c58(param_1);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_dump_value_004eaa40);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eaa4b,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_dump_value_004eaa70,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eaa7b,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eaa7d,s_d__tesla_bt_munga_AUDSEQ_CPP_004eaabd
|
|
,0x12e);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_is_looped_004eaada);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eaae4,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_is_looped_004eab09,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eab13,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eab15,s_d__tesla_bt_munga_AUDSEQ_CPP_004eab55
|
|
,0x12f);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
puVar2 = (uint *)FUN_00402298(0x10);
|
|
if (puVar2 == (uint *)0x0) {
|
|
local_10 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_10 = FUN_00402460(puVar2,s_audio_component_004eab72);
|
|
}
|
|
local_10[3] = local_10[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_10);
|
|
local_14 = 100;
|
|
iVar3 = FUN_00403ad0(param_2,s_tempo_004eab82);
|
|
if (iVar3 != 0) {
|
|
piVar5 = &local_14;
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_tempo_004eab88);
|
|
FUN_00407b30(pcVar1,piVar5);
|
|
}
|
|
FUN_0040328c(local_3c,0);
|
|
puVar4 = (undefined4 *)FUN_00402298(0x10);
|
|
if (puVar4 == (undefined4 *)0x0) {
|
|
local_18 = (int *)0x0;
|
|
}
|
|
else {
|
|
local_18 = (int *)FUN_004023f4(puVar4);
|
|
}
|
|
local_18[3] = local_18[3] + 1;
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_midi_file_004eab8e);
|
|
FUN_00402a98((int *)&local_1c,(int *)&local_18,pcVar1);
|
|
piVar5 = local_1c + 3;
|
|
*piVar5 = *piVar5 + -1;
|
|
if (*piVar5 == 0) {
|
|
FUN_004024d8(local_1c,3);
|
|
}
|
|
FUN_004da66c(local_cc,0,(LPCSTR)local_18[2],0x81,DAT_00520540);
|
|
FUN_00403164(local_3c,local_88);
|
|
(**(code **)(local_3c[0] + 0xc))(local_3c,0);
|
|
FUN_004da754(local_cc,2);
|
|
piVar5 = local_18 + 3;
|
|
*piVar5 = *piVar5 + -1;
|
|
if (*piVar5 == 0) {
|
|
FUN_004024d8(local_18,3);
|
|
}
|
|
FUN_0040328c(local_e4,0);
|
|
FUN_0043d478(local_130);
|
|
FUN_0043d53c(local_130,(int)local_3c,(int)local_e4,local_14);
|
|
(**(code **)(local_e4[0] + 0xc))(local_e4,0);
|
|
local_20 = local_104;
|
|
local_14 = local_100;
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_20,4);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
local_24 = FUN_0043d5a4((int)local_130);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_24,4);
|
|
FUN_00403248(param_1,local_e4);
|
|
FUN_0043d4bc(local_130,2);
|
|
FUN_00403310(local_e4,2);
|
|
FUN_00403310(local_3c,2);
|
|
puVar2 = local_10 + 3;
|
|
*puVar2 = *puVar2 - 1;
|
|
if (*puVar2 == 0) {
|
|
FUN_004024d8((int *)local_10,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d260 file=? name=FUN_0043d260 */
|
|
|
|
undefined4 __cdecl FUN_0043d260(int param_1)
|
|
|
|
{
|
|
FUN_00436d88(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d27c file=? name=FUN_0043d27c */
|
|
|
|
void __cdecl FUN_0043d27c(int param_1)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
undefined4 local_8;
|
|
|
|
if (*(int *)(param_1 + 0x28) != 0) {
|
|
FUN_0043d2d4(param_1);
|
|
}
|
|
puVar1 = (undefined4 *)FUN_00402298(0x14);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_0043d80c(puVar1,param_1 + 0x44);
|
|
}
|
|
*(undefined4 **)(param_1 + 0x58) = puVar1;
|
|
FUN_004373e8(&local_8);
|
|
*(undefined4 *)(param_1 + 0x2c) = local_8;
|
|
*(undefined4 *)(param_1 + 0x28) = 1;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d2d4 file=? name=FUN_0043d2d4 */
|
|
|
|
void __cdecl FUN_0043d2d4(int param_1)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
int *piVar2;
|
|
int iVar3;
|
|
|
|
if (*(int *)(param_1 + 0x28) != 0) {
|
|
do {
|
|
iVar3 = (**(code **)(**(int **)(param_1 + 0x58) + 0x28))(*(int **)(param_1 + 0x58));
|
|
if (iVar3 == 0) break;
|
|
piVar2 = (int *)FUN_00417ab4(param_1 + 0x38);
|
|
iVar3 = FUN_0043cba8(iVar3,piVar2);
|
|
} while (iVar3 != 0);
|
|
puVar1 = *(undefined4 **)(param_1 + 0x58);
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
(**(code **)*puVar1)(puVar1,3);
|
|
}
|
|
*(undefined4 *)(param_1 + 0x58) = 0;
|
|
*(undefined4 *)(param_1 + 0x28) = 0;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d32c file=? name=FUN_0043d32c */
|
|
|
|
void __cdecl FUN_0043d32c(int param_1)
|
|
|
|
{
|
|
bool bVar1;
|
|
int iVar2;
|
|
int *piVar3;
|
|
undefined3 extraout_var;
|
|
|
|
if (*(int *)(param_1 + 0x28) != 0) {
|
|
iVar2 = (**(code **)(**(int **)(param_1 + 0x58) + 0x30))(*(int **)(param_1 + 0x58));
|
|
while (iVar2 != 0) {
|
|
bVar1 = FUN_0043d3ec(param_1,iVar2);
|
|
if (CONCAT31(extraout_var,bVar1) == 0) break;
|
|
piVar3 = (int *)FUN_00417ab4(param_1 + 0x38);
|
|
FUN_0043cb8c(iVar2,piVar3);
|
|
(**(code **)(**(int **)(param_1 + 0x58) + 0xc))(*(int **)(param_1 + 0x58));
|
|
iVar2 = (**(code **)(**(int **)(param_1 + 0x58) + 0x30))(*(int **)(param_1 + 0x58));
|
|
}
|
|
if (iVar2 == 0) {
|
|
FUN_0043d2d4(param_1);
|
|
if (*(int *)(param_1 + 0x24) != 0) {
|
|
FUN_0043d27c(param_1);
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d3a4 file=? name=FUN_0043d3a4 */
|
|
|
|
void __cdecl FUN_0043d3a4(int param_1,int param_2)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
|
|
if (param_2 == 1) {
|
|
FUN_0043d27c(param_1);
|
|
return;
|
|
}
|
|
if (param_2 == 2) {
|
|
FUN_0043d2d4(param_1);
|
|
return;
|
|
}
|
|
if (param_2 == 9) {
|
|
FUN_0043d32c(param_1);
|
|
return;
|
|
}
|
|
if (param_2 == 0xc) {
|
|
uVar1 = FUN_004dcd94();
|
|
*(undefined4 *)(param_1 + 0x34) = uVar1;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d3ec file=? name=FUN_0043d3ec */
|
|
|
|
bool __cdecl FUN_0043d3ec(int param_1,int param_2)
|
|
|
|
{
|
|
float10 fVar1;
|
|
int local_14;
|
|
int local_10;
|
|
float local_c;
|
|
int local_8;
|
|
|
|
local_8 = *(int *)(param_1 + 0x2c);
|
|
fVar1 = FUN_0043d444(param_1,param_2);
|
|
local_c = (float)fVar1;
|
|
local_10 = FUN_00437404();
|
|
local_8 = local_8 + local_10;
|
|
FUN_004373e8(&local_14);
|
|
return local_8 <= local_14;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d444 file=? name=FUN_0043d444 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
float10 __cdecl FUN_0043d444(int param_1,int param_2)
|
|
|
|
{
|
|
return (float10)*(int *)(param_2 + 0xc) /
|
|
(float10)(float)(_DAT_0043d46c *
|
|
(float10)*(int *)(param_1 + 0x34) * (float10)*(int *)(param_1 + 0x30));
|
|
}
|
|
|
|
|
|
|
|
/* @0043d478 file=? name=FUN_0043d478 */
|
|
|
|
undefined4 * __cdecl FUN_0043d478(undefined4 *param_1)
|
|
|
|
{
|
|
FUN_0043c170(param_1);
|
|
*param_1 = &PTR_FUN_004eace0;
|
|
FUN_0043d895(param_1 + 0xd,0,0);
|
|
param_1[9] = 0;
|
|
param_1[10] = 0;
|
|
param_1[0xb] = 0x78;
|
|
param_1[0xc] = 100;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d4bc file=? name=FUN_0043d4bc */
|
|
|
|
void __cdecl FUN_0043d4bc(int *param_1,byte param_2)
|
|
|
|
{
|
|
void *this;
|
|
int local_18 [5];
|
|
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004eace0;
|
|
FUN_0043d9da(local_18,(int)(param_1 + 0xd));
|
|
FUN_00417858(this,local_18,1);
|
|
FUN_0043da37(local_18,2);
|
|
FUN_0043d8b8(param_1 + 0xd,2);
|
|
FUN_0043c1b4(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d528 file=? name=FUN_0043d528 */
|
|
|
|
undefined4 FUN_0043d528(void)
|
|
|
|
{
|
|
FUN_0043c1f4();
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d53c file=? name=FUN_0043d53c */
|
|
|
|
void __cdecl FUN_0043d53c(int *param_1,int param_2,int param_3,int param_4)
|
|
|
|
{
|
|
int iVar1;
|
|
int local_18 [5];
|
|
|
|
param_1[9] = param_2;
|
|
param_1[10] = param_3;
|
|
param_1[0xc] = param_4;
|
|
FUN_0043c214(param_1);
|
|
FUN_0043d9da(local_18,(int)(param_1 + 0xd));
|
|
while( true ) {
|
|
iVar1 = (**(code **)(local_18[0] + 0x28))(local_18);
|
|
if (iVar1 == 0) break;
|
|
FUN_0043cc1c((int *)param_1[10],iVar1);
|
|
}
|
|
FUN_0043da37(local_18,2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d5a4 file=? name=FUN_0043d5a4 */
|
|
|
|
undefined4 __cdecl FUN_0043d5a4(int param_1)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
int local_18 [5];
|
|
|
|
FUN_0043d9da(local_18,param_1 + 0x34);
|
|
uVar1 = (**(code **)(local_18[0] + 0x14))(local_18);
|
|
FUN_0043da37(local_18,2);
|
|
return uVar1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d5dc file=? name=FUN_0043d5dc */
|
|
|
|
uint __cdecl FUN_0043d5dc(int param_1)
|
|
|
|
{
|
|
byte local_5;
|
|
|
|
(**(code **)(**(int **)(param_1 + 0x24) + 0x1c))(*(int **)(param_1 + 0x24),&local_5,1);
|
|
return (uint)local_5;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d600 file=munga/audseq.cpp name=FUN_0043d600 */
|
|
|
|
void __cdecl FUN_0043d600(undefined4 param_1,char *param_2)
|
|
|
|
{
|
|
FUN_0040385c(param_2,s_d__tesla_bt_munga_AUDSEQ_CPP_004eab98,0x2db);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d61c file=? name=FUN_0043d61c */
|
|
|
|
void __cdecl FUN_0043d61c(int param_1,undefined4 param_2,undefined4 param_3,short param_4)
|
|
|
|
{
|
|
*(int *)(param_1 + 0x2c) = (int)param_4;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d62c file=? name=FUN_0043d62c */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_0043d62c(int *param_1,undefined2 param_2,short param_3,undefined4 param_4)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
undefined4 local_8;
|
|
|
|
if ((short)param_4 == 0) {
|
|
(**(code **)(*param_1 + 0x28))(param_1,param_2,param_3,param_4);
|
|
}
|
|
else {
|
|
local_8 = FUN_0043c208((int)param_1);
|
|
puVar1 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_0043caf0(puVar1,local_8,8,(float)param_3);
|
|
}
|
|
(**(code **)(param_1[0xd] + 8))(param_1 + 0xd,puVar1,&local_8);
|
|
puVar1 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_0043caf0(puVar1,local_8,6,(float)(_DAT_0043d724 * (float10)(short)param_4));
|
|
}
|
|
(**(code **)(param_1[0xd] + 8))(param_1 + 0xd,puVar1,&local_8);
|
|
puVar1 = (undefined4 *)FUN_00402298(0x18);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_0043caf0(puVar1,local_8,1,0);
|
|
}
|
|
(**(code **)(param_1[0xd] + 8))(param_1 + 0xd,puVar1,&local_8);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d7bc file=? name=FUN_0043d7bc */
|
|
|
|
void FUN_0043d7bc(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d7c1 file=? name=FUN_0043d7c1 */
|
|
|
|
undefined4 * __cdecl FUN_0043d7c1(undefined4 *param_1,undefined4 param_2)
|
|
|
|
{
|
|
FUN_0041827c(param_1,param_2);
|
|
*param_1 = &PTR_FUN_004eacd8;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d7e0 file=? name=FUN_0043d7e0 */
|
|
|
|
void __cdecl FUN_0043d7e0(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004eacd8;
|
|
FUN_004182a8(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d80c file=? name=FUN_0043d80c */
|
|
|
|
undefined4 * __cdecl FUN_0043d80c(undefined4 *param_1,int param_2)
|
|
|
|
{
|
|
FUN_00418398(param_1,param_2);
|
|
*param_1 = &PTR_FUN_004eac84;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d82b file=? name=FUN_0043d82b */
|
|
|
|
undefined4 * __cdecl FUN_0043d82b(undefined4 *param_1,int param_2)
|
|
|
|
{
|
|
FUN_00418398(param_1,param_2);
|
|
*param_1 = &PTR_FUN_004eac84;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d84a file=? name=FUN_0043d84a */
|
|
|
|
undefined4 * __cdecl FUN_0043d84a(undefined4 *param_1,int param_2)
|
|
|
|
{
|
|
FUN_004183c0(param_1,param_2);
|
|
*param_1 = &PTR_FUN_004eac84;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d869 file=? name=FUN_0043d869 */
|
|
|
|
void __cdecl FUN_0043d869(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004eac84;
|
|
FUN_004183ec(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d895 file=? name=FUN_0043d895 */
|
|
|
|
undefined4 * __cdecl FUN_0043d895(undefined4 *param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
{
|
|
FUN_004186ac(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004eac68;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d8b8 file=? name=FUN_0043d8b8 */
|
|
|
|
void __cdecl FUN_0043d8b8(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004eac68;
|
|
FUN_004186dc(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_0043d98f(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d8e4 file=? name=FUN_0043d8e4 */
|
|
|
|
undefined4 __cdecl FUN_0043d8e4(undefined4 param_1,int param_2,int param_3)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
|
|
if (*(int *)(param_3 + 0x1c) == *(int *)(param_2 + 0x1c)) {
|
|
uVar1 = 0;
|
|
}
|
|
else {
|
|
uVar1 = 1;
|
|
if (*(int *)(param_2 + 0x1c) <= *(int *)(param_3 + 0x1c)) {
|
|
uVar1 = 0xffffffff;
|
|
}
|
|
}
|
|
return uVar1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d913 file=? name=FUN_0043d913 */
|
|
|
|
undefined4 __cdecl FUN_0043d913(undefined4 param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
|
|
if (*(int *)(param_3 + 0x1c) == *param_2) {
|
|
uVar1 = 0;
|
|
}
|
|
else {
|
|
uVar1 = 1;
|
|
if (*param_2 <= *(int *)(param_3 + 0x1c)) {
|
|
uVar1 = 0xffffffff;
|
|
}
|
|
}
|
|
return uVar1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d93f file=? name=FUN_0043d93f */
|
|
|
|
void FUN_0043d93f(void)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
|
|
iVar1 = DAT_004eac08;
|
|
DAT_004eac08 = DAT_004eac08 + 1;
|
|
puVar2 = DAT_004eac04;
|
|
if ((iVar1 == 0) && (puVar2 = (undefined4 *)FUN_00402298(0x28), puVar2 != (undefined4 *)0x0)) {
|
|
FUN_00402b98(puVar2,0x18,100,100,s_VChainOf_004eabb5);
|
|
}
|
|
DAT_004eac04 = puVar2;
|
|
FUN_00402f74((int)DAT_004eac04);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d98f file=? name=FUN_0043d98f */
|
|
|
|
void __cdecl FUN_0043d98f(undefined4 *param_1)
|
|
|
|
{
|
|
FUN_00402f98((int)DAT_004eac04,param_1);
|
|
DAT_004eac08 = DAT_004eac08 + -1;
|
|
if (DAT_004eac08 == 0) {
|
|
if (DAT_004eac04 != (int *)0x0) {
|
|
FUN_00402c28(DAT_004eac04,0);
|
|
FUN_004022d0(DAT_004eac04);
|
|
}
|
|
DAT_004eac04 = (int *)0x0;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d9da file=? name=FUN_0043d9da */
|
|
|
|
undefined4 * __cdecl FUN_0043d9da(undefined4 *param_1,int param_2)
|
|
|
|
{
|
|
FUN_004188dc(param_1,param_2);
|
|
*param_1 = &PTR_FUN_004eac0c;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043d9f9 file=? name=FUN_0043d9f9 */
|
|
|
|
undefined4 * __cdecl FUN_0043d9f9(undefined4 *param_1,int param_2)
|
|
|
|
{
|
|
FUN_004188dc(param_1,param_2);
|
|
*param_1 = &PTR_FUN_004eac0c;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043da18 file=? name=FUN_0043da18 */
|
|
|
|
undefined4 * __cdecl FUN_0043da18(undefined4 *param_1,int param_2)
|
|
|
|
{
|
|
FUN_00418904(param_1,param_2);
|
|
*param_1 = &PTR_FUN_004eac0c;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043da37 file=? name=FUN_0043da37 */
|
|
|
|
void __cdecl FUN_0043da37(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004eac0c;
|
|
FUN_00418930(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043da63 file=? name=FUN_0043da63 */
|
|
|
|
undefined4 * __cdecl FUN_0043da63(undefined4 param_1,int param_2,undefined4 *param_3)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
puVar1 = (undefined4 *)FUN_0043daea();
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_0043da93(puVar1,param_1,param_2,param_3);
|
|
}
|
|
return puVar1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043da93 file=? name=FUN_0043da93 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_0043da93(undefined4 *param_1,undefined4 param_2,int param_3,undefined4 *param_4)
|
|
|
|
{
|
|
FUN_004185bc(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ead70;
|
|
param_1[7] = *param_4;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043dabe file=? name=FUN_0043dabe */
|
|
|
|
void __cdecl FUN_0043dabe(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ead70;
|
|
FUN_004185ec(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_0043db3a(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043daea file=? name=FUN_0043daea */
|
|
|
|
void FUN_0043daea(void)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
|
|
iVar1 = DAT_004ead6c;
|
|
DAT_004ead6c = DAT_004ead6c + 1;
|
|
puVar2 = DAT_004ead68;
|
|
if ((iVar1 == 0) && (puVar2 = (undefined4 *)FUN_00402298(0x28), puVar2 != (undefined4 *)0x0)) {
|
|
FUN_00402b98(puVar2,0x20,100,100,s_VChainLinkOf_004eabd0);
|
|
}
|
|
DAT_004ead68 = puVar2;
|
|
FUN_00402f74((int)DAT_004ead68);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043db3a file=? name=FUN_0043db3a */
|
|
|
|
void __cdecl FUN_0043db3a(undefined4 *param_1)
|
|
|
|
{
|
|
FUN_00402f98((int)DAT_004ead68,param_1);
|
|
DAT_004ead6c = DAT_004ead6c + -1;
|
|
if (DAT_004ead6c == 0) {
|
|
if (DAT_004ead68 != (int *)0x0) {
|
|
FUN_00402c28(DAT_004ead68,0);
|
|
FUN_004022d0(DAT_004ead68);
|
|
}
|
|
DAT_004ead68 = (int *)0x0;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043db88 file=? name=FUN_0043db88 */
|
|
|
|
undefined4 * __cdecl FUN_0043db88(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
int local_8;
|
|
|
|
FUN_0041b868(param_1,param_2,&DAT_004e32ac);
|
|
*param_1 = &PTR_FUN_004edad8;
|
|
FUN_0043acac(param_1 + 4,param_1);
|
|
FUN_0043afbc(param_2,&local_8);
|
|
FUN_0043dbdc((int)param_1,local_8,param_3);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043dbdc file=? name=FUN_0043dbdc */
|
|
|
|
void __cdecl FUN_0043dbdc(int param_1,undefined4 param_2,int param_3)
|
|
|
|
{
|
|
(**(code **)(*(int *)(param_1 + 0x10) + 4))(param_1 + 0x10,param_2);
|
|
(**(code **)(*(int *)(param_3 + 0x80) + 4))(param_3 + 0x80,param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043dc14 file=? name=FUN_0043dc14 */
|
|
|
|
void __cdecl FUN_0043dc14(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004edad8;
|
|
FUN_0043accb(param_1 + 4,2);
|
|
FUN_0041b898(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043dc50 file=? name=FUN_0043dc50 */
|
|
|
|
void __cdecl FUN_0043dc50(int *param_1,int param_2)
|
|
|
|
{
|
|
uint *puVar1;
|
|
uint *local_8;
|
|
|
|
FUN_00414c58(param_1);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,s_audio_component_004ead74);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_8);
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043dcc0 file=? name=FUN_0043dcc0 */
|
|
|
|
undefined4 __cdecl FUN_0043dcc0(int param_1)
|
|
|
|
{
|
|
FUN_0041b8e0(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043dcd4 file=? name=FUN_0043dcd4 */
|
|
|
|
void __cdecl FUN_0043dcd4(undefined4 *param_1,undefined4 *param_2)
|
|
|
|
{
|
|
if (param_2 == param_1 + 4) {
|
|
if (param_1 != (undefined4 *)0x0) {
|
|
(**(code **)*param_1)(param_1,3);
|
|
return;
|
|
}
|
|
}
|
|
else {
|
|
FUN_00417938();
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043dd04 file=? name=FUN_0043dd04 */
|
|
|
|
void __cdecl FUN_0043dd04(int param_1)
|
|
|
|
{
|
|
int *piVar1;
|
|
|
|
piVar1 = (int *)FUN_00417ab4(param_1 + 0x10);
|
|
(**(code **)(*piVar1 + 0x18))(piVar1,9,0);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043dd24 file=? name=FUN_0043dd24 */
|
|
|
|
int * __cdecl FUN_0043dd24(int *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_0043ebd0(param_1,param_2,param_3);
|
|
*param_1 = (int)&PTR_FUN_004edab4;
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x18,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x19,4);
|
|
FUN_0043f316(param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043dd74 file=? name=FUN_0043dd74 */
|
|
|
|
void __cdecl FUN_0043dd74(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004edab4;
|
|
FUN_0043ec7b(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043dda0 file=munga/audwthr.cpp name=FUN_0043dda0 */
|
|
|
|
void __cdecl FUN_0043dda0(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
FUN_0043eca7(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_motion_type_004ead84);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ead90,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_motion_type_004eadb5,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eadc1,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eadc3,
|
|
s_d__tesla_bt_munga_AUDWTHR_CPP_004eae03,0xbb);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_motion_value_004eae21);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eae2e,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_motion_value_004eae53,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eae60,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eae62,
|
|
s_d__tesla_bt_munga_AUDWTHR_CPP_004eaea2,0xbc);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ded4 file=munga/audwthr.cpp name=FUN_0043ded4 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
float10 __cdecl FUN_0043ded4(int param_1,float *param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
float10 fVar2;
|
|
|
|
if (*(int *)(param_1 + 0x60) == 0) {
|
|
iVar1 = *(int *)(param_1 + 100);
|
|
if (iVar1 == 0) {
|
|
return (float10)*param_2;
|
|
}
|
|
if (iVar1 == 1) {
|
|
return (float10)param_2[1];
|
|
}
|
|
if (iVar1 == 2) {
|
|
return (float10)param_2[2];
|
|
}
|
|
if (iVar1 == 3) {
|
|
fVar2 = FUN_004dd138((double)(param_2[2] * param_2[2] +
|
|
param_2[1] * param_2[1] + *param_2 * *param_2));
|
|
return fVar2;
|
|
}
|
|
}
|
|
else if (*(int *)(param_1 + 0x60) == 1) {
|
|
iVar1 = *(int *)(param_1 + 100);
|
|
if (iVar1 == 0) {
|
|
return (float10)param_2[3];
|
|
}
|
|
if (iVar1 == 1) {
|
|
return (float10)param_2[4];
|
|
}
|
|
if (iVar1 == 2) {
|
|
return (float10)param_2[5];
|
|
}
|
|
if (iVar1 == 3) {
|
|
fVar2 = FUN_004dd138((double)(param_2[5] * param_2[5] +
|
|
param_2[4] * param_2[4] + param_2[3] * param_2[3]));
|
|
return fVar2;
|
|
}
|
|
}
|
|
FUN_0040385c(s_AudioMotionTrigger__ExtractInter_004eaec0,s_d__tesla_bt_munga_AUDWTHR_CPP_004eaf06,
|
|
0xe8);
|
|
return (float10)_DAT_0043dfc8;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e004 file=? name=FUN_0043e004 */
|
|
|
|
int * __cdecl FUN_0043e004(int *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_0043f38c(param_1,param_2,param_3);
|
|
*param_1 = (int)&PTR_FUN_004eda90;
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x17,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x18,4);
|
|
FUN_0043f316(param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e054 file=? name=FUN_0043e054 */
|
|
|
|
void __cdecl FUN_0043e054(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004eda90;
|
|
FUN_0043f431(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e080 file=munga/audwthr.cpp name=FUN_0043e080 */
|
|
|
|
void __cdecl FUN_0043e080(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
FUN_0043f45d(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_motion_type_004eaf24);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eaf30,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_motion_type_004eaf55,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eaf61,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eaf63,
|
|
s_d__tesla_bt_munga_AUDWTHR_CPP_004eafa3,0x150);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_motion_value_004eafc1);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eafce,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_motion_value_004eaff3,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eb000,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb002,
|
|
s_d__tesla_bt_munga_AUDWTHR_CPP_004eb042,0x151);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e1b4 file=munga/audwthr.cpp name=FUN_0043e1b4 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
float10 __cdecl FUN_0043e1b4(int param_1,float *param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
float10 fVar2;
|
|
|
|
if (*(int *)(param_1 + 0x5c) == 0) {
|
|
iVar1 = *(int *)(param_1 + 0x60);
|
|
if (iVar1 == 0) {
|
|
return (float10)*param_2;
|
|
}
|
|
if (iVar1 == 1) {
|
|
return (float10)param_2[1];
|
|
}
|
|
if (iVar1 == 2) {
|
|
return (float10)param_2[2];
|
|
}
|
|
if (iVar1 == 3) {
|
|
fVar2 = FUN_004dd138((double)(param_2[2] * param_2[2] +
|
|
param_2[1] * param_2[1] + *param_2 * *param_2));
|
|
return fVar2;
|
|
}
|
|
}
|
|
else if (*(int *)(param_1 + 0x5c) == 1) {
|
|
iVar1 = *(int *)(param_1 + 0x60);
|
|
if (iVar1 == 0) {
|
|
return (float10)param_2[3];
|
|
}
|
|
if (iVar1 == 1) {
|
|
return (float10)param_2[4];
|
|
}
|
|
if (iVar1 == 2) {
|
|
return (float10)param_2[5];
|
|
}
|
|
if (iVar1 == 3) {
|
|
fVar2 = FUN_004dd138((double)(param_2[5] * param_2[5] +
|
|
param_2[4] * param_2[4] + param_2[3] * param_2[3]));
|
|
return fVar2;
|
|
}
|
|
}
|
|
FUN_0040385c(s_AudioMotionScale__ExtractInteres_004eb060,s_d__tesla_bt_munga_AUDWTHR_CPP_004eb0a4,
|
|
0x17d);
|
|
return (float10)_DAT_0043e2a8;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e2e4 file=? name=FUN_0043e2e4 */
|
|
|
|
int * __cdecl FUN_0043e2e4(int *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_0043f8ab(param_1,param_2,param_3);
|
|
*param_1 = (int)&PTR_FUN_004eda6c;
|
|
FUN_0044001b(param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e310 file=? name=FUN_0043e310 */
|
|
|
|
void __cdecl FUN_0043e310(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004eda6c;
|
|
FUN_0043f950(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e33c file=? name=FUN_0043e33c */
|
|
|
|
float10 __cdecl FUN_0043e33c(undefined4 param_1,int param_2)
|
|
|
|
{
|
|
return (float10)*(float *)(param_2 + 4);
|
|
}
|
|
|
|
|
|
|
|
/* @0043e348 file=? name=FUN_0043e348 */
|
|
|
|
void FUN_0043e348(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e350 file=? name=FUN_0043e350 */
|
|
|
|
int * __cdecl FUN_0043e350(int *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_0044009c(param_1,param_2,param_3);
|
|
*param_1 = (int)&PTR_FUN_004eda48;
|
|
FUN_004407df(param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e37c file=? name=FUN_0043e37c */
|
|
|
|
void __cdecl FUN_0043e37c(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004eda48;
|
|
FUN_00440147(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e3a8 file=? name=FUN_0043e3a8 */
|
|
|
|
void __cdecl FUN_0043e3a8(int *param_1,int param_2)
|
|
|
|
{
|
|
FUN_00440173(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e3c8 file=? name=FUN_0043e3c8 */
|
|
|
|
float10 __cdecl FUN_0043e3c8(undefined4 param_1,float *param_2)
|
|
|
|
{
|
|
return (float10)*param_2;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e3d4 file=? name=FUN_0043e3d4 */
|
|
|
|
int * __cdecl FUN_0043e3d4(int *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_00440844(param_1,param_2,param_3);
|
|
*param_1 = (int)&PTR_FUN_004eda28;
|
|
FUN_004407df(param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e400 file=? name=FUN_0043e400 */
|
|
|
|
void __cdecl FUN_0043e400(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004eda28;
|
|
FUN_004408bd(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e42c file=? name=FUN_0043e42c */
|
|
|
|
void __cdecl FUN_0043e42c(int *param_1,int param_2)
|
|
|
|
{
|
|
FUN_004408e9(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e44c file=? name=FUN_0043e44c */
|
|
|
|
int * __cdecl FUN_0043e44c(int *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_00440abc(param_1,param_2,param_3);
|
|
*param_1 = (int)&PTR_FUN_004eda04;
|
|
FUN_004407df(param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e478 file=? name=FUN_0043e478 */
|
|
|
|
void __cdecl FUN_0043e478(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004eda04;
|
|
FUN_00440b61(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e4a4 file=? name=FUN_0043e4a4 */
|
|
|
|
float10 __cdecl FUN_0043e4a4(undefined4 param_1,float *param_2)
|
|
|
|
{
|
|
return (float10)*param_2;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e4b0 file=? name=FUN_0043e4b0 */
|
|
|
|
int * __cdecl FUN_0043e4b0(int *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_00440fdb(param_1,param_2,param_3);
|
|
*param_1 = (int)&PTR_FUN_004ed9e0;
|
|
FUN_004414d8(param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e4dc file=? name=FUN_0043e4dc */
|
|
|
|
void __cdecl FUN_0043e4dc(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed9e0;
|
|
FUN_0044104e(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e508 file=? name=FUN_0043e508 */
|
|
|
|
void __cdecl FUN_0043e508(int *param_1,int param_2)
|
|
|
|
{
|
|
FUN_0044107a(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e528 file=? name=FUN_0043e528 */
|
|
|
|
undefined4 __cdecl FUN_0043e528(undefined4 param_1,undefined4 *param_2)
|
|
|
|
{
|
|
return *param_2;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e534 file=? name=FUN_0043e534 */
|
|
|
|
int * __cdecl FUN_0043e534(int *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_00440fdb(param_1,param_2,param_3);
|
|
*param_1 = (int)&PTR_FUN_004ed9bc;
|
|
FUN_004414d8(param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e560 file=? name=FUN_0043e560 */
|
|
|
|
void __cdecl FUN_0043e560(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed9bc;
|
|
FUN_0044104e(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e58c file=? name=FUN_0043e58c */
|
|
|
|
void __cdecl FUN_0043e58c(int *param_1,int param_2)
|
|
|
|
{
|
|
FUN_0044107a(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e5ac file=? name=FUN_0043e5ac */
|
|
|
|
undefined4 __cdecl FUN_0043e5ac(undefined4 param_1,undefined4 *param_2)
|
|
|
|
{
|
|
return *param_2;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e5b8 file=? name=FUN_0043e5b8 */
|
|
|
|
int * __cdecl FUN_0043e5b8(int *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_0044153c(param_1,param_2,param_3);
|
|
*param_1 = (int)&PTR_FUN_004ed99c;
|
|
FUN_004414d8(param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e5e4 file=? name=FUN_0043e5e4 */
|
|
|
|
void __cdecl FUN_0043e5e4(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed99c;
|
|
FUN_004415b5(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e610 file=? name=FUN_0043e610 */
|
|
|
|
void __cdecl FUN_0043e610(int *param_1,int param_2)
|
|
|
|
{
|
|
FUN_004415e1(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e630 file=? name=FUN_0043e630 */
|
|
|
|
int * __cdecl FUN_0043e630(int *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_0044179a(param_1,param_2,param_3);
|
|
*param_1 = (int)&PTR_FUN_004ed978;
|
|
FUN_004414d8(param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e65c file=? name=FUN_0043e65c */
|
|
|
|
void __cdecl FUN_0043e65c(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed978;
|
|
FUN_00441845(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e688 file=? name=FUN_0043e688 */
|
|
|
|
void __cdecl FUN_0043e688(int *param_1,int param_2)
|
|
|
|
{
|
|
FUN_00441871(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e6a8 file=? name=FUN_0043e6a8 */
|
|
|
|
float10 __cdecl FUN_0043e6a8(undefined4 param_1,int *param_2)
|
|
|
|
{
|
|
return (float10)*param_2;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e6b4 file=? name=FUN_0043e6b4 */
|
|
|
|
int * __cdecl FUN_0043e6b4(int *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_0044179a(param_1,param_2,param_3);
|
|
*param_1 = (int)&PTR_FUN_004ed954;
|
|
FUN_004414d8(param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e6e0 file=? name=FUN_0043e6e0 */
|
|
|
|
void __cdecl FUN_0043e6e0(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed954;
|
|
FUN_00441845(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e70c file=? name=FUN_0043e70c */
|
|
|
|
void __cdecl FUN_0043e70c(int *param_1,int param_2)
|
|
|
|
{
|
|
FUN_00441871(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e72c file=? name=FUN_0043e72c */
|
|
|
|
float10 __cdecl FUN_0043e72c(undefined4 param_1,int *param_2)
|
|
|
|
{
|
|
return (float10)*param_2;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e738 file=? name=FUN_0043e738 */
|
|
|
|
undefined4 * __cdecl FUN_0043e738(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_00441c8c(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed930;
|
|
(**(code **)(*(int *)(param_1[5] + 0x18) + 4))(param_1[5] + 0x18,param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e770 file=? name=FUN_0043e770 */
|
|
|
|
void __cdecl FUN_0043e770(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed930;
|
|
FUN_00441cdd(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e79c file=? name=FUN_0043e79c */
|
|
|
|
void __cdecl FUN_0043e79c(int *param_1)
|
|
|
|
{
|
|
(**(code **)(*param_1 + 0x20))(param_1,param_1[0xc],param_1[0xd]);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e7b8 file=munga/audwthr.cpp name=FUN_0043e7b8 */
|
|
|
|
void FUN_0043e7b8(void)
|
|
|
|
{
|
|
FUN_0040385c(s_AudioStateWatcher__StateChanged___004eb0c2,s_d__tesla_bt_munga_AUDWTHR_CPP_004eb0fc
|
|
,0x3a9);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e7d4 file=? name=FUN_0043e7d4 */
|
|
|
|
int * __cdecl FUN_0043e7d4(int *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_0043e738(param_1,param_2,param_3);
|
|
*param_1 = (int)&PTR_FUN_004ed90c;
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x20,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x21,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x22,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x23,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x24,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x25,4);
|
|
FUN_00441ef5(param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e878 file=? name=FUN_0043e878 */
|
|
|
|
void __cdecl FUN_0043e878(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed90c;
|
|
FUN_0043e770(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043e8a4 file=munga/audwthr.cpp name=FUN_0043e8a4 */
|
|
|
|
/* WARNING: Type propagation algorithm not settling */
|
|
|
|
void __cdecl FUN_0043e8a4(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
int iVar2;
|
|
int *piVar3;
|
|
int local_1c [2];
|
|
float local_14;
|
|
int local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
FUN_00441d17(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_trigger_state_004eb11a);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb128,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_trigger_state_004eb14d,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eb15b,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb15d,
|
|
s_d__tesla_bt_munga_AUDWTHR_CPP_004eb19d,0x3dd);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_inverse_trigger_004eb1bb);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb1cb,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_inverse_trigger_004eb1f0,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eb200,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb202,
|
|
s_d__tesla_bt_munga_AUDWTHR_CPP_004eb242,0x3de);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_ID_004eb260);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb26b,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_004eb290,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eb29b,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb29d,
|
|
s_d__tesla_bt_munga_AUDWTHR_CPP_004eb2dd,0x3df);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_004eb2fb);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb309,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_004eb32e,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eb33c,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb33e,
|
|
s_d__tesla_bt_munga_AUDWTHR_CPP_004eb37e,0x3e0);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_14);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
local_1c[1] = 0;
|
|
local_1c[0] = 0;
|
|
iVar2 = FUN_00403ad0(param_2,s_exclude_state_004eb39c);
|
|
if (iVar2 != 0) {
|
|
local_1c[1] = 1;
|
|
piVar3 = local_1c;
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_exclude_state_004eb3aa);
|
|
FUN_00407ae0(pcVar1,piVar3);
|
|
}
|
|
(**(code **)(*param_1 + 0x20))(param_1,local_1c + 1,4);
|
|
(**(code **)(*param_1 + 0x20))(param_1,local_1c,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043eb40 file=? name=FUN_0043eb40 */
|
|
|
|
void __cdecl FUN_0043eb40(int param_1,int param_2,int param_3)
|
|
|
|
{
|
|
int *piVar1;
|
|
|
|
if (((*(int *)(param_1 + 0x90) == 0) ||
|
|
((((*(int *)(param_1 + 0x84) != 0 || (param_3 != *(int *)(param_1 + 0x80))) ||
|
|
(param_2 != *(int *)(param_1 + 0x94))) &&
|
|
(((*(int *)(param_1 + 0x84) == 0 || (param_2 != *(int *)(param_1 + 0x80))) ||
|
|
(param_3 != *(int *)(param_1 + 0x94))))))) &&
|
|
(((*(int *)(param_1 + 0x84) == 0 && (param_3 == *(int *)(param_1 + 0x80))) ||
|
|
((*(int *)(param_1 + 0x84) != 0 && (param_2 == *(int *)(param_1 + 0x80))))))) {
|
|
piVar1 = (int *)FUN_00417ab4(param_1 + 0x74);
|
|
(**(code **)(*piVar1 + 0x18))
|
|
(piVar1,*(undefined4 *)(param_1 + 0x88),*(undefined4 *)(param_1 + 0x8c));
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ebd0 file=? name=FUN_0043ebd0 */
|
|
|
|
undefined4 * __cdecl FUN_0043ebd0(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_0043f0c2(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed8e8;
|
|
(**(code **)(*(int *)(param_1[4] + 0x80) + 4))(param_1[4] + 0x80,param_1);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x11,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x12,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x13,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x14,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x15,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x16,4);
|
|
param_1[0x17] = 0;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ec7b file=? name=FUN_0043ec7b */
|
|
|
|
void __cdecl FUN_0043ec7b(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed8e8;
|
|
FUN_0043f113(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043eca7 file=munga/audwthr.hpp name=FUN_0043eca7 */
|
|
|
|
void __cdecl FUN_0043eca7(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
float local_1c;
|
|
float local_18;
|
|
int local_14;
|
|
int local_10;
|
|
int local_c;
|
|
float local_8;
|
|
|
|
FUN_0043f14d(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_attribute_value_threshold_004eb3b8);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb3d2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_attribute_value_threshold_004eb3f7,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eb411,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb413,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004eb453,0x16b);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_inverse_trigger_004eb471);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb481,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_inverse_trigger_004eb4a6,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eb4b6,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb4b8,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004eb4f8,0x16e);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_ID_on_004eb516);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb524,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_on_004eb549,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eb557,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb559,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004eb599,0x171);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_ID_off_004eb5b7);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb5c6,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_off_004eb5eb,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eb5fa,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb5fc,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004eb63c,0x174);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_14);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_on_004eb65a);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb66b,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_on_004eb690,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eb6a1,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb6a3,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004eb6e3,0x177);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_18);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_18,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_off_004eb701);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb713,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_off_004eb738,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eb74a,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb74c,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004eb78c,0x17a);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_1c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_1c,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043efed file=? name=FUN_0043efed */
|
|
|
|
void __cdecl FUN_0043efed(int *param_1)
|
|
|
|
{
|
|
float fVar1;
|
|
int *piVar2;
|
|
float10 fVar3;
|
|
|
|
fVar3 = (float10)(**(code **)(*param_1 + 0x20))(param_1,param_1 + 8);
|
|
fVar1 = (float)fVar3;
|
|
if (param_1[0x17] == 0) {
|
|
if (((param_1[0x12] == 0) && ((float)param_1[0x11] < fVar1)) ||
|
|
((param_1[0x12] != 0 && (fVar1 < (float)param_1[0x11])))) {
|
|
piVar2 = (int *)FUN_00417ab4((int)(param_1 + 0xe));
|
|
(**(code **)(*piVar2 + 0x18))(piVar2,param_1[0x13],param_1[0x15]);
|
|
param_1[0x17] = 1;
|
|
}
|
|
}
|
|
else if (((param_1[0x12] == 0) && (fVar1 <= (float)param_1[0x11])) ||
|
|
((param_1[0x12] != 0 && ((float)param_1[0x11] <= fVar1)))) {
|
|
piVar2 = (int *)FUN_00417ab4((int)(param_1 + 0xe));
|
|
(**(code **)(*piVar2 + 0x18))(piVar2,param_1[0x14],param_1[0x16]);
|
|
param_1[0x17] = 0;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f09a file=munga/audwthr.hpp name=FUN_0043f09a */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
float10 FUN_0043f09a(void)
|
|
|
|
{
|
|
FUN_0040385c(s_AudioTriggerOf<T>__ExtractIntere_004eb7aa,s_d__tesla_bt_munga_audwthr_hpp_004eb7ef,
|
|
0x1bc);
|
|
return (float10)_DAT_0043f0be;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f0c2 file=? name=FUN_0043f0c2 */
|
|
|
|
undefined4 * __cdecl FUN_0043f0c2(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
int local_8;
|
|
|
|
FUN_0043f22c(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed8c8;
|
|
FUN_0043acac(param_1 + 0xe,param_1);
|
|
FUN_0043afbc(param_2,&local_8);
|
|
(**(code **)(param_1[0xe] + 4))(param_1 + 0xe,local_8);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f113 file=? name=FUN_0043f113 */
|
|
|
|
void __cdecl FUN_0043f113(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed8c8;
|
|
FUN_0043accb(param_1 + 0xe,2);
|
|
FUN_0043f200(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f14d file=? name=FUN_0043f14d */
|
|
|
|
void __cdecl FUN_0043f14d(int *param_1,int param_2)
|
|
|
|
{
|
|
uint *puVar1;
|
|
uint *local_8;
|
|
|
|
FUN_0043f26e(param_1,param_2);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,s_audio_component_004eb80d);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_8);
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f1bc file=? name=FUN_0043f1bc */
|
|
|
|
undefined4 __cdecl FUN_0043f1bc(int param_1)
|
|
|
|
{
|
|
FUN_00428a2c(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f1d0 file=? name=FUN_0043f1d0 */
|
|
|
|
void __cdecl FUN_0043f1d0(undefined4 *param_1,undefined4 *param_2)
|
|
|
|
{
|
|
if (param_2 == param_1 + 0xe) {
|
|
if (param_1 != (undefined4 *)0x0) {
|
|
(**(code **)*param_1)(param_1,3);
|
|
return;
|
|
}
|
|
}
|
|
else {
|
|
FUN_00417938();
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f200 file=? name=FUN_0043f200 */
|
|
|
|
void __cdecl FUN_0043f200(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed8a8;
|
|
FUN_0042864c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f22c file=? name=FUN_0043f22c */
|
|
|
|
undefined4 * __cdecl FUN_0043f22c(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined1 local_8 [4];
|
|
|
|
FUN_00428678(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed8a8;
|
|
(**(code **)(*param_2 + 0x1c))(param_2,local_8,4);
|
|
FUN_0043f34a((int)param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f26e file=munga/watcher.hpp name=FUN_0043f26e */
|
|
|
|
void __cdecl FUN_0043f26e(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
int local_8;
|
|
|
|
FUN_0042887c(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_dump_value_004eb81d);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb828,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_dump_value_004eb84d,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eb858,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb85a,
|
|
s_d__tesla_bt_munga_watcher_hpp_004eb89a,0x108);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f316 file=? name=FUN_0043f316 */
|
|
|
|
void __cdecl FUN_0043f316(int *param_1)
|
|
|
|
{
|
|
FUN_0043f362(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f325 file=? name=FUN_0043f325 */
|
|
|
|
void __cdecl FUN_0043f325(int *param_1)
|
|
|
|
{
|
|
bool bVar1;
|
|
undefined3 extraout_var;
|
|
|
|
bVar1 = FUN_0040a824((byte *)(param_1 + 8),(byte *)param_1[5]);
|
|
if (CONCAT31(extraout_var,bVar1) == 0) {
|
|
FUN_0043f362(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f34a file=? name=FUN_0043f34a */
|
|
|
|
void __cdecl FUN_0043f34a(int param_1)
|
|
|
|
{
|
|
FUN_0040a7f4((undefined4 *)(param_1 + 0x20),*(undefined4 **)(param_1 + 0x14));
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f362 file=? name=FUN_0043f362 */
|
|
|
|
void __cdecl FUN_0043f362(int *param_1)
|
|
|
|
{
|
|
FUN_0043f34a((int)param_1);
|
|
param_1[6] = 1;
|
|
if (param_1[7] != 0) {
|
|
(**(code **)(*param_1 + 0x18))(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f387 file=? name=FUN_0043f387 */
|
|
|
|
void FUN_0043f387(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f38c file=? name=FUN_0043f38c */
|
|
|
|
undefined4 * __cdecl FUN_0043f38c(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
FUN_0043f0c2(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed884;
|
|
iVar1 = FUN_00417ab4((int)(param_1 + 0xe));
|
|
(**(code **)(*(int *)(iVar1 + 0x14) + 4))(iVar1 + 0x14,param_1);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x11,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x12,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x13,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x14,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x15,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x16,4);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f431 file=? name=FUN_0043f431 */
|
|
|
|
void __cdecl FUN_0043f431(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed884;
|
|
FUN_0043f113(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f45d file=munga/audwthr.hpp name=FUN_0043f45d */
|
|
|
|
void __cdecl FUN_0043f45d(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
float local_1c;
|
|
float local_18;
|
|
float local_14;
|
|
int local_10;
|
|
float local_c;
|
|
float local_8;
|
|
|
|
FUN_0043f14d(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_attribute_value_boundary1_004eb8b8);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb8d2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_attribute_value_boundary1_004eb8f7,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eb911,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb913,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004eb953,0x237);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_attribute_value_boundary2_004eb971);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb98b,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_attribute_value_boundary2_004eb9b0,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eb9ca,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eb9cc,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004eba0c,0x23a);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_ID_004eba2a);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eba35,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_004eba5a,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eba65,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eba67,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ebaa7,0x23d);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_boundary1_004ebac5);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ebadd,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_boundary1_004ebb02,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ebb1a,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ebb1c,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ebb5c,0x240);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_14);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_boundary2_004ebb7a);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ebb92,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_boundary2_004ebbb7,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ebbcf,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ebbd1,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ebc11,0x243);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_18);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_18,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_exponent_004ebc2f);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ebc38,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_exponent_004ebc5d,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ebc66,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ebc68,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ebca8,0x246);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_1c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_1c,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f7a3 file=? name=FUN_0043f7a3 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_0043f7a3(int *param_1)
|
|
|
|
{
|
|
float fVar1;
|
|
float fVar2;
|
|
float fVar3;
|
|
int *piVar4;
|
|
float10 fVar5;
|
|
|
|
fVar5 = (float10)(**(code **)(*param_1 + 0x20))(param_1);
|
|
fVar1 = (float)fVar5;
|
|
if ((float)param_1[0x12] <= (float)param_1[0x11]) {
|
|
fVar2 = (float)param_1[0x12];
|
|
}
|
|
else {
|
|
fVar2 = (float)param_1[0x11];
|
|
}
|
|
if ((float)param_1[0x11] <= (float)param_1[0x12]) {
|
|
fVar3 = (float)param_1[0x12];
|
|
}
|
|
else {
|
|
fVar3 = (float)param_1[0x11];
|
|
}
|
|
if ((fVar2 <= fVar1) && (fVar2 = fVar1, fVar3 < fVar1)) {
|
|
fVar2 = fVar3;
|
|
}
|
|
if ((float)param_1[0x16] != _DAT_0043f87f) {
|
|
FUN_004dce94((double)((fVar2 - (float)param_1[0x11]) /
|
|
((float)param_1[0x12] - (float)param_1[0x11])),
|
|
SUB84((double)(float)param_1[0x16],0),
|
|
(uint)((ulonglong)(double)(float)param_1[0x16] >> 0x20));
|
|
}
|
|
piVar4 = (int *)FUN_00417ab4((int)(param_1 + 0xe));
|
|
(**(code **)(*piVar4 + 0x18))();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f8ab file=? name=FUN_0043f8ab */
|
|
|
|
undefined4 * __cdecl FUN_0043f8ab(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
FUN_0043fdca(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed860;
|
|
iVar1 = FUN_00417ab4((int)(param_1 + 10));
|
|
(**(code **)(*(int *)(iVar1 + 0x14) + 4))(iVar1 + 0x14,param_1);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xd,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xe,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xf,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x10,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x11,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x12,4);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f950 file=? name=FUN_0043f950 */
|
|
|
|
void __cdecl FUN_0043f950(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed860;
|
|
FUN_0043fe1b(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043f97c file=munga/audwthr.hpp name=FUN_0043f97c */
|
|
|
|
void __cdecl FUN_0043f97c(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
float local_1c;
|
|
float local_18;
|
|
float local_14;
|
|
int local_10;
|
|
float local_c;
|
|
float local_8;
|
|
|
|
FUN_0043fe55(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_attribute_value_boundary1_004ebd27);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ebd41,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_attribute_value_boundary1_004ebd66,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ebd80,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ebd82,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ebdc2,0x237);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_attribute_value_boundary2_004ebde0);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ebdfa,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_attribute_value_boundary2_004ebe1f,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ebe39,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ebe3b,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ebe7b,0x23a);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_ID_004ebe99);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ebea4,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_004ebec9,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ebed4,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ebed6,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ebf16,0x23d);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_boundary1_004ebf34);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ebf4c,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_boundary1_004ebf71,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ebf89,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ebf8b,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ebfcb,0x240);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_14);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_boundary2_004ebfe9);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec001,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_boundary2_004ec026,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ec03e,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec040,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ec080,0x243);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_18);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_18,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_exponent_004ec09e);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec0a7,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_exponent_004ec0cc,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ec0d5,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec0d7,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ec117,0x246);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_1c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_1c,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043fcc2 file=? name=FUN_0043fcc2 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_0043fcc2(int *param_1)
|
|
|
|
{
|
|
float fVar1;
|
|
float fVar2;
|
|
float fVar3;
|
|
int *piVar4;
|
|
float10 fVar5;
|
|
|
|
fVar5 = (float10)(**(code **)(*param_1 + 0x20))(param_1);
|
|
fVar1 = (float)fVar5;
|
|
if ((float)param_1[0xe] <= (float)param_1[0xd]) {
|
|
fVar2 = (float)param_1[0xe];
|
|
}
|
|
else {
|
|
fVar2 = (float)param_1[0xd];
|
|
}
|
|
if ((float)param_1[0xd] <= (float)param_1[0xe]) {
|
|
fVar3 = (float)param_1[0xe];
|
|
}
|
|
else {
|
|
fVar3 = (float)param_1[0xd];
|
|
}
|
|
if ((fVar2 <= fVar1) && (fVar2 = fVar1, fVar3 < fVar1)) {
|
|
fVar2 = fVar3;
|
|
}
|
|
if ((float)param_1[0x12] != _DAT_0043fd9e) {
|
|
FUN_004dce94((double)((fVar2 - (float)param_1[0xd]) /
|
|
((float)param_1[0xe] - (float)param_1[0xd])),
|
|
SUB84((double)(float)param_1[0x12],0),
|
|
(uint)((ulonglong)(double)(float)param_1[0x12] >> 0x20));
|
|
}
|
|
piVar4 = (int *)FUN_00417ab4((int)(param_1 + 10));
|
|
(**(code **)(*piVar4 + 0x18))();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043fdca file=? name=FUN_0043fdca */
|
|
|
|
undefined4 * __cdecl FUN_0043fdca(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
int local_8;
|
|
|
|
FUN_0043ff34(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed840;
|
|
FUN_0043acac(param_1 + 10,param_1);
|
|
FUN_0043afbc(param_2,&local_8);
|
|
(**(code **)(param_1[10] + 4))(param_1 + 10,local_8);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043fe1b file=? name=FUN_0043fe1b */
|
|
|
|
void __cdecl FUN_0043fe1b(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed840;
|
|
FUN_0043accb(param_1 + 10,2);
|
|
FUN_0043ff08(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043fe55 file=? name=FUN_0043fe55 */
|
|
|
|
void __cdecl FUN_0043fe55(int *param_1,int param_2)
|
|
|
|
{
|
|
uint *puVar1;
|
|
uint *local_8;
|
|
|
|
FUN_0043ff73(param_1,param_2);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,s_audio_component_004ec196);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_8);
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043fec4 file=? name=FUN_0043fec4 */
|
|
|
|
undefined4 __cdecl FUN_0043fec4(int param_1)
|
|
|
|
{
|
|
FUN_00428a2c(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043fed8 file=? name=FUN_0043fed8 */
|
|
|
|
void __cdecl FUN_0043fed8(undefined4 *param_1,undefined4 *param_2)
|
|
|
|
{
|
|
if (param_2 == param_1 + 10) {
|
|
if (param_1 != (undefined4 *)0x0) {
|
|
(**(code **)*param_1)(param_1,3);
|
|
return;
|
|
}
|
|
}
|
|
else {
|
|
FUN_00417938();
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ff08 file=? name=FUN_0043ff08 */
|
|
|
|
void __cdecl FUN_0043ff08(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed820;
|
|
FUN_0042864c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ff34 file=? name=FUN_0043ff34 */
|
|
|
|
undefined4 * __cdecl FUN_0043ff34(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined1 local_8 [4];
|
|
|
|
FUN_00428678(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed820;
|
|
(**(code **)(*param_2 + 0x1c))(param_2,local_8,4);
|
|
FUN_00440056((int)param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0043ff73 file=munga/watcher.hpp name=FUN_0043ff73 */
|
|
|
|
void __cdecl FUN_0043ff73(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
int local_8;
|
|
|
|
FUN_0042887c(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_dump_value_004ec1a6);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec1b1,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_dump_value_004ec1d6,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ec1e1,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec1e3,
|
|
s_d__tesla_bt_munga_watcher_hpp_004ec223,0x108);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0044001b file=? name=FUN_0044001b */
|
|
|
|
void __cdecl FUN_0044001b(int *param_1)
|
|
|
|
{
|
|
FUN_00440072(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0044002a file=? name=FUN_0044002a */
|
|
|
|
void __cdecl FUN_0044002a(int *param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
iVar1 = FUN_00408d78(param_1 + 8,(int *)param_1[5],0.0001);
|
|
if (iVar1 == 0) {
|
|
FUN_00440072(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00440056 file=? name=FUN_00440056 */
|
|
|
|
void __cdecl FUN_00440056(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x20) = **(undefined4 **)(param_1 + 0x14);
|
|
*(undefined4 *)(param_1 + 0x24) = (*(undefined4 **)(param_1 + 0x14))[1];
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00440072 file=? name=FUN_00440072 */
|
|
|
|
void __cdecl FUN_00440072(int *param_1)
|
|
|
|
{
|
|
FUN_00440056((int)param_1);
|
|
param_1[6] = 1;
|
|
if (param_1[7] != 0) {
|
|
(**(code **)(*param_1 + 0x18))(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00440097 file=? name=FUN_00440097 */
|
|
|
|
void FUN_00440097(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0044009c file=? name=FUN_0044009c */
|
|
|
|
undefined4 * __cdecl FUN_0044009c(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_0044058e(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed7fc;
|
|
(**(code **)(*(int *)(param_1[4] + 0x80) + 4))(param_1[4] + 0x80,param_1);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xc,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xd,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xe,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xf,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x10,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x11,4);
|
|
param_1[0x12] = 0;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00440147 file=? name=FUN_00440147 */
|
|
|
|
void __cdecl FUN_00440147(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed7fc;
|
|
FUN_004405df(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00440173 file=munga/audwthr.hpp name=FUN_00440173 */
|
|
|
|
void __cdecl FUN_00440173(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
float local_1c;
|
|
float local_18;
|
|
int local_14;
|
|
int local_10;
|
|
int local_c;
|
|
float local_8;
|
|
|
|
FUN_00440619(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_attribute_value_threshold_004ec241);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec25b,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_attribute_value_threshold_004ec280,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ec29a,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec29c,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ec2dc,0x16b);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_inverse_trigger_004ec2fa);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec30a,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_inverse_trigger_004ec32f,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ec33f,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec341,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ec381,0x16e);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_ID_on_004ec39f);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec3ad,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_on_004ec3d2,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ec3e0,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec3e2,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ec422,0x171);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_ID_off_004ec440);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec44f,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_off_004ec474,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ec483,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec485,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ec4c5,0x174);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_14);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_on_004ec4e3);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec4f4,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_on_004ec519,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ec52a,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec52c,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ec56c,0x177);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_18);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_18,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_off_004ec58a);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec59c,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_off_004ec5c1,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ec5d3,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec5d5,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ec615,0x17a);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_1c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_1c,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004404b9 file=? name=FUN_004404b9 */
|
|
|
|
void __cdecl FUN_004404b9(int *param_1)
|
|
|
|
{
|
|
float fVar1;
|
|
int *piVar2;
|
|
float10 fVar3;
|
|
|
|
fVar3 = (float10)(**(code **)(*param_1 + 0x20))(param_1,param_1 + 8);
|
|
fVar1 = (float)fVar3;
|
|
if (param_1[0x12] == 0) {
|
|
if (((param_1[0xd] == 0) && ((float)param_1[0xc] < fVar1)) ||
|
|
((param_1[0xd] != 0 && (fVar1 < (float)param_1[0xc])))) {
|
|
piVar2 = (int *)FUN_00417ab4((int)(param_1 + 9));
|
|
(**(code **)(*piVar2 + 0x18))(piVar2,param_1[0xe],param_1[0x10]);
|
|
param_1[0x12] = 1;
|
|
}
|
|
}
|
|
else if (((param_1[0xd] == 0) && (fVar1 <= (float)param_1[0xc])) ||
|
|
((param_1[0xd] != 0 && ((float)param_1[0xc] <= fVar1)))) {
|
|
piVar2 = (int *)FUN_00417ab4((int)(param_1 + 9));
|
|
(**(code **)(*piVar2 + 0x18))(piVar2,param_1[0xf],param_1[0x11]);
|
|
param_1[0x12] = 0;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00440566 file=munga/audwthr.hpp name=FUN_00440566 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
float10 FUN_00440566(void)
|
|
|
|
{
|
|
FUN_0040385c(s_AudioTriggerOf<T>__ExtractIntere_004ec633,s_d__tesla_bt_munga_audwthr_hpp_004ec678,
|
|
0x1bc);
|
|
return (float10)_DAT_0044058a;
|
|
}
|
|
|
|
|
|
|
|
/* @0044058e file=? name=FUN_0044058e */
|
|
|
|
undefined4 * __cdecl FUN_0044058e(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
int local_8;
|
|
|
|
FUN_004406f8(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed7dc;
|
|
FUN_0043acac(param_1 + 9,param_1);
|
|
FUN_0043afbc(param_2,&local_8);
|
|
(**(code **)(param_1[9] + 4))(param_1 + 9,local_8);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004405df file=? name=FUN_004405df */
|
|
|
|
void __cdecl FUN_004405df(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed7dc;
|
|
FUN_0043accb(param_1 + 9,2);
|
|
FUN_004406cc(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00440619 file=? name=FUN_00440619 */
|
|
|
|
void __cdecl FUN_00440619(int *param_1,int param_2)
|
|
|
|
{
|
|
uint *puVar1;
|
|
uint *local_8;
|
|
|
|
FUN_00440737(param_1,param_2);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,s_audio_component_004ec696);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_8);
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00440688 file=? name=FUN_00440688 */
|
|
|
|
undefined4 __cdecl FUN_00440688(int param_1)
|
|
|
|
{
|
|
FUN_00428a2c(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @0044069c file=? name=FUN_0044069c */
|
|
|
|
void __cdecl FUN_0044069c(undefined4 *param_1,undefined4 *param_2)
|
|
|
|
{
|
|
if (param_2 == param_1 + 9) {
|
|
if (param_1 != (undefined4 *)0x0) {
|
|
(**(code **)*param_1)(param_1,3);
|
|
return;
|
|
}
|
|
}
|
|
else {
|
|
FUN_00417938();
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004406cc file=? name=FUN_004406cc */
|
|
|
|
void __cdecl FUN_004406cc(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed7bc;
|
|
FUN_0042864c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004406f8 file=? name=FUN_004406f8 */
|
|
|
|
undefined4 * __cdecl FUN_004406f8(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined1 local_8 [4];
|
|
|
|
FUN_00428678(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed7bc;
|
|
(**(code **)(*param_2 + 0x1c))(param_2,local_8,4);
|
|
FUN_0044080a((int)param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00440737 file=munga/watcher.hpp name=FUN_00440737 */
|
|
|
|
void __cdecl FUN_00440737(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
int local_8;
|
|
|
|
FUN_0042887c(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_dump_value_004ec6a6);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec6b1,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_dump_value_004ec6d6,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ec6e1,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec6e3,
|
|
s_d__tesla_bt_munga_watcher_hpp_004ec723,0x108);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004407df file=? name=FUN_004407df */
|
|
|
|
void __cdecl FUN_004407df(int *param_1)
|
|
|
|
{
|
|
FUN_0044081a(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004407ee file=? name=FUN_004407ee */
|
|
|
|
void __cdecl FUN_004407ee(int *param_1)
|
|
|
|
{
|
|
if ((float)param_1[8] != *(float *)param_1[5]) {
|
|
FUN_0044081a(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0044080a file=? name=FUN_0044080a */
|
|
|
|
void __cdecl FUN_0044080a(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x20) = **(undefined4 **)(param_1 + 0x14);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0044081a file=? name=FUN_0044081a */
|
|
|
|
void __cdecl FUN_0044081a(int *param_1)
|
|
|
|
{
|
|
FUN_0044080a((int)param_1);
|
|
param_1[6] = 1;
|
|
if (param_1[7] != 0) {
|
|
(**(code **)(*param_1 + 0x18))(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0044083f file=? name=FUN_0044083f */
|
|
|
|
void FUN_0044083f(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00440844 file=? name=FUN_00440844 */
|
|
|
|
undefined4 * __cdecl FUN_00440844(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_0044058e(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed79c;
|
|
(**(code **)(*(int *)(param_1[4] + 0x80) + 4))(param_1[4] + 0x80,param_1);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xe,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xf,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xd,4);
|
|
param_1[0xc] = param_1[8];
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004408bd file=? name=FUN_004408bd */
|
|
|
|
void __cdecl FUN_004408bd(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed79c;
|
|
FUN_004405df(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004408e9 file=munga/audwthr.hpp name=FUN_004408e9 */
|
|
|
|
void __cdecl FUN_004408e9(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
int iVar2;
|
|
float *pfVar3;
|
|
float local_10;
|
|
float local_c;
|
|
int local_8;
|
|
|
|
FUN_00440619(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_ID_004ec741);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec74c,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_004ec771,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ec77c,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec77e,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ec7be,0x39d);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_004ec7dc);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec7ea,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_004ec80f,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ec81d,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec81f,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ec85f,0x3a0);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
local_10 = 0.0001;
|
|
iVar2 = FUN_00403ad0(param_2,s_delta_trigger_004ec87d);
|
|
if (iVar2 != 0) {
|
|
pfVar3 = &local_10;
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_delta_trigger_004ec88b);
|
|
FUN_00407b78(pcVar1,pfVar3);
|
|
}
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00440a60 file=? name=FUN_00440a60 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_00440a60(int param_1)
|
|
|
|
{
|
|
float fVar1;
|
|
int *piVar2;
|
|
|
|
fVar1 = *(float *)(param_1 + 0x20) - *(float *)(param_1 + 0x30);
|
|
if (fVar1 <= _DAT_00440ab8) {
|
|
fVar1 = -fVar1;
|
|
}
|
|
if (*(float *)(param_1 + 0x34) <= fVar1) {
|
|
*(float *)(param_1 + 0x30) = *(float *)(param_1 + 0x20);
|
|
piVar2 = (int *)FUN_00417ab4(param_1 + 0x24);
|
|
(**(code **)(*piVar2 + 0x18))
|
|
(piVar2,*(undefined4 *)(param_1 + 0x38),*(undefined4 *)(param_1 + 0x3c));
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00440abc file=? name=FUN_00440abc */
|
|
|
|
undefined4 * __cdecl FUN_00440abc(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
FUN_0044058e(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed778;
|
|
iVar1 = FUN_00417ab4((int)(param_1 + 9));
|
|
(**(code **)(*(int *)(iVar1 + 0x14) + 4))(iVar1 + 0x14,param_1);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xc,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xd,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xe,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xf,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x10,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x11,4);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00440b61 file=? name=FUN_00440b61 */
|
|
|
|
void __cdecl FUN_00440b61(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed778;
|
|
FUN_004405df(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00440b8d file=munga/audwthr.hpp name=FUN_00440b8d */
|
|
|
|
void __cdecl FUN_00440b8d(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
float local_1c;
|
|
float local_18;
|
|
float local_14;
|
|
int local_10;
|
|
float local_c;
|
|
float local_8;
|
|
|
|
FUN_00440619(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_attribute_value_boundary1_004ec899);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec8b3,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_attribute_value_boundary1_004ec8d8,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ec8f2,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec8f4,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ec934,0x237);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_attribute_value_boundary2_004ec952);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec96c,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_attribute_value_boundary2_004ec991,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ec9ab,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ec9ad,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ec9ed,0x23a);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_ID_004eca0b);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004eca16,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_004eca3b,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004eca46,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004eca48,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004eca88,0x23d);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_boundary1_004ecaa6);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ecabe,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_boundary1_004ecae3,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ecafb,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ecafd,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ecb3d,0x240);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_14);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_boundary2_004ecb5b);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ecb73,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_boundary2_004ecb98,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ecbb0,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ecbb2,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ecbf2,0x243);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_18);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_18,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_exponent_004ecc10);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ecc19,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_exponent_004ecc3e,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ecc47,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ecc49,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ecc89,0x246);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_1c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_1c,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00440ed3 file=? name=FUN_00440ed3 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_00440ed3(int *param_1)
|
|
|
|
{
|
|
float fVar1;
|
|
float fVar2;
|
|
float fVar3;
|
|
int *piVar4;
|
|
float10 fVar5;
|
|
|
|
fVar5 = (float10)(**(code **)(*param_1 + 0x20))(param_1);
|
|
fVar1 = (float)fVar5;
|
|
if ((float)param_1[0xd] <= (float)param_1[0xc]) {
|
|
fVar2 = (float)param_1[0xd];
|
|
}
|
|
else {
|
|
fVar2 = (float)param_1[0xc];
|
|
}
|
|
if ((float)param_1[0xc] <= (float)param_1[0xd]) {
|
|
fVar3 = (float)param_1[0xd];
|
|
}
|
|
else {
|
|
fVar3 = (float)param_1[0xc];
|
|
}
|
|
if ((fVar2 <= fVar1) && (fVar2 = fVar1, fVar3 < fVar1)) {
|
|
fVar2 = fVar3;
|
|
}
|
|
if ((float)param_1[0x11] != _DAT_00440faf) {
|
|
FUN_004dce94((double)((fVar2 - (float)param_1[0xc]) /
|
|
((float)param_1[0xd] - (float)param_1[0xc])),
|
|
SUB84((double)(float)param_1[0x11],0),
|
|
(uint)((ulonglong)(double)(float)param_1[0x11] >> 0x20));
|
|
}
|
|
piVar4 = (int *)FUN_00417ab4((int)(param_1 + 9));
|
|
(**(code **)(*piVar4 + 0x18))();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00440fdb file=? name=FUN_00440fdb */
|
|
|
|
undefined4 * __cdecl FUN_00440fdb(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_00441287(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed754;
|
|
(**(code **)(*(int *)(param_1[4] + 0x80) + 4))(param_1[4] + 0x80,param_1);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xc,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xd,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xe,4);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0044104e file=? name=FUN_0044104e */
|
|
|
|
void __cdecl FUN_0044104e(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed754;
|
|
FUN_004412d8(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0044107a file=munga/audwthr.hpp name=FUN_0044107a */
|
|
|
|
void __cdecl FUN_0044107a(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
float local_10;
|
|
int local_c;
|
|
int local_8;
|
|
|
|
FUN_00441312(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_attribute_match_value_004ecd08);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ecd1e,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_attribute_match_value_004ecd43,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ecd59,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ecd5b,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ecd9b,0x30c);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_ID_004ecdb9);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ecdc4,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_004ecde9,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ecdf4,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ecdf6,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ece36,0x30f);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_004ece54);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ece62,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_004ece87,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ece95,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ece97,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004eced7,0x312);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441231 file=? name=FUN_00441231 */
|
|
|
|
void __cdecl FUN_00441231(int *param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
|
|
iVar1 = (**(code **)(*param_1 + 0x20))(param_1,param_1 + 8);
|
|
if (iVar1 == param_1[0xc]) {
|
|
piVar2 = (int *)FUN_00417ab4((int)(param_1 + 9));
|
|
(**(code **)(*piVar2 + 0x18))(piVar2,param_1[0xd],param_1[0xe]);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441269 file=munga/audwthr.hpp name=FUN_00441269 */
|
|
|
|
undefined4 FUN_00441269(void)
|
|
|
|
{
|
|
FUN_0040385c(s_AudioMatchOf<T>__ExtractInterest_004ecef5,s_d__tesla_bt_munga_audwthr_hpp_004ecf38,
|
|
0x336);
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
/* @00441287 file=? name=FUN_00441287 */
|
|
|
|
undefined4 * __cdecl FUN_00441287(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
int local_8;
|
|
|
|
FUN_004413f1(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed734;
|
|
FUN_0043acac(param_1 + 9,param_1);
|
|
FUN_0043afbc(param_2,&local_8);
|
|
(**(code **)(param_1[9] + 4))(param_1 + 9,local_8);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004412d8 file=? name=FUN_004412d8 */
|
|
|
|
void __cdecl FUN_004412d8(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed734;
|
|
FUN_0043accb(param_1 + 9,2);
|
|
FUN_004413c5(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441312 file=? name=FUN_00441312 */
|
|
|
|
void __cdecl FUN_00441312(int *param_1,int param_2)
|
|
|
|
{
|
|
uint *puVar1;
|
|
uint *local_8;
|
|
|
|
FUN_00441430(param_1,param_2);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,s_audio_component_004ecf56);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_8);
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441381 file=? name=FUN_00441381 */
|
|
|
|
undefined4 __cdecl FUN_00441381(int param_1)
|
|
|
|
{
|
|
FUN_00428a2c(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @00441395 file=? name=FUN_00441395 */
|
|
|
|
void __cdecl FUN_00441395(undefined4 *param_1,undefined4 *param_2)
|
|
|
|
{
|
|
if (param_2 == param_1 + 9) {
|
|
if (param_1 != (undefined4 *)0x0) {
|
|
(**(code **)*param_1)(param_1,3);
|
|
return;
|
|
}
|
|
}
|
|
else {
|
|
FUN_00417938();
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004413c5 file=? name=FUN_004413c5 */
|
|
|
|
void __cdecl FUN_004413c5(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed714;
|
|
FUN_0042864c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004413f1 file=? name=FUN_004413f1 */
|
|
|
|
undefined4 * __cdecl FUN_004413f1(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined1 local_8 [4];
|
|
|
|
FUN_00428678(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed714;
|
|
(**(code **)(*param_2 + 0x1c))(param_2,local_8,4);
|
|
FUN_00441502((int)param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00441430 file=munga/watcher.hpp name=FUN_00441430 */
|
|
|
|
void __cdecl FUN_00441430(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
int local_8;
|
|
|
|
FUN_0042887c(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_dump_value_004ecf66);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ecf71,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_dump_value_004ecf96,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ecfa1,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ecfa3,
|
|
s_d__tesla_bt_munga_watcher_hpp_004ecfe3,0x108);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004414d8 file=? name=FUN_004414d8 */
|
|
|
|
void __cdecl FUN_004414d8(int *param_1)
|
|
|
|
{
|
|
FUN_00441512(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004414e7 file=? name=FUN_004414e7 */
|
|
|
|
void __cdecl FUN_004414e7(int *param_1)
|
|
|
|
{
|
|
if (*(int *)param_1[5] != param_1[8]) {
|
|
FUN_00441512(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441502 file=? name=FUN_00441502 */
|
|
|
|
void __cdecl FUN_00441502(int param_1)
|
|
|
|
{
|
|
*(undefined4 *)(param_1 + 0x20) = **(undefined4 **)(param_1 + 0x14);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441512 file=? name=FUN_00441512 */
|
|
|
|
void __cdecl FUN_00441512(int *param_1)
|
|
|
|
{
|
|
FUN_00441502((int)param_1);
|
|
param_1[6] = 1;
|
|
if (param_1[7] != 0) {
|
|
(**(code **)(*param_1 + 0x18))(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441537 file=? name=FUN_00441537 */
|
|
|
|
void FUN_00441537(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0044153c file=? name=FUN_0044153c */
|
|
|
|
undefined4 * __cdecl FUN_0044153c(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_00441287(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed6f4;
|
|
(**(code **)(*(int *)(param_1[4] + 0x80) + 4))(param_1[4] + 0x80,param_1);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xe,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xf,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xd,4);
|
|
param_1[0xc] = param_1[8];
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004415b5 file=? name=FUN_004415b5 */
|
|
|
|
void __cdecl FUN_004415b5(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed6f4;
|
|
FUN_004412d8(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004415e1 file=munga/audwthr.hpp name=FUN_004415e1 */
|
|
|
|
void __cdecl FUN_004415e1(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
int iVar2;
|
|
int *piVar3;
|
|
int local_10;
|
|
float local_c;
|
|
int local_8;
|
|
|
|
FUN_00441312(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_ID_004ed001);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed00c,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_004ed031,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ed03c,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed03e,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ed07e,0x39d);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_004ed09c);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed0aa,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_004ed0cf,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ed0dd,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed0df,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ed11f,0x3a0);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
local_10 = 0;
|
|
iVar2 = FUN_00403ad0(param_2,s_delta_trigger_004ed13d);
|
|
if (iVar2 != 0) {
|
|
piVar3 = &local_10;
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_delta_trigger_004ed14b);
|
|
FUN_00407ae0(pcVar1,piVar3);
|
|
}
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441756 file=? name=FUN_00441756 */
|
|
|
|
void __cdecl FUN_00441756(int param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
int *piVar2;
|
|
|
|
iVar1 = *(int *)(param_1 + 0x20) - *(int *)(param_1 + 0x30);
|
|
if (iVar1 < 1) {
|
|
iVar1 = -iVar1;
|
|
}
|
|
if (*(int *)(param_1 + 0x34) <= iVar1) {
|
|
*(int *)(param_1 + 0x30) = *(int *)(param_1 + 0x20);
|
|
piVar2 = (int *)FUN_00417ab4(param_1 + 0x24);
|
|
(**(code **)(*piVar2 + 0x18))
|
|
(piVar2,*(undefined4 *)(param_1 + 0x38),*(undefined4 *)(param_1 + 0x3c));
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0044179a file=? name=FUN_0044179a */
|
|
|
|
undefined4 * __cdecl FUN_0044179a(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
FUN_00441287(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed6d0;
|
|
(**(code **)(*(int *)(param_1[4] + 0x80) + 4))(param_1[4] + 0x80,param_1);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xc,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xd,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xe,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0xf,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x10,4);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,param_1 + 0x11,4);
|
|
param_1[0x12] = 0;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00441845 file=? name=FUN_00441845 */
|
|
|
|
void __cdecl FUN_00441845(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed6d0;
|
|
FUN_004412d8(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441871 file=munga/audwthr.hpp name=FUN_00441871 */
|
|
|
|
void __cdecl FUN_00441871(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
float local_1c;
|
|
float local_18;
|
|
int local_14;
|
|
int local_10;
|
|
int local_c;
|
|
float local_8;
|
|
|
|
FUN_00441312(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_attribute_value_threshold_004ed159);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed173,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_attribute_value_threshold_004ed198,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ed1b2,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed1b4,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ed1f4,0x16b);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_inverse_trigger_004ed212);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed222,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_inverse_trigger_004ed247,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ed257,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed259,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ed299,0x16e);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_c,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_ID_on_004ed2b7);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed2c5,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_on_004ed2ea,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ed2f8,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed2fa,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ed33a,0x171);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_10);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_10,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_ID_off_004ed358);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed367,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_ID_off_004ed38c,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ed39b,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed39d,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ed3dd,0x174);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_14);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_14,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_on_004ed3fb);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed40c,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_on_004ed431,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ed442,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed444,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ed484,0x177);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_18);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_18,4);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_control_value_off_004ed4a2);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed4b4,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_control_value_off_004ed4d9,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ed4eb,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed4ed,
|
|
s_d__tesla_bt_munga_audwthr_hpp_004ed52d,0x17a);
|
|
}
|
|
FUN_00407b78(pcVar1,&local_1c);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_1c,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441bb7 file=? name=FUN_00441bb7 */
|
|
|
|
void __cdecl FUN_00441bb7(int *param_1)
|
|
|
|
{
|
|
float fVar1;
|
|
int *piVar2;
|
|
float10 fVar3;
|
|
|
|
fVar3 = (float10)(**(code **)(*param_1 + 0x20))(param_1,param_1 + 8);
|
|
fVar1 = (float)fVar3;
|
|
if (param_1[0x12] == 0) {
|
|
if (((param_1[0xd] == 0) && ((float)param_1[0xc] < fVar1)) ||
|
|
((param_1[0xd] != 0 && (fVar1 < (float)param_1[0xc])))) {
|
|
piVar2 = (int *)FUN_00417ab4((int)(param_1 + 9));
|
|
(**(code **)(*piVar2 + 0x18))(piVar2,param_1[0xe],param_1[0x10]);
|
|
param_1[0x12] = 1;
|
|
}
|
|
}
|
|
else if (((param_1[0xd] == 0) && (fVar1 <= (float)param_1[0xc])) ||
|
|
((param_1[0xd] != 0 && ((float)param_1[0xc] <= fVar1)))) {
|
|
piVar2 = (int *)FUN_00417ab4((int)(param_1 + 9));
|
|
(**(code **)(*piVar2 + 0x18))(piVar2,param_1[0xf],param_1[0x11]);
|
|
param_1[0x12] = 0;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441c64 file=munga/audwthr.hpp name=FUN_00441c64 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
float10 FUN_00441c64(void)
|
|
|
|
{
|
|
FUN_0040385c(s_AudioTriggerOf<T>__ExtractIntere_004ed54b,s_d__tesla_bt_munga_audwthr_hpp_004ed590,
|
|
0x1bc);
|
|
return (float10)_DAT_00441c88;
|
|
}
|
|
|
|
|
|
|
|
/* @00441c8c file=? name=FUN_00441c8c */
|
|
|
|
undefined4 * __cdecl FUN_00441c8c(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
int local_8;
|
|
|
|
FUN_00441e04(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed6b0;
|
|
FUN_0043acac(param_1 + 0x1d,param_1);
|
|
FUN_0043afbc(param_2,&local_8);
|
|
(**(code **)(param_1[0x1d] + 4))(param_1 + 0x1d,local_8);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00441cdd file=? name=FUN_00441cdd */
|
|
|
|
void __cdecl FUN_00441cdd(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed6b0;
|
|
FUN_0043accb(param_1 + 0x1d,2);
|
|
FUN_00441dca(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441d17 file=? name=FUN_00441d17 */
|
|
|
|
void __cdecl FUN_00441d17(int *param_1,int param_2)
|
|
|
|
{
|
|
uint *puVar1;
|
|
uint *local_8;
|
|
|
|
FUN_00441e4d(param_1,param_2);
|
|
puVar1 = (uint *)FUN_00402298(0x10);
|
|
if (puVar1 == (uint *)0x0) {
|
|
local_8 = (uint *)0x0;
|
|
}
|
|
else {
|
|
local_8 = FUN_00402460(puVar1,s_audio_component_004ed5ae);
|
|
}
|
|
local_8[3] = local_8[3] + 1;
|
|
FUN_00417240(param_1,param_2,(int *)&local_8);
|
|
puVar1 = local_8 + 3;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
FUN_004024d8((int *)local_8,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441d86 file=? name=FUN_00441d86 */
|
|
|
|
undefined4 __cdecl FUN_00441d86(int param_1)
|
|
|
|
{
|
|
FUN_00428a2c(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @00441d9a file=? name=FUN_00441d9a */
|
|
|
|
void __cdecl FUN_00441d9a(undefined4 *param_1,undefined4 *param_2)
|
|
|
|
{
|
|
if (param_2 == param_1 + 0x1d) {
|
|
if (param_1 != (undefined4 *)0x0) {
|
|
(**(code **)*param_1)(param_1,3);
|
|
return;
|
|
}
|
|
}
|
|
else {
|
|
FUN_00417938();
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441dca file=? name=FUN_00441dca */
|
|
|
|
void __cdecl FUN_00441dca(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004ed690;
|
|
FUN_0041baa4(param_1 + 8,2);
|
|
FUN_0042864c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441e04 file=? name=FUN_00441e04 */
|
|
|
|
undefined4 * __cdecl FUN_00441e04(undefined4 *param_1,int *param_2,int param_3)
|
|
|
|
{
|
|
undefined1 local_8 [4];
|
|
|
|
FUN_00428678(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004ed690;
|
|
FUN_0041b994(param_1 + 8);
|
|
(**(code **)(*param_2 + 0x1c))(param_2,local_8,4);
|
|
FUN_00441f29((int)param_1);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00441e4d file=munga/watcher.hpp name=FUN_00441e4d */
|
|
|
|
void __cdecl FUN_00441e4d(int *param_1,int param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
int local_8;
|
|
|
|
FUN_0042887c(param_1,param_2);
|
|
pcVar1 = (char *)FUN_00403ad0(param_2,s_dump_value_004ed5be);
|
|
if (pcVar1 == (char *)0x0) {
|
|
FUN_004dbb24(&DAT_00524e20,s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed5c9,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,s_dump_value_004ed5ee,(char *)0x0);
|
|
FUN_004dbb24(&DAT_00524e20,&DAT_004ed5f9,(char *)0x0);
|
|
FUN_0040385c(s_DYN_MEM_STRM_WRITE_ENTRY____name_004ed5fb,
|
|
s_d__tesla_bt_munga_watcher_hpp_004ed63b,0x108);
|
|
}
|
|
FUN_00407ae0(pcVar1,&local_8);
|
|
(**(code **)(*param_1 + 0x20))(param_1,&local_8,4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441ef5 file=? name=FUN_00441ef5 */
|
|
|
|
void __cdecl FUN_00441ef5(int *param_1)
|
|
|
|
{
|
|
FUN_00441f41(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441f04 file=? name=FUN_00441f04 */
|
|
|
|
void __cdecl FUN_00441f04(int *param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
iVar1 = FUN_0041bba8((int)(param_1 + 8),param_1[5]);
|
|
if (iVar1 == 0) {
|
|
FUN_00441f41(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441f29 file=? name=FUN_00441f29 */
|
|
|
|
void __cdecl FUN_00441f29(int param_1)
|
|
|
|
{
|
|
FUN_0041bb88(param_1 + 0x20,*(int *)(param_1 + 0x14));
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441f41 file=? name=FUN_00441f41 */
|
|
|
|
void __cdecl FUN_00441f41(int *param_1)
|
|
|
|
{
|
|
FUN_00441f29((int)param_1);
|
|
param_1[6] = 1;
|
|
if (param_1[7] != 0) {
|
|
(**(code **)(*param_1 + 0x18))(param_1);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441f66 file=? name=FUN_00441f66 */
|
|
|
|
void FUN_00441f66(void)
|
|
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441f6c file=? name=FUN_00441f6c */
|
|
|
|
undefined4 * __cdecl FUN_00441f6c(undefined4 *param_1,undefined4 param_2)
|
|
|
|
{
|
|
FUN_00435d30(param_1,param_2,DAT_004e823c,1,1,1,0x1e,&DAT_004e82f8);
|
|
*param_1 = &PTR_FUN_004edb74;
|
|
FUN_0044242c(param_1 + 0x14,0,0);
|
|
param_1[0x13] = 0;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00441fb4 file=? name=FUN_00441fb4 */
|
|
|
|
void __cdecl FUN_00441fb4(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004edb74;
|
|
FUN_00436b9c((int *)param_1[0x13],3);
|
|
FUN_0044244f(param_1 + 0x14,2);
|
|
FUN_00435df8(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00441ffc file=? name=FUN_00441ffc */
|
|
|
|
void __cdecl FUN_00441ffc(int *param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
|
|
iVar1 = (**(code **)(*param_1 + 0x4c))(param_1);
|
|
param_1[0x13] = iVar1;
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00442010 file=? name=FUN_00442010 */
|
|
|
|
undefined4 __cdecl FUN_00442010(int param_1)
|
|
|
|
{
|
|
FUN_00435e48(param_1);
|
|
return 1;
|
|
}
|
|
|
|
|
|
|
|
/* @0044202c file=? name=FUN_0044202c */
|
|
|
|
void __cdecl FUN_0044202c(int *param_1,int param_2)
|
|
|
|
{
|
|
(*(code *)**(undefined4 **)param_1[0x13])((undefined4 *)param_1[0x13],param_2);
|
|
FUN_00435e70(param_1,param_2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00442054 file=? name=FUN_00442054 */
|
|
|
|
void __cdecl FUN_00442054(int param_1)
|
|
|
|
{
|
|
(**(code **)(**(int **)(param_1 + 0x4c) + 8))(*(int **)(param_1 + 0x4c));
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00442068 file=? name=FUN_00442068 */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_00442068(int param_1,int *param_2,uint *param_3)
|
|
|
|
{
|
|
bool bVar1;
|
|
undefined3 extraout_var;
|
|
undefined4 *puVar2;
|
|
int iVar3;
|
|
float10 fVar4;
|
|
float local_c;
|
|
float local_8;
|
|
|
|
bVar1 = FUN_00438348(param_2[9],*(int *)(param_1 + 0x4c));
|
|
if (CONCAT31(extraout_var,bVar1) == 0) {
|
|
iVar3 = param_2[0x1b];
|
|
fVar4 = (float10)(**(code **)(*param_2 + 0x1c))(param_2);
|
|
local_8 = (float)fVar4;
|
|
}
|
|
else {
|
|
if (*(int *)(*(int *)(param_2[10] + 0xc) + 0x10) == 0) {
|
|
return;
|
|
}
|
|
iVar3 = param_2[0x1b];
|
|
local_8 = 0.0;
|
|
}
|
|
if (((param_3[3] != 1) || (*(int *)(*(int *)(param_2[10] + 0xc) + 0x10) != 0)) ||
|
|
(_DAT_004e8638 <= local_8)) {
|
|
local_c = (_DAT_00442130 - (float)iVar3) - local_8;
|
|
puVar2 = FUN_00402f74(0x4edaf0);
|
|
if (puVar2 == (undefined4 *)0x0) {
|
|
puVar2 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar2 = FUN_00442330(puVar2,param_2,param_3);
|
|
}
|
|
(**(code **)(*(int *)(param_1 + 0x50) + 8))(param_1 + 0x50,puVar2,&local_c);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00442134 file=? name=FUN_00442134 */
|
|
|
|
undefined4 __cdecl FUN_00442134(int param_1)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
int iVar2;
|
|
int iVar3;
|
|
undefined4 uVar4;
|
|
int local_18 [5];
|
|
|
|
FUN_00436f9c(local_18,param_1 + 0x50);
|
|
puVar1 = (undefined4 *)(**(code **)(local_18[0] + 0x30))(local_18);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
uVar4 = 0;
|
|
FUN_00436ff9(local_18,2);
|
|
}
|
|
else {
|
|
iVar3 = puVar1[3];
|
|
iVar2 = FUN_00417ab4((int)(puVar1 + 4));
|
|
FUN_00419bbc(iVar2,iVar3);
|
|
if (puVar1 != (undefined4 *)0x0) {
|
|
(**(code **)*puVar1)(puVar1,3);
|
|
}
|
|
uVar4 = 1;
|
|
FUN_00436ff9(local_18,2);
|
|
}
|
|
return uVar4;
|
|
}
|
|
|
|
|
|
|
|
/* @004421b4 file=? name=FUN_004421b4 */
|
|
|
|
void __cdecl FUN_004421b4(int param_1,int param_2)
|
|
|
|
{
|
|
int iVar1;
|
|
int iVar2;
|
|
undefined4 *puVar3;
|
|
int local_18 [5];
|
|
|
|
FUN_00436f9c(local_18,param_1 + 0x50);
|
|
while( true ) {
|
|
puVar3 = (undefined4 *)(**(code **)(local_18[0] + 0x28))(local_18);
|
|
if (puVar3 == (undefined4 *)0x0) break;
|
|
iVar1 = FUN_00417ab4((int)(puVar3 + 4));
|
|
if (param_2 == iVar1) {
|
|
if (*(int *)(puVar3[3] + 0xc) == 2) {
|
|
iVar1 = puVar3[3];
|
|
iVar2 = FUN_00417ab4((int)(puVar3 + 4));
|
|
FUN_00419bbc(iVar2,iVar1);
|
|
if (puVar3 != (undefined4 *)0x0) {
|
|
(**(code **)*puVar3)(puVar3,3);
|
|
}
|
|
}
|
|
else if (puVar3 != (undefined4 *)0x0) {
|
|
(**(code **)*puVar3)(puVar3,3);
|
|
}
|
|
}
|
|
}
|
|
FUN_00436ff9(local_18,2);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00442248 file=? name=FUN_00442248 */
|
|
|
|
undefined4 * FUN_00442248(void)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
puVar1 = (undefined4 *)FUN_00402298(0x50);
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_00436b1c(puVar1);
|
|
}
|
|
return puVar1;
|
|
}
|
|
|
|
|
|
|
|
/* @00442268 file=? name=FUN_00442268 */
|
|
|
|
void __cdecl FUN_00442268(int param_1,int *param_2,int param_3,int param_4)
|
|
|
|
{
|
|
int *piVar1;
|
|
undefined4 *puVar2;
|
|
undefined4 uVar3;
|
|
int iVar4;
|
|
undefined4 local_6c [26];
|
|
|
|
piVar1 = (int *)FUN_00407064(*(int *)(DAT_004efc94 + 0x68),param_4,3);
|
|
if (piVar1 != (int *)0x0) {
|
|
puVar2 = (undefined4 *)FUN_00407064(*(int *)(DAT_004efc94 + 0x68),*piVar1,1);
|
|
if (puVar2 != (undefined4 *)0x0) {
|
|
iVar4 = puVar2[1];
|
|
puVar2[1] = puVar2[1] + 1;
|
|
if (iVar4 == 0) {
|
|
FUN_00406cd0((int)puVar2);
|
|
}
|
|
iVar4 = piVar1[1];
|
|
piVar1[1] = piVar1[1] + 1;
|
|
if (iVar4 == 0) {
|
|
FUN_00406cd0((int)piVar1);
|
|
}
|
|
uVar3 = FUN_00417ab4(param_1 + 0x40);
|
|
iVar4 = (**(code **)(*param_2 + 0x28))(param_2,uVar3);
|
|
uVar3 = 4;
|
|
if (iVar4 != 0) {
|
|
uVar3 = 3;
|
|
}
|
|
iVar4 = FUN_0041dbd0(param_3,uVar3);
|
|
FUN_00437268(local_6c,*puVar2,(int)param_2,iVar4);
|
|
FUN_004371c8((int)local_6c);
|
|
puVar2[1] = puVar2[1] + -1;
|
|
piVar1[1] = piVar1[1] + -1;
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00442330 file=? name=FUN_00442330 */
|
|
|
|
undefined4 * __cdecl FUN_00442330(undefined4 *param_1,undefined4 param_2,uint *param_3)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
|
|
FUN_004178cc(param_1,2);
|
|
*param_1 = &PTR_FUN_004edb68;
|
|
FUN_004425fa(param_1 + 4,param_1);
|
|
uVar1 = FUN_004022b0(*param_3 + 3 & 0xfffffffc);
|
|
param_1[3] = uVar1;
|
|
FUN_004d4918((undefined4 *)param_1[3],param_3,*param_3);
|
|
(**(code **)(param_1[4] + 4))(param_1 + 4,param_2);
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00442398 file=? name=FUN_00442398 */
|
|
|
|
void __cdecl FUN_00442398(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004edb68;
|
|
FUN_004022d0((int *)param_1[3]);
|
|
FUN_00442619(param_1 + 4,2);
|
|
FUN_0041790c(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_00402f98(0x4edaf0,param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004423e8 file=? name=FUN_004423e8 */
|
|
|
|
void __cdecl FUN_004423e8(undefined4 *param_1)
|
|
|
|
{
|
|
if (param_1 != (undefined4 *)0x0) {
|
|
(**(code **)*param_1)(param_1,3);
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0044242c file=? name=FUN_0044242c */
|
|
|
|
undefined4 * __cdecl FUN_0044242c(undefined4 *param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
{
|
|
FUN_004186ac(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004edb4c;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @0044244f file=? name=FUN_0044244f */
|
|
|
|
void __cdecl FUN_0044244f(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004edb4c;
|
|
FUN_004186dc(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004425af(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @0044247b file=? name=FUN_0044247b */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
undefined4 __cdecl FUN_0044247b(undefined4 param_1,int param_2,int param_3)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
float10 fVar2;
|
|
|
|
fVar2 = FUN_004dcd00((double)(*(float *)(param_2 + 0x1c) - *(float *)(param_3 + 0x1c)));
|
|
if ((float10)_DAT_004424eb < fVar2) {
|
|
if (*(float *)(param_2 + 0x1c) <= *(float *)(param_3 + 0x1c)) {
|
|
uVar1 = 0xffffffff;
|
|
}
|
|
else {
|
|
uVar1 = 1;
|
|
}
|
|
}
|
|
else {
|
|
uVar1 = 0;
|
|
}
|
|
return uVar1;
|
|
}
|
|
|
|
|
|
|
|
/* @004425af file=? name=FUN_004425af */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void __cdecl FUN_004425af(undefined4 *param_1)
|
|
|
|
{
|
|
FUN_00402f98((int)DAT_004edb3c,param_1);
|
|
_DAT_004edb40 = _DAT_004edb40 + -1;
|
|
if (_DAT_004edb40 == 0) {
|
|
if (DAT_004edb3c != (int *)0x0) {
|
|
FUN_00402c28(DAT_004edb3c,0);
|
|
FUN_004022d0(DAT_004edb3c);
|
|
}
|
|
DAT_004edb3c = (int *)0x0;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004425fa file=? name=FUN_004425fa */
|
|
|
|
undefined4 * __cdecl FUN_004425fa(undefined4 *param_1,undefined4 param_2)
|
|
|
|
{
|
|
FUN_004179d4(param_1,param_2);
|
|
*param_1 = &PTR_FUN_004edb44;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00442619 file=? name=FUN_00442619 */
|
|
|
|
void __cdecl FUN_00442619(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004edb44;
|
|
FUN_004179f8(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00442645 file=? name=FUN_00442645 */
|
|
|
|
undefined4 * __cdecl FUN_00442645(undefined4 param_1,int param_2,undefined4 *param_3)
|
|
|
|
{
|
|
undefined4 *puVar1;
|
|
|
|
puVar1 = (undefined4 *)FUN_004426e5();
|
|
if (puVar1 == (undefined4 *)0x0) {
|
|
puVar1 = (undefined4 *)0x0;
|
|
}
|
|
else {
|
|
puVar1 = FUN_00442684(puVar1,param_1,param_2,param_3);
|
|
}
|
|
return puVar1;
|
|
}
|
|
|
|
|
|
|
|
/* @00442675 file=? name=FUN_00442675 */
|
|
|
|
void __cdecl FUN_00442675(int param_1)
|
|
|
|
{
|
|
FUN_00442134(param_1);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00442684 file=? name=FUN_00442684 */
|
|
|
|
undefined4 * __cdecl
|
|
FUN_00442684(undefined4 *param_1,undefined4 param_2,int param_3,undefined4 *param_4)
|
|
|
|
{
|
|
FUN_004185bc(param_1,param_2,param_3);
|
|
*param_1 = &PTR_FUN_004edbcc;
|
|
param_1[7] = 0;
|
|
param_1[7] = *param_4;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004426b9 file=? name=FUN_004426b9 */
|
|
|
|
void __cdecl FUN_004426b9(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004edbcc;
|
|
FUN_004185ec(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_00442735(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @004426e5 file=? name=FUN_004426e5 */
|
|
|
|
void FUN_004426e5(void)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined4 *puVar2;
|
|
|
|
iVar1 = DAT_004edbc8;
|
|
DAT_004edbc8 = DAT_004edbc8 + 1;
|
|
puVar2 = DAT_004edbc4;
|
|
if ((iVar1 == 0) && (puVar2 = (undefined4 *)FUN_00402298(0x28), puVar2 != (undefined4 *)0x0)) {
|
|
FUN_00402b98(puVar2,0x20,100,100,s_VChainLinkOf_004edb2d);
|
|
}
|
|
DAT_004edbc4 = puVar2;
|
|
FUN_00402f74((int)DAT_004edbc4);
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00442735 file=? name=FUN_00442735 */
|
|
|
|
void __cdecl FUN_00442735(undefined4 *param_1)
|
|
|
|
{
|
|
FUN_00402f98((int)DAT_004edbc4,param_1);
|
|
DAT_004edbc8 = DAT_004edbc8 + -1;
|
|
if (DAT_004edbc8 == 0) {
|
|
if (DAT_004edbc4 != (int *)0x0) {
|
|
FUN_00402c28(DAT_004edbc4,0);
|
|
FUN_004022d0(DAT_004edbc4);
|
|
}
|
|
DAT_004edbc4 = (int *)0x0;
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* @00442780 file=? name=FUN_00442780 */
|
|
|
|
undefined4 * __cdecl FUN_00442780(undefined4 *param_1,char *param_2,undefined4 param_3)
|
|
|
|
{
|
|
char cVar1;
|
|
uint uVar2;
|
|
uint uVar3;
|
|
char *pcVar4;
|
|
char *pcVar5;
|
|
|
|
FUN_00415e90(param_1,0x40);
|
|
*param_1 = &PTR_FUN_004edc6c;
|
|
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 = (char *)(param_1 + 3);
|
|
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;
|
|
}
|
|
param_1[0xb] = 0;
|
|
param_1[0xc] = 1;
|
|
param_1[0xd] = param_3;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @004427dc file=? name=FUN_004427dc */
|
|
|
|
undefined4 * __cdecl FUN_004427dc(undefined4 *param_1,undefined4 param_2,undefined4 param_3)
|
|
|
|
{
|
|
FUN_00415e90(param_1,0x40);
|
|
*param_1 = &PTR_FUN_004edc6c;
|
|
*(undefined1 *)(param_1 + 3) = 0;
|
|
param_1[0xb] = param_2;
|
|
param_1[0xc] = 1;
|
|
param_1[0xd] = param_3;
|
|
return param_1;
|
|
}
|
|
|
|
|
|
|
|
/* @00442810 file=? name=FUN_00442810 */
|
|
|
|
void __cdecl FUN_00442810(int *param_1,byte param_2)
|
|
|
|
{
|
|
if (param_1 != (int *)0x0) {
|
|
*param_1 = (int)&PTR_FUN_004edc6c;
|
|
FUN_00415ed8(param_1,0);
|
|
if ((param_2 & 1) != 0) {
|
|
FUN_004022d0(param_1);
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
|
|
|