mirror of
https://github.com/zeldaret/oot
synced 2026-07-10 06:57:21 -04:00
Big actor cleanup (fixed) (#69)
* Started doing cleanup * did more work * did more migration * migrated more rodata and worked on some structs * did more work * Removal of ROOM field from initvars, some rodata migration, some string decompilation * General update * Decompiled vt strings * Tool work * Tool improvements * 270 overlay rodata files remaining * better float handling * floats * Many more floats * migrated boss_mo * assorted fixes * Migrated 10 * tool improvements * migrated 10 * 10 more * 1 more * did a few more * fixes * 10 more * more floats * Did some more, updated migrate-rodata.py to 'modify' the C file after processing in order to make to compiler process it as if it was changed. * removed changes made to script by accident * migrated largest rodata - ovl_fishing * Did some more * 114 remaining * 99 left ! * almost done migrating rodata * did some more, done for tonight * almost done, tried add support to the script for z_player * All possible rodata migrated in actor overlays * update * removed static from all overlays, ran format.sh * Removed unknown actor structs * converted a few floats * Added new lines to header files that were missing them. Removed unused asm files * Removed unused asm files * Formatting newlines Further formatting spacing .float spacing More space formatting More spacing formatting Removing .balign 4 after floats Co-authored-by: Ethan Roseman <ethteck@gmail.com>
This commit is contained in:
@@ -18,7 +18,6 @@ void PlayerCall_Draw(Player* player, GlobalContext* globalCtx);
|
||||
const ActorInit Player_InitVars = {
|
||||
ACTOR_PLAYER,
|
||||
ACTORTYPE_PLAYER,
|
||||
0,
|
||||
0x6000035,
|
||||
OBJECT_GAMEPLAY_KEEP,
|
||||
sizeof(Player),
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
#include "z_arms_hook.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
void ArmsHook_Init(ArmsHook* this, GlobalContext* globalCtx);
|
||||
void ArmsHook_Destroy(ArmsHook* this, GlobalContext* globalCtx);
|
||||
void ArmsHook_Update(ArmsHook* this, GlobalContext* globalCtx);
|
||||
void ArmsHook_Draw(ArmsHook* this, GlobalContext* globalCtx);
|
||||
void ArmsHook_SetupAction(ArmsHook* this, ActorFunc actionFunc);
|
||||
void func_80864FC4(ArmsHook* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Arms_Hook_InitVars = {
|
||||
ACTOR_ARMS_HOOK,
|
||||
ACTORTYPE_ITEMACTION,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_LINK_BOY,
|
||||
sizeof(ArmsHook),
|
||||
@@ -22,7 +22,7 @@ const ActorInit Arms_Hook_InitVars = {
|
||||
(ActorFunc)ArmsHook_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arms_Hook/func_80864F00.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arms_Hook/ArmsHook_SetupAction.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Arms_Hook/ArmsHook_Init.s")
|
||||
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0xCC];
|
||||
/* 0x014C */ char unk_14C[0xC8];
|
||||
/* 0x0214 */ ActorFunc actionFunc;
|
||||
} ArmsHook; // size = 0x0218
|
||||
|
||||
extern const ActorInit Arms_Hook_InitVars;
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "z_arrow_fire.h"
|
||||
#include "../ovl_En_Arrow/z_en_arrow.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x02000010
|
||||
|
||||
void ArrowFire_Init(ArrowFire* this, GlobalContext* globalCtx);
|
||||
@@ -24,7 +23,6 @@ void ArrowFire_Hit(ArrowFire* this, GlobalContext* globalCtx);
|
||||
const ActorInit Arrow_Fire_InitVars = {
|
||||
ACTOR_ARROW_FIRE,
|
||||
ACTORTYPE_ITEMACTION,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_GAMEPLAY_KEEP,
|
||||
sizeof(ArrowFire),
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "z_arrow_ice.h"
|
||||
#include "../ovl_En_Arrow/z_en_arrow.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x02000010
|
||||
|
||||
void ArrowIce_Init(ArrowIce* this, GlobalContext* globalCtx);
|
||||
@@ -24,7 +23,6 @@ void ArrowIce_Hit(ArrowIce* this, GlobalContext* globalCtx);
|
||||
const ActorInit Arrow_Ice_InitVars = {
|
||||
ACTOR_ARROW_ICE,
|
||||
ACTORTYPE_ITEMACTION,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_GAMEPLAY_KEEP,
|
||||
sizeof(ArrowIce),
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "z_arrow_light.h"
|
||||
#include "../ovl_En_Arrow/z_en_arrow.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x02000010
|
||||
|
||||
void ArrowLight_Init(ArrowLight* this, GlobalContext* globalCtx);
|
||||
@@ -24,7 +23,6 @@ void ArrowLight_Hit(ArrowLight* this, GlobalContext* globalCtx);
|
||||
const ActorInit Arrow_Light_InitVars = {
|
||||
ACTOR_ARROW_LIGHT,
|
||||
ACTORTYPE_ITEMACTION,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_GAMEPLAY_KEEP,
|
||||
sizeof(ArrowLight),
|
||||
|
||||
@@ -1,40 +1,38 @@
|
||||
/*
|
||||
* File: z_bg_bdan_objects.c
|
||||
* Overlay: ovl_Bg_Bdan_Objects
|
||||
* Description:
|
||||
* Description: Lord Jabu-Jabu Objects
|
||||
*/
|
||||
|
||||
#include "z_bg_bdan_objects.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
static void BgBdanObjects_Init(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void BgBdanObjects_Destroy(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void BgBdanObjects_Update(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void BgBdanObjects_Draw(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void BgBdanObjects_Init(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void BgBdanObjects_Destroy(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void BgBdanObjects_Update(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void BgBdanObjects_Draw(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
|
||||
static void func_8086C054(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086C1A0(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086C29C(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086C55C(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086C5BC(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086C618(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086C6EC(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086C76C(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086C7D0(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086C868(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086C874(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086C9A8(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086C9F0(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086CABC(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086CB10(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
static void func_8086CB8C(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086C054(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086C1A0(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086C29C(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086C55C(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086C5BC(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086C618(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086C6EC(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086C76C(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086C7D0(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086C868(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086C874(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086C9A8(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086C9F0(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086CABC(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086CB10(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
void func_8086CB8C(BgBdanObjects* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit Bg_Bdan_Objects_InitVars = {
|
||||
ACTOR_BG_BDAN_OBJECTS,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_BDAN_OBJECTS,
|
||||
sizeof(BgBdanObjects),
|
||||
@@ -80,7 +78,7 @@ s32 BgBdanObjects_GetContactRu1(BgBdanObjects* this, s32 arg1) {
|
||||
}
|
||||
}
|
||||
|
||||
static void BgBdanObjects_SetContactRu1(BgBdanObjects* this, s32 arg1) {
|
||||
void BgBdanObjects_SetContactRu1(BgBdanObjects* this, s32 arg1) {
|
||||
switch (arg1) {
|
||||
case 1:
|
||||
this->unk_1B8 = 2;
|
||||
@@ -96,7 +94,7 @@ static void BgBdanObjects_SetContactRu1(BgBdanObjects* this, s32 arg1) {
|
||||
}
|
||||
}
|
||||
|
||||
static void BgBdanObjects_Init(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void BgBdanObjects_Init(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
s16 pad;
|
||||
s32 localC = 0;
|
||||
@@ -154,7 +152,7 @@ static void BgBdanObjects_Init(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, this, localC);
|
||||
}
|
||||
|
||||
static void BgBdanObjects_Destroy(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void BgBdanObjects_Destroy(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
@@ -163,7 +161,7 @@ static void BgBdanObjects_Destroy(BgBdanObjects* this, GlobalContext* globalCtx)
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086C054(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086C054(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
if (BgBdanObjects_GetContactRu1(this, 0)) {
|
||||
@@ -194,7 +192,7 @@ static void func_8086C054(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086C1A0(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086C1A0(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
if (Math_SmoothScaleMaxMinF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y + 500.0f, 0.5f, 7.5f,
|
||||
1.0f) < 0.1f) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BUYOSTAND_STOP_A);
|
||||
@@ -214,7 +212,7 @@ static void func_8086C1A0(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086C29C(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086C29C(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
s32 temp;
|
||||
|
||||
if (this->unk_16A != 0) {
|
||||
@@ -238,7 +236,7 @@ static void func_8086C29C(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086C3D8(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086C3D8(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
Player* player = PLAYER;
|
||||
|
||||
this->dyna.actor.velocity.y += 0.5f;
|
||||
@@ -271,7 +269,7 @@ static void func_8086C3D8(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086C55C(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086C55C(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
this->unk_16A -= 1;
|
||||
|
||||
if (this->unk_16A == 0) {
|
||||
@@ -282,7 +280,7 @@ static void func_8086C55C(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086C5BC(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086C5BC(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_16A != 0) {
|
||||
this->unk_16A -= 1;
|
||||
}
|
||||
@@ -297,7 +295,7 @@ static void func_8086C5BC(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086C618(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086C618(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
ActorCollider_Cylinder_Update(&this->dyna.actor, &this->collider);
|
||||
Actor_CollisionCheck_SetAT(globalCtx, &globalCtx->sub_11E60, &this->collider);
|
||||
if (Flags_GetClear(globalCtx, this->dyna.actor.room)) {
|
||||
@@ -310,7 +308,7 @@ static void func_8086C618(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086C6EC(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086C6EC(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
s32 cond = Math_ApproxUpdateScaledS(&this->dyna.actor.shape.rot.y, this->dyna.actor.initPosRot.rot.y, 0x200);
|
||||
if (Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y + -125.0f, 3.0f)) {
|
||||
if (cond) {
|
||||
@@ -319,7 +317,7 @@ static void func_8086C6EC(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086C76C(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086C76C(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
if (func_8004356C(&this->dyna.actor)) {
|
||||
if (this->dyna.actor.xzDistanceFromLink < 120.0f) {
|
||||
this->actionFunc = (ActorFunc)func_8086C7D0;
|
||||
@@ -328,7 +326,7 @@ static void func_8086C76C(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086C7D0(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086C7D0(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
if (Math_SmoothScaleMaxMinF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y + 965.0f, 0.5f, 15.0f,
|
||||
0.2f) < 0.01f) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BUYOSTAND_STOP_A);
|
||||
@@ -338,10 +336,10 @@ static void func_8086C7D0(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086C868(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086C868(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
static void func_8086C874(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086C874(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_16A != 0) {
|
||||
this->unk_16A -= 1;
|
||||
}
|
||||
@@ -373,14 +371,14 @@ static void func_8086C874(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086C9A8(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086C9A8(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
if (Flags_GetSwitch(globalCtx, this->unk_168)) {
|
||||
this->unk_16A = 0x64;
|
||||
this->actionFunc = (ActorFunc)func_8086C9F0;
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086C9F0(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086C9F0(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_16A == 0) {
|
||||
if (Math_ApproxF(&this->dyna.actor.posRot.pos.y, this->dyna.actor.initPosRot.pos.y, 0.5f)) {
|
||||
Flags_UnsetSwitch(globalCtx, this->unk_168);
|
||||
@@ -396,7 +394,7 @@ static void func_8086C9F0(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
globalCtx->colCtx.stat.colHeader->waterBoxes[7].unk_02 = this->dyna.actor.posRot.pos.y;
|
||||
}
|
||||
|
||||
static void func_8086CABC(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086CABC(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_16A != 0) {
|
||||
this->unk_16A -= 1;
|
||||
}
|
||||
@@ -406,7 +404,7 @@ static void func_8086CABC(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086CB10(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086CB10(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
if (func_8004356C(&this->dyna.actor)) {
|
||||
Flags_SetSwitch(globalCtx, this->unk_168);
|
||||
this->unk_16A = 0x32;
|
||||
@@ -416,7 +414,7 @@ static void func_8086CB10(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086CB8C(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void func_8086CB8C(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_16A != 0) {
|
||||
this->unk_16A -= 1;
|
||||
}
|
||||
@@ -430,12 +428,12 @@ static void func_8086CB8C(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void BgBdanObjects_Update(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void BgBdanObjects_Update(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
Actor_SetHeight(&this->dyna.actor, 50.0f);
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
static void BgBdanObjects_Draw(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
void BgBdanObjects_Draw(BgBdanObjects* this, GlobalContext* globalCtx) {
|
||||
if (this->dyna.actor.params == 0) {
|
||||
if (this->actionFunc == (ActorFunc)func_8086C054) {
|
||||
if (((this->dyna.actor.initPosRot.pos.y + -79.0f) - 5.0f) < this->dyna.actor.posRot.pos.y) {
|
||||
|
||||
@@ -4,98 +4,46 @@
|
||||
* Description: Switches (Inside Lord Jabu-Jabu)
|
||||
*/
|
||||
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
#include "z_bg_bdan_switch.h"
|
||||
|
||||
// BgBdanSwitch.actor.params & 0xFF
|
||||
typedef enum {
|
||||
/* 0x00 */ BLUE,
|
||||
/* 0x01 */ YELLOW_HEAVY,
|
||||
/* 0x02 */ YELLOW,
|
||||
/* 0x03 */ YELLOW_TALL_1,
|
||||
/* 0x04 */ YELLOW_TALL_2
|
||||
} BgBdanSwitchType;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0x2E];
|
||||
/* 0x2E */ s16 unk_2E;
|
||||
} ColliderCustomHelper;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Collider base;
|
||||
/* 0x18 */ char unk_18[0x4];
|
||||
/* 0x1C */ ColliderCustomHelper* unk_1C;
|
||||
/* 0x20 */ s32 unk_20;
|
||||
/* 0x24 */ char unk_24[0x1C];
|
||||
// after this is a guess based on ColliderCylinderMain
|
||||
/* 0x40 */ s16 radius;
|
||||
/* 0x42 */ s16 height;
|
||||
/* 0x44 */ s16 yShift;
|
||||
/* 0x46 */ Vec3s position;
|
||||
} ColliderCustomMain; // size = 0x4C
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ u32 dynaPolyId;
|
||||
/* 0x0150 */ f32 unk_150;
|
||||
/* 0x0154 */ f32 unk_154;
|
||||
/* 0x0158 */ u32 unk_158;
|
||||
/* 0x015C */ u32 unk_15C;
|
||||
/* 0x0160 */ u8 unk_160;
|
||||
/* 0x0164 */ ActorFunc updateFunc;
|
||||
/* 0x0168 */ ColliderCustomMain collider;
|
||||
/* 0x01B4 */ char unk_1B4[0x14];
|
||||
/* 0x01C8 */ f32 unk_1C8;
|
||||
/* 0x01CC */ s16 unk_1CC;
|
||||
/* 0x01CE */ char unk_1CE[0x2];
|
||||
/* 0x01D0 */ f32 unk_1D0;
|
||||
/* 0x01D4 */ f32 unk_1D4;
|
||||
/* 0x01D8 */ s16 unk_1D8;
|
||||
/* 0x01DA */ s16 unk_1DA;
|
||||
/* 0x01DC */ u8 unk_1DC;
|
||||
/* 0x01DD */ char unk_1DD[0x3];
|
||||
} BgBdanSwitch; // size = 0x01E0
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
static void BgBdanSwitch_Init(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void BgBdanSwitch_Destroy(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void BgBdanSwitch_Update(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void BgBdanSwitch_Draw(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void BgBdanSwitch_Init(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void BgBdanSwitch_Destroy(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void BgBdanSwitch_Update(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void BgBdanSwitch_Draw(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
|
||||
static void func_8086D5C4(BgBdanSwitch* this);
|
||||
static void func_8086D5E0(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void func_8086D67C(BgBdanSwitch* this);
|
||||
static void func_8086D694(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void func_8086D730(BgBdanSwitch* this);
|
||||
static void func_8086D754(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void func_8086D7FC(BgBdanSwitch* this);
|
||||
static void func_8086D80C(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void func_8086D86C(BgBdanSwitch* this);
|
||||
static void func_8086D888(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void func_8086D8BC(BgBdanSwitch* this);
|
||||
static void func_8086D8CC(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void func_8086D95C(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void func_8086D9F8(BgBdanSwitch* this);
|
||||
static void func_8086DA1C(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void func_8086DAB4(BgBdanSwitch* this);
|
||||
static void func_8086DAC4(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void func_8086DB24(BgBdanSwitch* this);
|
||||
static void func_8086DB40(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void func_8086DB4C(BgBdanSwitch* this);
|
||||
static void func_8086DB68(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void func_8086DC30(BgBdanSwitch* this);
|
||||
static void func_8086DC48(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void func_8086DCCC(BgBdanSwitch* this);
|
||||
static void func_8086DCE8(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
static void func_8086DDA8(BgBdanSwitch* this);
|
||||
static void func_8086DDC0(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void func_8086D5C4(BgBdanSwitch* this);
|
||||
void func_8086D5E0(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void func_8086D67C(BgBdanSwitch* this);
|
||||
void func_8086D694(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void func_8086D730(BgBdanSwitch* this);
|
||||
void func_8086D754(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void func_8086D7FC(BgBdanSwitch* this);
|
||||
void func_8086D80C(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void func_8086D86C(BgBdanSwitch* this);
|
||||
void func_8086D888(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void func_8086D8BC(BgBdanSwitch* this);
|
||||
void func_8086D8CC(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void func_8086D95C(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void func_8086D9F8(BgBdanSwitch* this);
|
||||
void func_8086DA1C(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void func_8086DAB4(BgBdanSwitch* this);
|
||||
void func_8086DAC4(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void func_8086DB24(BgBdanSwitch* this);
|
||||
void func_8086DB40(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void func_8086DB4C(BgBdanSwitch* this);
|
||||
void func_8086DB68(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void func_8086DC30(BgBdanSwitch* this);
|
||||
void func_8086DC48(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void func_8086DCCC(BgBdanSwitch* this);
|
||||
void func_8086DCE8(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
void func_8086DDA8(BgBdanSwitch* this);
|
||||
void func_8086DDC0(BgBdanSwitch* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit Bg_Bdan_Switch_InitVars = {
|
||||
ACTOR_BG_BDAN_SWITCH,
|
||||
ACTORTYPE_SWITCH,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_BDAN_OBJECTS,
|
||||
sizeof(BgBdanSwitch),
|
||||
@@ -122,7 +70,7 @@ static InitChainEntry initChain[] = {
|
||||
|
||||
static u32 D_8086E0E0[] = { 0x00000000, 0x430C0000, 0x00000000, 0x00000000 };
|
||||
|
||||
static void func_8086D010(BgBdanSwitch* this, GlobalContext* globalCtx, u32 collision, DynaPolyMoveFlag flag) {
|
||||
void func_8086D010(BgBdanSwitch* this, GlobalContext* globalCtx, u32 collision, DynaPolyMoveFlag flag) {
|
||||
s16 pad1;
|
||||
u32 local_c = 0;
|
||||
s16 pad2;
|
||||
@@ -136,13 +84,13 @@ static void func_8086D010(BgBdanSwitch* this, GlobalContext* globalCtx, u32 coll
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086D098(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086D098(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
Actor* actor = &this->actor;
|
||||
func_8005BBF8(globalCtx, &this->collider, actor);
|
||||
func_8005C050(globalCtx, &this->collider, actor, &D_8086E0C4, &this->collider.unk_20);
|
||||
}
|
||||
|
||||
static void func_8086D0EC(BgBdanSwitch* this) {
|
||||
void func_8086D0EC(BgBdanSwitch* this) {
|
||||
if (this->unk_1CC > 0) {
|
||||
this->unk_1CC += 0x5DC;
|
||||
} else {
|
||||
@@ -166,7 +114,7 @@ static void func_8086D0EC(BgBdanSwitch* this) {
|
||||
this->actor.shape.unk_08 = 1.2f / this->unk_1D0;
|
||||
}
|
||||
|
||||
static void BgBdanSwitch_Init(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void BgBdanSwitch_Init(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
s32 pad[2];
|
||||
s16 type;
|
||||
s32 flag;
|
||||
@@ -230,7 +178,7 @@ static void BgBdanSwitch_Init(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
osSyncPrintf("(巨大魚ダンジョン 専用スイッチ)(arg_data 0x%04x)\n", this->actor.params);
|
||||
}
|
||||
|
||||
static void BgBdanSwitch_Destroy(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void BgBdanSwitch_Destroy(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
switch (this->actor.params & 0xFF) {
|
||||
case BLUE:
|
||||
case YELLOW_HEAVY:
|
||||
@@ -243,7 +191,7 @@ static void BgBdanSwitch_Destroy(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086D4B4(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086D4B4(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
s32 type;
|
||||
if (!Flags_GetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F)) {
|
||||
@@ -257,7 +205,7 @@ static void func_8086D4B4(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086D548(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086D548(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
if (Flags_GetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F)) {
|
||||
Flags_UnsetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F);
|
||||
if ((this->actor.params & 0xFF) == YELLOW_TALL_2) {
|
||||
@@ -266,12 +214,12 @@ static void func_8086D548(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086D5C4(BgBdanSwitch* this) {
|
||||
void func_8086D5C4(BgBdanSwitch* this) {
|
||||
this->updateFunc = &func_8086D5E0;
|
||||
this->unk_1C8 = 1.0f;
|
||||
}
|
||||
|
||||
static void func_8086D5E0(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086D5E0(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
switch (this->actor.params & 0xFF) {
|
||||
case BLUE:
|
||||
if (func_800435B4(&this->actor)) {
|
||||
@@ -287,12 +235,12 @@ static void func_8086D5E0(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086D67C(BgBdanSwitch* this) {
|
||||
void func_8086D67C(BgBdanSwitch* this) {
|
||||
this->updateFunc = &func_8086D694;
|
||||
this->unk_1DA = 0x64;
|
||||
}
|
||||
|
||||
static void func_8086D694(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086D694(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
if ((func_8005B198() == this->actor.type) || (this->unk_1DA <= 0)) {
|
||||
this->unk_1C8 -= 0.2f;
|
||||
if (this->unk_1C8 <= 0.1f) {
|
||||
@@ -303,13 +251,13 @@ static void func_8086D694(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086D730(BgBdanSwitch* this) {
|
||||
void func_8086D730(BgBdanSwitch* this) {
|
||||
this->unk_1C8 = 0.1f;
|
||||
this->updateFunc = &func_8086D754;
|
||||
this->unk_1D8 = 6;
|
||||
}
|
||||
|
||||
static void func_8086D754(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086D754(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
switch (this->actor.params & 0xFF) {
|
||||
case BLUE:
|
||||
if (!func_800435B4(&this->actor)) {
|
||||
@@ -328,11 +276,11 @@ static void func_8086D754(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086D7FC(BgBdanSwitch* this) {
|
||||
void func_8086D7FC(BgBdanSwitch* this) {
|
||||
this->updateFunc = &func_8086D80C;
|
||||
}
|
||||
|
||||
static void func_8086D80C(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086D80C(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
this->unk_1C8 += 0.2f;
|
||||
if (this->unk_1C8 >= 1.0f) {
|
||||
func_8086D5C4(this);
|
||||
@@ -340,22 +288,22 @@ static void func_8086D80C(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086D86C(BgBdanSwitch* this) {
|
||||
void func_8086D86C(BgBdanSwitch* this) {
|
||||
this->updateFunc = &func_8086D888;
|
||||
this->unk_1C8 = 1.0f;
|
||||
}
|
||||
|
||||
static void func_8086D888(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086D888(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
if (func_8004356C(&this->actor)) {
|
||||
func_8086D8BC(this);
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086D8BC(BgBdanSwitch* this) {
|
||||
void func_8086D8BC(BgBdanSwitch* this) {
|
||||
this->updateFunc = &func_8086D8CC;
|
||||
}
|
||||
|
||||
static void func_8086D8CC(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086D8CC(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
this->unk_1C8 -= 0.2f;
|
||||
if (this->unk_1C8 <= 0.6f) {
|
||||
func_8086D9F8(this);
|
||||
@@ -364,12 +312,12 @@ static void func_8086D8CC(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086D944(BgBdanSwitch* this) {
|
||||
void func_8086D944(BgBdanSwitch* this) {
|
||||
this->updateFunc = &func_8086D95C;
|
||||
this->unk_1DA = 0x64;
|
||||
}
|
||||
|
||||
static void func_8086D95C(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086D95C(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
if ((func_8005B198() == this->actor.type) || (this->unk_1DA <= 0)) {
|
||||
this->unk_1C8 -= 0.2f;
|
||||
if (this->unk_1C8 <= 0.1f) {
|
||||
@@ -380,13 +328,13 @@ static void func_8086D95C(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086D9F8(BgBdanSwitch* this) {
|
||||
void func_8086D9F8(BgBdanSwitch* this) {
|
||||
this->unk_1C8 = 0.6f;
|
||||
this->updateFunc = &func_8086DA1C;
|
||||
this->unk_1D8 = 6;
|
||||
}
|
||||
|
||||
static void func_8086DA1C(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086DA1C(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
Actor* heldActor = PLAYER->heldActor;
|
||||
|
||||
if (func_8004356C(&this->actor)) {
|
||||
@@ -405,11 +353,11 @@ static void func_8086DA1C(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086DAB4(BgBdanSwitch* this) {
|
||||
void func_8086DAB4(BgBdanSwitch* this) {
|
||||
this->updateFunc = &func_8086DAC4;
|
||||
}
|
||||
|
||||
static void func_8086DAC4(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086DAC4(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
this->unk_1C8 += 0.2f;
|
||||
if (this->unk_1C8 >= 1.0f) {
|
||||
func_8086D86C(this);
|
||||
@@ -417,20 +365,20 @@ static void func_8086DAC4(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086DB24(BgBdanSwitch* this) {
|
||||
void func_8086DB24(BgBdanSwitch* this) {
|
||||
this->unk_1C8 = 0.1f;
|
||||
this->updateFunc = &func_8086DB40;
|
||||
}
|
||||
|
||||
static void func_8086DB40(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086DB40(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
static void func_8086DB4C(BgBdanSwitch* this) {
|
||||
void func_8086DB4C(BgBdanSwitch* this) {
|
||||
this->updateFunc = &func_8086DB68;
|
||||
this->unk_1C8 = 2.0f;
|
||||
}
|
||||
|
||||
static void func_8086DB68(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086DB68(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
switch (this->actor.params & 0xFF) {
|
||||
default:
|
||||
return;
|
||||
@@ -450,12 +398,12 @@ static void func_8086DB68(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086DC30(BgBdanSwitch* this) {
|
||||
void func_8086DC30(BgBdanSwitch* this) {
|
||||
this->updateFunc = &func_8086DC48;
|
||||
this->unk_1DA = 0x64;
|
||||
}
|
||||
|
||||
static void func_8086DC48(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086DC48(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
if ((func_8005B198() == this->actor.type) || (this->unk_1DA <= 0)) {
|
||||
this->unk_1C8 -= 0.3f;
|
||||
if (this->unk_1C8 <= 1.0f) {
|
||||
@@ -465,12 +413,12 @@ static void func_8086DC48(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086DCCC(BgBdanSwitch* this) {
|
||||
void func_8086DCCC(BgBdanSwitch* this) {
|
||||
this->updateFunc = &func_8086DCE8;
|
||||
this->unk_1C8 = 1.0f;
|
||||
}
|
||||
|
||||
static void func_8086DCE8(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086DCE8(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
switch (this->actor.params & 0xFF) {
|
||||
case YELLOW_TALL_1:
|
||||
if (!Flags_GetSwitch(globalCtx, (this->actor.params >> 8) & 0x3F)) {
|
||||
@@ -486,12 +434,12 @@ static void func_8086DCE8(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8086DDA8(BgBdanSwitch* this) {
|
||||
void func_8086DDA8(BgBdanSwitch* this) {
|
||||
this->updateFunc = &func_8086DDC0;
|
||||
this->unk_1DA = 0x64;
|
||||
}
|
||||
|
||||
static void func_8086DDC0(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void func_8086DDC0(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
if ((((this->actor.params & 0xFF) != YELLOW_TALL_2) || (func_8005B198() == this->actor.type)) ||
|
||||
(this->unk_1DA <= 0)) {
|
||||
this->unk_1C8 += 0.3f;
|
||||
@@ -502,7 +450,7 @@ static void func_8086DDC0(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void BgBdanSwitch_Update(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void BgBdanSwitch_Update(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
s32 type;
|
||||
s32 pad2;
|
||||
@@ -528,14 +476,14 @@ static void BgBdanSwitch_Update(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
Actor_CollisionCheck_SetOT(globalCtx, &globalCtx->sub_11E60, &this->collider);
|
||||
}
|
||||
|
||||
static void func_8086DF58(BgBdanSwitch* this, GlobalContext* globalCtx, UNK_TYPE arg2) {
|
||||
void func_8086DF58(BgBdanSwitch* this, GlobalContext* globalCtx, UNK_TYPE arg2) {
|
||||
func_800D1694(this->actor.posRot.pos.x, this->actor.posRot.pos.y + (this->actor.shape.unk_08 * this->unk_1D0),
|
||||
this->actor.posRot.pos.z, &this->actor.shape.rot);
|
||||
Matrix_Scale(this->unk_1D4, this->unk_1D0, this->unk_1D4, MTXMODE_APPLY);
|
||||
Gfx_DrawDListOpa(globalCtx, arg2);
|
||||
}
|
||||
|
||||
static void BgBdanSwitch_Draw(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
void BgBdanSwitch_Draw(BgBdanSwitch* this, GlobalContext* globalCtx) {
|
||||
switch (this->actor.params & 0xFF) {
|
||||
case YELLOW_HEAVY:
|
||||
case YELLOW:
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
#ifndef _Z_BG_BDAN_SWITCH_H_
|
||||
#define _Z_BG_BDAN_SWITCH_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
// BgBdanSwitch.actor.params & 0xFF
|
||||
typedef enum {
|
||||
/* 0x00 */ BLUE,
|
||||
/* 0x01 */ YELLOW_HEAVY,
|
||||
/* 0x02 */ YELLOW,
|
||||
/* 0x03 */ YELLOW_TALL_1,
|
||||
/* 0x04 */ YELLOW_TALL_2
|
||||
} BgBdanSwitchType;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0x2E];
|
||||
/* 0x2E */ s16 unk_2E;
|
||||
} ColliderCustomHelper;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Collider base;
|
||||
/* 0x18 */ char unk_18[0x4];
|
||||
/* 0x1C */ ColliderCustomHelper* unk_1C;
|
||||
/* 0x20 */ s32 unk_20;
|
||||
/* 0x24 */ char unk_24[0x1C];
|
||||
// after this is a guess based on ColliderCylinderMain
|
||||
/* 0x40 */ s16 radius;
|
||||
/* 0x42 */ s16 height;
|
||||
/* 0x44 */ s16 yShift;
|
||||
/* 0x46 */ Vec3s position;
|
||||
} ColliderCustomMain; // size = 0x4C
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ u32 dynaPolyId;
|
||||
/* 0x0150 */ f32 unk_150;
|
||||
/* 0x0154 */ f32 unk_154;
|
||||
/* 0x0158 */ u32 unk_158;
|
||||
/* 0x015C */ u32 unk_15C;
|
||||
/* 0x0160 */ u8 unk_160;
|
||||
/* 0x0164 */ ActorFunc updateFunc;
|
||||
/* 0x0168 */ ColliderCustomMain collider;
|
||||
/* 0x01B4 */ char unk_1B4[0x14];
|
||||
/* 0x01C8 */ f32 unk_1C8;
|
||||
/* 0x01CC */ s16 unk_1CC;
|
||||
/* 0x01CE */ char unk_1CE[0x2];
|
||||
/* 0x01D0 */ f32 unk_1D0;
|
||||
/* 0x01D4 */ f32 unk_1D4;
|
||||
/* 0x01D8 */ s16 unk_1D8;
|
||||
/* 0x01DA */ s16 unk_1DA;
|
||||
/* 0x01DC */ u8 unk_1DC;
|
||||
/* 0x01DD */ char unk_1DD[0x3];
|
||||
} BgBdanSwitch; // size = 0x01E0
|
||||
|
||||
extern const ActorInit Bg_Bdan_Switch_InitVars;
|
||||
|
||||
#endif
|
||||
@@ -1,26 +1,24 @@
|
||||
/*
|
||||
* File: z_bg_bom_guard.c
|
||||
* Overlay: Bg_Bom_Guard
|
||||
* Description:
|
||||
* Description: Bombchu Bowling Alley Game
|
||||
*/
|
||||
|
||||
#include "z_bg_bom_guard.h"
|
||||
|
||||
#include <vt.h>
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
static void BgBomGuard_Init(BgBomGuard* this, GlobalContext* globalCtx);
|
||||
static void BgBomGuard_Destroy(BgBomGuard* this, GlobalContext* globalCtx);
|
||||
static void BgBomGuard_Update(BgBomGuard* this, GlobalContext* globalCtx);
|
||||
void BgBomGuard_Init(BgBomGuard* this, GlobalContext* globalCtx);
|
||||
void BgBomGuard_Destroy(BgBomGuard* this, GlobalContext* globalCtx);
|
||||
void BgBomGuard_Update(BgBomGuard* this, GlobalContext* globalCtx);
|
||||
|
||||
static void func_8086E638(BgBomGuard* this, GlobalContext* globalCtx);
|
||||
void func_8086E638(BgBomGuard* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit Bg_Bom_Guard_InitVars = {
|
||||
ACTOR_BG_BOM_GUARD,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_BOWL,
|
||||
sizeof(BgBomGuard),
|
||||
@@ -32,11 +30,11 @@ const ActorInit Bg_Bom_Guard_InitVars = {
|
||||
|
||||
extern u32 D_06001C40;
|
||||
|
||||
static void BgBomGuard_SetupAction(BgBomGuard* this, ActorFunc actionFunc) {
|
||||
void BgBomGuard_SetupAction(BgBomGuard* this, ActorFunc actionFunc) {
|
||||
this->actionFunc = actionFunc;
|
||||
}
|
||||
|
||||
static void BgBomGuard_Init(BgBomGuard* this, GlobalContext* globalCtx) {
|
||||
void BgBomGuard_Init(BgBomGuard* this, GlobalContext* globalCtx) {
|
||||
s32 pad[2];
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
s32 local_c = 0;
|
||||
@@ -55,11 +53,11 @@ static void BgBomGuard_Init(BgBomGuard* this, GlobalContext* globalCtx) {
|
||||
BgBomGuard_SetupAction(this, func_8086E638);
|
||||
}
|
||||
|
||||
static void BgBomGuard_Destroy(BgBomGuard* this, GlobalContext* globalCtx) {
|
||||
void BgBomGuard_Destroy(BgBomGuard* this, GlobalContext* globalCtx) {
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
}
|
||||
|
||||
static void func_8086E638(BgBomGuard* this, GlobalContext* globalCtx) {
|
||||
void func_8086E638(BgBomGuard* this, GlobalContext* globalCtx) {
|
||||
Actor* it = globalCtx->actorCtx.actorList[ACTORTYPE_NPC].first;
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
@@ -83,6 +81,6 @@ static void func_8086E638(BgBomGuard* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void BgBomGuard_Update(BgBomGuard* this, GlobalContext* globalCtx) {
|
||||
void BgBomGuard_Update(BgBomGuard* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
@@ -1,18 +1,30 @@
|
||||
/*
|
||||
* File: z_bg_bombwall.c
|
||||
* Overlay: ovl_Bg_Bombwall
|
||||
* Description: 2D Bombable Wall
|
||||
*/
|
||||
|
||||
#include "z_bg_bombwall.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00400000
|
||||
|
||||
void BgBombwall_Init(BgBombwall* this, GlobalContext* globalCtx);
|
||||
void BgBombwall_Destroy(BgBombwall* this, GlobalContext* globalCtx);
|
||||
void BgBombwall_Update(BgBombwall* this, GlobalContext* globalCtx);
|
||||
void BgBombwall_Draw(BgBombwall* this, GlobalContext* globalCtx);
|
||||
void func_8086E7D0(BgBombwall* this, GlobalContext* globalCtx);
|
||||
void func_8086EAC0(BgBombwall* this, GlobalContext* globalCtx);
|
||||
void func_8086EB5C(BgBombwall* this, GlobalContext* globalCtx);
|
||||
void func_8086ED50(BgBombwall* this, GlobalContext* globalCtx);
|
||||
void func_8086ED70(BgBombwall* this, GlobalContext* globalCtx);
|
||||
void func_8086EDFC(BgBombwall* this, GlobalContext* globalCtx);
|
||||
void func_8086EE40(BgBombwall* this, GlobalContext* globalCtx);
|
||||
void func_8086EE94(BgBombwall* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Bombwall_InitVars = {
|
||||
ACTOR_BG_BOMBWALL,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_GAMEPLAY_FIELD_KEEP,
|
||||
sizeof(BgBombwall),
|
||||
|
||||
@@ -5,8 +5,10 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x158];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ char unk_164[0x134];
|
||||
/* 0x0298 */ ActorFunc actionFunc;
|
||||
/* 0x029C */ char unk_29C[0x8];
|
||||
} BgBombwall; // size = 0x02A4
|
||||
|
||||
extern const ActorInit Bg_Bombwall_InitVars;
|
||||
|
||||
@@ -1,18 +1,27 @@
|
||||
/*
|
||||
* File: z_bg_bowl_wall.c
|
||||
* Overlay: Bg_Bowl_Wall
|
||||
* Description: Bombchu Bowling Alley Wall
|
||||
*/
|
||||
|
||||
#include "z_bg_bowl_wall.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
void BgBowlWall_Init(BgBowlWall* this, GlobalContext* globalCtx);
|
||||
void BgBowlWall_Destroy(BgBowlWall* this, GlobalContext* globalCtx);
|
||||
void BgBowlWall_Update(BgBowlWall* this, GlobalContext* globalCtx);
|
||||
void BgBowlWall_Draw(BgBowlWall* this, GlobalContext* globalCtx);
|
||||
void func_8086F260(BgBowlWall* this, GlobalContext* globalCtx);
|
||||
void func_8086F440(BgBowlWall* this, GlobalContext* globalCtx);
|
||||
void func_8086F464(BgBowlWall* this, GlobalContext* globalCtx);
|
||||
void func_8086F718(BgBowlWall* this, GlobalContext* globalCtx);
|
||||
void func_8086F7F8(BgBowlWall* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Bowl_Wall_InitVars = {
|
||||
ACTOR_BG_BOWL_WALL,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_BOWL,
|
||||
sizeof(BgBowlWall),
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x3C];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc actionFunc;
|
||||
/* 0x0168 */ char unk_168[0x20];
|
||||
} BgBowlWall; // size = 0x0188
|
||||
|
||||
extern const ActorInit Bg_Bowl_Wall_InitVars;
|
||||
|
||||
@@ -1,17 +1,26 @@
|
||||
/*
|
||||
* File: z_bg_breakwall.c
|
||||
* Overlay: Bg_Breakwall
|
||||
* Description: Bombable Wall
|
||||
*/
|
||||
|
||||
#include "z_bg_breakwall.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgBreakwall_Init(BgBreakwall* this, GlobalContext* globalCtx);
|
||||
void BgBreakwall_Destroy(BgBreakwall* this, GlobalContext* globalCtx);
|
||||
void BgBreakwall_Update(BgBreakwall* this, GlobalContext* globalCtx);
|
||||
void BgBreakwall_SetupAction(BgBreakwall* this, ActorFunc actionFunc);
|
||||
void func_80870290(BgBreakwall* this, GlobalContext* globalCtx);
|
||||
void func_80870394(BgBreakwall* this, GlobalContext* globalCtx);
|
||||
void func_80870564(BgBreakwall* this, GlobalContext* globalCtx);
|
||||
void func_808705D8(BgBreakwall* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Breakwall_InitVars = {
|
||||
ACTOR_BG_BREAKWALL,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_GAMEPLAY_KEEP,
|
||||
sizeof(BgBreakwall),
|
||||
@@ -21,7 +30,7 @@ const ActorInit Bg_Breakwall_InitVars = {
|
||||
NULL,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Breakwall/func_8086FBE0.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Breakwall/BgBreakwall_SetupAction.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Breakwall/BgBreakwall_Init.s")
|
||||
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0xA4];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ char unk_164[0x88];
|
||||
/* 0x01EC */ ActorFunc actionFunc;
|
||||
} BgBreakwall; // size = 0x01F0
|
||||
|
||||
extern const ActorInit Bg_Breakwall_InitVars;
|
||||
|
||||
@@ -1,18 +1,25 @@
|
||||
/*
|
||||
* File: z_bg_ddan_jd.c
|
||||
* Overlay: ovl_Bg_Ddan_Jd
|
||||
* Description: Rising stone platform (Dodongo's Cavern)
|
||||
*/
|
||||
|
||||
#include "z_bg_ddan_jd.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
void BgDdanJd_Init(BgDdanJd* this, GlobalContext* globalCtx);
|
||||
void BgDdanJd_Destroy(BgDdanJd* this, GlobalContext* globalCtx);
|
||||
void BgDdanJd_Update(BgDdanJd* this, GlobalContext* globalCtx);
|
||||
void BgDdanJd_Draw(BgDdanJd* this, GlobalContext* globalCtx);
|
||||
void func_80870B88(BgDdanJd* this, GlobalContext* globalCtx);
|
||||
void func_80870D2C(BgDdanJd* this, GlobalContext* globalCtx);
|
||||
void func_80870F00(BgDdanJd* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Ddan_Jd_InitVars = {
|
||||
ACTOR_BG_DDAN_JD,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_DDAN_OBJECTS,
|
||||
sizeof(BgDdanJd),
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x24];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc actionFunc;
|
||||
/* 0x0168 */ char unk_168[0x8];
|
||||
} BgDdanJd; // size = 0x0170
|
||||
|
||||
extern const ActorInit Bg_Ddan_Jd_InitVars;
|
||||
|
||||
@@ -1,18 +1,26 @@
|
||||
/*
|
||||
* File: z_bg_ddan_kd.c
|
||||
* Overlay: ovl_Bg_Ddan_Kd
|
||||
* Description: Stone stairs in Dodongo's Cavern
|
||||
*/
|
||||
|
||||
#include "z_bg_ddan_kd.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgDdanKd_Init(BgDdanKd* this, GlobalContext* globalCtx);
|
||||
void BgDdanKd_Destroy(BgDdanKd* this, GlobalContext* globalCtx);
|
||||
void BgDdanKd_Update(BgDdanKd* this, GlobalContext* globalCtx);
|
||||
void BgDdanKd_Draw(BgDdanKd* this, GlobalContext* globalCtx);
|
||||
void BgDdanKd_SetupAction(BgDdanKd* this, ActorFunc actionFunc);
|
||||
void func_80871234(BgDdanKd* this, GlobalContext* globalCtx);
|
||||
void func_80873164(BgDdanKd* this, GlobalContext* globalCtx);
|
||||
void func_80871838(BgDdanKd* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Ddan_Kd_InitVars = {
|
||||
ACTOR_BG_DDAN_KD,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_DDAN_OBJECTS,
|
||||
sizeof(BgDdanKd),
|
||||
@@ -22,7 +30,7 @@ const ActorInit Bg_Ddan_Kd_InitVars = {
|
||||
(ActorFunc)BgDdanKd_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ddan_Kd/func_808710F0.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ddan_Kd/BgDdanKd_SetupAction.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ddan_Kd/BgDdanKd_Init.s")
|
||||
|
||||
|
||||
@@ -5,8 +5,10 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x7C];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ Actor* unk_164; // pointer to bombflower actor
|
||||
/* 0x0168 */ char unk_168[0x5C];
|
||||
/* 0x01C4 */ ActorFunc actionFunc;
|
||||
} BgDdanKd; // size = 0x01C8
|
||||
|
||||
extern const ActorInit Bg_Ddan_Kd_InitVars;
|
||||
|
||||
@@ -1,18 +1,28 @@
|
||||
/*
|
||||
* File: z_bg_dodoago.c
|
||||
* Overlay: ovl_Bg_Dodoago
|
||||
* Description: Dodongo Head Statue in Dodongo's Cavern
|
||||
*/
|
||||
|
||||
#include "z_bg_dodoago.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgDodoago_Init(BgDodoago* this, GlobalContext* globalCtx);
|
||||
void BgDodoago_Destroy(BgDodoago* this, GlobalContext* globalCtx);
|
||||
void BgDodoago_Update(BgDodoago* this, GlobalContext* globalCtx);
|
||||
void BgDodoago_Draw(BgDodoago* this, GlobalContext* globalCtx);
|
||||
void BgDodoago_SetupAction(BgDodoago* this, ActorFunc actionFunc);
|
||||
// void func_80871A08(Vec3f* vec, GlobalContext* globalCtx); // Not 100% sure
|
||||
void func_80871CF4(BgDodoago* this, GlobalContext* globalCtx);
|
||||
void func_80871FB8(BgDodoago* this, GlobalContext* globalCtx);
|
||||
void func_8087227C(BgDodoago* this, GlobalContext* globalCtx);
|
||||
void func_80872288(BgDodoago* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Dodoago_InitVars = {
|
||||
ACTOR_BG_DODOAGO,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_DDAN_OBJECTS,
|
||||
sizeof(BgDodoago),
|
||||
@@ -22,7 +32,7 @@ const ActorInit Bg_Dodoago_InitVars = {
|
||||
(ActorFunc)BgDodoago_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Dodoago/func_80871A00.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Dodoago/BgDodoago_SetupAction.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Dodoago/func_80871A08.s")
|
||||
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x104];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ char unk_164[0xE8];
|
||||
/* 0x024C */ ActorFunc actionFunc;
|
||||
} BgDodoago; // size = 0x0250
|
||||
|
||||
extern const ActorInit Bg_Dodoago_InitVars;
|
||||
|
||||
@@ -1,17 +1,43 @@
|
||||
/*
|
||||
* File: z_bg_dy_yoseizo.c
|
||||
* Overlay: ovl_Bg_Dy_Yoseizo
|
||||
* Description: Great Fairy
|
||||
*/
|
||||
|
||||
#include "z_bg_dy_yoseizo.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x02000030
|
||||
|
||||
void BgDyYoseizo_Init(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void BgDyYoseizo_Destroy(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void BgDyYoseizo_Update(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
|
||||
void func_80872960(BgDyYoseizo* this, GlobalContext* globalCtx, s16 arg2);
|
||||
void func_80872C58(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_80872D20(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_80872DE4(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_8087328C(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_80873380(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_808734DC(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_8087358C(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_808736A4(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_80873780(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_80873868(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_80873B3C(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_80873C14(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_80873D14(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_80873E04(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_80873EA4(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_80873FD8(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_80874304(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
s32 func_80874B7C(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, BgDyYoseizo* this);
|
||||
void func_80874BE0(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
// func_80874D9C
|
||||
void func_80874EAC(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
void func_808751A0(BgDyYoseizo* this, GlobalContext* globalCtx);
|
||||
/*
|
||||
const ActorInit Bg_Dy_Yoseizo_InitVars = {
|
||||
ACTOR_BG_DY_YOSEIZO,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_DY_OBJ,
|
||||
sizeof(BgDyYoseizo),
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x3768];
|
||||
/* 0x014C */ ActorFunc actionFunc;
|
||||
/* 0x0150 */ SkelAnime skelAnime;
|
||||
/* 0x0194 */ char unk_194[0x3720];
|
||||
} BgDyYoseizo; // size = 0x38B4
|
||||
|
||||
extern const ActorInit Bg_Dy_Yoseizo_InitVars;
|
||||
|
||||
@@ -1,18 +1,25 @@
|
||||
/*
|
||||
* File: z_bg_ganon_otyka.c
|
||||
* Overlay: ovl_Bg_Ganon_Otyka
|
||||
* Description: Falling Platform (Ganondorf Fight)
|
||||
*/
|
||||
|
||||
#include "z_bg_ganon_otyuka.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
void BgGanonOtyuka_Init(BgGanonOtyuka* this, GlobalContext* globalCtx);
|
||||
void BgGanonOtyuka_Destroy(BgGanonOtyuka* this, GlobalContext* globalCtx);
|
||||
void BgGanonOtyuka_Update(BgGanonOtyuka* this, GlobalContext* globalCtx);
|
||||
void BgGanonOtyuka_Draw(BgGanonOtyuka* this, GlobalContext* globalCtx);
|
||||
void func_80875A0C(BgGanonOtyuka* this, GlobalContext* globalCtx);
|
||||
void func_80875C88(BgGanonOtyuka* this, GlobalContext* globalCtx);
|
||||
void func_808760DC(BgGanonOtyuka* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Ganon_Otyuka_InitVars = {
|
||||
ACTOR_BG_GANON_OTYUKA,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_GANON,
|
||||
sizeof(BgGanonOtyuka),
|
||||
@@ -22,6 +29,7 @@ const ActorInit Bg_Ganon_Otyuka_InitVars = {
|
||||
(ActorFunc)BgGanonOtyuka_Draw,
|
||||
};
|
||||
*/
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ganon_Otyuka/BgGanonOtyuka_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ganon_Otyuka/BgGanonOtyuka_Destroy.s")
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x40];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc actionFunc;
|
||||
/* 0x0168 */ char unk_168[0x24];
|
||||
} BgGanonOtyuka; // size = 0x018C
|
||||
|
||||
extern const ActorInit Bg_Ganon_Otyuka_InitVars;
|
||||
|
||||
@@ -8,23 +8,21 @@
|
||||
|
||||
#include <vt.h>
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
static void BgGateShutter_Init(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
static void BgGateShutter_Destroy(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
static void BgGateShutter_Update(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
static void BgGateShutter_Draw(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
void BgGateShutter_Init(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
void BgGateShutter_Destroy(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
void BgGateShutter_Update(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
void BgGateShutter_Draw(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
|
||||
static void func_8087828C(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
static void func_80878300(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
static void func_808783AC(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
static void func_808783D4(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
void func_8087828C(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
void func_80878300(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
void func_808783AC(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
void func_808783D4(BgGateShutter* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit Bg_Gate_Shutter_InitVars = {
|
||||
ACTOR_BG_GATE_SHUTTER,
|
||||
ACTORTYPE_ITEMACTION,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_SPOT01_MATOYAB,
|
||||
sizeof(BgGateShutter),
|
||||
@@ -37,7 +35,7 @@ const ActorInit Bg_Gate_Shutter_InitVars = {
|
||||
extern UNK_TYPE D_06001CD0;
|
||||
extern UNK_TYPE D_06001DA8;
|
||||
|
||||
static void BgGateShutter_Init(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
void BgGateShutter_Init(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
s32 pad[2];
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
s32 local_c = 0;
|
||||
@@ -62,11 +60,11 @@ static void BgGateShutter_Init(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc = (ActorFunc)func_8087828C;
|
||||
}
|
||||
|
||||
static void BgGateShutter_Destroy(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
void BgGateShutter_Destroy(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
}
|
||||
|
||||
static void func_8087828C(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
void func_8087828C(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_168 == 1 && !(gSaveContext.inf_table[7] & 0x40)) {
|
||||
this->unk_178 = 2;
|
||||
this->actionFunc = (ActorFunc)func_80878300;
|
||||
@@ -79,7 +77,7 @@ static void func_8087828C(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_80878300(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
void func_80878300(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
if (this->unk_178 == 0) {
|
||||
@@ -94,14 +92,14 @@ static void func_80878300(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_808783AC(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
void func_808783AC(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_178 == 0) {
|
||||
this->unk_168 = 0;
|
||||
this->actionFunc = (ActorFunc)func_8087828C;
|
||||
}
|
||||
}
|
||||
|
||||
static void func_808783D4(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
void func_808783D4(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
if (this->unk_178 == 0) {
|
||||
@@ -117,14 +115,14 @@ static void func_808783D4(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void BgGateShutter_Update(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
void BgGateShutter_Update(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_178 != 0) {
|
||||
this->unk_178 -= 1;
|
||||
}
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
static void BgGateShutter_Draw(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
void BgGateShutter_Draw(BgGateShutter* this, GlobalContext* globalCtx) {
|
||||
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
|
||||
Gfx* dispRefs[4];
|
||||
|
||||
|
||||
@@ -6,21 +6,19 @@
|
||||
|
||||
#include "z_bg_gjyo_bridge.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
static void BgGjyoBridge_Init(BgGjyoBridge* this, GlobalContext* globalCtx);
|
||||
static void BgGjyoBridge_Destroy(BgGjyoBridge* this, GlobalContext* globalCtx);
|
||||
static void BgGjyoBridge_Update(BgGjyoBridge* this, GlobalContext* globalCtx);
|
||||
static void BgGjyoBridge_Draw(BgGjyoBridge* this, GlobalContext* globalCtx);
|
||||
static void func_808787A4(BgGjyoBridge* this, GlobalContext* globalCtx);
|
||||
static void BgGjyoBridge_TriggerCutscene(BgGjyoBridge* this, GlobalContext* globalCtx);
|
||||
static void BgGjyoBridge_SpawnBridge(BgGjyoBridge* this, GlobalContext* globalCtx);
|
||||
void BgGjyoBridge_Init(BgGjyoBridge* this, GlobalContext* globalCtx);
|
||||
void BgGjyoBridge_Destroy(BgGjyoBridge* this, GlobalContext* globalCtx);
|
||||
void BgGjyoBridge_Update(BgGjyoBridge* this, GlobalContext* globalCtx);
|
||||
void BgGjyoBridge_Draw(BgGjyoBridge* this, GlobalContext* globalCtx);
|
||||
void func_808787A4(BgGjyoBridge* this, GlobalContext* globalCtx);
|
||||
void BgGjyoBridge_TriggerCutscene(BgGjyoBridge* this, GlobalContext* globalCtx);
|
||||
void BgGjyoBridge_SpawnBridge(BgGjyoBridge* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit Bg_Gjyo_Bridge_InitVars = {
|
||||
ACTOR_BG_GJYO_BRIDGE,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_GJYO_OBJECTS,
|
||||
sizeof(BgGjyoBridge),
|
||||
@@ -30,7 +28,7 @@ const ActorInit Bg_Gjyo_Bridge_InitVars = {
|
||||
(ActorFunc)BgGjyoBridge_Draw,
|
||||
};
|
||||
|
||||
InitChainEntry initChain[] = {
|
||||
static InitChainEntry initChain[] = {
|
||||
ICHAIN_F32(unk_F8, 800, ICHAIN_CONTINUE),
|
||||
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
@@ -1,17 +1,29 @@
|
||||
/*
|
||||
* File: z_bg_gnd_darkmeiro.c
|
||||
* Overlay: ovl_Bg_Gnd_Darkmeiro
|
||||
* Description: Clear block
|
||||
*/
|
||||
|
||||
#include "z_bg_gnd_darkmeiro.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
void func_80878C30(BgGndDarkmeiro* this, GlobalContext* globalCtx);
|
||||
void BgGndDarkmeiro_Init(BgGndDarkmeiro* this, GlobalContext* globalCtx);
|
||||
void BgGndDarkmeiro_Destroy(BgGndDarkmeiro* this, GlobalContext* globalCtx);
|
||||
void BgGndDarkmeiro_Update(BgGndDarkmeiro* this, GlobalContext* globalCtx);
|
||||
void func_80878F28(BgGndDarkmeiro* this, GlobalContext* globalCtx);
|
||||
void func_80878F34(BgGndDarkmeiro* this, GlobalContext* globalCtx);
|
||||
void func_80879128(BgGndDarkmeiro* this, GlobalContext* globalCtx);
|
||||
void func_80879134(BgGndDarkmeiro* this, GlobalContext* globalCtx);
|
||||
void func_808791BC(BgGndDarkmeiro* this, GlobalContext* globalCtx);
|
||||
void func_808791E8(BgGndDarkmeiro* this, GlobalContext* globalCtx);
|
||||
void func_80879334(BgGndDarkmeiro* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Gnd_Darkmeiro_InitVars = {
|
||||
ACTOR_BG_GND_DARKMEIRO,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_DEMO_KEKKAI,
|
||||
sizeof(BgGndDarkmeiro),
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x24];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ char unk_164[0x8];
|
||||
/* 0x016C */ ActorFunc actionFunc;
|
||||
} BgGndDarkmeiro; // size = 0x0170
|
||||
|
||||
extern const ActorInit Bg_Gnd_Darkmeiro_InitVars;
|
||||
|
||||
@@ -1,18 +1,25 @@
|
||||
/*
|
||||
* File: z_bg_gnd_firemeiro.c
|
||||
* Overlay: ovl_Bg_Gnd_Firemeiro
|
||||
* Description: Sinking lava platform (Ganon's Castle)
|
||||
*/
|
||||
|
||||
#include "z_bg_gnd_firemeiro.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
void BgGndFiremeiro_Init(BgGndFiremeiro* this, GlobalContext* globalCtx);
|
||||
void BgGndFiremeiro_Destroy(BgGndFiremeiro* this, GlobalContext* globalCtx);
|
||||
void BgGndFiremeiro_Update(BgGndFiremeiro* this, GlobalContext* globalCtx);
|
||||
void BgGndFiremeiro_Draw(BgGndFiremeiro* this, GlobalContext* globalCtx);
|
||||
void func_808795AC(BgGndFiremeiro* this, GlobalContext* globalCtx);
|
||||
void func_80879668(BgGndFiremeiro* this, GlobalContext* globalCtx);
|
||||
void func_80879808(BgGndFiremeiro* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Gnd_Firemeiro_InitVars = {
|
||||
ACTOR_BG_GND_FIREMEIRO,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_DEMO_KEKKAI,
|
||||
sizeof(BgGndFiremeiro),
|
||||
|
||||
@@ -5,8 +5,10 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x2C];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ Vec3f unk_164;
|
||||
/* 0x0170 */ char unk_170[0x4];
|
||||
/* 0x0174 */ ActorFunc actionFunc;
|
||||
} BgGndFiremeiro; // size = 0x0178
|
||||
|
||||
extern const ActorInit Bg_Gnd_Firemeiro_InitVars;
|
||||
|
||||
@@ -1,18 +1,26 @@
|
||||
/*
|
||||
* File: z_bg_gnd_iceblock.c
|
||||
* Overlay: ovl_Bg_Gnd_Iceblock
|
||||
* Description: Pushable large square ice block (Inside Ganon's Castle)
|
||||
*/
|
||||
|
||||
#include "z_bg_gnd_iceblock.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
void BgGndIceblock_Init(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
void BgGndIceblock_Destroy(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
void BgGndIceblock_Update(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
void BgGndIceblock_Draw(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
|
||||
void func_8087A0C8(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
void func_8087A184(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
void func_8087A248(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
void func_8087A300(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
void func_8087A39C(BgGndIceblock* this, GlobalContext* globalCtx);
|
||||
/*
|
||||
const ActorInit Bg_Gnd_Iceblock_InitVars = {
|
||||
ACTOR_BG_GND_ICEBLOCK,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_DEMO_KEKKAI,
|
||||
sizeof(BgGndIceblock),
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x28];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc actionFunc;
|
||||
/* 0x0168 */ Vec3f unk_168;
|
||||
} BgGndIceblock; // size = 0x0174
|
||||
|
||||
extern const ActorInit Bg_Gnd_Iceblock_InitVars;
|
||||
|
||||
@@ -4,46 +4,38 @@
|
||||
* Description: 2D Stone Wall
|
||||
*/
|
||||
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
#include <z64.h>
|
||||
#include "z_bg_gnd_nisekabe.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
} ActorGndNisekabe; // size = 0x014C
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
static void Init(ActorGndNisekabe* this, GlobalContext* globalCtx);
|
||||
static void Destroy(ActorGndNisekabe* this, GlobalContext* globalCtx);
|
||||
static void Update(ActorGndNisekabe* this, GlobalContext* globalCtx);
|
||||
static void Draw(ActorGndNisekabe* this, GlobalContext* globalCtx);
|
||||
void BgGndNisekabe_Init(BgGndNisekabe* this, GlobalContext* globalCtx);
|
||||
void BgGndNisekabe_Destroy(BgGndNisekabe* this, GlobalContext* globalCtx);
|
||||
void BgGndNisekabe_Update(BgGndNisekabe* this, GlobalContext* globalCtx);
|
||||
void BgGndNisekabe_Draw(BgGndNisekabe* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit Bg_Gnd_Nisekabe_InitVars = {
|
||||
ACTOR_BG_GND_NISEKABE,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_DEMO_KEKKAI,
|
||||
sizeof(ActorGndNisekabe),
|
||||
(ActorFunc)Init,
|
||||
(ActorFunc)Destroy,
|
||||
(ActorFunc)Update,
|
||||
(ActorFunc)Draw,
|
||||
sizeof(BgGndNisekabe),
|
||||
(ActorFunc)BgGndNisekabe_Init,
|
||||
(ActorFunc)BgGndNisekabe_Destroy,
|
||||
(ActorFunc)BgGndNisekabe_Update,
|
||||
(ActorFunc)BgGndNisekabe_Draw,
|
||||
};
|
||||
|
||||
static u32 segmentAddr[] = { 0x06009230, 0x0600A390, 0x0600B4A0 };
|
||||
|
||||
static void Init(ActorGndNisekabe* this, GlobalContext* globalCtx) {
|
||||
void BgGndNisekabe_Init(BgGndNisekabe* this, GlobalContext* globalCtx) {
|
||||
Actor_SetScale(&this->actor, 0.1);
|
||||
this->actor.unk_F4 = 3000.0;
|
||||
}
|
||||
|
||||
static void Destroy(ActorGndNisekabe* this, GlobalContext* globalCtx) {
|
||||
void BgGndNisekabe_Destroy(BgGndNisekabe* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
static void Update(ActorGndNisekabe* this, GlobalContext* globalCtx) {
|
||||
void BgGndNisekabe_Update(BgGndNisekabe* this, GlobalContext* globalCtx) {
|
||||
if (globalCtx->actorCtx.unk_03 != 0) {
|
||||
this->actor.flags |= 0x80;
|
||||
} else {
|
||||
@@ -51,7 +43,7 @@ static void Update(ActorGndNisekabe* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void Draw(ActorGndNisekabe* this, GlobalContext* globalCtx) {
|
||||
void BgGndNisekabe_Draw(BgGndNisekabe* this, GlobalContext* globalCtx) {
|
||||
u32 index = this->actor.params & 0xFF;
|
||||
|
||||
if ((this->actor.flags & 0x80) == 0x80) {
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
#ifndef _Z_BG_GND_NISEKABE_H_
|
||||
#define _Z_BG_GND_NISEKABE_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
} BgGndNisekabe; // size = 0x014C
|
||||
|
||||
extern const ActorInit Bg_Gnd_Nisekabe_InitVars;
|
||||
|
||||
#endif
|
||||
@@ -1,18 +1,25 @@
|
||||
/*
|
||||
* File: z_bg_gnd_soulmeiro.c
|
||||
* Overlay: ovl_Bg_Gnd_Soulmeiro
|
||||
* Description: Web-Blocked Ceiling Hole (Inside Ganon's Castle)
|
||||
*/
|
||||
|
||||
#include "z_bg_gnd_soulmeiro.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgGndSoulmeiro_Init(BgGndSoulmeiro* this, GlobalContext* globalCtx);
|
||||
void BgGndSoulmeiro_Destroy(BgGndSoulmeiro* this, GlobalContext* globalCtx);
|
||||
void BgGndSoulmeiro_Update(BgGndSoulmeiro* this, GlobalContext* globalCtx);
|
||||
void BgGndSoulmeiro_Draw(BgGndSoulmeiro* this, GlobalContext* globalCtx);
|
||||
void func_8087AF38(BgGndSoulmeiro* this, GlobalContext* globalCtx);
|
||||
void func_8087B284(BgGndSoulmeiro* this, GlobalContext* globalCtx);
|
||||
void func_8087B350(BgGndSoulmeiro* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Gnd_Soulmeiro_InitVars = {
|
||||
ACTOR_BG_GND_SOULMEIRO,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_DEMO_KEKKAI,
|
||||
sizeof(BgGndSoulmeiro),
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x54];
|
||||
/* 0x014C */ char unk_14C[0x50];
|
||||
/* 0x019C */ ActorFunc actionFunc;
|
||||
} BgGndSoulmeiro; // size = 0x01A0
|
||||
|
||||
extern const ActorInit Bg_Gnd_Soulmeiro_InitVars;
|
||||
|
||||
@@ -1,18 +1,26 @@
|
||||
/*
|
||||
* File: z_bg_haka.c
|
||||
* Overlay: ovl_Bg_Haka
|
||||
* Description: Gravestone
|
||||
*/
|
||||
|
||||
#include "z_bg_haka.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgHaka_Init(BgHaka* this, GlobalContext* globalCtx);
|
||||
void BgHaka_Destroy(BgHaka* this, GlobalContext* globalCtx);
|
||||
void BgHaka_Update(BgHaka* this, GlobalContext* globalCtx);
|
||||
void BgHaka_Draw(BgHaka* this, GlobalContext* globalCtx);
|
||||
|
||||
void func_8087B758(BgHaka* this, Player* player);
|
||||
void func_8087B7E8(BgHaka* this, GlobalContext* globalCtx);
|
||||
void func_8087B938(BgHaka* this, GlobalContext* globalCtx);
|
||||
void func_8087BAAC(BgHaka* this, GlobalContext* globalCtx);
|
||||
void func_8087BAE4(BgHaka* this, GlobalContext* globalCtx);
|
||||
/*
|
||||
const ActorInit Bg_Haka_InitVars = {
|
||||
ACTOR_BG_HAKA,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HAKA,
|
||||
sizeof(BgHaka),
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x1C];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc actionFunc;
|
||||
} BgHaka; // size = 0x0168
|
||||
|
||||
extern const ActorInit Bg_Haka_InitVars;
|
||||
|
||||
@@ -1,18 +1,33 @@
|
||||
/*
|
||||
* File: z_bg_haka_gate.c
|
||||
* Overlay: ovl_Bg_Haka_Gate
|
||||
* Description: Truth Spinner Puzzle (Shadow Temple)
|
||||
*/
|
||||
|
||||
#include "z_bg_haka_gate.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgHakaGate_Init(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
void BgHakaGate_Destroy(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
void BgHakaGate_Update(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
void BgHakaGate_Draw(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
void func_8087C114(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
void func_8087C120(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
void func_8087C158(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
void func_8087C270(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
void func_8087C454(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
void func_8087C5D0(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
void func_8087C65C(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
void func_8087C6AC(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
void func_8087C73C(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
void func_8087C794(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
void func_8087C85C(BgHakaGate* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Haka_Gate_InitVars = {
|
||||
ACTOR_BG_HAKA_GATE,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HAKA_OBJECTS,
|
||||
sizeof(BgHakaGate),
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x28];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc actionFunc;
|
||||
/* 0x0168 */ char unk_168[0xC];
|
||||
} BgHakaGate; // size = 0x0174
|
||||
|
||||
extern const ActorInit Bg_Haka_Gate_InitVars;
|
||||
|
||||
@@ -1,18 +1,22 @@
|
||||
#include "z_bg_haka_huta.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgHakaHuta_Init(BgHakaHuta* this, GlobalContext* globalCtx);
|
||||
void BgHakaHuta_Destroy(BgHakaHuta* this, GlobalContext* globalCtx);
|
||||
void BgHakaHuta_Update(BgHakaHuta* this, GlobalContext* globalCtx);
|
||||
void BgHakaHuta_Draw(BgHakaHuta* this, GlobalContext* globalCtx);
|
||||
void func_8087D0AC(BgHakaHuta* this, GlobalContext* globalCtx);
|
||||
// void func_8087D268(BgHakaHuta* this, GlobalContext* globalCtx, u16 arg2); not sure about this one
|
||||
// void func_8087D5B8(BgHakaHuta* this, GlobalContext* globalCtx); not sure about this one
|
||||
void func_8087D66C(BgHakaHuta* this, GlobalContext* globalCtx);
|
||||
void func_8087D720(BgHakaHuta* this, GlobalContext* globalCtx);
|
||||
void func_8087D8C0(BgHakaHuta* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Haka_Huta_InitVars = {
|
||||
ACTOR_BG_HAKA_HUTA,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HAKACH_OBJECTS,
|
||||
sizeof(BgHakaHuta),
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x20];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc actionFunc;
|
||||
/* 0x0168 */ char unk_168[0x4];
|
||||
} BgHakaHuta; // size = 0x016C
|
||||
|
||||
extern const ActorInit Bg_Haka_Huta_InitVars;
|
||||
|
||||
@@ -1,27 +1,25 @@
|
||||
/*
|
||||
* File: z_bg_haka_megane.c
|
||||
* Overlay: ovl_Bg_Haka_Megane
|
||||
* Description:
|
||||
* Description: Shadow Temple Fake Walls
|
||||
*/
|
||||
|
||||
#include "z_bg_haka_megane.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x000000B0
|
||||
|
||||
static void BgHakaMegane_Init(BgHakaMegane* this, GlobalContext* globalCtx);
|
||||
static void BgHakaMegane_Destroy(BgHakaMegane* this, GlobalContext* globalCtx);
|
||||
static void BgHakaMegane_Update(BgHakaMegane* this, GlobalContext* globalCtx);
|
||||
void BgHakaMegane_Init(BgHakaMegane* this, GlobalContext* globalCtx);
|
||||
void BgHakaMegane_Destroy(BgHakaMegane* this, GlobalContext* globalCtx);
|
||||
void BgHakaMegane_Update(BgHakaMegane* this, GlobalContext* globalCtx);
|
||||
|
||||
static void func_8087DB24(BgHakaMegane* this, GlobalContext* globalCtx);
|
||||
static void func_8087DBF0(BgHakaMegane* this, GlobalContext* globalCtx);
|
||||
static void func_8087DC64(BgHakaMegane* this, GlobalContext* globalCtx);
|
||||
static void func_8087DC94(BgHakaMegane* this, GlobalContext* globalCtx);
|
||||
void func_8087DB24(BgHakaMegane* this, GlobalContext* globalCtx);
|
||||
void func_8087DBF0(BgHakaMegane* this, GlobalContext* globalCtx);
|
||||
void func_8087DC64(BgHakaMegane* this, GlobalContext* globalCtx);
|
||||
void func_8087DC94(BgHakaMegane* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit Bg_Haka_Megane_InitVars = {
|
||||
ACTOR_BG_HAKA_MEGANE,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_GAMEPLAY_KEEP,
|
||||
sizeof(BgHakaMegane),
|
||||
@@ -47,7 +45,7 @@ static UNK_TYPE dlists[] = {
|
||||
|
||||
extern UNK_TYPE D_06001250;
|
||||
|
||||
static void BgHakaMegane_Init(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
void BgHakaMegane_Init(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
Actor_ProcessInitChain(thisx, initChain);
|
||||
@@ -66,11 +64,11 @@ static void BgHakaMegane_Init(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void BgHakaMegane_Destroy(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
void BgHakaMegane_Destroy(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
}
|
||||
|
||||
static void func_8087DB24(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
void func_8087DB24(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
s32 localC;
|
||||
UNK_TYPE collision;
|
||||
|
||||
@@ -92,7 +90,7 @@ static void func_8087DB24(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8087DBF0(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
void func_8087DBF0(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
if (globalCtx->actorCtx.unk_03 != 0) {
|
||||
thisx->flags |= 0x80;
|
||||
@@ -103,14 +101,14 @@ static void func_8087DBF0(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8087DC64(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
void func_8087DC64(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
static void BgHakaMegane_Update(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
void BgHakaMegane_Update(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
static void func_8087DC94(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
void func_8087DC94(BgHakaMegane* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
if ((thisx->flags & 0x80) == 0x80) {
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
#include "z_bg_haka_meganebg.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgHakaMeganeBG_Init(BgHakaMeganeBG* this, GlobalContext* globalCtx);
|
||||
void BgHakaMeganeBG_Destroy(BgHakaMeganeBG* this, GlobalContext* globalCtx);
|
||||
void BgHakaMeganeBG_Update(BgHakaMeganeBG* this, GlobalContext* globalCtx);
|
||||
void BgHakaMeganeBG_Draw(BgHakaMeganeBG* this, GlobalContext* globalCtx);
|
||||
void func_8087E258(BgHakaMeganeBG* this, GlobalContext* globalCtx);
|
||||
void func_8087E288(BgHakaMeganeBG* this, GlobalContext* globalCtx);
|
||||
void func_8087E2D8(BgHakaMeganeBG* this, GlobalContext* globalCtx);
|
||||
void func_8087E34C(BgHakaMeganeBG* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Haka_MeganeBG_InitVars = {
|
||||
ACTOR_BG_HAKA_MEGANEBG,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HAKA_OBJECTS,
|
||||
sizeof(BgHakaMeganeBG),
|
||||
|
||||
@@ -5,8 +5,11 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x20];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc actionFunc;
|
||||
/* 0x0168 */ char unk_168[0x1];
|
||||
/* 0x0169 */ s8 unk_169; // objBankIndex ?
|
||||
/* 0x016A */ char unk_16A[0x2];
|
||||
} BgHakaMeganeBG; // size = 0x016C
|
||||
|
||||
extern const ActorInit Bg_Haka_Meganebg_InitVars;
|
||||
|
||||
@@ -1,17 +1,24 @@
|
||||
/*
|
||||
* File: z_bg_haka_sgami.c
|
||||
* Overlay: ovl_Bg_Haka_Sgami
|
||||
* Description: Shadow Temple Spinning Scythe Trap
|
||||
*/
|
||||
|
||||
#include "z_bg_haka_sgami.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000011
|
||||
|
||||
void BgHakaSgami_Init(BgHakaSgami* this, GlobalContext* globalCtx);
|
||||
void BgHakaSgami_Destroy(BgHakaSgami* this, GlobalContext* globalCtx);
|
||||
void BgHakaSgami_Update(BgHakaSgami* this, GlobalContext* globalCtx);
|
||||
void func_8087E7E4(BgHakaSgami* this, GlobalContext* globalCtx);
|
||||
void func_8087E858(BgHakaSgami* this, GlobalContext* globalCtx);
|
||||
void func_8087EDC0(BgHakaSgami* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Haka_Sgami_InitVars = {
|
||||
ACTOR_BG_HAKA_SGAMI,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_GAMEPLAY_KEEP,
|
||||
sizeof(BgHakaSgami),
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x1EC];
|
||||
/* 0x014C */ ActorFunc actionFunc;
|
||||
/* 0x0150 */ char unk_150[0x1E8];
|
||||
} BgHakaSgami; // size = 0x0338
|
||||
|
||||
extern const ActorInit Bg_Haka_Sgami_InitVars;
|
||||
|
||||
@@ -1,18 +1,29 @@
|
||||
/*
|
||||
* File: z_bg_haka_ship.c
|
||||
* Overlay: ovl_Bg_Haka_Ship
|
||||
* Description: Shadow Temple Ship
|
||||
*/
|
||||
|
||||
#include "z_bg_haka_ship.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
void BgHakaShip_Init(BgHakaShip* this, GlobalContext* globalCtx);
|
||||
void BgHakaShip_Destroy(BgHakaShip* this, GlobalContext* globalCtx);
|
||||
void BgHakaShip_Update(BgHakaShip* this, GlobalContext* globalCtx);
|
||||
void BgHakaShip_Draw(BgHakaShip* this, GlobalContext* globalCtx);
|
||||
void func_8087F27C(BgHakaShip* this, GlobalContext* globalCtx);
|
||||
void func_8087F2D8(BgHakaShip* this, GlobalContext* globalCtx);
|
||||
void func_8087F364(BgHakaShip* this, GlobalContext* globalCtx);
|
||||
void func_8087F400(BgHakaShip* this, GlobalContext* globalCtx);
|
||||
void func_8087F5C8(BgHakaShip* this, GlobalContext* globalCtx);
|
||||
void func_8087F624(BgHakaShip* this, GlobalContext* globalCtx);
|
||||
void func_8087F6B4(BgHakaShip* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Haka_Ship_InitVars = {
|
||||
ACTOR_BG_HAKA_SHIP,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HAKA_OBJECTS,
|
||||
sizeof(BgHakaShip),
|
||||
|
||||
@@ -5,8 +5,11 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x2C];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc actionFunc;
|
||||
/* 0x0168 */ char unk_168[0x2];
|
||||
/* 0x016A */ char unk_16A[0x2];
|
||||
/* 0x016C */ Vec3f unk_16C;
|
||||
} BgHakaShip; // size = 0x0178
|
||||
|
||||
extern const ActorInit Bg_Haka_Ship_InitVars;
|
||||
|
||||
@@ -1,18 +1,34 @@
|
||||
/*
|
||||
* File: z_bg_haka_trap.c
|
||||
* Overlay: ovl_Bg_Haka_Trap
|
||||
* Description: Shadow Temple Objects
|
||||
*/
|
||||
|
||||
#include "z_bg_haka_trap.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgHakaTrap_Init(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void BgHakaTrap_Destroy(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void BgHakaTrap_Update(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void BgHakaTrap_Draw(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void func_8087FFC0(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void func_808801B8(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void func_808802D8(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void func_80880484(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void func_808805C0(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void func_808806BC(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void func_808808F4(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void func_808809B0(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
// void func_808809E4(BgHakaTrap* this, GlobalContext* globalCtx, s16 arg2); most likely correct, but not 100% sure
|
||||
void func_80880AE8(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
void func_80880C0C(BgHakaTrap* this, GlobalContext* globalCtx);
|
||||
// func_80880D68
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Haka_Trap_InitVars = {
|
||||
ACTOR_BG_HAKA_TRAP,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HAKA_OBJECTS,
|
||||
sizeof(BgHakaTrap),
|
||||
@@ -22,6 +38,7 @@ const ActorInit Bg_Haka_Trap_InitVars = {
|
||||
(ActorFunc)BgHakaTrap_Draw,
|
||||
};
|
||||
*/
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/BgHakaTrap_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Trap/BgHakaTrap_Destroy.s")
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x150];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc actionFunc;
|
||||
/* 0x0168 */ char unk_168[0x134];
|
||||
} BgHakaTrap; // size = 0x029C
|
||||
|
||||
extern const ActorInit Bg_Haka_Trap_InitVars;
|
||||
|
||||
@@ -1,18 +1,25 @@
|
||||
/*
|
||||
* File: z_bg_haka_tubo.c
|
||||
* Overlay: ovl_Bg_Haka_Tubo
|
||||
* Description: Shadow Temple Giant Skull Jar
|
||||
*/
|
||||
|
||||
#include "z_bg_haka_tubo.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgHakaTubo_Init(BgHakaTubo* this, GlobalContext* globalCtx);
|
||||
void BgHakaTubo_Destroy(BgHakaTubo* this, GlobalContext* globalCtx);
|
||||
void BgHakaTubo_Update(BgHakaTubo* this, GlobalContext* globalCtx);
|
||||
void BgHakaTubo_Draw(BgHakaTubo* this, GlobalContext* globalCtx);
|
||||
void func_808813A0(BgHakaTubo* this, GlobalContext* globalCtx);
|
||||
void func_80881608(BgHakaTubo* this, GlobalContext* globalCtx);
|
||||
void func_80881904(BgHakaTubo* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Haka_Tubo_InitVars = {
|
||||
ACTOR_BG_HAKA_TUBO,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HAKA_OBJECTS,
|
||||
sizeof(BgHakaTubo),
|
||||
@@ -22,6 +29,7 @@ const ActorInit Bg_Haka_Tubo_InitVars = {
|
||||
(ActorFunc)BgHakaTubo_Draw,
|
||||
};
|
||||
*/
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Tubo/BgHakaTubo_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Tubo/BgHakaTubo_Destroy.s")
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0xB8];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc actionFunc;
|
||||
/* 0x0168 */ char unk_168[0x9C];
|
||||
} BgHakaTubo; // size = 0x0204
|
||||
|
||||
extern const ActorInit Bg_Haka_Tubo_InitVars;
|
||||
|
||||
@@ -1,18 +1,25 @@
|
||||
/*
|
||||
* File: z_bg_haka_water.c
|
||||
* Overlay: ovl_Bg_Haka_Water
|
||||
* Description: Bottom of the Well water level changer
|
||||
*/
|
||||
|
||||
#include "z_bg_haka_water.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
void BgHakaWater_Init(BgHakaWater* this, GlobalContext* globalCtx);
|
||||
void BgHakaWater_Destroy(BgHakaWater* this, GlobalContext* globalCtx);
|
||||
void BgHakaWater_Update(BgHakaWater* this, GlobalContext* globalCtx);
|
||||
void BgHakaWater_Draw(BgHakaWater* this, GlobalContext* globalCtx);
|
||||
// ? func_80881D94(BgHakaWater* this, GlobalContext* globalCtx) // not entirely sure on this one
|
||||
void func_80881EDC(BgHakaWater* this, GlobalContext* globalCtx);
|
||||
void func_80881F98(BgHakaWater* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Haka_Water_InitVars = {
|
||||
ACTOR_BG_HAKA_WATER,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HAKACH_OBJECTS,
|
||||
sizeof(BgHakaWater),
|
||||
@@ -22,6 +29,7 @@ const ActorInit Bg_Haka_Water_InitVars = {
|
||||
(ActorFunc)BgHakaWater_Draw,
|
||||
};
|
||||
*/
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Water/BgHakaWater_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Haka_Water/BgHakaWater_Destroy.s")
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x8];
|
||||
/* 0x014C */ ActorFunc actionFunc;
|
||||
/* 0x0150 */ char unk_150[0x4];
|
||||
} BgHakaWater; // size = 0x0154
|
||||
|
||||
extern const ActorInit Bg_Haka_Water_InitVars;
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
/*
|
||||
* File: z_bg_haka_zou.c
|
||||
* Overlay: ovl_Bg_Haka_Zou
|
||||
* Description: Statue and Wall (Shadow Temple)
|
||||
*/
|
||||
|
||||
#include "z_bg_haka_zou.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgHakaZou_Init(BgHakaZou* this, GlobalContext* globalCtx);
|
||||
@@ -11,7 +16,6 @@ void BgHakaZou_Update(BgHakaZou* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Haka_Zou_InitVars = {
|
||||
ACTOR_BG_HAKA_ZOU,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_GAMEPLAY_KEEP,
|
||||
sizeof(BgHakaZou),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_heavy_block.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgHeavyBlock_Init(BgHeavyBlock* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgHeavyBlock_Draw(BgHeavyBlock* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Heavy_Block_InitVars = {
|
||||
ACTOR_BG_HEAVY_BLOCK,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HEAVY_OBJECT,
|
||||
sizeof(BgHeavyBlock),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_hidan_curtain.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgHidanCurtain_Init(BgHidanCurtain* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgHidanCurtain_Draw(BgHidanCurtain* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Hidan_Curtain_InitVars = {
|
||||
ACTOR_BG_HIDAN_CURTAIN,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_GAMEPLAY_KEEP,
|
||||
sizeof(BgHidanCurtain),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_hidan_dalm.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgHidanDalm_Init(BgHidanDalm* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgHidanDalm_Draw(BgHidanDalm* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Hidan_Dalm_InitVars = {
|
||||
ACTOR_BG_HIDAN_DALM,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HIDAN_OBJECTS,
|
||||
sizeof(BgHidanDalm),
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
#include "z_bg_hidan_firewall.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgHidanFirewall_Init(BgHidanFirewall* this, GlobalContext* globalCtx);
|
||||
@@ -25,7 +24,6 @@ extern Gfx D_0600DA80[];
|
||||
const ActorInit Bg_Hidan_Firewall_InitVars = {
|
||||
ACTOR_BG_HIDAN_FIREWALL,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HIDAN_OBJECTS,
|
||||
sizeof(BgHidanFirewall),
|
||||
|
||||
@@ -6,17 +6,16 @@
|
||||
|
||||
#include "z_bg_hidan_fslift.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
static void BgHidanFslift_Init(BgHidanFslift* this, GlobalContext* globalCtx);
|
||||
static void BgHidanFslift_Destroy(BgHidanFslift* this, GlobalContext* globalCtx);
|
||||
static void BgHidanFslift_Update(BgHidanFslift* this, GlobalContext* globalCtx);
|
||||
static void BgHidanFslift_Draw(BgHidanFslift* this, GlobalContext* globalCtx);
|
||||
void BgHidanFslift_Init(BgHidanFslift* this, GlobalContext* globalCtx);
|
||||
void BgHidanFslift_Destroy(BgHidanFslift* this, GlobalContext* globalCtx);
|
||||
void BgHidanFslift_Update(BgHidanFslift* this, GlobalContext* globalCtx);
|
||||
void BgHidanFslift_Draw(BgHidanFslift* this, GlobalContext* globalCtx);
|
||||
|
||||
static void func_80886FCC(BgHidanFslift* this, GlobalContext* globalCtx);
|
||||
static void func_8088706C(BgHidanFslift* this, GlobalContext* globalCtx);
|
||||
static void func_808870D8(BgHidanFslift* this, GlobalContext* globalCtx);
|
||||
void func_80886FCC(BgHidanFslift* this, GlobalContext* globalCtx);
|
||||
void func_8088706C(BgHidanFslift* this, GlobalContext* globalCtx);
|
||||
void func_808870D8(BgHidanFslift* this, GlobalContext* globalCtx);
|
||||
|
||||
extern u32 D_0600B630;
|
||||
extern u32 D_0600E1E8;
|
||||
@@ -24,7 +23,6 @@ extern u32 D_0600E1E8;
|
||||
const ActorInit Bg_Hidan_Fslift_InitVars = {
|
||||
ACTOR_BG_HIDAN_FSLIFT,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HIDAN_OBJECTS,
|
||||
sizeof(BgHidanFslift),
|
||||
@@ -41,7 +39,7 @@ static InitChainEntry initChain[] = {
|
||||
ICHAIN_F32(unk_F4, 2000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
static void BgHidanFslift_Init(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
void BgHidanFslift_Init(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
s32 pad[2];
|
||||
s32 local_c = 0;
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
@@ -58,7 +56,7 @@ static void BgHidanFslift_Init(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc = func_80886FCC;
|
||||
}
|
||||
|
||||
static void func_80886F24(BgHidanFslift* this) {
|
||||
void func_80886F24(BgHidanFslift* this) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
if (thisx->attachedB != NULL && thisx->attachedB->update != NULL) {
|
||||
thisx->attachedB->posRot.pos.x = thisx->posRot.pos.x;
|
||||
@@ -69,16 +67,16 @@ static void func_80886F24(BgHidanFslift* this) {
|
||||
thisx->attachedB = NULL;
|
||||
}
|
||||
|
||||
static void BgHidanFslift_Destroy(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
void BgHidanFslift_Destroy(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
}
|
||||
|
||||
static void func_80886FB4(BgHidanFslift* this) {
|
||||
void func_80886FB4(BgHidanFslift* this) {
|
||||
this->unk_168 = 0x28;
|
||||
this->actionFunc = func_80886FCC;
|
||||
}
|
||||
|
||||
static void func_80886FCC(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
void func_80886FCC(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
UNK_TYPE somebool;
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
|
||||
@@ -101,7 +99,7 @@ static void func_80886FCC(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8088706C(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
void func_8088706C(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
if (Math_ApproxF(&thisx->posRot.pos.y, thisx->initPosRot.pos.y, 4.0f)) {
|
||||
Audio_PlayActorSound2(thisx, NA_SE_EV_BLOCK_BOUND);
|
||||
@@ -112,7 +110,7 @@ static void func_8088706C(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
func_80886F24(this);
|
||||
}
|
||||
|
||||
static void func_808870D8(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
void func_808870D8(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
if (func_80043590(thisx)) {
|
||||
if (Math_ApproxF(&thisx->posRot.pos.y, thisx->initPosRot.pos.y + 790.0f, 4.0f)) {
|
||||
@@ -127,7 +125,7 @@ static void func_808870D8(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
func_80886F24(this);
|
||||
}
|
||||
|
||||
static void BgHidanFslift_Update(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
void BgHidanFslift_Update(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->dyna.actor;
|
||||
this->actionFunc(this, globalCtx);
|
||||
if (func_8004356C(thisx)) {
|
||||
@@ -145,6 +143,6 @@ static void BgHidanFslift_Update(BgHidanFslift* this, GlobalContext* globalCtx)
|
||||
}
|
||||
}
|
||||
|
||||
static void BgHidanFslift_Draw(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
void BgHidanFslift_Draw(BgHidanFslift* this, GlobalContext* globalCtx) {
|
||||
Gfx_DrawDListOpa(globalCtx, &D_0600B630);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_hidan_fwbig.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgHidanFwbig_Init(BgHidanFwbig* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgHidanFwbig_Draw(BgHidanFwbig* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Hidan_Fwbig_InitVars = {
|
||||
ACTOR_BG_HIDAN_FWBIG,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HIDAN_OBJECTS,
|
||||
sizeof(BgHidanFwbig),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_hidan_hamstep.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgHidanHamstep_Init(BgHidanHamstep* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgHidanHamstep_Draw(BgHidanHamstep* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Hidan_Hamstep_InitVars = {
|
||||
ACTOR_BG_HIDAN_HAMSTEP,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HIDAN_OBJECTS,
|
||||
sizeof(BgHidanHamstep),
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
/*
|
||||
* File: z_bg_hidan_hrock.c
|
||||
* Overlay: ovl_Bg_Hidan_Hrock
|
||||
* Description: Huge stone spike platform (Fire Temple)
|
||||
*/
|
||||
|
||||
#include "z_bg_hidan_hrock.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgHidanHrock_Init(BgHidanHrock* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +17,6 @@ void BgHidanHrock_Draw(BgHidanHrock* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Hidan_Hrock_InitVars = {
|
||||
ACTOR_BG_HIDAN_HROCK,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HIDAN_OBJECTS,
|
||||
sizeof(BgHidanHrock),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_hidan_kousi.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgHidanKousi_Init(BgHidanKousi* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgHidanKousi_Draw(BgHidanKousi* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Hidan_Kousi_InitVars = {
|
||||
ACTOR_BG_HIDAN_KOUSI,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HIDAN_OBJECTS,
|
||||
sizeof(BgHidanKousi),
|
||||
@@ -22,7 +20,7 @@ const ActorInit Bg_Hidan_Kousi_InitVars = {
|
||||
(ActorFunc)BgHidanKousi_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kousi/func_80889960.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kousi/BgHidanKousi_SetupAction.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Kousi/BgHidanKousi_Init.s")
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_hidan_kowarerukabe.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgHidanKowarerukabe_Init(BgHidanKowarerukabe* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgHidanKowarerukabe_Draw(BgHidanKowarerukabe* this, GlobalContext* globalCt
|
||||
const ActorInit Bg_Hidan_Kowarerukabe_InitVars = {
|
||||
ACTOR_BG_HIDAN_KOWARERUKABE,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HIDAN_OBJECTS,
|
||||
sizeof(BgHidanKowarerukabe),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_hidan_rock.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgHidanRock_Init(BgHidanRock* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgHidanRock_Draw(BgHidanRock* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Hidan_Rock_InitVars = {
|
||||
ACTOR_BG_HIDAN_ROCK,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HIDAN_OBJECTS,
|
||||
sizeof(BgHidanRock),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_hidan_rsekizou.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgHidanRsekizou_Init(BgHidanRsekizou* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgHidanRsekizou_Draw(BgHidanRsekizou* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Hidan_Rsekizou_InitVars = {
|
||||
ACTOR_BG_HIDAN_RSEKIZOU,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HIDAN_OBJECTS,
|
||||
sizeof(BgHidanRsekizou),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_hidan_sekizou.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgHidanSekizou_Init(BgHidanSekizou* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgHidanSekizou_Draw(BgHidanSekizou* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Hidan_Sekizou_InitVars = {
|
||||
ACTOR_BG_HIDAN_SEKIZOU,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HIDAN_OBJECTS,
|
||||
sizeof(BgHidanSekizou),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_hidan_sima.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgHidanSima_Init(BgHidanSima* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgHidanSima_Draw(BgHidanSima* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Hidan_Sima_InitVars = {
|
||||
ACTOR_BG_HIDAN_SIMA,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HIDAN_OBJECTS,
|
||||
sizeof(BgHidanSima),
|
||||
|
||||
@@ -4,44 +4,28 @@
|
||||
* Description: Stone Elevator in the Fire Temple
|
||||
*/
|
||||
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
#include "z_bg_hidan_syoku.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ u32 dynaPolyId;
|
||||
/* 0x0150 */ f32 unk_150;
|
||||
/* 0x0154 */ f32 unk_154;
|
||||
/* 0x0158 */ u32 unk_158;
|
||||
/* 0x015C */ u32 unk_15C;
|
||||
/* 0x0160 */ u8 unk_160;
|
||||
/* 0x0164 */ ActorFunc updateFunc;
|
||||
/* 0x0168 */ s16 unk_168;
|
||||
/* 0x016A */ s16 unk_16A;
|
||||
} ActorHidanSyoku; // size = 0x016C
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
static void Init(ActorHidanSyoku* this, GlobalContext* globalCtx);
|
||||
static void Destroy(ActorHidanSyoku* this, GlobalContext* globalCtx);
|
||||
static void func_8088F4B8(ActorHidanSyoku* this, GlobalContext* globalCtx);
|
||||
static void func_8088F514(ActorHidanSyoku* this, GlobalContext* globalCtx);
|
||||
static void func_8088F62C(ActorHidanSyoku* this, GlobalContext* globalCtx);
|
||||
static void Update(ActorHidanSyoku* this, GlobalContext* globalCtx);
|
||||
static void Draw(ActorHidanSyoku* this, GlobalContext* globalCtx);
|
||||
void BgHidanSyoku_Init(BgHidanSyoku* this, GlobalContext* globalCtx);
|
||||
void BgHidanSyoku_Destroy(BgHidanSyoku* this, GlobalContext* globalCtx);
|
||||
void func_8088F4B8(BgHidanSyoku* this, GlobalContext* globalCtx);
|
||||
void func_8088F514(BgHidanSyoku* this, GlobalContext* globalCtx);
|
||||
void func_8088F62C(BgHidanSyoku* this, GlobalContext* globalCtx);
|
||||
void BgHidanSyoku_Update(BgHidanSyoku* this, GlobalContext* globalCtx);
|
||||
void BgHidanSyoku_Draw(BgHidanSyoku* this, GlobalContext* globalCtx);
|
||||
|
||||
const ActorInit Bg_Hidan_Syoku_InitVars = {
|
||||
ACTOR_BG_HIDAN_SYOKU,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_HIDAN_OBJECTS,
|
||||
sizeof(ActorHidanSyoku),
|
||||
(ActorFunc)Init,
|
||||
(ActorFunc)Destroy,
|
||||
(ActorFunc)Update,
|
||||
(ActorFunc)Draw,
|
||||
sizeof(BgHidanSyoku),
|
||||
(ActorFunc)BgHidanSyoku_Init,
|
||||
(ActorFunc)BgHidanSyoku_Destroy,
|
||||
(ActorFunc)BgHidanSyoku_Update,
|
||||
(ActorFunc)BgHidanSyoku_Draw,
|
||||
};
|
||||
|
||||
static InitChainEntry initChain[] = {
|
||||
@@ -51,83 +35,83 @@ static InitChainEntry initChain[] = {
|
||||
extern UNK_PTR D_0600A7E0;
|
||||
extern UNK_PTR D_0600E568;
|
||||
|
||||
static void Init(ActorHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
void BgHidanSyoku_Init(BgHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
s32 pad[2];
|
||||
u32 local_c = 0;
|
||||
|
||||
Actor_ProcessInitChain(&this->actor, initChain);
|
||||
DynaPolyInfo_SetActorMove(&this->actor, 1);
|
||||
Actor_ProcessInitChain(&this->dyna.actor, initChain);
|
||||
DynaPolyInfo_SetActorMove(&this->dyna.actor, 1);
|
||||
DynaPolyInfo_Alloc(&D_0600E568, &local_c);
|
||||
this->dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->actor, local_c);
|
||||
this->updateFunc = &func_8088F4B8;
|
||||
this->actor.initPosRot.pos.y += 540.0f;
|
||||
this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, local_c);
|
||||
this->updateFunc = func_8088F4B8;
|
||||
this->dyna.actor.initPosRot.pos.y += 540.0f;
|
||||
}
|
||||
|
||||
static void Destroy(ActorHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dynaPolyId);
|
||||
void BgHidanSyoku_Destroy(BgHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
}
|
||||
|
||||
static void func_8088F47C(ActorHidanSyoku* this) {
|
||||
this->unk_16A = 0x3c;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_BLOCK_BOUND);
|
||||
this->updateFunc = &func_8088F62C;
|
||||
void func_8088F47C(BgHidanSyoku* this) {
|
||||
this->unk_16A = 0x3C;
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BLOCK_BOUND);
|
||||
this->updateFunc = func_8088F62C;
|
||||
}
|
||||
|
||||
static void func_8088F4B8(ActorHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
if (Flags_GetClear(globalCtx, this->actor.room) && func_8004356C(&this->actor)) {
|
||||
this->unk_16A = 0x8c;
|
||||
this->updateFunc = &func_8088F514;
|
||||
void func_8088F4B8(BgHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
if (Flags_GetClear(globalCtx, this->dyna.actor.room) && func_8004356C(&this->dyna.actor)) {
|
||||
this->unk_16A = 0x8C;
|
||||
this->updateFunc = func_8088F514;
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8088F514(ActorHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
void func_8088F514(BgHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_16A != 0) {
|
||||
this->unk_16A -= 1;
|
||||
}
|
||||
this->actor.posRot.pos.y = (cosf(this->unk_16A * (M_PI / 140)) * 540.0f) + this->actor.initPosRot.pos.y;
|
||||
this->dyna.actor.posRot.pos.y = (cosf(this->unk_16A * (M_PI / 140)) * 540.0f) + this->dyna.actor.initPosRot.pos.y;
|
||||
if (this->unk_16A == 0) {
|
||||
func_8088F47C(this);
|
||||
} else {
|
||||
func_8002F974(&this->actor, 0x20b9);
|
||||
func_8002F974(&this->dyna.actor, 0x20b9);
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8088F5A0(ActorHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
void func_8088F5A0(BgHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_16A != 0) {
|
||||
this->unk_16A -= 1;
|
||||
}
|
||||
this->actor.posRot.pos.y = this->actor.initPosRot.pos.y - (cosf(this->unk_16A * (M_PI / 140)) * 540.0f);
|
||||
this->dyna.actor.posRot.pos.y = this->dyna.actor.initPosRot.pos.y - (cosf(this->unk_16A * (M_PI / 140)) * 540.0f);
|
||||
if (this->unk_16A == 0) {
|
||||
func_8088F47C(this);
|
||||
} else {
|
||||
func_8002F974(&this->actor, 0x20b9);
|
||||
func_8002F974(&this->dyna.actor, 0x20b9);
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8088F62C(ActorHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
void func_8088F62C(BgHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
if (this->unk_16A != 0) {
|
||||
this->unk_16A -= 1;
|
||||
}
|
||||
if (this->unk_16A == 0) {
|
||||
this->unk_16A = 0x8c;
|
||||
if (this->actor.posRot.pos.y < this->actor.initPosRot.pos.y) {
|
||||
this->updateFunc = &func_8088F514;
|
||||
if (this->dyna.actor.posRot.pos.y < this->dyna.actor.initPosRot.pos.y) {
|
||||
this->updateFunc = func_8088F514;
|
||||
} else {
|
||||
this->updateFunc = &func_8088F5A0;
|
||||
this->updateFunc = func_8088F5A0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void Update(ActorHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
void BgHidanSyoku_Update(BgHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
this->updateFunc(this, globalCtx);
|
||||
if (func_8004356C(&this->actor)) {
|
||||
if (func_8004356C(&this->dyna.actor)) {
|
||||
if (this->unk_168 == 0) {
|
||||
this->unk_168 = 3;
|
||||
}
|
||||
func_8005A77C(globalCtx->cameraCtx.activeCameraPtrs[0], 0x30);
|
||||
return;
|
||||
}
|
||||
if (!func_8004356C(&this->actor)) {
|
||||
if (!func_8004356C(&this->dyna.actor)) {
|
||||
if (this->unk_168 != 0) {
|
||||
func_8005A77C(globalCtx->cameraCtx.activeCameraPtrs[0], 3);
|
||||
}
|
||||
@@ -135,6 +119,6 @@ static void Update(ActorHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void Draw(ActorHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
void BgHidanSyoku_Draw(BgHidanSyoku* this, GlobalContext* globalCtx) {
|
||||
Gfx_DrawDListOpa(globalCtx, &D_0600A7E0);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
#ifndef _Z_BG_HIDAN_SYOKU_H_
|
||||
#define _Z_BG_HIDAN_SYOKU_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc updateFunc;
|
||||
/* 0x0168 */ s16 unk_168;
|
||||
/* 0x016A */ s16 unk_16A;
|
||||
} BgHidanSyoku; // size = 0x016C
|
||||
|
||||
extern const ActorInit Bg_Hidan_Syoku_InitVars;
|
||||
|
||||
#endif;
|
||||
@@ -1,6 +1,11 @@
|
||||
/*
|
||||
* File: z_bg_ice_objects.c
|
||||
* Overlay: ovl_Bg_Ice_Objects
|
||||
* Description: Movable Ice Block.
|
||||
*/
|
||||
|
||||
#include "z_bg_ice_objects.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgIceObjects_Init(BgIceObjects* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +17,6 @@ void BgIceObjects_Draw(BgIceObjects* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Ice_Objects_InitVars = {
|
||||
ACTOR_BG_ICE_OBJECTS,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_ICE_OBJECTS,
|
||||
sizeof(BgIceObjects),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_ice_shelter.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgIceShelter_Init(BgIceShelter* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgIceShelter_Draw(BgIceShelter* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Ice_Shelter_InitVars = {
|
||||
ACTOR_BG_ICE_SHELTER,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_ICE_OBJECTS,
|
||||
sizeof(BgIceShelter),
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
/*
|
||||
* File: z_bg_ice_shutter.c
|
||||
* Overlay: ovl_Bg_Ice_Shutter
|
||||
* Description: 2D Ice Bars
|
||||
*/
|
||||
|
||||
#include "z_bg_ice_shutter.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgIceShutter_Init(BgIceShutter* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +17,6 @@ void BgIceShutter_Draw(BgIceShutter* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Ice_Shutter_InitVars = {
|
||||
ACTOR_BG_ICE_SHUTTER,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_ICE_OBJECTS,
|
||||
sizeof(BgIceShutter),
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x1C];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc actionFunc;
|
||||
} BgIceShutter; // size = 0x0168
|
||||
|
||||
extern const ActorInit Bg_Ice_Shutter_InitVars;
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
/*
|
||||
* File: z_bg_ice_turara.c
|
||||
* Overlay: ovl_Bg_Ice_Turara
|
||||
* Description: Icicles
|
||||
*/
|
||||
|
||||
#include "z_bg_ice_turara.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgIceTurara_Init(BgIceTurara* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +17,6 @@ void BgIceTurara_Draw(BgIceTurara* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Ice_Turara_InitVars = {
|
||||
ACTOR_BG_ICE_TURARA,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_ICE_OBJECTS,
|
||||
sizeof(BgIceTurara),
|
||||
|
||||
@@ -1,18 +1,25 @@
|
||||
/*
|
||||
* File: z_bg_ingate.c
|
||||
* Overlay: ovl_Bg_Ingate
|
||||
* Description: Ingo's Gates (Lon Lon Ranch)
|
||||
*/
|
||||
|
||||
#include "z_bg_ingate.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgIngate_Init(BgIngate* this, GlobalContext* globalCtx);
|
||||
void BgIngate_Destroy(BgIngate* this, GlobalContext* globalCtx);
|
||||
void BgIngate_Update(BgIngate* this, GlobalContext* globalCtx);
|
||||
void BgIngate_Draw(BgIngate* this, GlobalContext* globalCtx);
|
||||
void BgIngate_SetupAction(BgIngate* this, ActorFunc actionFunc);
|
||||
void func_80892890(BgIngate* this, GlobalContext* globalCtx);
|
||||
void func_80892990(BgIngate* this, GlobalContext* globalCtx);
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Ingate_InitVars = {
|
||||
ACTOR_BG_INGATE,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_INGATE,
|
||||
sizeof(BgIngate),
|
||||
@@ -22,7 +29,7 @@ const ActorInit Bg_Ingate_InitVars = {
|
||||
(ActorFunc)BgIngate_Draw,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ingate/func_80892740.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ingate/BgIngate_SetupAction.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Ingate/BgIngate_Init.s")
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x1C];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ ActorFunc actionFunc;
|
||||
} BgIngate; // size = 0x0168
|
||||
|
||||
extern const ActorInit Bg_Ingate_InitVars;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_jya_1flift.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgJya1flift_Init(BgJya1flift* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgJya1flift_Draw(BgJya1flift* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Jya_1flift_InitVars = {
|
||||
ACTOR_BG_JYA_1FLIFT,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_JYA_OBJ,
|
||||
sizeof(BgJya1flift),
|
||||
|
||||
@@ -4,37 +4,27 @@
|
||||
* Description: Circular Metal Grate (Spirit Temple)
|
||||
*/
|
||||
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
#include "z_bg_jya_amishutter.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ u32 dynaPolyId;
|
||||
/* 0x0150 */ char unk_150[0x14];
|
||||
/* 0x0164 */ void (*updateFunc)(Actor*);
|
||||
} BgJyaAmishutter; // size = 0x0168
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
static void BgJyaAmishutter_Init(BgJyaAmishutter* this, GlobalContext* globalCtx);
|
||||
static void BgJyaAmishutter_Destroy(BgJyaAmishutter* this, GlobalContext* globalCtx);
|
||||
static void BgJyaAmishutter_Update(BgJyaAmishutter* this, GlobalContext* globalCtx);
|
||||
static void BgJyaAmishutter_Draw(BgJyaAmishutter* this, GlobalContext* globalCtx);
|
||||
void BgJyaAmishutter_Init(BgJyaAmishutter* this, GlobalContext* globalCtx);
|
||||
void BgJyaAmishutter_Destroy(BgJyaAmishutter* this, GlobalContext* globalCtx);
|
||||
void BgJyaAmishutter_Update(BgJyaAmishutter* this, GlobalContext* globalCtx);
|
||||
void BgJyaAmishutter_Draw(BgJyaAmishutter* this, GlobalContext* globalCtx);
|
||||
|
||||
static void func_808933BC(BgJyaAmishutter* this);
|
||||
static void func_808933CC(BgJyaAmishutter* this);
|
||||
static void func_80893428(BgJyaAmishutter* this);
|
||||
static void func_80893438(BgJyaAmishutter* this);
|
||||
static void func_808934B0(BgJyaAmishutter* this);
|
||||
static void func_808934C0(BgJyaAmishutter* this);
|
||||
static void func_808934FC(BgJyaAmishutter* this);
|
||||
static void func_8089350C(BgJyaAmishutter* this);
|
||||
void func_808933BC(BgJyaAmishutter* this);
|
||||
void func_808933CC(BgJyaAmishutter* this);
|
||||
void func_80893428(BgJyaAmishutter* this);
|
||||
void func_80893438(BgJyaAmishutter* this);
|
||||
void func_808934B0(BgJyaAmishutter* this);
|
||||
void func_808934C0(BgJyaAmishutter* this);
|
||||
void func_808934FC(BgJyaAmishutter* this);
|
||||
void func_8089350C(BgJyaAmishutter* this);
|
||||
|
||||
const ActorInit Bg_Jya_Amishutter_InitVars = {
|
||||
ACTOR_BG_JYA_AMISHUTTER,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_JYA_OBJ,
|
||||
sizeof(BgJyaAmishutter),
|
||||
@@ -54,7 +44,7 @@ static InitChainEntry initChain[] = {
|
||||
extern UNK_TYPE D_0600C4C8;
|
||||
extern UNK_TYPE D_0600C0A0;
|
||||
|
||||
static void func_808932C0(BgJyaAmishutter* this, GlobalContext* globalCtx, u32 collision, DynaPolyMoveFlag flag) {
|
||||
void func_808932C0(BgJyaAmishutter* this, GlobalContext* globalCtx, u32 collision, DynaPolyMoveFlag flag) {
|
||||
s16 pad1;
|
||||
u32 local_c = 0;
|
||||
s16 pad2;
|
||||
@@ -68,21 +58,21 @@ static void func_808932C0(BgJyaAmishutter* this, GlobalContext* globalCtx, u32 c
|
||||
}
|
||||
}
|
||||
|
||||
static void BgJyaAmishutter_Init(BgJyaAmishutter* this, GlobalContext* globalCtx) {
|
||||
void BgJyaAmishutter_Init(BgJyaAmishutter* this, GlobalContext* globalCtx) {
|
||||
func_808932C0(this, globalCtx, &D_0600C4C8, 0);
|
||||
Actor_ProcessInitChain(&this->actor, initChain);
|
||||
func_808933BC(this);
|
||||
}
|
||||
|
||||
static void BgJyaAmishutter_Destroy(BgJyaAmishutter* this, GlobalContext* globalCtx) {
|
||||
void BgJyaAmishutter_Destroy(BgJyaAmishutter* this, GlobalContext* globalCtx) {
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dynaPolyId);
|
||||
}
|
||||
|
||||
static void func_808933BC(BgJyaAmishutter* this) {
|
||||
void func_808933BC(BgJyaAmishutter* this) {
|
||||
this->updateFunc = func_808933CC;
|
||||
}
|
||||
|
||||
static void func_808933CC(BgJyaAmishutter* this) {
|
||||
void func_808933CC(BgJyaAmishutter* this) {
|
||||
if (this->actor.xzDistanceFromLink < 60.0f) {
|
||||
if (fabsf(this->actor.yDistanceFromLink) < 30.0f) {
|
||||
func_80893428(this);
|
||||
@@ -90,11 +80,11 @@ static void func_808933CC(BgJyaAmishutter* this) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_80893428(BgJyaAmishutter* this) {
|
||||
void func_80893428(BgJyaAmishutter* this) {
|
||||
this->updateFunc = func_80893438;
|
||||
}
|
||||
|
||||
static void func_80893438(BgJyaAmishutter* this) {
|
||||
void func_80893438(BgJyaAmishutter* this) {
|
||||
if (Math_ApproxF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y + 100.0f, 3.0f)) {
|
||||
func_808934B0(this);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_METALDOOR_STOP);
|
||||
@@ -103,21 +93,21 @@ static void func_80893438(BgJyaAmishutter* this) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_808934B0(BgJyaAmishutter* this) {
|
||||
void func_808934B0(BgJyaAmishutter* this) {
|
||||
this->updateFunc = func_808934C0;
|
||||
}
|
||||
|
||||
static void func_808934C0(BgJyaAmishutter* this) {
|
||||
void func_808934C0(BgJyaAmishutter* this) {
|
||||
if (this->actor.xzDistanceFromLink > 300.0f) {
|
||||
func_808934FC(this);
|
||||
}
|
||||
}
|
||||
|
||||
static void func_808934FC(BgJyaAmishutter* this) {
|
||||
void func_808934FC(BgJyaAmishutter* this) {
|
||||
this->updateFunc = func_8089350C;
|
||||
}
|
||||
|
||||
static void func_8089350C(BgJyaAmishutter* this) {
|
||||
void func_8089350C(BgJyaAmishutter* this) {
|
||||
if (Math_ApproxF(&this->actor.posRot.pos.y, this->actor.initPosRot.pos.y, 3.0f)) {
|
||||
func_808933BC(this);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_METALDOOR_STOP);
|
||||
@@ -126,10 +116,10 @@ static void func_8089350C(BgJyaAmishutter* this) {
|
||||
}
|
||||
}
|
||||
|
||||
static void BgJyaAmishutter_Update(BgJyaAmishutter* this, GlobalContext* globalCtx) {
|
||||
void BgJyaAmishutter_Update(BgJyaAmishutter* this, GlobalContext* globalCtx) {
|
||||
this->updateFunc(this);
|
||||
}
|
||||
|
||||
static void BgJyaAmishutter_Draw(BgJyaAmishutter* this, GlobalContext* globalCtx) {
|
||||
void BgJyaAmishutter_Draw(BgJyaAmishutter* this, GlobalContext* globalCtx) {
|
||||
Gfx_DrawDListOpa(globalCtx, &D_0600C0A0);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
#ifndef _Z_BG_JYA_AMISHUTTER_H_
|
||||
#define _Z_BG_JYA_AMISHUTTER_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ u32 dynaPolyId;
|
||||
/* 0x0150 */ char unk_150[0x14];
|
||||
/* 0x0164 */ void (*updateFunc)(Actor*);
|
||||
} BgJyaAmishutter; // size = 0x0168
|
||||
|
||||
extern const ActorInit Bg_Jya_Amishutter_InitVars;
|
||||
|
||||
#endif
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_jya_bigmirror.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000030
|
||||
|
||||
void BgJyaBigmirror_Init(BgJyaBigmirror* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgJyaBigmirror_Draw(BgJyaBigmirror* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Jya_Bigmirror_InitVars = {
|
||||
ACTOR_BG_JYA_BIGMIRROR,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_JYA_OBJ,
|
||||
sizeof(BgJyaBigmirror),
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
/*
|
||||
* File: z_bg_jya_block.c
|
||||
* Overlay: ovl_Bg_Jya_Block
|
||||
* Description: Silver Block (Child Link)
|
||||
*/
|
||||
|
||||
#include "z_bg_jya_block.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgJyaBlock_Init(BgJyaBlock* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +17,6 @@ void BgJyaBlock_Draw(BgJyaBlock* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Jya_Block_InitVars = {
|
||||
ACTOR_BG_JYA_BLOCK,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_GAMEPLAY_DANGEON_KEEP,
|
||||
sizeof(BgJyaBlock),
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x18];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
} BgJyaBlock; // size = 0x0164
|
||||
|
||||
extern const ActorInit Bg_Jya_Block_InitVars;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_jya_bombchuiwa.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000001
|
||||
|
||||
void BgJyaBombchuiwa_Init(BgJyaBombchuiwa* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgJyaBombchuiwa_Draw(BgJyaBombchuiwa* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Jya_Bombchuiwa_InitVars = {
|
||||
ACTOR_BG_JYA_BOMBCHUIWA,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_JYA_OBJ,
|
||||
sizeof(BgJyaBombchuiwa),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_jya_bombiwa.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgJyaBombiwa_Init(BgJyaBombiwa* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgJyaBombiwa_Draw(BgJyaBombiwa* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Jya_Bombiwa_InitVars = {
|
||||
ACTOR_BG_JYA_BOMBIWA,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_JYA_OBJ,
|
||||
sizeof(BgJyaBombiwa),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_jya_cobra.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgJyaCobra_Init(BgJyaCobra* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgJyaCobra_Draw(BgJyaCobra* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Jya_Cobra_InitVars = {
|
||||
ACTOR_BG_JYA_COBRA,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_JYA_OBJ,
|
||||
sizeof(BgJyaCobra),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_jya_goroiwa.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgJyaGoroiwa_Init(BgJyaGoroiwa* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgJyaGoroiwa_Draw(BgJyaGoroiwa* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Jya_Goroiwa_InitVars = {
|
||||
ACTOR_BG_JYA_GOROIWA,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_GOROIWA,
|
||||
sizeof(BgJyaGoroiwa),
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
/*
|
||||
* File: z_bg_jya_haheniron
|
||||
* Overlay: ovl_Bg_Jya_Haheniron
|
||||
* Description: Chunks of Iron Knucle Chair and Pillar
|
||||
*/
|
||||
|
||||
#include "z_bg_jya_haheniron.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgJyaHaheniron_Init(BgJyaHaheniron* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +17,6 @@ void BgJyaHaheniron_Draw(BgJyaHaheniron* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Jya_Haheniron_InitVars = {
|
||||
ACTOR_BG_JYA_HAHENIRON,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_JYA_IRON,
|
||||
sizeof(BgJyaHaheniron),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_jya_ironobj.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgJyaIronobj_Init(BgJyaIronobj* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgJyaIronobj_Draw(BgJyaIronobj* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Jya_Ironobj_InitVars = {
|
||||
ACTOR_BG_JYA_IRONOBJ,
|
||||
ACTORTYPE_PROP,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_JYA_IRON,
|
||||
sizeof(BgJyaIronobj),
|
||||
|
||||
@@ -4,36 +4,24 @@
|
||||
* Description: Climbable Metal Grating (Fire Temple)
|
||||
*/
|
||||
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
#include "z_bg_jya_kanaami.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ u32 dynaPolyId;
|
||||
/* 0x014C */ char unk_150[0x14];
|
||||
/* 0x0164 */ ActorFunc updateFunc;
|
||||
/* 0x0168 */ s16 unk_168;
|
||||
/* 0x016A */ s16 unk_16A;
|
||||
} BgJyaKanaami; // size = 0x016C
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
static void BgJyaKanaami_Init(BgJyaKanaami* this, GlobalContext* globalCtx);
|
||||
static void BgJyaKanaami_Destroy(BgJyaKanaami* this, GlobalContext* globalCtx);
|
||||
static void BgJyaKanaami_Update(BgJyaKanaami* this, GlobalContext* globalCtx);
|
||||
static void BgJyaKanaami_Draw(BgJyaKanaami* this, GlobalContext* globalCtx);
|
||||
void BgJyaKanaami_Init(BgJyaKanaami* this, GlobalContext* globalCtx);
|
||||
void BgJyaKanaami_Destroy(BgJyaKanaami* this, GlobalContext* globalCtx);
|
||||
void BgJyaKanaami_Update(BgJyaKanaami* this, GlobalContext* globalCtx);
|
||||
void BgJyaKanaami_Draw(BgJyaKanaami* this, GlobalContext* globalCtx);
|
||||
|
||||
static void func_80899880(BgJyaKanaami* this);
|
||||
static void func_80899894(BgJyaKanaami* this, GlobalContext* globalCtx);
|
||||
static void func_8089993C(BgJyaKanaami* this);
|
||||
static void func_80899950(BgJyaKanaami* this, GlobalContext* globalCtx);
|
||||
static void func_80899A08(BgJyaKanaami* this);
|
||||
void func_80899880(BgJyaKanaami* this);
|
||||
void func_80899894(BgJyaKanaami* this, GlobalContext* globalCtx);
|
||||
void func_8089993C(BgJyaKanaami* this);
|
||||
void func_80899950(BgJyaKanaami* this, GlobalContext* globalCtx);
|
||||
void func_80899A08(BgJyaKanaami* this);
|
||||
|
||||
const ActorInit Bg_Jya_Kanaami_InitVars = {
|
||||
ACTOR_BG_JYA_KANAAMI,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_JYA_OBJ,
|
||||
sizeof(BgJyaKanaami),
|
||||
@@ -53,7 +41,7 @@ static InitChainEntry initChain[] = {
|
||||
extern u32 D_0600F000;
|
||||
extern u32 D_0600F208;
|
||||
|
||||
static void func_80899740(BgJyaKanaami* this, GlobalContext* globalCtx, u32 collision, DynaPolyMoveFlag flag) {
|
||||
void func_80899740(BgJyaKanaami* this, GlobalContext* globalCtx, u32 collision, DynaPolyMoveFlag flag) {
|
||||
s32 pad;
|
||||
s32 local_c = 0;
|
||||
s32 pad2;
|
||||
@@ -67,7 +55,7 @@ static void func_80899740(BgJyaKanaami* this, GlobalContext* globalCtx, u32 coll
|
||||
}
|
||||
}
|
||||
|
||||
static void BgJyaKanaami_Init(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
void BgJyaKanaami_Init(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
func_80899740(this, globalCtx, &D_0600F208, 0);
|
||||
Actor_ProcessInitChain(&this->actor, initChain);
|
||||
if (Flags_GetSwitch(globalCtx, this->actor.params & 0x3F)) {
|
||||
@@ -78,16 +66,16 @@ static void BgJyaKanaami_Init(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
osSyncPrintf("(jya 金網)(arg_data 0x%04x)\n", this->actor.params);
|
||||
}
|
||||
|
||||
static void BgJyaKanaami_Destroy(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
void BgJyaKanaami_Destroy(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dynaPolyId);
|
||||
}
|
||||
|
||||
static void func_80899880(BgJyaKanaami* this) {
|
||||
void func_80899880(BgJyaKanaami* this) {
|
||||
this->updateFunc = func_80899894;
|
||||
this->unk_16A = 0;
|
||||
}
|
||||
|
||||
static void func_80899894(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
void func_80899894(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
if (Flags_GetSwitch(globalCtx, this->actor.params & 0x3F) || this->unk_16A > 0) {
|
||||
if (this->actor.posRot.pos.x > -1000.0f && this->unk_16A == 0) {
|
||||
func_800800F8(globalCtx, 0xD7A, -0x63, &this->actor, 0);
|
||||
@@ -99,12 +87,12 @@ static void func_80899894(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_8089993C(BgJyaKanaami* this) {
|
||||
void func_8089993C(BgJyaKanaami* this) {
|
||||
this->updateFunc = func_80899950;
|
||||
this->unk_168 = 0;
|
||||
}
|
||||
|
||||
static void func_80899950(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
void func_80899950(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
s32 pad[2];
|
||||
s32 var;
|
||||
this->unk_168 += 0x20;
|
||||
@@ -118,18 +106,18 @@ static void func_80899950(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
static void func_80899A08(BgJyaKanaami* this) {
|
||||
void func_80899A08(BgJyaKanaami* this) {
|
||||
this->updateFunc = 0;
|
||||
this->actor.posRot.rot.x = 0x4000;
|
||||
}
|
||||
|
||||
static void BgJyaKanaami_Update(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
void BgJyaKanaami_Update(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
if (this->updateFunc) {
|
||||
this->updateFunc(this, globalCtx);
|
||||
}
|
||||
this->actor.shape.rot.x = this->actor.posRot.rot.x;
|
||||
}
|
||||
|
||||
static void BgJyaKanaami_Draw(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
void BgJyaKanaami_Draw(BgJyaKanaami* this, GlobalContext* globalCtx) {
|
||||
Gfx_DrawDListOpa(globalCtx, &D_0600F000);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
#ifndef _Z_BG_JYA_KANAAMI_H_
|
||||
#define _Z_BG_JYA_KANAAMI_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ u32 dynaPolyId;
|
||||
/* 0x014C */ char unk_150[0x14];
|
||||
/* 0x0164 */ ActorFunc updateFunc;
|
||||
/* 0x0168 */ s16 unk_168;
|
||||
/* 0x016A */ s16 unk_16A;
|
||||
} BgJyaKanaami; // size = 0x016C
|
||||
|
||||
#endif
|
||||
@@ -1,6 +1,11 @@
|
||||
/*
|
||||
* File: z_bg_jya_lift.c
|
||||
* Overlay: ovl_Bg_Jya_Lift
|
||||
* Description: Chain Platform (Spirit Temple)
|
||||
*/
|
||||
|
||||
#include "z_bg_jya_lift.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgJyaLift_Init(BgJyaLift* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +17,6 @@ void BgJyaLift_Draw(BgJyaLift* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Jya_Lift_InitVars = {
|
||||
ACTOR_BG_JYA_LIFT,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_JYA_OBJ,
|
||||
sizeof(BgJyaLift),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_jya_megami.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
void BgJyaMegami_Init(BgJyaMegami* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgJyaMegami_Draw(BgJyaMegami* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Jya_Megami_InitVars = {
|
||||
ACTOR_BG_JYA_MEGAMI,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_JYA_OBJ,
|
||||
sizeof(BgJyaMegami),
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "z_bg_jya_zurerukabe.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
void BgJyaZurerukabe_Init(BgJyaZurerukabe* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +11,6 @@ void BgJyaZurerukabe_Draw(BgJyaZurerukabe* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Jya_Zurerukabe_InitVars = {
|
||||
ACTOR_BG_JYA_ZURERUKABE,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_JYA_OBJ,
|
||||
sizeof(BgJyaZurerukabe),
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
/*
|
||||
* File: z_bg_menkuri_eye.c
|
||||
* Overlay: ovl_Bg_Menkuri_Eye
|
||||
* Description: Eye platform eye switches
|
||||
*/
|
||||
|
||||
#include "z_bg_menkuri_eye.h"
|
||||
|
||||
#define ROOM 0x00
|
||||
#define FLAGS 0x00000020
|
||||
|
||||
void BgMenkuriEye_Init(BgMenkuriEye* this, GlobalContext* globalCtx);
|
||||
@@ -12,7 +17,6 @@ void BgMenkuriEye_Draw(BgMenkuriEye* this, GlobalContext* globalCtx);
|
||||
const ActorInit Bg_Menkuri_Eye_InitVars = {
|
||||
ACTOR_BG_MENKURI_EYE,
|
||||
ACTORTYPE_BG,
|
||||
ROOM,
|
||||
FLAGS,
|
||||
OBJECT_MENKURI_OBJECTS,
|
||||
sizeof(BgMenkuriEye),
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x64];
|
||||
/* 0x014C */ char unk_14C[0x4];
|
||||
/* 0x0150 */ Collider collider;
|
||||
/* 0x0168 */ char unk_168[0x48];
|
||||
} BgMenkuriEye; // size = 0x01B0
|
||||
|
||||
extern const ActorInit Bg_Menkuri_Eye_InitVars;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user