core2/code_82000.c done
This commit is contained in:
@@ -495,7 +495,7 @@ Struct80s *func_803358B4(void);
|
|||||||
void func_80335924(Struct80s *, enum asset_e anim_id, f32, f32);
|
void func_80335924(Struct80s *, enum asset_e anim_id, f32, f32);
|
||||||
void func_80335A74(Struct80s *self, f32 arg1);
|
void func_80335A74(Struct80s *self, f32 arg1);
|
||||||
void func_80335A94(Struct80s *, f32, s32);
|
void func_80335A94(Struct80s *, f32, s32);
|
||||||
int func_803391A4(Gfx**, Mtx**, f32 [3], f32[3], f32, f32*, BKModelBin*);
|
void func_803391A4(Gfx**, Mtx**, f32 [3], f32[3], f32, f32*, BKModelBin*);
|
||||||
void func_8033A280(f32);
|
void func_8033A280(f32);
|
||||||
|
|
||||||
void func_80346C10(enum bs_e *retVal, enum bs_e fail_state, enum bs_e success_state, enum item_e item_id, int use_item);
|
void func_80346C10(enum bs_e *retVal, enum bs_e fail_state, enum bs_e success_state, enum item_e item_id, int use_item);
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
<text x="22.0" y="14">core2</text>
|
<text x="22.0" y="14">core2</text>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">89.1369%</text>
|
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">89.1600%</text>
|
||||||
<text x="77.5" y="14">89.1369%</text>
|
<text x="77.5" y="14">89.1600%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -611,14 +611,14 @@ BKCollisionTri * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f
|
|||||||
for(cube_indx[0] = min[0]; cube_indx[0] <= max[0]; cube_indx[0]++){
|
for(cube_indx[0] = min[0]; cube_indx[0] <= max[0]; cube_indx[0]++){
|
||||||
for(cube_indx[1] = min[1]; cube_indx[1] <= max[1]; cube_indx[1]++){
|
for(cube_indx[1] = min[1]; cube_indx[1] <= max[1]; cube_indx[1]++){
|
||||||
for(cube_indx[2] = min[2]; cube_indx[2] <= max[2]; cube_indx[2]++){
|
for(cube_indx[2] = min[2]; cube_indx[2] <= max[2]; cube_indx[2]++){
|
||||||
temp_v0 = func_80331638(cube_atIndices(cube_indx), volume_p1, volume_p2, radius, arg3, arg4, arg5);
|
temp_v0 = func_80331638(cube_atIndices(cube_indx), volume_p1, volume_p2, radius, arg3, arg4, flags);
|
||||||
if (temp_v0 != NULL) {
|
if (temp_v0 != NULL) {
|
||||||
var_s5 = temp_v0;
|
var_s5 = temp_v0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
temp_v0 = func_80331638(func_8030364C(), volume_p1, volume_p2, radius, arg3, arg4, arg5);
|
temp_v0 = func_80331638(func_8030364C(), volume_p1, volume_p2, radius, arg3, arg4, flags);
|
||||||
if (temp_v0 != NULL) {
|
if (temp_v0 != NULL) {
|
||||||
var_s5 = temp_v0;
|
var_s5 = temp_v0;
|
||||||
}
|
}
|
||||||
@@ -1200,7 +1200,20 @@ void spawnableActorList_addIfMapVisited(ActorInfo *arg0, Actor *(*arg1)(s32[3],
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80305510.s")
|
NodeProp *func_80305510(s32 arg0) {
|
||||||
|
NodeProp *var_v0;
|
||||||
|
s32 sp20;
|
||||||
|
u32 var_v1;
|
||||||
|
|
||||||
|
var_v0 = func_803080C8(arg0);
|
||||||
|
sp20 = 1;
|
||||||
|
while ((var_v0 != NULL) && ((sp20 == 1) || (var_v0->unk6.bit0 == 1)) && (var_v0->unk10_19 != 0)) {
|
||||||
|
var_v1 = var_v0->unk10_19;
|
||||||
|
var_v0 = func_803080C8(var_v1);
|
||||||
|
sp20 = 0;
|
||||||
|
}
|
||||||
|
return ((sp20 == 1) || (var_v0 == NULL) || (var_v0->unk6.bit0 == 1)) ? NULL : var_v0;
|
||||||
|
}
|
||||||
|
|
||||||
Actor * func_803055E0(enum actor_e arg0, s32 arg1[3], s32 arg2, s32 arg3, s32 arg4){
|
Actor * func_803055E0(enum actor_e arg0, s32 arg1[3], s32 arg2, s32 arg3, s32 arg4){
|
||||||
Actor *actor = func_803056FC(arg0, arg1, arg2);
|
Actor *actor = func_803056FC(arg0, arg1, arg2);
|
||||||
@@ -1235,9 +1248,7 @@ Actor * func_803055E0(enum actor_e arg0, s32 arg1[3], s32 arg2, s32 arg3, s32 ar
|
|||||||
Actor *func_803056FC(enum actor_e arg0, s32 arg1[3], s32 arg2) {
|
Actor *func_803056FC(enum actor_e arg0, s32 arg1[3], s32 arg2) {
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
if (func_80320248() == 0) {
|
arg0 = !func_80320248() ? ACTOR_4_BIGBUTT : arg0;
|
||||||
arg0 = ACTOR_4_BIGBUTT;
|
|
||||||
}
|
|
||||||
for(i=0; i < sSpawnableActorSize; i++){
|
for(i=0; i < sSpawnableActorSize; i++){
|
||||||
if(arg0 == sSpawnableActorList[i].infoPtr->actorId)
|
if(arg0 == sSpawnableActorList[i].infoPtr->actorId)
|
||||||
return sSpawnableActorList[i].spawnFunc(arg1, arg2, sSpawnableActorList[i].infoPtr, sSpawnableActorList[i].unk8);
|
return sSpawnableActorList[i].spawnFunc(arg1, arg2, sSpawnableActorList[i].infoPtr, sSpawnableActorList[i].unk8);
|
||||||
@@ -1372,38 +1383,39 @@ void func_80305D38(void){
|
|||||||
D_8036A9D0 = 0;
|
D_8036A9D0 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef NONMATCHING
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80305D94.s")
|
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80305D94.s")
|
||||||
// void func_80305D94(void){
|
#else
|
||||||
// Struct_core2_7AF80_1 * i;
|
void func_80305D94(void){
|
||||||
// u32 j;
|
s32 j;
|
||||||
// s32 k;
|
if(D_8036A9BC != NULL){
|
||||||
// if(D_8036A9BC != NULL){
|
for(j = 0; j < D_8036A9B8; j++){
|
||||||
// for(j = 0; j < D_8036A9B8; j++){
|
free(D_8036A9BC[j].unk8);
|
||||||
// free((D_8036A9BC + j)->unk8);
|
}
|
||||||
// }
|
free(D_8036A9BC);
|
||||||
// free(D_8036A9BC);
|
D_8036A9BC = NULL;
|
||||||
// D_8036A9BC = NULL;
|
D_8036A9B8 = 0;
|
||||||
// D_8036A9B8 = 0;
|
}
|
||||||
// }
|
|
||||||
|
|
||||||
// if(D_8036A9C8 != NULL){
|
if(D_8036A9C8 != NULL){
|
||||||
// for(j = 0; j < D_8036A9C4; j++){
|
for(j = 0; j < D_8036A9C4; j++){
|
||||||
// free((D_8036A9C8 + j)->unk8);
|
free(D_8036A9C8[j].unk8);
|
||||||
// }
|
}
|
||||||
// free(D_8036A9C8);
|
free(D_8036A9C8);
|
||||||
// D_8036A9C8 = NULL;
|
D_8036A9C8 = NULL;
|
||||||
// D_8036A9C4 = 0;
|
D_8036A9C4 = 0;
|
||||||
// }
|
}
|
||||||
|
|
||||||
// if(D_8036A9D4 != NULL){
|
if(D_8036A9D4 != NULL){
|
||||||
// for(j = 0; j < D_8036A9D0; j++){
|
for(j = 0; j < D_8036A9D0; j++){
|
||||||
// free((D_8036A9D4 + j)->unk8);
|
free(D_8036A9D4[j].unk8);
|
||||||
// }
|
}
|
||||||
// free(D_8036A9D4);
|
free(D_8036A9D4);
|
||||||
// D_8036A9D0 = 0;
|
D_8036A9D0 = 0;
|
||||||
// D_8036A9D4 = NULL;
|
D_8036A9D4 = NULL;
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void func_80305F04(s32 *arg0, Struct_core2_7AF80_1 **arg1) {
|
void func_80305F04(s32 *arg0, Struct_core2_7AF80_1 **arg1) {
|
||||||
bool continue_loop;
|
bool continue_loop;
|
||||||
|
@@ -6,6 +6,12 @@ extern UNK_TYPE(s32) func_802E8E88(BKCollisionList *, BKVertexList *, f32[3], f3
|
|||||||
extern UNK_TYPE(s32) func_802E92AC(BKCollisionList *, BKVertexList *, f32[3], f32, f32[3], s32);
|
extern UNK_TYPE(s32) func_802E92AC(BKCollisionList *, BKVertexList *, f32[3], f32, f32[3], s32);
|
||||||
extern UNK_TYPE(s32) func_802EC394(BKMeshList *, UNK_TYPE(s32), UNK_TYPE(s32), f32, UNK_TYPE(s32), UNK_TYPE(s32), UNK_TYPE(s32));
|
extern UNK_TYPE(s32) func_802EC394(BKMeshList *, UNK_TYPE(s32), UNK_TYPE(s32), f32, UNK_TYPE(s32), UNK_TYPE(s32), UNK_TYPE(s32));
|
||||||
extern void func_802EC458(BKVertexList *, s32[3], s32[3]);
|
extern void func_802EC458(BKVertexList *, s32[3], s32[3]);
|
||||||
|
extern void func_8033A494(s32);
|
||||||
|
extern void set_model_render_mode(s32);
|
||||||
|
extern void func_8033A388(s32, s32, s32, s32);
|
||||||
|
extern void func_802F7BC0(Gfx **, Mtx **, Vtx **);
|
||||||
|
extern void func_8033A450(s32);
|
||||||
|
extern void func_8033A45C(s32, s32);
|
||||||
|
|
||||||
|
|
||||||
BKCollisionTri *func_80309B48(f32 arg0[3], f32 arg1[3], f32 arg2[3], s32 arg3) ;
|
BKCollisionTri *func_80309B48(f32 arg0[3], f32 arg1[3], f32 arg2[3], s32 arg3) ;
|
||||||
@@ -174,6 +180,8 @@ struct {
|
|||||||
f32 unk30;
|
f32 unk30;
|
||||||
}D_80382350;
|
}D_80382350;
|
||||||
|
|
||||||
|
enum asset_e func_8030A068(void);
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
Struct_core2_82000_0 *func_80308F90(enum map_e map_id){
|
Struct_core2_82000_0 *func_80308F90(enum map_e map_id){
|
||||||
Struct_core2_82000_0 *i_ptr;
|
Struct_core2_82000_0 *i_ptr;
|
||||||
@@ -230,23 +238,121 @@ f32 func_80308FDC(f32 arg0[3], u32 arg1) {
|
|||||||
return 0.0f;
|
return 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_82000/func_803091D4.s")
|
void func_803091D4(Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
||||||
// void func_803091D4(Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
s32 temp_a0;
|
||||||
// if( func_80320708()
|
|
||||||
// && levelSpecificFlags_validateCRC2()
|
|
||||||
// && func_80320248()
|
|
||||||
// ){
|
|
||||||
// if(func_8030A068() == 0x14cf){
|
|
||||||
// func_8033A45C(1, 0);
|
|
||||||
// func_8033A45C(2, 1);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// switch(map_get())
|
if (func_80320708() && levelSpecificFlags_validateCRC2() && func_80320248()) {
|
||||||
// {
|
if (func_8030A068() == 0x14CF) {
|
||||||
|
func_8033A45C(1, 0);
|
||||||
|
func_8033A45C(2, 1);
|
||||||
|
}
|
||||||
|
// temp_v0 = map_get();
|
||||||
|
switch (map_get()) { /* irregular */
|
||||||
|
case MAP_88_CS_SPIRAL_MOUNTAIN_6:
|
||||||
|
if (mapSpecificFlags_get(0) != 0) {
|
||||||
|
func_8033A45C(1, 1);
|
||||||
|
func_8033A45C(2, 0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
// }
|
case MAP_12_GV_GOBIS_VALLEY:
|
||||||
// }
|
func_8033A45C(1, levelSpecificFlags_get(6) ? 1 : 0);
|
||||||
// }
|
func_8033A45C(2, jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID) ? 0 : 1);
|
||||||
|
func_8033A45C(5, jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID) ? 1 : 0);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MAP_14_GV_SANDYBUTTS_MAZE:
|
||||||
|
func_8033A45C(5, (func_8028ECAC() == 4) ? 1 : 0);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MAP_E_MM_MUMBOS_SKULL:
|
||||||
|
func_8033A45C(1, 1);
|
||||||
|
func_8033A45C(5, 1);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MAP_47_BGS_MUMBOS_SKULL:
|
||||||
|
func_8033A45C(1, 2);
|
||||||
|
func_8033A45C(5, 2);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MAP_48_FP_MUMBOS_SKULL:
|
||||||
|
func_8033A45C(1, 3);
|
||||||
|
func_8033A45C(5, 3);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MAP_30_MMM_MUMBOS_SKULL:
|
||||||
|
func_8033A45C(1, 4);
|
||||||
|
func_8033A45C(5, 4);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MAP_4A_CCW_SPRING_MUMBOS_SKULL:
|
||||||
|
func_8033A45C(1, 5);
|
||||||
|
func_8033A45C(5, 5);
|
||||||
|
break;
|
||||||
|
case MAP_4B_CCW_SUMMER_MUMBOS_SKULL:
|
||||||
|
func_8033A45C(1, 6);
|
||||||
|
func_8033A45C(5, 6);
|
||||||
|
break;
|
||||||
|
case MAP_4C_CCW_AUTUMN_MUMBOS_SKULL:
|
||||||
|
func_8033A45C(1, 7);
|
||||||
|
func_8033A45C(5, 7);
|
||||||
|
break;
|
||||||
|
case MAP_4D_CCW_WINTER_MUMBOS_SKULL:
|
||||||
|
func_8033A45C(1, 8);
|
||||||
|
func_8033A45C(5, 8);
|
||||||
|
break;
|
||||||
|
case MAP_5E_CCW_SPRING_NABNUTS_HOUSE:
|
||||||
|
case MAP_5F_CCW_SUMMER_NABNUTS_HOUSE:
|
||||||
|
case MAP_60_CCW_AUTUMN_NABNUTS_HOUSE:
|
||||||
|
func_8033A45C(1, 1);
|
||||||
|
func_8033A45C(2, 0);
|
||||||
|
break;
|
||||||
|
case MAP_61_CCW_WINTER_NABNUTS_HOUSE:
|
||||||
|
func_8033A45C(1, 0);
|
||||||
|
func_8033A45C(2, 1);
|
||||||
|
break;
|
||||||
|
case MAP_1D_MMM_CELLAR:
|
||||||
|
func_8033A45C(1, func_80326EEC(0x191) ? 0 : 1);
|
||||||
|
break;
|
||||||
|
case MAP_7C_CS_INTRO_BANJOS_HOUSE_1:
|
||||||
|
case MAP_89_CS_INTRO_BANJOS_HOUSE_2:
|
||||||
|
case MAP_8A_CS_INTRO_BANJOS_HOUSE_3:
|
||||||
|
case MAP_8C_SM_BANJOS_HOUSE:
|
||||||
|
case MAP_91_FILE_SELECT:
|
||||||
|
func_8033A45C(5, 1);
|
||||||
|
break;
|
||||||
|
case MAP_7B_CS_INTRO_GL_DINGPOT_1:
|
||||||
|
case MAP_81_CS_INTRO_GL_DINGPOT_2:
|
||||||
|
func_8033A45C(4, 0);
|
||||||
|
func_8033A45C(5, 0);
|
||||||
|
func_8033A45C(6, 0);
|
||||||
|
break;
|
||||||
|
case MAP_82_CS_ENTERING_GL_MACHINE_ROOM:
|
||||||
|
case MAP_83_CS_GAME_OVER_MACHINE_ROOM:
|
||||||
|
case MAP_84_CS_UNUSED_MACHINE_ROOM:
|
||||||
|
func_8033A45C(4, 1);
|
||||||
|
func_8033A45C(5, 1);
|
||||||
|
func_8033A45C(6, 1);
|
||||||
|
break;
|
||||||
|
case MAP_93_GL_DINGPOT:
|
||||||
|
func_8033A45C(4, 1);
|
||||||
|
func_8033A45C(5, 1);
|
||||||
|
func_8033A45C(6, (func_8038EAE0(0xA) || func_8031FF1C(0xE2) || func_803203FC(0xC1)));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
func_8033A450(D_80382350.unk24);
|
||||||
|
set_model_render_mode(1);
|
||||||
|
temp_a0 = D_80382350.unk0;
|
||||||
|
if (temp_a0 != 0) {
|
||||||
|
func_8033A494(temp_a0);
|
||||||
|
}
|
||||||
|
func_8033A388(D_80382350.unk2C, D_80382350.unk2D, D_80382350.unk2E, 0xFF);
|
||||||
|
func_803391A4(gfx, mtx, NULL, NULL, D_80382350.unk28->unk14, NULL, D_80382350.unk18);
|
||||||
|
if (!func_80309F78()) {
|
||||||
|
func_802F7BC0(gfx, mtx, vtx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void func_80309628(Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
void func_80309628(Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
||||||
s32 temp_a0;
|
s32 temp_a0;
|
||||||
@@ -256,8 +362,9 @@ void func_80309628(Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
|||||||
func_8033A45C(1, (func_80326EEC(0x191) != NULL) ? 0 : 1);
|
func_8033A45C(1, (func_80326EEC(0x191) != NULL) ? 0 : 1);
|
||||||
}
|
}
|
||||||
set_model_render_mode(2);
|
set_model_render_mode(2);
|
||||||
if (D_80382350.unk4 != 0) {
|
temp_a0 = D_80382350.unk4;
|
||||||
func_8033A494(D_80382350.unk4);
|
if (temp_a0 != 0) {
|
||||||
|
func_8033A494(temp_a0);
|
||||||
}
|
}
|
||||||
func_8033A388(D_80382350.unk2C, D_80382350.unk2D, D_80382350.unk2E, 0xFF);
|
func_8033A388(D_80382350.unk2C, D_80382350.unk2D, D_80382350.unk2E, 0xFF);
|
||||||
func_803391A4(gfx, mtx, NULL, NULL, D_80382350.unk28->unk14, NULL, D_80382350.unk1C);
|
func_803391A4(gfx, mtx, NULL, NULL, D_80382350.unk28->unk14, NULL, D_80382350.unk1C);
|
||||||
|
@@ -286,7 +286,7 @@ segments:
|
|||||||
- [0x79C80, c, code_79C80] #DONE
|
- [0x79C80, c, code_79C80] #DONE
|
||||||
- [0x7A760, c, code_7A760] #DONE
|
- [0x7A760, c, code_7A760] #DONE
|
||||||
- [0x7AF80, c, code_7AF80]
|
- [0x7AF80, c, code_7AF80]
|
||||||
- [0x82000, c, code_82000]
|
- [0x82000, c, code_82000] #DONE
|
||||||
- [0x83340, c, code_83340]
|
- [0x83340, c, code_83340]
|
||||||
- [0x83D70, c, gc/section] #DONE
|
- [0x83D70, c, gc/section] #DONE
|
||||||
- [0x840D0, c, gc/sky] #DONE
|
- [0x840D0, c, gc/sky] #DONE
|
||||||
|
Reference in New Issue
Block a user