mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Merge remote-tracking branch 'upstream/main' into ovl_En_An
This commit is contained in:
@@ -142,10 +142,10 @@
|
||||
|
||||
<!-- Odolwa Animations -->
|
||||
<Animation Name="gOdolwaClimbAnim" Offset="0xF918" /> <!-- Unused and glitchy. Original name might be "jmp_crym" -->
|
||||
<Animation Name="gOdolwaDamageStartAnim" Offset="0xFDEC" /> <!-- Original name is "jmp_dam02" -->
|
||||
<Animation Name="gOdolwaDamagedStartAnim" Offset="0xFDEC" /> <!-- Original name is "jmp_dam02" -->
|
||||
<Animation Name="gOdolwaShieldGuardAnim" Offset="0xFF94" /> <!-- Original name is "jmp_def" -->
|
||||
<Animation Name="gOdolwaSwordGuardAnim" Offset="0x10150" /> <!-- Original name is "jmp_def02" -->
|
||||
<Animation Name="gOdolwaDamageLoopAnim" Offset="0x10980" /> <!-- Original name is "jmp_dm01" -->
|
||||
<Animation Name="gOdolwaDamagedLoopAnim" Offset="0x10980" /> <!-- Original name is "jmp_dm01" -->
|
||||
<Animation Name="gOdolwaDeathAnim" Offset="0x124CC" /> <!-- Original name is "jmp_down" -->
|
||||
<Animation Name="gOdolwaMothSummonDanceAnim" Offset="0x12B70" /> <!-- Named "dance_bug" in MM3D, but it was probably renamed by Grezzo, since it doesn't fit with other names. -->
|
||||
<Animation Name="gOdolwaCrouchAnim" Offset="0x12D10" /> <!-- Original name is "jmp_jmp01" -->
|
||||
|
||||
@@ -27,15 +27,15 @@ void func_809529AC(EnMs* this, PlayState* play);
|
||||
void func_80952A1C(EnMs* this, PlayState* play);
|
||||
|
||||
ActorInit En_Ms_InitVars = {
|
||||
ACTOR_EN_MS,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
OBJECT_MS,
|
||||
sizeof(EnMs),
|
||||
(ActorFunc)EnMs_Init,
|
||||
(ActorFunc)EnMs_Destroy,
|
||||
(ActorFunc)EnMs_Update,
|
||||
(ActorFunc)EnMs_Draw,
|
||||
/**/ ACTOR_EN_MS,
|
||||
/**/ ACTORCAT_NPC,
|
||||
/**/ FLAGS,
|
||||
/**/ OBJECT_MS,
|
||||
/**/ sizeof(EnMs),
|
||||
/**/ EnMs_Init,
|
||||
/**/ EnMs_Destroy,
|
||||
/**/ EnMs_Update,
|
||||
/**/ EnMs_Draw,
|
||||
};
|
||||
|
||||
static ColliderCylinderInitType1 D_80952BA0 = {
|
||||
|
||||
@@ -28,15 +28,15 @@ void EnRecepgirl_Draw(Actor* thisx, PlayState* play);
|
||||
// --------------- 4 ---------------
|
||||
#if 0
|
||||
ActorInit En_Recepgirl_InitVars = {
|
||||
ACTOR_EN_RECEPGIRL,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
OBJECT_BG,
|
||||
sizeof(EnRecepgirl),
|
||||
(ActorFunc)EnRecepgirl_Init,
|
||||
(ActorFunc)EnRecepgirl_Destroy,
|
||||
(ActorFunc)EnRecepgirl_Update,
|
||||
(ActorFunc)EnRecepgirl_Draw,
|
||||
/**/ ACTOR_EN_RECEPGIRL,
|
||||
/**/ ACTORCAT_NPC,
|
||||
/**/ FLAGS,
|
||||
/**/ OBJECT_BG,
|
||||
/**/ sizeof(EnRecepgirl),
|
||||
/**/ EnRecepgirl_Init,
|
||||
/**/ EnRecepgirl_Destroy,
|
||||
/**/ EnRecepgirl_Update,
|
||||
/**/ EnRecepgirl_Draw,
|
||||
};
|
||||
|
||||
// static InitChainEntry sInitChain[] = {
|
||||
@@ -336,15 +336,15 @@ For now, we do not want to consider the data that mips2c has kindly imported for
|
||||
```C
|
||||
#if 0
|
||||
ActorInit En_Recepgirl_InitVars = {
|
||||
ACTOR_EN_RECEPGIRL,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
OBJECT_BG,
|
||||
sizeof(EnRecepgirl),
|
||||
(ActorFunc)EnRecepgirl_Init,
|
||||
(ActorFunc)EnRecepgirl_Destroy,
|
||||
(ActorFunc)EnRecepgirl_Update,
|
||||
(ActorFunc)EnRecepgirl_Draw,
|
||||
/**/ ACTOR_EN_RECEPGIRL,
|
||||
/**/ ACTORCAT_NPC,
|
||||
/**/ FLAGS,
|
||||
/**/ OBJECT_BG,
|
||||
/**/ sizeof(EnRecepgirl),
|
||||
/**/ EnRecepgirl_Init,
|
||||
/**/ EnRecepgirl_Destroy,
|
||||
/**/ EnRecepgirl_Update,
|
||||
/**/ EnRecepgirl_Draw,
|
||||
};
|
||||
|
||||
static void* D_80C106B0[4] = { (void*)0x600F8F0, (void*)0x600FCF0, (void*)0x60100F0, (void*)0x600FCF0 };
|
||||
|
||||
+22
-22
@@ -44,15 +44,15 @@ Once we have decompiled enough things to know what the data is, we can import it
|
||||
```C
|
||||
#if 0
|
||||
ActorInit En_Recepgirl_InitVars = {
|
||||
ACTOR_EN_RECEPGIRL,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
OBJECT_BG,
|
||||
sizeof(EnRecepgirl),
|
||||
(ActorFunc)EnRecepgirl_Init,
|
||||
(ActorFunc)EnRecepgirl_Destroy,
|
||||
(ActorFunc)EnRecepgirl_Update,
|
||||
(ActorFunc)EnRecepgirl_Draw,
|
||||
/**/ ACTOR_EN_RECEPGIRL,
|
||||
/**/ ACTORCAT_NPC,
|
||||
/**/ FLAGS,
|
||||
/**/ OBJECT_BG,
|
||||
/**/ sizeof(EnRecepgirl),
|
||||
/**/ EnRecepgirl_Init,
|
||||
/**/ EnRecepgirl_Destroy,
|
||||
/**/ EnRecepgirl_Update,
|
||||
/**/ EnRecepgirl_Draw,
|
||||
};
|
||||
|
||||
static void* D_80C106B0[4] = { (void*)0x600F8F0, (void*)0x600FCF0, (void*)0x60100F0, (void*)0x600FCF0 };
|
||||
@@ -100,15 +100,15 @@ Next remove all the externs, and uncomment their corresponding commented data:
|
||||
|
||||
```C
|
||||
ActorInit En_Recepgirl_InitVars = {
|
||||
ACTOR_EN_RECEPGIRL,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
OBJECT_BG,
|
||||
sizeof(EnRecepgirl),
|
||||
(ActorFunc)EnRecepgirl_Init,
|
||||
(ActorFunc)EnRecepgirl_Destroy,
|
||||
(ActorFunc)EnRecepgirl_Update,
|
||||
(ActorFunc)EnRecepgirl_Draw,
|
||||
/**/ ACTOR_EN_RECEPGIRL,
|
||||
/**/ ACTORCAT_NPC,
|
||||
/**/ FLAGS,
|
||||
/**/ OBJECT_BG,
|
||||
/**/ sizeof(EnRecepgirl),
|
||||
/**/ EnRecepgirl_Init,
|
||||
/**/ EnRecepgirl_Destroy,
|
||||
/**/ EnRecepgirl_Update,
|
||||
/**/ EnRecepgirl_Draw,
|
||||
};
|
||||
|
||||
static void* D_80C106B0[4] = { (void*)0x600F8F0, (void*)0x600FCF0, (void*)0x60100F0, (void*)0x600FCF0 };
|
||||
@@ -140,10 +140,10 @@ For actors which have yet to be decompiled, this is mitigated by use of the file
|
||||
|
||||
```c
|
||||
ActorInit En_Recepgirl_InitVars = {
|
||||
ACTOR_EN_RECEPGIRL,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
OBJECT_BG,
|
||||
/**/ ACTOR_EN_RECEPGIRL,
|
||||
/**/ ACTORCAT_NPC,
|
||||
/**/ FLAGS,
|
||||
/**/ OBJECT_BG,
|
||||
};
|
||||
```
|
||||
|
||||
|
||||
@@ -49,15 +49,15 @@ void func_80C10290(EnRecepgirl* this);
|
||||
void func_80C102D4(EnRecepgirl* this, PlayState* play);
|
||||
|
||||
ActorInit En_Recepgirl_InitVars = {
|
||||
ACTOR_EN_RECEPGIRL,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
OBJECT_BG,
|
||||
sizeof(EnRecepgirl),
|
||||
(ActorFunc)EnRecepgirl_Init,
|
||||
(ActorFunc)EnRecepgirl_Destroy,
|
||||
(ActorFunc)EnRecepgirl_Update,
|
||||
(ActorFunc)EnRecepgirl_Draw,
|
||||
/**/ ACTOR_EN_RECEPGIRL,
|
||||
/**/ ACTORCAT_NPC,
|
||||
/**/ FLAGS,
|
||||
/**/ OBJECT_BG,
|
||||
/**/ sizeof(EnRecepgirl),
|
||||
/**/ EnRecepgirl_Init,
|
||||
/**/ EnRecepgirl_Destroy,
|
||||
/**/ EnRecepgirl_Update,
|
||||
/**/ EnRecepgirl_Draw,
|
||||
};
|
||||
|
||||
static void* D_80C106B0[4] = { object_bg_Tex_00F8F0, object_bg_Tex_00FCF0, object_bg_Tex_0100F0, object_bg_Tex_00FCF0 };
|
||||
@@ -317,10 +317,10 @@ As we discussed last time, `D_80C106B0` is an array of [segmented pointers](data
|
||||
|
||||
```C
|
||||
ActorInit En_Recepgirl_InitVars = {
|
||||
ACTOR_EN_RECEPGIRL,
|
||||
ACTORCAT_NPC,
|
||||
FLAGS,
|
||||
OBJECT_BG,
|
||||
/**/ ACTOR_EN_RECEPGIRL,
|
||||
/**/ ACTORCAT_NPC,
|
||||
/**/ FLAGS,
|
||||
/**/ OBJECT_BG,
|
||||
```
|
||||
|
||||
the fourth element is the object (it is actually an enum, but the file itself has the same name as the object enum). So, we need to look at the object file. We are very lucky that a custom tool has been written for such a thing: Z64Utils.
|
||||
|
||||
+5
-7
@@ -23,7 +23,7 @@ struct CollisionPoly;
|
||||
struct EnBox;
|
||||
struct EnTorch2;
|
||||
|
||||
typedef void(*ActorFunc)(struct Actor* this, struct PlayState* play);
|
||||
typedef void (*ActorFunc)(struct Actor* this, struct PlayState* play);
|
||||
typedef u16 (*NpcGetTextIdFunc)(struct PlayState*, struct Actor*);
|
||||
typedef s16 (*NpcUpdateTalkStateFunc)(struct PlayState*, struct Actor*);
|
||||
|
||||
@@ -67,7 +67,7 @@ typedef struct ActorOverlay {
|
||||
/* 0x1E */ s8 numLoaded; // original name: "clients"
|
||||
} ActorOverlay; // size = 0x20
|
||||
|
||||
typedef void(*ActorShadowFunc)(struct Actor* actor, struct Lights* mapper, struct PlayState* play);
|
||||
typedef void (*ActorShadowFunc)(struct Actor* actor, struct Lights* mapper, struct PlayState* play);
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3s rot; // Current actor shape rotation
|
||||
@@ -196,7 +196,6 @@ typedef struct {
|
||||
/* 0x158 */ u8 interactFlags;
|
||||
} DynaPolyActor; // size = 0x15C
|
||||
|
||||
|
||||
typedef enum Item00Type {
|
||||
/* 0x00 */ ITEM00_RUPEE_GREEN,
|
||||
/* 0x01 */ ITEM00_RUPEE_BLUE,
|
||||
@@ -451,7 +450,6 @@ typedef enum {
|
||||
/* 32 */ ACTOR_DRAW_DMGEFF_ELECTRIC_SPARKS_LARGE
|
||||
} ActorDrawDamageEffectType;
|
||||
|
||||
|
||||
#define DEFINE_ACTOR(_name, enumValue, _allocType, _debugName) enumValue,
|
||||
#define DEFINE_ACTOR_INTERNAL(_name, enumValue, _allocType, _debugName) enumValue,
|
||||
#define DEFINE_ACTOR_UNSET(enumValue) enumValue,
|
||||
@@ -651,12 +649,12 @@ typedef enum {
|
||||
/* 0x5B */ TATL_HINT_ID_SKULLFISH,
|
||||
/* 0x5C */ TATL_HINT_ID_DESBREKO,
|
||||
/* 0x5D */ TATL_HINT_ID_GREEN_CHUCHU,
|
||||
/* 0x5E */ TATL_HINT_ID_ODOLWA_1,
|
||||
/* 0x5E */ TATL_HINT_ID_ODOLWA_PHASE_ONE, // 799 or fewer frames have passed, says Odolwa is dangerous to get close to
|
||||
/* 0x5F */ TATL_HINT_ID_GEKKO_GIANT_SLIME,
|
||||
/* 0x60 */ TATL_HINT_ID_BAD_BAT,
|
||||
/* 0x61 */ TATL_HINT_ID_REAL_BOMBCHU,
|
||||
/* 0x62 */ TATL_HINT_ID_ODOLWA_2,
|
||||
/* 0x63 */ TATL_HINT_ID_ODOLWA_3,
|
||||
/* 0x62 */ TATL_HINT_ID_ODOLWA_CLOSE_TO_PHASE_TWO, // 800 frames have passed, warns that Odolwa will attack after dancing
|
||||
/* 0x63 */ TATL_HINT_ID_ODOLWA_PHASE_TWO, // 1000 or more frames have passed, explains that the bugs are drawn to fire
|
||||
/* 0x64 */ TATL_HINT_ID_MUSHROOM,
|
||||
/* 0xFF */ TATL_HINT_ID_NONE = 0xFF
|
||||
} TatlHintId;
|
||||
|
||||
@@ -394,7 +394,8 @@ typedef enum {
|
||||
|
||||
#define DMG_ENTRY(damage, effect) ((damage) | ((effect) << 4))
|
||||
|
||||
// These flags are not to be used in code until we figure out how we want to format them. They are only here for reference
|
||||
// Don't use combinations of these flags in code until we figure out how we want to format them.
|
||||
// It's okay to use these flags if the code is only checking a single flag, though.
|
||||
#define DMG_DEKU_NUT (1 << 0x00)
|
||||
#define DMG_DEKU_STICK (1 << 0x01)
|
||||
#define DMG_HORSE_TRAMPLE (1 << 0x02)
|
||||
|
||||
+9
-5
@@ -1151,9 +1151,9 @@ typedef struct Player {
|
||||
/* 0x3AC */ Vec3f unk_3AC;
|
||||
/* 0x3B8 */ u16 unk_3B8;
|
||||
/* 0x3BA */ union {
|
||||
s16 doorBgCamIndex;
|
||||
s16 unk_3BA; // When in a cutscene, boolean to determine if `PLAYER_STATE1_20000000` is set
|
||||
};
|
||||
s16 haltActorsDuringCsAction; // If true, halt actors belonging to certain categories during a `csAction`
|
||||
s16 doorBgCamIndex; // `BgCamIndex` used during a sliding door and spiral staircase cutscenes
|
||||
} cv; // "Cutscene Variable": context dependent variable that has different meanings depending on what function is called
|
||||
/* 0x3BC */ s16 subCamId;
|
||||
/* 0x3BE */ char unk_3BE[2];
|
||||
/* 0x3C0 */ Vec3f unk_3C0;
|
||||
@@ -1221,8 +1221,12 @@ typedef struct Player {
|
||||
/* 0xADE */ u8 unk_ADE;
|
||||
/* 0xADF */ s8 unk_ADF[4]; // Circular buffer used for testing for triggering a quickspin
|
||||
/* 0xAE3 */ s8 unk_AE3[4]; // Circular buffer used for ?
|
||||
/* 0xAE7 */ s8 actionVar1; // context dependent variable that has different meanings depending on what action is currently running
|
||||
/* 0xAE8 */ s16 actionVar2; // context dependent variable that has different meanings depending on what action is currently running
|
||||
/* 0xAE7 */ union {
|
||||
s8 actionVar1;
|
||||
} av1; // "Action Variable 1": context dependent variable that has different meanings depending on what action is currently running
|
||||
/* 0xAE8 */ union {
|
||||
s16 actionVar2;
|
||||
} av2; // "Action Variable 2": context dependent variable that has different meanings depending on what action is currently running
|
||||
/* 0xAEC */ f32 unk_AEC;
|
||||
/* 0xAF0 */ union {
|
||||
Vec3f unk_AF0[2];
|
||||
|
||||
@@ -2297,9 +2297,7 @@ beginseg
|
||||
name "ovl_Boss_01"
|
||||
compress
|
||||
include "build/src/overlays/actors/ovl_Boss_01/z_boss_01.o"
|
||||
include "build/data/ovl_Boss_01/ovl_Boss_01.data.o"
|
||||
include "build/data/ovl_Boss_01/ovl_Boss_01.bss.o"
|
||||
include "build/data/ovl_Boss_01/ovl_Boss_01.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Boss_01/ovl_Boss_01_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
||||
+2
-2
@@ -1412,7 +1412,7 @@ s32 func_800B724C(PlayState* play, Actor* actor, u8 csAction) {
|
||||
|
||||
player->csAction = csAction;
|
||||
player->csActor = actor;
|
||||
player->unk_3BA = false;
|
||||
player->cv.haltActorsDuringCsAction = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1420,7 +1420,7 @@ s32 func_800B7298(PlayState* play, Actor* actor, u8 csAction) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
if (func_800B724C(play, actor, csAction)) {
|
||||
player->unk_3BA = true;
|
||||
player->cv.haltActorsDuringCsAction = true;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -14,15 +14,15 @@ void EnAObj_Idle(EnAObj* this, PlayState* play);
|
||||
void EnAObj_Talk(EnAObj* this, PlayState* play);
|
||||
|
||||
ActorInit En_A_Obj_InitVars = {
|
||||
ACTOR_EN_A_OBJ,
|
||||
ACTORCAT_PROP,
|
||||
FLAGS,
|
||||
GAMEPLAY_KEEP,
|
||||
sizeof(EnAObj),
|
||||
(ActorFunc)EnAObj_Init,
|
||||
(ActorFunc)EnAObj_Destroy,
|
||||
(ActorFunc)EnAObj_Update,
|
||||
(ActorFunc)EnAObj_Draw,
|
||||
/**/ ACTOR_EN_A_OBJ,
|
||||
/**/ ACTORCAT_PROP,
|
||||
/**/ FLAGS,
|
||||
/**/ GAMEPLAY_KEEP,
|
||||
/**/ sizeof(EnAObj),
|
||||
/**/ EnAObj_Init,
|
||||
/**/ EnAObj_Destroy,
|
||||
/**/ EnAObj_Update,
|
||||
/**/ EnAObj_Draw,
|
||||
};
|
||||
|
||||
static ColliderCylinderInit sCylinderInit = {
|
||||
|
||||
@@ -26,15 +26,15 @@ void EnItem00_DrawHeartContainer(EnItem00* this, PlayState* play);
|
||||
void EnItem00_DrawHeartPiece(EnItem00* this, PlayState* play);
|
||||
|
||||
ActorInit En_Item00_InitVars = {
|
||||
ACTOR_EN_ITEM00,
|
||||
ACTORCAT_MISC,
|
||||
FLAGS,
|
||||
GAMEPLAY_KEEP,
|
||||
sizeof(EnItem00),
|
||||
(ActorFunc)EnItem00_Init,
|
||||
(ActorFunc)EnItem00_Destroy,
|
||||
(ActorFunc)EnItem00_Update,
|
||||
(ActorFunc)EnItem00_Draw,
|
||||
/**/ ACTOR_EN_ITEM00,
|
||||
/**/ ACTORCAT_MISC,
|
||||
/**/ FLAGS,
|
||||
/**/ GAMEPLAY_KEEP,
|
||||
/**/ sizeof(EnItem00),
|
||||
/**/ EnItem00_Init,
|
||||
/**/ EnItem00_Destroy,
|
||||
/**/ EnItem00_Update,
|
||||
/**/ EnItem00_Draw,
|
||||
};
|
||||
|
||||
static ColliderCylinderInit sCylinderInit = {
|
||||
|
||||
@@ -16,15 +16,15 @@ void PlayerCall_Update(Actor* thisx, PlayState* play);
|
||||
void PlayerCall_Draw(Actor* thisx, PlayState* play);
|
||||
|
||||
ActorInit Player_InitVars = {
|
||||
ACTOR_PLAYER,
|
||||
ACTORCAT_PLAYER,
|
||||
FLAGS,
|
||||
GAMEPLAY_KEEP,
|
||||
sizeof(Player),
|
||||
(ActorFunc)PlayerCall_Init,
|
||||
(ActorFunc)PlayerCall_Destroy,
|
||||
(ActorFunc)PlayerCall_Update,
|
||||
(ActorFunc)PlayerCall_Draw,
|
||||
/**/ ACTOR_PLAYER,
|
||||
/**/ ACTORCAT_PLAYER,
|
||||
/**/ FLAGS,
|
||||
/**/ GAMEPLAY_KEEP,
|
||||
/**/ sizeof(Player),
|
||||
/**/ PlayerCall_Init,
|
||||
/**/ PlayerCall_Destroy,
|
||||
/**/ PlayerCall_Update,
|
||||
/**/ PlayerCall_Draw,
|
||||
};
|
||||
|
||||
void Player_Init(Actor* thisx, PlayState* play);
|
||||
|
||||
@@ -369,13 +369,14 @@ void func_80122F28(Player* player) {
|
||||
s32 func_80122F9C(PlayState* play) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
return (player->stateFlags2 & PLAYER_STATE2_80000) && (player->actionVar1 == 2);
|
||||
return (player->stateFlags2 & PLAYER_STATE2_80000) && (player->av1.actionVar1 == 2);
|
||||
}
|
||||
|
||||
s32 func_80122FCC(PlayState* play) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
return (player->stateFlags2 & PLAYER_STATE2_80000) && ((player->actionVar1 == 1) || (player->actionVar1 == 3));
|
||||
return (player->stateFlags2 & PLAYER_STATE2_80000) &&
|
||||
((player->av1.actionVar1 == 1) || (player->av1.actionVar1 == 3));
|
||||
}
|
||||
|
||||
void func_8012300C(PlayState* play, s32 arg1) {
|
||||
@@ -389,15 +390,15 @@ void func_8012301C(Actor* thisx, PlayState* play2) {
|
||||
PlayState* play = play2;
|
||||
Player* this = (Player*)thisx;
|
||||
|
||||
this->actionVar1++;
|
||||
this->av1.actionVar1++;
|
||||
|
||||
if (this->actionVar1 == 2) {
|
||||
if (this->av1.actionVar1 == 2) {
|
||||
s16 objectId = gPlayerFormObjectIds[GET_PLAYER_FORM];
|
||||
|
||||
gActorOverlayTable[ACTOR_PLAYER].initInfo->objectId = objectId;
|
||||
func_8012F73C(&play->objectCtx, this->actor.objectSlot, objectId);
|
||||
this->actor.objectSlot = Object_GetSlot(&play->objectCtx, GAMEPLAY_KEEP);
|
||||
} else if (this->actionVar1 >= 3) {
|
||||
} else if (this->av1.actionVar1 >= 3) {
|
||||
s32 objectSlot = Object_GetSlot(&play->objectCtx, gActorOverlayTable[ACTOR_PLAYER].initInfo->objectId);
|
||||
|
||||
if (Object_IsLoaded(&play->objectCtx, objectSlot)) {
|
||||
@@ -3750,7 +3751,7 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList1, G
|
||||
}
|
||||
}
|
||||
|
||||
if ((player->stateFlags1 & (PLAYER_STATE1_2 | PLAYER_STATE1_100)) && (player->actionVar2 != 0)) {
|
||||
if ((player->stateFlags1 & (PLAYER_STATE1_2 | PLAYER_STATE1_100)) && (player->av2.actionVar2 != 0)) {
|
||||
static Vec3f D_801C0E40[PLAYER_FORM_MAX] = {
|
||||
{ 0.0f, 0.0f, 0.0f }, // PLAYER_FORM_FIERCE_DEITY
|
||||
{ -578.3f, -1100.9f, 0.0f }, // PLAYER_FORM_GORON
|
||||
@@ -3770,7 +3771,7 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList1, G
|
||||
}
|
||||
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 255, (u8)player->actionVar2);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 255, (u8)player->av2.actionVar2);
|
||||
gSPDisplayList(POLY_XLU_DISP++, gameplay_keep_DL_054C90);
|
||||
|
||||
Matrix_Pop();
|
||||
|
||||
@@ -21,15 +21,15 @@ void ArmsHook_Wait(ArmsHook* this, PlayState* play);
|
||||
void ArmsHook_Shoot(ArmsHook* this, PlayState* play);
|
||||
|
||||
ActorInit Arms_Hook_InitVars = {
|
||||
ACTOR_ARMS_HOOK,
|
||||
ACTORCAT_ITEMACTION,
|
||||
FLAGS,
|
||||
GAMEPLAY_KEEP,
|
||||
sizeof(ArmsHook),
|
||||
(ActorFunc)ArmsHook_Init,
|
||||
(ActorFunc)ArmsHook_Destroy,
|
||||
(ActorFunc)ArmsHook_Update,
|
||||
(ActorFunc)ArmsHook_Draw,
|
||||
/**/ ACTOR_ARMS_HOOK,
|
||||
/**/ ACTORCAT_ITEMACTION,
|
||||
/**/ FLAGS,
|
||||
/**/ GAMEPLAY_KEEP,
|
||||
/**/ sizeof(ArmsHook),
|
||||
/**/ ArmsHook_Init,
|
||||
/**/ ArmsHook_Destroy,
|
||||
/**/ ArmsHook_Update,
|
||||
/**/ ArmsHook_Draw,
|
||||
};
|
||||
|
||||
static ColliderQuadInit D_808C1BC0 = {
|
||||
|
||||
@@ -22,15 +22,15 @@ void FireArrow_Fly(ArrowFire* this, PlayState* play);
|
||||
#include "overlays/ovl_Arrow_Fire/ovl_Arrow_Fire.c"
|
||||
|
||||
ActorInit Arrow_Fire_InitVars = {
|
||||
ACTOR_ARROW_FIRE,
|
||||
ACTORCAT_ITEMACTION,
|
||||
FLAGS,
|
||||
GAMEPLAY_KEEP,
|
||||
sizeof(ArrowFire),
|
||||
(ActorFunc)ArrowFire_Init,
|
||||
(ActorFunc)ArrowFire_Destroy,
|
||||
(ActorFunc)ArrowFire_Update,
|
||||
(ActorFunc)ArrowFire_Draw,
|
||||
/**/ ACTOR_ARROW_FIRE,
|
||||
/**/ ACTORCAT_ITEMACTION,
|
||||
/**/ FLAGS,
|
||||
/**/ GAMEPLAY_KEEP,
|
||||
/**/ sizeof(ArrowFire),
|
||||
/**/ ArrowFire_Init,
|
||||
/**/ ArrowFire_Destroy,
|
||||
/**/ ArrowFire_Update,
|
||||
/**/ ArrowFire_Draw,
|
||||
};
|
||||
|
||||
static ColliderQuadInit sQuadInit = {
|
||||
|
||||
@@ -24,15 +24,15 @@ void ArrowIce_Fly(ArrowIce* this, PlayState* play);
|
||||
static s32 sBssPad;
|
||||
|
||||
ActorInit Arrow_Ice_InitVars = {
|
||||
ACTOR_ARROW_ICE,
|
||||
ACTORCAT_ITEMACTION,
|
||||
FLAGS,
|
||||
GAMEPLAY_KEEP,
|
||||
sizeof(ArrowIce),
|
||||
(ActorFunc)ArrowIce_Init,
|
||||
(ActorFunc)ArrowIce_Destroy,
|
||||
(ActorFunc)ArrowIce_Update,
|
||||
(ActorFunc)ArrowIce_Draw,
|
||||
/**/ ACTOR_ARROW_ICE,
|
||||
/**/ ACTORCAT_ITEMACTION,
|
||||
/**/ FLAGS,
|
||||
/**/ GAMEPLAY_KEEP,
|
||||
/**/ sizeof(ArrowIce),
|
||||
/**/ ArrowIce_Init,
|
||||
/**/ ArrowIce_Destroy,
|
||||
/**/ ArrowIce_Update,
|
||||
/**/ ArrowIce_Draw,
|
||||
};
|
||||
|
||||
static InitChainEntry sInitChain[] = {
|
||||
|
||||
@@ -22,15 +22,15 @@ void ArrowLight_Fly(ArrowLight* this, PlayState* play);
|
||||
#include "overlays/ovl_Arrow_Light/ovl_Arrow_Light.c"
|
||||
|
||||
ActorInit Arrow_Light_InitVars = {
|
||||
ACTOR_ARROW_LIGHT,
|
||||
ACTORCAT_ITEMACTION,
|
||||
FLAGS,
|
||||
GAMEPLAY_KEEP,
|
||||
sizeof(ArrowLight),
|
||||
(ActorFunc)ArrowLight_Init,
|
||||
(ActorFunc)ArrowLight_Destroy,
|
||||
(ActorFunc)ArrowLight_Update,
|
||||
(ActorFunc)ArrowLight_Draw,
|
||||
/**/ ACTOR_ARROW_LIGHT,
|
||||
/**/ ACTORCAT_ITEMACTION,
|
||||
/**/ FLAGS,
|
||||
/**/ GAMEPLAY_KEEP,
|
||||
/**/ sizeof(ArrowLight),
|
||||
/**/ ArrowLight_Init,
|
||||
/**/ ArrowLight_Destroy,
|
||||
/**/ ArrowLight_Update,
|
||||
/**/ ArrowLight_Draw,
|
||||
};
|
||||
|
||||
static InitChainEntry sInitChain[] = {
|
||||
|
||||
@@ -24,15 +24,15 @@ void func_80C0A458(BgAstrBombwall* this, PlayState* play);
|
||||
void func_80C0A4BC(BgAstrBombwall* this, PlayState* play);
|
||||
|
||||
ActorInit Bg_Astr_Bombwall_InitVars = {
|
||||
ACTOR_BG_ASTR_BOMBWALL,
|
||||
ACTORCAT_BG,
|
||||
FLAGS,
|
||||
OBJECT_ASTR_OBJ,
|
||||
sizeof(BgAstrBombwall),
|
||||
(ActorFunc)BgAstrBombwall_Init,
|
||||
(ActorFunc)BgAstrBombwall_Destroy,
|
||||
(ActorFunc)BgAstrBombwall_Update,
|
||||
(ActorFunc)BgAstrBombwall_Draw,
|
||||
/**/ ACTOR_BG_ASTR_BOMBWALL,
|
||||
/**/ ACTORCAT_BG,
|
||||
/**/ FLAGS,
|
||||
/**/ OBJECT_ASTR_OBJ,
|
||||
/**/ sizeof(BgAstrBombwall),
|
||||
/**/ BgAstrBombwall_Init,
|
||||
/**/ BgAstrBombwall_Destroy,
|
||||
/**/ BgAstrBombwall_Update,
|
||||
/**/ BgAstrBombwall_Draw,
|
||||
};
|
||||
|
||||
static ColliderTrisElementInit sTrisElementsInit[2] = {
|
||||
|
||||
@@ -19,15 +19,15 @@ void BgBotihasira_Draw(Actor* thisx, PlayState* play);
|
||||
void BgBotihasira_DoNothing(BgBotihasira* this, PlayState* play);
|
||||
|
||||
ActorInit Bg_Botihasira_InitVars = {
|
||||
ACTOR_BG_BOTIHASIRA,
|
||||
ACTORCAT_ITEMACTION,
|
||||
FLAGS,
|
||||
OBJECT_BOTIHASIRA,
|
||||
sizeof(BgBotihasira),
|
||||
(ActorFunc)BgBotihasira_Init,
|
||||
(ActorFunc)BgBotihasira_Destroy,
|
||||
(ActorFunc)BgBotihasira_Update,
|
||||
(ActorFunc)BgBotihasira_Draw,
|
||||
/**/ ACTOR_BG_BOTIHASIRA,
|
||||
/**/ ACTORCAT_ITEMACTION,
|
||||
/**/ FLAGS,
|
||||
/**/ OBJECT_BOTIHASIRA,
|
||||
/**/ sizeof(BgBotihasira),
|
||||
/**/ BgBotihasira_Init,
|
||||
/**/ BgBotihasira_Destroy,
|
||||
/**/ BgBotihasira_Update,
|
||||
/**/ BgBotihasira_Draw,
|
||||
};
|
||||
|
||||
static ColliderCylinderInit sCylinderInit = {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user