403 lines
9.2 KiB
C
403 lines
9.2 KiB
C
#include <ultra64.h>
|
|
#include "functions.h"
|
|
#include "variables.h"
|
|
|
|
/* .data */
|
|
extern u8 D_80370250 = 0;
|
|
|
|
/* .bss */
|
|
struct {
|
|
s32 unk0;
|
|
s32 map_4;
|
|
s32 unk8;
|
|
}D_803835D0;
|
|
s32 D_803835DC;
|
|
u32 D_803835E0;
|
|
|
|
/* public */
|
|
void func_80335110(s32);
|
|
void func_80335128(s32);
|
|
void func_8024CE60(f32, f32);
|
|
void func_80335140(enum map_e);
|
|
void func_8033520C(s32);
|
|
|
|
/* .code */
|
|
void func_80334540(Gfx** gdl, Mtx **mptr, Vtx **vptr) {
|
|
f32 sp44;
|
|
f32 sp40;
|
|
|
|
if (D_803835E0 == 0) {
|
|
func_80254084(gdl, 0, 0, framebuffer_width, framebuffer_height, 0, 0, 0);
|
|
func_802BBD2C(&sp44, &sp40);
|
|
func_8024CE60(sp44, sp40);
|
|
func_8024C904(gdl, mptr);
|
|
return;
|
|
}
|
|
if (func_80320708() == 0) {
|
|
write_file_blocks(0, 0, 0x80BC7230, EEPROM_MAXBLOCKS);
|
|
}
|
|
func_802C3BDC();
|
|
sky_draw(gdl, mptr, vptr);
|
|
func_802BBD2C(&sp44, &sp40);
|
|
func_8024CE60(sp44, sp40);
|
|
func_8024C904(gdl, mptr);
|
|
if (func_80309F78() != 0) {
|
|
mapModel_opa_draw(gdl, mptr, vptr);
|
|
if (func_802E49F0() == 0) {
|
|
func_80322E64(gdl, mptr, vptr);
|
|
}
|
|
if (func_802E49F0() == 0) {
|
|
func_8028E6A4(gdl, mptr, vptr);
|
|
}
|
|
if (func_802E49F0() == 0) {
|
|
func_80302C94(gdl, mptr, vptr);
|
|
}
|
|
if (func_802E49F0() == 0) {
|
|
func_80332F4C(gdl, mptr, vptr);
|
|
}
|
|
if (func_802E49F0() == 0) {
|
|
func_803500D8(gdl, mptr, vptr);
|
|
}
|
|
if (func_802E49F0() == 0) {
|
|
func_802F2ED0(func_8032994C(), gdl, mptr, vptr);
|
|
}
|
|
if (func_802E49F0() == 0) {
|
|
func_802F0A34(gdl, mptr, vptr);
|
|
}
|
|
if (func_802E49F0() == 0) {
|
|
mapModel_xlu_draw(gdl, mptr, vptr);
|
|
}
|
|
if (func_802E49F0() == 0) {
|
|
func_8032D3D8(gdl, mptr, vptr);
|
|
}
|
|
if (func_802E49F0() == 0) {
|
|
func_802F0AE8(gdl, mptr, vptr);
|
|
}
|
|
if (func_802E49F0() == 0) {
|
|
func_8034F6F0(gdl, mptr, vptr);
|
|
}
|
|
func_802D520C(gdl, mptr, vptr);
|
|
} else {
|
|
mapModel_opa_draw(gdl, mptr, vptr);
|
|
func_80322E64(gdl, mptr, vptr);
|
|
func_8034F6F0(gdl, mptr, vptr);
|
|
func_8028E6A4(gdl, mptr, vptr);
|
|
func_80302C94(gdl, mptr, vptr);
|
|
func_8032D3D8(gdl, mptr, vptr);
|
|
func_80332F4C(gdl, mptr, vptr);
|
|
func_803500D8(gdl, mptr, vptr);
|
|
func_802F2ED0(func_8032994C(), gdl, mptr, vptr);
|
|
func_802D520C(gdl, mptr, vptr);
|
|
func_802F0B98(gdl, mptr, vptr);
|
|
}
|
|
if (func_802E49F0() == 0) {
|
|
func_80350818(gdl, mptr, vptr);
|
|
}
|
|
if (func_802E49F0() == 0) {
|
|
func_802BBD0C(gdl, mptr, vptr);
|
|
}
|
|
func_802C3BE8();
|
|
}
|
|
|
|
void func_803348B0(s32 arg0, s32 arg1, s32 arg2){
|
|
}
|
|
|
|
enum map_e map_get(void){
|
|
return D_803835D0.map_4;
|
|
}
|
|
|
|
s32 exit_get(){
|
|
return D_803835D0.unk8;
|
|
}
|
|
|
|
void func_803348D8(s32 arg0) {
|
|
func_802E4078(D_803835D0.map_4, arg0, 1);
|
|
}
|
|
|
|
s32 func_80334904(){
|
|
return D_803835D0.unk0;
|
|
}
|
|
|
|
void func_80334E1C(s32);
|
|
|
|
void func_80334910(void) {
|
|
func_80255A14();
|
|
func_80334E1C(3);
|
|
func_8034F734();
|
|
func_803500E8();
|
|
func_80350BC8();
|
|
func_8030F1D0();
|
|
gcparade_free();//null
|
|
func_80322F7C();
|
|
func_803518E8();
|
|
func_802D48F0();
|
|
func_803224FC();
|
|
func_8028E644();
|
|
func_80322F5C();
|
|
func_80341A54();
|
|
func_802C398C();
|
|
func_802F53D0();
|
|
func_802FAC3C();
|
|
func_802C8F68();
|
|
func_8033E184();
|
|
func_8033FA24();
|
|
func_80344C80();
|
|
func_80287D70();
|
|
animcache_free();
|
|
func_802BC10C();
|
|
func_802B9D80();
|
|
func_802F1388();
|
|
func_802F10A4();
|
|
func_802F0804();
|
|
func_802F7CE0();
|
|
func_8031F9E0();
|
|
func_80323100();
|
|
cubeList_free();
|
|
func_8031B710();
|
|
mapModel_free();
|
|
func_8030A6B0();
|
|
func_80333918();
|
|
sky_free();
|
|
func_8034C8D8();
|
|
func_80323238();
|
|
func_803343AC();
|
|
func_803308A0();
|
|
func_8032AEB4();
|
|
func_8033297C();
|
|
func_803231E8();
|
|
func_80320B7C();
|
|
func_802BAF20();
|
|
func_80305BD4();
|
|
func_80332A38();
|
|
if (func_802E4A08() == 0) {
|
|
func_802FAF0C();
|
|
}
|
|
func_8031B664();
|
|
func_802986D0();
|
|
if (func_80322914() == 0) {
|
|
func_8024F7C4(func_803226E8(D_803835D0.map_4));
|
|
}
|
|
func_80244B3C();
|
|
func_80349C8C();
|
|
func_80322FDC();
|
|
func_8033BD6C();
|
|
func_80255198();//heap_flush_free_queue
|
|
func_802881AC();
|
|
}
|
|
|
|
void func_80334B20(enum map_e arg0, s32 arg1, s32 arg2) {
|
|
D_803835D0.unk0 = 3;
|
|
D_803835D0.map_4 = arg0;
|
|
D_803835D0.unk8 = arg1;
|
|
func_80322FE4();
|
|
func_80335110(1);
|
|
func_80335128(1);
|
|
func_802D2CB8();
|
|
func_80244AB0();
|
|
if (map_get() == MAP_8E_GL_FURNACE_FUN) {
|
|
func_8038E7C4();
|
|
}
|
|
if (func_80322914() == 0) {
|
|
func_8024F764(func_803226E8(D_803835D0.map_4));
|
|
}
|
|
func_80320B84();
|
|
func_80349CB0();
|
|
func_8034C97C();
|
|
func_8030A078();
|
|
func_8031B718();
|
|
func_80298700();
|
|
if (func_802E4A08() == 0) {
|
|
func_802FAE4C();
|
|
}
|
|
func_8031B644();
|
|
func_802C2B10();
|
|
func_803329AC();
|
|
func_80350BFC();
|
|
func_80323190();
|
|
func_80332894();
|
|
func_803305AC();
|
|
func_8031F9E8();
|
|
func_80323230();
|
|
commonParticleType_init();
|
|
animcache_init();
|
|
func_80287C58();
|
|
func_80344C50();
|
|
func_8033F9C0();
|
|
func_802B9D40();
|
|
func_802BC044();
|
|
func_802F07D8();
|
|
func_802F1104();
|
|
func_802F13E0();
|
|
func_802F7D30();
|
|
func_8030A78C();
|
|
func_8033393C();
|
|
sky_reset();
|
|
func_803343D0();
|
|
cubeList_init();
|
|
func_802FA69C();
|
|
func_8033DEA0();
|
|
if (arg2 == 0) {
|
|
func_80335140(arg0);
|
|
}
|
|
func_80305990(0);
|
|
func_8030C740();
|
|
gcdialog_init();
|
|
mapSpecificFlags_clearAll();
|
|
func_803411B0();
|
|
func_802C2B5C();
|
|
func_80322FBC();
|
|
func_8028E4B0();
|
|
func_80322F9C();
|
|
func_80323120();
|
|
func_803223AC();
|
|
func_802C8F40();
|
|
func_8034F774();
|
|
func_80350174();
|
|
gcparade_init();
|
|
func_80351998();
|
|
func_802BC2CC(D_803835D0.unk8);
|
|
func_802D63D4();
|
|
func_80255A04();
|
|
func_802D6948();
|
|
if (func_802E4A08() == 0) {
|
|
func_802F5188();
|
|
}
|
|
if (arg0 != 0x1F) {
|
|
func_8024F150();
|
|
}
|
|
}
|
|
|
|
void func_80334DC0(void) {
|
|
func_80334910();
|
|
func_80334B20(D_803835D0.map_4, D_803835D0.unk8, 1);
|
|
}
|
|
|
|
void func_80334DF8(void) {
|
|
func_8033520C(D_803835D0.map_4);
|
|
}
|
|
|
|
void func_80334E1C(s32 arg0) {
|
|
func_80254008();
|
|
func_802BC21C(D_803835D0.unk0, arg0);
|
|
func_8028F7F4(D_803835D0.unk0, arg0);
|
|
func_8030D8A8(D_803835D0.unk0, arg0);
|
|
func_803045CC(D_803835D0.unk0, arg0);
|
|
func_80323140(D_803835D0.unk0, arg0);
|
|
func_80351A1C(D_803835D0.unk0, arg0);
|
|
func_803225B0(D_803835D0.unk0, arg0);
|
|
func_80323098(D_803835D0.unk0, arg0);
|
|
func_802F0E80(D_803835D0.unk0, arg0);
|
|
func_8033EA78(D_803835D0.unk0, arg0);
|
|
D_803835D0.unk0 = arg0;
|
|
}
|
|
|
|
s32 func_80334ECC(void) {
|
|
s32 phi_v1;
|
|
s32 phi_v0;
|
|
|
|
func_80356734();
|
|
func_802D5628();
|
|
func_802FA724();
|
|
if (getGameMode() != 4) {
|
|
func_802F7E54();
|
|
}
|
|
if (D_803835DC == 0) {
|
|
return 1;
|
|
} else {
|
|
func_802BAF40();
|
|
func_8032AA9C();
|
|
func_80323170();
|
|
func_80351C48();
|
|
func_80330FF4();
|
|
func_8028E71C();
|
|
phi_v0 = func_8023DB5C();
|
|
if (D_80370250) {
|
|
phi_v1 = 0xF;
|
|
} else {
|
|
phi_v1 = 0x1F;
|
|
}
|
|
if (((phi_v1 & phi_v0) == 3) && (get_loaded_overlay_id() == OVERLAY_5_BEACH)) {
|
|
if ((ttc_func_8038BF8C() == 0) || (D_80370250 != 0)) {
|
|
D_80370250 = (u8)1;
|
|
for (phi_v0 = 0; phi_v0 != 0x8F0D180; phi_v0++){
|
|
}
|
|
}
|
|
}
|
|
func_8033E1E0();
|
|
func_802F11E8();
|
|
func_80288210();
|
|
func_80288834();
|
|
func_802BC14C();
|
|
func_803045D8();
|
|
func_80332E08();
|
|
func_803465E4();
|
|
func_8031B790();
|
|
func_8034C9D4();
|
|
func_8030A850(1);
|
|
sky_update();
|
|
func_802F08A0();
|
|
func_8034F918();
|
|
func_80350250();
|
|
if (mapSpecificFlags_validateCRC1() == 0) {
|
|
func_8028FCBC();
|
|
}
|
|
func_80349D60();
|
|
func_80350CA4();
|
|
func_8031B65C();
|
|
func_80310D2C();
|
|
gcparade_update();
|
|
overlay_update();
|
|
func_80321924();
|
|
func_80334428();
|
|
func_8031C880();
|
|
func_802D2CDC();
|
|
func_803306C8(1);
|
|
func_8032AD7C(1);
|
|
func_80322490();
|
|
if (map_getLevel(D_803835D0.map_4) == LEVEL_D_CUTSCENE) {
|
|
func_802C79C4();
|
|
}
|
|
func_8032AABC();
|
|
sns_stub();
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
void func_80335110(s32 arg0){
|
|
D_803835DC = arg0;
|
|
}
|
|
|
|
s32 func_8033511C(){
|
|
return D_803835DC;
|
|
}
|
|
|
|
void func_80335128(s32 arg0){
|
|
D_803835E0 = arg0;
|
|
}
|
|
|
|
s32 func_80335134(){
|
|
return D_803835E0;
|
|
}
|
|
|
|
void func_80335140(enum map_e map_id) {
|
|
Struct61s *fp;
|
|
|
|
func_80254008();
|
|
fp = func_8034AB6C(map_id); //LevelSetupFile_Open
|
|
while (func_8034AF98(fp, 0) == 0) {
|
|
if (func_8034AF98(fp, 2)) {
|
|
|
|
} else if (func_8034AF98(fp, 1)) {
|
|
cubeList_fromFile(fp);
|
|
} else if (func_8034AF98(fp, 3)) {
|
|
func_802BA0AC(fp);
|
|
} else if (func_8034AF98(fp, 4)) {
|
|
func_80333B78(fp);
|
|
}
|
|
}
|
|
func_8034AAB0(fp); //file close
|
|
}
|
|
|
|
void func_8033520C(s32 arg0){
|
|
}
|