mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
match audioline_reset and func_80009D6C in audio_spatial.c (#536)
* wip * match audioline_reset * match func_80009D6C * move ABS to macros.h
This commit is contained in:
@@ -7,7 +7,7 @@ All versions are supported, and the US 1.0 version (SHA1 = 0cb115d8716dbbc2922fd
|
||||
<!-- README_SCORE_SUMMARY_BEGIN -->
|
||||
As of April 28, 2025, this is our current score:
|
||||
|
||||
    Decomp progress: 81.07%
|
||||
    Decomp progress: 81.27%
|
||||
|
||||
    Documentation progress: 53.79%
|
||||
<!-- README_SCORE_SUMMARY_END -->
|
||||
@@ -121,11 +121,11 @@ As of April 28, 2025, this is our current score:
|
||||
```
|
||||
========================================================
|
||||
ADVENTURE ONE (ASM -> C Decompilation)
|
||||
-------- 81.07% Complete (83.88% NON_MATCHING) ---------
|
||||
# Decompiled functions: 1863
|
||||
# GLOBAL_ASM remaining: 88
|
||||
-------- 81.27% Complete (84.08% NON_MATCHING) ---------
|
||||
# Decompiled functions: 1865
|
||||
# GLOBAL_ASM remaining: 86
|
||||
# NON_MATCHING functions: 13
|
||||
# NON_EQUIVALENT WIP functions: 28
|
||||
# NON_EQUIVALENT WIP functions: 27
|
||||
--------------------- Game Status ----------------------
|
||||
Balloons: 39/47, Keys: 4/4, Trophies: 3/5
|
||||
T.T. Amulets: 4/4, Wizpig Amulets: 3/4
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
#else
|
||||
#define inline
|
||||
#define ABSF(x) (x < 0.f ? -x : x)
|
||||
#define ABS(x) ((x) >= 0 ? (x) : -(x))
|
||||
#endif
|
||||
|
||||
// convert a virtual address to physical.
|
||||
|
||||
+127
-116
@@ -62,7 +62,7 @@ void audioline_init(void) {
|
||||
for (i = 0; i < SOUND_MASK_HEAP_COUNT; i++) {
|
||||
gSoundMaskHeap[i].soundPtr = NULL;
|
||||
}
|
||||
func_80008174();
|
||||
audioline_reset();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -82,20 +82,12 @@ void audioline_on(void) {
|
||||
gAudioLinesOff = FALSE;
|
||||
}
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
s16 D_8011AC20[128];
|
||||
// audioline_reset
|
||||
void func_80008174(void) {
|
||||
void audioline_reset(void) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
ALSoundState *sound;
|
||||
SoundMask *heap;
|
||||
// unk8011A6D8 *var_a1;
|
||||
// unk8011A6D8 *var_a2;
|
||||
// unk8011A6E0 *var_a3;
|
||||
// unk80119C58 *var_s1;
|
||||
// u32 target;
|
||||
// f32 *var_v0;
|
||||
f32 *ptr;
|
||||
|
||||
heap = gSoundMaskHeap;
|
||||
gFreeMasks = 0;
|
||||
@@ -116,96 +108,41 @@ void func_80008174(void) {
|
||||
}
|
||||
gUsedMasks = 0;
|
||||
|
||||
// var_s1 = D_80119C58;
|
||||
// do {
|
||||
// var_s1->soundID = 0;
|
||||
// sound = var_s1->soundPtr;
|
||||
// if (sound != 0) {
|
||||
// if (var_s1->unk0.unk0_02 == 0) {
|
||||
// sound_stop(sound);
|
||||
// } else if (var_s1->unk0.unk0_02 == 1) {
|
||||
// music_jingle_stop();
|
||||
// }
|
||||
// var_s1->soundPtr = NULL;
|
||||
// var_s1->unk17C = -1;
|
||||
// }
|
||||
// var_s1->unk4.unk4_floats[0] = -100000.0f;;
|
||||
// var_s1->unk4.unk4_floats[1] = -100000.0f;
|
||||
// var_v0 = var_s1->unk4.unk4_floats;
|
||||
// var_v0[4] = -100000.0f;
|
||||
// var_v0[3] = -100000.0f;
|
||||
// var_v0[2] = -100000.0f;
|
||||
// var_v0[1] = -100000.0f;
|
||||
for (i = 0; i < 7; i++) {
|
||||
D_80119C58[i].soundID = 0;
|
||||
if (D_80119C58[i].soundPtr != 0) {
|
||||
if (D_80119C58[i].unk0_02 == 0) {
|
||||
sound_stop(D_80119C58[i].soundPtr);
|
||||
} else if (D_80119C58[i].unk0_02 == 1) {
|
||||
music_jingle_stop();
|
||||
}
|
||||
D_80119C58[i].soundPtr = NULL;
|
||||
}
|
||||
D_80119C58[i].unk17C = -1;
|
||||
|
||||
// var_v0 = &var_s1->unk4.unk4_floats[5];
|
||||
// for (j = 2; j != 30; j++, j+= 3) {// this should be j+=4 but has to be split up to match?
|
||||
// // 2, 6, 10, 14, 18, 22, 26
|
||||
// var_v0[3] = -100000.0f;;
|
||||
// var_v0[4] = -100000.0f;
|
||||
// var_v0[5] = -100000.0f;
|
||||
// var_v0[6] = -100000.0f;
|
||||
// var_v0[7] = -100000.0f;
|
||||
// var_v0[8] = -100000.0f;
|
||||
// var_v0[9] = -100000.0f;
|
||||
// var_v0[10] = -100000.0f;
|
||||
// var_v0[11] = -100000.0f;
|
||||
// var_v0+= 12;
|
||||
// var_v0[-12] = -100000.0f;
|
||||
// var_v0[-11] = -100000.0f;
|
||||
// var_v0[-10] = -100000.0f;
|
||||
// };
|
||||
// var_s1++;
|
||||
// i++;
|
||||
// } while (i != ARRAY_COUNT(D_80119C58));
|
||||
ptr = D_80119C58[i].unk4_floats;
|
||||
for (j = 0; j < 30; j++) {
|
||||
*ptr++ = -100000.0f;
|
||||
*ptr++ = -100000.0f;
|
||||
*ptr++ = -100000.0f;
|
||||
}
|
||||
}
|
||||
|
||||
// target = D_8011AC20;
|
||||
// var_a3 = D_8011A6E0;
|
||||
// var_a2 = &D_8011A6DC;
|
||||
// var_a1 = D_8011A6D8;
|
||||
// do {
|
||||
// var_a1->unkB8 = -1;
|
||||
// var_a1->unk0.unk0_02 = 0;
|
||||
// var_a1->unkBC = 0.0f;
|
||||
// var_a1 = var_a2;
|
||||
// var_a1->unk0.unk0_01 = -100000.0f;
|
||||
for (i = 0; i < 7; i++) {
|
||||
D_8011A6D8[i].unkB8 = -1;
|
||||
D_8011A6D8[i].unk0_02 = 0;
|
||||
D_8011A6D8[i].unkBC = 0.0f;
|
||||
|
||||
// var_a3->unk0 = -100000.0f;
|
||||
// var_a3->unk1C = -100000.0f;
|
||||
// var_a3->unk18 = -100000.0f;
|
||||
// var_a3->unk14 = -100000.0f;
|
||||
// var_a3->unk10 = -100000.0f;
|
||||
// var_a3->unkC = -100000.0f;;
|
||||
// var_a3->unk8 = -100000.0f;
|
||||
// var_a3->unk4 = -100000.0f;
|
||||
|
||||
// var_v0_2 = var_a3->unk20;
|
||||
// for (j = 3; j != 15; j++, j+= 3) {// this should be j+=4 but has to be split up to match?
|
||||
// // 3, 7, 11
|
||||
// var_v0_2->unkC = -100000.0f;;
|
||||
// var_v0_2->unk10 = -100000.0f;
|
||||
// var_v0_2->unk14 = -100000.0f;
|
||||
// var_v0_2->unk18 = -100000.0f;
|
||||
// var_v0_2->unk1C = -100000.0f;
|
||||
// var_v0_2->unk20 = -100000.0f;
|
||||
// var_v0_2->unk24 = -100000.0f;
|
||||
// var_v0_2->unk28 = -100000.0f;
|
||||
// var_v0_2->unk2C = -100000.0f;
|
||||
// var_v0_2++;
|
||||
// var_v0_2[-1].unk0 = -100000.0f;
|
||||
// var_v0_2[-1].unk4 = -100000.0f;
|
||||
// var_v0_2[-1].unk8 = -100000.0f;
|
||||
// };
|
||||
|
||||
// var_a3++;
|
||||
// var_a1++;
|
||||
// var_a2++;
|
||||
// } while((s32)var_a3 != target);
|
||||
ptr = D_8011A6D8[i].unk4_floats;
|
||||
for (j = 0; j < 15; j++) {
|
||||
*ptr++ = -100000.0f;
|
||||
*ptr++ = -100000.0f;
|
||||
*ptr++ = -100000.0f;
|
||||
}
|
||||
}
|
||||
|
||||
gAudioLinesOff = 0;
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/audio_spatial/func_80008174.s")
|
||||
#endif
|
||||
|
||||
// audioline_ambient
|
||||
// Official Name: amPlayAudioMap
|
||||
@@ -371,13 +308,13 @@ void audioline_ambient_create(u8 arg0, u16 soundId, f32 x, f32 y, f32 z, u8 arg5
|
||||
|
||||
if (lineID < 7 && argC < 30) {
|
||||
temp_v1 = &D_80119C58[lineID];
|
||||
temp_a0 = &temp_v1->unk4.unk4_floats[argC * 3];
|
||||
temp_a0 = &temp_v1->unk4_floats[argC * 3];
|
||||
temp_a0[0] = x;
|
||||
temp_a0[1] = y;
|
||||
temp_a0[2] = z;
|
||||
if (argC == 0) {
|
||||
temp_v1->soundID = soundId;
|
||||
temp_v1->unk0.unk0_02 = arg0;
|
||||
temp_v1->unk0_02 = arg0;
|
||||
temp_v1->unk170 = arg9;
|
||||
temp_v1->unk17D = argA;
|
||||
temp_v1->unk174 = arg6;
|
||||
@@ -393,13 +330,13 @@ void audioline_ambient_create(u8 arg0, u16 soundId, f32 x, f32 y, f32 z, u8 arg5
|
||||
|
||||
void audioline_reverb_create(f32 x, f32 y, f32 z, u8 arg3, u8 arg4, u8 arg5) {
|
||||
unk8011A6D8 *temp;
|
||||
if (arg4 < ARRAY_COUNT(D_8011A6D8) && arg5 < ARRAY_COUNT(D_8011A6D8[0].unk4.unk4_vec)) {
|
||||
if (arg4 < ARRAY_COUNT(D_8011A6D8) && arg5 < 15) {
|
||||
temp = &D_8011A6D8[arg4];
|
||||
temp->unk4.unk4_floats[3 * arg5 + 0] = x;
|
||||
temp->unk4.unk4_floats[3 * arg5 + 1] = y;
|
||||
temp->unk4.unk4_floats[3 * arg5 + 2] = z;
|
||||
temp->unk4_floats[3 * arg5 + 0] = x;
|
||||
temp->unk4_floats[3 * arg5 + 1] = y;
|
||||
temp->unk4_floats[3 * arg5 + 2] = z;
|
||||
if (arg5 == 0) {
|
||||
temp->unk0.unk0_02 = arg3;
|
||||
temp->unk0_02 = arg3;
|
||||
}
|
||||
if (temp->unkB8 < arg5) {
|
||||
temp->unkB8 = arg5;
|
||||
@@ -411,21 +348,22 @@ s32 func_800099EC(u8 arg0) {
|
||||
s32 ret;
|
||||
s32 i;
|
||||
unk80119C58 *temp_v0;
|
||||
Vec3f *var_a2;
|
||||
f32 *var_a2;
|
||||
|
||||
ret = 1;
|
||||
temp_v0 = &D_80119C58[arg0];
|
||||
var_a2 = temp_v0->unk4.unk4_vec;
|
||||
var_a2 = temp_v0->unk4_floats;
|
||||
|
||||
if (temp_v0->unk17C <= 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < temp_v0->unk17C; i++) {
|
||||
if (var_a2->x == -100000.0 || var_a2->x + 1 == -100000.0 || var_a2->x + 2 == -100000.0) {
|
||||
//@bug should be *(var_a2 + 0), *(var_a2 + 1), *(var_a2 + 2)
|
||||
if (*var_a2 + 0 == -100000.0 || *var_a2 + 1 == -100000.0 || *var_a2 + 2 == -100000.0) {
|
||||
ret = 0;
|
||||
}
|
||||
var_a2 += 1;
|
||||
var_a2 += 3;
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -435,21 +373,22 @@ s32 func_80009AB4(u8 arg0) {
|
||||
s32 ret;
|
||||
s32 i;
|
||||
unk8011A6D8 *temp_v0;
|
||||
Vec3f *var_a2;
|
||||
f32 *var_a2;
|
||||
|
||||
ret = 1;
|
||||
temp_v0 = &D_8011A6D8[arg0];
|
||||
var_a2 = temp_v0->unk4.unk4_vec;
|
||||
var_a2 = temp_v0->unk4_floats;
|
||||
|
||||
if (temp_v0->unkB8 <= 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < temp_v0->unkB8; i++) {
|
||||
if (var_a2->x == -100000.0 || var_a2->x + 1 == -100000.0 || var_a2->x + 2 == -100000.0) {
|
||||
//@bug should be *(var_a2 + 0), *(var_a2 + 1), *(var_a2 + 2)
|
||||
if (*var_a2 == -100000.0 || *var_a2 + 1 == -100000.0 || *var_a2 + 2 == -100000.0) {
|
||||
ret = 0;
|
||||
}
|
||||
var_a2 += 1;
|
||||
var_a2 += 3;
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -477,9 +416,9 @@ void audioline_reverb(s32 *soundState, f32 x, f32 y, f32 z) {
|
||||
maxDist = 400;
|
||||
for (i = 0; i < ARRAY_COUNT(D_8011A6D8); i++) {
|
||||
temp = &D_8011A6D8[i];
|
||||
if (temp->unk0.unk0_02 != 0) {
|
||||
if (temp->unk0_02 != 0) {
|
||||
if (func_80009AB4(i) != 0) {
|
||||
coords = temp->unk4.unk4_floats;
|
||||
coords = temp->unk4_floats;
|
||||
for (j = 0; j < temp->unkB8; j++) {
|
||||
distBetween = audioline_distance(x, y, z, coords, &outX, &outY, &outZ);
|
||||
if (distBetween < maxDist) {
|
||||
@@ -504,7 +443,79 @@ void audioline_reverb(s32 *soundState, f32 x, f32 y, f32 z) {
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/audio_spatial/func_80009D6C.s")
|
||||
u8 func_80009D6C(unk8011A6D8 *arg0, f32 arg1, f32 arg2, f32 arg3) {
|
||||
f32 deltaX;
|
||||
f32 deltaY;
|
||||
f32 deltaZ;
|
||||
f32 *coords;
|
||||
f32 x1, y1, z1;
|
||||
f32 x2, y2, z2;
|
||||
f32 dx, dy, dz;
|
||||
f32 f20;
|
||||
f32 sp5C;
|
||||
f32 length;
|
||||
u8 sp57;
|
||||
f32 f12;
|
||||
|
||||
if (arg0->unkBC == 0.0f) {
|
||||
coords = arg0->unk4_floats;
|
||||
for (f20 = 0.0f; f20 < arg0->unkB8; f20 += 1.0f) {
|
||||
deltaX = coords[3] - coords[0];
|
||||
deltaY = coords[4] - coords[1];
|
||||
deltaZ = coords[5] - coords[2];
|
||||
arg0->unkBC += sqrtf((deltaX * deltaX) + (deltaY * deltaY) + (deltaZ * deltaZ));
|
||||
coords += 3;
|
||||
}
|
||||
}
|
||||
|
||||
coords = arg0->unk4_floats;
|
||||
sp5C = 0.0f;
|
||||
sp57 = FALSE;
|
||||
|
||||
for (; !sp57; coords += 3) {
|
||||
x1 = coords[0];
|
||||
y1 = coords[1];
|
||||
z1 = coords[2];
|
||||
x2 = coords[3];
|
||||
y2 = coords[4];
|
||||
z2 = coords[5];
|
||||
dx = x2 - x1;
|
||||
dy = y2 - y1;
|
||||
dz = z2 - z1;
|
||||
length = sqrtf((dx * dx) + (dy * dy) + (dz * dz));
|
||||
|
||||
if (arg1 >= x1 && arg1 <= x2 || arg1 >= x2 && arg1 <= x1) {
|
||||
if (dx != 0.0f) {
|
||||
f12 = (arg1 - x1) / dx;
|
||||
} else if (dy != 0.0f) {
|
||||
f12 = (arg2 - y1) / dy;
|
||||
} else if (dz != 0.0f) {
|
||||
f12 = (arg3 - z1) / dz;
|
||||
} else {
|
||||
f12 = 0.0f;
|
||||
}
|
||||
|
||||
if (ABS(dy * f12 + y1 - arg2) < 2.0f && ABS(dz * f12 + z1 - arg3) < 2.0f) {
|
||||
sp57 = TRUE;
|
||||
sp5C += f12 * length;
|
||||
} else {
|
||||
sp5C += length;
|
||||
}
|
||||
} else {
|
||||
sp5C += length;
|
||||
}
|
||||
}
|
||||
|
||||
if (sp5C > arg0->unkBC / 2) {
|
||||
sp5C = arg0->unkBC - sp5C;
|
||||
}
|
||||
|
||||
if (sp5C < 300.0f) {
|
||||
return arg0->unk0_02 * sp5C / 300.0f;
|
||||
} else {
|
||||
return arg0->unk0_02;
|
||||
}
|
||||
}
|
||||
|
||||
void debug_render_audio_effects(Gfx **dList, Vertex **verts, Triangle **tris) {
|
||||
s32 i, j;
|
||||
@@ -514,7 +525,7 @@ void debug_render_audio_effects(Gfx **dList, Vertex **verts, Triangle **tris) {
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(D_80119C58); i++) {
|
||||
var_s2 = &D_80119C58[i];
|
||||
coords = var_s2->unk4.unk4_floats;
|
||||
coords = var_s2->unk4_floats;
|
||||
if (D_80119C58[i].soundID != 0) {
|
||||
for (j = 0; j < var_s2->unk17C; j++) {
|
||||
debug_render_line(dList, verts, tris, coords, 255, 255, 0);
|
||||
@@ -525,8 +536,8 @@ void debug_render_audio_effects(Gfx **dList, Vertex **verts, Triangle **tris) {
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(D_8011A6D8); i++) {
|
||||
var_s2_2 = &D_8011A6D8[i];
|
||||
coords = var_s2_2->unk4.unk4_floats;
|
||||
if (D_8011A6D8[i].unk0.unk0_02 != 0) {
|
||||
coords = var_s2_2->unk4_floats;
|
||||
if (D_8011A6D8[i].unk0_02 != 0) {
|
||||
for (j = 0; j < var_s2_2->unkB8; j++) {
|
||||
debug_render_line(dList, verts, tris, coords, 255, 0, 255);
|
||||
coords += 3;
|
||||
|
||||
+5
-18
@@ -25,15 +25,8 @@ typedef struct unk8011A6D8_04 {
|
||||
|
||||
/* Size: 0x180 / 384 bytes */
|
||||
typedef struct unk80119C58 {
|
||||
union {
|
||||
/* 0x00 */ f32 unk0_01;
|
||||
/* 0x00 */ u8 unk0_02;
|
||||
/* 0x00 */ s32 unk0_03;
|
||||
} unk0;
|
||||
union {
|
||||
/* 0x004 */ f32 unk4_floats[30 * 3]; // Should be a Vec3f, but that just doesn't match
|
||||
/* 0x004 */ Vec3f unk4_vec[30];
|
||||
} unk4;
|
||||
/* 0x000 */ u8 unk0_02;
|
||||
/* 0x004 */ f32 unk4_floats[30 * 3]; // Should be a Vec3f, but that just doesn't match
|
||||
/* 0x16C */ s32 soundID;
|
||||
/* 0x170 */ s32 unk170;
|
||||
/* 0x174 */ u8 unk174;
|
||||
@@ -48,14 +41,8 @@ typedef struct unk80119C58 {
|
||||
|
||||
/* Size: 0xC0 / 192 bytes - Thought it was a LevelHeader, but that didn't match other usages */
|
||||
typedef struct unk8011A6D8 {
|
||||
union {
|
||||
/* 0x00 */ f32 unk0_01;
|
||||
/* 0x00 */ u8 unk0_02;
|
||||
} unk0;
|
||||
union {
|
||||
f32 unk4_floats[15 * 3];
|
||||
Vec3f unk4_vec[15];
|
||||
} unk4;
|
||||
/* 0x00 */ u8 unk0_02;
|
||||
/* 0x04 */ f32 unk4_floats[15 * 3];
|
||||
/* 0xB8 */ s8 unkB8;
|
||||
/* 0xB9 */ u8 padB9[0x03];
|
||||
/* 0xBC */ f32 unkBC;
|
||||
@@ -91,7 +78,7 @@ void audioline_reverb_create(f32, f32, f32, u8, u8, u8);
|
||||
void audioline_reverb(s32 *soundState, f32 x, f32 y, f32 z);
|
||||
|
||||
s32 audioline_distance(f32 inX, f32 inY, f32 inZ, f32 coords[6], f32 *outX, f32 *outY, f32 *outZ);
|
||||
void func_80008174(void); // Non Matching
|
||||
void audioline_reset(void);
|
||||
void func_80008438(Object **arg0, s32 numRacers, s32 updateRate); // Non Matching
|
||||
void func_80006FC8(Object **objs, s32 numRacers, ObjectSegment *segment, u8 arg3, s32 updateRate); // Non Matching
|
||||
u8 func_80009D6C(unk8011A6D8 *, f32, f32, f32);
|
||||
|
||||
+1
-1
@@ -704,7 +704,7 @@ void clear_audio_and_track(void) {
|
||||
music_channel_reset_all();
|
||||
free_lights();
|
||||
free_track();
|
||||
func_80008174();
|
||||
audioline_reset();
|
||||
sound_volume_change(VOLUME_NORMAL);
|
||||
if (gCurrentLevelHeader->weatherEnable > 0) {
|
||||
weather_free();
|
||||
|
||||
@@ -136,7 +136,7 @@ func_80007FA4 = 0x80007FA4;
|
||||
audioline_init = 0x80008040;
|
||||
audioline_off = 0x80008140;
|
||||
audioline_on = 0x80008168;
|
||||
func_80008174 = 0x80008174;
|
||||
audioline_reset = 0x80008174;
|
||||
func_80008438 = 0x80008438;
|
||||
func_800090C0 = 0x800090C0;
|
||||
audioline_distance = 0x800092A8;
|
||||
|
||||
@@ -136,7 +136,7 @@ func_80007FA4 = 0x80007FA4;
|
||||
audioline_init = 0x80008040;
|
||||
audioline_off = 0x80008140;
|
||||
audioline_on = 0x80008168;
|
||||
func_80008174 = 0x80008174;
|
||||
audioline_reset = 0x80008174;
|
||||
func_80008438 = 0x80008438;
|
||||
func_800090C0 = 0x800090C0;
|
||||
audioline_distance = 0x800092A8;
|
||||
|
||||
@@ -136,7 +136,7 @@ func_80007FA4 = 0x80007FA4;
|
||||
audioline_init = 0x80008040;
|
||||
audioline_off = 0x80008140;
|
||||
audioline_on = 0x80008168;
|
||||
func_80008174 = 0x80008174;
|
||||
audioline_reset = 0x80008174;
|
||||
func_80008438 = 0x80008438;
|
||||
func_800090C0 = 0x800090C0;
|
||||
audioline_distance = 0x800092A8;
|
||||
|
||||
@@ -136,7 +136,7 @@ func_80007FA4 = 0x80007FA4;
|
||||
audioline_init = 0x80008040;
|
||||
audioline_off = 0x80008140;
|
||||
audioline_on = 0x80008168;
|
||||
func_80008174 = 0x80008174;
|
||||
audioline_reset = 0x80008174;
|
||||
func_80008438 = 0x80008438;
|
||||
func_800090C0 = 0x800090C0;
|
||||
audioline_distance = 0x800092A8;
|
||||
|
||||
@@ -136,7 +136,7 @@ func_80007FA4 = 0x80007FA4;
|
||||
audioline_init = 0x80008040;
|
||||
audioline_off = 0x80008140;
|
||||
audioline_on = 0x80008168;
|
||||
func_80008174 = 0x80008174;
|
||||
audioline_reset = 0x80008174;
|
||||
func_80008438 = 0x80008438;
|
||||
func_800090C0 = 0x800090C0;
|
||||
audioline_distance = 0x800092A8;
|
||||
|
||||
Reference in New Issue
Block a user