/* @00488bac file=? name=FUN_00488bac */ void __cdecl FUN_00488bac(int param_1,float param_2,float param_3) { *(float *)(param_1 + 0x10) = param_2 + *(float *)(param_1 + 0x10); *(float *)(param_1 + 0x14) = param_3 + *(float *)(param_1 + 0x14); return; } /* @00488bc8 file=? name=FUN_00488bc8 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __cdecl FUN_00488bc8(undefined4 *param_1,float param_2) { double dVar1; float fVar2; float10 fVar3; float local_24; float local_20; float local_1c; float local_18; undefined4 local_14; undefined4 local_10; float local_c; float local_8; fVar2 = _DAT_00488c40 * param_2; dVar1 = (double)fVar2; fVar3 = (float10)FUN_004dd0f4(SUB84(dVar1,0),(int)((ulonglong)dVar1 >> 0x20)); local_8 = (float)fVar3; dVar1 = (double)fVar2; fVar3 = (float10)FUN_004dc9b4(SUB84(dVar1,0),(int)((ulonglong)dVar1 >> 0x20)); local_24 = (float)fVar3; local_20 = local_8; local_1c = -local_8; local_14 = 0; local_10 = 0; local_18 = local_24; local_c = local_24; FUN_00488af4(param_1,(float *)param_1,&local_24); return; } /* @00488c80 file=? name=FUN_00488c80 */ void __cdecl FUN_00488c80(int *param_1,int param_2) { if (param_1 != (int *)0x0) { param_1[2] = 0; param_1[3] = 0; *param_1 = param_2; param_1[1] = *(int *)(param_2 + 0xc); return; } FUN_0049a300(1,s_Attempt_to_init_NULL_list_00505b84); return; } /* @00488cb4 file=? name=FUN_00488cb4 */ void __cdecl FUN_00488cb4(undefined4 param_1,undefined4 *param_2) { if (param_2 != (undefined4 *)0x0) { *param_2 = param_1; param_2[1] = 0; param_2[3] = 0; param_2[2] = 0; return; } FUN_0049a300(1,s_Attempt_to_init_NULL_superlist_00505b9f); return; } /* @00488cec file=? name=FUN_00488cec */ int * __cdecl FUN_00488cec(int param_1) { int *piVar1; piVar1 = (int *)FUN_00452c38(0x10); if (piVar1 != (int *)0x0) { FUN_00488c80(piVar1,param_1); return piVar1; } return (int *)0x0; } /* @00488d18 file=? name=FUN_00488d18 */ undefined4 __cdecl FUN_00488d18(int param_1) { if (param_1 == 0) { FUN_0049a300(1,s_Attempt_to_get_first_on_NULL_sup_00505bbf); return 0; } *(undefined4 *)(param_1 + 4) = *(undefined4 *)(param_1 + 8); if (*(undefined4 **)(param_1 + 8) != (undefined4 *)0x0) { return **(undefined4 **)(param_1 + 8); } return 0; } /* @00488d50 file=? name=FUN_00488d50 */ undefined4 __cdecl FUN_00488d50(int param_1) { undefined4 *puVar1; if (*(int *)(param_1 + 4) == 0) { FUN_0049a300(1,s_Attempt_to_get_next_on_NULL_supe_00505be7); return 0; } puVar1 = *(undefined4 **)(*(int *)(param_1 + 4) + 8); *(undefined4 **)(param_1 + 4) = puVar1; if (puVar1 != (undefined4 *)0x0) { return *puVar1; } return 0; } /* @00488d88 file=? name=FUN_00488d88 */ void __cdecl FUN_00488d88(int *param_1,int param_2) { int iVar1; int *piVar2; if (param_1 == (int *)0x0) { FUN_0049a300(1,s_Attempt_to_add_to_NULL_superlist_00505c0e); } else { piVar2 = FUN_00488cec(param_2); FUN_0048d7e0(param_1,param_2); if (param_1[2] == param_1[3]) { if (param_1[2] == 0) { param_1[2] = (int)piVar2; param_1[3] = (int)piVar2; } else { *(int **)(param_1[3] + 8) = piVar2; param_1[3] = (int)piVar2; piVar2[3] = param_1[2]; } } else { iVar1 = param_1[3]; *(int **)(iVar1 + 8) = piVar2; piVar2[3] = iVar1; param_1[3] = (int)piVar2; } } return; } /* @00488df8 file=? name=FUN_00488df8 */ int * __cdecl FUN_00488df8(int param_1,int param_2,int *param_3) { int *piVar1; int iVar2; iVar2 = 0; if (param_1 == 0) { FUN_0049a300(1,s_Attempt_to_find_item_in_NULL_sup_00505c30); return (int *)0x0; } piVar1 = *(int **)(param_1 + 8); if (piVar1 == (int *)0x0) { return (int *)0x0; } do { if (param_2 == *piVar1) { *param_3 = iVar2; return piVar1; } piVar1 = (int *)piVar1[2]; iVar2 = iVar2 + 1; } while (piVar1 != (int *)0x0); return (int *)0x0; } /* @00488e44 file=? name=FUN_00488e44 */ void __cdecl FUN_00488e44(int param_1,int param_2) { if (param_2 == *(int *)(param_1 + 8)) { if (*(int *)(param_1 + 8) == *(int *)(param_1 + 0xc)) { *(undefined4 *)(param_1 + 8) = 0; *(undefined4 *)(param_1 + 0xc) = 0; } else { if (*(int *)(param_2 + 0xc) != 0) { FUN_004d771c(s_Bad_error__head_of_list_has_a_pr_00505c58); } *(undefined4 *)(param_1 + 8) = *(undefined4 *)(param_2 + 8); *(undefined4 *)(*(int *)(param_2 + 8) + 0xc) = 0; } } else { *(undefined4 *)(*(int *)(param_2 + 0xc) + 8) = *(undefined4 *)(param_2 + 8); if (param_2 == *(int *)(param_1 + 0xc)) { if (*(int *)(param_2 + 8) != 0) { FUN_004d771c(s_Bad_error__tail_of_list_has_a_ne_00505c7c); } *(undefined4 *)(param_1 + 0xc) = *(undefined4 *)(param_2 + 0xc); } else { *(undefined4 *)(*(int *)(param_2 + 8) + 0xc) = *(undefined4 *)(param_2 + 0xc); } } return; } /* @00488ebc file=? name=FUN_00488ebc */ undefined4 __cdecl FUN_00488ebc(int *param_1,int param_2) { int *piVar1; undefined4 uVar2; int local_8; if (param_1 == (int *)0x0) { FUN_0049a300(1,s_Attempt_to_remove_from_NULL_supe_00505cbd); uVar2 = 0; } else { piVar1 = FUN_00488df8((int)param_1,param_2,&local_8); if (piVar1 == (int *)0x0) { FUN_0049a300(1,s_item_0x_x_not_found_in_list_00505ca0); uVar2 = 0; } else { FUN_0048d838(param_1,param_2); FUN_00488e44((int)param_1,(int)piVar1); FUN_00452c88(piVar1); uVar2 = 1; } } return uVar2; } /* @00488f34 file=? name=FUN_00488f34 */ undefined4 * __cdecl FUN_00488f34(uint param_1,int param_2,undefined *param_3) { undefined4 *puVar1; puVar1 = (undefined4 *)FUN_00452c38(param_1); if (puVar1 == (undefined4 *)0x0) { FUN_004d771c(s_Failed_to_allocate_space_in_new__00505ce4); puVar1 = (undefined4 *)0x0; } else { puVar1[3] = param_2; if (param_2 - 1U < 0xe) { (*(code *)param_3)(puVar1); } else { FUN_004d771c(s_Deeply_erroneous___cant_create_t_00505d0a); } puVar1[1] = 0; FUN_0048d294((int)puVar1); FUN_0048d350(puVar1,param_1); } return puVar1; } /* @00488f9c file=? name=FUN_00488f9c */ void __cdecl FUN_00488f9c(undefined4 param_1) { DAT_00505b70 = param_1; return; } /* @00488fac file=? name=FUN_00488fac */ void FUN_00488fac(void) { int *piVar1; while (DAT_00505b74 != (int *)0x0) { piVar1 = (int *)DAT_00505b74[1]; FUN_0048d30c((int)DAT_00505b74); FUN_00452c88(DAT_00505b74); DAT_00505b74 = piVar1; } return; } /* @00488fd8 file=? name=FUN_00488fd8 */ undefined4 __cdecl FUN_00488fd8(int *param_1) { if (DAT_00505b70 == 0) { FUN_0048d30c((int)param_1); FUN_00452c88(param_1); } else { param_1[1] = (int)DAT_00505b74; DAT_00505b74 = param_1; } return 0; } /* @0048900c file=? name=FUN_0048900c */ char * __cdecl FUN_0048900c(undefined4 param_1) { char cVar1; uint uVar2; uint uVar3; int iVar4; char *pcVar5; char *pcVar6; iVar4 = DAT_00505b68 * 0x40; DAT_00505b68 = DAT_00505b68 + 1; DAT_00505b68 = DAT_00505b68 & 3; switch(param_1) { default: pcVar5 = s_not_implemented__00505d86; break; case 2: pcVar5 = &DAT_00505d34; break; case 3: pcVar5 = &DAT_00505d39; break; case 4: pcVar5 = s_instance_00505d3e; break; case 5: pcVar5 = &DAT_00505d4d; break; case 6: pcVar5 = s_light_00505d47; break; case 7: pcVar5 = s_object_00505d51; break; case 8: pcVar5 = &DAT_00505d58; break; case 9: pcVar5 = s_geogroup_00505d5c; break; case 10: pcVar5 = s_geometry_00505d65; break; case 0xb: pcVar5 = s_material_00505d6e; break; case 0xc: pcVar5 = s_texture_00505d7e; break; case 0xd: pcVar5 = &DAT_00505d77; } uVar2 = 0xffffffff; do { pcVar6 = pcVar5; if (uVar2 == 0) break; uVar2 = uVar2 - 1; pcVar6 = pcVar5 + 1; cVar1 = *pcVar5; pcVar5 = pcVar6; } while (cVar1 != '\0'); uVar2 = ~uVar2; pcVar5 = pcVar6 + -uVar2; pcVar6 = &DAT_00523c08 + iVar4; for (uVar3 = uVar2 >> 2; uVar3 != 0; uVar3 = uVar3 - 1) { *(undefined4 *)pcVar6 = *(undefined4 *)pcVar5; pcVar5 = pcVar5 + 4; pcVar6 = pcVar6 + 4; } for (uVar2 = uVar2 & 3; uVar2 != 0; uVar2 = uVar2 - 1) { *pcVar6 = *pcVar5; pcVar5 = pcVar5 + 1; pcVar6 = pcVar6 + 1; } return &DAT_00523c08 + iVar4; } /* @004890fc file=? name=FUN_004890fc */ void __cdecl FUN_004890fc(undefined4 *param_1) { undefined4 *puVar1; int iVar2; int iVar3; iVar2 = 0; do { iVar3 = 0; puVar1 = param_1; do { *puVar1 = 0; if (iVar3 == iVar2) { *puVar1 = 0x3f800000; } iVar3 = iVar3 + 1; puVar1 = puVar1 + 1; } while (iVar3 < 4); iVar2 = iVar2 + 1; param_1 = param_1 + 4; } while (iVar2 < 4); return; } /* @00489130 file=? name=FUN_00489130 */ void __cdecl FUN_00489130(int param_1) { FUN_00488cb4(param_1,(undefined4 *)(param_1 + 0x10)); FUN_00488cb4(param_1,(undefined4 *)(param_1 + 0x20)); FUN_00488cb4(param_1,(undefined4 *)(param_1 + 0x30)); FUN_00488cb4(param_1,(undefined4 *)(param_1 + 0x40)); return; } /* @00489174 file=? name=FUN_00489174 */ void __cdecl FUN_00489174(int param_1) { *(undefined4 *)(param_1 + 0x10) = 0xffffffff; return; } /* @00489184 file=? name=FUN_00489184 */ void __cdecl FUN_00489184(int param_1) { *(undefined4 *)(param_1 + 0x14) = 0; *(undefined4 *)(param_1 + 0x10) = 0; *(int *)(param_1 + 0x18) = 1 << ((byte)DAT_00505b60 & 0x1f); DAT_00505b60 = DAT_00505b60 + 1; *(undefined4 *)(param_1 + 0x1c) = 0; *(undefined4 *)(param_1 + 0x68) = 0; *(undefined4 *)(param_1 + 0x28) = 0x3f800000; *(undefined4 *)(param_1 + 0x20) = 0xbf800000; *(undefined4 *)(param_1 + 0x2c) = 0x3f800000; *(undefined4 *)(param_1 + 0x24) = 0xbf800000; *(undefined4 *)(param_1 + 0x30) = 0x3f800000; *(undefined4 *)(param_1 + 0x34) = 0x44200000; *(undefined4 *)(param_1 + 0x38) = 0x43f80000; *(undefined4 *)(param_1 + 0x3c) = 0x41000000; *(undefined4 *)(param_1 + 0x40) = 0x463b8000; *(undefined4 *)(param_1 + 0x44) = 0; *(undefined4 *)(param_1 + 0x48) = 0x3e4ccccd; *(undefined4 *)(param_1 + 0x50) = 0x3ecccccd; *(undefined4 *)(param_1 + 0x50) = 1; *(undefined4 *)(param_1 + 0x6c) = 0; return; } /* @00489214 file=? name=FUN_00489214 */ void __cdecl FUN_00489214(int param_1) { *(undefined4 *)(param_1 + 0x14) = 0; *(undefined4 *)(param_1 + 0x10) = 0; *(undefined4 *)(param_1 + 0x18) = 1; *(undefined4 *)(param_1 + 0x38) = 0xffffffff; *(undefined4 *)(param_1 + 0x28) = 0x64078678; *(undefined4 *)(param_1 + 0x2c) = 0x64078678; *(undefined4 *)(param_1 + 0x1c) = 0x3f800000; *(undefined4 *)(param_1 + 0x20) = 0x3f800000; *(undefined4 *)(param_1 + 0x24) = 0x3f800000; return; } /* @00489258 file=? name=FUN_00489258 */ void __cdecl FUN_00489258(int param_1) { *(undefined4 *)(param_1 + 0x1c) = 0; *(undefined4 *)(param_1 + 0x10) = 0; *(undefined4 *)(param_1 + 0x14) = 0; *(undefined4 *)(param_1 + 0x2c) = 0x3f800000; *(undefined4 *)(param_1 + 0x30) = 0x3f800000; *(undefined4 *)(param_1 + 0x34) = 0x3f800000; *(undefined4 *)(param_1 + 0x38) = 0x3f800000; *(undefined4 *)(param_1 + 0x3c) = 0x3f800000; *(undefined4 *)(param_1 + 0x40) = 0x3f800000; *(undefined4 *)(param_1 + 0x20) = 0; *(undefined4 *)(param_1 + 0x24) = 0; *(undefined4 *)(param_1 + 0x28) = 0; *(undefined4 *)(param_1 + 0x44) = 0x3f800000; *(undefined4 *)(param_1 + 0x48) = 0x3f800000; *(undefined4 *)(param_1 + 0x4c) = 0x3f800000; *(undefined4 *)(param_1 + 0x60) = 0; *(undefined4 *)(param_1 + 0x50) = 0; *(undefined4 *)(param_1 + 0x54) = 0; *(undefined4 *)(param_1 + 0x58) = 0; *(undefined4 *)(param_1 + 0x5c) = 0; *(undefined4 *)(param_1 + 0x18) = 3; return; } /* @004892e0 file=? name=FUN_004892e0 */ void __cdecl FUN_004892e0(int param_1) { *(undefined4 *)(param_1 + 0x10) = 0; *(undefined4 *)(param_1 + 0x14) = 0; *(undefined4 *)(param_1 + 0x18) = 0; *(undefined4 *)(param_1 + 0x1c) = 0; *(undefined4 *)(param_1 + 0x20) = 0; return; } /* @00489304 file=? name=FUN_00489304 */ void __cdecl FUN_00489304(int param_1) { *(undefined4 *)(param_1 + 0x10) = 0; *(undefined4 *)(param_1 + 0x18) = 9; *(undefined4 *)(param_1 + 0x14) = 9; *(undefined4 *)(param_1 + 0x1c) = 0; *(undefined4 *)(param_1 + 0x20) = 0; *(undefined4 *)(param_1 + 0x24) = 0; *(undefined4 *)(param_1 + 0x28) = 0; *(undefined4 *)(param_1 + 0x2c) = 0; *(undefined4 *)(param_1 + 0x30) = 0; *(undefined4 *)(param_1 + 0x34) = 0; *(undefined4 *)(param_1 + 0x38) = 0; *(undefined4 *)(param_1 + 0x3c) = 0; *(undefined4 *)(param_1 + 0x48) = 0; *(undefined4 *)(param_1 + 0x44) = 0; *(undefined4 *)(param_1 + 0x40) = 0; return; } /* @0048935c file=? name=FUN_0048935c */ void __cdecl FUN_0048935c(int param_1) { *(undefined4 *)(param_1 + 0x10) = 0; *(undefined4 *)(param_1 + 0x14) = 0; *(undefined4 *)(param_1 + 0x18) = 0; *(undefined4 *)(param_1 + 0x1c) = 0x3f800000; *(undefined4 *)(param_1 + 0x20) = 0x3f800000; *(undefined4 *)(param_1 + 0x24) = 0x3f800000; return; } /* @00489388 file=? name=FUN_00489388 */ void __cdecl FUN_00489388(int param_1) { *(undefined4 *)(param_1 + 0x14) = 0; *(undefined4 *)(param_1 + 0x10) = 0; *(undefined4 *)(param_1 + 0x18) = 3; *(undefined4 *)(param_1 + 0x1c) = 1; *(undefined4 *)(param_1 + 0x34) = 0; *(undefined4 *)(param_1 + 0x20) = 0; *(undefined4 *)(param_1 + 0x24) = 0; *(undefined4 *)(param_1 + 0x28) = 0; *(undefined4 *)(param_1 + 0x2c) = 0; return; } /* @004893c4 file=? name=FUN_004893c4 */ void __cdecl FUN_004893c4(int param_1) { undefined4 *puVar1; int iVar2; FUN_00488cb4(param_1,(undefined4 *)(param_1 + 0x10)); *(undefined4 *)(param_1 + 0x20) = 0; *(undefined4 *)(param_1 + 0x24) = 0; *(undefined4 *)(param_1 + 0x28) = 0; iVar2 = 0; puVar1 = (undefined4 *)(param_1 + 0x30); do { *puVar1 = 0; iVar2 = iVar2 + 1; puVar1 = puVar1 + 1; } while (iVar2 < 0x10); *(undefined4 *)(param_1 + 0x70) = 0; *(undefined4 *)(param_1 + 0x74) = 0; *(undefined4 *)(param_1 + 0x78) = 0; return; } /* @00489410 file=? name=FUN_00489410 */ void __cdecl FUN_00489410(int param_1) { *(undefined4 *)(param_1 + 0x10) = 0; *(undefined4 *)(param_1 + 0x14) = 0; *(undefined4 *)(param_1 + 0x18) = 0; *(undefined4 *)(param_1 + 0x1c) = 0x3f800000; *(undefined4 *)(param_1 + 0x20) = 0; *(undefined4 *)(param_1 + 0x24) = 0; *(undefined4 *)(param_1 + 0x28) = 0; *(undefined4 *)(param_1 + 0x2c) = 0x3f800000; *(undefined4 *)(param_1 + 0x30) = 0; FUN_00488cb4(param_1,(undefined4 *)(param_1 + 0x34)); *(undefined4 *)(param_1 + 0x44) = 0; *(undefined4 *)(param_1 + 0x48) = 0; *(undefined4 *)(param_1 + 0x4c) = 0; return; } /* @0048946c file=? name=FUN_0048946c */ void __cdecl FUN_0048946c(int param_1) { *(undefined4 *)(param_1 + 0x10) = 0; *(undefined4 *)(param_1 + 0x14) = 0; *(undefined4 *)(param_1 + 0x18) = 0; *(undefined4 *)(param_1 + 0x1c) = 0x3f800000; *(undefined4 *)(param_1 + 0x20) = 0; *(undefined4 *)(param_1 + 0x24) = 0; *(undefined4 *)(param_1 + 0x28) = 0; *(undefined4 *)(param_1 + 0x2c) = 0x3f800000; *(undefined4 *)(param_1 + 0x30) = 0; *(undefined4 *)(param_1 + 0x34) = 0; FUN_00488cb4(param_1,(undefined4 *)(param_1 + 0x38)); *(undefined4 *)(param_1 + 0x48) = 0; *(undefined4 *)(param_1 + 0x4c) = 0; *(undefined4 *)(param_1 + 0x50) = 0; *(undefined4 *)(param_1 + 0x54) = 0; return; } /* @004894d0 file=? name=FUN_004894d0 */ void __cdecl FUN_004894d0(int param_1) { *(undefined4 *)(param_1 + 0x10) = 1; *(undefined4 *)(param_1 + 0x14) = 1; *(undefined4 *)(param_1 + 0x18) = 0; *(undefined4 *)(param_1 + 0x1c) = 0; *(undefined4 *)(param_1 + 0x20) = 0; *(undefined4 *)(param_1 + 0x24) = 0; *(undefined4 *)(param_1 + 0x28) = 0x3fb4fdf4; *(undefined4 *)(param_1 + 0x2c) = 0x3fb4fdf4; return; } /* @00489508 file=? name=FUN_00489508 */ void __cdecl FUN_00489508(int param_1) { FUN_004890fc((undefined4 *)(param_1 + 0x18)); *(undefined4 *)(param_1 + 0x10) = 0; *(undefined4 *)(param_1 + 0x14) = 0; *(undefined4 *)(param_1 + 0x58) = 3; *(undefined4 *)(param_1 + 0x5c) = 0; *(undefined4 *)(param_1 + 0x60) = 0; *(undefined4 *)(param_1 + 100) = 0; *(undefined4 *)(param_1 + 0x68) = 0xffffffff; *(undefined4 *)(param_1 + 0x6c) = 0; *(undefined4 *)(param_1 + 0x70) = 0; *(undefined4 *)(param_1 + 0x74) = 0; *(undefined4 *)(param_1 + 0x78) = 0x3f800000; *(undefined4 *)(param_1 + 0x7c) = 0; *(undefined4 *)(param_1 + 0x80) = 0; *(undefined4 *)(param_1 + 0x84) = 0; *(undefined4 *)(param_1 + 0x88) = 0x3f800000; return; } /* @00489578 file=? name=FUN_00489578 */ undefined4 __cdecl FUN_00489578(char *param_1) { FUN_004d771c(param_1); FUN_004dee24(9); return 0; } /* @00489594 file=? name=FUN_00489594 */ void __cdecl FUN_00489594(int param_1,int param_2) { if ((param_1 != 0) && (*(int *)(param_1 + 0xc) != param_2)) { FUN_0048900c(*(int *)(param_1 + 0xc)); FUN_0048900c(param_2); FUN_0049a300(0,s_inconsistent_type_check_in_point_00505d97); FUN_0049a300(0,s_last_API_operation__s_00505dd7); FUN_004dee24(9); } return; } /* @004895f0 file=? name=FUN_004895f0 */ void __cdecl FUN_004895f0(int param_1) { FUN_00488d88((int *)&DAT_00523bc8,param_1); return; } /* @00489608 file=? name=FUN_00489608 */ void __cdecl FUN_00489608(int param_1) { int iVar1; iVar1 = FUN_00488ebc((int *)&DAT_00523bc8,param_1); if (iVar1 == 0) { FUN_0049a300(1,s_Failed_to_remove_zone_0x_x__0x_x_00505dee); } return; } /* @00489638 file=? name=FUN_00489638 */ undefined4 __cdecl FUN_00489638(int param_1,int param_2) { int iVar1; int iVar2; if (param_1 == 0) { FUN_0049a300(1,s_attempt_to_remove_node_to_NULL_D_00505e6d); } else if (param_2 == 0) { FUN_0049a300(1,s_attempt_to_remove_NULL_from_DCS_00505e4c); } else { iVar1 = 0; for (iVar2 = *(int *)(param_1 + 0x10); iVar2 != 0; iVar2 = *(int *)(iVar2 + 0x10)) { if (param_2 == iVar2) { FUN_0048d7a0(param_1,param_2); if (iVar1 == 0) { *(undefined4 *)(param_1 + 0x10) = *(undefined4 *)(iVar2 + 0x10); } else { *(undefined4 *)(iVar1 + 0x10) = *(undefined4 *)(iVar2 + 0x10); } *(undefined4 *)(iVar2 + 0x10) = 0; return 1; } iVar1 = iVar2; } FUN_0049a300(1,s_dpl_RemoveNodeFromDCS_failed_to_f_00505e1c); } return 0; } /* @004896cc file=? name=FUN_004896cc */ undefined4 * FUN_004896cc(void) { undefined4 *puVar1; puVar1 = FUN_00488f34(0x14,2,FUN_00489174); FUN_004895f0((int)puVar1); return puVar1; } /* @004896f0 file=? name=FUN_004896f0 */ void FUN_004896f0(void) { FUN_00488f34(0x70,3,FUN_00489184); return; } /* @00489708 file=? name=FUN_00489708 */ void FUN_00489708(void) { FUN_00488f34(0x8c,5,FUN_00489508); return; } /* @00489724 file=? name=FUN_00489724 */ void FUN_00489724(void) { FUN_00488f34(0x38,4,FUN_00489388); return; } /* @0048973c file=? name=FUN_0048973c */ undefined4 * FUN_0048973c(void) { undefined4 *puVar1; puVar1 = FUN_00488f34(0x3c,6,FUN_00489214); FUN_00488d88((int *)&DAT_00523bf8,(int)puVar1); return puVar1; } /* @00489768 file=? name=FUN_00489768 */ void FUN_00489768(void) { DAT_005081d8 = 0; FUN_00488f34(0x4c,0xc,FUN_00489304); return; } /* @00489788 file=? name=FUN_00489788 */ void FUN_00489788(void) { FUN_00488f34(0x24,0xd,FUN_004892e0); return; } /* @004897a0 file=? name=FUN_004897a0 */ void FUN_004897a0(void) { FUN_00488f34(100,0xb,FUN_00489258); return; } /* @004897b8 file=? name=FUN_004897b8 */ void FUN_004897b8(void) { FUN_00488f34(0x2c,0xe,FUN_0048935c); return; } /* @004897d0 file=? name=FUN_004897d0 */ void FUN_004897d0(void) { FUN_00488f34(0x7c,7,FUN_004893c4); return; } /* @004897e8 file=? name=FUN_004897e8 */ void FUN_004897e8(void) { FUN_00488f34(0x50,8,FUN_00489410); return; } /* @00489800 file=? name=FUN_00489800 */ void FUN_00489800(void) { FUN_00488f34(0x58,9,FUN_0048946c); return; } /* @00489818 file=? name=FUN_00489818 */ void FUN_00489818(void) { FUN_00488f34(0x30,10,FUN_004894d0); return; } /* @00489830 file=? name=FUN_00489830 */ void __cdecl FUN_00489830(int *param_1) { if (DAT_00505b64 != 0) { FUN_00489594((int)param_1,2); } if (param_1 != (int *)0x0) { FUN_00489608((int)param_1); FUN_00488fd8(param_1); return; } FUN_0049a300(1,s_Attempt_to_Delete_NULL_ZONE_00505e91); return; } /* @00489878 file=? name=FUN_00489878 */ void __cdecl FUN_00489878(int *param_1) { if (DAT_00505b64 != 0) { FUN_00489594((int)param_1,3); } if (param_1 != (int *)0x0) { FUN_00488fd8(param_1); return; } FUN_0049a300(1,s_Attempt_to_delete_NULL_view_00505eae); return; } /* @004898b8 file=? name=FUN_004898b8 */ void __cdecl FUN_004898b8(int *param_1) { if (DAT_00505b64 != 0) { FUN_00489594((int)param_1,5); } if (param_1 != (int *)0x0) { FUN_00488fd8(param_1); return; } FUN_0049a300(1,s_Attempt_to_Delete_NULL_DCS_00505ecb); return; } /* @004898f8 file=? name=FUN_004898f8 */ void __cdecl FUN_004898f8(int *param_1) { if (DAT_00505b64 != 0) { FUN_00489594((int)param_1,4); } if (param_1 != (int *)0x0) { FUN_00488fd8(param_1); return; } FUN_0049a300(1,s_Attempt_to_Delete_NULL_instance_00505ee7); return; } /* @00489938 file=? name=FUN_00489938 */ void __cdecl FUN_00489938(int *param_1) { if (DAT_00505b64 != 0) { FUN_00489594((int)param_1,6); } if (param_1 != (int *)0x0) { FUN_00488ebc((int *)&DAT_00523bf8,(int)param_1); if (param_1[5] != 0) { FUN_00489638(param_1[5],(int)param_1); } FUN_00488fd8(param_1); return; } FUN_0049a300(1,s_Attempt_to_delete_NULL_light_00505f08); return; } /* @00489998 file=? name=FUN_00489998 */ void __cdecl FUN_00489998(int *param_1) { if (DAT_00505b64 != 0) { FUN_00489594((int)param_1,0xc); } if (param_1 != (int *)0x0) { FUN_00488fd8(param_1); return; } FUN_0049a300(1,s_Attempt_to_delete_NULL_texture_00505f26); return; } /* @004899d8 file=? name=FUN_004899d8 */ void __cdecl FUN_004899d8(int *param_1) { if (DAT_00505b64 != 0) { FUN_00489594((int)param_1,0xd); } if (param_1 != (int *)0x0) { if ((int *)param_1[4] != (int *)0x0) { FUN_00452c88((int *)param_1[4]); } FUN_00488fd8(param_1); return; } FUN_0049a300(1,s_Attempt_to_delete_NULL_texmap_00505f46); return; } /* @00489a28 file=? name=FUN_00489a28 */ void __cdecl FUN_00489a28(int *param_1) { if (DAT_00505b64 != 0) { FUN_00489594((int)param_1,0xb); } if (param_1 != (int *)0x0) { FUN_00488fd8(param_1); return; } FUN_0049a300(1,s_Attempt_to_delete_NULL_material_00505f65); return; } /* @00489a68 file=? name=FUN_00489a68 */ void __cdecl FUN_00489a68(int *param_1) { if (DAT_00505b64 != 0) { FUN_00489594((int)param_1,0xe); } if (param_1 != (int *)0x0) { FUN_00488fd8(param_1); return; } FUN_0049a300(1,s_Attempt_to_delete_NULL_ramp_00505f86); return; } /* @00489aa8 file=? name=FUN_00489aa8 */ void __cdecl FUN_00489aa8(int *param_1) { if (DAT_00505b64 != 0) { FUN_00489594((int)param_1,7); } if (param_1 != (int *)0x0) { FUN_00488fd8(param_1); return; } FUN_0049a300(1,s_Attempt_to_delete_NULL_object_00505fa3); return; } /* @00489ae8 file=? name=FUN_00489ae8 */ void __cdecl FUN_00489ae8(int *param_1) { if (DAT_00505b64 != 0) { FUN_00489594((int)param_1,8); } if (param_1 != (int *)0x0) { FUN_00488fd8(param_1); return; } FUN_0049a300(1,s_Attempt_to_delete_NULL_lod_00505fc2); return; } /* @00489b28 file=? name=FUN_00489b28 */ void __cdecl FUN_00489b28(int *param_1) { if (DAT_00505b64 != 0) { FUN_00489594((int)param_1,9); } if (param_1 != (int *)0x0) { FUN_00488fd8(param_1); return; } FUN_0049a300(1,s_Attempt_to_delete_NULL_geogroup_00505fde); return; } /* @00489b68 file=? name=FUN_00489b68 */ void __cdecl FUN_00489b68(int *param_1) { if (DAT_00505b64 != 0) { FUN_00489594((int)param_1,10); } if (param_1 != (int *)0x0) { FUN_00488fd8(param_1); return; } FUN_0049a300(1,s_Attempt_to_delete_NULL_geometry_00505fff); return; } /* @00489ba8 file=? name=FUN_00489ba8 */ void __cdecl FUN_00489ba8(int param_1) { if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } FUN_00488d88((int *)&DAT_00523be8,param_1); return; } /* @00489bd4 file=? name=FUN_00489bd4 */ void __cdecl FUN_00489bd4(int param_1) { if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } FUN_00488d88((int *)&DAT_00523bd8,param_1); return; } /* @00489c00 file=? name=FUN_00489c00 */ void __cdecl FUN_00489c00(int param_1,int param_2) { int local_8; if (DAT_00505b64 != 0) { FUN_00489594(param_2,8); } if (DAT_00505b64 != 0) { FUN_00489594(param_1,7); } *(int *)(param_2 + 0x30) = param_1; FUN_00488d88((int *)(param_1 + 0x10),param_2); FUN_00488df8(param_1 + 0x10,param_2,&local_8); return; } /* @00489c5c file=? name=FUN_00489c5c */ void __cdecl FUN_00489c5c(int param_1,int param_2) { if (DAT_00505b64 != 0) { FUN_00489594(param_1,8); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,9); } *(int *)(param_2 + 0x30) = param_1; FUN_00488d88((int *)(param_1 + 0x34),param_2); return; } /* @00489ca4 file=? name=FUN_00489ca4 */ void __cdecl FUN_00489ca4(int param_1,int param_2) { if (DAT_00505b64 != 0) { FUN_00489594(param_1,9); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,10); } *(int *)(param_2 + 0x1c) = param_1; FUN_00488d88((int *)(param_1 + 0x38),param_2); return; } /* @00489cec file=? name=FUN_00489cec */ void __cdecl FUN_00489cec(int param_1,int param_2) { int iVar1; int iVar2; if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,5); } if (param_1 == 0) { FUN_0049a300(1,s_attempt_to_add_dcs_0x_x_to_a_NUL_00506047); } else if (param_2 == 0) { FUN_0049a300(1,s_attempt_to_add_a_NULL_dcs_to_dcs_00506020); } else { if (*(int *)(param_1 + 100) == 0) { *(int *)(param_2 + 0x5c) = param_1; *(int *)(param_1 + 100) = param_2; } else { if (*(int *)(param_2 + 0x5c) != 0) { FUN_0048a068(*(int *)(param_2 + 0x5c),param_2); } *(int *)(param_2 + 0x5c) = param_1; iVar1 = *(int *)(param_1 + 100); do { iVar2 = iVar1; iVar1 = *(int *)(iVar2 + 0x60); } while (iVar1 != 0); *(int *)(iVar2 + 0x60) = param_2; } FUN_0048d8d8(param_1,param_2); } return; } /* @00489d90 file=? name=FUN_00489d90 */ undefined4 __cdecl FUN_00489d90(int param_1,int param_2) { undefined4 uVar1; if (param_1 == 0) { FUN_0049a300(1,s_attempt_to_add_node_to_NULL_DCS_005060c2); uVar1 = 0; } else if (param_2 == 0) { FUN_0049a300(1,s_attempt_to_add_NULL_node_to_DCS_005060a1); uVar1 = 0; } else if (*(int *)(param_2 + 0x10) == 0) { FUN_0048d760(param_1,param_2); *(undefined4 *)(param_2 + 0x10) = *(undefined4 *)(param_1 + 0x10); *(int *)(param_1 + 0x10) = param_2; uVar1 = 1; } else { FUN_0049a300(1,s_error_in_AddNodeToDCS___node_alr_00506071); uVar1 = 0; } return uVar1; } /* @00489e04 file=? name=FUN_00489e04 */ void __cdecl FUN_00489e04(int param_1,int param_2) { FUN_0049a300(4,s_dpl_AddInstanceToDCS_0x_x_0x_x_005060e3); if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,4); } FUN_00489d90(param_1,param_2); return; } /* @00489e58 file=? name=FUN_00489e58 */ void __cdecl FUN_00489e58(int param_1) { int iVar1; FUN_0049a300(4,s_dpl_RemoveDCSFromScene_0x_x_00506103); if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } iVar1 = FUN_00488ebc((int *)&DAT_00523be8,param_1); if (iVar1 == 0) { FUN_0049a300(1,s_Failed_to_remove_dcs_0x_x__0x_x__00506120); } return; } /* @00489eac file=? name=FUN_00489eac */ void __cdecl FUN_00489eac(int param_1) { int iVar1; FUN_0049a300(4,s_dpl_RemoveViewFromScene_0x_x_0050614d); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } iVar1 = FUN_00488ebc((int *)&DAT_00523bd8,param_1); if (iVar1 == 0) { FUN_0049a300(1,s_Failed_to_remove_view_0x_x__0x_x_0050616b); } return; } /* @00489f00 file=? name=FUN_00489f00 */ void __cdecl FUN_00489f00(int param_1,int param_2) { int iVar1; FUN_0049a300(4,s_dpl_RemoveLodFromObject_0x_x_0x__00506199); if (DAT_00505b64 != 0) { FUN_00489594(param_2,8); } if (DAT_00505b64 != 0) { FUN_00489594(param_1,7); } *(undefined4 *)(param_2 + 0x30) = 0; iVar1 = FUN_00488ebc((int *)(param_1 + 0x10),param_2); if (iVar1 == 0) { FUN_004d771c(s_Failed_to_remove_lod_0x_x__0x_x__005061bc); } return; } /* @00489f78 file=? name=FUN_00489f78 */ void __cdecl FUN_00489f78(int param_1,int param_2) { int iVar1; FUN_0049a300(4,s_dpl_RemoveGeogroupFromLod_0x_x_0_005061f6); if (DAT_00505b64 != 0) { FUN_00489594(param_1,8); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,9); } *(undefined4 *)(param_2 + 0x30) = 0; iVar1 = FUN_00488ebc((int *)(param_1 + 0x34),param_2); if (iVar1 == 0) { FUN_004d771c(s_Failed_to_remove_ggroup_0x_x__0x_0050621b); } return; } /* @00489ff0 file=? name=FUN_00489ff0 */ void __cdecl FUN_00489ff0(int param_1,int param_2) { int iVar1; FUN_0049a300(4,s_dpl_RemoveGeometryFromGeogroup_0_00506255); if (DAT_00505b64 != 0) { FUN_00489594(param_1,9); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,10); } *(undefined4 *)(param_2 + 0x1c) = 0; iVar1 = FUN_00488ebc((int *)(param_1 + 0x38),param_2); if (iVar1 == 0) { FUN_004d771c(s_Failed_to_remove_geometry_0x_x___0050627f); } return; } /* @0048a068 file=? name=FUN_0048a068 */ void __cdecl FUN_0048a068(int param_1,int param_2) { int iVar1; FUN_0049a300(4,s_dpl_RemoveDCSFromDCS_0x_x_0x_x_005062be); if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,5); } if ((param_1 == 0) || (param_2 == 0)) { FUN_0049a300(1,s_NULL_node_in_RemoveDCSFromDCS_0x_00506344); } else if (param_1 == *(int *)(param_2 + 0x5c)) { if (param_2 == *(int *)(param_1 + 100)) { *(undefined4 *)(param_1 + 100) = *(undefined4 *)(param_2 + 0x60); } else { for (iVar1 = *(int *)(param_1 + 100); param_2 != *(int *)(iVar1 + 0x60); iVar1 = *(int *)(iVar1 + 0x60)) { if (*(int *)(iVar1 + 0x60) == 0) { FUN_0049a300(1,s_badly_formed_DCS_tree_in_RemoveD_00506311); return; } } *(undefined4 *)(iVar1 + 0x60) = *(undefined4 *)(param_2 + 0x60); } *(undefined4 *)(param_2 + 0x5c) = 0; *(undefined4 *)(param_2 + 0x60) = 0; FUN_0048d920(param_1,param_2); } else { FUN_0049a300(1,s_badly_formed_DCS_tree_in_RemoveD_005062de); } return; } /* @0048a130 file=? name=FUN_0048a130 */ void __cdecl FUN_0048a130(int param_1,int param_2) { FUN_0049a300(4,s_dpl_RemoveInstanceFromDCS_0x_x_0_00506372); if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,4); } FUN_00489638(param_1,param_2); return; } /* @0048a184 file=? name=FUN_0048a184 */ void FUN_0048a184(void) { FUN_0049a300(4,s_dpl_DrawSceneComplete_00506397); FUN_0048e330(); return; } /* @0048a1a0 file=? name=FUN_0048a1a0 */ void FUN_0048a1a0(void) { FUN_0049a300(4,s_dpl_WaitSceneComplete_005063ae); FUN_0048e340(); return; } /* @0048a1bc file=? name=FUN_0048a1bc */ void FUN_0048a1bc(void) { FUN_0049a300(4,s_dpl_DrawScene_005063c5); FUN_0048a1a0(); FUN_00488fac(); FUN_0048e2dc(1); return; } /* @0048a1e4 file=? name=FUN_0048a1e4 */ int __cdecl FUN_0048a1e4(int param_1) { int *piVar1; int iVar2; piVar1 = DAT_00523bd0; FUN_0049a300(4,s_dpl_GetSceneZone_005063d4); while( true ) { if (param_1 == 0) { if (piVar1 == (int *)0x0) { iVar2 = 0; } else { if (DAT_00505b64 != 0) { FUN_00489594(*piVar1,2); } iVar2 = *piVar1; } return iVar2; } if (piVar1 == (int *)0x0) break; piVar1 = (int *)piVar1[2]; param_1 = param_1 + -1; } return 0; } /* @0048a23c file=? name=FUN_0048a23c */ int __cdecl FUN_0048a23c(int param_1) { int *piVar1; int iVar2; piVar1 = DAT_00523be0; FUN_0049a300(4,s_dpl_GetSceneView_005063e6); while( true ) { if (param_1 == 0) { if (piVar1 == (int *)0x0) { iVar2 = 0; } else { if (DAT_00505b64 != 0) { FUN_00489594(*piVar1,3); } iVar2 = *piVar1; } return iVar2; } if (piVar1 == (int *)0x0) break; piVar1 = (int *)piVar1[2]; param_1 = param_1 + -1; } return 0; } /* @0048a294 file=? name=FUN_0048a294 */ int __cdecl FUN_0048a294(int param_1) { int *piVar1; int iVar2; piVar1 = DAT_00523bf0; FUN_0049a300(4,s_dpl_GetSceneDCS_005063f8); while( true ) { if (param_1 == 0) { if (piVar1 == (int *)0x0) { iVar2 = 0; } else { if (DAT_00505b64 != 0) { FUN_00489594(*piVar1,5); } iVar2 = *piVar1; } return iVar2; } if (piVar1 == (int *)0x0) break; piVar1 = (int *)piVar1[2]; param_1 = param_1 + -1; } return 0; } /* @0048a2ec file=? name=FUN_0048a2ec */ int FUN_0048a2ec(int param_1,int param_2) { int iVar1; iVar1 = *(int *)(param_1 + 100); FUN_0049a300(4,s_dpl_GetDCSChildDCS_00506409); if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } while( true ) { if (param_2 == 0) { if (DAT_00505b64 != 0) { FUN_00489594(iVar1,5); } return iVar1; } if (iVar1 == 0) break; iVar1 = *(int *)(iVar1 + 0x60); param_2 = param_2 + -1; } return 0; } /* @0048a350 file=? name=FUN_0048a350 */ undefined4 __cdecl FUN_0048a350(int param_1) { FUN_0049a300(4,s_dpl_GetDCSParentDCS_0050641d); if (param_1 == 0) { return 0; } if (DAT_00505b64 != 0) { FUN_00489594(*(int *)(param_1 + 0x5c),5); } return *(undefined4 *)(param_1 + 0x5c); } /* @0048a38c file=? name=FUN_0048a38c */ int __cdecl FUN_0048a38c(int param_1,int param_2) { int iVar1; FUN_0049a300(4,s_dpl_GetDCSInstance_00506432); if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } if (param_1 == 0) { FUN_0049a300(1,s_NULL_dcs_in_GetDCSInstance_00506446); } else { for (iVar1 = *(int *)(param_1 + 0x10); iVar1 != 0; iVar1 = *(int *)(iVar1 + 0x10)) { if ((*(int *)(iVar1 + 0xc) == 4) && (param_2 = param_2 + -1, param_2 == 0)) { return iVar1; } } } return 0; } /* @0048a3f4 file=? name=FUN_0048a3f4 */ int __cdecl FUN_0048a3f4(int param_1,int param_2) { int *piVar1; int iVar2; piVar1 = *(int **)(param_1 + 0x18); FUN_0049a300(4,s_dpl_GetObjectLod_00506462); if (DAT_00505b64 != 0) { FUN_00489594(param_1,7); } while( true ) { if (param_2 == 0) { if (piVar1 == (int *)0x0) { iVar2 = 0; } else { if (DAT_00505b64 != 0) { FUN_00489594(*piVar1,8); } iVar2 = *piVar1; } return iVar2; } if (piVar1 == (int *)0x0) break; piVar1 = (int *)piVar1[2]; param_2 = param_2 + -1; } return 0; } /* @0048a464 file=? name=FUN_0048a464 */ int __cdecl FUN_0048a464(int param_1,int param_2) { int *piVar1; int iVar2; piVar1 = *(int **)(param_1 + 0x3c); FUN_0049a300(4,s_dpl_GetLodGeogroup_00506474); if (DAT_00505b64 != 0) { FUN_00489594(param_1,8); } while( true ) { if (param_2 == 0) { if (piVar1 == (int *)0x0) { iVar2 = 0; } else { if (DAT_00505b64 != 0) { FUN_00489594(*piVar1,9); } iVar2 = *piVar1; } return iVar2; } if (piVar1 == (int *)0x0) break; piVar1 = (int *)piVar1[2]; param_2 = param_2 + -1; } return 0; } /* @0048a4d4 file=? name=FUN_0048a4d4 */ int __cdecl FUN_0048a4d4(int param_1,int param_2) { int *piVar1; int iVar2; piVar1 = *(int **)(param_1 + 0x40); FUN_0049a300(4,s_dpl_GetGeogroupGeometry_00506488); if (DAT_00505b64 != 0) { FUN_00489594(param_1,9); } while( true ) { if (param_2 == 0) { if (piVar1 == (int *)0x0) { iVar2 = 0; } else { if (DAT_00505b64 != 0) { FUN_00489594(*piVar1,10); } iVar2 = *piVar1; } return iVar2; } if (piVar1 == (int *)0x0) break; piVar1 = (int *)piVar1[2]; param_2 = param_2 + -1; } return 0; } /* @0048a544 file=? name=FUN_0048a544 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __cdecl FUN_0048a544(int param_1,undefined4 param_2,undefined4 *param_3) { if (param_1 < 0x10) { FUN_0049a300(4,s_dpl_SetRenderProperty_005064a1); (&DAT_00523d08)[param_1 * 2] = param_2; (&DAT_00523d0c)[param_1 * 2] = param_3; if (param_1 == 8) { _DAT_00507930 = *param_3; } FUN_0048e688(param_1,param_2); } return; } /* @0048a598 file=? name=FUN_0048a598 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined4 __cdecl FUN_0048a598(int param_1,undefined4 *param_2) { undefined4 uVar1; FUN_0049a300(4,s_dpl_GetRenderProperty_005064b8); if (param_1 < 0x10) { if (param_1 == 8) { *param_2 = _DAT_00507930; } uVar1 = (&DAT_00523d08)[param_1 * 2]; } else { uVar1 = 0; } return uVar1; } /* @0048a5d8 file=? name=FUN_0048a5d8 */ void __cdecl FUN_0048a5d8(int param_1,undefined4 *param_2) { FUN_0049a300(4,s_dpl_SetDCSMatrix_005064cf); if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } if ((param_1 == 0) || (param_2 == (undefined4 *)0x0)) { FUN_00489578(s_NULL_dcs_in_setDCSmatrix_005064e1); } else { FUN_004d4918((undefined4 *)(param_1 + 0x18),param_2,0x40); } return; } /* @0048a630 file=? name=FUN_0048a630 */ int __cdecl FUN_0048a630(int param_1) { int iVar1; FUN_0049a300(4,s_dpl_GetDCSMatrix_005064fb); if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } if (param_1 != 0) { return param_1 + 0x18; } iVar1 = FUN_00489578(s_NULL_dcs_in_getDCSmatrix_0050650d); return iVar1; } /* @0048a674 file=? name=FUN_0048a674 */ void __cdecl FUN_0048a674(int param_1,int param_2) { FUN_0049a300(4,s_dpl_SetDCSReorientAxes_00506527); if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } if (param_1 == 0) { FUN_00489578(s_NULL_dcs_in_setDCSreorientaxes_0050653f); } else { *(uint *)(param_1 + 0x58) = *(uint *)(param_1 + 0x58) & 0xffffffc7 | param_2 << 3; } return; } /* @0048a6cc file=? name=FUN_0048a6cc */ uint __cdecl FUN_0048a6cc(int param_1) { uint uVar1; FUN_0049a300(4,s_dpl_GetDCSReorientAxes_0050655f); if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } if (param_1 != 0) { return *(int *)(param_1 + 0x58) >> 3 & 7; } uVar1 = FUN_00489578(s_NULL_dcs_in_getDCSreorientaxes_00506577); return uVar1; } /* @0048a714 file=? name=FUN_0048a714 */ void __cdecl FUN_0048a714(int param_1,int param_2) { FUN_0049a300(4,s_dpl_SetDCSZone_00506597); if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,2); } if (param_1 == 0) { FUN_00489578(s_NULL_dcs_in_setDCSzone_005065a7); } else { *(int *)(param_1 + 0x14) = param_2; } return; } /* @0048a770 file=? name=FUN_0048a770 */ undefined4 __cdecl FUN_0048a770(int param_1) { undefined4 uVar1; FUN_0049a300(4,s_dpl_GetDCSZone_005065bf); if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } if (param_1 != 0) { if (DAT_00505b64 != 0) { FUN_00489594(*(int *)(param_1 + 0x14),2); } return *(undefined4 *)(param_1 + 0x14); } uVar1 = FUN_00489578(s_NULL_dcs_in_getDCSzone_005065cf); return uVar1; } /* @0048a7cc file=? name=FUN_0048a7cc */ void __cdecl FUN_0048a7cc(int param_1,undefined4 *param_2) { FUN_0049a300(4,s_dpl_SetDCSBound_005065e7); if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } if (param_1 != 0) { if (param_2 != (undefined4 *)0x0) { FUN_004d4918((undefined4 *)(param_1 + 0x6c),param_2,0x20); *(uint *)(param_1 + 0x58) = *(uint *)(param_1 + 0x58) | 0x800; return; } *(uint *)(param_1 + 0x58) = *(uint *)(param_1 + 0x58) & 0xfffff7ff; return; } FUN_00489578(s_NULL_dcs_in_setDCSBounds_005065f8); return; } /* @0048a834 file=? name=FUN_0048a834 */ int __cdecl FUN_0048a834(int param_1) { int iVar1; FUN_0049a300(4,s_dpl_GetDCSBound_00506612); if (DAT_00505b64 != 0) { FUN_00489594(param_1,5); } if (param_1 != 0) { return param_1 + 0x6c; } iVar1 = FUN_00489578(s_NULL_dcs_in_getDCSbound_00506623); return iVar1; } /* @0048a878 file=? name=FUN_0048a878 */ void FUN_0048a878(void) { return; } /* @0048a880 file=? name=FUN_0048a880 */ void FUN_0048a880(void) { return; } /* @0048a888 file=? name=FUN_0048a888 */ void FUN_0048a888(void) { return; } /* @0048a890 file=? name=FUN_0048a890 */ void __cdecl FUN_0048a890(int param_1) { FUN_0049a300(4,s_dpl_SetZoneAllViewsOn_0050663c); if (DAT_00505b64 != 0) { FUN_00489594(param_1,2); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x10) = 0xfffffff; return; } FUN_00489578(s_NULL_zone_00506653); return; } /* @0048a8d8 file=? name=FUN_0048a8d8 */ void __cdecl FUN_0048a8d8(int param_1) { FUN_0049a300(4,s_dpl_SetZoneAllViewsOff_0050665e); if (DAT_00505b64 != 0) { FUN_00489594(param_1,2); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x10) = 0; return; } FUN_00489578(s_NULL_zone_00506676); return; } /* @0048a91c file=? name=FUN_0048a91c */ void __cdecl FUN_0048a91c(int param_1,int param_2) { uint unaff_EDI; FUN_0049a300(4,s_dpl_SetZoneViewOn_00506681); if (DAT_00505b64 != 0) { FUN_00489594(param_1,2); } if (param_2 == 0) { FUN_00489578(s_NULL_view_00506694); } else { unaff_EDI = 1 << ((byte)*(undefined4 *)(param_2 + 0x18) & 0x1f); } if (param_1 == 0) { FUN_00489578(s_NULL_zone_0050669f); } else { *(uint *)(param_1 + 0x10) = *(uint *)(param_1 + 0x10) | unaff_EDI; } return; } /* @0048a980 file=? name=FUN_0048a980 */ void __cdecl FUN_0048a980(int param_1,int param_2) { uint unaff_EDI; FUN_0049a300(4,s_dpl_SetZoneViewOff_005066aa); if (DAT_00505b64 != 0) { FUN_00489594(param_1,2); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,3); } if (param_2 == 0) { FUN_00489578(s_NULL_view_005066be); } else { unaff_EDI = 1 << ((byte)*(undefined4 *)(param_2 + 0x18) & 0x1f); } if (param_1 == 0) { FUN_00489578(s_NULL_zone_005066c9); } else { *(uint *)(param_1 + 0x10) = *(uint *)(param_1 + 0x10) & ~unaff_EDI; } return; } /* @0048a9fc file=? name=FUN_0048a9fc */ bool __cdecl FUN_0048a9fc(int param_1,int param_2) { uint unaff_EDI; FUN_0049a300(4,s_dpl_GetZoneView_005066d4); if (DAT_00505b64 != 0) { FUN_00489594(param_1,2); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,3); } if (param_2 == 0) { FUN_00489578(s_NULL_view_005066e5); } else { unaff_EDI = 1 << ((byte)*(undefined4 *)(param_2 + 0x18) & 0x1f); } if (param_1 == 0) { FUN_00489578(s_NULL_zone_005066f0); } else { unaff_EDI = unaff_EDI & *(uint *)(param_1 + 0x10); } return unaff_EDI != 0; } /* @0048aa80 file=? name=FUN_0048aa80 */ void __cdecl FUN_0048aa80(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetZoneBitmask_005066fb); if (DAT_00505b64 != 0) { FUN_00489594(param_1,2); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x10) = param_2; return; } FUN_00489578(s_NULL_zone_0050670f); return; } /* @0048aac8 file=? name=FUN_0048aac8 */ undefined4 __cdecl FUN_0048aac8(int param_1) { undefined4 uVar1; FUN_0049a300(4,s_dpl_GetZoneBitmask_0050671a); if (DAT_00505b64 != 0) { FUN_00489594(param_1,2); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x10); } uVar1 = FUN_00489578(s_NULL_zone_0050672e); return uVar1; } /* @0048ab0c file=? name=FUN_0048ab0c */ void __cdecl FUN_0048ab0c(int param_1,int param_2) { FUN_0049a300(4,s_dpl_SetInstanceObject_00506739); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,7); } if (param_1 == 0) { FUN_00489578(s_NULL_instance_00506750); } else { *(int *)(param_1 + 0x20) = param_2; } return; } /* @0048ab68 file=? name=FUN_0048ab68 */ undefined4 __cdecl FUN_0048ab68(int param_1) { FUN_0049a300(4,s_dpl_GetInstanceObject_0050675f); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x20); } return 0; } /* @0048aba4 file=? name=FUN_0048aba4 */ void __cdecl FUN_0048aba4(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetInstanceForceLod_00506776); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x24) = param_2; return; } FUN_00489578(s_NULL_instance_0050678f); return; } /* @0048abec file=? name=FUN_0048abec */ undefined4 __cdecl FUN_0048abec(int param_1) { undefined4 uVar1; FUN_0049a300(4,s_dpl_GetInstanceForceLod_0050679e); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x24); } uVar1 = FUN_00489578(s_NULL_instance_005067b7); return uVar1; } /* @0048ac30 file=? name=FUN_0048ac30 */ void __cdecl FUN_0048ac30(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetInstanceVisibility_005067c6); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x1c) = param_2; return; } FUN_00489578(s_NULL_instance_005067e1); return; } /* @0048ac78 file=? name=FUN_0048ac78 */ undefined4 __cdecl FUN_0048ac78(int param_1) { undefined4 uVar1; FUN_0049a300(4,s_dpl_GetInstanceVisibility_005067f0); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x1c); } uVar1 = FUN_00489578(s_NULL_instance_0050680b); return uVar1; } /* @0048acbc file=? name=FUN_0048acbc */ void __cdecl FUN_0048acbc(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetInstanceWireframe_0050681a); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x34) = param_2; return; } FUN_00489578(s_NULL_instance_00506834); return; } /* @0048ad04 file=? name=FUN_0048ad04 */ undefined4 __cdecl FUN_0048ad04(int param_1) { undefined4 uVar1; FUN_0049a300(4,s_dpl_GetInstanceWireframe_00506843); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x34); } uVar1 = FUN_00489578(s_NULL_instance_0050685d); return uVar1; } /* @0048ad48 file=? name=FUN_0048ad48 */ void __cdecl FUN_0048ad48(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetInstanceIntersect_0050686c); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x18) = param_2; return; } FUN_00489578(s_NULL_instance_00506886); return; } /* @0048ad90 file=? name=FUN_0048ad90 */ undefined4 __cdecl FUN_0048ad90(int param_1) { undefined4 uVar1; FUN_0049a300(4,s_dpl_GetInstanceIntersect_00506895); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x18); } uVar1 = FUN_00489578(s_NULL_instance_005068af); return uVar1; } /* @0048add4 file=? name=FUN_0048add4 */ void __cdecl FUN_0048add4(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetInstanceSectMask_005068be); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x30) = param_2; } return; } /* @0048ae0c file=? name=FUN_0048ae0c */ undefined4 __cdecl FUN_0048ae0c(int param_1) { FUN_0049a300(4,s_dpl_GetInstanceSectMask_005068d7); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x30); } return 0; } /* @0048ae48 file=? name=FUN_0048ae48 */ void __cdecl FUN_0048ae48(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetInstanceFrontMaterial_005068f0); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x28) = param_2; return; } FUN_00489578(s_NULL_instance_0050690e); return; } /* @0048ae90 file=? name=FUN_0048ae90 */ void __cdecl FUN_0048ae90(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetInstanceBackMaterial_0050691d); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x2c) = param_2; return; } FUN_00489578(s_NULL_instance_0050693a); return; } /* @0048aed8 file=? name=FUN_0048aed8 */ undefined4 __cdecl FUN_0048aed8(int param_1) { undefined4 uVar1; FUN_0049a300(4,s_dpl_GetInstanceFrontMaterial_00506949); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x28); } uVar1 = FUN_00489578(s_NULL_instance_00506967); return uVar1; } /* @0048af1c file=? name=FUN_0048af1c */ undefined4 __cdecl FUN_0048af1c(int param_1) { undefined4 uVar1; FUN_0049a300(4,s_dpl_GetInstanceBackMaterial_00506976); if (DAT_00505b64 != 0) { FUN_00489594(param_1,4); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x2c); } uVar1 = FUN_00489578(s_NULL_instance_00506993); return uVar1; } /* @0048af60 file=? name=FUN_0048af60 */ void __cdecl FUN_0048af60(int param_1,int param_2,undefined4 param_3) { FUN_0049a300(4,s_dpl_SetObjectLodRange_005069a2); if (DAT_00505b64 != 0) { FUN_00489594(param_1,7); } if (param_2 < 0x10) { *(undefined4 *)(param_1 + 0x30 + param_2 * 4) = param_3; } return; } /* @0048afa0 file=? name=FUN_0048afa0 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ float10 __cdecl FUN_0048afa0(int param_1,int param_2) { float fVar1; FUN_0049a300(4,s_dpl_GetObjectLodRange_005069b9); if (DAT_00505b64 != 0) { FUN_00489594(param_1,7); } fVar1 = _DAT_0048afe4; if (param_2 < 0x10) { fVar1 = *(float *)(param_1 + 0x30 + param_2 * 4); } return (float10)fVar1; } /* @0048afe8 file=? name=FUN_0048afe8 */ void __cdecl FUN_0048afe8(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { FUN_0049a300(4,s_dpl_SetObjectLodHotSpot_005069d0); if (DAT_00505b64 != 0) { FUN_00489594(param_1,7); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x20) = param_2; *(undefined4 *)(param_1 + 0x24) = param_3; *(undefined4 *)(param_1 + 0x28) = param_4; } return; } /* @0048b02c file=? name=FUN_0048b02c */ void __cdecl FUN_0048b02c(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4) { FUN_0049a300(4,s_dpl_GetObjectLodHotSpot_005069e9); if (DAT_00505b64 != 0) { FUN_00489594(param_1,7); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x20); *param_3 = *(undefined4 *)(param_1 + 0x24); *param_4 = *(undefined4 *)(param_1 + 0x28); } return; } /* @0048b078 file=? name=FUN_0048b078 */ void __cdecl FUN_0048b078(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetObjectLodFadeRange_00506a02); if (DAT_00505b64 != 0) { FUN_00489594(param_1,7); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x70) = param_2; } return; } /* @0048b0b0 file=? name=FUN_0048b0b0 */ float10 __cdecl FUN_0048b0b0(int param_1) { int iVar1; float10 fVar2; FUN_0049a300(4,s_dpl_GetObjectLodFadeRange_00506a1d); if (DAT_00505b64 != 0) { FUN_00489594(param_1,7); } if (param_1 == 0) { iVar1 = FUN_00489578(s_NULL_Object_00506a38); fVar2 = (float10)iVar1; } else { fVar2 = (float10)*(float *)(param_1 + 0x70); } return fVar2; } /* @0048b0fc file=? name=FUN_0048b0fc */ void __cdecl FUN_0048b0fc(int param_1) { FUN_0049a300(4,s_dpl_InvalidateLodRanges_00506a45); if (DAT_00505b64 != 0) { FUN_00489594(param_1,7); } if (param_1 != 0) { *(uint *)(param_1 + 0x74) = *(uint *)(param_1 + 0x74) | 1; } return; } /* @0048b134 file=? name=FUN_0048b134 */ void __cdecl FUN_0048b134(int param_1,int param_2) { FUN_0049a300(4,s_dpl_SetLightDCS_00506a5e); if (DAT_00505b64 != 0) { FUN_00489594(param_1,6); } if (param_1 == 0) { FUN_00489578(s_NULL_light_00506a6f); } else { if (*(int *)(param_1 + 0x14) != 0) { FUN_00489638(*(int *)(param_1 + 0x14),param_1); } if (param_2 != 0) { FUN_00489d90(param_2,param_1); } *(int *)(param_1 + 0x14) = param_2; } return; } /* @0048b19c file=? name=FUN_0048b19c */ undefined4 __cdecl FUN_0048b19c(int param_1) { undefined4 uVar1; FUN_0049a300(4,s_dpl_GetLightDCS_00506a7b); if (DAT_00505b64 != 0) { FUN_00489594(param_1,6); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x14); } uVar1 = FUN_00489578(s_NULL_light_00506a8c); return uVar1; } /* @0048b1e0 file=? name=FUN_0048b1e0 */ void __cdecl FUN_0048b1e0(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetLightType_00506a98); if (DAT_00505b64 != 0) { FUN_00489594(param_1,6); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x18) = param_2; return; } FUN_00489578(s_NULL_light_00506aaa); return; } /* @0048b228 file=? name=FUN_0048b228 */ undefined4 __cdecl FUN_0048b228(int param_1) { undefined4 uVar1; FUN_0049a300(4,s_dpl_GetLightType_00506ab6); if (DAT_00505b64 != 0) { FUN_00489594(param_1,6); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x18); } uVar1 = FUN_00489578(s_NULL_light_00506ac8); return uVar1; } /* @0048b26c file=? name=FUN_0048b26c */ void __cdecl FUN_0048b26c(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { FUN_0049a300(4,s_dpl_SetLightColor_00506ad4); if (DAT_00505b64 != 0) { FUN_00489594(param_1,6); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x1c) = param_2; *(undefined4 *)(param_1 + 0x20) = param_3; *(undefined4 *)(param_1 + 0x24) = param_4; return; } FUN_00489578(s_NULL_light_00506ae7); return; } /* @0048b2c0 file=? name=FUN_0048b2c0 */ void __cdecl FUN_0048b2c0(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4) { FUN_0049a300(4,s_dpl_GetLightColor_00506af3); if (DAT_00505b64 != 0) { FUN_00489594(param_1,6); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x1c); *param_3 = *(undefined4 *)(param_1 + 0x20); *param_4 = *(undefined4 *)(param_1 + 0x24); return; } FUN_00489578(s_NULL_light_00506b06); return; } /* @0048b318 file=? name=FUN_0048b318 */ void __cdecl FUN_0048b318(int param_1,undefined4 param_2,undefined4 param_3) { FUN_0049a300(4,s_dpl_SetLightRadii_00506b12); if (DAT_00505b64 != 0) { FUN_00489594(param_1,6); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x28) = param_2; *(undefined4 *)(param_1 + 0x2c) = param_3; return; } FUN_00489578(s_NULL_light_00506b25); return; } /* @0048b364 file=? name=FUN_0048b364 */ void __cdecl FUN_0048b364(int param_1,undefined4 *param_2,undefined4 *param_3) { FUN_0049a300(4,s_dpl_GetLightRadii_00506b31); if (DAT_00505b64 != 0) { FUN_00489594(param_1,6); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x28); *param_3 = *(undefined4 *)(param_1 + 0x2c); return; } FUN_00489578(s_NULL_light_00506b44); return; } /* @0048b3b4 file=? name=FUN_0048b3b4 */ void __cdecl FUN_0048b3b4(int param_1,undefined4 param_2,undefined4 param_3) { FUN_0049a300(4,s_dpl_SetLightUmbra_00506b50); if (DAT_00505b64 != 0) { FUN_00489594(param_1,6); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x30) = param_2; *(undefined4 *)(param_1 + 0x34) = param_3; return; } FUN_00489578(s_NULL_light_00506b63); return; } /* @0048b400 file=? name=FUN_0048b400 */ void __cdecl FUN_0048b400(int param_1,undefined4 *param_2,undefined4 *param_3) { FUN_0049a300(4,s_dpl_GetLightUmbra_00506b6f); if (DAT_00505b64 != 0) { FUN_00489594(param_1,6); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x30); *param_3 = *(undefined4 *)(param_1 + 0x34); return; } FUN_00489578(s_NULL_light_00506b82); return; } /* @0048b450 file=? name=FUN_0048b450 */ void __cdecl FUN_0048b450(int param_1,int param_2) { FUN_0049a300(4,s_dpl_ViewShare_00506b8e); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,3); } if (param_2 == 0) { FUN_00489578(s_NULL_view_00506b9d); } else { *(int *)(param_2 + 0x68) = param_1; } return; } /* @0048b4ac file=? name=FUN_0048b4ac */ void __cdecl FUN_0048b4ac(int param_1,int param_2) { FUN_0049a300(4,s_dpl_SetViewDCS_00506ba8); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,5); } if ((param_1 == 0) || (param_2 == 0)) { FUN_00489578(s_NULL_view_00506bb8); } else { if (*(int *)(param_1 + 0x14) != 0) { FUN_00489638(*(int *)(param_1 + 0x14),param_1); } FUN_00489d90(param_2,param_1); *(int *)(param_1 + 0x14) = param_2; } return; } /* @0048b528 file=? name=FUN_0048b528 */ undefined4 __cdecl FUN_0048b528(int param_1) { undefined4 uVar1; FUN_0049a300(4,s_dpl_GetViewDCS_00506bc3); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x14); } uVar1 = FUN_00489578(s_NULL_view_00506bd3); return uVar1; } /* @0048b56c file=? name=FUN_0048b56c */ void __cdecl FUN_0048b56c(int param_1,undefined4 param_2,undefined4 param_3) { FUN_0049a300(4,s_dpl_SetViewClipplanes_00506bde); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x3c) = param_2; *(undefined4 *)(param_1 + 0x40) = param_3; return; } FUN_00489578(s_NULL_view_00506bf5); return; } /* @0048b5b8 file=? name=FUN_0048b5b8 */ void __cdecl FUN_0048b5b8(int param_1,undefined4 *param_2,undefined4 *param_3) { FUN_0049a300(4,s_dpl_GetViewClipplanes_00506c00); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x3c); *param_3 = *(undefined4 *)(param_1 + 0x40); return; } FUN_00489578(s_NULL_view_00506c17); return; } /* @0048b608 file=? name=FUN_0048b608 */ void __cdecl FUN_0048b608(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { FUN_0049a300(4,s_dpl_SetViewBackground_00506c22); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x44) = param_2; *(undefined4 *)(param_1 + 0x48) = param_3; *(undefined4 *)(param_1 + 0x4c) = param_4; return; } FUN_00489578(s_NULL_view_00506c39); return; } /* @0048b65c file=? name=FUN_0048b65c */ void __cdecl FUN_0048b65c(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4) { FUN_0049a300(4,s_dpl_GetViewBackground_00506c44); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x44); *param_3 = *(undefined4 *)(param_1 + 0x48); *param_4 = *(undefined4 *)(param_1 + 0x4c); return; } FUN_00489578(s_NULL_view_00506c5b); return; } /* @0048b6b4 file=? name=FUN_0048b6b4 */ void __cdecl FUN_0048b6b4(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5 ,undefined4 param_6,undefined4 param_7) { FUN_0049a300(4,s_dpl_SetViewFog_00506c66); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x50) = param_2; *(undefined4 *)(param_1 + 0x5c) = param_3; *(undefined4 *)(param_1 + 0x60) = param_4; *(undefined4 *)(param_1 + 100) = param_5; *(undefined4 *)(param_1 + 0x54) = param_6; *(undefined4 *)(param_1 + 0x58) = param_7; return; } FUN_00489578(s_NULL_view_00506c76); return; } /* @0048b718 file=? name=FUN_0048b718 */ void __cdecl FUN_0048b718(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4, undefined4 *param_5,undefined4 *param_6,undefined4 *param_7) { FUN_0049a300(4,s_dpl_GetViewFog_00506c81); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x50); *param_3 = *(undefined4 *)(param_1 + 0x5c); *param_4 = *(undefined4 *)(param_1 + 0x60); *param_5 = *(undefined4 *)(param_1 + 100); *param_6 = *(undefined4 *)(param_1 + 0x54); *param_7 = *(undefined4 *)(param_1 + 0x58); return; } FUN_00489578(s_NULL_view_00506c91); return; } /* @0048b788 file=? name=FUN_0048b788 */ void __cdecl FUN_0048b788(int param_1,int param_2) { int iVar1; FUN_0049a300(4,s_dpl_SetViewPipe_00506c9c); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (param_1 == 0) { FUN_00489578(s_NULL_view_00506cad); } else { *(int *)(param_1 + 0x1c) = param_2; iVar1 = param_2 * 0x10; *(float *)(param_1 + 0x34) = (float)*(int *)(&DAT_00523b40 + iVar1) - (float)*(int *)(&DAT_00523b38 + iVar1); *(float *)(param_1 + 0x38) = (float)*(int *)(&DAT_00523b44 + iVar1) - (float)*(int *)(&DAT_00523b3c + iVar1); } return; } /* @0048b7f8 file=? name=FUN_0048b7f8 */ undefined4 __cdecl FUN_0048b7f8(int param_1) { undefined4 uVar1; FUN_0049a300(4,s_dpl_GetViewPipe_00506cb8); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x1c); } uVar1 = FUN_00489578(s_NULL_view_00506cc9); return uVar1; } /* @0048b83c file=? name=FUN_0048b83c */ void __cdecl FUN_0048b83c(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5 ) { int iVar1; FUN_0049a300(4,s_dpl_SetPipeWindow_00506cd4); if ((param_1 < 9) && (-1 < param_1)) { iVar1 = param_1 * 0x10; *(undefined4 *)(&DAT_00523b38 + iVar1) = param_2; *(undefined4 *)(&DAT_00523b40 + iVar1) = param_4; *(undefined4 *)(&DAT_00523b3c + iVar1) = param_3; *(undefined4 *)(&DAT_00523b44 + iVar1) = param_5; return; } FUN_00489578(s_invalid_pipe_identifier_00506ce7); return; } /* @0048b898 file=? name=FUN_0048b898 */ void __cdecl FUN_0048b898(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4, undefined4 *param_5) { int iVar1; FUN_0049a300(4,s_dpl_GetPipeWindow_00506d00); if ((param_1 < 9) && (-1 < param_1)) { iVar1 = param_1 * 0x10; *param_2 = *(undefined4 *)(&DAT_00523b38 + iVar1); *param_4 = *(undefined4 *)(&DAT_00523b40 + iVar1); *param_3 = *(undefined4 *)(&DAT_00523b3c + iVar1); *param_5 = *(undefined4 *)(&DAT_00523b44 + iVar1); return; } FUN_00489578(s_invalid_pipe_identifier_00506d13); return; } /* @0048b8fc file=? name=FUN_0048b8fc */ void __cdecl FUN_0048b8fc(int param_1) { FUN_0049a300(4,s_dpl_SetViewPort_00506d2c); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (param_1 != 0) { FUN_0049a300(4,s_dpl_SetViewPort__f__f__f__f_00506d3d); return; } FUN_00489578(s_NULL_view_00506d5a); return; } /* @0048b970 file=? name=FUN_0048b970 */ void __cdecl FUN_0048b970(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4, undefined4 *param_5) { FUN_0049a300(4,s_dpl_GetViewPort_00506d65); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (param_1 != 0) { *param_2 = 0; *param_3 = 0; *param_4 = 0x3f800000; *param_5 = 0x3f800000; return; } FUN_00489578(s_NULL_view_00506d76); return; } /* @0048b9d0 file=? name=FUN_0048b9d0 */ void __cdecl FUN_0048b9d0(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5 ,undefined4 param_6) { FUN_0049a300(4,s_dpl_SetViewProjection_00506d81); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x20) = param_2; *(undefined4 *)(param_1 + 0x24) = param_3; *(undefined4 *)(param_1 + 0x28) = param_4; *(undefined4 *)(param_1 + 0x2c) = param_5; *(undefined4 *)(param_1 + 0x30) = param_6; return; } FUN_00489578(s_NULL_view_00506d98); return; } /* @0048ba30 file=? name=FUN_0048ba30 */ void __cdecl FUN_0048ba30(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4, undefined4 *param_5,undefined4 *param_6) { FUN_0049a300(4,s_dpl_GetViewProjection_00506da3); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x20); *param_3 = *(undefined4 *)(param_1 + 0x24); *param_4 = *(undefined4 *)(param_1 + 0x28); *param_5 = *(undefined4 *)(param_1 + 0x2c); *param_6 = *(undefined4 *)(param_1 + 0x30); return; } FUN_00489578(s_NULL_view_00506dba); return; } /* @0048ba98 file=? name=FUN_0048ba98 */ void __cdecl FUN_0048ba98(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { FUN_0049a300(4,s_dpl_SetMaterialAmbient_00506dc5); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x2c) = param_2; *(undefined4 *)(param_1 + 0x30) = param_3; *(undefined4 *)(param_1 + 0x34) = param_4; return; } FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_00506ddd); return; } /* @0048baf4 file=? name=FUN_0048baf4 */ void __cdecl FUN_0048baf4(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4) { FUN_0049a300(4,s_dpl_GetMaterialAmbient_00506e02); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x2c); *param_3 = *(undefined4 *)(param_1 + 0x30); *param_4 = *(undefined4 *)(param_1 + 0x34); return; } FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_00506e1a); return; } /* @0048bb54 file=? name=FUN_0048bb54 */ void __cdecl FUN_0048bb54(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { FUN_0049a300(4,s_dpl_SetMaterialEmissive_00506e3f); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x20) = param_2; *(undefined4 *)(param_1 + 0x24) = param_3; *(undefined4 *)(param_1 + 0x28) = param_4; return; } FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_00506e58); return; } /* @0048bbb0 file=? name=FUN_0048bbb0 */ void __cdecl FUN_0048bbb0(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4) { FUN_0049a300(4,s_dpl_GetMaterialEmissive_00506e7d); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x20); *param_3 = *(undefined4 *)(param_1 + 0x24); *param_4 = *(undefined4 *)(param_1 + 0x28); return; } FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_00506e96); return; } /* @0048bc10 file=? name=FUN_0048bc10 */ void __cdecl FUN_0048bc10(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { FUN_0049a300(4,s_dpl_SetMaterialDiffuse_00506ebb); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x38) = param_2; *(undefined4 *)(param_1 + 0x3c) = param_3; *(undefined4 *)(param_1 + 0x40) = param_4; return; } FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_00506ed3); return; } /* @0048bc6c file=? name=FUN_0048bc6c */ void __cdecl FUN_0048bc6c(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4) { FUN_0049a300(4,s_dpl_GetMaterialDiffuse_00506ef8); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x38); *param_3 = *(undefined4 *)(param_1 + 0x3c); *param_4 = *(undefined4 *)(param_1 + 0x40); return; } FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_00506f10); return; } /* @0048bccc file=? name=FUN_0048bccc */ void __cdecl FUN_0048bccc(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5 ) { FUN_0049a300(4,s_dpl_SetMaterialSpecular_00506f35); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x50) = param_2; *(undefined4 *)(param_1 + 0x54) = param_3; *(undefined4 *)(param_1 + 0x58) = param_4; *(undefined4 *)(param_1 + 0x5c) = param_5; return; } FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_00506f4e); return; } /* @0048bd2c file=? name=FUN_0048bd2c */ void __cdecl FUN_0048bd2c(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4, undefined4 *param_5) { FUN_0049a300(4,s_dpl_GetMaterialSpecular_00506f73); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x50); *param_3 = *(undefined4 *)(param_1 + 0x54); *param_4 = *(undefined4 *)(param_1 + 0x58); *param_5 = *(undefined4 *)(param_1 + 0x5c); return; } FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_00506f8c); return; } /* @0048bd94 file=? name=FUN_0048bd94 */ void __cdecl FUN_0048bd94(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { FUN_0049a300(4,s_dpl_SetMaterialOpacity_00506fb1); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x44) = param_2; *(undefined4 *)(param_1 + 0x48) = param_3; *(undefined4 *)(param_1 + 0x4c) = param_4; return; } FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_00506fc9); return; } /* @0048bdf0 file=? name=FUN_0048bdf0 */ void __cdecl FUN_0048bdf0(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4) { FUN_0049a300(4,s_dpl_GetMaterialOpacity_00506fee); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x44); *param_3 = *(undefined4 *)(param_1 + 0x48); *param_4 = *(undefined4 *)(param_1 + 0x4c); return; } FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_00507006); return; } /* @0048be50 file=? name=FUN_0048be50 */ void __cdecl FUN_0048be50(int param_1,int param_2) { FUN_0049a300(4,s_dpl_SetMaterialTexture_0050702b); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,0xc); } if (param_1 == 0) { FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_00507043); } else { *(int *)(param_1 + 0x10) = param_2; } return; } /* @0048beb4 file=? name=FUN_0048beb4 */ undefined4 __cdecl FUN_0048beb4(int param_1) { FUN_0049a300(4,s_dpl_GetMaterialTexture_00507068); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x10); } FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_00507080); return 0; } /* @0048bf00 file=? name=FUN_0048bf00 */ void __cdecl FUN_0048bf00(int param_1,int param_2) { FUN_0049a300(4,s_dpl_SetMaterialEnvironment_005070a5); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,0xc); } if (param_1 == 0) { FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_005070c1); } else { *(int *)(param_1 + 0x14) = param_2; } return; } /* @0048bf64 file=? name=FUN_0048bf64 */ undefined4 __cdecl FUN_0048bf64(int param_1) { FUN_0049a300(4,s_dpl_GetMaterialEnvironment_005070e6); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x14); } FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_00507102); return 0; } /* @0048bfb0 file=? name=FUN_0048bfb0 */ void __cdecl FUN_0048bfb0(int param_1,int param_2) { FUN_0049a300(4,s_dpl_SetMaterialRamp_00507127); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,0xe); } if (param_1 == 0) { FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_0050713c); } else { *(int *)(param_1 + 0x1c) = param_2; } return; } /* @0048c014 file=? name=FUN_0048c014 */ undefined4 __cdecl FUN_0048c014(int param_1) { FUN_0049a300(4,s_dpl_GetMaterialRamp_00507161); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xb); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x1c); } FUN_0049a300(1,s_attempt_to_manipulate_NULL_mater_00507176); return 0; } /* @0048c060 file=? name=FUN_0048c060 */ void __cdecl FUN_0048c060(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5 ,undefined4 param_6,undefined4 param_7) { FUN_0049a300(4,s_dpl_SetRampComponents_0050719b); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xe); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x10) = param_2; *(undefined4 *)(param_1 + 0x14) = param_3; *(undefined4 *)(param_1 + 0x18) = param_4; *(undefined4 *)(param_1 + 0x1c) = param_5; *(undefined4 *)(param_1 + 0x20) = param_6; *(undefined4 *)(param_1 + 0x24) = param_7; return; } FUN_0049a300(1,s_attempt_to_manipulate_NULL_ramp_005071b2); return; } /* @0048c0cc file=? name=FUN_0048c0cc */ void __cdecl FUN_0048c0cc(int param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4, undefined4 *param_5,undefined4 *param_6,undefined4 *param_7) { FUN_0049a300(4,s_dpl_GetRampComponents_005071d3); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xe); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x10); *param_3 = *(undefined4 *)(param_1 + 0x14); *param_4 = *(undefined4 *)(param_1 + 0x18); *param_5 = *(undefined4 *)(param_1 + 0x1c); *param_6 = *(undefined4 *)(param_1 + 0x20); *param_7 = *(undefined4 *)(param_1 + 0x24); return; } FUN_0049a300(1,s_attempt_to_manipulate_NULL_ramp_005071ea); return; } /* @0048c144 file=? name=FUN_0048c144 */ void __cdecl FUN_0048c144(int param_1,undefined4 param_2,undefined4 param_3) { FUN_0049a300(4,s_dpl_SetTextureProperty_0x_x_0050720b); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xc); } switch(param_2) { default: FUN_0049a300(1,s_Illegal_property_0x_x_in_dpl_Set_00507228); break; case 1: case 2: case 3: case 4: case 7: case 8: break; case 5: *(undefined4 *)(param_1 + 0x14) = param_3; break; case 6: *(undefined4 *)(param_1 + 0x18) = param_3; break; case 10: *(undefined4 *)(param_1 + 0x40) = param_3; } if (*(int *)(param_1 + 0x18) == 10) { DAT_005081d8 = 1; } return; } /* @0048c1f0 file=? name=FUN_0048c1f0 */ undefined4 __cdecl FUN_0048c1f0(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_GetTextureProperty_0x_x_00507259); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xc); } switch(param_2) { default: FUN_0049a300(1,s_Illegal_property_0x_x_in_dpl_Get_00507276); return 0; case 1: return 0; case 2: return 0; case 3: return 0; case 4: return 0; case 5: return 0; case 6: return 0; case 7: return 0; case 8: return 0; case 10: return 0; } } /* @0048c2a0 file=? name=FUN_0048c2a0 */ void __cdecl FUN_0048c2a0(int param_1,int param_2) { FUN_0049a300(4,s_dpl_SetTextureTexmap_005072a7); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xc); } if (DAT_00505b64 != 0) { FUN_00489594(param_2,0xd); } if (param_1 != 0) { *(int *)(param_1 + 0x10) = param_2; } return; } /* @0048c2f0 file=? name=FUN_0048c2f0 */ undefined4 __cdecl FUN_0048c2f0(int param_1) { FUN_0049a300(4,s_dpl_GetTextureTexmap_005072bd); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xc); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x10); } return 0; } /* @0048c32c file=? name=FUN_0048c32c */ void __cdecl FUN_0048c32c(int param_1,undefined4 param_2,undefined4 param_3) { FUN_0049a300(4,s_dpl_SetTexmapEdgeSize_005072d3); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xd); } if (param_1 != 0) { *(undefined4 *)(param_1 + 0x14) = param_2; *(undefined4 *)(param_1 + 0x18) = param_3; return; } FUN_00489578(s_NULL_texmap_in_settexmapsedgsize_005072ea); return; } /* @0048c378 file=? name=FUN_0048c378 */ void __cdecl FUN_0048c378(int param_1,undefined4 *param_2,undefined4 *param_3) { FUN_0049a300(4,s_dpl_GetTexmapEdgeSize_0050730b); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xd); } if (param_1 != 0) { *param_2 = *(undefined4 *)(param_1 + 0x14); *param_3 = *(undefined4 *)(param_1 + 0x18); return; } FUN_00489578(s_NULL_texmap_in_gettexmapedgesize_00507322); return; } /* @0048c3c8 file=? name=FUN_0048c3c8 */ void __cdecl FUN_0048c3c8(int param_1,int param_2) { FUN_0049a300(4,s_dpl_SetTexmapTexelSize_00507343); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xd); } if (param_1 == 0) { FUN_00489578(s_NULL_texmap_in_settexmaptexelsiz_0050735b); } else { *(int *)(param_1 + 0x1c) = param_2; if (param_2 == 1) { DAT_005081d8 = 1; } } return; } /* @0048c41c file=? name=FUN_0048c41c */ undefined4 __cdecl FUN_0048c41c(int param_1) { undefined4 uVar1; FUN_0049a300(4,s_dpl_GetTexmapTexelSize_0050737d); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xd); } if (param_1 != 0) { return *(undefined4 *)(param_1 + 0x1c); } uVar1 = FUN_00489578(s_NULL_texmap_in_gettexmaptexelsiz_00507395); return uVar1; } /* @0048c460 file=? name=FUN_0048c460 */ void __cdecl FUN_0048c460(int param_1,byte *param_2,int param_3,int param_4) { FUN_0049a300(4,s_dpl_TexmapTexels2D_bpt__d_005073b7); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xd); } FUN_0048da1c(param_1,param_2,param_3,param_4,DAT_005081d8,1); return; } /* @0048c4b0 file=? name=FUN_0048c4b0 */ void __cdecl FUN_0048c4b0(int param_1) { FUN_0049a300(4,s_dpl_InvalidateTexels_005073d2); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xd); } FUN_004d771c(s_INVALIDATE_texels_tm_0x_x_005073e8); return; } /* @0048c4e8 file=? name=FUN_0048c4e8 */ undefined4 __cdecl FUN_0048c4e8(int param_1,int param_2) { if ((param_1 == 0x40) && (param_2 == 0x40)) { return 1; } if ((param_1 == 0x80) && (param_2 == 0x40)) { return 1; } if ((param_1 == 0x80) && (param_2 == 0x80)) { return 1; } if ((param_1 == 0x100) && (param_2 == 0x100)) { return 1; } return 0; } /* @0048c548 file=? name=FUN_0048c548 */ void __cdecl FUN_0048c548(int param_1,byte *param_2,int param_3,int param_4) { int iVar1; FUN_0049a300(4,s_dpl_UpdateTexmapTexels2D_00507403); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xd); } if (DAT_005081dc == (byte *)0x0) { DAT_005081dc = (byte *)FUN_00452c38(0x40000); } if (param_4 + param_3 <= *(int *)(param_1 + 0x14) * *(int *)(param_1 + 0x18)) { FUN_0048ee5c(param_1,(uint *)(DAT_005081dc + param_3 * 4),param_2,param_4,(uint)(param_3 == 0), DAT_005081d8); iVar1 = FUN_0048c4e8(*(int *)(param_1 + 0x14),*(int *)(param_1 + 0x18)); if (iVar1 == 0) { FUN_0049a300(4,s_Invalid_texture_size_for_VPX___d_0050741d); } else { FUN_0048da1c(param_1,DAT_005081dc,*(int *)(param_1 + 0x14),*(int *)(param_1 + 0x18), DAT_005081d8,0); } } return; } /* @0048c61c file=? name=FUN_0048c61c */ void __cdecl FUN_0048c61c(int param_1) { FUN_0049a300(4,s_dpl_GetTexmapTexels2D_texels_0x__00507445); if (DAT_00505b64 != 0) { FUN_00489594(param_1,0xd); } return; } /* @0048c654 file=? name=FUN_0048c654 */ void __cdecl FUN_0048c654(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetGeogroupFrontMaterial_00507472); if (DAT_00505b64 != 0) { FUN_00489594(param_1,9); } *(undefined4 *)(param_1 + 0x48) = param_2; return; } /* @0048c688 file=? name=FUN_0048c688 */ void __cdecl FUN_0048c688(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetGeogroupBackMaterial_00507490); if (DAT_00505b64 != 0) { FUN_00489594(param_1,9); } *(undefined4 *)(param_1 + 0x4c) = param_2; return; } /* @0048c6bc file=? name=FUN_0048c6bc */ undefined4 __cdecl FUN_0048c6bc(int param_1) { FUN_0049a300(4,s_dpl_GetGeogroupFrontMaterial_005074ad); if (DAT_00505b64 != 0) { FUN_00489594(param_1,9); } return *(undefined4 *)(param_1 + 0x48); } /* @0048c6ec file=? name=FUN_0048c6ec */ undefined4 __cdecl FUN_0048c6ec(int param_1) { FUN_0049a300(4,s_dpl_GetGeogroupBackMaterial_005074cb); if (DAT_00505b64 != 0) { FUN_00489594(param_1,9); } return *(undefined4 *)(param_1 + 0x4c); } /* @0048c71c file=? name=FUN_0048c71c */ void __cdecl FUN_0048c71c(int param_1) { FUN_0049a300(4,s_dpl_SetGeogroupMaterialLockOn_005074e8); if (DAT_00505b64 != 0) { FUN_00489594(param_1,9); } *(undefined4 *)(param_1 + 0x54) = 1; return; } /* @0048c750 file=? name=FUN_0048c750 */ void __cdecl FUN_0048c750(int param_1) { FUN_0049a300(4,s_dpl_SetGeogroupMaterialLockOff_00507507); if (DAT_00505b64 != 0) { FUN_00489594(param_1,9); } *(undefined4 *)(param_1 + 0x54) = 0; return; } /* @0048c784 file=? name=FUN_0048c784 */ undefined4 __cdecl FUN_0048c784(int param_1) { FUN_0049a300(4,s_dpl_GetGeogroupMaterialLock_00507527); if (DAT_00505b64 != 0) { FUN_00489594(param_1,9); } return *(undefined4 *)(param_1 + 0x54); } /* @0048c7b4 file=? name=FUN_0048c7b4 */ void __cdecl FUN_0048c7b4(int param_1,int param_2) { FUN_0049a300(4,s_dpl_SetGeogroupDecalDisplace_00507544); if (DAT_00505b64 != 0) { FUN_00489594(param_1,9); } *(float *)(param_1 + 0x50) = (float)param_2; return; } /* @0048c7e8 file=? name=FUN_0048c7e8 */ void __cdecl FUN_0048c7e8(int param_1) { FUN_0049a300(4,s_dpl_GetGeogroupDecalDisplace_00507562); if (DAT_00505b64 != 0) { FUN_00489594(param_1,9); } FUN_004dcd94(); return; } /* @0048c820 file=? name=FUN_0048c820 */ void __cdecl FUN_0048c820(int param_1,int param_2) { uint uVar1; uVar1 = *(uint *)(param_1 + 0x34) & 0xffffefff; FUN_0049a300(4,s_dpl_SetGeogroupWireFrame_00507580); if (DAT_00505b64 != 0) { FUN_00489594(param_1,9); } if (param_2 == 0) { *(uint *)(param_1 + 0x34) = uVar1; } else { *(uint *)(param_1 + 0x34) = uVar1 | 0x1000; } return; } /* @0048c86c file=? name=FUN_0048c86c */ undefined4 __cdecl FUN_0048c86c(int param_1) { FUN_0049a300(4,s_dpl_GetGeogroupWireFrame_0050759a); if (DAT_00505b64 != 0) { FUN_00489594(param_1,9); } if ((*(byte *)(param_1 + 0x35) & 0x10) != 0) { return 1; } return 0; } /* @0048c8ac file=? name=FUN_0048c8ac */ void __cdecl FUN_0048c8ac(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetGeometryGeoType_005075b4); if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } *(undefined4 *)(param_1 + 0x10) = param_2; return; } /* @0048c8e0 file=? name=FUN_0048c8e0 */ undefined4 __cdecl FUN_0048c8e0(int param_1) { FUN_0049a300(4,s_dpl_GetGeometryGeoType_005075cc); if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } return *(undefined4 *)(param_1 + 0x10); } /* @0048c910 file=? name=FUN_0048c910 */ void __cdecl FUN_0048c910(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetGeometryVertexType_005075e4); if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } *(undefined4 *)(param_1 + 0x14) = param_2; return; } /* @0048c944 file=? name=FUN_0048c944 */ undefined4 __cdecl FUN_0048c944(int param_1) { FUN_0049a300(4,s_dpl_GetGeometryVertexType_005075ff); if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } return *(undefined4 *)(param_1 + 0x14); } /* @0048c974 file=? name=FUN_0048c974 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __cdecl FUN_0048c974(undefined4 *param_1,float *param_2,undefined4 *param_3,undefined4 *param_4) { *param_1 = *param_4; param_1[1] = param_4[1]; param_1[2] = param_4[2]; *param_2 = _DAT_0048c9c4 * (float)param_4[3]; param_2[1] = 0.0; param_2[2] = 0.0; *param_3 = 0; param_3[1] = _DAT_0048c9c4 * (float)param_4[4]; param_3[2] = 0; return; } /* @0048c9c8 file=? name=FUN_0048c9c8 */ void __cdecl FUN_0048c9c8(int param_1,char *param_2) { undefined4 *puVar1; undefined4 local_28; undefined4 local_24; undefined4 local_20; float local_1c [6]; FUN_0049a300(4,s_dpl_SetGeometryText_0050761a); if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } *(undefined4 *)(param_1 + 0x10) = 6; if (*(int *)(param_1 + 0x24) == 0) { puVar1 = (undefined4 *)FUN_00452c38(0x24); *puVar1 = 0; puVar1[1] = 0; puVar1[2] = 0; puVar1[3] = 0x3f800000; puVar1[4] = 0x3f800000; puVar1[5] = 0x3f800000; puVar1[6] = 0; puVar1[7] = 0; puVar1[8] = 0; *(undefined4 **)(param_1 + 0x24) = puVar1; } *(char **)(param_1 + 0x20) = param_2; if (param_2 != (char *)0x0) { local_1c[3] = 0.0; local_1c[4] = 0.0; local_1c[5] = 0.0; local_1c[0] = 1.0; local_1c[1] = 0.0; local_1c[2] = 0.0; local_28 = 0; local_24 = 0xbf800000; local_20 = 0; FUN_0048c974(local_1c + 3,local_1c,&local_28,*(undefined4 **)(param_1 + 0x24)); FUN_0048daa0(param_1,param_2,local_1c + 3,local_1c,&local_28); } return; } /* @0048cab0 file=? name=FUN_0048cab0 */ undefined4 __cdecl FUN_0048cab0(int param_1) { FUN_0049a300(4,s_dpl_GetGeometryText_0050762f); if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } return *(undefined4 *)(param_1 + 0x20); } /* @0048cae0 file=? name=FUN_0048cae0 */ void __cdecl FUN_0048cae0(int param_1,undefined4 param_2) { FUN_0049a300(4,s_dpl_SetGeometryNumVertices_00507644); if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } *(undefined4 *)(param_1 + 0x18) = param_2; return; } /* @0048cb14 file=? name=FUN_0048cb14 */ undefined4 __cdecl FUN_0048cb14(int param_1) { FUN_0049a300(4,s_dpl_GetGeometryNumVertices_00507660); if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } return *(undefined4 *)(param_1 + 0x18); } /* @0048cb44 file=? name=FUN_0048cb44 */ void __cdecl FUN_0048cb44(int param_1) { FUN_0049a300(4,s_dpl_SetGeometryDice__d__d_0050767c); if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } return; } /* @0048cb7c file=? name=FUN_0048cb7c */ void __cdecl FUN_0048cb7c(int param_1,undefined2 *param_2,undefined2 *param_3) { FUN_0049a300(4,s_dpl_GetGeometryDice_00507697); if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } *param_2 = 8; *param_3 = 8; return; } /* @0048cbb8 file=? name=FUN_0048cbb8 */ void __cdecl FUN_0048cbb8(int param_1,undefined4 param_2) { if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } *(undefined4 *)(param_1 + 0x28) = param_2; return; } /* @0048cbdc file=? name=FUN_0048cbdc */ void __cdecl FUN_0048cbdc(int param_1,undefined4 param_2) { if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } *(undefined4 *)(param_1 + 0x2c) = param_2; return; } /* @0048cc00 file=? name=FUN_0048cc00 */ float10 __cdecl FUN_0048cc00(int param_1) { if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } return (float10)*(float *)(param_1 + 0x28); } /* @0048cc24 file=? name=FUN_0048cc24 */ float10 __cdecl FUN_0048cc24(int param_1) { if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } return (float10)*(float *)(param_1 + 0x2c); } /* @0048cc48 file=? name=FUN_0048cc48 */ void __cdecl FUN_0048cc48(int param_1,byte *param_2,undefined4 param_3,int param_4) { uint uVar1; undefined4 uVar2; int iVar3; iVar3 = 0; FUN_0049a300(4,s_dpl_UpdateGeometryVertices_005076ac); if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } if (*(int *)(param_1 + 0x10) == 6) { if (*(int *)(param_1 + 0x24) == 0) { uVar2 = FUN_00452c38(0x24); *(undefined4 *)(param_1 + 0x24) = uVar2; } FUN_004d4918(*(undefined4 **)(param_1 + 0x24),(undefined4 *)param_2,0x24); } else { uVar1 = *(uint *)(param_1 + 0x14); if ((uVar1 & 1) != 0) { iVar3 = 3; } if ((uVar1 & 2) != 0) { iVar3 = iVar3 + 3; } if ((uVar1 & 4) != 0) { iVar3 = iVar3 + 4; } if ((uVar1 & 8) != 0) { iVar3 = iVar3 + 2; } if ((uVar1 & 0x10) != 0) { iVar3 = iVar3 + 2; } if ((uVar1 & 0x20) != 0) { iVar3 = iVar3 + 3; } if ((uVar1 & 0x40) != 0) { iVar3 = iVar3 + 1; } FUN_0048dba8(param_1,param_2,param_3,param_4,iVar3); } return; } /* @0048ccec file=? name=FUN_0048ccec */ void __cdecl FUN_0048ccec(int param_1,int param_2,undefined4 param_3,int param_4) { uint uVar1; int iVar2; iVar2 = 0; if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } FUN_0049a300(4,s_dpl_GetGeometryVertices_005076c8); uVar1 = *(uint *)(param_1 + 0x14); if ((uVar1 & 1) != 0) { iVar2 = 3; } if ((uVar1 & 2) != 0) { iVar2 = iVar2 + 3; } if ((uVar1 & 4) != 0) { iVar2 = iVar2 + 4; } if ((uVar1 & 8) != 0) { iVar2 = iVar2 + 2; } if ((uVar1 & 0x10) != 0) { iVar2 = iVar2 + 2; } if ((uVar1 & 0x20) != 0) { iVar2 = iVar2 + 3; } if ((uVar1 & 0x40) != 0) { iVar2 = iVar2 + 1; } FUN_0048dcb0(param_1,param_2,param_3,param_4,iVar2); return; } /* @0048cd68 file=? name=FUN_0048cd68 */ void __cdecl FUN_0048cd68(int param_1,byte *param_2,int param_3,int param_4) { FUN_0049a300(4,s_dpl_AddGeometryConnections_005076e1); if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } FUN_0048de14(param_1,param_2,param_3,param_4,0); return; } /* @0048cdac file=? name=FUN_0048cdac */ void __cdecl FUN_0048cdac(int param_1,byte *param_2,int param_3,int param_4) { FUN_0049a300(4,s_dpl_AddGeometryStrip_005076fd); if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } FUN_0048de14(param_1,param_2,param_3,param_4,1); return; } /* @0048cdf0 file=? name=FUN_0048cdf0 */ void __cdecl FUN_0048cdf0(int param_1) { FUN_0049a300(4,s_dpl_OptimizeGeometry_00507713); if (DAT_00505b64 != 0) { FUN_00489594(param_1,10); } return; } /* @0048ce1c file=? name=FUN_0048ce1c */ void FUN_0048ce1c(void) { FUN_0049a300(4,s_dpl_SetWindowName_pipe__d_name___00507729); return; } /* @0048ce38 file=? name=FUN_0048ce38 */ char * FUN_0048ce38(void) { FUN_0049a300(4,s_dpl_GetWindowName_pipe__d_0050774c); return s_no_windows_on_VPX_00507767; } /* @0048ce58 file=? name=FUN_0048ce58 */ void FUN_0048ce58(void) { FUN_0049a300(4,s_dpl_SetDesktopStereo_pipe__d_mod_00507779); return; } /* @0048ce74 file=? name=FUN_0048ce74 */ undefined4 FUN_0048ce74(void) { FUN_0049a300(4,s_dpl_GetDesktopStereo_pipe__d_0050779f); return 0; } /* @0048ce90 file=? name=FUN_0048ce90 */ void __cdecl FUN_0048ce90(undefined4 param_1) { FUN_0049a300(4,s_dpl_SetWarningLevel_005077bd); DAT_00505b54 = param_1; return; } /* @0048ceb4 file=? name=FUN_0048ceb4 */ char * FUN_0048ceb4(void) { FUN_0049a300(4,s_dpl_Version_005077d2); return s_dpl_v_0_3a_005077df; } /* @0048ced0 file=? name=FUN_0048ced0 */ undefined * FUN_0048ced0(void) { FUN_0049a300(4,s_dpl_Statistics_005077ea); FUN_0048e380(&DAT_00523b34); return &DAT_00523b34; } /* @0048cef4 file=? name=FUN_0048cef4 */ undefined * FUN_0048cef4(void) { FUN_0049a300(4,s_dpl_Status_005077fa); return &DAT_00523d88; } /* @0048cf10 file=? name=FUN_0048cf10 */ undefined * FUN_0048cf10(void) { FUN_0049a300(4,s_dpl_GetFrameStore_view_0x_x_xptr_00507806); return &DAT_00523d8c; } /* @0048cf38 file=? name=FUN_0048cf38 */ void __cdecl FUN_0048cf38(undefined4 param_1,undefined4 *param_2,int param_3,int param_4,int param_5,int param_6) { int iVar1; FUN_0049a300(4,s_dpl_ReadFrameStore_view_0x_x_00507837); iVar1 = 0; if (0 < param_6) { do { FUN_0048e388(param_2,param_3,param_4 + iVar1,param_5); iVar1 = iVar1 + 1; } while (iVar1 < param_6); } return; } /* @0048cf80 file=? name=FUN_0048cf80 */ void __cdecl FUN_0048cf80(uint param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,uint param_5, uint param_6,uint param_7,undefined4 *param_8,undefined4 *param_9,undefined4 *param_10, undefined4 *param_11,undefined4 *param_12,undefined4 *param_13) { FUN_0049a300(4,s_dpl_SectVector_00507856); FUN_0048e700(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10, param_11,param_12,param_13); return; } /* @0048cfcc file=? name=FUN_0048cfcc */ void __cdecl FUN_0048cfcc(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4, undefined4 *param_5,undefined4 *param_6,undefined4 *param_7,undefined4 *param_8, undefined4 *param_9,undefined4 *param_10) { FUN_0049a300(4,s_dpl_SectPixel_00507866); if (DAT_00505b64 != 0) { FUN_00489594(param_1,3); } FUN_0048e7f4(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10); return; } /* @0048d024 file=? name=FUN_0048d024 */ void FUN_0048d024(void) { DAT_0050792c = FUN_004dcd94(); return; } /* @0048d050 file=? name=FUN_0048d050 */ undefined4 FUN_0048d050(void) { return DAT_00505b78; } /* @0048d060 file=? name=FUN_0048d060 */ undefined4 __cdecl FUN_0048d060(int param_1,int param_2,undefined4 *param_3) { undefined4 local_44 [16]; FUN_0049a300(4,s_dpl_Effect_00507875); if (DAT_00505b64 != 0) { FUN_00489594(param_2,5); } if (param_1 == 0) { FUN_00491830(local_44); FUN_00491890(local_44,*param_3,param_3[1],param_3[2]); FUN_0048e168(param_3[3],param_2,local_44); } else if (param_1 == 1) { FUN_0048e1e8(param_3,param_2); } else if (param_1 == 2) { FUN_0048e25c(*param_3); } else { FUN_004d771c(s_Cannot_do_an_effect_of_this_type_00507881); } return 0; } /* @0048d108 file=? name=FUN_0048d108 */ undefined4 __cdecl FUN_0048d108(int param_1,undefined4 *param_2) { undefined4 *puVar1; int iVar2; FUN_0049a300(4,s_dpl_Init_005078a6); if (DAT_00505b58 != 0) { return 0; } DAT_00505b58 = 1; FUN_0048df70(param_1,param_2); FUN_00487cd4(); FUN_00489130(0x523bb8); FUN_00498d38(&DAT_005078b0,FUN_0048f0bc); iVar2 = 0; puVar1 = &DAT_00523d08; do { *puVar1 = 0; puVar1[1] = 0; iVar2 = iVar2 + 1; puVar1 = puVar1 + 2; } while (iVar2 < 0x10); return 1; } /* @0048d184 file=? name=FUN_0048d184 */ void FUN_0048d184(void) { FUN_00491cfc(); FUN_00491454(); FUN_00492a90(); FUN_0048ed20(); FUN_00487f18(); FUN_0048fdd8(); FUN_00490660(); FUN_00492adc(); FUN_00452ca0(); DAT_00505b58 = 0; PTR_s_nothing_00505b5c = s_nothing_005078b5; DAT_00505b54 = 0; DAT_00505b64 = 0; DAT_00505b68 = 0; DAT_00505b60 = 0; DAT_00505b78 = 0; return; } /* @0048d1ec file=? name=FUN_0048d1ec */ void FUN_0048d1ec(void) { FUN_0049a300(4,s_dpl_Exit_code__d_005078bd); return; } /* @0048d20c file=? name=FUN_0048d20c */ void FUN_0048d20c(void) { FUN_0049a300(4,s_dpl_Config_005078cf); return; } /* @0048d220 file=? name=FUN_0048d220 */ void __cdecl FUN_0048d220(int param_1) { int iVar1; void *this; int local_2c [8]; int local_c; uint local_8; local_2c[0] = param_1; local_2c[1] = 0; FUN_00492580(0x2d,(byte *)local_2c,8,0); iVar1 = FUN_004922e0(this,&local_c,local_2c,&local_8,0x20); if (iVar1 == 0) { FUN_004d771c(s_____ERROR___velocirender_receive_00507933 + 1); FUN_004dee24(9); } if (param_1 != local_2c[0]) { FUN_004d771c(s____ERROR___unexpected_action__d_r_00507967); FUN_004dee24(9); } return; } /* @0048d294 file=? name=FUN_0048d294 */ void __cdecl FUN_0048d294(int param_1) { undefined4 local_c; int local_8; local_8 = DAT_005078dc; DAT_005078dc = DAT_005078dc + 1; *(int *)(param_1 + 8) = local_8; local_c = *(undefined4 *)(param_1 + 0xc); FUN_0048900c(local_c); FUN_0049a300(4,s_remote_VelociRender_create_node_0_005079a6); FUN_00492580(1,(byte *)&local_c,8,0); FUN_00487d98(param_1,*(undefined4 *)(param_1 + 0xc)); if (DAT_005078e8 != 0) { FUN_0048d220(1); } return; } /* @0048d30c file=? name=FUN_0048d30c */ void __cdecl FUN_0048d30c(int param_1) { undefined4 local_c; undefined4 local_8; FUN_0049a300(4,s_remote_VelociRender_delete_node_0_005079e5); local_c = *(undefined4 *)(param_1 + 8); local_8 = *(undefined4 *)(param_1 + 0xc); FUN_00492580(2,(byte *)&local_c,8,0); return; } /* @0048d350 file=? name=FUN_0048d350 */ void __cdecl FUN_0048d350(undefined4 *param_1,int param_2) { FUN_0048900c(param_1[3]); FUN_0049a300(4,s_VelociRender_flush_on_node_0x_x_r_00507a17); *param_1 = 1; FUN_00492580(3,(byte *)(param_1 + 2),param_2 - 8,0); return; } /* @0048d3a0 file=? name=FUN_0048d3a0 */ void __cdecl FUN_0048d3a0(int param_1) { DAT_005078ec = DAT_005078ec + 1; *(int *)(param_1 + 8) = DAT_005078ec; FUN_0049a300(4,s_warning___issuing_create_on_loca_00507a52); return; } /* @0048d3cc file=? name=FUN_0048d3cc */ void FUN_0048d3cc(void) { FUN_0049a300(4,s_warning___issuing_delete_on_loca_00507a84); return; } /* @0048d3e8 file=? name=FUN_0048d3e8 */ void __cdecl FUN_0048d3e8(undefined4 *param_1) { int iVar1; FUN_0049a300(4,s_flush_dcs_nodes_0x_x_zone_0x_x_00507ab6); iVar1 = param_1[5]; if (iVar1 != 0) { param_1[5] = *(undefined4 *)(iVar1 + 8); } FUN_0048d350(param_1,0x8c); param_1[5] = iVar1; return; } /* @0048d42c file=? name=FUN_0048d42c */ void __cdecl FUN_0048d42c(undefined4 *param_1) { int iVar1; undefined4 *puVar2; FUN_0049a300(4,s_flush_view_00507ad6); iVar1 = param_1[5]; if (iVar1 != 0) { param_1[5] = *(undefined4 *)(iVar1 + 8); } puVar2 = (undefined4 *)param_1[0x1b]; if (puVar2 != (undefined4 *)0x0) { param_1[0x1b] = *puVar2; } FUN_0048d350(param_1,0x70); param_1[5] = iVar1; param_1[0x1b] = puVar2; return; } /* @0048d478 file=? name=FUN_0048d478 */ void __cdecl FUN_0048d478(undefined4 *param_1) { int iVar1; FUN_0049a300(4,s_flush_light_00507ae2); iVar1 = param_1[5]; if (iVar1 != 0) { param_1[5] = *(undefined4 *)(iVar1 + 8); } FUN_0048d350(param_1,0x3c); param_1[5] = iVar1; return; } /* @0048d4b0 file=? name=FUN_0048d4b0 */ void __cdecl FUN_0048d4b0(undefined4 *param_1) { FUN_0049a300(4,s_flush_zone_00507aef); FUN_0048d350(param_1,0x14); return; } /* @0048d4d4 file=? name=FUN_0048d4d4 */ void __cdecl FUN_0048d4d4(undefined4 *param_1) { int iVar1; int iVar2; int iVar3; FUN_0049a300(4,s_flush_material_00507afb); iVar1 = param_1[4]; if (iVar1 != 0) { param_1[4] = *(undefined4 *)(iVar1 + 8); } iVar2 = param_1[5]; if (iVar2 != 0) { param_1[5] = *(undefined4 *)(iVar2 + 8); } iVar3 = param_1[7]; if (iVar3 != 0) { param_1[7] = *(undefined4 *)(iVar3 + 8); } FUN_0048d350(param_1,100); param_1[5] = iVar2; param_1[4] = iVar1; param_1[7] = iVar3; return; } /* @0048d538 file=? name=FUN_0048d538 */ void __cdecl FUN_0048d538(undefined4 *param_1) { FUN_0049a300(4,s_flush_ramp_00507b0b); FUN_0048d350(param_1,0x2c); return; } /* @0048d55c file=? name=FUN_0048d55c */ void __cdecl FUN_0048d55c(undefined4 *param_1) { int iVar1; FUN_0049a300(4,s_flush_texture_00507b17); iVar1 = param_1[4]; if (iVar1 != 0) { param_1[4] = *(undefined4 *)(iVar1 + 8); } FUN_0048d350(param_1,0x4c); param_1[4] = iVar1; DAT_005081d8 = (uint)(param_1[6] == 10); return; } /* @0048d5b0 file=? name=FUN_0048d5b0 */ void __cdecl FUN_0048d5b0(undefined4 *param_1) { FUN_0049a300(4,s_flush_texmap_00507b26); FUN_0048d350(param_1,0x24); return; } /* @0048d5d4 file=? name=FUN_0048d5d4 */ void __cdecl FUN_0048d5d4(undefined4 *param_1) { int iVar1; int iVar2; int iVar3; int iVar4; int iVar5; FUN_0049a300(4,s_flush_instance_00507b34); iVar1 = param_1[5]; if (iVar1 != 0) { param_1[5] = *(undefined4 *)(iVar1 + 8); } iVar2 = param_1[8]; if (iVar2 != 0) { param_1[8] = *(undefined4 *)(iVar2 + 8); } iVar3 = param_1[9]; if (iVar3 != 0) { param_1[9] = *(undefined4 *)(iVar3 + 8); } iVar4 = param_1[10]; if (iVar4 != 0) { param_1[10] = *(undefined4 *)(iVar4 + 8); } iVar5 = param_1[0xb]; if (iVar5 != 0) { param_1[0xb] = *(undefined4 *)(iVar5 + 8); } FUN_0048d350(param_1,0x38); param_1[5] = iVar1; param_1[8] = iVar2; param_1[9] = iVar3; param_1[10] = iVar4; param_1[0xb] = iVar5; return; } /* @0048d668 file=? name=FUN_0048d668 */ void __cdecl FUN_0048d668(undefined4 *param_1) { FUN_0049a300(4,s_flush_object_00507b44); FUN_0048d350(param_1,0x7c); return; } /* @0048d68c file=? name=FUN_0048d68c */ void __cdecl FUN_0048d68c(undefined4 *param_1) { int iVar1; FUN_0049a300(4,s_flush_lod_00507b52); iVar1 = param_1[0xc]; if (iVar1 != 0) { param_1[0xc] = *(undefined4 *)(iVar1 + 8); } FUN_0048d350(param_1,0x50); param_1[0xc] = iVar1; return; } /* @0048d6c4 file=? name=FUN_0048d6c4 */ void __cdecl FUN_0048d6c4(undefined4 *param_1) { int iVar1; int iVar2; int iVar3; FUN_0049a300(4,s_flush_geogroup_00507b5d); iVar1 = param_1[0x12]; if (iVar1 != 0) { param_1[0x12] = *(undefined4 *)(iVar1 + 8); } iVar2 = param_1[0x13]; if (iVar2 != 0) { param_1[0x13] = *(undefined4 *)(iVar2 + 8); } iVar3 = param_1[0xc]; if (iVar3 != 0) { param_1[0xc] = *(undefined4 *)(iVar3 + 8); } FUN_0048d350(param_1,0x58); param_1[0x12] = iVar1; param_1[0x13] = iVar2; param_1[0xc] = iVar3; return; } /* @0048d728 file=? name=FUN_0048d728 */ void __cdecl FUN_0048d728(undefined4 *param_1) { int iVar1; FUN_0049a300(4,s_flush_geometry_00507b6d); iVar1 = param_1[7]; if (iVar1 != 0) { param_1[7] = *(undefined4 *)(iVar1 + 8); } FUN_0048d350(param_1,0x30); param_1[7] = iVar1; return; } /* @0048d760 file=? name=FUN_0048d760 */ void __cdecl FUN_0048d760(int param_1,int param_2) { undefined4 local_c; undefined4 local_8; local_c = *(undefined4 *)(param_1 + 8); local_8 = *(undefined4 *)(param_2 + 8); FUN_00492580(0xb,(byte *)&local_c,8,0); return; } /* @0048d7a0 file=? name=FUN_0048d7a0 */ void __cdecl FUN_0048d7a0(int param_1,int param_2) { undefined4 local_c; undefined4 local_8; local_c = *(undefined4 *)(param_1 + 8); local_8 = *(undefined4 *)(param_2 + 8); FUN_00492580(0xc,(byte *)&local_c,8,0); return; } /* @0048d7e0 file=? name=FUN_0048d7e0 */ void __cdecl FUN_0048d7e0(int *param_1,int param_2) { undefined4 local_c; undefined4 local_8; local_c = DAT_00507900; local_8 = DAT_00507904; if (*param_1 == 0) { FUN_0049a300(1,s_internal_error__badly_formed_sup_00507b7d); } else { local_c = *(undefined4 *)(*param_1 + 8); local_8 = *(undefined4 *)(param_2 + 8); FUN_00492580(0xb,(byte *)&local_c,8,0); } return; } /* @0048d838 file=? name=FUN_0048d838 */ void __cdecl FUN_0048d838(int *param_1,int param_2) { undefined4 local_c; undefined4 local_8; local_c = DAT_00507908; local_8 = DAT_0050790c; if (*param_1 == 0) { FUN_0049a300(1,s_attempt_to_remove_item_from_list_00507ba5); } else { local_c = *(undefined4 *)(*param_1 + 8); local_8 = *(undefined4 *)(param_2 + 8); FUN_00492580(0xc,(byte *)&local_c,8,0); } return; } /* @0048d890 file=? name=FUN_0048d890 */ void __cdecl FUN_0048d890(int param_1,int param_2) { undefined4 local_c; undefined4 local_8; local_c = DAT_00507910; local_8 = DAT_00507914; if (param_1 != 0) { local_c = *(undefined4 *)(param_1 + 8); } if (param_2 != 0) { local_8 = *(undefined4 *)(param_2 + 8); } FUN_00492580(6,(byte *)&local_c,8,0); return; } /* @0048d8d8 file=? name=FUN_0048d8d8 */ void __cdecl FUN_0048d8d8(int param_1,int param_2) { undefined4 local_c; undefined4 local_8; local_c = DAT_00507918; local_8 = DAT_0050791c; if (param_1 != 0) { local_c = *(undefined4 *)(param_1 + 8); } if (param_2 != 0) { local_8 = *(undefined4 *)(param_2 + 8); } FUN_00492580(7,(byte *)&local_c,8,0); return; } /* @0048d920 file=? name=FUN_0048d920 */ void __cdecl FUN_0048d920(int param_1,int param_2) { undefined4 local_c; undefined4 local_8; local_c = DAT_00507920; local_8 = DAT_00507924; if (param_1 != 0) { local_c = *(undefined4 *)(param_1 + 8); } if (param_2 != 0) { local_8 = *(undefined4 *)(param_2 + 8); } FUN_00492580(8,(byte *)&local_c,8,0); return; } /* @0048d968 file=? name=FUN_0048d968 */ void __cdecl FUN_0048d968(int param_1,int param_2,int param_3,undefined4 param_4,undefined4 param_5) { undefined4 local_24; undefined4 local_20; undefined4 local_1c; undefined4 local_18; undefined4 local_14; undefined4 local_10; local_24 = *(undefined4 *)(param_1 + 8); local_20 = *(undefined4 *)(param_2 + 8); local_1c = *(undefined4 *)(param_3 + 8); local_18 = 0; local_14 = param_4; local_10 = param_5; FUN_00492580(0xd,(byte *)&local_24,0x18,0); return; } /* @0048d9b4 file=? name=FUN_0048d9b4 */ void __cdecl FUN_0048d9b4(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 local_2c; undefined4 local_28; undefined4 local_24; undefined4 local_20; undefined4 local_1c; undefined4 local_18; undefined4 local_14; undefined4 local_10; undefined4 local_c; undefined4 local_8; local_2c = *(undefined4 *)(param_1 + 8); local_28 = *(undefined4 *)(param_2 + 8); local_24 = *(undefined4 *)(param_3 + 8); local_20 = 1; local_1c = param_4; local_18 = param_5; local_14 = param_6; local_10 = param_7; local_c = param_8; local_8 = param_9; FUN_00492580(0xd,(byte *)&local_2c,0x28,0); return; } /* @0048da1c file=? name=FUN_0048da1c */ undefined4 __cdecl FUN_0048da1c(int param_1,byte *param_2,int param_3,int param_4,undefined4 param_5,int param_6) { int iVar1; undefined4 local_24; int local_20; int local_1c; int local_18; undefined4 local_14; iVar1 = param_3 * param_4; local_24 = *(undefined4 *)(param_1 + 8); local_1c = param_3; local_18 = param_4; local_14 = param_5; local_20 = iVar1; FUN_00492580(0x1a,(byte *)&local_24,0x20,0); for (; iVar1 != 0; iVar1 = iVar1 + -0x40) { FUN_00492580(0x1a,param_2,0x100,param_6); param_2 = param_2 + 0x100; } if (DAT_005078e8 != 0) { FUN_0048d220(0x1a); } return 1; } /* @0048daa0 file=? name=FUN_0048daa0 */ undefined4 __cdecl FUN_0048daa0(int param_1,char *param_2,undefined4 *param_3,undefined4 *param_4,undefined4 *param_5) { char cVar1; bool bVar2; int iVar3; int iVar4; int *piVar5; int *local_c; char *local_8; local_c = &DAT_0052420c; DAT_00524210 = FUN_004d4a78(param_2); iVar3 = DAT_00524210 + 0x1f >> 5; DAT_0052420c = *(undefined4 *)(param_1 + 8); DAT_00524218 = *param_3; DAT_0052421c = param_3[1]; DAT_00524220 = param_3[2]; DAT_00524224 = *param_4; DAT_00524228 = param_4[1]; DAT_0052422c = param_4[2]; DAT_00524230 = *param_5; DAT_00524234 = param_5[1]; DAT_00524238 = param_5[2]; DAT_00524214 = iVar3; FUN_00492580(0x16,(byte *)&DAT_0052420c,0x30,0); local_8 = param_2; for (; iVar3 != 0; iVar3 = iVar3 + -1) { bVar2 = true; iVar4 = 0; piVar5 = local_c; do { if (iVar4 == 0x20) { bVar2 = false; } else { cVar1 = *local_8; iVar4 = iVar4 + 1; local_8 = local_8 + 1; *piVar5 = (int)cVar1; piVar5 = piVar5 + 1; if (cVar1 == 0) { bVar2 = false; } } } while (bVar2); FUN_00492580(0x16,(byte *)&DAT_0052420c,iVar4 << 2,0); } if (DAT_005078e8 != 0) { FUN_0048d220(0x16); } return 1; } /* @0048dba8 file=? name=FUN_0048dba8 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined4 __cdecl FUN_0048dba8(int param_1,byte *param_2,undefined4 param_3,int param_4,int param_5) { int iVar1; int iVar2; undefined4 local_2c; undefined4 local_28; int local_24; int local_20; int local_1c; undefined4 local_18; undefined4 local_14; undefined4 local_10; undefined4 local_c; iVar2 = param_4 * param_5; iVar1 = param_5 * (int)(0xfe / (ulonglong)(uint)(param_5 << 2)); local_1c = (iVar1 + -1 + iVar2) / iVar1; local_2c = *(undefined4 *)(param_1 + 8); local_28 = param_3; local_24 = param_4; local_20 = param_5; local_18 = *(undefined4 *)(param_1 + 0x14); local_14 = *(undefined4 *)(param_1 + 0x10); local_10 = *(undefined4 *)(param_1 + 0x18); local_c = DAT_005078e0; FUN_0049a300(4,s_ghost_update_geom_verts_vertex0__00507bda); if (param_4 == 0x144) { _DAT_00507928 = _DAT_00507928 + 1; } FUN_00492580(0x17,(byte *)&local_2c,0x24,0); if (iVar1 - iVar2 == 0 || iVar1 < iVar2) { do { FUN_00492580(0x17,param_2,iVar1 * 4,0); iVar2 = iVar2 - iVar1; param_2 = param_2 + iVar1 * 4; } while (iVar1 - iVar2 == 0 || iVar1 < iVar2); } if (iVar2 != 0) { FUN_00492580(0x17,param_2,iVar2 << 2,0); } if (DAT_005078e8 != 0) { FUN_0048d220(0x17); } return 1; } /* @0048dcb0 file=? name=FUN_0048dcb0 */ undefined4 FUN_0048dcb0(int param_1,int param_2,undefined4 param_3,int param_4,int param_5) { int iVar1; void *extraout_ECX; void *extraout_ECX_00; int iVar2; int iVar3; void *this; undefined4 uStack_38; undefined4 uStack_34; int iStack_30; int iStack_2c; int iStack_28; undefined4 uStack_24; int iStack_20; undefined4 uStack_1c; undefined4 uStack_18; uint uStack_10; int iStack_c; int iStack_8; iVar3 = param_4 * param_5; iStack_20 = (int)(0xfa / (ulonglong)(uint)(param_5 << 2)); iVar2 = iStack_20 * param_5; uStack_38 = *(undefined4 *)(param_1 + 8); uStack_34 = param_3; iStack_30 = param_4; iStack_2c = param_5; iStack_28 = (iVar2 + -1 + iVar3) / iVar2; uStack_24 = *(undefined4 *)(param_1 + 0x14); uStack_1c = *(undefined4 *)(param_1 + 0x18); uStack_18 = DAT_005078e0; iStack_c = iStack_20; FUN_0049a300(4,s_ghost_get_geom_verts_vertex0__d_v_00507c1a); FUN_00492580(0x18,(byte *)&uStack_38,0x28,0); this = extraout_ECX; if (iVar2 - iVar3 == 0 || iVar2 < iVar3) { do { iVar1 = FUN_004922e0(this,&iStack_8,(undefined4 *)param_2,&uStack_10,0x100); this = extraout_ECX_00; if (iVar1 == 0) { FUN_004d771c(s____ERROR___velocirender_receive_f_00507c57); this = (void *)0x9; FUN_004dee24(9); } if (iStack_8 != 0x18) { FUN_004d771c(s_Protocol_error__action__d_in_get_00507c94); FUN_004dee24(9); return 0; } iVar3 = iVar3 - iVar2; param_2 = param_2 + iVar2 * 4; } while (iVar2 - iVar3 == 0 || iVar2 < iVar3); } if (iVar3 != 0) { iVar2 = FUN_004922e0(this,&iStack_8,(undefined4 *)param_2,&uStack_10,0x100); if (iVar2 == 0) { FUN_004d771c(s____ERROR___velocirender_receive_f_00507cc4); FUN_004dee24(9); } if (iStack_8 != 0x18) { FUN_004d771c(s_Protocol_error__action__d_in_get_00507d01); FUN_004dee24(9); return 0; } } return 1; } /* @0048dcb6 file=? name=FUN_0048dcb6 */ undefined4 FUN_0048dcb6(void) { int iVar1; void *extraout_ECX; void *extraout_ECX_00; int iVar2; int unaff_EBP; int iVar3; undefined4 *puVar4; void *this; iVar1 = *(int *)(unaff_EBP + 0x18); puVar4 = *(undefined4 **)(unaff_EBP + 0xc); iVar3 = *(int *)(unaff_EBP + 0x14) * iVar1; *(int *)(unaff_EBP + -8) = (int)(0xfa / (ulonglong)(uint)(iVar1 << 2)); iVar2 = *(int *)(unaff_EBP + -8) * iVar1; *(undefined4 *)(unaff_EBP + -0x34) = *(undefined4 *)(*(int *)(unaff_EBP + 8) + 8); *(undefined4 *)(unaff_EBP + -0x30) = *(undefined4 *)(unaff_EBP + 0x10); *(undefined4 *)(unaff_EBP + -0x2c) = *(undefined4 *)(unaff_EBP + 0x14); *(int *)(unaff_EBP + -0x28) = iVar1; *(int *)(unaff_EBP + -0x24) = (iVar2 + -1 + iVar3) / iVar2; *(undefined4 *)(unaff_EBP + -0x20) = *(undefined4 *)(*(int *)(unaff_EBP + 8) + 0x14); *(undefined4 *)(unaff_EBP + -0x1c) = *(undefined4 *)(unaff_EBP + -8); *(undefined4 *)(unaff_EBP + -0x18) = *(undefined4 *)(*(int *)(unaff_EBP + 8) + 0x18); *(undefined4 *)(unaff_EBP + -0x14) = DAT_005078e0; FUN_0049a300(4,s_ghost_get_geom_verts_vertex0__d_v_00507c1a); FUN_00492580(0x18,(byte *)(unaff_EBP + -0x34),0x28,0); this = extraout_ECX; if (iVar2 - iVar3 == 0 || iVar2 < iVar3) { do { iVar1 = FUN_004922e0(this,(int *)(unaff_EBP + -4),puVar4,(uint *)(unaff_EBP + -0xc),0x100); this = extraout_ECX_00; if (iVar1 == 0) { FUN_004d771c(s____ERROR___velocirender_receive_f_00507c57); this = (void *)0x9; FUN_004dee24(9); } if (*(int *)(unaff_EBP + -4) != 0x18) { FUN_004d771c(s_Protocol_error__action__d_in_get_00507c94); FUN_004dee24(9); return 0; } iVar3 = iVar3 - iVar2; puVar4 = puVar4 + iVar2; } while (iVar2 - iVar3 == 0 || iVar2 < iVar3); } if (iVar3 != 0) { iVar1 = FUN_004922e0(this,(int *)(unaff_EBP + -4),puVar4,(uint *)(unaff_EBP + -0xc),0x100); if (iVar1 == 0) { FUN_004d771c(s____ERROR___velocirender_receive_f_00507cc4); FUN_004dee24(9); } if (*(int *)(unaff_EBP + -4) != 0x18) { FUN_004d771c(s_Protocol_error__action__d_in_get_00507d01); FUN_004dee24(9); return 0; } } return 1; } /* @0048de14 file=? name=FUN_0048de14 */ undefined4 __cdecl FUN_0048de14(int param_1,byte *param_2,int param_3,int param_4,int param_5) { int iVar1; undefined4 local_28; int local_24; int local_20; int local_1c; uint local_8; if (param_5 != 0) { if (param_4 == 3) { param_3 = param_3 + 2; } else if (param_4 == 4) { param_3 = param_3 * 2 + 2; } else { FUN_0049a300(0,s_polysize____3_____4_in_Strip_00507d31); FUN_004dee24(9); } param_4 = 1; } local_28 = *(undefined4 *)(param_1 + 8); local_20 = param_4; local_1c = param_5; local_24 = param_3; FUN_00492580(0x19,(byte *)&local_28,0x10,0); iVar1 = (int)(0x1fc / (longlong)(param_4 * 4)); local_8 = param_4 * 4 * iVar1; for (; iVar1 < param_3; param_3 = param_3 - iVar1) { FUN_00492580(0x19,param_2,local_8,0); param_2 = param_2 + local_8; } if (param_3 != 0) { FUN_00492580(0x19,param_2,param_3 * 4 * param_4,0); } if (DAT_005078e8 != 0) { FUN_0048d220(0x19); } return 1; } /* @0048def4 file=? name=FUN_0048def4 */ undefined4 __cdecl FUN_0048def4(int param_1,undefined4 *param_2,char *param_3,undefined4 *param_4,undefined4 param_5) { char *pcVar1; char *pcVar2; char *pcVar3; int iVar4; bool bVar5; undefined4 *local_8; iVar4 = 0; local_8 = param_4; if (0 < param_1) { do { pcVar2 = (char *)*param_2; if ((pcVar2 != (char *)0x0) && (*pcVar2 == '/')) { pcVar2 = pcVar2 + 1; pcVar3 = param_3; do { if (*pcVar2 != *pcVar3) goto LAB_0048df5a; bVar5 = true; if (*pcVar2 == '\0') break; pcVar1 = pcVar2 + 1; if (*pcVar1 != pcVar3[1]) goto LAB_0048df5a; pcVar2 = pcVar2 + 2; pcVar3 = pcVar3 + 2; bVar5 = *pcVar1 == '\0'; } while (!bVar5); if ((bVar5) && (iVar4 != param_1 + -1)) { *local_8 = param_5; local_8[1] = param_5; return param_2[1]; } } LAB_0048df5a: iVar4 = iVar4 + 1; local_8 = local_8 + 1; param_2 = param_2 + 1; } while (iVar4 < param_1); } return 0; } /* @0048df70 file=? name=FUN_0048df70 */ void __cdecl FUN_0048df70(int param_1,undefined4 *param_2) { char cVar1; byte *pbVar2; int *piVar3; LPCSTR pCVar4; uint uVar5; uint uVar6; void *this; int iVar7; char *pcVar8; LPCSTR pCVar9; char *pcVar10; int iVar11; undefined4 *local_20; uint local_1c; int *local_18; int local_14; undefined4 local_10; int local_c; LPCSTR local_8; pbVar2 = (byte *)FUN_00452c38(0x100); local_18 = (int *)FUN_00452c38(0x100); DAT_005078e0 = 0x3f800000; iVar7 = 0; piVar3 = local_18; do { *piVar3 = 0; iVar7 = iVar7 + 1; piVar3 = piVar3 + 1; } while (iVar7 < 0x40); local_10 = FUN_0048def4(param_1,param_2,s_device_00507d4f,local_18,0); pCVar4 = (LPCSTR)FUN_0048def4(param_1,param_2,s_tranny_00507d56,local_18,1); local_8 = (LPCSTR)FUN_0048def4(param_1,param_2,&DAT_00507d5d,local_18,1); local_c = FUN_0048def4(param_1,param_2,&DAT_00507d62,local_18,1); if (pCVar4 == (LPCSTR)0x0) { DAT_0052438c = DAT_00507d66; DAT_00524390 = DAT_00507d6a; } else { uVar5 = 0xffffffff; pCVar9 = pCVar4; do { pcVar8 = pCVar9; if (uVar5 == 0) break; uVar5 = uVar5 - 1; pcVar8 = pCVar9 + 1; cVar1 = *pCVar9; pCVar9 = pcVar8; } while (cVar1 != '\0'); uVar5 = ~uVar5; pcVar8 = pcVar8 + -uVar5; pcVar10 = (char *)&DAT_0052438c; for (uVar6 = uVar5 >> 2; uVar6 != 0; uVar6 = uVar6 - 1) { *(undefined4 *)pcVar10 = *(undefined4 *)pcVar8; pcVar8 = pcVar8 + 4; pcVar10 = pcVar10 + 4; } for (uVar5 = uVar5 & 3; uVar5 != 0; uVar5 = uVar5 - 1) { *pcVar10 = *pcVar8; pcVar8 = pcVar8 + 1; pcVar10 = pcVar10 + 1; } } if (local_8 == (LPCSTR)0x0) { DAT_0052440c = DAT_00507d6b; DAT_00524410 = DAT_00507d6f; } else { uVar5 = 0xffffffff; pCVar9 = local_8; do { pcVar8 = pCVar9; if (uVar5 == 0) break; uVar5 = uVar5 - 1; pcVar8 = pCVar9 + 1; cVar1 = *pCVar9; pCVar9 = pcVar8; } while (cVar1 != '\0'); uVar5 = ~uVar5; pcVar8 = pcVar8 + -uVar5; pcVar10 = (char *)&DAT_0052440c; for (uVar6 = uVar5 >> 2; uVar6 != 0; uVar6 = uVar6 - 1) { *(undefined4 *)pcVar10 = *(undefined4 *)pcVar8; pcVar8 = pcVar8 + 4; pcVar10 = pcVar10 + 4; } for (uVar5 = uVar5 & 3; uVar5 != 0; uVar5 = uVar5 - 1) { *pcVar10 = *pcVar8; pcVar8 = pcVar8 + 1; pcVar10 = pcVar10 + 1; } } FUN_004929a8(pCVar4,local_c,local_8,local_10); *pbVar2 = 0; iVar7 = 0; local_20 = param_2; piVar3 = local_18; if (0 < param_1) { do { if (*piVar3 == 0) { FUN_004d49b8((char *)pbVar2,(char *)*local_20); FUN_004d49b8((char *)pbVar2,&DAT_00507d70); } iVar7 = iVar7 + 1; local_20 = local_20 + 1; piVar3 = piVar3 + 1; } while (iVar7 < param_1); } FUN_004d49b8((char *)pbVar2,&DAT_00507d72); iVar11 = 1; iVar7 = FUN_004d4a78((char *)pbVar2); FUN_00492580(0,pbVar2,iVar7 + 1,iVar11); iVar7 = FUN_004922e0(this,&local_14,local_18,&local_1c,0x100); if (iVar7 == 0) { FUN_004d771c(s____ERROR___velocirender_receive_f_00507d74); FUN_004dee24(9); } FUN_00452c88(local_18); FUN_00452c88((int *)pbVar2); return; } /* @0048e168 file=? name=FUN_0048e168 */ void __cdecl FUN_0048e168(undefined4 param_1,int param_2,undefined4 *param_3) { undefined4 local_4c; undefined4 local_48; undefined4 local_44 [16]; local_4c = param_1; if (param_2 == 0) { local_48 = 0; } else { local_48 = *(undefined4 *)(param_2 + 8); } FUN_004d4918(local_44,param_3,0x40); FUN_00492580(0x1b,(byte *)&local_4c,0x48,0); return; } /* @0048e1b0 file=? name=FUN_0048e1b0 */ void __cdecl FUN_0048e1b0(int param_1) { byte local_14 [4]; undefined4 local_10; local_14[0] = 0; local_14[1] = 0; local_14[2] = 0; local_14[3] = 0; if (param_1 == 0) { local_10 = 0; } else { local_10 = *(undefined4 *)(param_1 + 8); } FUN_00492580(0x23,local_14,8,0); return; } /* @0048e1e8 file=? name=FUN_0048e1e8 */ void __cdecl FUN_0048e1e8(undefined4 *param_1,int param_2) { int iVar1; iVar1 = param_1[0x40]; if (param_2 == 0) { DAT_0052420c = 0; } else { DAT_0052420c = *(undefined4 *)(param_2 + 8); } if (iVar1 != 0) { param_1[0x40] = *(undefined4 *)(param_1[0x40] + 8); } FUN_004d4918(&DAT_00524210,param_1,0x104); param_1[0x40] = iVar1; FUN_00492580(0x1d,(byte *)&DAT_0052420c,0x108,0); return; } /* @0048e25c file=? name=FUN_0048e25c */ void __cdecl FUN_0048e25c(undefined4 param_1) { DAT_0052420c = 1; DAT_00524210 = param_1; DAT_00524214 = 0; FUN_00492580(0x23,(byte *)&DAT_0052420c,0xc,0); return; } /* @0048e288 file=? name=FUN_0048e288 */ void __cdecl FUN_0048e288(undefined4 param_1,undefined4 param_2) { DAT_0052420c = 1; DAT_00524210 = 0; DAT_00524214 = 1; DAT_00524218 = param_1; DAT_0052421c = param_2; FUN_00492580(0x23,(byte *)&DAT_0052420c,0x14,0); return; } /* @0048e2c0 file=? name=FUN_0048e2c0 */ void __cdecl FUN_0048e2c0(byte *param_1,uint param_2) { FUN_00492580(0x1c,param_1,param_2,0); return; } /* @0048e2dc file=? name=FUN_0048e2dc */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __cdecl FUN_0048e2dc(undefined4 param_1) { undefined4 local_1c; undefined4 local_18; undefined4 local_14; undefined4 local_10; undefined4 local_c; local_1c = param_1; local_18 = DAT_0050847c; local_14 = DAT_00524ae0; local_10 = DAT_0050792c; local_c = _DAT_00507930; _DAT_0052448c = DAT_00524ae0; FUN_00492580(9,(byte *)&local_1c,0x14,0); return; } /* @0048e330 file=? name=FUN_0048e330 */ void FUN_0048e330(void) { FUN_004923cc(0); return; } /* @0048e340 file=? name=FUN_0048e340 */ void FUN_0048e340(void) { FUN_004923cc(1); return; } /* @0048e350 file=? name=FUN_0048e350 */ void __cdecl FUN_0048e350(int param_1) { *(undefined4 *)(param_1 + 0xc) = 3; *(undefined4 *)(param_1 + 0x10) = 0; FUN_004d7f10((undefined1 *)(param_1 + 0x14),s__transp__s__i860__s_00507da7); return; } /* @0048e380 file=? name=FUN_0048e380 */ undefined4 __cdecl FUN_0048e380(undefined4 param_1) { return param_1; } /* @0048e388 file=? name=FUN_0048e388 */ void __cdecl FUN_0048e388(undefined4 *param_1,int param_2,undefined4 param_3,int param_4) { int iVar1; void *this; int local_8c; undefined4 local_88; undefined4 local_84; uint local_c; int local_8; for (; 0 < param_4; param_4 = param_4 + -0x20) { local_88 = param_3; local_84 = 0x20; local_8c = param_2; FUN_00492580(0x10,(byte *)&local_8c,0xc,0); iVar1 = FUN_004922e0(this,&local_8,&local_8c,&local_c,0x80); if (iVar1 == 0) { FUN_004d771c(s____ERROR___velocirender_receive_f_00507dbb); FUN_004dee24(9); } iVar1 = param_4; if (0x20 < param_4) { iVar1 = 0x20; } FUN_004d4918(param_1,&local_8c,iVar1 << 2); param_1 = param_1 + 0x20; param_2 = param_2 + 0x20; } return; } /* @0048e440 file=? name=FUN_0048e440 */ void __cdecl FUN_0048e440(int *param_1,int param_2) { uint uVar1; uint uVar2; undefined4 *puVar3; int iVar4; int iVar5; DAT_00524490 = param_2; puVar3 = &DAT_00524494; iVar5 = 0; if (0 < param_2) { do { iVar4 = *param_1; if (iVar4 == 0) { FUN_004d771c(s_Error___NULL_dcs_in_articulation_00507df5); iVar4 = 0; if (iVar5 < 0) { return; } do { FUN_004d771c(s__>_dcs___d__is_0x_x_00507e22); iVar4 = iVar4 + 1; } while (iVar4 <= iVar5); return; } uVar1 = *(int *)(iVar4 + 0x58) >> 0x18 & 0xf; uVar2 = uVar1 - 1; if (uVar1 == 0) { *puVar3 = *(undefined4 *)(iVar4 + 8); puVar3[1] = *(undefined4 *)(iVar4 + 0x18); puVar3[2] = *(undefined4 *)(iVar4 + 0x1c); puVar3[3] = *(undefined4 *)(iVar4 + 0x20); puVar3[4] = *(undefined4 *)(iVar4 + 0x28); puVar3[5] = *(undefined4 *)(iVar4 + 0x2c); puVar3[6] = *(undefined4 *)(iVar4 + 0x30); puVar3[7] = *(undefined4 *)(iVar4 + 0x38); puVar3[8] = *(undefined4 *)(iVar4 + 0x3c); puVar3[9] = *(undefined4 *)(iVar4 + 0x40); puVar3[10] = *(undefined4 *)(iVar4 + 0x48); puVar3[0xb] = *(undefined4 *)(iVar4 + 0x4c); puVar3[0xc] = *(undefined4 *)(iVar4 + 0x50); puVar3 = puVar3 + 0xd; } else if (uVar2 < 3) { *puVar3 = *(undefined4 *)(iVar4 + 8); puVar3[1] = *(undefined4 *)(iVar4 + 0x18); puVar3[2] = *(undefined4 *)(iVar4 + 0x1c); puVar3 = puVar3 + 3; } else if (uVar2 != 3) { FUN_004d771c(s_Unknown_dcs_type_0x_x_in_ghost_f_00507e39); FUN_004dee24(9); } iVar5 = iVar5 + 1; param_1 = param_1 + 1; } while (iVar5 < param_2); } FUN_00492580(0x1f,(byte *)&DAT_00524490,(uint)(puVar3 + -0x149124),0); return; } /* @0048e5b0 file=? name=FUN_0048e5b0 */ void __cdecl FUN_0048e5b0(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5) { undefined4 local_24; undefined4 local_20; undefined4 local_1c; undefined4 local_18; undefined4 local_14; local_24 = param_1; local_20 = param_2; local_1c = param_3; local_18 = param_4; local_14 = param_5; FUN_00492580(0x20,(byte *)&local_24,0x18,0); return; } /* @0048e5ec file=? name=FUN_0048e5ec */ void __cdecl FUN_0048e5ec(undefined4 param_1,undefined4 param_2) { undefined4 local_24; undefined4 local_20; local_24 = param_1; local_20 = param_2; FUN_00492580(0x24,(byte *)&local_24,8,0); return; } /* @0048e614 file=? name=FUN_0048e614 */ void __cdecl FUN_0048e614(undefined4 *param_1) { int iVar1; int local_84 [32]; if (param_1 == (undefined4 *)0x0) { local_84[0] = -1; local_84[1] = 0xffffffff; FUN_00492580(0x21,(byte *)local_84,8,0); } else { iVar1 = 0; do { local_84[0] = iVar1 << 6; local_84[1] = 0x40; FUN_004d4918(local_84 + 2,param_1,0x40); param_1 = param_1 + 0x10; FUN_00492580(0x21,(byte *)local_84,0x50,0); iVar1 = iVar1 + 1; } while (iVar1 < 0x40); } return; } /* @0048e688 file=? name=FUN_0048e688 */ void __cdecl FUN_0048e688(undefined4 param_1,undefined4 param_2) { undefined4 local_24; undefined4 local_20; local_24 = param_1; local_20 = param_2; FUN_00492580(0x28,(byte *)&local_24,8,0); return; } /* @0048e6b0 file=? name=FUN_0048e6b0 */ void __cdecl FUN_0048e6b0(undefined4 *param_1) { int iVar1; int local_44 [16]; iVar1 = 0; do { local_44[0] = iVar1 << 5; local_44[1] = 0x20; FUN_004d4918(local_44 + 2,param_1,0x20); param_1 = param_1 + 8; FUN_00492580(0x22,(byte *)local_44,0x28,0); iVar1 = iVar1 + 1; } while (iVar1 < 8); return; } /* @0048e700 file=? name=FUN_0048e700 */ void __cdecl FUN_0048e700(uint param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,uint param_5, uint param_6,uint param_7,undefined4 *param_8,undefined4 *param_9,undefined4 *param_10, undefined4 *param_11,undefined4 *param_12,undefined4 *param_13) { int iVar1; undefined4 uVar2; void *this; uint local_4c; undefined4 local_48; undefined4 local_44; undefined4 local_40; uint local_3c; uint local_38; uint local_34; undefined4 local_30; uint local_c; int local_8; local_4c = param_1; local_48 = param_2; local_44 = param_3; local_40 = param_4; local_3c = param_5; local_38 = param_6; local_34 = param_7; FUN_00492580(5,(byte *)&local_4c,0x20,0); iVar1 = FUN_004922e0(this,&local_8,&local_4c,&local_c,0x40); if (iVar1 == 0) { FUN_004d771c(s____ERROR___velocirender_receive_f_00507e76); FUN_004dee24(9); } *param_8 = local_48; *param_9 = local_44; *param_10 = local_40; uVar2 = FUN_00487e7c(&DAT_00507eb0,local_3c,5); *param_11 = uVar2; uVar2 = FUN_00487e7c(&DAT_00507eb5,local_38,9); *param_12 = uVar2; uVar2 = FUN_00487e7c(&DAT_00507eba,local_34,10); *param_13 = uVar2; DAT_00524690 = local_30; FUN_00487e7c(&DAT_00507ebf,local_4c,4); return; } /* @0048e7f4 file=? name=FUN_0048e7f4 */ void __cdecl FUN_0048e7f4(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4, undefined4 *param_5,undefined4 *param_6,undefined4 *param_7,undefined4 *param_8, undefined4 *param_9,undefined4 *param_10) { int iVar1; undefined4 uVar2; void *this; uint local_4c; undefined4 local_48; undefined4 local_44; undefined4 local_40; uint local_3c; uint local_38; uint local_34; undefined4 local_30; uint local_c; int local_8; local_4c = *(uint *)(param_1 + 8); local_48 = param_2; local_44 = param_3; local_40 = param_4; FUN_00492580(4,(byte *)&local_4c,0x10,0); iVar1 = FUN_004922e0(this,&local_8,&local_4c,&local_c,0x40); if (iVar1 == 0) { FUN_004d771c(s____ERROR___velocirender_receive_f_00507ec4); FUN_004dee24(9); } *param_5 = local_48; *param_6 = local_44; *param_7 = local_40; uVar2 = FUN_00487e7c(&DAT_00507efd,local_3c,5); *param_8 = uVar2; uVar2 = FUN_00487e7c(&DAT_00507f02,local_38,9); *param_9 = uVar2; uVar2 = FUN_00487e7c(&DAT_00507f07,local_34,10); *param_10 = uVar2; DAT_00524690 = local_30; FUN_00487e7c(&DAT_00507f0c,local_4c,4); return; } /* @0048e8d8 file=? name=FUN_0048e8d8 */ void __cdecl FUN_0048e8d8(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { undefined4 local_14; undefined4 local_10; undefined4 local_c; undefined4 local_8; local_14 = param_1; local_10 = param_2; local_c = param_3; local_8 = param_4; FUN_00492580(0x26,(byte *)&local_14,0x10,0); return; } /* @0048e910 file=? name=FUN_0048e910 */ void __cdecl FUN_0048e910(int *param_1) { int iVar1; int local_c [2]; iVar1 = DAT_005078dc; DAT_005078dc = DAT_005078dc + 1; FUN_0049a300(4,s_remote_VelociRender_create_2d_0x_00507f11); *param_1 = iVar1; local_c[0] = iVar1; local_c[1] = 0; FUN_00492580(0x29,(byte *)local_c,8,0); if (DAT_005078e8 != 0) { FUN_0048d220(0x29); } return; } /* @0048e96c file=? name=FUN_0048e96c */ void __cdecl FUN_0048e96c(undefined4 *param_1) { undefined4 local_c; undefined4 local_8; FUN_0049a300(4,s_remote_VelociRender_delete_2d_no_00507f35); local_c = *param_1; local_8 = 0; FUN_00492580(0x2a,(byte *)&local_c,8,0); return; } /* @0048e9ac file=? name=FUN_0048e9ac */ void __cdecl FUN_0048e9ac(byte *param_1,int param_2) { undefined4 uVar1; undefined4 uVar2; byte *pbVar3; int iVar4; uVar1 = *(undefined4 *)(param_1 + 4); uVar2 = *(undefined4 *)(param_1 + 8); FUN_0049a300(4,s_VelociRender_flush_on_2d_display_00507f6a); if (param_2 == 0) { param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; } else { iVar4 = 1; pbVar3 = param_1; while (pbVar3 = *(byte **)(pbVar3 + 4), pbVar3 != (byte *)0x0) { iVar4 = iVar4 + 1; } param_1[4] = 1; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; *(int *)(param_1 + 8) = iVar4; } FUN_00492580(0x2b,param_1,0x8c,0); *(undefined4 *)(param_1 + 4) = uVar1; *(undefined4 *)(param_1 + 8) = uVar2; return; } /* @0048ea24 file=? name=FUN_0048ea24 */ undefined4 FUN_0048ea24(void) { int iVar1; void *this; undefined4 local_2c; undefined4 local_28; uint local_c; int local_8; FUN_0049a300(4,s_remote_VelociRender_FreeMem_00507fa3); local_2c = 0x29a; local_28 = 0x309; FUN_00492580(0x2c,(byte *)&local_2c,8,0); iVar1 = FUN_004922e0(this,&local_8,&local_2c,&local_c,0x20); if (iVar1 == 0) { FUN_004d771c(s____ERROR___velocirender_receive_f_00507fc0); FUN_004dee24(9); } if (local_8 != 0x2c) { FUN_004d771c(s____ERROR___unexpected_action__d_r_00507ff6); FUN_004dee24(9); } return local_2c; } /* @0048eaac file=? name=FUN_0048eaac */ void __cdecl FUN_0048eaac(int param_1,undefined4 *param_2) { int iVar1; void *this; undefined4 local_1c [4]; uint local_c; int local_8; local_1c[0] = *(undefined4 *)(param_1 + 8); FUN_0049a300(4,s_ghost_get_geom_verts_obj_0x_x_0050802e); FUN_00492580(0x2e,(byte *)local_1c,8,0); iVar1 = FUN_004922e0(this,&local_8,param_2,&local_c,0x100); if (iVar1 == 0) { FUN_004d771c(s____ERROR___velocirender_receive_f_0050804d); FUN_004dee24(9); } return; } /* @0048eb14 file=? name=FUN_0048eb14 */ void __cdecl FUN_0048eb14(int param_1,undefined4 *param_2,undefined4 param_3,int param_4) { int iVar1; void *extraout_ECX; void *extraout_ECX_00; int iVar2; void *this; undefined4 local_34; undefined4 local_30; int local_2c; undefined4 local_28; int local_24; uint local_c; int local_8; iVar2 = param_4 * 6; local_34 = *(undefined4 *)(param_1 + 8); local_30 = param_3; local_2c = param_4; local_28 = 10; local_24 = (iVar2 + 0x3b) / 0x3c; FUN_0049a300(4,s_ghost_get_geom_conns_vertex0__d_v_00508086); FUN_00492580(0x2f,(byte *)&local_34,0x20,0); this = extraout_ECX; for (; 0x3b < iVar2; iVar2 = iVar2 + -0x3c) { iVar1 = FUN_004922e0(this,&local_8,param_2,&local_c,0x100); this = extraout_ECX_00; if (iVar1 == 0) { FUN_004d771c(s____ERROR___velocirender_receive_f_005080bc); this = (void *)0x9; FUN_004dee24(9); } if (local_8 != 0x2f) { FUN_004d771c(s_Protocol_error__action__d_in_get_005080f9); this = (void *)0x9; FUN_004dee24(9); } param_2 = param_2 + 0x3c; } if (iVar2 != 0) { iVar2 = FUN_004922e0(this,&local_8,param_2,&local_c,0x100); if (iVar2 == 0) { FUN_004d771c(s____ERROR___velocirender_receive_f_00508126); FUN_004dee24(9); } if (local_8 != 0x2f) { FUN_004d771c(s_Protocol_error__action__d_in_get_00508163); FUN_004dee24(9); } } return; } /* @0048ec34 file=? name=FUN_0048ec34 */ undefined4 __cdecl FUN_0048ec34(int param_1) { int iVar1; void *this; undefined4 local_1c [4]; int local_c; uint local_8; local_1c[0] = *(undefined4 *)(param_1 + 8); FUN_00492580(0x30,(byte *)local_1c,0x10,0); iVar1 = FUN_004922e0(this,&local_c,local_1c,&local_8,0x10); if (iVar1 == 0) { FUN_004d771c(s____ERROR___velocirender_receive_f_00508196); FUN_004dee24(9); } return local_1c[0]; } /* @0048ec8c file=? name=FUN_0048ec8c */ void __cdecl FUN_0048ec8c(int param_1,undefined4 param_2) { undefined4 local_14; undefined4 local_10; local_14 = *(undefined4 *)(param_1 + 8); local_10 = param_2; FUN_00492580(0x31,(byte *)&local_14,8,0); return; } /* @0048ecb8 file=? name=FUN_0048ecb8 */ void FUN_0048ecb8(void) { byte local_14 [16]; local_14[0] = 0; local_14[1] = 0; local_14[2] = 0; local_14[3] = 0; FUN_00492580(0x32,local_14,4,0); return; } /* @0048ecdc file=? name=FUN_0048ecdc */ void __cdecl FUN_0048ecdc(int *param_1,int param_2) { int iVar1; undefined4 *puVar2; int iVar3; puVar2 = &DAT_00524490; iVar3 = 0; while( true ) { iVar1 = *param_1; param_1 = param_1 + 1; if (iVar1 == 0) break; *puVar2 = *(undefined4 *)(iVar1 + 8); puVar2 = puVar2 + 1; iVar3 = iVar3 + 1; } *puVar2 = 0; FUN_00492580(param_2,(byte *)&DAT_00524490,(iVar3 + 1) * 4,0); return; } /* @0048ed20 file=? name=FUN_0048ed20 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_0048ed20(void) { PTR_DAT_005078e4 = &DAT_00523e0c; DAT_005078e8 = 1; DAT_005078dc = 1; _DAT_00507928 = 0; DAT_0050792c = 1; _DAT_00507930 = 0x3f800000; return; } /* @0048ed5c file=? name=FUN_0048ed5c */ undefined4 __cdecl FUN_0048ed5c(undefined4 *param_1) { return *param_1; } /* @0048eda0 file=? name=FUN_0048eda0 */ uint __cdecl FUN_0048eda0(int param_1,int param_2,int param_3,int param_4) { uint uVar1; uVar1 = param_1 >> 4 & 0xfU | (param_2 >> 4 & 0xfU) << 4; return ((int)(uVar1 | (param_3 >> 4 & 0xfU) << 8 | (param_4 >> 4 & 0xfU) << 0xc) >> 8) << 0x10 | uVar1 << 0x18; } /* @0048ee14 file=? name=FUN_0048ee14 */ uint __cdecl FUN_0048ee14(int param_1,int param_2,int param_3) { int iVar1; iVar1 = param_1 * 0x33 + param_2 * 0xb3 + param_3 * 0x19 >> 8; return iVar1 << 8 | iVar1 << 0x10 | iVar1 << 0x18; } /* @0048ee5c file=? name=FUN_0048ee5c */ void __cdecl FUN_0048ee5c(int param_1,uint *param_2,byte *param_3,int param_4,int param_5,int param_6) { byte bVar1; byte *pbVar2; byte *pbVar3; byte *pbVar4; uint uVar5; uint local_18; int local_8; DAT_0050847c = 1; if (param_5 == 0) { local_18 = *(uint *)(param_1 + 0x20); } else { local_18 = 0; } if (*(int *)(param_1 + 0x1c) == 1) { local_8 = 0; if (0 < param_4) { do { uVar5 = (uint)*param_3; param_3 = param_3 + 1; if (param_6 == 0) { uVar5 = FUN_0048eda0(uVar5,uVar5,uVar5,0xff); *param_2 = uVar5; } else { uVar5 = FUN_0048ee14(uVar5,uVar5,uVar5); *param_2 = uVar5; } param_2 = param_2 + 1; local_8 = local_8 + 1; } while (local_8 < param_4); } } else if (*(int *)(param_1 + 0x1c) == 2) { local_8 = 0; if (0 < param_4) { do { uVar5 = (uint)*param_3; pbVar2 = param_3 + 1; param_3 = param_3 + 2; local_18 = local_18 | *pbVar2 != 0xff; if (param_6 == 0) { uVar5 = FUN_0048eda0(uVar5,uVar5,uVar5,(uint)*pbVar2); *param_2 = uVar5; } else { uVar5 = FUN_0048ee14(uVar5,uVar5,uVar5); *param_2 = uVar5; } param_2 = param_2 + 1; local_8 = local_8 + 1; } while (local_8 < param_4); } } else if (*(int *)(param_1 + 0x1c) == 3) { local_8 = 0; if (0 < param_4) { do { bVar1 = *param_3; pbVar2 = param_3 + 1; pbVar3 = param_3 + 2; param_3 = param_3 + 3; if (param_6 == 0) { uVar5 = FUN_0048eda0((uint)*pbVar3,(uint)*pbVar2,(uint)bVar1,0xff); *param_2 = uVar5; } else { uVar5 = FUN_0048ee14((uint)*pbVar3,(uint)*pbVar2,(uint)bVar1); *param_2 = uVar5; } param_2 = param_2 + 1; local_8 = local_8 + 1; } while (local_8 < param_4); } } else if ((*(int *)(param_1 + 0x1c) == 4) && (local_8 = 0, 0 < param_4)) { do { bVar1 = *param_3; pbVar2 = param_3 + 1; pbVar3 = param_3 + 2; pbVar4 = param_3 + 3; param_3 = param_3 + 4; local_18 = local_18 | bVar1 != 0xff; if (param_6 == 0) { uVar5 = FUN_0048eda0((uint)*pbVar4,(uint)*pbVar3,(uint)*pbVar2,(uint)bVar1); *param_2 = uVar5; } else { uVar5 = FUN_0048ee14((uint)*pbVar4,(uint)*pbVar3,(uint)*pbVar2); *param_2 = uVar5; } param_2 = param_2 + 1; local_8 = local_8 + 1; } while (local_8 < param_4); } if (param_6 == 0) { *(uint *)(param_1 + 0x20) = local_18 | 2; } else { *(undefined4 *)(param_1 + 0x20) = 0; } return; } /* @0048f0bc file=? name=FUN_0048f0bc */ undefined4 * __cdecl FUN_0048f0bc(LPCSTR param_1) { undefined *puVar1; int *piVar2; int iVar3; int iVar4; int iVar5; char local_30 [4]; undefined4 local_2c; undefined4 local_28; undefined4 local_24 [5]; int local_10; int local_c; undefined4 *local_8; piVar2 = FUN_004d6f54(param_1,&DAT_005081ed); if (DAT_005081dc == (byte *)0x0) { DAT_005081dc = (byte *)FUN_00452c38(0x40000); } if (DAT_005081dc == (byte *)0x0) { FUN_004d771c(s_Failed_to_malloc_temporary_textu_005081f0); local_8 = (undefined4 *)0x0; } else { DAT_0050847c = 1; if (piVar2 == (int *)0x0) { FUN_004d771c(s_failed_to_open_file__s_00508229); local_8 = (undefined4 *)0x0; } else { FUN_004d71e0(local_30,1,8,piVar2); puVar1 = PTR_s_DIV_BSL2_005081d4; iVar3 = FUN_004d4a78(PTR_s_DIV_BSL2_005081d4); iVar3 = FUN_004d4ae0(local_30,puVar1,iVar3); if (iVar3 == 0) { local_c = 0; DAT_005081d8 = 0; FUN_004d71e0(local_30,1,0x10,piVar2); iVar3 = FUN_0048ed5c((undefined4 *)local_30); iVar4 = FUN_0048ed5c(&local_2c); local_10 = FUN_0048ed5c(&local_28); iVar5 = FUN_0048ed5c(local_24); if (local_10 == 4) { if ((iVar3 == 0x100) && (iVar4 == 0x100)) { local_c = 1; } if ((iVar3 == 0x80) && (iVar4 == 0x80)) { local_c = 1; } if ((iVar3 == 0x80) && (iVar4 == 0x40)) { local_c = 1; } if ((iVar3 == 0x40) && (iVar4 == 0x40)) { local_c = 1; } if (local_c == 0) { FUN_004d771c(s_Cannot_load_bsl_file_with_x_size_0050826d); FUN_004d6b08(piVar2); local_8 = (undefined4 *)0x0; } else { FUN_004d71e0((char *)DAT_005081dc,1,iVar5,piVar2); local_8 = (undefined4 *)FUN_00489788(); FUN_0048c32c((int)local_8,iVar3,iVar4); FUN_0048c3c8((int)local_8,4); FUN_004d71e0((char *)DAT_005081dc,4,iVar3 * iVar4,piVar2); FUN_004d6b08(piVar2); FUN_0048d5b0(local_8); FUN_0048c460((int)local_8,DAT_005081dc,iVar3,iVar4); } } else { FUN_004d771c(s_Cannot_load_bsl_file_with_z_size_00508241); FUN_004d6b08(piVar2); local_8 = (undefined4 *)0x0; } } else { local_8 = (undefined4 *)0x0; } } } return local_8; } /* @0048f2c8 file=? name=FUN_0048f2c8 */ undefined4 FUN_0048f2c8(LPCSTR param_1,int param_2) { undefined *puVar1; int *piVar2; undefined4 uVar3; int iVar4; int iVar5; int iVar6; char acStack_38 [4]; undefined4 uStack_34; undefined4 uStack_30; undefined4 auStack_2c [5]; int iStack_18; int iStack_14; int iStack_10; int iStack_c; undefined4 *puStack_8; piVar2 = FUN_004d6f54(param_1,&DAT_005082a0); puStack_8 = (undefined4 *)FUN_0048c2f0(param_2); if (puStack_8 == (undefined4 *)0x0) { uVar3 = 0; } else { if (DAT_005081dc == (byte *)0x0) { DAT_005081dc = (byte *)FUN_00452c38(0x40000); } if (DAT_005081dc == (byte *)0x0) { FUN_004d771c(s_Failed_to_malloc_temporary_textu_005082a3); uVar3 = 0; } else { DAT_0050847c = 1; if (piVar2 == (int *)0x0) { FUN_004d771c(s_failed_to_open_file__s_005082dc); uVar3 = 0; } else { FUN_004d71e0(acStack_38,1,8,piVar2); puVar1 = PTR_s_DIV_BSL2_005081d4; iVar4 = FUN_004d4a78(PTR_s_DIV_BSL2_005081d4); iVar4 = FUN_004d4ae0(acStack_38,puVar1,iVar4); if (iVar4 == 0) { iStack_c = 0; DAT_005081d8 = 0; FUN_004d71e0(acStack_38,1,0x10,piVar2); iVar4 = FUN_0048ed5c((undefined4 *)acStack_38); iVar5 = FUN_0048ed5c(&uStack_34); iStack_18 = FUN_0048ed5c(&uStack_30); iVar6 = FUN_0048ed5c(auStack_2c); if (iStack_18 == 4) { if ((iVar4 == 0x100) && (iVar5 == 0x100)) { iStack_c = 1; } if ((iVar4 == 0x80) && (iVar5 == 0x80)) { iStack_c = 1; } if ((iVar4 == 0x80) && (iVar5 == 0x40)) { iStack_c = 1; } if ((iVar4 == 0x40) && (iVar5 == 0x40)) { iStack_c = 1; } if (iStack_c == 0) { FUN_004d771c(s_Cannot_load_bsl_file_with_x_size_00508320); FUN_004d6b08(piVar2); uVar3 = 0; } else { FUN_004d71e0((char *)DAT_005081dc,1,iVar6,piVar2); FUN_0048c378((int)puStack_8,&iStack_10,&iStack_14); if ((iVar4 == iStack_10) && (iVar5 == iStack_14)) { FUN_0048c32c((int)puStack_8,iVar4,iVar5); FUN_0048c3c8((int)puStack_8,4); FUN_004d71e0((char *)DAT_005081dc,4,iVar4 * iVar5,piVar2); FUN_004d6b08(piVar2); FUN_0048d5b0(puStack_8); FUN_0048c460((int)puStack_8,DAT_005081dc,iVar4,iVar5); uVar3 = 1; } else { FUN_004d771c(s_Cannot_replace_bsl_file__>_size_m_00508353); FUN_004d6b08(piVar2); uVar3 = 0; } } } else { FUN_004d771c(s_Cannot_load_bsl_file_with_z_size_005082f4); FUN_004d6b08(piVar2); uVar3 = 0; } } else { uVar3 = 0; } } } } return uVar3; } /* @0048f2ce file=? name=FUN_0048f2ce */ undefined4 FUN_0048f2ce(void) { undefined *puVar1; int *piVar2; undefined4 uVar3; int iVar4; int iVar5; int iVar6; int unaff_EBP; piVar2 = FUN_004d6f54(*(LPCSTR *)(unaff_EBP + 8),&DAT_005082a0); uVar3 = FUN_0048c2f0(*(int *)(unaff_EBP + 0xc)); *(undefined4 *)(unaff_EBP + -4) = uVar3; if (*(int *)(unaff_EBP + -4) == 0) { uVar3 = 0; } else { if (DAT_005081dc == (byte *)0x0) { DAT_005081dc = (byte *)FUN_00452c38(0x40000); } if (DAT_005081dc == (byte *)0x0) { FUN_004d771c(s_Failed_to_malloc_temporary_textu_005082a3); uVar3 = 0; } else { DAT_0050847c = 1; if (piVar2 == (int *)0x0) { FUN_004d771c(s_failed_to_open_file__s_005082dc); uVar3 = 0; } else { FUN_004d71e0((char *)(unaff_EBP + -0x34),1,8,piVar2); puVar1 = PTR_s_DIV_BSL2_005081d4; iVar4 = FUN_004d4a78(PTR_s_DIV_BSL2_005081d4); iVar4 = FUN_004d4ae0((char *)(unaff_EBP + -0x34),puVar1,iVar4); if (iVar4 == 0) { *(undefined4 *)(unaff_EBP + -8) = 0; DAT_005081d8 = 0; FUN_004d71e0((char *)(unaff_EBP + -0x34),1,0x10,piVar2); iVar4 = FUN_0048ed5c((undefined4 *)(unaff_EBP + -0x34)); iVar5 = FUN_0048ed5c((undefined4 *)(unaff_EBP + -0x30)); uVar3 = FUN_0048ed5c((undefined4 *)(unaff_EBP + -0x2c)); *(undefined4 *)(unaff_EBP + -0x14) = uVar3; iVar6 = FUN_0048ed5c((undefined4 *)(unaff_EBP + -0x28)); if (*(int *)(unaff_EBP + -0x14) == 4) { if ((iVar4 == 0x100) && (iVar5 == 0x100)) { *(undefined4 *)(unaff_EBP + -8) = 1; } if ((iVar4 == 0x80) && (iVar5 == 0x80)) { *(undefined4 *)(unaff_EBP + -8) = 1; } if ((iVar4 == 0x80) && (iVar5 == 0x40)) { *(undefined4 *)(unaff_EBP + -8) = 1; } if ((iVar4 == 0x40) && (iVar5 == 0x40)) { *(undefined4 *)(unaff_EBP + -8) = 1; } if (*(int *)(unaff_EBP + -8) == 0) { FUN_004d771c(s_Cannot_load_bsl_file_with_x_size_00508320); FUN_004d6b08(piVar2); uVar3 = 0; } else { FUN_004d71e0((char *)DAT_005081dc,1,iVar6,piVar2); FUN_0048c378(*(int *)(unaff_EBP + -4),(undefined4 *)(unaff_EBP + -0xc), (undefined4 *)(unaff_EBP + -0x10)); if ((iVar4 == *(int *)(unaff_EBP + -0xc)) && (iVar5 == *(int *)(unaff_EBP + -0x10))) { FUN_0048c32c(*(int *)(unaff_EBP + -4),iVar4,iVar5); FUN_0048c3c8(*(int *)(unaff_EBP + -4),4); FUN_004d71e0((char *)DAT_005081dc,4,iVar4 * iVar5,piVar2); FUN_004d6b08(piVar2); FUN_0048d5b0(*(undefined4 **)(unaff_EBP + -4)); FUN_0048c460(*(int *)(unaff_EBP + -4),DAT_005081dc,iVar4,iVar5); uVar3 = 1; } else { FUN_004d771c(s_Cannot_replace_bsl_file__>_size_m_00508353); FUN_004d6b08(piVar2); uVar3 = 0; } } } else { FUN_004d771c(s_Cannot_load_bsl_file_with_z_size_005082f4); FUN_004d6b08(piVar2); uVar3 = 0; } } else { uVar3 = 0; } } } } return uVar3; } /* @0048f52c file=? name=FUN_0048f52c */ void __cdecl FUN_0048f52c(undefined4 *param_1,int param_2,undefined4 *param_3) { byte bVar1; uint uVar2; undefined4 uVar3; byte *pbVar4; int unaff_ESI; int iVar5; int local_24; char local_20; char local_1f [3]; byte local_1c; byte local_1b; undefined1 local_1a; byte local_19; byte *local_18; int local_14; int local_10; int local_c; int local_8; if (*(char *)(param_2 + 0x12) == '\x01') { local_8 = 1; } else if ((*(char *)(param_2 + 0x12) == '\b') && (*(char *)(param_2 + 1) == '\0')) { local_8 = 1; } else if (*(char *)(param_2 + 0x12) == ' ') { local_8 = 4; } else { local_8 = 3; } local_18 = (byte *)FUN_00452c38((uint)*(ushort *)(param_2 + 0xe) * (uint)*(ushort *)(param_2 + 0x10) * local_8); if (local_18 == (byte *)0x0) { FUN_0049a300(0,s_dpl_tgaRead_failed_to_allocate_m_0050838b); } else { bVar1 = *(byte *)(param_2 + 0x13); if ((bVar1 & 0x20) == 0) { if ((bVar1 & 0x10) == 0) { local_c = local_8; local_10 = 0; pbVar4 = local_18; } else { local_c = -local_8; local_10 = (uint)*(ushort *)(param_2 + 0xe) * 2 * local_8; pbVar4 = local_18 + (*(ushort *)(param_2 + 0xe) - 1) * local_8; } } else if ((bVar1 & 0x10) == 0) { local_c = local_8; local_10 = -((uint)*(ushort *)(param_2 + 0xe) * 2 * local_8); pbVar4 = local_18 + (uint)*(ushort *)(param_2 + 0xe) * (*(ushort *)(param_2 + 0x10) - 1) * local_8; } else { local_c = -local_8; local_10 = 0; pbVar4 = local_18 + ((uint)*(ushort *)(param_2 + 0xe) * (uint)*(ushort *)(param_2 + 0x10) + -1) * local_8 ; } if (*(byte *)(param_2 + 2) < 4) { for (local_14 = 0; local_14 < (int)(uint)*(ushort *)(param_2 + 0x10); local_14 = local_14 + 1) { bVar1 = *(byte *)(param_2 + 0x12); if (bVar1 < 0x11) { if (bVar1 == 0x10) { for (iVar5 = 0; iVar5 < (int)(uint)*(ushort *)(param_2 + 0xe); iVar5 = iVar5 + 1) { uVar2 = FUN_00492cb4(param_1); *pbVar4 = (byte)((int)(uVar2 & 0xffff) >> 7) & 0xf8; pbVar4[1] = (byte)((int)(uVar2 & 0xffff) >> 2) & 0xf8; pbVar4[2] = (byte)(uVar2 << 3); pbVar4 = pbVar4 + local_c; } } else if (bVar1 == 1) { iVar5 = 0; while (iVar5 < (int)(uint)*(ushort *)(param_2 + 0xe)) { uVar3 = FUN_00492c84(param_1); bVar1 = 0x80; for (; (bVar1 != 0 && (iVar5 < (int)(uint)*(ushort *)(param_2 + 0xe))); iVar5 = iVar5 + 1) { if ((bVar1 & (byte)uVar3) == 0) { *pbVar4 = 0xff; } else { *pbVar4 = 0; } pbVar4 = pbVar4 + local_c; bVar1 = bVar1 >> 1; } } } else if (bVar1 == 8) { if (local_8 == 1) { for (iVar5 = 0; iVar5 < (int)(uint)*(ushort *)(param_2 + 0xe); iVar5 = iVar5 + 1) { uVar3 = FUN_00492c84(param_1); *pbVar4 = (byte)uVar3; pbVar4 = pbVar4 + local_c; } } else { for (iVar5 = 0; iVar5 < (int)(uint)*(ushort *)(param_2 + 0xe); iVar5 = iVar5 + 1) { uVar2 = FUN_00492c84(param_1); FUN_004d4918((undefined4 *)pbVar4, (undefined4 *)((uVar2 & 0xff) * 3 + param_2 + 0x14),3); pbVar4 = pbVar4 + local_c; } } } } else if (bVar1 == 0x18) { for (iVar5 = 0; iVar5 < (int)(uint)*(ushort *)(param_2 + 0xe); iVar5 = iVar5 + 1) { FUN_00492f10(param_1,(char *)pbVar4,3); pbVar4 = pbVar4 + local_c; } } else if (bVar1 == 0x20) { for (iVar5 = 0; iVar5 < (int)(uint)*(ushort *)(param_2 + 0xe); iVar5 = iVar5 + 1) { FUN_00492f10(param_1,(char *)(pbVar4 + 1),3); uVar2 = FUN_00492c84(param_1); if ((uVar2 & 0x80) == 0) { *pbVar4 = 0xff; } else { *pbVar4 = (char)uVar2 * '\x02'; } pbVar4 = pbVar4 + local_c; } } pbVar4 = pbVar4 + local_10; } } else { for (local_14 = 0; local_14 < (int)(uint)*(ushort *)(param_2 + 0x10); local_14 = local_14 + 1) { while (unaff_ESI < (int)(uint)*(ushort *)(param_2 + 0xe)) { uVar2 = FUN_00492c84(param_1); local_24 = (uVar2 & 0x7f) + 1; if ((uVar2 & 0x80) == 0) { bVar1 = *(byte *)(param_2 + 0x12); if (bVar1 < 0x11) { if (bVar1 == 0x10) { while (local_24 != 0) { uVar2 = FUN_00492cb4(param_1); *pbVar4 = (byte)((int)(uVar2 & 0xffff) >> 7) & 0xf8; pbVar4[1] = (byte)((int)(uVar2 & 0xffff) >> 2) & 0xf8; pbVar4[2] = (byte)(uVar2 << 3); pbVar4 = pbVar4 + local_c; unaff_ESI = unaff_ESI + 1; local_24 = local_24 + -1; } } else if (bVar1 == 1) { while (iVar5 = local_24 + -1, local_24 != 0) { uVar3 = FUN_00492c84(param_1); local_19 = (byte)uVar3; bVar1 = 0x80; for (; (local_24 = iVar5, bVar1 != 0 && (unaff_ESI < (int)(uint)*(ushort *)(param_2 + 0xe))); unaff_ESI = unaff_ESI + 1) { if ((local_19 & bVar1) == 0) { *pbVar4 = 0xff; } else { *pbVar4 = 0; } pbVar4 = pbVar4 + local_c; bVar1 = bVar1 >> 1; } } } else if (bVar1 == 8) { if (local_8 == 1) { while (local_24 != 0) { uVar3 = FUN_00492c84(param_1); *pbVar4 = (byte)uVar3; pbVar4 = pbVar4 + local_c; unaff_ESI = unaff_ESI + 1; local_24 = local_24 + -1; } } else { while (local_24 != 0) { uVar2 = FUN_00492c84(param_1); local_19 = (byte)uVar2; FUN_004d4918((undefined4 *)pbVar4, (undefined4 *)((uVar2 & 0xff) * 3 + param_2 + 0x14),3); pbVar4 = pbVar4 + local_c; unaff_ESI = unaff_ESI + 1; local_24 = local_24 + -1; } } } } else if (bVar1 == 0x18) { while (local_24 != 0) { FUN_00492f10(param_1,(char *)pbVar4,3); pbVar4 = pbVar4 + local_c; unaff_ESI = unaff_ESI + 1; local_24 = local_24 + -1; } } else if (bVar1 == 0x20) { while (local_24 != 0) { FUN_00492f10(param_1,(char *)(pbVar4 + 1),3); uVar2 = FUN_00492c84(param_1); if ((uVar2 & 0x80) == 0) { *pbVar4 = 0xff; } else { *pbVar4 = (char)uVar2 * '\x02'; } pbVar4 = pbVar4 + local_c; unaff_ESI = unaff_ESI + 1; local_24 = local_24 + -1; } } } else { bVar1 = *(byte *)(param_2 + 0x12); if (bVar1 < 0x11) { if (bVar1 == 0x10) { uVar2 = FUN_00492cb4(param_1); local_1c = (byte)((int)(uVar2 & 0xffff) >> 7) & 0xf8; local_1b = (byte)((int)(uVar2 & 0xffff) >> 2) & 0xf8; local_1a = (undefined1)(uVar2 << 3); while (local_24 != 0) { FUN_004d4918((undefined4 *)pbVar4,(undefined4 *)&local_1c,3); pbVar4 = pbVar4 + local_c; unaff_ESI = unaff_ESI + 1; local_24 = local_24 + -1; } } else if (bVar1 == 1) { uVar3 = FUN_00492c84(param_1); local_19 = (byte)uVar3; while (iVar5 = local_24 + -1, local_24 != 0) { bVar1 = 0x80; for (; (local_24 = iVar5, bVar1 != 0 && (unaff_ESI < (int)(uint)*(ushort *)(param_2 + 0xe))); unaff_ESI = unaff_ESI + 1) { if ((local_19 & bVar1) == 0) { *pbVar4 = 0xff; } else { *pbVar4 = 0; } pbVar4 = pbVar4 + local_c; bVar1 = bVar1 >> 1; } } } else if (bVar1 == 8) { uVar3 = FUN_00492c84(param_1); local_19 = (byte)uVar3; if (local_8 == 1) { while (local_24 != 0) { *pbVar4 = local_19; pbVar4 = pbVar4 + local_c; unaff_ESI = unaff_ESI + 1; local_24 = local_24 + -1; } } else { while (local_24 != 0) { FUN_004d4918((undefined4 *)pbVar4, (undefined4 *)((uint)local_19 * 3 + param_2 + 0x14),3); pbVar4 = pbVar4 + local_c; unaff_ESI = unaff_ESI + 1; local_24 = local_24 + -1; } } } } else if (bVar1 == 0x18) { FUN_00492f10(param_1,(char *)&local_1c,3); while (local_24 != 0) { FUN_004d4918((undefined4 *)pbVar4,(undefined4 *)&local_1c,3); pbVar4 = pbVar4 + local_c; unaff_ESI = unaff_ESI + 1; local_24 = local_24 + -1; } } else if (bVar1 == 0x20) { FUN_00492f10(param_1,local_1f,3); uVar2 = FUN_00492c84(param_1); if ((uVar2 & 0x80) == 0) { local_20 = -1; } else { local_20 = (char)uVar2 * '\x02'; } while (local_24 != 0) { FUN_004d4918((undefined4 *)pbVar4,(undefined4 *)&local_20,4); pbVar4 = pbVar4 + local_c; unaff_ESI = unaff_ESI + 1; local_24 = local_24 + -1; } } } } pbVar4 = pbVar4 + local_10; } } FUN_0048c32c((int)param_3,(uint)*(ushort *)(param_2 + 0xe),(uint)*(ushort *)(param_2 + 0x10)); FUN_0048c3c8((int)param_3,local_8); FUN_0048c548((int)param_3,local_18,0, (uint)*(ushort *)(param_2 + 0xe) * (uint)*(ushort *)(param_2 + 0x10)); FUN_00452c88((int *)local_18); FUN_0048d5b0(param_3); } return; } /* @0048fb6c file=? name=FUN_0048fb6c */ void __cdecl FUN_0048fb6c(undefined4 *param_1,undefined4 *param_2) { undefined4 uVar1; int iVar2; byte *pbVar3; uint uVar4; byte local_318; char local_317; char local_316; ushort local_314; ushort local_312; char local_310; undefined2 local_30e; undefined2 local_30c; undefined2 local_30a; undefined2 local_308; undefined1 local_306; undefined1 local_305; byte local_304 [768]; uVar1 = FUN_00492c84(param_1); local_318 = (byte)uVar1; uVar1 = FUN_00492c84(param_1); local_317 = (char)uVar1; uVar1 = FUN_00492c84(param_1); local_316 = (char)uVar1; uVar1 = FUN_00492cb4(param_1); local_314 = (ushort)uVar1; uVar1 = FUN_00492cb4(param_1); local_312 = (ushort)uVar1; uVar1 = FUN_00492c84(param_1); local_310 = (char)uVar1; uVar1 = FUN_00492cb4(param_1); local_30e = (undefined2)uVar1; uVar1 = FUN_00492cb4(param_1); local_30c = (undefined2)uVar1; uVar1 = FUN_00492cb4(param_1); local_30a = (undefined2)uVar1; uVar1 = FUN_00492cb4(param_1); local_308 = (undefined2)uVar1; uVar1 = FUN_00492c84(param_1); local_306 = (undefined1)uVar1; uVar1 = FUN_00492c84(param_1); local_305 = (undefined1)uVar1; if ((((local_316 == '\x01') || (local_316 == '\x02')) || (local_316 == '\x03')) || (((local_316 == '\t' || (local_316 == '\n')) || (local_316 == '\v')))) { FUN_00492ba0(param_1,(uint)local_318); if (local_317 != '\0') { if (local_310 == '\x10') { uVar4 = (uint)local_314; pbVar3 = local_304 + uVar4 * 3; for (; (int)uVar4 < (int)(uint)local_312; uVar4 = uVar4 + 1) { iVar2 = FUN_00492cb4(param_1); *pbVar3 = (byte)((short)iVar2 >> 7) & 0xf8; pbVar3[1] = (byte)((short)iVar2 >> 2) & 0xf8; pbVar3[2] = (byte)(iVar2 << 3); pbVar3 = pbVar3 + 3; } } else if (local_310 == '\x18') { FUN_00492f10(param_1,(char *)(local_304 + (uint)local_314 * 3),(uint)local_312 * 3); } } FUN_0048f52c(param_1,(int)&local_318,param_2); } else { FUN_0049a300(0,s_dpl_tgaRead___not_a_recognised_i_005083b2); } return; } /* @0048fd04 file=? name=FUN_0048fd04 */ void __cdecl FUN_0048fd04(LPCSTR param_1,undefined4 *param_2) { undefined4 *puVar1; int *piVar2; puVar1 = (undefined4 *)FUN_0048c2f0((int)param_2); DAT_005081d8 = (uint)(param_2[6] == 10); if (param_1 == (LPCSTR)0x0) { FUN_0049a300(0,s_dpl_tgaReplace_got_no_file_to_op_005083dd); } else if (puVar1 == (undefined4 *)0x0) { FUN_0049a300(0,s_dpl_tgaReplace_got_NULL_texmap_00508400); } else { if ((DAT_005081e0 == (int *)0x0) && (DAT_005081e0 = (int *)FUN_00452c38(0x4000), DAT_005081e0 == (int *)0x0)) { FUN_0049a300(0,s_dpl_tgaRead_failed_to_allocate_r_0050841f); return; } piVar2 = FUN_004930c0(param_1,0x4000,DAT_005081e0,1); if (piVar2 == (int *)0x0) { FUN_0049a300(0,s_dpl_tgaRead_failed_to_open_file___0050844a); } else { FUN_0048fb6c(piVar2,puVar1); FUN_0048d55c(param_2); FUN_00493188(piVar2); } } return; } /* @0048fdd8 file=? name=FUN_0048fdd8 */ void FUN_0048fdd8(void) { PTR_s_DIV_BSL2_005081d4 = s_DIV_BSL2_00508470; DAT_005081d8 = 0; DAT_005081dc = 0; DAT_005081e0 = 0; return; } /* @0048fdf8 file=? name=FUN_0048fdf8 */ void __cdecl FUN_0048fdf8(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5 ) { if (param_1 != 0) { *(undefined4 *)(param_1 + 0x2c) = param_2; *(undefined4 *)(param_1 + 0x30) = param_3; *(undefined4 *)(param_1 + 0x34) = param_4; *(undefined4 *)(param_1 + 0x38) = param_5; return; } FUN_004d771c(s_NULL_texture_in_dpl_SetTextureSc_00508488); FUN_004dee24(9); return; } /* @0048fe34 file=? name=FUN_0048fe34 */ void __cdecl FUN_0048fe34(undefined4 param_1) { DAT_005078e0 = param_1; return; } /* @0048fe44 file=? name=FUN_0048fe44 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __cdecl FUN_0048fe44(undefined4 param_1) { _DAT_00507930 = param_1; return; } /* @0048fe54 file=? name=FUN_0048fe54 */ void __cdecl FUN_0048fe54(int param_1,undefined4 param_2) { if (param_1 != 0) { *(undefined4 *)(param_1 + 0x58) = param_2; } return; } /* @0048fe68 file=? name=FUN_0048fe68 */ void __cdecl FUN_0048fe68(int param_1,int param_2) { if (param_1 != 0) { if (param_2 != 0) { *(uint *)(param_1 + 0x58) = *(uint *)(param_1 + 0x58) | 0x400; return; } *(uint *)(param_1 + 0x58) = *(uint *)(param_1 + 0x58) & 0xfffffbff; } return; } /* @0048fe94 file=? name=FUN_0048fe94 */ void __cdecl FUN_0048fe94(int param_1,undefined4 param_2) { if (param_1 != 0) { *(undefined4 *)(param_1 + 0x60) = param_2; } return; } /* @0048fea8 file=? name=FUN_0048fea8 */ void __cdecl FUN_0048fea8(int param_1,uint param_2) { *(uint *)(param_1 + 0x58) = *(uint *)(param_1 + 0x58) & 0xf0ffffff | (param_2 & 0xf) << 0x18; return; } /* @0048fec8 file=? name=FUN_0048fec8 */ uint __cdecl FUN_0048fec8(int param_1) { return *(int *)(param_1 + 0x58) >> 0x18 & 0xf; } /* @0048fedc file=? name=FUN_0048fedc */ void __cdecl FUN_0048fedc(int param_1,undefined4 param_2,undefined4 param_3) { *(uint *)(param_1 + 0x58) = *(uint *)(param_1 + 0x58) & 0xf0ffffff | 0x1000000; *(undefined4 *)(param_1 + 0x18) = param_2; *(undefined4 *)(param_1 + 0x1c) = param_3; return; } /* @0048ff04 file=? name=FUN_0048ff04 */ void __cdecl FUN_0048ff04(int param_1,undefined4 param_2,undefined4 param_3) { *(uint *)(param_1 + 0x58) = *(uint *)(param_1 + 0x58) & 0xf0ffffff | 0x2000000; *(undefined4 *)(param_1 + 0x18) = param_2; *(undefined4 *)(param_1 + 0x1c) = param_3; return; } /* @0048ff2c file=? name=FUN_0048ff2c */ void __cdecl FUN_0048ff2c(int param_1,undefined4 param_2,undefined4 param_3) { *(uint *)(param_1 + 0x58) = *(uint *)(param_1 + 0x58) & 0xf0ffffff | 0x3000000; *(undefined4 *)(param_1 + 0x18) = param_2; *(undefined4 *)(param_1 + 0x1c) = param_3; return; } /* @0048ff54 file=? name=FUN_0048ff54 */ void __cdecl FUN_0048ff54(int param_1,undefined4 *param_2,undefined4 *param_3) { *(uint *)(param_1 + 0x58) = *(uint *)(param_1 + 0x58) & 0xf0ffffff | 0x4000000; *(undefined4 *)(param_1 + 0x18) = *param_2; *(undefined4 *)(param_1 + 0x1c) = param_2[1]; *(undefined4 *)(param_1 + 0x20) = param_2[2]; *(undefined4 *)(param_1 + 0x24) = param_2[3]; *(undefined4 *)(param_1 + 0x28) = *param_3; *(undefined4 *)(param_1 + 0x2c) = param_3[1]; *(undefined4 *)(param_1 + 0x30) = param_3[2]; return; } /* @0048ffa4 file=? name=FUN_0048ffa4 */ void __cdecl FUN_0048ffa4(int *param_1) { uint uVar1; uint uVar2; int *piVar3; int unaff_ESI; int iVar4; int local_c; local_c = 0; iVar4 = 0x78; piVar3 = param_1; while (*piVar3 != 0) { uVar1 = *(int *)(*piVar3 + 0x58) >> 0x18 & 0xf; uVar2 = uVar1 - 1; if (uVar1 == 0) { unaff_ESI = 0xd; } else if (uVar2 < 3) { unaff_ESI = 3; } else if (uVar2 == 3) { unaff_ESI = 9; } else { FUN_004d771c(s_Unknown_dcs_type_0x_x_in_flush_a_005084ae); FUN_004dee24(9); } if (iVar4 - unaff_ESI < 0) { FUN_0048e440(param_1,local_c); local_c = 0; iVar4 = 0x78; param_1 = piVar3; } else { iVar4 = iVar4 - unaff_ESI; local_c = local_c + 1; piVar3 = piVar3 + 1; } } if (local_c != 0) { FUN_0048e440(param_1,local_c); } return; } /* @0049005c file=? name=FUN_0049005c */ undefined4 * __cdecl FUN_0049005c(undefined4 *param_1,undefined4 *param_2) { *param_2 = 0; *param_1 = param_2; return param_1 + 1; } /* @00490070 file=? name=FUN_00490070 */ int __cdecl FUN_00490070(undefined4 *param_1) { int *piVar1; int iVar2; int iVar3; iVar3 = 0; piVar1 = (int *)*param_1; while (piVar1 != (int *)0x0) { param_1 = param_1 + 1; if (*piVar1 == 0) { switch(piVar1[3]) { case 3: iVar2 = 0x70; break; case 4: iVar2 = 0x38; break; case 5: iVar2 = 0x8c; break; case 6: iVar2 = 0x3c; break; case 7: iVar2 = 0x7c; break; case 8: iVar2 = 0x50; break; case 9: iVar2 = 0x58; break; case 10: iVar2 = 0x30; break; case 0xb: iVar2 = 100; break; case 0xc: iVar2 = 0x4c; break; case 0xd: iVar2 = 0x24; break; case 0xe: iVar2 = 0x2c; break; default: FUN_004d771c(s_Unknown_type_0x_x_in_flush_nodes_005084ec); return iVar3; } FUN_0048d350(piVar1,iVar2); *piVar1 = 1; iVar3 = iVar3 + 1; } piVar1 = (int *)*param_1; } return iVar3; } /* @0049016c file=? name=FUN_0049016c */ void __cdecl FUN_0049016c(int param_1,int param_2,uint param_3) { if (param_2 != 0) { *(uint *)(param_1 + 0x58) = *(uint *)(param_1 + 0x58) | param_3; return; } *(uint *)(param_1 + 0x58) = *(uint *)(param_1 + 0x58) & ~param_3; return; } /* @00490188 file=? name=FUN_00490188 */ void __cdecl FUN_00490188(int param_1,int param_2) { FUN_0049016c(param_1,param_2,0x40); return; } /* @004901a0 file=? name=FUN_004901a0 */ void __cdecl FUN_004901a0(int param_1,int param_2) { FUN_0049016c(param_1,param_2,0x80); return; } /* @004901bc file=? name=FUN_004901bc */ void __cdecl FUN_004901bc(int param_1,int param_2) { FUN_0049016c(param_1,param_2,0x100); return; } /* @004901d8 file=? name=FUN_004901d8 */ void __cdecl FUN_004901d8(int param_1,int param_2) { FUN_0049016c(param_1,param_2,0x200); return; } /* @004901f4 file=? name=FUN_004901f4 */ void __cdecl FUN_004901f4(int param_1,int param_2) { FUN_0049016c(param_1,param_2,0x1000); return; } /* @00490210 file=? name=FUN_00490210 */ void __cdecl FUN_00490210(undefined4 param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5 ,undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9, undefined4 param_10,undefined4 param_11,undefined4 param_12,undefined4 param_13, undefined4 param_14,undefined4 param_15,undefined4 param_16,undefined4 param_17) { undefined4 local_84; undefined4 local_80; undefined4 local_7c; undefined4 local_78; undefined4 local_74; undefined4 local_70; undefined4 local_6c; undefined4 local_68; undefined4 local_64; undefined4 local_60; undefined4 local_5c; undefined4 local_58; undefined4 local_54; undefined4 local_50; undefined4 local_4c; undefined4 local_48; undefined4 local_44; local_84 = param_1; if (param_2 == 0) { local_80 = 0; } else { local_80 = *(undefined4 *)(param_2 + 8); } local_7c = param_3; local_78 = param_4; local_74 = param_5; local_70 = param_6; local_6c = param_7; local_68 = param_8; local_64 = param_9; local_60 = param_10; local_5c = param_11; local_58 = param_12; local_54 = param_13; local_50 = param_14; local_4c = param_15; local_48 = param_16; local_44 = param_17; FUN_0048e2c0((byte *)&local_84,0x44); return; } /* @004902a0 file=? name=FUN_004902a0 */ void __cdecl FUN_004902a0(int param_1,undefined4 param_2) { *(undefined4 *)(param_1 + 0x18) = param_2; return; } /* @004902b0 file=? name=FUN_004902b0 */ void __cdecl FUN_004902b0(int param_1,int param_2) { FUN_0048e5b0(*(undefined4 *)(param_1 + 8),0x80000092,0x80000005,0x80000004, *(undefined4 *)(param_2 + 8)); return; } /* @004902e0 file=? name=FUN_004902e0 */ void __cdecl FUN_004902e0(undefined4 param_1) { FUN_0048e5b0(param_1,5,0x40000000,0x40000000,0); return; } /* @00490308 file=? name=FUN_00490308 */ void __cdecl FUN_00490308(int param_1) { FUN_0048e5b0(*(undefined4 *)(param_1 + 8),0x80000003,0x80000017,0x80000004,0); return; } /* @00490330 file=? name=FUN_00490330 */ void __cdecl FUN_00490330(int param_1,undefined4 param_2) { FUN_0048e5ec(*(undefined4 *)(param_1 + 8),param_2); return; } /* @00490348 file=? name=FUN_00490348 */ void __cdecl FUN_00490348(undefined4 *param_1) { FUN_0048e614(param_1); return; } /* @00490358 file=? name=FUN_00490358 */ void __cdecl FUN_00490358(int param_1) { FUN_0048e1b0(param_1); return; } /* @00490368 file=? name=FUN_00490368 */ void __cdecl FUN_00490368(undefined4 param_1,undefined4 param_2) { FUN_0048e288(param_1,param_2); return; } /* @00490380 file=? name=FUN_00490380 */ void FUN_00490380(void) { FUN_0048ea24(); return; } /* @0049038c file=? name=FUN_0049038c */ void __cdecl FUN_0049038c(undefined4 param_1) { DAT_0050792c = param_1; return; } /* @0049039c file=? name=FUN_0049039c */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __cdecl FUN_0049039c(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { _DAT_00508480 = param_1; _DAT_00508484 = param_2; FUN_0048e8d8(param_1,param_2,param_3,param_4); return; } /* @004903c8 file=? name=FUN_004903c8 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined4 __cdecl FUN_004903c8(float param_1,float param_2,undefined4 param_3,undefined4 param_4,undefined4 *param_5, undefined4 *param_6,undefined4 *param_7,undefined4 *param_8,undefined4 *param_9, undefined4 *param_10) { *param_5 = DAT_00524afc; *param_6 = DAT_00524b00; *param_7 = DAT_00524b04; *param_8 = DAT_00524af0; *param_9 = DAT_00524af8; *param_10 = DAT_00524af4; if ((_DAT_00508480 != param_1) || (_DAT_00508484 != param_2)) { FUN_0049039c(param_1,param_2,param_3,param_4); } return DAT_00524aec; } /* @00490444 file=? name=FUN_00490444 */ void FUN_00490444(void) { FUN_004d771c(s_cull__d_draw__d_frame__d_pxpl__d_0050850e); return; } /* @00490474 file=? name=FUN_00490474 */ void FUN_00490474(void) { FUN_0048a1a0(); DAT_00524ae0 = 0; FUN_0048e2dc(1); return; } /* @00490490 file=? name=FUN_00490490 */ void __cdecl FUN_00490490(int param_1,undefined4 param_2) { *(undefined4 *)(param_1 + 4) = param_2; return; } /* @004904a0 file=? name=FUN_004904a0 */ undefined4 __cdecl FUN_004904a0(int param_1) { return *(undefined4 *)(param_1 + 4); } /* @004904ac file=? name=FUN_004904ac */ void __cdecl FUN_004904ac(int param_1) { if (param_1 != 0) { *(uint *)(param_1 + 0x74) = *(uint *)(param_1 + 0x74) | 2; } return; } /* @004904bc file=? name=FUN_004904bc */ void __cdecl FUN_004904bc(int param_1,int param_2,int param_3,undefined4 param_4,undefined4 param_5) { FUN_0048d968(param_1,param_2,param_3,param_4,param_5); return; } /* @004904dc file=? name=FUN_004904dc */ void __cdecl FUN_004904dc(int param_1,int param_2,int param_3,undefined4 param_4,undefined4 param_5) { FUN_0048d968(param_1,param_2,param_3,param_4,param_5); return; } /* @004904fc file=? name=FUN_004904fc */ void __cdecl FUN_004904fc(int param_1,int param_2,int param_3,undefined4 param_4,undefined4 param_5) { FUN_0048d968(param_1,param_2,param_3,param_4,param_5); return; } /* @0049051c file=? name=FUN_0049051c */ void __cdecl FUN_0049051c(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) { FUN_0048d9b4(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9); return; } /* @00490548 file=? name=FUN_00490548 */ void __cdecl FUN_00490548(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) { FUN_0048d9b4(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9); return; } /* @00490574 file=? name=FUN_00490574 */ void __cdecl FUN_00490574(int param_1,byte *param_2) { FUN_004d771c(s_sfx_texels_2D_00508539); FUN_0048da1c(param_1,param_2,0x100,0x100,2,1); FUN_004d771c(s_returning_from_sfx_texels_2D_00508548); return; } /* @004905b0 file=? name=FUN_004905b0 */ void __cdecl FUN_004905b0(undefined4 *param_1) { FUN_0048e6b0(param_1); return; } /* @004905c0 file=? name=FUN_004905c0 */ void __cdecl FUN_004905c0(int param_1,undefined4 param_2,undefined4 param_3) { *(undefined4 *)(param_1 + 0x44) = param_2; *(undefined4 *)(param_1 + 0x48) = param_3; return; } /* @004905d4 file=? name=FUN_004905d4 */ void __cdecl FUN_004905d4(int param_1,undefined4 param_2) { *(undefined4 *)(param_1 + 0x68) = param_2; return; } /* @004905e4 file=? name=FUN_004905e4 */ undefined4 __cdecl FUN_004905e4(int param_1) { return *(undefined4 *)(param_1 + 0x68); } /* @004905f0 file=? name=FUN_004905f0 */ void __cdecl FUN_004905f0(int param_1,undefined4 param_2) { *(undefined4 *)(param_1 + 0x38) = param_2; return; } /* @00490600 file=? name=FUN_00490600 */ undefined4 __cdecl FUN_00490600(int param_1) { return *(undefined4 *)(param_1 + 0x38); } /* @0049060c file=? name=FUN_0049060c */ void FUN_0049060c(void) { DAT_005078e8 = 1; return; } /* @00490618 file=? name=FUN_00490618 */ void FUN_00490618(void) { DAT_005078e8 = 0; return; } /* @00490620 file=? name=FUN_00490620 */ void __cdecl FUN_00490620(int param_1,int param_2) { uint uVar1; uVar1 = *(uint *)(param_1 + 0x34) & 0xffffdfff; if (param_2 != 0) { *(uint *)(param_1 + 0x34) = uVar1 | 0x2000; return; } *(uint *)(param_1 + 0x34) = uVar1; return; } /* @00490648 file=? name=FUN_00490648 */ undefined4 __cdecl FUN_00490648(int param_1) { if ((*(byte *)(param_1 + 0x35) & 0x20) != 0) { return 1; } return 0; } /* @00490660 file=? name=FUN_00490660 */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_00490660(void) { DAT_0050847c = 0; _DAT_00508480 = 0xbf800000; _DAT_00508484 = 0xbf800000; return; } /* @0049067c file=? name=FUN_0049067c */ void __cdecl FUN_0049067c(int param_1,undefined4 *param_2) { FUN_0048eaac(param_1,param_2); return; } /* @00490694 file=? name=FUN_00490694 */ void __cdecl FUN_00490694(int param_1) { FUN_0048ec34(param_1); return; } /* @004906a4 file=? name=FUN_004906a4 */ void __cdecl FUN_004906a4(int param_1,undefined4 *param_2,undefined4 param_3,int param_4) { FUN_0048eb14(param_1,param_2,param_3,param_4); return; } /* @004906c4 file=? name=FUN_004906c4 */ void __cdecl FUN_004906c4(int param_1) { FUN_0048c8ac(param_1,0x666); return; } /* @004906dc file=? name=FUN_004906dc */ void __cdecl FUN_004906dc(int param_1,int param_2) { if (param_2 != 0) { FUN_0048c8ac(param_1,0x668); return; } FUN_0048c8ac(param_1,0x667); return; } /* @00490708 file=? name=FUN_00490708 */ void __cdecl FUN_00490708(int param_1,undefined4 param_2) { FUN_0048ec8c(param_1,param_2); return; } /* @00490720 file=? name=FUN_00490720 */ void FUN_00490720(void) { FUN_0048ecb8(); return; } /* @0049072c file=? name=FUN_0049072c */ void __cdecl FUN_0049072c(int *param_1) { FUN_0048ecdc(param_1,0x34); return; } /* @00490740 file=? name=FUN_00490740 */ void __cdecl FUN_00490740(int *param_1) { FUN_0048ecdc(param_1,0x33); return; } /* @00490754 file=? name=FUN_00490754 */ undefined1 * __cdecl FUN_00490754(undefined1 *param_1,undefined1 param_2) { *param_1 = param_2; return param_1 + 1; } /* @00490764 file=? name=FUN_00490764 */ undefined1 * __cdecl FUN_00490764(undefined1 *param_1,undefined1 param_2) { *param_1 = param_2; return param_1 + 1; } /* @00490774 file=? name=FUN_00490774 */ undefined1 * __cdecl FUN_00490774(undefined1 *param_1,undefined4 param_2) { if (DAT_00508568 != 0) { *param_1 = (undefined1)param_2; param_1[1] = param_2._1_1_; return param_1 + 2; } *param_1 = param_2._1_1_; param_1[1] = (undefined1)param_2; return param_1 + 2; } /* @004907a4 file=? name=FUN_004907a4 */ undefined1 * __cdecl FUN_004907a4(undefined1 *param_1,undefined4 param_2) { if (DAT_00508568 != 0) { *param_1 = (undefined1)param_2; param_1[1] = param_2._1_1_; param_1[2] = param_2._2_1_; param_1[3] = param_2._3_1_; return param_1 + 4; } *param_1 = param_2._3_1_; param_1[1] = param_2._2_1_; param_1[2] = param_2._1_1_; param_1[3] = (undefined1)param_2; return param_1 + 4; } /* @004907ec file=? name=FUN_004907ec */ undefined4 * __cdecl FUN_004907ec(undefined4 *param_1,undefined4 param_2) { if (DAT_00508568 != 0) { *param_1 = param_2; return param_1 + 1; } *(undefined1 *)param_1 = param_2._3_1_; *(undefined1 *)((int)param_1 + 1) = param_2._2_1_; *(undefined1 *)((int)param_1 + 2) = param_2._1_1_; *(undefined1 *)((int)param_1 + 3) = (undefined1)param_2; return param_1 + 1; } /* @00490824 file=? name=FUN_00490824 */ undefined1 * __cdecl FUN_00490824(undefined1 *param_1,undefined4 param_2) { if (DAT_00508568 != 0) { *param_1 = (undefined1)param_2; param_1[1] = param_2._1_1_; param_1[2] = param_2._2_1_; param_1[3] = param_2._3_1_; return param_1 + 4; } *param_1 = param_2._3_1_; param_1[1] = param_2._2_1_; param_1[2] = param_2._1_1_; param_1[3] = (undefined1)param_2; return param_1 + 4; } /* @0049086c file=? name=FUN_0049086c */ int __cdecl FUN_0049086c(undefined4 *param_1,undefined4 *param_2,uint param_3) { FUN_004d4918(param_1,param_2,param_3); return param_3 + (int)param_1; } /* @0049088c file=? name=FUN_0049088c */ undefined4 * __cdecl FUN_0049088c(undefined4 *param_1,undefined4 *param_2,uint param_3) { undefined1 uVar1; undefined2 uVar2; int iVar3; undefined1 local_6; undefined1 local_5; if (DAT_00508568 == 0) { for (iVar3 = 0; iVar3 < (int)param_3 >> 2; iVar3 = iVar3 + 1) { uVar1 = *(undefined1 *)((int)param_2 + 2); uVar2 = *(undefined2 *)param_2; *(undefined1 *)param_1 = *(undefined1 *)((int)param_2 + 3); *(undefined1 *)((int)param_1 + 1) = uVar1; local_5 = (undefined1)((ushort)uVar2 >> 8); *(undefined1 *)((int)param_1 + 2) = local_5; local_6 = (undefined1)uVar2; *(undefined1 *)((int)param_1 + 3) = local_6; param_1 = param_1 + 1; param_2 = param_2 + 1; } } else { FUN_004d4918(param_1,param_2,param_3); param_1 = (undefined4 *)(param_3 + (int)param_1); } return param_1; } /* @004908f8 file=? name=FUN_004908f8 */ int __cdecl FUN_004908f8(undefined4 *param_1,char *param_2) { int iVar1; iVar1 = FUN_004d4a78(param_2); FUN_004d4918(param_1,(undefined4 *)param_2,iVar1 + 1U); return iVar1 + 1U + (int)param_1; } /* @00490924 file=? name=FUN_00490924 */ undefined1 * __cdecl FUN_00490924(undefined1 *param_1,undefined1 *param_2) { *param_2 = *param_1; return param_1 + 1; } /* @00490934 file=? name=FUN_00490934 */ int __cdecl FUN_00490934(int param_1) { return param_1 + 1; } /* @00490944 file=? name=FUN_00490944 */ undefined1 * __cdecl FUN_00490944(undefined1 *param_1,undefined1 *param_2) { if (DAT_00508568 != 0) { *param_2 = *param_1; param_2[1] = param_1[1]; return param_1 + 2; } *param_2 = param_1[1]; param_2[1] = *param_1; return param_1 + 2; } /* @00490974 file=? name=FUN_00490974 */ undefined1 * __cdecl FUN_00490974(undefined1 *param_1,undefined1 *param_2) { if (DAT_00508568 != 0) { *param_2 = *param_1; param_2[1] = param_1[1]; param_2[2] = param_1[2]; param_2[3] = param_1[3]; return param_1 + 4; } param_2[3] = *param_1; param_2[2] = param_1[1]; param_2[1] = param_1[2]; *param_2 = param_1[3]; return param_1 + 4; } /* @004909bc file=? name=FUN_004909bc */ undefined1 * __cdecl FUN_004909bc(undefined1 *param_1,undefined1 *param_2) { if (DAT_00508568 != 0) { *param_2 = *param_1; param_2[1] = param_1[1]; param_2[2] = param_1[2]; param_2[3] = param_1[3]; return param_1 + 4; } param_2[3] = *param_1; param_2[2] = param_1[1]; param_2[1] = param_1[2]; *param_2 = param_1[3]; return param_1 + 4; } /* @00490a04 file=? name=FUN_00490a04 */ int __cdecl FUN_00490a04(undefined4 *param_1,undefined4 *param_2,uint param_3) { FUN_004d4918(param_2,param_1,param_3); return param_3 + (int)param_1; } /* @00490a24 file=? name=FUN_00490a24 */ undefined4 * __cdecl FUN_00490a24(undefined4 *param_1,undefined4 *param_2,uint param_3) { undefined1 uVar1; undefined2 uVar2; int iVar3; undefined1 local_6; undefined1 local_5; if (DAT_00508568 == 0) { for (iVar3 = 0; iVar3 < (int)param_3 >> 2; iVar3 = iVar3 + 1) { uVar1 = *(undefined1 *)((int)param_1 + 2); uVar2 = *(undefined2 *)param_1; *(undefined1 *)param_2 = *(undefined1 *)((int)param_1 + 3); *(undefined1 *)((int)param_2 + 1) = uVar1; local_5 = (undefined1)((ushort)uVar2 >> 8); *(undefined1 *)((int)param_2 + 2) = local_5; local_6 = (undefined1)uVar2; *(undefined1 *)((int)param_2 + 3) = local_6; param_1 = param_1 + 1; param_2 = param_2 + 1; } } else { FUN_004d4918(param_2,param_1,param_3); param_1 = (undefined4 *)(param_3 + (int)param_1); } return param_1; }