mirror of
https://github.com/HarbourMasters/2ship2harkinian.git
synced 2024-11-23 14:09:43 +00:00
z_actor
with some documentation, with 1 NON_EQUIVALENTs (#401)
* Match Player_GetHeight
* Another bunch
* Fix merge conflict
* rename Gfx_DrawDListXlu
* add WEEROR
* Actor_Spawn
* almost Actor_SpawnTransitionActors and Actor_Delete
* A bunch of small actors
* More renames
* format
* Some Player renames
* a few more
* import data
* run formatter
* func_800B7170
* whoops
* Fix merge issues
* Whoops 2
* func_800B83BC and func_800B83F8
* Actor_IsActorFacingPlayerAndWithinRange
* add some prototypes
* match Actor_UpdateBgCheckInfo
* func_800B7678
* mark Actor_SpawnAsChildAndCutscene as non_matching
* Actor_Draw
* Update is chaotic
* 2 new matches
* func_800BC8B8
* Another bunch
* function renames
* run formatter
* cleanup
* remove unnecesary casts
* add missing sfx
* Fix renames
* fix merge
* func_800BF7CC
* small bunch
* another bunch
* func_800BE184 non_matching
* two more
* split z_cheap_proc
* Another bunch
* another bunch
* a few and a non matching
* yeee
* a
* Actor_DrawAll non_equivalent
* Actor_RecordUndrawnActor
* i don't know what to put in this commit message
* func_800B4B50 non matching
* func_800B42F8 non matching
* func_800B5040
* func_800B5814 non_equiv
* func_800B6584
* func_800B6608
* func_800B6680
* func_800B7E04
* func_800B8118
* func_800b9170
* ,
* func_800BC4EC
* func_800BA6FC
* func_800BA798
* func_800BA8B8
* Actor_LoadOverlay
* small cleanup
* func_800BB2D0
* meh
* func_800BBAC0
* func_800BC270
* func_800B5208 non matching
* Fix warnings
* meh
* rename some ActorShadow_ functions
* fairy
* Flags_
* fix warnings
* format
* Actor_PickUp and family
* func_800B8E58
* match Actor_RemoveFromCategory
* another bit of docs
* Match func_800B86C8
* And another bit
* rename Player_GetRunSpeedLimit
* func_800B9E84
* func_800BE63C
* func_800BB8EC
* match func_800B5814
* match func_800B9334
* cleanup
* fix conflicts: first pass
* another fix
* actorfixer fix
* fix conflicts
* func_800BE680 non_equivalent
* Improve func_800BE680 a bit
* func_800BE680 equivalent (?)
* func_800BE680 equivalent
* Actor_UpdateActor equivalent
* format
* use some ExchangeItemID enum values
* Some more cleaning
* more cleanup
* More name stealing from OoT
* match func_800B82EC
* match func_800B9D1C and a bit of cleanup
* Add ACTOR_FLAGS placeholders
* Renames and match func_800BE184
* last pass of name stealing
* format
* fix conflicts
* more cleanup
* more cleanup
* cleanup and OVERLAY_RELOCATION_OFFSET macro
* Remove prototypes of obviously internal-only functions,
update variable names,
forward declare where necessary,
remove all `param_\d`s
* remove newlines
* minor rename
* Use ACTOR_FLAGS in z_actor
* Match func_800BE3D0
* Rename movement functions
* Document Actor_CalcOffsetOrientedToDrawRotation
* velX -> horizontalSpeed
* A bit of documentation for actor movement functions
* format
* Fix merge issues
* format
* Format
* Fix renames
* fix warnings
* fix conflicts
* review :D
* Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
* Fix
* format
* Actor_SpawnSetupActors
* engineer review
* Update src/code/z_actor.c
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
* A bunch of Engineer's reviews
* more Engineer's review
* a
* whoops
* run actorfixer
* c'mon
* 😮💨
* whoops
* warning
* More engineer's review
* run format
* I'm dumb
* a
* match func_800BE680
* Match Actor_DrawZTarget
* Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor
* Fix merge issue
* format
* update actor
* Steal a bit of @Thar0 documentation from OoT's z_message
* Run actorfixer
* Fix renames
* Match func_800B4B50 thanks to @hensldm
* Improve ActorShadow_DrawFeet thanks to @hensldm
* whoops
* Actor_PlaySfxAtProjectedPos
* Actor_UpdateActor matched by @hensldm
* Match func_800BA2FC by @hensldm
* Match Actor_SpawnTransitionActors by @hensldm
* Match func_800BB604 by @hensldm
* Match Actor_DrawAll by @hensldm
* ActorShadow_DrawFeet by @hensldm
* Actor_UpdateAll by @hensldm
* Match func_800BCCDC by @engineer124
* Small Actor_PlaySfxAtPos by @engineer124
* ACTOR_FLAGS_ALL and a bit of cleanup
* Add invisible comment
* Small docs pass
* Fix merge
* Engineer's review
* format lol
* Actor_DrawDoorLock docs
* Actor_SpawnShieldParticlesMetal
* fix merge issues
* sActorFaultClient
* fix
* commit message
* Run actorfixer.py && format.sh
* Fix warnings
* fixes
* format
* bss
* Update include/functions.h
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
* Address review
* Fix merge issues, format and such
* fix merge issues
* Add ACTORCAT_MAX
* actorList -> actorLists
* Fix merge issues
* format
* Enable WERROR on jenkinsfile
* Fix merge
* Use object symbols
* address review
* format
* review
* fix merge issues
* fix
* VRAM_PTR_SIZE, small cleanup and format
* review
Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
This commit is contained in:
parent
b74bec0e1d
commit
6069a1585f
14
Makefile
14
Makefile
@ -8,6 +8,8 @@ COMPARE ?= 1
|
||||
NON_MATCHING ?= 0
|
||||
# If ORIG_COMPILER is 1, compile with QEMU_IRIX and the original compiler
|
||||
ORIG_COMPILER ?= 0
|
||||
# if WERROR is 1, pass -Werror to CC_CHECK, so warnings would be treated as errors
|
||||
WERROR ?= 0
|
||||
# Keep .mdebug section in build
|
||||
KEEP_MDEBUG ?= 0
|
||||
# Disassembles all asm from the ROM instead of skipping files which are entirely in C
|
||||
@ -110,6 +112,10 @@ ifneq ($(NON_MATCHING),1)
|
||||
COMPFLAGS += --matching
|
||||
endif
|
||||
|
||||
ifneq ($(WERROR), 0)
|
||||
CC_CHECK += -Werror
|
||||
endif
|
||||
|
||||
#### Files ####
|
||||
|
||||
# ROM image
|
||||
@ -290,8 +296,8 @@ build/data/%.o: data/%.s
|
||||
$(AS) $(ASFLAGS) $< -o $@
|
||||
|
||||
build/src/overlays/%.o: src/overlays/%.c
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
$(CC_CHECK) $<
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
@$(OBJDUMP) -d $@ > $(@:.o=.s)
|
||||
# TODO: `() || true` is currently necessary to suppress `Error 1 (ignored)` make warnings caused by `test`, but this will go away if
|
||||
# the following is moved to a separate rule that is only run once when all the required objects have been compiled.
|
||||
@ -300,21 +306,21 @@ build/src/overlays/%.o: src/overlays/%.c
|
||||
$(RM_MDEBUG)
|
||||
|
||||
build/src/%.o: src/%.c
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
$(CC_CHECK) $<
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
@$(OBJDUMP) -d $@ > $(@:.o=.s)
|
||||
$(RM_MDEBUG)
|
||||
|
||||
build/src/libultra/libc/ll.o: src/libultra/libc/ll.c
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
$(CC_CHECK) $<
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
python3 tools/set_o32abi_bit.py $@
|
||||
@$(OBJDUMP) -d $@ > $(@:.o=.s)
|
||||
$(RM_MDEBUG)
|
||||
|
||||
build/src/libultra/libc/llcvt.o: src/libultra/libc/llcvt.c
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
$(CC_CHECK) $<
|
||||
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
|
||||
python3 tools/set_o32abi_bit.py $@
|
||||
@$(OBJDUMP) -d $@ > $(@:.o=.s)
|
||||
$(RM_MDEBUG)
|
||||
|
@ -1,7 +1,7 @@
|
||||
<Root>
|
||||
<File Name="gameplay_dangeon_keep" Segment="5">
|
||||
<DList Name="gameplay_dangeon_keep_DL_000140" Offset="0x140" />
|
||||
<DList Name="gameplay_dangeon_keep_DL_000230" Offset="0x230" />
|
||||
<DList Name="gDoorLockDL" Offset="0x140" />
|
||||
<DList Name="gDoorChainsDL" Offset="0x230" />
|
||||
<Texture Name="gameplay_dangeon_keep_Tex_0002C0" OutName="tex_0002C0" Format="rgba16" Width="32" Height="32" Offset="0x2C0" />
|
||||
<Texture Name="gameplay_dangeon_keep_Tex_000AC0" OutName="tex_000AC0" Format="rgba16" Width="32" Height="32" Offset="0xAC0" />
|
||||
<Texture Name="gameplay_dangeon_keep_Tex_0012C0" OutName="tex_0012C0" Format="rgba16" Width="16" Height="128" Offset="0x12C0" />
|
||||
|
@ -866,7 +866,7 @@
|
||||
<Texture Name="gameplay_keep_Tex_01EAF8" OutName="tex_01EAF8" Format="rgba16" Width="16" Height="16" Offset="0x1EAF8" />
|
||||
<DList Name="gameplay_keep_DL_01ED00" Offset="0x1ED00" />
|
||||
<DList Name="gameplay_keep_DL_01ED90" Offset="0x1ED90" />
|
||||
<DList Name="gameplay_keep_DL_01F0F0" Offset="0x1F0F0" />
|
||||
<DList Name="gZTargetArrowDL" Offset="0x1F0F0" />
|
||||
<Texture Name="gameplay_keep_Tex_01F200" OutName="tex_01F200" Format="i8" Width="8" Height="8" Offset="0x1F200" />
|
||||
<DList Name="gameplay_keep_DL_01F300" Offset="0x1F300" />
|
||||
<Texture Name="gameplay_keep_Tex_01F340" OutName="tex_01F340" Format="ia8" Width="32" Height="32" Offset="0x1F340" />
|
||||
@ -1301,13 +1301,13 @@
|
||||
<Texture Name="gameplay_keep_Tex_075000" OutName="tex_075000" Format="i4" Width="32" Height="64" Offset="0x75000" />
|
||||
<Texture Name="gameplay_keep_Tex_075400" OutName="tex_075400" Format="i4" Width="32" Height="64" Offset="0x75400" />
|
||||
<Texture Name="gameplay_keep_Tex_075800" OutName="tex_075800" Format="i4" Width="32" Height="32" Offset="0x75800" />
|
||||
<DList Name="gameplay_keep_DL_075A40" Offset="0x75A40" />
|
||||
<DList Name="gSquareShadowDL" Offset="0x75A40" />
|
||||
<Texture Name="gameplay_keep_Tex_075AA8" OutName="tex_075AA8" Format="i4" Width="16" Height="16" Offset="0x75AA8" />
|
||||
<DList Name="gameplay_keep_DL_075B30" Offset="0x75B30" />
|
||||
<DList Name="gFootShadowDL" Offset="0x75B30" />
|
||||
<Texture Name="gameplay_keep_Tex_075BC0" OutName="tex_075BC0" Format="ia16" Width="32" Height="64" Offset="0x75BC0" />
|
||||
<DList Name="gameplay_keep_DL_076BC0" Offset="0x76BC0" />
|
||||
<DList Name="gCircleShadowDL" Offset="0x76BC0" />
|
||||
<Texture Name="gameplay_keep_Tex_076C40" OutName="tex_076C40" Format="ia16" Width="32" Height="32" Offset="0x76C40" />
|
||||
<DList Name="gameplay_keep_DL_077480" Offset="0x77480" />
|
||||
<DList Name="gHorseShadowDL" Offset="0x77480" />
|
||||
<Texture Name="gameplay_keep_Tex_0774D0" OutName="tex_0774D0" Format="i8" Width="16" Height="64" Offset="0x774D0" />
|
||||
<DList Name="gameplay_keep_DL_077990" Offset="0x77990" />
|
||||
<Texture Name="gameplay_keep_Tex_077A40" OutName="tex_077A40" Format="ia8" Width="32" Height="128" Offset="0x77A40" />
|
||||
@ -1322,7 +1322,7 @@
|
||||
<DList Name="gameplay_keep_DL_07AB10" Offset="0x7AB10" />
|
||||
<DList Name="gameplay_keep_DL_07AB58" Offset="0x7AB58" />
|
||||
<DList Name="gameplay_keep_DL_07AB70" Offset="0x7AB70" />
|
||||
<DList Name="gameplay_keep_DL_07AE00" Offset="0x7AE00" />
|
||||
<DList Name="gZTargetLockOnTriangleDL" Offset="0x7AE00" />
|
||||
<DList Name="gameplay_keep_DL_07AFB0" Offset="0x7AFB0" />
|
||||
<DList Name="gameplay_keep_DL_07B0B8" Offset="0x7B0B8" />
|
||||
<Texture Name="gameplay_keep_Tex_07B0C0" OutName="tex_07B0C0" Format="i8" Width="64" Height="64" Offset="0x7B0C0" />
|
||||
|
@ -63,7 +63,7 @@ void EnMs_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06003DC0, &D_060005EC, this->jointTable, this->morphTable, 9);
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinderType1(globalCtx, &this->collider, &this->actor, &D_80952BA0);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 35.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 35.0f);
|
||||
Actor_SetScale(&this->actor, 0.015f);
|
||||
this->actor.colChkInfo.mass = 0xFF;
|
||||
this->actionFunc = func_80952734;
|
||||
@ -87,7 +87,7 @@ void func_80952734(EnMs* this, GlobalContext* globalCtx) {
|
||||
this->actor.textId = 0x932;
|
||||
}
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx) != 0) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) != 0) {
|
||||
this->actionFunc = func_809527F8;
|
||||
return;
|
||||
}
|
||||
@ -107,12 +107,12 @@ void func_809529AC(EnMs *this, GlobalContext *globalCtx) {
|
||||
func_800B8500(&this->actor, globalCtx, this->actor.xzDistToPlayer, this->actor.playerHeightRel, 0);
|
||||
this->actionFunc = func_80952A1C;
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
Actor_PickUp(&this->actor, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80952A1C(EnMs *this, GlobalContext *globalCtx) {
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
func_80151938(globalCtx, 0x936U);
|
||||
this->actionFunc = func_809527F8;
|
||||
} else {
|
||||
@ -124,7 +124,7 @@ void EnMs_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnMs* this = THIS;
|
||||
|
||||
Actor_SetHeight(&this->actor, 20.0f);
|
||||
Actor_SetFocus(&this->actor, 20.0f);
|
||||
this->actor.targetArrowOffset = 500.0f;
|
||||
Actor_SetScale(&this->actor, 0.015f);
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
@ -156,7 +156,7 @@ void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
u8 temp_v0;
|
||||
u8 temp_v0_2;
|
||||
|
||||
temp_v0 = func_80152498(&globalCtx->msgCtx);
|
||||
temp_v0 = Message_GetState(&globalCtx->msgCtx);
|
||||
if (temp_v0 != 4) {
|
||||
if (temp_v0 != 5) {
|
||||
if ((temp_v0 == 6) && (func_80147624(globalCtx) != 0)) {
|
||||
@ -168,7 +168,7 @@ void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
}
|
||||
if (func_80147624(globalCtx) != 0) {
|
||||
func_801477B4(globalCtx);
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
this->actionFunc = func_809529AC;
|
||||
return;
|
||||
}
|
||||
@ -198,7 +198,7 @@ void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
return;
|
||||
}
|
||||
func_8019F208();
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
func_801159EC(-0xA);
|
||||
this->actionFunc = func_809529AC;
|
||||
}
|
||||
@ -208,7 +208,7 @@ void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
which is long, messy, and contains some rather nasty-looking control flow, including horrors like
|
||||
|
||||
```C
|
||||
temp_v0 = func_80152498(&globalCtx->msgCtx);
|
||||
temp_v0 = Message_GetState(&globalCtx->msgCtx);
|
||||
if (temp_v0 != 4) {
|
||||
if (temp_v0 != 5) {
|
||||
if ((temp_v0 == 6) && (func_80147624(globalCtx) != 0)) {
|
||||
@ -238,7 +238,7 @@ void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
u8 temp_v0;
|
||||
u8 temp_v0_2;
|
||||
|
||||
temp_v0 = func_80152498(&globalCtx->msgCtx);
|
||||
temp_v0 = Message_GetState(&globalCtx->msgCtx);
|
||||
if (temp_v0 == 4) {
|
||||
goto block_7;
|
||||
}
|
||||
@ -258,7 +258,7 @@ block_5:
|
||||
goto block_17;
|
||||
}
|
||||
func_801477B4(globalCtx);
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
this->actionFunc = func_809529AC;
|
||||
return;
|
||||
block_7:
|
||||
@ -290,7 +290,7 @@ block_13:
|
||||
return;
|
||||
block_15:
|
||||
func_8019F208();
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
func_801159EC(-0xA);
|
||||
this->actionFunc = func_809529AC;
|
||||
return;
|
||||
@ -340,7 +340,7 @@ void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
u8 temp_v0;
|
||||
u8 temp_v0_2;
|
||||
|
||||
temp_v0 = func_80152498(&globalCtx->msgCtx);
|
||||
temp_v0 = Message_GetState(&globalCtx->msgCtx);
|
||||
if (temp_v0 == 4) {
|
||||
goto block_7;
|
||||
}
|
||||
@ -360,7 +360,7 @@ block_5:
|
||||
goto block_17;
|
||||
}
|
||||
func_801477B4(globalCtx);
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
this->actionFunc = func_809529AC;
|
||||
return;
|
||||
block_7:
|
||||
@ -390,7 +390,7 @@ block_11:
|
||||
}
|
||||
|
||||
func_8019F208();
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
func_801159EC(-0xA);
|
||||
this->actionFunc = func_809529AC;
|
||||
return;
|
||||
@ -410,7 +410,7 @@ void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
u8 temp_v0;
|
||||
u8 temp_v0_2;
|
||||
|
||||
temp_v0 = func_80152498(&globalCtx->msgCtx);
|
||||
temp_v0 = Message_GetState(&globalCtx->msgCtx);
|
||||
if (temp_v0 == 4) {
|
||||
goto block_7;
|
||||
}
|
||||
@ -430,7 +430,7 @@ block_5:
|
||||
return;
|
||||
}
|
||||
func_801477B4(globalCtx);
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
this->actionFunc = func_809529AC;
|
||||
return;
|
||||
block_7:
|
||||
@ -460,7 +460,7 @@ block_11:
|
||||
}
|
||||
|
||||
func_8019F208();
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
func_801159EC(-0xA);
|
||||
this->actionFunc = func_809529AC;
|
||||
return;
|
||||
@ -509,7 +509,7 @@ So let us rewrite the entire second half as a switch:
|
||||
}
|
||||
|
||||
func_8019F208();
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
func_801159EC(-0xA);
|
||||
this->actionFunc = func_809529AC;
|
||||
return;
|
||||
@ -540,7 +540,7 @@ There's a couple of other obvious things here:
|
||||
func_80151938(globalCtx, 0x937U);
|
||||
} else {
|
||||
func_8019F208();
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
func_801159EC(-0xA);
|
||||
this->actionFunc = func_809529AC;
|
||||
}
|
||||
@ -568,7 +568,7 @@ can be swapped round and made to wrap the switch. This leaves us with
|
||||
void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
u8 temp_v0;
|
||||
|
||||
temp_v0 = func_80152498(&globalCtx->msgCtx);
|
||||
temp_v0 = Message_GetState(&globalCtx->msgCtx);
|
||||
if (temp_v0 == 4) {
|
||||
goto block_7;
|
||||
}
|
||||
@ -588,7 +588,7 @@ block_5:
|
||||
return;
|
||||
}
|
||||
func_801477B4(globalCtx);
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
this->actionFunc = func_809529AC;
|
||||
return;
|
||||
block_7:
|
||||
@ -605,7 +605,7 @@ block_7:
|
||||
func_80151938(globalCtx, 0x937U);
|
||||
} else {
|
||||
func_8019F208();
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
func_801159EC(-0xA);
|
||||
this->actionFunc = func_809529AC;
|
||||
}
|
||||
@ -623,7 +623,7 @@ block_7:
|
||||
|
||||
Now, the top of the function also looks like a switch:
|
||||
```C
|
||||
temp_v0 = func_80152498(&globalCtx->msgCtx);
|
||||
temp_v0 = Message_GetState(&globalCtx->msgCtx);
|
||||
if (temp_v0 == 4) {
|
||||
goto block_7;
|
||||
}
|
||||
@ -641,7 +641,7 @@ Putting all this together, we write down a function with no gotos in it:
|
||||
|
||||
```C
|
||||
void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
switch (func_80152498(&globalCtx->msgCtx)) {
|
||||
switch (Message_GetState(&globalCtx->msgCtx)) {
|
||||
case 6:
|
||||
this->actionFunc = func_80952734;
|
||||
break;
|
||||
@ -651,7 +651,7 @@ void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
return;
|
||||
}
|
||||
func_801477B4(globalCtx);
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
this->actionFunc = func_809529AC;
|
||||
break;
|
||||
|
||||
@ -660,7 +660,7 @@ void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
switch (globalCtx->msgCtx.choiceIndex) {
|
||||
case 0:
|
||||
func_801477B4(globalCtx);
|
||||
|
||||
|
||||
if (gSaveContext.rupees < 0xA) {
|
||||
play_sound(0x4806U);
|
||||
func_80151938(globalCtx, 0x935U);
|
||||
@ -669,7 +669,7 @@ void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
func_80151938(globalCtx, 0x937U);
|
||||
} else {
|
||||
func_8019F208();
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
func_801159EC(-0xA);
|
||||
this->actionFunc = func_809529AC;
|
||||
}
|
||||
@ -694,7 +694,7 @@ Lastly, we can simplify `case 5` to replace the return in the if by the rest of
|
||||
|
||||
```C
|
||||
void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
switch (func_80152498(&globalCtx->msgCtx)) {
|
||||
switch (Message_GetState(&globalCtx->msgCtx)) {
|
||||
case 6:
|
||||
this->actionFunc = func_80952734;
|
||||
break;
|
||||
@ -702,7 +702,7 @@ void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
case 5:
|
||||
if (func_80147624(globalCtx) != 0) {
|
||||
func_801477B4(globalCtx);
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
this->actionFunc = func_809529AC;
|
||||
}
|
||||
break;
|
||||
@ -712,7 +712,7 @@ void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
switch (globalCtx->msgCtx.choiceIndex) {
|
||||
case 0:
|
||||
func_801477B4(globalCtx);
|
||||
|
||||
|
||||
if (gSaveContext.rupees < 0xA) {
|
||||
play_sound(0x4806U);
|
||||
func_80151938(globalCtx, 0x935U);
|
||||
@ -721,7 +721,7 @@ void func_809527F8(EnMs *this, GlobalContext *globalCtx) {
|
||||
func_80151938(globalCtx, 0x937U);
|
||||
} else {
|
||||
func_8019F208();
|
||||
func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
Actor_PickUp((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f);
|
||||
func_801159EC(-0xA);
|
||||
this->actionFunc = func_809529AC;
|
||||
}
|
||||
|
@ -148,9 +148,9 @@ void func_80C1019C(EnRecepgirl* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx) != 0) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) != 0) {
|
||||
func_80C10290(this);
|
||||
} else if (Actor_IsActorFacingLink(&this->actor, 0x2000)) {
|
||||
} else if (Actor_IsFacingPlayer(&this->actor, 0x2000)) {
|
||||
func_800B8614(&this->actor, globalCtx, 60.0f);
|
||||
if (Player_GetMask(globalCtx) == 2) {
|
||||
this->actor.textId = 0x2367;
|
||||
@ -188,7 +188,7 @@ void func_80C102D4(EnRecepgirl *this, GlobalContext *globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
temp_v0_2 = func_80152498(&globalCtx->msgCtx);
|
||||
temp_v0_2 = Message_GetState(&globalCtx->msgCtx);
|
||||
if (temp_v0_2 == 2) {
|
||||
this->actor.textId = 0x2ADC;
|
||||
func_80C10148(this);
|
||||
@ -197,7 +197,7 @@ void func_80C102D4(EnRecepgirl *this, GlobalContext *globalCtx) {
|
||||
|
||||
if ((temp_v0_2 == 5) && (func_80147624(globalCtx) != 0)) {
|
||||
if (this->actor.textId == 0x2AD9) {
|
||||
Actor_SetSwitchFlag(globalCtx, this->actor.params);
|
||||
Flags_SetSwitch(globalCtx, this->actor.params);
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 10.0f);
|
||||
if ((gSaveContext.weekEventReg[63] & 0x80)) {
|
||||
this->actor.textId = 0x2ADF;
|
||||
@ -476,9 +476,9 @@ void func_80C1019C(EnRecepgirl* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx) != 0) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) != 0) {
|
||||
func_80C10290(this);
|
||||
} else if (Actor_IsActorFacingLink(&this->actor, 0x2000)) {
|
||||
} else if (Actor_IsFacingPlayer(&this->actor, 0x2000)) {
|
||||
func_800B8614(&this->actor, globalCtx, 60.0f);
|
||||
if (Player_GetMask(globalCtx) == PLAYER_MASK_KAFEIS_MASK) {
|
||||
this->actor.textId = 0x2367; // "... doesn't Kafei want to break off his engagement ... ?"
|
||||
@ -514,13 +514,13 @@ void func_80C102D4(EnRecepgirl* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
temp_v0_2 = func_80152498(&globalCtx->msgCtx);
|
||||
temp_v0_2 = Message_GetState(&globalCtx->msgCtx);
|
||||
if (temp_v0_2 == 2) {
|
||||
this->actor.textId = 0x2ADC; // hear directions again?
|
||||
func_80C10148(this);
|
||||
} else if ((temp_v0_2 == 5) && (func_80147624(globalCtx) != 0)) {
|
||||
if (this->actor.textId == 0x2AD9) { // "Welcome..."
|
||||
Actor_SetSwitchFlag(globalCtx, this->actor.params);
|
||||
Flags_SetSwitch(globalCtx, this->actor.params);
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 10.0f);
|
||||
if (gSaveContext.weekEventReg[63] & 0x80) { // showed Couple's Mask to meeting
|
||||
this->actor.textId = 0x2ADF; // Mayor's office is on the left (meeting ended)
|
||||
@ -546,7 +546,7 @@ void func_80C102D4(EnRecepgirl* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
```
|
||||
All this branching is to make the conversation look more diverse and interesting. Notably, though, `func_80C1019C` is set to start with, and is only changed when `func_800B84D0(&this->actor, globalCtx) != 0`. This is something to do with talking. The other function handles the rest of the conversation, and hands back to the first if `func_80152498(&globalCtx->msgCtx) == 2`. This function is *something* to do with the text state, which will require `z_message` to be decomped. However, observation in-game will reveal this is something to do with ending dialogue. So we can conclude that the action functions are `EnRecepgirl_Wait` and `EnRecepgirl_Talk`. The setup functions are thus `EnRecepgirl_SetupWait` and `EnRecepgirl_SetupTalk`.
|
||||
All this branching is to make the conversation look more diverse and interesting. Notably, though, `func_80C1019C` is set to start with, and is only changed when `Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) != 0`. This is something to do with talking. The other function handles the rest of the conversation, and hands back to the first if `Message_GetState(&globalCtx->msgCtx) == 2`. This function is *something* to do with the text state, which will require `z_message` to be decomped. However, observation in-game will reveal this is something to do with ending dialogue. So we can conclude that the action functions are `EnRecepgirl_Wait` and `EnRecepgirl_Talk`. The setup functions are thus `EnRecepgirl_SetupWait` and `EnRecepgirl_SetupTalk`.
|
||||
|
||||
For more complex actors, we have a tool called `graphovl.py` that can produce function flow graphs for actors: running
|
||||
```
|
||||
|
@ -27,7 +27,7 @@ glabel func_809529AC
|
||||
/* 0003D8 809529F8 C484009C */ lwc1 $f4, 0x9c($a0)
|
||||
/* 0003DC 809529FC 8C870098 */ lw $a3, 0x98($a0)
|
||||
/* 0003E0 80952A00 24060035 */ addiu $a2, $zero, 0x35
|
||||
/* 0003E4 80952A04 0C02E287 */ jal func_800B8A1C
|
||||
/* 0003E4 80952A04 0C02E287 */ jal Actor_PickUp
|
||||
/* 0003E8 80952A08 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
.L80952A0C:
|
||||
/* 0003EC 80952A0C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
@ -46,7 +46,7 @@ void func_809529AC(EnMs *this, GlobalContext *globalCtx) {
|
||||
func_800B8500(&this->actor, globalCtx, this->actor.xzDistToPlayer, this->actor.playerHeightRel, 0);
|
||||
this->actionFunc = func_80952A1C;
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
Actor_PickUp(&this->actor, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
@ -116,11 +116,11 @@ void func_80C1019C(EnRecepgirl *this, GlobalContext *globalCtx) {
|
||||
Animation_ChangeTransitionRepeat(temp_a0, &D_06009890, -4.0f);
|
||||
}
|
||||
}
|
||||
if (func_800B84D0((Actor *) this, globalCtx) != 0) {
|
||||
if (Actor_ProcessTalkRequest((Actor *) this, globalCtx) != 0) {
|
||||
func_80C10290(this);
|
||||
return;
|
||||
}
|
||||
if (Actor_IsActorFacingLink((Actor *) this, 0x2000) != 0) {
|
||||
if (Actor_IsFacingPlayer((Actor *) this, 0x2000) != 0) {
|
||||
func_800B8614((Actor *) this, globalCtx, 60.0f);
|
||||
if (Player_GetMask(globalCtx) == 2) {
|
||||
this->actor.textId = 0x2367;
|
||||
@ -168,11 +168,11 @@ void func_80C1019C(EnRecepgirl *this, GlobalContext *globalCtx) {
|
||||
Animation_ChangeTransitionRepeat(&this->skelAnime, &D_06009890, -4.0f);
|
||||
}
|
||||
}
|
||||
if (func_800B84D0(&this->actor, globalCtx) != 0) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) != 0) {
|
||||
func_80C10290(this);
|
||||
return;
|
||||
}
|
||||
if (Actor_IsActorFacingLink(&this->actor, 0x2000) != 0) {
|
||||
if (Actor_IsFacingPlayer(&this->actor, 0x2000) != 0) {
|
||||
func_800B8614(&this->actor, globalCtx, 60.0f);
|
||||
if (Player_GetMask(globalCtx) == 2) {
|
||||
this->actor.textId = 0x2367;
|
||||
@ -203,9 +203,9 @@ void func_80C1019C(EnRecepgirl* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx) != 0) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) != 0) {
|
||||
func_80C10290(this);
|
||||
} else if (Actor_IsActorFacingLink(&this->actor, 0x2000)) {
|
||||
} else if (Actor_IsFacingPlayer(&this->actor, 0x2000)) {
|
||||
func_800B8614(&this->actor, globalCtx, 60.0f);
|
||||
if (Player_GetMask(globalCtx) == 2) {
|
||||
this->actor.textId = 0x2367;
|
||||
@ -282,7 +282,7 @@ void func_80C102D4(EnRecepgirl *this, GlobalContext *globalCtx) {
|
||||
Animation_MorphToPlayOnce(sp20, &D_0600A280, -4.0f);
|
||||
}
|
||||
}
|
||||
temp_v0_2 = func_80152498(&globalCtx->msgCtx);
|
||||
temp_v0_2 = Message_GetState(&globalCtx->msgCtx);
|
||||
if (temp_v0_2 == 2) {
|
||||
this->actor.textId = 0x2ADC;
|
||||
func_80C10148(this);
|
||||
@ -291,7 +291,7 @@ void func_80C102D4(EnRecepgirl *this, GlobalContext *globalCtx) {
|
||||
if (((temp_v0_2 & 0xFF) == 5) && (func_80147624(globalCtx) != 0)) {
|
||||
temp_v0_3 = this->actor.textId;
|
||||
if (temp_v0_3 == 0x2AD9) {
|
||||
Actor_SetSwitchFlag(globalCtx, (s32) this->actor.params);
|
||||
Flags_SetSwitch(globalCtx, (s32) this->actor.params);
|
||||
Animation_MorphToPlayOnce(sp20, &D_0600AD98, 10.0f);
|
||||
if ((*(&gSaveContext + 0xF37) & 0x80) != 0) {
|
||||
this->actor.textId = 0x2ADF;
|
||||
@ -340,7 +340,7 @@ void func_80C102D4(EnRecepgirl *this, GlobalContext *globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
temp_v0_2 = func_80152498(&globalCtx->msgCtx);
|
||||
temp_v0_2 = Message_GetState(&globalCtx->msgCtx);
|
||||
if (temp_v0_2 == 2) {
|
||||
this->actor.textId = 0x2ADC;
|
||||
func_80C10148(this);
|
||||
@ -349,7 +349,7 @@ void func_80C102D4(EnRecepgirl *this, GlobalContext *globalCtx) {
|
||||
|
||||
if (((temp_v0_2 & 0xFF) == 5) && (func_80147624(globalCtx) != 0)) {
|
||||
if (this->actor.textId == 0x2AD9) {
|
||||
Actor_SetSwitchFlag(globalCtx, this->actor.params);
|
||||
Flags_SetSwitch(globalCtx, this->actor.params);
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 10.0f);
|
||||
if ((*(&gSaveContext + 0xF37) & 0x80) != 0) {
|
||||
this->actor.textId = 0x2ADF;
|
||||
@ -390,7 +390,7 @@ The yellow shows registers that don't match, the different colours on the regist
|
||||
```
|
||||
somehow we skipped over `t0`. Where is this in the code? The `153` in the middle is the line number in the C file (the `3f0`s are the offsets into the assembly file), we have `--source` if you want to see the code explicitly, or you can do it the old-fashioned way, and work it out from nearby function calls. In this case, `func_80C10148` is run straight after, and the only place that is called is
|
||||
```C
|
||||
temp_v0_2 = func_80152498(&globalCtx->msgCtx);
|
||||
temp_v0_2 = Message_GetState(&globalCtx->msgCtx);
|
||||
if (temp_v0_2 == 2) {
|
||||
this->actor.textId = 0x2ADC;
|
||||
func_80C10148(this);
|
||||
|
@ -15,8 +15,7 @@ s32 DmaMgr_FindDmaIndex(u32 vromAddr);
|
||||
const char* func_800809F4(u32 param_1);
|
||||
void DmaMgr_ProcessMsg(DmaRequest* req);
|
||||
void DmaMgr_ThreadEntry(void* arg);
|
||||
s32 DmaMgr_SendRequestImpl(DmaRequest* request, void* vramStart, uintptr_t vromStart, size_t size, UNK_TYPE4 unused,
|
||||
OSMesgQueue* callback, void* callbackMesg);
|
||||
s32 DmaMgr_SendRequestImpl(DmaRequest* request, void* vramStart, uintptr_t vromStart, size_t size, UNK_TYPE4 unused, OSMesgQueue* callback, void* callbackMesg);
|
||||
s32 DmaMgr_SendRequest0(void* vramStart, uintptr_t vromStart, size_t size);
|
||||
void DmaMgr_Start(void);
|
||||
void DmaMgr_Stop(void);
|
||||
@ -317,8 +316,7 @@ void osViSetMode(OSViMode* modep);
|
||||
void guLookAtF(float mf[4][4], f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp);
|
||||
void guLookAt(Mtx* m, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp);
|
||||
s32 osPfsAllocateFile(OSPfs* pfs, u16 companyCode, u32 gameCode, u8* gameName, u8* extName, s32 fileSize, s32* fileNo);
|
||||
s32 __osPfsDeclearPage(OSPfs* pfs, __OSInode* inode, s32 fileSizeInPages, s32* startPage, u8 bank, s32* decleared,
|
||||
s32* finalPage);
|
||||
s32 __osPfsDeclearPage(OSPfs* pfs, __OSInode* inode, s32 fileSizeInPages, s32* startPage, u8 bank, s32* decleared, s32* finalPage);
|
||||
s32 osStopTimer(OSTimer* t);
|
||||
u32 __osProbeTLB(void* param_1);
|
||||
void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQ, OSMesg* cmdBuf, s32 cmdMsgCnt);
|
||||
@ -551,45 +549,31 @@ s16 func_800B09D0(s16 a0, s16 a1, f32 a2);
|
||||
u8 func_800B0A24(u8 a0, u8 a1, f32 a2);
|
||||
void EffectSs_DrawGEffect(GlobalContext* globalCtx, EffectSs* this, void* texture);
|
||||
void EffectSsDust_Spawn(GlobalContext* globalCtx, u16 drawFlags, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life, u8 updateMode);
|
||||
void func_800B0DE0(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
||||
Color_RGBA8* envColor, s16 scale, s16 scaleStep);
|
||||
void func_800B0E48(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
||||
Color_RGBA8* envColor, s16 scale, s16 scaleStep);
|
||||
void func_800B0EB0(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
||||
Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life);
|
||||
void func_800B0F18(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
||||
Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life);
|
||||
void func_800B0F80(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
||||
Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life);
|
||||
void func_800B0FE8(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
||||
Color_RGBA8* envColor, s16 scale, s16 scaleStep);
|
||||
void func_800B1054(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
||||
Color_RGBA8* envColor, s16 scale, s16 scaleStep);
|
||||
void func_800B0DE0(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 scaleStep);
|
||||
void func_800B0E48(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 scaleStep);
|
||||
void func_800B0EB0(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life);
|
||||
void func_800B0F18(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life);
|
||||
void func_800B0F80(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 scaleStep, s16 life);
|
||||
void func_800B0FE8(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 scaleStep);
|
||||
void func_800B1054(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 scaleStep);
|
||||
void func_800B10C0(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel);
|
||||
void func_800B1130(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel);
|
||||
void func_800B11A0(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep);
|
||||
void func_800B1210(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep);
|
||||
void func_800B1280(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep,
|
||||
s16 life);
|
||||
void func_800B12F0(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep,
|
||||
s16 life);
|
||||
void func_800B1360(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
||||
Color_RGBA8* envColor);
|
||||
void func_800B139C(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor,
|
||||
Color_RGBA8* envColor);
|
||||
void func_800B1280(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep, s16 life);
|
||||
void func_800B12F0(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep, s16 life);
|
||||
void func_800B1360(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor);
|
||||
void func_800B139C(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor);
|
||||
void func_800B13D8(Vec3f* srcPos, f32 randScale, Vec3f* newPos, Vec3f* velocity, Vec3f* accel);
|
||||
void func_800B14D4(GlobalContext* globalCtx, f32 randScale, Vec3f* srcPos);
|
||||
void func_800B1598(GlobalContext* globalCtx, f32 randScale, Vec3f* srcPos);
|
||||
void EffectSsKiraKira_SpawnSmallYellow(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel);
|
||||
void EffectSsKiraKira_SpawnSmall(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
|
||||
Color_RGBA8* primColor, Color_RGBA8* envColor);
|
||||
void EffectSsGSpk_SpawnSmall(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
|
||||
Color_RGBA8* primColor, Color_RGBA8* envColor);
|
||||
void EffectSsKiraKira_SpawnSmall(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor);
|
||||
void EffectSsGSpk_SpawnSmall(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor);
|
||||
void EffectSsKiraKira_SpawnDispersed(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s32 life);
|
||||
// void EffectSsKiraKira_SpawnFocused(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE2 param_7, UNK_TYPE4 param_8);
|
||||
// void EffectSsBomb2_SpawnFade(UNK_TYPE4 uParm1, Vec3f* pzParm2, Vec3f* pzParm3, Vec3f* pzParm4);
|
||||
void EffectSsBomb2_SpawnLayered(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale,
|
||||
s16 scaleStep);
|
||||
void EffectSsBomb2_SpawnLayered(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep);
|
||||
// void EffectSsBlast_Spawn(UNK_TYPE4 uParm1, Vec3f* pzParm2, Vec3f* pzParm3, Vec3f* pzParm4, Color_RGBA8* param_5, Color_RGBA8* param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10);
|
||||
void EffectSsBlast_SpawnWhiteCustomScale(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale,
|
||||
s16 scaleStep, s16 life);
|
||||
@ -600,22 +584,16 @@ void EffectSsBlast_SpawnWhiteShockwave(GlobalContext* globalCtx, Vec3f* arg1, Ve
|
||||
// void EffectSsGSpk_SpawnFuse(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
// void EffectSsGSpk_SpawnRandColor(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7);
|
||||
// void EffectSsGSpk_SpawnSmall(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
|
||||
void EffectSsDFire_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep,
|
||||
s16 alpha, s16 fadeDelay, s16 life, s32 arg9);
|
||||
void EffectSsBubble_Spawn(GlobalContext* globalCtx, Vec3f* pos, f32 yPosOffset, f32 yPosRandScale, f32 xzPosRandScale,
|
||||
f32 scale);
|
||||
void EffectSsDFire_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep, s16 alpha, s16 fadeDelay, s16 life, s32 arg9);
|
||||
void EffectSsBubble_Spawn(GlobalContext* globalCtx, Vec3f* pos, f32 yPosOffset, f32 yPosRandScale, f32 xzPosRandScale, f32 scale);
|
||||
void EffectSsGRipple_Spawn(GlobalContext* globalCtx, Vec3f* pos, s16 radius, s16 radiusMax, s16 life);
|
||||
void EffectSsGSplash_Spawn(GlobalContext* globalCtx, Vec3f* pos, Color_RGBA8* primColor, Color_RGBA8* envColor,
|
||||
s16 type, s16 scale);
|
||||
void EffectSsGSplash_Spawn(GlobalContext* globalCtx, Vec3f* pos, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 type, s16 scale);
|
||||
// void EffectSsGFire_Spawn(UNK_TYPE4 uParm1, Vec3f* pzParm2);
|
||||
// void EffectSsLightning_Spawn(UNK_TYPE4 uParm1, Vec3f* pzParm2, Color_RGBA8* pzParm3, Color_RGBA8* pzParm4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8);
|
||||
// void EffectSsDtBubble_SpawnColorProfile(UNK_TYPE4 param_1, Vec3f* param_2, Vec3f* param_3, Vec3f* param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8);
|
||||
void EffectSsDtBubble_SpawnCustomColor(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
|
||||
Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 life, s16 randXZ);
|
||||
void EffectSsHahen_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 unused, s16 scale,
|
||||
s16 objId, s16 life, Gfx* dList);
|
||||
void EffectSsHahen_SpawnBurst(GlobalContext* globalCtx, Vec3f* pos, f32 burstScale, s16 unused, s16 scale,
|
||||
s16 randScaleRange, s16 count, s16 objId, s16 life, Gfx* dList);
|
||||
void EffectSsDtBubble_SpawnCustomColor(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor, s16 scale, s16 life, s16 randXZ);
|
||||
void EffectSsHahen_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 unused, s16 scale, s16 objId, s16 life, Gfx* dList);
|
||||
void EffectSsHahen_SpawnBurst(GlobalContext* globalCtx, Vec3f* pos, f32 burstScale, s16 unused, s16 scale, s16 randScaleRange, s16 count, s16 objId, s16 life, Gfx* dList);
|
||||
// void func_800B2364(void);
|
||||
// void EffectSsStick_Spawn(UNK_TYPE4 uParm1, UNK_PTR puParm2, UNK_TYPE2 uParm3);
|
||||
// void EffectSsSibuki_Spawn(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7);
|
||||
@ -626,28 +604,22 @@ void EffectSsHitMark_SpawnFixedScale(GlobalContext* globalCtx, s32 type, Vec3f*
|
||||
// void EffectSsHitMark_SpawnCustomScale(void);
|
||||
// void EffectSsFhgFlash_SpawnShock(UNK_TYPE4 uParm1, UNK_TYPE4 uParm2, Vec3f* pzParm3, UNK_TYPE2 uParm4, UNK_TYPE1 param_5);
|
||||
// void EffectSsKFire_Spawn(UNK_TYPE4 uParm1, Vec3f* pzParm2, Vec3f* pzParm3, Vec3f* pzParm4, UNK_TYPE2 param_5, UNK_TYPE1 param_6);
|
||||
void EffectSsSolderSrchBall_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 unused,
|
||||
s16* linkDetected, s16 drawFlag);
|
||||
void EffectSsKakera_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* arg3, s16 gravity, s16 arg5,
|
||||
s16 arg6, s16 arg7, s16 arg8, s16 scale, s16 arg10, s16 arg11, s32 life, s16 colorIdx,
|
||||
s16 objId, Gfx* dList);
|
||||
void EffectSsSolderSrchBall_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 unused, s16* linkDetected, s16 drawFlag);
|
||||
void EffectSsKakera_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* arg3, s16 gravity, s16 arg5, s16 arg6, s16 arg7, s16 arg8, s16 scale, s16 arg10, s16 arg11, s32 life, s16 colorIdx, s16 objId, Gfx* dList);
|
||||
// void EffectSsIcePiece_Spawn(UNK_TYPE4 uParm1, Vec3f* pzParm2, UNK_TYPE4 uParm3, Vec3f* pzParm4, Vec3f* param_5, UNK_TYPE4 param_6);
|
||||
// void EffectSsIcePiece_SpawnBurst(void);
|
||||
// void EffectSsEnIce_SpawnFlyingVec3f(UNK_TYPE4 uParm1, Actor* pzParm2, Vec3f* pzParm3, Color_RGBA8* pzParm4, Color_RGBA8* param_5, UNK_TYPE4 param_6);
|
||||
// void func_800B2B44(void);
|
||||
// void func_800B2B7C(void);
|
||||
void EffectSsEnIce_Spawn(GlobalContext* globalCtx, Vec3f* pos, f32 scale, Vec3f* velocity, Vec3f* accel,
|
||||
Color_RGBA8* primColor, Color_RGBA8* envColor, s32 life);
|
||||
void EffectSsEnIce_Spawn(GlobalContext* globalCtx, Vec3f* pos, f32 scale, Vec3f* velocity, Vec3f* accel, Color_RGBA8* primColor, Color_RGBA8* envColor, s32 life);
|
||||
// void EffectSsFireTail_Spawn(UNK_TYPE4 uParm1, UNK_TYPE4 uParm2, Vec3f* pzParm3, UNK_TYPE4 uParm4, Vec3f* param_5, UNK_TYPE2 param_6, Color_RGBA8* param_7, Color_RGBA8* param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10, UNK_TYPE4 param_11);
|
||||
// void EffectSsFireTail_SpawnFlame(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE4 param_6);
|
||||
// void EffectSsFireTail_SpawnFlameOnPlayer(void);
|
||||
void EffectSsEnFire_SpawnVec3f(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, s16 scale, s16 arg4, s16 flags, s16 bodyPart);
|
||||
// void EffectSsEnFire_SpawnVec3s(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7);
|
||||
// void EffectSsExtra_Spawn(UNK_TYPE4 uParm1, Vec3f* pzParm2, Vec3f* pzParm3, Vec3f* pzParm4, UNK_TYPE2 param_5, UNK_TYPE2 param_6);
|
||||
void EffectSsDeadDb_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* prim, Color_RGBA8* env,
|
||||
s16 scale, s16 scaleStep, s32 unk);
|
||||
void func_800B3030(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep,
|
||||
s32 colorIndex);
|
||||
void EffectSsDeadDb_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* prim, Color_RGBA8* env, s16 scale, s16 scaleStep, s32 unk);
|
||||
void func_800B3030(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep, s32 colorIndex);
|
||||
// void EffectSsDeadDd_Spawn(UNK_TYPE4 uParm1, Vec3f* pzParm2, Vec3f* pzParm3, Vec3f* pzParm4, UNK_TYPE1* param_5, UNK_TYPE1* param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE4 param_10);
|
||||
// void EffectSsDeadDs_Spawn(UNK_TYPE4 uParm1, Vec3f* pzParm2, Vec3f* pzParm3, Vec3f* pzParm4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE4 param_8);
|
||||
// void func_800B31BC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE4 param_6);
|
||||
@ -657,73 +629,60 @@ void FlagSet_Update(GameState* gameState);
|
||||
void FlagSet_Draw(GameState* gameState);
|
||||
void Overlay_LoadGameState(GameStateOverlay* gameState);
|
||||
void Overlay_FreeGameState(GameStateOverlay* gameState);
|
||||
void Actor_PrintLists(ActorContext* actorCtx);
|
||||
void ActorShape_Init(ActorShape* actorShape, f32 yOffset, ActorShadowFunc func, f32 scale);
|
||||
void ActorShadow_Draw(Actor* actor, Lights* mapper, GlobalContext* globalCtx, Gfx* displayList, Color_RGBA8* color);
|
||||
void func_800B3FC0(Actor* actor, Lights* mapper, GlobalContext* globalCtx);
|
||||
void func_800B4024(Actor* actor, Lights* mapper, GlobalContext* globalCtx);
|
||||
void func_800B4088(Actor* actor, Lights* mapper, GlobalContext* globalCtx);
|
||||
void func_800B40B8(Actor* actor, Lights* mapper, GlobalContext* globalCtx);
|
||||
void func_800B40E0(GlobalContext* globalCtx, Light* light, MtxF* arg2, s32 arg3, f32 arg4, f32 arg5, f32 arg6);
|
||||
void func_800B42F8(Actor* actor, Lights* mapper, GlobalContext* globalCtx);
|
||||
// void func_800B4A98(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||
void func_800B4AEC(GlobalContext* globalCtx, Actor* actor, f32 param_3);
|
||||
|
||||
void ActorShape_Init(ActorShape* actorShape, f32 yOffset, ActorShadowFunc shadowDraw, f32 shadowScale);
|
||||
void ActorShadow_DrawCircle(Actor* actor, Lights* lights, GlobalContext* globalCtx);
|
||||
void ActorShadow_DrawSquare(Actor* actor, Lights* lights, GlobalContext* globalCtx);
|
||||
void ActorShadow_DrawWhiteCircle(Actor* actor, Lights* lights, GlobalContext* globalCtx);
|
||||
void ActorShadow_DrawHorse(Actor* actor, Lights* lights, GlobalContext* globalCtx);
|
||||
|
||||
void ActorShadow_DrawFeet(Actor* actor, Lights* mapper, GlobalContext* globalCtx);
|
||||
void Actor_SetFeetPos(Actor* actor, s32 limbIndex, s32 leftFootIndex, Vec3f* leftFootPos, s32 rightFootIndex, Vec3f* rightFootPos);
|
||||
void func_800B4AEC(GlobalContext* globalCtx, Actor* actor, f32 y);
|
||||
void func_800B4B50(Actor* actor, Lights* mapper, GlobalContext* globalCtx);
|
||||
void func_800B4EDC(GlobalContext* globalCtx, Vec3f* pzParm2, Vec3f* pzParm3, f32* pfParm4);
|
||||
// void func_800B4F40(TargetContext* targetCtx, s32 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4, UNK_TYPE4 param_5);
|
||||
void func_800B4F78(TargetContext* targetCtx, u8 type, GlobalContext* globalCtx);
|
||||
void func_800B5040(TargetContext* targetCtx, Actor* actor, u8 type, GlobalContext* globalCtx);
|
||||
void Actor_TargetContextInit(TargetContext* targetCtx, Actor* actor, GlobalContext* globalCtx);
|
||||
void func_800B5208(TargetContext* targetCtx, GlobalContext* globalCtx);
|
||||
void func_800B5814(TargetContext* targetCtx, Player* player, Actor* actor, GlobalContext* globalCtx);
|
||||
u32 Flags_GetSwitch(GlobalContext* globalCtx, s32 flag);
|
||||
void Actor_SetSwitchFlag(GlobalContext* globalCtx, s32 flag);
|
||||
void Actor_UnsetSwitchFlag(GlobalContext* globalCtx, s32 flag);
|
||||
u32 Actor_GetChestFlag(GlobalContext* globalCtx, u32 flag);
|
||||
void Actor_SetChestFlag(GlobalContext* globalCtx, u32 flag);
|
||||
void Actor_SetAllChestFlag(GlobalContext* globalCtx, u32 flags);
|
||||
u32 Actor_GetAllChestFlag(GlobalContext* globalCtx);
|
||||
u32 Actor_GetRoomCleared(GlobalContext* globalCtx, u32 roomNumber);
|
||||
void Actor_SetRoomCleared(GlobalContext* globalCtx, u32 roomNumber);
|
||||
void Actor_UnsetRoomCleared(GlobalContext* globalCtx, u32 roomNumber);
|
||||
u32 Actor_GetRoomClearedTemp(GlobalContext* globalCtx, u32 roomNumber);
|
||||
void Actor_SetRoomClearedTemp(GlobalContext* globalCtx, u32 roomNumber);
|
||||
void Actor_UnsetRoomClearedTemp(GlobalContext* globalCtx, u32 roomNumber);
|
||||
u32 Actor_GetCollectibleFlag(GlobalContext* globalCtx, s32 index);
|
||||
void Actor_SetCollectibleFlag(GlobalContext* globalCtx, s32 index);
|
||||
void Actor_TitleCardContextInit(GlobalContext* globalCtx, TitleCardContext* titleCardCtx);
|
||||
void Actor_TitleCardCreate(GlobalContext* globalCtx, TitleCardContext* titleCardCtx, u32 texture, s16 param_4, s16 param_5, u8 param_6, u8 param_7);
|
||||
// void Actor_Nop800B5E50(UNK_TYPE4 param_1, UNK_TYPE4 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4);
|
||||
void Actor_TitleCardUpdate(GlobalContext* globalCtx, TitleCardContext* titleCardCtx);
|
||||
void Actor_TitleCardDraw(GlobalContext* globalCtx, TitleCardContext* titleCardCtx);
|
||||
// UNK_TYPE4 func_800B6434(GlobalContext* globalCtx, TitleCardContext* titleCardCtx);
|
||||
// UNK_TYPE4 func_800B645C(void);
|
||||
void func_800B6468(GlobalContext* globalCtx);
|
||||
void func_800B6474(GlobalContext* globalCtx);
|
||||
// UNK_TYPE4 func_800B648C(GlobalContext* globalCtx, UNK_TYPE1 param_2, UNK_TYPE1 param_3, f32 param_4, Vec3f* param_5);
|
||||
f32 func_800B64FC(GlobalContext* globalCtx, f32 fParm2, Vec3f* pzParm3, u32* puParm4);
|
||||
void* func_800B6584(GlobalContext* globalCtx, s16 sParm2, void* pvParm3, u32 uParm4);
|
||||
// UNK_TYPE4 func_800B6608(s32 iParm1, s16 sParm2);
|
||||
// void func_800B6680(void);
|
||||
void Actor_GetProjectedPos(GlobalContext* globalCtx, Vec3f* arg1, Vec3f* arg2, f32* arg3);
|
||||
|
||||
void Actor_DrawZTarget(TargetContext* targetCtx, GlobalContext* globalCtx);
|
||||
|
||||
s32 Flags_GetSwitch(GlobalContext* globalCtx, s32 flag);
|
||||
void Flags_SetSwitch(GlobalContext* globalCtx, s32 flag);
|
||||
void Flags_UnsetSwitch(GlobalContext* globalCtx, s32 flag);
|
||||
s32 Flags_GetTreasure(GlobalContext* globalCtx, s32 flag);
|
||||
void Flags_SetTreasure(GlobalContext* globalCtx, s32 flag);
|
||||
void Flags_SetAllTreasure(GlobalContext* globalCtx, s32 flag);
|
||||
s32 Flags_GetAllTreasure(GlobalContext* globalCtx);
|
||||
s32 Flags_GetClear(GlobalContext* globalCtx, s32 roomNumber);
|
||||
void Flags_SetClear(GlobalContext* globalCtx, s32 roomNumber);
|
||||
void Flags_UnsetClear(GlobalContext* globalCtx, s32 roomNumber);
|
||||
s32 Flags_GetClearTemp(GlobalContext* globalCtx, s32 roomNumber);
|
||||
void Flags_SetClearTemp(GlobalContext* globalCtx, s32 roomNumber);
|
||||
void Flags_UnsetClearTemp(GlobalContext* globalCtx, s32 roomNumber);
|
||||
s32 Flags_GetCollectible(GlobalContext* globalCtx, s32 flag);
|
||||
void Flags_SetCollectible(GlobalContext* globalCtx, s32 flag);
|
||||
|
||||
void TitleCard_InitBossName(GameState* gameState, TitleCardContext* titleCtx, TexturePtr texture, s16 x, s16 y, u8 width, u8 height);
|
||||
|
||||
s32 func_800B648C(GlobalContext* globalCtx, s32 arg1, s32 arg2, f32 arg3, Vec3f* arg4);
|
||||
f32 func_800B64FC(GlobalContext* globalCtx, f32 arg1, Vec3f* arg2, u32* arg3);
|
||||
void* func_800B6584(GlobalContext* globalCtx, s16 id, void* arg2, size_t size);
|
||||
void* func_800B6608(GlobalContext* globalCtx, s16 id);
|
||||
void* func_800B6680(GlobalContext* globalCtx, s16 id);
|
||||
void Actor_MarkForDeath(Actor* actor);
|
||||
void Actor_InitCurrPosition(Actor* actor);
|
||||
void Actor_SetHeight(Actor* actor, f32 height);
|
||||
void Actor_SetRotationFromDrawRotation(Actor* actor);
|
||||
void Actor_InitDrawRotation(Actor* actor);
|
||||
void Actor_SetWorldToHome(Actor* actor);
|
||||
void Actor_SetFocus(Actor* actor, f32 height);
|
||||
void Actor_SetWorldRotToShape(Actor* actor);
|
||||
void Actor_SetShapeRotToWorld(Actor* actor);
|
||||
void Actor_SetScale(Actor* actor, f32 scale);
|
||||
void Actor_SetObjectSegment(GlobalContext* globalCtx, Actor* actor);
|
||||
void Actor_InitToDefaultValues(Actor* actor, GlobalContext* globalCtx);
|
||||
void Actor_FiniActor(Actor* actor, GlobalContext* globalCtx);
|
||||
void Actor_SetObjectDependency(GlobalContext* globalCtx, Actor* actor);
|
||||
void Actor_SetMovementScale(s32 scale);
|
||||
void Actor_ApplyMovement(Actor* actor);
|
||||
void Actor_SetVelocityYRotationAndGravity(Actor* actor);
|
||||
void Actor_SetVelocityAndMoveYRotationAndGravity(Actor* actor);
|
||||
void Actor_SetVelocityXYRotation(Actor* actor);
|
||||
void Actor_SetVelocityAndMoveXYRotation(Actor* actor);
|
||||
void Actor_SetVelocityXYRotationReverse(Actor* actor);
|
||||
void Actor_SetVelocityAndMoveXYRotationReverse(Actor* actor);
|
||||
void func_800B6C04(Actor* actor, f32 fParm2);
|
||||
// void func_800B6C58(Actor* actor, UNK_TYPE4 param_2);
|
||||
void Actor_UpdatePos(Actor* actor);
|
||||
void Actor_UpdateVelocityWithGravity(Actor* actor);
|
||||
void Actor_MoveWithGravity(Actor* actor);
|
||||
void Actor_UpdateVelocityWithoutGravity(Actor* actor);
|
||||
void Actor_MoveWithoutGravity(Actor* actor);
|
||||
void Actor_UpdateVelocityWithoutGravityReverse(Actor* actor);
|
||||
void Actor_MoveWithoutGravityReverse(Actor* actor);
|
||||
void Actor_SetSpeeds(Actor* actor, f32 speed);
|
||||
s16 Actor_YawBetweenActors(Actor* from, Actor* to);
|
||||
s16 Actor_YawBetweenActorsTop(Actor* from, Actor* to);
|
||||
s16 Actor_YawToPoint(Actor* actor, Vec3f* point);
|
||||
@ -734,171 +693,142 @@ f32 Actor_DistanceBetweenActors(Actor* actor1, Actor* actor2);
|
||||
f32 Actor_DistanceToPoint(Actor* actor, Vec3f* point);
|
||||
f32 Actor_XZDistanceBetweenActors(Actor* actor1, Actor* actor2);
|
||||
f32 Actor_XZDistanceToPoint(Actor* actor, Vec3f* point);
|
||||
void Actor_CalcOffsetOrientedToDrawRotation(Actor* actor, Vec3f* offset, Vec3f* point);
|
||||
f32 Actor_YDistance(Actor* actor1, Actor* actor2);
|
||||
void func_800B6F20(GlobalContext* globalCtx, s32 param_2, f32 param_3, s16 param_4);
|
||||
float func_800B6FC8(Player* player);
|
||||
// void func_800B7090(void);
|
||||
// void func_800B7118(void);
|
||||
// void func_800B7128(void);
|
||||
void Actor_OffsetOfPointInActorCoords(Actor* actor, Vec3f* offset, Vec3f* point);
|
||||
f32 Actor_HeightDiff(Actor* actor1, Actor* actor2);
|
||||
void func_800B6F20(GlobalContext* globalCtx, Input* input, f32 arg2, s16 arg3);
|
||||
f32 Player_GetHeight(Player* player);
|
||||
f32 Player_GetRunSpeedLimit(Player* player);
|
||||
s32 func_800B7118(Player* player);
|
||||
s32 func_800B7128(Player* player);
|
||||
s32 func_800B715C(GlobalContext* globalCtx);
|
||||
// void func_800B7170(void);
|
||||
// void func_800B71DC(void);
|
||||
u32 func_800B7200(s32 param_1);
|
||||
// void func_800B722C(void);
|
||||
void func_800B724C(GlobalContext* globalCtx, Actor* actor, u8 arg2);
|
||||
u32 func_800B7298(GlobalContext* globalCtx, Actor* actor, u8 arg2);
|
||||
void func_800B72E0(s32 param_1);
|
||||
void func_800B72F8(DynaPolyActor* dpactor, f32 a1, s16 a2);
|
||||
s32 Actor_IsLinkFacingActor(Actor* actor, s16 tolerance, GlobalContext* globalCtx);
|
||||
s32 Actor_IsActorFacedByActor(Actor* actor, Actor* other, s16 tolerance);
|
||||
s32 Actor_IsActorFacingLink(Actor* actor, s16 angle);
|
||||
s32 Actor_IsActorFacingActor(Actor* actor, Actor* other, s16 tolerance);
|
||||
s32 Actor_IsActorFacingLinkAndWithinRange(Actor* actor, f32 range, s16 tolerance);
|
||||
s32 Actor_IsActorFacingActorAndWithinRange(Actor* actor, Actor* other, f32 range, s16 tolerance);
|
||||
void func_800B75A0(CollisionPoly* param_1, Vec3f* param_2, s16* param_3);
|
||||
// UNK_TYPE4 func_800B761C(Actor* param_1, UNK_TYPE4 param_2, u32 param_3);
|
||||
// UNK_TYPE4 func_800B7678(GlobalContext* globalCtx, Actor* param_2, s32 param_3, u32 param_4);
|
||||
void Actor_SetCameraHorseSetting(GlobalContext* globalCtx, Player* player);
|
||||
void Actor_MountHorse(GlobalContext* globalCtx, Player* player, Actor* horse);
|
||||
s32 func_800B724C(GlobalContext* globalCtx, Actor* actor, u8 csMode);
|
||||
u32 func_800B7298(GlobalContext* globalCtx, Actor* actor, u8 csMode);
|
||||
void func_800B72F8(DynaPolyActor* dyna, f32 extraPushForce, s16 yRotation);
|
||||
|
||||
s32 Player_IsFacingActor(Actor* actor, s16 maxAngleDiff, GlobalContext* globalCtx);
|
||||
s32 Actor_ActorBIsFacingActorA(Actor* actorA, Actor* actorB, s16 maxAngleDiff);
|
||||
s32 Actor_IsFacingPlayer(Actor* actor, s16 angle);
|
||||
s32 Actor_ActorAIsFacingActorB(Actor* actorA, Actor* actorB, s16 maxAngleDiff);
|
||||
s32 Actor_IsFacingAndNearPlayer(Actor* actor, f32 range, s16 maxAngleDiff);
|
||||
s32 Actor_ActorAIsFacingAndNearActorB(Actor* actorA, Actor* actorB, f32 range, s16 maxAngleDiff);
|
||||
|
||||
void func_800B75A0(CollisionPoly* poly, Vec3f* normal, s16* azimuth);
|
||||
void Actor_UpdateBgCheckInfo(GlobalContext* globalCtx, Actor* actor, f32 wallCheckHeight, f32 wallCheckRadius, f32 ceilingCheckHeight, u32 flags);
|
||||
// void func_800B7E04(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||
Hilite* func_800B7FE0(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx);
|
||||
// void func_800B8018(void);
|
||||
void func_800B8050(Actor* actor, GlobalContext* globalCtx, s32 iParm3);
|
||||
void func_800B8118(Actor* actor, GlobalContext* globalCtx, s32 iParm3);
|
||||
// void func_800B81E0(void);
|
||||
UNK_PTR func_800B8214(PosRot* param_1, Actor* param_2);
|
||||
f32* func_800B8248(PosRot* param_1, Player* param_2);
|
||||
// void func_800B82EC(void);
|
||||
// void func_800B83BC(void);
|
||||
// void func_800B83F8(void);
|
||||
s32 func_800B84D0(Actor* actor, GlobalContext* globalCtx); // Actor_IsTalking
|
||||
s32 func_800B8500(Actor* actor, GlobalContext* globalCtx, f32 fParm3, f32 fParm4, s32 param_5);
|
||||
s32 func_800B85E0(Actor* actor, GlobalContext* globalCtx, f32 uParm3, s32 uParm4);
|
||||
s32 func_800B8614(Actor* actor, GlobalContext* globalCtx, f32 uParm3);
|
||||
Hilite* Hilite_DrawOpa(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx);
|
||||
void func_800B8050(Actor* actor, GlobalContext* globalCtx, s32 flag);
|
||||
void func_800B8118(Actor* actor, GlobalContext* globalCtx, s32 flag);
|
||||
PosRot* Actor_GetFocus(PosRot* dest, Actor* actor);
|
||||
PosRot* Actor_GetWorld(PosRot* dest, Actor* actor);
|
||||
PosRot* Actor_GetWorldPosShapeRot(PosRot* dest, Actor* actor);
|
||||
|
||||
s32 func_800B83F8(Actor* actor, Player* player, s32 flag);
|
||||
s32 Actor_ProcessTalkRequest(Actor* actor, GameState* gameState);
|
||||
s32 func_800B8500(Actor* actor, GlobalContext* globalCtx, f32 xzRange, f32 yRange, s32 exchangeItemId);
|
||||
s32 func_800B85E0(Actor* actor, GlobalContext* globalCtx, f32 radius, s32 exchangeItemId);
|
||||
s32 func_800B8614(Actor* actor, GlobalContext* globalCtx, f32 radius);
|
||||
s32 func_800B863C(Actor* actor, GlobalContext* globalCtx);
|
||||
u32 func_800B867C(Actor* actor, GlobalContext* globalCtx);
|
||||
UNK_TYPE4 func_800B86C8(Actor* actor1, GlobalContext* globalCtx, Actor* actor2);
|
||||
s32 func_800B8708(GlobalContext* globalCtx);
|
||||
s32 func_800B8718(Actor* actor, GlobalContext* globalCtx);
|
||||
void func_800B874C(Actor* actor, GlobalContext* globalCtx, f32 arg2, f32 arg3);
|
||||
// void func_800B8804(void);
|
||||
// void func_800B882C(void);
|
||||
// void func_800B886C(void);
|
||||
void func_800B8898(GlobalContext* globalCtx, Actor* actor, s16* arg2, s16* arg3);
|
||||
s32 Actor_TextboxIsClosing(Actor* actor, GlobalContext* globalCtx);
|
||||
s32 Actor_ChangeFocus(Actor* actor1, GlobalContext* globalCtx, Actor* actor2);
|
||||
s32 Player_GetExchangeItemId(GlobalContext* globalCtx);
|
||||
s32 func_800B8718(Actor* actor, GameState* gameState);
|
||||
s32 func_800B874C(Actor* actor, GlobalContext* globalCtx, f32 xzRange, f32 yRange);
|
||||
s32 func_800B8804(Actor* actor, GlobalContext* globalCtx, f32 xzRange);
|
||||
s32 func_800B886C(Actor* actor, GlobalContext* globalCtx);
|
||||
void Actor_GetScreenPos(GlobalContext* globalCtx, Actor* actor, s16* x, s16* y);
|
||||
s32 func_800B8934(GlobalContext* globalCtx, Actor* actor);
|
||||
u32 Actor_HasParent(Actor* actor, GlobalContext* globalCtx);
|
||||
UNK_TYPE4 func_800B8A1C(Actor* actor, GlobalContext* globalCtx, s32 iParm3, f32 fParm4, f32 param_5);
|
||||
// void func_800B8B84(void);
|
||||
void func_800B8BB0(Actor* actor, GlobalContext* globalCtx);
|
||||
// void func_800B8BD0(void);
|
||||
s32 Actor_HasParent(Actor* actor, GlobalContext* globalCtx);
|
||||
s32 Actor_PickUp(Actor* actor, GlobalContext* globalCtx, s32 getItemId, f32 xzRange, f32 yRange);
|
||||
s32 Actor_PickUpNearby(Actor* actor, GlobalContext* globalCtx, s32 getItemId);
|
||||
s32 Actor_LiftActor(Actor* actor, GlobalContext* globalCtx);
|
||||
s32 Actor_PickUpFar(Actor* actor, GlobalContext* globalCtx, s32 getItemId);
|
||||
s32 Actor_HasNoParent(Actor* actor, GlobalContext* globalCtx);
|
||||
// void func_800B8C20(void);
|
||||
void func_800B8C20(Actor* actorA, Actor* actorB, GlobalContext* globalCtx);
|
||||
void func_800B8C50(Actor* actor, GlobalContext* globalCtx);
|
||||
// void func_800B8C78(void);
|
||||
// void func_800B8C9C(void);
|
||||
// void func_800B8CEC(void);
|
||||
// void func_800B8D10(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
|
||||
s32 Actor_HasRider(GlobalContext* globalCtx, Actor* horse);
|
||||
s32 Actor_SetRideActor(GlobalContext* globalCtx, Actor* horse, s32 mountSide);
|
||||
s32 Actor_HasNoRider(GlobalContext* globalCtx, Actor* horse);
|
||||
void func_800B8D10(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 arg3, f32 arg4, u32 arg5, u32 arg6);
|
||||
void func_800B8D50(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 yaw, f32 arg4, u32 arg5);
|
||||
void func_800B8D98(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 arg3, f32 arg4);
|
||||
// void func_800B8DD4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||
// void func_800B8E1C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
void func_800B8E58(Actor* actor, u16 sfxId);
|
||||
void Audio_PlayActorSound2(Actor* actor, u16 sfxId);
|
||||
// void func_800B8FC0(void);
|
||||
void func_800B8DD4(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 arg3, f32 arg4, u32 arg5);
|
||||
void func_800B8E1C(GlobalContext* globalCtx, Actor* actor, f32 arg2, s16 arg3, f32 arg4);
|
||||
void func_800B8E58(Player* player, u16 sfxId);
|
||||
void Actor_PlaySfxAtPos(Actor* actor, u16 sfxId);
|
||||
void func_800B8EF4(GlobalContext* globalCtx, Actor* actor);
|
||||
void func_800B8F98(Actor* actor, u16 sfxId);
|
||||
void func_800B8FC0(Actor* actor, u16 sfxId);
|
||||
void func_800B8FE8(Actor* actor, u16 sfxId);
|
||||
void func_800B9010(Actor* actor, u16 sfxId);
|
||||
// void func_800B9038(void);
|
||||
// void func_800B9084(void);
|
||||
void func_800B9038(Actor* actor, s32 timer);
|
||||
void func_800B9084(Actor* actor);
|
||||
void func_800B9098(Actor* actor);
|
||||
s32 func_800B90AC(GlobalContext* globalCtx, Actor* actor, UNK_TYPE arg2, UNK_TYPE arg3, UNK_TYPE arg4);
|
||||
// void func_800B90F4(void);
|
||||
s32 func_800B90AC(GlobalContext* globalCtx, Actor* actor, CollisionPoly* polygon, s32 index, s32 arg4);
|
||||
void func_800B90F4(GlobalContext* globalCtx);
|
||||
void func_800B9120(ActorContext* actorCtx);
|
||||
// void Actor_Init(GlobalContext* globalCtx, ActorContext* actorCtx, UNK_TYPE4 uParm3);
|
||||
void func_800B9334(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||
Actor* Actor_UpdateActor(s800B948C* params);
|
||||
void Actor_InitContext(GlobalContext* globalCtx, ActorContext* actorCtx, ActorEntry* actorEntry);
|
||||
void Actor_UpdateAll(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||
void Actor_DrawActor(GlobalContext* globalCtx, Actor* actor);
|
||||
void func_800B9D1C(Actor* actor);
|
||||
void Actor_DrawAllSetup(GlobalContext* globalCtx);
|
||||
s32 Actor_RecordUndrawnActor(GlobalContext* globalCtx, Actor* actor);
|
||||
// void func_800B9E84(void);
|
||||
void func_800B9EF4(GlobalContext* globalCtx, s32 numActors, Actor** actors);
|
||||
s32 func_800BA2D8(GlobalContext* globalCtx, Actor* actor);
|
||||
s32 func_800BA2FC(GlobalContext* globalCtx, Actor* actor, Vec3f* param_3, f32 param_4);
|
||||
void Actor_DrawAll(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||
void func_800BA6FC(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||
void func_800BA798(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||
void func_800BA8B8(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||
// void func_800BA9B4(void);
|
||||
void Actor_InsertIntoTypeList(ActorContext* actorCtx, Actor* actor, u8 type);
|
||||
Actor* Actor_RemoveFromTypeList(GlobalContext* globalCtx, ActorContext* actorCtx, Actor* actor);
|
||||
void Actor_FreeOverlay(ActorOverlay* entry);
|
||||
Actor* Actor_Spawn(ActorContext* actorCtx, GlobalContext* globalCtx, s16 index, f32 x, f32 y, f32 z, s16 rotX, s16 rotY, s16 rotZ, s16 sParm10);
|
||||
ActorInit* Actor_LoadOverlay(ActorContext* actorCtx, s16 index);
|
||||
Actor* Actor_SpawnAsChildAndCutscene(ActorContext* actorCtx, GlobalContext* globalCtx, s16 index, f32 x, f32 y, f32 z, s16 rotX, s16 rotY, s16 rotZ, s32 variable, u32 cutscene, s32 param_12, Actor* parent);
|
||||
Actor* Actor_SpawnAsChild(ActorContext* actorCtx, Actor* parent, GlobalContext* globalCtx, s16 index, f32 x, f32 y, f32 z, s16 rotX, s16 rotY, s16 rotZ, s32 variable);
|
||||
void Actor_CleanupContext(ActorContext* actorCtx, GlobalContext* globalCtx);
|
||||
Actor* Actor_Spawn(ActorContext* actorCtx, GlobalContext* globalCtx, s16 actorId, f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, s32 params);
|
||||
Actor* Actor_SpawnAsChildAndCutscene(ActorContext* actorCtx, GlobalContext* globalCtx, s16 index, f32 x, f32 y, f32 z, s16 rotX, s16 rotY, s16 rotZ, s32 params, u32 cutscene, s32 arg11, Actor* parent);
|
||||
Actor* Actor_SpawnAsChild(ActorContext* actorCtx, Actor* parent, GlobalContext* globalCtx, s16 actorId, f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, s32 params);
|
||||
void Actor_SpawnTransitionActors(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||
void func_800BB2D0(ActorContext* actorCtx, u16* param_2, GlobalContext* globalCtx);
|
||||
Actor* func_800BB498(ActorContext* actorCtx, Actor* actor, GlobalContext* globalCtx);
|
||||
// void func_800BB59C(void);
|
||||
// void func_800BB604(void);
|
||||
// void func_800BB8EC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
void Enemy_StartFinishingBlow(GlobalContext* globalCtx, Actor* actor);
|
||||
// void func_800BBAC0(void);
|
||||
void func_800BBB74(s16* arg1, UNK_TYPE1 arg2, UNK_TYPE1 arg3, UNK_TYPE4 arg4);
|
||||
// void func_800BBC20(void);
|
||||
void func_800BBCEC(Actor* actor, GlobalContext* globalCtx, s16 arg2, Gfx** dList);
|
||||
void func_800BBDAC(GlobalContext* globalCtx, Actor* actor, Vec3f* arg2, f32 arg3, UNK_TYPE4 arg4, f32 arg5, s16 arg6, s16 arg7, u8 arg8);
|
||||
void func_800BBFB0(GlobalContext* globalCtx, Vec3f* position, f32 param3, s32 param_4, s16 param_5, s16 param_6, u8 param_7);
|
||||
s16 func_800BBAC0(s16 arg0[2], s16 arg1, s16 arg2, s16 arg3);
|
||||
s16 func_800BBB74(s16 arg0[2], s16 arg1, s16 arg2, s16 arg3);
|
||||
void Actor_SpawnBodyParts(Actor* actor, GlobalContext* globalCtx, s32 arg2, Gfx** dList);
|
||||
void Actor_SpawnFloorDustRing(GlobalContext* globalCtx, Actor* actor, Vec3f* posXZ, f32 radius, s32 countMinusOne, f32 randAccelWeight, s16 scale, s16 scaleStep, u8 useLighting);
|
||||
void func_800BBFB0(GlobalContext* globalCtx, Vec3f* position, f32 arg2, s32 arg3, s16 arg4, s16 scaleStep, u8 arg6);
|
||||
void func_800BC154(GlobalContext* globalCtx, ActorContext* actorCtx, Actor* actor, u8 actorCategory);
|
||||
// void func_800BC188(void);
|
||||
// void func_800BC1B4(void);
|
||||
Actor* func_800BC270(GlobalContext* globalCtx, Actor* actor, f32 arg2, UNK_TYPE4 arg3);
|
||||
s32 func_800BC188(s32 index);
|
||||
Actor* func_800BC270(GlobalContext* globalCtx, Actor* actor, f32 arg2, s32 arg3);
|
||||
Actor* func_800BC444(GlobalContext* globalCtx, Actor* actor, f32 arg2);
|
||||
s16 func_800BC4EC(Actor* actor, GlobalContext* globalCtx, f32 distance, s16 angle);
|
||||
s32 func_800BC5B8(GlobalContext* globalCtx, Actor* actor);
|
||||
s32 func_800BC5EC(GlobalContext* globalCtx, Actor* actor);
|
||||
void func_800BC620(Vec3f* arg0, Vec3f* arg1, u8 arg2, GlobalContext* globalCtx);
|
||||
// void func_800BC770(void);
|
||||
// void func_800BC7D8(void);
|
||||
s16 Actor_TestFloorInDirection(Actor* actor, GlobalContext* globalCtx, f32 distance, s16 angle);
|
||||
s32 Actor_IsTargeted(GlobalContext* globalCtx, Actor* actor);
|
||||
s32 Actor_OtherIsTargeted(GlobalContext* globalCtx, Actor* actor);
|
||||
void func_800BC620(Vec3f* arg0, Vec3f* arg1, u8 alpha, GlobalContext* globalCtx);
|
||||
void func_800BC770(GlobalContext* globalCtx, s16 y, s16 countdown);
|
||||
void func_800BC7D8(GlobalContext* globalCtx, s16 y, s16 countdown, s16 speed);
|
||||
void func_800BC848(Actor* actor, GlobalContext* globalCtx, s16 arg2, s16 arg3);
|
||||
// void func_800BC8B8(void);
|
||||
// void func_800BCB50(void);
|
||||
void func_800BCB70(Actor* actor, u16 arg1, u16 arg2, s16 arg3, s16 arg4);
|
||||
void func_800BCBF4(Vec3f* uParm1, GlobalContext* globalCtx);
|
||||
void func_800BCC68(Vec3f* param_1, GlobalContext* globalCtx);
|
||||
UNK_RET func_800BCCDC(Vec3s* points, u8 pathcount, Vec3f* pos1, Vec3f* pos2, UNK_TYPE parm5);
|
||||
// void func_800BD2B4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||
// void func_800BD384(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE1 param_9);
|
||||
// void func_800BD6E4(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5);
|
||||
void func_800BD888(Actor*, struct_800BD888_arg1*, s16, s16); // This function is very similar to OoT's func_80034A14
|
||||
// void func_800BD9A0(void);
|
||||
// void func_800BD9E0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE2 param_6);
|
||||
// void func_800BDAA0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE2 param_6);
|
||||
// void func_800BDB6C(void);
|
||||
void func_800BDC5C(SkelAnime* skelAnime, ActorAnimationEntry animation[], s32 index);
|
||||
// void func_800BDCF4(void);
|
||||
void Actor_DrawDoorLock(GlobalContext* globalCtx, s32 frame, s32 type);
|
||||
void Actor_SetColorFilter(Actor* actor, u16 colorFlag, u16 colorIntensityMax, u16 xluFlag, u16 duration);
|
||||
Hilite* func_800BCBF4(Vec3f* arg0, GlobalContext* globalCtx);
|
||||
Hilite* func_800BCC68(Vec3f* arg0, GlobalContext* globalCtx);
|
||||
void func_800BCCDC(Vec3s* points, s32 pathCount, Vec3f* pos1, Vec3f* pos2, s32 parm5);
|
||||
s32 func_800BD2B4(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, u16 (*textIdCallback)(GlobalContext*, Actor*), s16 (*arg5)(GlobalContext*, Actor*));
|
||||
void func_800BD888(Actor* actor, struct_800BD888_arg1* arg1, s16 arg2, s16 arg3);
|
||||
void func_800BD9E0(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, s16 alpha);
|
||||
void func_800BDAA0(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, s16 alpha);
|
||||
void Actor_ChangeAnimation(SkelAnime* skelAnime, ActorAnimationEntry* animation, s32 index);
|
||||
void Actor_Noop(Actor* actor, GlobalContext* globalCtx);
|
||||
void func_800BDFC0(GlobalContext* globalCtx, Gfx* dl);
|
||||
void func_800BE03C(GlobalContext* globalCtx, Gfx* dl);
|
||||
Actor* func_800BE0B8(GlobalContext* globalCtx, Actor* inActor, s16 arg2, u8 arg3, f32 arg4);
|
||||
s32 func_800BE184(GlobalContext* globalCtx, Actor* actor, f32 arg2, s32 arg3, s32 arg4, s32 arg5);
|
||||
u8 Actor_ApplyDamage(Actor* actor); // returns current health
|
||||
void func_800BE258(Actor* actor, UNK_PTR arg1);
|
||||
void func_800BE2B8(Actor* actor, ColliderJntSph* jntSphere);
|
||||
|
||||
void Gfx_DrawDListOpa(GlobalContext* globalCtx, Gfx* dlist);
|
||||
void Gfx_DrawDListXlu(GlobalContext* globalCtx, Gfx* dlist);
|
||||
|
||||
Actor* Actor_FindNearby(GlobalContext* globalCtx, Actor* inActor, s16 actorId, u8 actorCategory, f32 distance);
|
||||
s32 func_800BE184(GlobalContext* globalCtx, Actor* actor, f32 xzDist, s16 arg3, s16 arg4, s16 arg5);
|
||||
u8 Actor_ApplyDamage(Actor* actor);
|
||||
void Actor_SetDropFlag(Actor* actor, ColliderInfo* colInfo);
|
||||
void Actor_SetDropFlagJntSph(Actor* actor, ColliderJntSph* jntSphere);
|
||||
void func_800BE33C(Vec3f* arg0, Vec3f* arg1, Vec3s* arg2, s32 arg3);
|
||||
void func_800BE3D0(Actor* actor, s16 angle, Vec3s* arg2);
|
||||
void func_800BE504(Actor* actor, ColliderCylinder* collider);
|
||||
void func_800BE568(Actor* actor, ColliderSphere* collider);
|
||||
void func_800BE5CC(Actor* actor, ColliderJntSph* collider, s32 arg2);
|
||||
// void func_800BE63C(void);
|
||||
void func_800BE680(GlobalContext* globalCtx, Actor* actor, Vec3f limbPos[], s16 arg3, f32 arg4, f32 arg5, f32 arg6, u8 mode);
|
||||
void func_800BF7CC(GlobalContext* globalCtx, Actor* actor, Vec3f limbPos[], s32 arg3, s32 arg4, f32 arg5, f32 arg6);
|
||||
void ActorOverlayTable_FaultPrint(void* arg0, void* arg1); // ActorOverlayTable_FaultPrint
|
||||
void* ActorOverlayTable_FaultAddrConv(void* arg0, void* arg1); // ActorOverlayTable_FaultAddrConv
|
||||
void ActorOverlayTable_Init(void); // ActorOverlayTable_Init
|
||||
void ActorOverlayTable_Cleanup(void); // ActorOverlayTable_Cleanup
|
||||
void func_800BE5CC(Actor* actor, ColliderJntSph* collider, s32 colliderIndex);
|
||||
s32 func_800BE63C(struct EnBox* chest);
|
||||
void func_800BE680(GlobalContext* globalCtx, Actor* actor, Vec3f limbPos[], s16 arg3, f32 effectScale, f32 steamScale, f32 effectAlpha, u8 mode);
|
||||
void Actor_SpawnIceEffects(GlobalContext* globalCtx, Actor* actor, Vec3f limbPos[], s32 limbPosCount, s32 effectsPerLimb, f32 scale, f32 scaleRange);
|
||||
|
||||
void ActorOverlayTable_FaultPrint(void* arg0, void* arg1);
|
||||
void* ActorOverlayTable_FaultAddrConv(void* arg0, void* arg1);
|
||||
void ActorOverlayTable_Init(void);
|
||||
void ActorOverlayTable_Cleanup(void);
|
||||
|
||||
void SSNode_SetValue(SSNode* node, s16* polyIndex, u16 next);
|
||||
void SSList_SetNull(SSList* head);
|
||||
void SSNodeList_SetSSListHead(SSNodeList* list, SSList* ssList, s16* polyIndex);
|
||||
@ -1228,7 +1158,7 @@ void func_800DE0EC(Camera* camera, Actor* actor);
|
||||
Vec3s* Camera_Update(Vec3s* param_1, Camera* camera);
|
||||
// void func_800DF498(void);
|
||||
u32 Camera_SetMode(Camera* camera, s16 mode, s8 param_3);
|
||||
// void func_800DF840(void);
|
||||
s32 Camera_ChangeMode(Camera* camera, s16 mode);
|
||||
// void func_800DF86C(void);
|
||||
// void func_800DF8EC(void);
|
||||
s32 func_800DFAC8(Camera* camera, s16 param_2);
|
||||
@ -1619,14 +1549,11 @@ void ActorCutscene_SetReturnCamera(s16 index);
|
||||
// void func_800F23E0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||
f32 func_800F2478(f32 target, TransformData* transData, s32 refIdx);
|
||||
void SkelCurve_Clear(SkelAnimeCurve* skelCurve);
|
||||
s32 SkelCurve_Init(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, SkelCurveLimbList* limbListSeg,
|
||||
TransformUpdateIndex* transUpdIdx);
|
||||
s32 SkelCurve_Init(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, SkelCurveLimbList* limbListSeg, TransformUpdateIndex* transUpdIdx);
|
||||
void SkelCurve_Destroy(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve);
|
||||
void SkelCurve_SetAnim(SkelAnimeCurve* skelCurve, TransformUpdateIndex* transUpdIdx, f32 arg2, f32 animFinalFrame,
|
||||
f32 animCurFrame, f32 animSpeed);
|
||||
void SkelCurve_SetAnim(SkelAnimeCurve* skelCurve, TransformUpdateIndex* transUpdIdx, f32 arg2, f32 animFinalFrame, f32 animCurFrame, f32 animSpeed);
|
||||
s32 SkelCurve_Update(GlobalContext* globalCtx, SkelAnimeCurve* skelCurve);
|
||||
void SkelCurve_Draw(Actor* actor, GlobalContext* globalCtx, SkelAnimeCurve* skelCurve,
|
||||
OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, Actor* thisx);
|
||||
void SkelCurve_Draw(Actor* actor, GlobalContext* globalCtx, SkelAnimeCurve* skelCurve, OverrideCurveLimbDraw overrideLimbDraw, PostCurveLimbDraw postLimbDraw, s32 lod, Actor* thisx);
|
||||
void FireObj_SetPosition(FireObj* fire, Vec3f* pos);
|
||||
void FireObj_Draw(GlobalContext* globalCtx, FireObj* fire);
|
||||
void FireObj_Init(GlobalContext* globalCtx, FireObj* fire, FireObjInitParams* init, Actor* actor);
|
||||
@ -1640,7 +1567,7 @@ void FireObj_Update(GlobalContext* globalCtx, FireObj* fire, Actor* actor);
|
||||
// void func_800F3B68(void);
|
||||
// void func_800F3C44(void);
|
||||
// void func_800F3ED4(void);
|
||||
void func_800F40A0(GlobalContext* globalCtx, s32 param_2);
|
||||
void func_800F40A0(GameState* gameState, Player* player);
|
||||
// void func_800F415C(void);
|
||||
UNK_TYPE func_800F41E4(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||
|
||||
@ -2137,7 +2064,7 @@ void func_80122F28(Player* player, GlobalContext* globalCtx, Actor* actor);
|
||||
void func_8012301C(s32 iParm1, GlobalContext* globalCtx);
|
||||
void func_80123140(GlobalContext* globalCtx, Player* param_2);
|
||||
u32 func_80123358(GlobalContext* globalCtx, Player* player);
|
||||
u32 func_801233E4(GlobalContext* globalCtx);
|
||||
s32 Player_InCsMode(GameState* gameState);
|
||||
// void func_80123420(void);
|
||||
// void func_80123434(void);
|
||||
// void func_80123448(void);
|
||||
@ -2173,7 +2100,7 @@ s32 func_801240C8(Player* player);
|
||||
// void func_801241E0(void);
|
||||
// void func_8012420C(void);
|
||||
// void func_8012422C(void);
|
||||
// void func_80124258(void);
|
||||
s32 Player_GetExplosiveHeld(Player* player);
|
||||
// void func_80124278(void);
|
||||
s32 func_801242B4(Player* player);
|
||||
// void func_801242DC(void);
|
||||
@ -2466,35 +2393,20 @@ UNK_TYPE func_80133038(GlobalContext* globalCtx, UNK_TYPE* arg1, struct_80133038
|
||||
void SkelAnime_DrawLimbLod(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, Actor* actor, s32 lod);
|
||||
void SkelAnime_DrawLod(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, Actor* actor, s32 lod);
|
||||
void SkelAnime_DrawFlexLimbLod(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable, OverrideLimbDrawFlex overrideLimbDraw, PostLimbDrawFlex postLimbDraw, Actor* actor, s32 lod, Mtx** mtx);
|
||||
void SkelAnime_DrawFlexLod(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount,
|
||||
OverrideLimbDrawFlex overrideLimbDraw, PostLimbDrawFlex postLimbDraw, Actor* actor,
|
||||
s32 lod);
|
||||
void SkelAnime_DrawLimbOpa(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable,
|
||||
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, Actor* actor);
|
||||
void SkelAnime_DrawOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable,
|
||||
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, Actor* actor);
|
||||
void SkelAnime_DrawFlexLimbOpa(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable,
|
||||
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, Actor* actor,
|
||||
Mtx** limbMatricies);
|
||||
void SkelAnime_DrawFlexOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount,
|
||||
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, Actor* actor);
|
||||
void func_80134148(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable,
|
||||
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, UnkActorDrawOpa unkDraw, Actor* actor,
|
||||
Mtx** mtx);
|
||||
void func_801343C0(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount,
|
||||
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, UnkActorDrawOpa unkDraw, Actor* actor);
|
||||
void SkelAnime_DrawFlexLod(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount, OverrideLimbDrawFlex overrideLimbDraw, PostLimbDrawFlex postLimbDraw, Actor* actor, s32 lod);
|
||||
void SkelAnime_DrawLimbOpa(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, Actor* actor);
|
||||
void SkelAnime_DrawOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, Actor* actor);
|
||||
void SkelAnime_DrawFlexLimbOpa(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, Actor* actor, Mtx** limbMatricies);
|
||||
void SkelAnime_DrawFlexOpa(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, Actor* actor);
|
||||
void func_80134148(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, UnkActorDrawOpa unkDraw, Actor* actor, Mtx** mtx);
|
||||
void func_801343C0(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, UnkActorDrawOpa unkDraw, Actor* actor);
|
||||
void SkelAnime_GetFrameData(AnimationHeader* animationSeg, s32 currentFrame, s32 limbCount, Vec3s* dst);
|
||||
s16 Animation_GetLength(void* animation);
|
||||
s16 Animation_GetLastFrame(void* animation);
|
||||
Gfx* SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable,
|
||||
OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, Gfx* gfx);
|
||||
Gfx* SkelAnime_Draw(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable,
|
||||
OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, Gfx* gfx);
|
||||
Gfx* SkelAnime_DrawFlexLimb(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable,
|
||||
OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor,
|
||||
Mtx** mtx, Gfx* gfx);
|
||||
Gfx* SkelAnime_DrawFlex(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount,
|
||||
OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, Gfx* gfx);
|
||||
Gfx* SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, Gfx* gfx);
|
||||
Gfx* SkelAnime_Draw(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, Gfx* gfx);
|
||||
Gfx* SkelAnime_DrawFlexLimb(GlobalContext* globalCtx, s32 limbIndex, void** skeleton, Vec3s* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, Mtx** mtx, Gfx* gfx);
|
||||
Gfx* SkelAnime_DrawFlex(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, Actor* actor, Gfx* gfx);
|
||||
s16 SkelAnime_GetFrameDataLegacy(LegacyAnimationHeader* animation, s32 frame, Vec3s* frameTable);
|
||||
s16 Animation_GetLimbCount2(LegacyAnimationHeader* animation);
|
||||
s16 Animation_GetLength2(LegacyAnimationHeader* animation);
|
||||
@ -2504,8 +2416,7 @@ void AnimationContext_Reset(AnimationContext* animationCtx);
|
||||
void AnimationContext_SetNextQueue(GlobalContext* globalCtx);
|
||||
void AnimationContext_DisableQueue(GlobalContext* globalCtx);
|
||||
AnimationEntry* AnimationContext_AddEntry(AnimationContext* animationCtx, AnimationType type);
|
||||
void AnimationContext_SetLoadFrame(GlobalContext* globalCtx, LinkAnimationHeader* animation, s32 frame,
|
||||
s32 limbCount, Vec3s* frameTable);
|
||||
void AnimationContext_SetLoadFrame(GlobalContext* globalCtx, LinkAnimationHeader* animation, s32 frame, s32 limbCount, Vec3s* frameTable);
|
||||
void AnimationContext_SetCopyAll(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src);
|
||||
void AnimationContext_SetInterp(GlobalContext* globalCtx, s32 limbCount, Vec3s* arg2, Vec3s* arg3, f32 arg4);
|
||||
void AnimationContext_SetCopyTrue(GlobalContext* globalCtx, s32 vecCount, Vec3s* dst, Vec3s* src, u8* index);
|
||||
@ -2518,9 +2429,7 @@ void AnimationContext_CopyTrue(GlobalContext* globalCtx, AnimationEntryData* dat
|
||||
void AnimationContext_CopyFalse(GlobalContext* globalCtx, AnimationEntryData* data);
|
||||
void AnimationContext_MoveActor(GlobalContext* globalCtx, AnimationEntryData* data);
|
||||
void AnimationContext_Update(GlobalContext* globalCtx, AnimationContext* animationCtx);
|
||||
void SkelAnime_InitLink(GlobalContext* globalCtx, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg,
|
||||
LinkAnimationHeader* animation, s32 flags, Vec3s* jointTable,
|
||||
Vec3s* morphTable, s32 limbBufCount);
|
||||
void SkelAnime_InitLink(GlobalContext* globalCtx, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg, LinkAnimationHeader* animation, s32 flags, Vec3s* jointTable, Vec3s* morphTable, s32 limbBufCount);
|
||||
void LinkAnimation_SetUpdateFunction(SkelAnime* skelAnime);
|
||||
s32 LinkAnimation_Update(GlobalContext* globalCtx, SkelAnime* skelAnime);
|
||||
s32 LinkAnimation_Morph(GlobalContext* globalCtx, SkelAnime* skelAnime);
|
||||
@ -2544,8 +2453,7 @@ void LinkAnimation_EndLoop(SkelAnime* skelAnime);
|
||||
s32 Animation_OnFrameImpl(SkelAnime* skelAnime, f32 arg1, f32 updateRate);
|
||||
s32 LinkAnimation_OnFrame(SkelAnime* skelAnime, f32 arg1);
|
||||
void SkelAnime_Init(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg, AnimationHeader* animationSeg, Vec3s* jointTable, Vec3s* morphTable, s32 limbCount);
|
||||
void SkelAnime_InitFlex(GlobalContext* globalCtx, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg,
|
||||
AnimationHeader* animation, Vec3s* jointTable, Vec3s* morphTable, s32 limbCount);
|
||||
void SkelAnime_InitFlex(GlobalContext* globalCtx, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg, AnimationHeader* animation, Vec3s* jointTable, Vec3s* morphTable, s32 limbCount);
|
||||
void SkelAnime_InitSkin(GlobalContext* globalCtx, SkelAnime* skelAnime, SkeletonHeader* skeletonHeaderSeg, AnimationHeader* animationSeg);
|
||||
void SkelAnime_SetUpdate(SkelAnime* skelAnime);
|
||||
s32 SkelAnime_Update(SkelAnime* skelAnime);
|
||||
@ -2740,8 +2648,7 @@ void VisMono_Draw(void* arg0, Gfx** gfx, u32 arg2);
|
||||
void func_801420C0(void* arg0);
|
||||
void func_801420F4(void* arg0);
|
||||
void func_80142100(void* arg0, Gfx** gfx, u32 arg2);
|
||||
s32 func_80142440(SkyboxContext* skyboxCtx, Vtx* vtx, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7,
|
||||
s32 arg8);
|
||||
s32 func_80142440(SkyboxContext* skyboxCtx, Vtx* vtx, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8);
|
||||
void func_80143148(SkyboxContext* skyboxCtx, s32 arg1);
|
||||
void func_801431E8(GameState* gameState, SkyboxContext* skyboxCtx, s16 skyType);
|
||||
void func_80143324(GlobalContext* globalCtx, SkyboxContext* skyboxCtx, s16 skyType);
|
||||
@ -2823,7 +2730,7 @@ void func_80151BB4(GlobalContext* globalCtx, u32 uParm2);
|
||||
// void func_80151DA4(void);
|
||||
void func_80152434(GlobalContext* globalCtx, u16 arg2);
|
||||
// void func_80152464(void);
|
||||
u8 func_80152498(MessageContext* msgCtx);
|
||||
u8 Message_GetState(MessageContext* msgCtx);
|
||||
// void func_8015268C(void);
|
||||
// void func_80152C64(void);
|
||||
// void func_80152CAC(void);
|
||||
@ -2925,7 +2832,7 @@ void* TransitionFade_Init(void* param_1);
|
||||
// void TransitionCircle_Update(void);
|
||||
// void TransitionCircle_SetColor(void);
|
||||
// void TransitionCircle_SetType(void);
|
||||
// void func_80164C14(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
|
||||
void func_80164C14(Gfx** arg0, TexturePtr* arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, f32 arg6);
|
||||
// void TransitionCircle_Draw(void);
|
||||
// void TransitionCircle_IsDone(void);
|
||||
// void func_801651B0(void);
|
||||
@ -2961,7 +2868,7 @@ void Play_Draw(GlobalContext* globalCtx);
|
||||
void func_80168DAC(GlobalContext* globalCtx);
|
||||
void Play_Update(GlobalContext* globalCtx);
|
||||
s32 func_801690CC(GlobalContext* globalCtx);
|
||||
// void func_80169100(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
f32 func_80169100(GlobalContext* globalCtx, MtxF* mtx, CollisionPoly** arg2, s32* arg3, Vec3f* feetPosPtr);
|
||||
// void func_801691F0(void);
|
||||
void* Play_LoadScene(GlobalContext* globalCtx, RomFile* entry);
|
||||
void func_8016927C(GlobalContext* globalCtx, s16 sParm2);
|
||||
@ -2984,7 +2891,7 @@ void func_801699D4(GlobalContext* globalCtx, s16 arg1, s16 arg2);
|
||||
void func_80169AFC(GlobalContext* globalCtx, s16 camId, s16 arg2);
|
||||
// void func_80169C64(void);
|
||||
// void func_80169C84(void);
|
||||
// void convert_scene_number_among_shared_scenes(void);
|
||||
s16 convert_scene_number_among_shared_scenes(s16 arg0);
|
||||
void func_80169D40(GlobalContext* globalCtx);
|
||||
void func_80169DCC(GlobalContext* globalCtx, s32 arg1, u16 arg2, s32 arg3, s32 arg4, Vec3f* arg5, s16 arg6);
|
||||
void func_80169E6C(GlobalContext* globalCtx, s32 param_1, s32 param_2);
|
||||
@ -3039,8 +2946,7 @@ void PreRender_ApplyFiltersSlowlyInit(PreRender* this);
|
||||
void PreRender_ApplyFiltersSlowlyDestroy(PreRender* this);
|
||||
void func_801720C4(PreRender* this);
|
||||
void func_801720FC(PreRenderParams* params, Gfx** gfxp);
|
||||
void func_80172758(Gfx** gfxp, void* timg, void* tlut, u16 width, u16 height, u8 fmt, u8 siz, u16 tt, u16 arg8, f32 x,
|
||||
f32 y, f32 xScale, f32 yScale, u32 flags);
|
||||
void func_80172758(Gfx** gfxp, void* timg, void* tlut, u16 width, u16 height, u8 fmt, u8 siz, u16 tt, u16 arg8, f32 x, f32 y, f32 xScale, f32 yScale, u32 flags);
|
||||
void THGA_Ct(TwoHeadGfxArena* thga, Gfx* start, size_t size);
|
||||
void THGA_Dt(TwoHeadGfxArena* thga);
|
||||
u32 THGA_IsCrash(TwoHeadGfxArena* thga);
|
||||
@ -3284,7 +3190,7 @@ s32 Math3D_TriChkLineSegParaZIntersect(Vec3f* v0, Vec3f* v1, Vec3f* v2, f32 nx,
|
||||
// void func_8017D404(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11);
|
||||
void Math3D_TriSetCoords(TriNorm* tri, Vec3f* pointA, Vec3f* pointB, Vec3f* pointC);
|
||||
u32 Math3D_IsPointInSphere(Sphere16* sphere, Vec3f* point);
|
||||
// void func_8017D668(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9);
|
||||
s32 Math3D_PointDistToLine2D(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32* arg6, f32* arg7, f32* arg8); // returns boolean
|
||||
// void func_8017D7C0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
|
||||
// void func_8017D814(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
// void func_8017D91C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
@ -3787,8 +3693,8 @@ void func_8019F170(Vec3f* pos, u16 sfxId);
|
||||
void func_8019F1C0(Vec3f* pos, u16 sfxId);
|
||||
void play_sound(u16 sfxId);
|
||||
void func_8019F128(u16 sfxId);
|
||||
void func_8019F208(void); // decide
|
||||
void func_8019F230(void); // cancel
|
||||
void func_8019F208(void); // Decide sound
|
||||
void func_8019F230(void); // Cancel sound
|
||||
// void func_8019F258(void);
|
||||
// void func_8019F300(void);
|
||||
void func_8019F420(Vec3f* pos, u16 sfxId);
|
||||
@ -3827,7 +3733,7 @@ void func_801A0204(s8 seqId);
|
||||
// void func_801A0554(void);
|
||||
// void func_801A05F0(void);
|
||||
void func_801A0654(Vec3f* arg0, u16 sfxId, s32 arg2);
|
||||
// void func_801A0810(void);
|
||||
void func_801A0810(s32* arg0, u16 sfxId, u8 arg2);
|
||||
// void func_801A0868(void);
|
||||
// void func_801A09D4(void);
|
||||
// void func_801A0CB0(void);
|
||||
@ -3845,7 +3751,7 @@ void func_801A1DB8(Vec3f* vec, u8 seqId, f32 arg2);
|
||||
// void func_801A1E0C(void);
|
||||
void func_801A1F00(u8 arg0, u16 seqId);
|
||||
void func_801A1F88(void);
|
||||
// void func_801A1FB4(void);
|
||||
void func_801A1FB4(u8 playerIdx, Vec3f* pos, u16 seqId, f32 maxDist);
|
||||
// void func_801A2090(void);
|
||||
void func_801A246C(u8 param_1, u8 param_2);
|
||||
// void func_801A2544(void);
|
||||
@ -3937,7 +3843,7 @@ UNK_TYPE func_801A51F0(UNK_TYPE arg0);
|
||||
void func_801A5BD0(s32 param_1);
|
||||
// void func_801A5C28(void);
|
||||
// void func_801A5C8C(void);
|
||||
void func_801A5CFC(u16 sfxId, Vec3f* param_2, u8 param_3, f32* param_4, f32* param_5, s8* param_6);
|
||||
void Audio_PlaySfxGeneral(u16 sfxId, Vec3f* param_2, u8 param_3, f32* param_4, f32* param_5, s8* param_6);
|
||||
// void func_801A5DDC(void);
|
||||
// void func_801A5F7C(void);
|
||||
// void func_801A6430(void);
|
||||
|
@ -153,4 +153,11 @@ extern u8 __osMaxControllers;
|
||||
// extern OSMesgQueue D_8009CF38;
|
||||
// extern OSMesg D_8009CF50;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ OSContPad cur;
|
||||
/* 0x06 */ OSContPad prev;
|
||||
/* 0x0C */ OSContPad press; // X/Y store delta from last frame
|
||||
/* 0x12 */ OSContPad rel; // X/Y store adjusted
|
||||
} Input; // size = 0x18
|
||||
|
||||
#endif
|
||||
|
@ -39,9 +39,9 @@
|
||||
} \
|
||||
(void)0
|
||||
|
||||
#define GET_PLAYER(globalCtx) ((Player*)(globalCtx)->actorCtx.actorList[ACTORCAT_PLAYER].first)
|
||||
#define GET_PLAYER(globalCtx) ((Player*)(globalCtx)->actorCtx.actorLists[ACTORCAT_PLAYER].first)
|
||||
|
||||
#define GET_FIRST_ENEMY(globalCtx) ((Actor*)(globalCtx)->actorCtx.actorList[ACTORCAT_ENEMY].first)
|
||||
#define GET_FIRST_ENEMY(globalCtx) ((Actor*)(globalCtx)->actorCtx.actorLists[ACTORCAT_ENEMY].first)
|
||||
|
||||
// linkAge still exists in MM, but is always set to 0 (always adult)
|
||||
// There are remnants of these macros from OOT, but they are essentially useless
|
||||
@ -86,6 +86,8 @@
|
||||
#define CHECK_BTN_ALL(state, combo) (~((state) | ~(combo)) == 0)
|
||||
#define CHECK_BTN_ANY(state, combo) (((state) & (combo)) != 0)
|
||||
|
||||
#define CHECK_FLAG_ALL(flags, mask) (((flags) & (mask)) == (mask))
|
||||
|
||||
extern GraphicsContext* __gfxCtx;
|
||||
|
||||
#define WORK_DISP __gfxCtx->work.p
|
||||
@ -147,6 +149,9 @@ extern GraphicsContext* __gfxCtx;
|
||||
(b) = _temp; \
|
||||
}
|
||||
|
||||
#define OVERLAY_RELOCATION_OFFSET(overlayEntry) ((uintptr_t)((overlayEntry)->vramStart) - (uintptr_t)((overlayEntry)->loadedRamAddr))
|
||||
#define VRAM_PTR_SIZE(entry) ((uintptr_t)((entry)->vramEnd) - (uintptr_t)((entry)->vramStart))
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define ALIGNED8 __attribute__ ((aligned (8)))
|
||||
#else
|
||||
|
@ -53,6 +53,8 @@
|
||||
#define SP_DMEM_START 0x04000000
|
||||
#define SP_DMEM_SIZE 0x1000
|
||||
|
||||
#define TMEM_SIZE 0x1000
|
||||
|
||||
#define SP_MEM_ADDR_REG 0x04040000
|
||||
#define SP_DRAM_ADDR_REG 0x04040004
|
||||
#define SP_RD_LEN_REG 0x04040008
|
||||
|
@ -374,7 +374,6 @@ extern u8 D_801AE214[32];
|
||||
// extern UNK_TYPE4 D_801AE240;
|
||||
// extern UNK_TYPE4 D_801AE250;
|
||||
extern UNK_PTR D_801AE260[3];
|
||||
// extern UNK_TYPE4 D_801AE26C;
|
||||
// extern UNK_TYPE4 D_801AE27C;
|
||||
// extern UNK_TYPE4 D_801AE28C;
|
||||
// extern UNK_TYPE4 D_801AE29C;
|
||||
@ -415,11 +414,8 @@ extern EffectSsOverlay gParticleOverlayTable[39];
|
||||
// extern s32 sEntryIndex;
|
||||
// extern u32 sCurrentBit;
|
||||
// extern s32 sTimer;
|
||||
extern Color_RGBA8 D_801AEC80;
|
||||
extern s801AEC84 D_801AEC84[13];
|
||||
extern f32 actorMovementScale;
|
||||
extern f32 D_801AECF0;
|
||||
extern f32 D_801AECF4;
|
||||
extern TargetRangeParams gTargetRanges[];
|
||||
extern s16 D_801AED48[8];
|
||||
// extern UNK_TYPE4 D_801AED58;
|
||||
extern Color_RGBA8 actorDefaultHitColor;
|
||||
@ -2838,7 +2834,7 @@ extern f32 D_801DE860;
|
||||
extern f32 D_801DE864;
|
||||
extern f32 D_801DE868;
|
||||
extern f32 D_801DE884;
|
||||
// extern UNK_TYPE1 D_801DE890;
|
||||
extern TexturePtr D_801DE890[];
|
||||
extern f32 D_801DF090;
|
||||
extern f32 D_801DF094;
|
||||
extern f32 D_801DF0A0;
|
||||
@ -3102,15 +3098,15 @@ extern u64 gJpegUCodeData[];
|
||||
|
||||
// bss
|
||||
// extern UNK_TYPE1 D_801ED890;
|
||||
// extern UNK_TYPE1 D_801ED8A0;
|
||||
// extern UNK_TYPE1 D_801ED8B0;
|
||||
// extern UNK_TYPE1 D_801ED8B4;
|
||||
// extern UNK_TYPE1 D_801ED894;
|
||||
extern CollisionPoly* D_801ED8B0;
|
||||
extern s32 D_801ED8B4;
|
||||
// extern UNK_TYPE1 D_801ED8B8;
|
||||
// extern UNK_TYPE1 D_801ED8BC;
|
||||
// extern UNK_TYPE1 D_801ED8C0;
|
||||
// extern UNK_TYPE1 D_801ED8C4;
|
||||
extern f32 D_801ED8C8;
|
||||
extern f32 D_801ED8CC;
|
||||
extern f32 sBgmEnemyDistSq;
|
||||
extern f32 D_801ED8D0;
|
||||
// extern UNK_TYPE1 D_801ED8D4;
|
||||
// extern UNK_TYPE1 D_801ED8D8;
|
||||
@ -3887,8 +3883,6 @@ extern Gfx D_04023210[];
|
||||
extern UNK_TYPE D_04023288;
|
||||
extern Gfx D_04023348[];
|
||||
extern Gfx D_04023428[];
|
||||
extern Gfx D_04025850[];
|
||||
extern Gfx D_04025970[];
|
||||
extern UNK_TYPE D_04025DD0;
|
||||
extern UNK_TYPE D_040281DC;
|
||||
extern UNK_TYPE D_04028FEC;
|
||||
@ -3920,8 +3914,8 @@ extern UNK_TYPE D_0403F230;
|
||||
extern UNK_TYPE D_04044300;
|
||||
extern Gfx D_04048DF0[];
|
||||
extern UNK_TYPE D_04050D10;
|
||||
extern UNK_TYPE D_04051180;
|
||||
extern UNK_TYPE D_04051238;
|
||||
extern Gfx D_04051180[];
|
||||
extern Gfx D_04051238[];
|
||||
extern AnimationHeader D_0405140C;
|
||||
extern Gfx D_040527F0[];
|
||||
extern Gfx D_040528B0[];
|
||||
@ -3940,7 +3934,8 @@ extern TexturePtr D_0408EFE0[]; // gDust6Tex
|
||||
extern TexturePtr D_0408F3E0[]; // gDust7Tex
|
||||
extern TexturePtr D_0408F7E0[]; // gDust8Tex
|
||||
extern UNK_TYPE D_04050550;
|
||||
extern UNK_TYPE D_04050648;
|
||||
extern Gfx D_04050648[];
|
||||
extern Gfx D_040506E0[];
|
||||
extern UNK_TYPE D_040510B0;
|
||||
extern UNK_TYPE D_04054940;
|
||||
extern Gfx D_0405AAB0[];
|
||||
@ -3969,15 +3964,11 @@ extern UNK_TYPE D_0406F380;
|
||||
extern Gfx D_040706E0[];
|
||||
extern UNK_TYPE D_04073F00;
|
||||
extern UNK_TYPE D_04075400;
|
||||
extern Gfx D_04075A40[];
|
||||
extern Gfx D_04075B30[];
|
||||
extern Gfx D_04076BC0[];
|
||||
extern Gfx D_04077480[];
|
||||
extern UNK_TYPE D_04079B10;
|
||||
extern Gfx D_0407AB10[]; // sun (sparkles when small) displaylist
|
||||
extern Gfx D_0407AB58[];
|
||||
extern UNK_TYPE D_0407AFB0;
|
||||
extern Gfx gGameplayKeepDrawFlameDL[];
|
||||
extern UNK_TYPE D_0407D650;
|
||||
extern UNK_TYPE D_0407F218;
|
||||
extern UNK_TYPE D_040815D0;
|
||||
@ -3985,6 +3976,10 @@ extern UNK_TYPE D_04081628;
|
||||
extern UNK_TYPE D_04083534;
|
||||
extern UNK_TYPE D_04091BE0;
|
||||
extern UNK_TYPE D_04091CE0;
|
||||
extern TexturePtr D_04091DE0[];
|
||||
extern TexturePtr D_04091FE0[];
|
||||
extern TexturePtr D_040921E0[];
|
||||
extern TexturePtr D_040923E0[];
|
||||
|
||||
extern Gfx D_05000C40[];
|
||||
extern UNK_TYPE D_05001D20;
|
||||
|
150
include/z64.h
150
include/z64.h
@ -334,26 +334,6 @@ typedef struct {
|
||||
/* 0x24 */ s16 unk_24;
|
||||
} SramContext; // size = 0x28
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ UNK_TYPE4 unk0;
|
||||
/* 0x04 */ UNK_TYPE4 unk4;
|
||||
/* 0x08 */ UNK_TYPE4 unk8;
|
||||
/* 0x0C */ f32 unkC;
|
||||
/* 0x10 */ Color_RGBA8 unk10;
|
||||
} TargetContextEntry; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 texture;
|
||||
/* 0x4 */ s16 unk4;
|
||||
/* 0x6 */ s16 unk6;
|
||||
/* 0x8 */ u8 unk8;
|
||||
/* 0x9 */ u8 unk9;
|
||||
/* 0xA */ u8 fadeOutDelay;
|
||||
/* 0xB */ u8 fadeInDelay;
|
||||
/* 0xC */ s16 alpha;
|
||||
/* 0xE */ s16 color;
|
||||
} TitleCardContext; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s32 topY;
|
||||
/* 0x4 */ s32 bottomY;
|
||||
@ -392,15 +372,27 @@ typedef struct {
|
||||
} s80185D40; // size = 0x2C
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 unk0;
|
||||
/* 0x1 */ u8 unk1;
|
||||
/* 0x2 */ u8 unk2;
|
||||
/* 0x3 */ u8 unk3;
|
||||
/* 0x4 */ u8 unk4;
|
||||
/* 0x5 */ u8 unk5;
|
||||
/* 0x6 */ u8 unk6;
|
||||
/* 0x7 */ u8 unk7;
|
||||
} s801AEC84; // size = 0x8
|
||||
/* 0x00 */ u32 unk0;
|
||||
/* 0x04 */ u8 unk4;
|
||||
/* 0x05 */ u8 unk5;
|
||||
/* 0x06 */ u8 unk6;
|
||||
/* 0x07 */ UNK_TYPE1 pad7[0x2];
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x0A */ UNK_TYPE1 padA[0x2];
|
||||
/* 0x0C */ u32 unkC;
|
||||
/* 0x10 */ u16 unk10;
|
||||
/* 0x12 */ u16 unk12;
|
||||
/* 0x14 */ u16 unk14;
|
||||
/* 0x16 */ UNK_TYPE1 pad16[0x2];
|
||||
/* 0x18 */ u32 unk18;
|
||||
/* 0x1C */ u32 unk1C;
|
||||
/* 0x20 */ u32 unk20;
|
||||
/* 0x24 */ u32 unk24;
|
||||
/* 0x28 */ u32 unk28;
|
||||
/* 0x2C */ u32 unk2C;
|
||||
/* 0x30 */ u32 unk30;
|
||||
/* 0x34 */ u32 unk34;
|
||||
} s8018CFAC; // size = 0x38
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f unk0;
|
||||
@ -480,13 +472,6 @@ typedef struct {
|
||||
/* 0x10 */ Vec3f relativePos;
|
||||
} SoundSource; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ OSContPad cur;
|
||||
/* 0x06 */ OSContPad prev;
|
||||
/* 0x0C */ OSContPad press; // X/Y store delta from last frame
|
||||
/* 0x12 */ OSContPad rel; // X/Y store adjusted
|
||||
} Input; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ u32 magic;
|
||||
/* 0x004 */ GraphicsContext* gfxCtx;
|
||||
@ -743,7 +728,7 @@ typedef struct {
|
||||
/* 0x22 */ u16 unk_22;
|
||||
/* 0x24 */ u16 unk_24;
|
||||
/* 0x26 */ u8 unk_26;
|
||||
/* 0x28 */ LightInfo unk_28; // sun 1
|
||||
/* 0x28 */ LightInfo dirLight1; // sun 1
|
||||
/* 0x36 */ LightInfo unk_36; // sun 2
|
||||
/* 0x44 */ s8 unk_44;
|
||||
/* 0x48 */ DmaRequest unk_48;
|
||||
@ -877,7 +862,9 @@ typedef struct {
|
||||
/* 0x1202A */ u16 unk1202A;
|
||||
/* 0x1202C */ UNK_TYPE1 pad1202C[0x2];
|
||||
/* 0x1202E */ u16 unk1202E;
|
||||
/* 0x12030 */ UNK_TYPE1 pad12030[0x14];
|
||||
/* 0x12030 */ s16 unk_12030;
|
||||
/* 0x12032 */ UNK_TYPE1 unk_12032[0x2];
|
||||
/* 0x12034 */ UNK_TYPE1 pad12034[0x10];
|
||||
/* 0x12044 */ s16 unk12044;
|
||||
/* 0x12046 */ UNK_TYPE1 pad12046[0x2];
|
||||
/* 0x12048 */ u8 unk12048; // EnKakasi
|
||||
@ -1197,24 +1184,12 @@ typedef enum {
|
||||
STACK_STATUS_OVERFLOW = 2
|
||||
} StackStatus;
|
||||
|
||||
typedef struct TargetContext TargetContext;
|
||||
|
||||
typedef struct ActorContext ActorContext;
|
||||
|
||||
typedef struct s800B948C s800B948C;
|
||||
|
||||
struct FireObjLight {
|
||||
/* 0x00 */ LightNode* light;
|
||||
/* 0x04 */ LightInfoPositional lightInfo;
|
||||
/* 0x12 */ u8 unk12;
|
||||
}; // size = 0x13
|
||||
|
||||
typedef struct ActorListEntry {
|
||||
/* 0x0 */ s32 length; // number of actors loaded of this type
|
||||
/* 0x4 */ Actor* first; // pointer to first actor of this type
|
||||
/* 0x8 */ UNK_TYPE1 pad8[0x4];
|
||||
} ActorListEntry; // size = 0xC
|
||||
|
||||
#define OS_SC_RETRACE_MSG 1
|
||||
#define OS_SC_DONE_MSG 2
|
||||
#define OS_SC_NMI_MSG 3 // name is made up, 3 is OS_SC_RDP_DONE_MSG in the original sched.c
|
||||
@ -1271,72 +1246,6 @@ struct FireObj {
|
||||
/* 0x78 */ FireObjLight light;
|
||||
}; // size = 0x8B
|
||||
|
||||
struct TargetContext {
|
||||
/* 0x00 */ Vec3f unk0;
|
||||
/* 0x0C */ Vec3f unkC;
|
||||
/* 0x18 */ Color_RGBAf unk18;
|
||||
/* 0x28 */ Color_RGBAf unk28;
|
||||
/* 0x38 */ Actor* unk38;
|
||||
/* 0x3C */ Actor* unk3C;
|
||||
/* 0x40 */ f32 unk40;
|
||||
/* 0x44 */ f32 unk44;
|
||||
/* 0x48 */ s16 unk48;
|
||||
/* 0x4A */ u8 unk4A;
|
||||
/* 0x4B */ u8 unk4B;
|
||||
/* 0x4C */ s8 unk4C;
|
||||
/* 0x4D */ UNK_TYPE1 pad4D[0x3];
|
||||
/* 0x50 */ TargetContextEntry unk50[3];
|
||||
/* 0x8C */ Actor* unk8C;
|
||||
/* 0x90 */ Actor* unk90;
|
||||
/* 0x94 */ Actor* unk_94;
|
||||
}; // size = 0x98
|
||||
|
||||
struct s800B948C {
|
||||
/* 0x00 */ GlobalContext* globalCtx;
|
||||
/* 0x04 */ Actor* actor;
|
||||
/* 0x08 */ u32 updateActorIfSet;
|
||||
/* 0x0C */ u32 unkC;
|
||||
/* 0x10 */ Actor* unk10;
|
||||
/* 0x14 */ Player* player;
|
||||
/* 0x18 */ u32 runMainIfSet; // Bitmask of actor flags. The actor will only have main called if it has at least 1 flag set that matches this bitmask
|
||||
}; // size = 0x1C
|
||||
|
||||
struct ActorContext {
|
||||
/* 0x000 */ UNK_TYPE1 pad0[0x2];
|
||||
/* 0x002 */ u8 unk2;
|
||||
/* 0x003 */ u8 unk3;
|
||||
/* 0x004 */ s8 unk4;
|
||||
/* 0x005 */ u8 unk5;
|
||||
/* 0x006 */ UNK_TYPE1 pad6[0x5];
|
||||
/* 0x00B */ s8 unkB;
|
||||
/* 0x00C */ s16 unkC;
|
||||
/* 0x00E */ u8 totalLoadedActors;
|
||||
/* 0x00F */ u8 undrawnActorCount;
|
||||
/* 0x010 */ ActorListEntry actorList[12];
|
||||
/* 0x0A0 */ Actor* undrawnActors[32]; // Records the first 32 actors drawn each frame
|
||||
/* 0x120 */ TargetContext targetContext;
|
||||
/* 0x1B8 */ u32 switchFlags[4]; // First 0x40 are permanent, second 0x40 are temporary
|
||||
/* 0x1C8 */ u32 chestFlags;
|
||||
/* 0x1CC */ u32 clearedRooms;
|
||||
/* 0x1D0 */ u32 clearedRoomsTemp;
|
||||
/* 0x1D4 */ u32 collectibleFlags[4]; // bitfield of 128 bits
|
||||
/* 0x1E4 */ TitleCardContext titleCtxt;
|
||||
/* 0x1F4 */ u8 unk1F4;
|
||||
/* 0x1F5 */ u8 unk1F5;
|
||||
/* 0x1F6 */ UNK_TYPE1 pad1F6[0x2];
|
||||
/* 0x1F8 */ f32 unk1F8;
|
||||
/* 0x1FC */ Vec3f unk1FC;
|
||||
/* 0x208 */ UNK_TYPE1 pad208[0x48];
|
||||
/* 0x250 */ void* unk250; // allocation of 0x20f0 bytes?
|
||||
/* 0x254 */ u32 unk254[5];
|
||||
/* 0x268 */ u8 unk268;
|
||||
/* 0x269 */ UNK_TYPE1 pad269[0x3];
|
||||
/* 0x26C */ UNK_TYPE1 pad26C[0xC];
|
||||
/* 0x278 */ u16 unk278;
|
||||
/* 0x27A */ UNK_TYPE1 pad27A[0x2];
|
||||
/* 0x27C */ UNK_TYPE1 pad27C[0x8];
|
||||
}; // size = 0x284
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 seqIndex;
|
||||
/* 0x01 */ u8 nightSeqIndex;
|
||||
@ -1448,7 +1357,9 @@ struct GlobalContext {
|
||||
/* 0x18B4C */ PreRender pauseBgPreRender;
|
||||
/* 0x18B9C */ char unk_18B9C[0x2B8];
|
||||
/* 0x18E54 */ SceneTableEntry* loadedScene;
|
||||
/* 0x18E58 */ char unk_18E58[0x400];
|
||||
/* 0x18E58 */ char unk_18E58[0x10];
|
||||
/* 0x18E68 */ s32 unk_18E68;
|
||||
/* 0x18E6C */ char unk_18E6C[0x3EC];
|
||||
}; // size = 0x19258
|
||||
|
||||
typedef struct {
|
||||
@ -1577,6 +1488,11 @@ typedef struct DebugDispObject {
|
||||
/* 0x2C */ s32 pad; //Padding not in the OOT version
|
||||
} DebugDispObject; // size = 0x30
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ f32 rangeSq;
|
||||
/* 0x4 */ f32 leashScale;
|
||||
} TargetRangeParams; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8* value;
|
||||
/* 0x04 */ const char* name;
|
||||
|
@ -1,5 +1,5 @@
|
||||
#ifndef _Z64ACTOR_H_
|
||||
#define _Z64ACTOR_H_
|
||||
#ifndef Z64ACTOR_H
|
||||
#define Z64ACTOR_H
|
||||
|
||||
#include "PR/ultratypes.h"
|
||||
#include "z64math.h"
|
||||
@ -7,6 +7,8 @@
|
||||
#include "z64collision_check.h"
|
||||
#include "unk.h"
|
||||
|
||||
// This value is hardcoded to be the size of ovl_Arrow_Fire which currently is the biggest actor that uses the AM_FIELD.
|
||||
#define AM_FIELD_SIZE SEGMENT_SIZE(ovl_Arrow_Fire)
|
||||
#define MASS_IMMOVABLE 0xFF // Cannot be pushed by OC collisions
|
||||
#define MASS_HEAVY 0xFE // Can only be pushed by OC collisions with IMMOVABLE and HEAVY objects.
|
||||
|
||||
@ -15,6 +17,7 @@ struct GlobalContext;
|
||||
struct Lights;
|
||||
struct CollisionPoly;
|
||||
|
||||
struct EnBox;
|
||||
struct EnDoor;
|
||||
|
||||
typedef void(*ActorFunc)(struct Actor* this, struct GlobalContext* globalCtx);
|
||||
@ -118,6 +121,8 @@ typedef struct {
|
||||
/* 0x10 */ f32 shadowScale; // Changes the size of the shadow
|
||||
/* 0x14 */ u8 shadowAlpha; // Default is 255
|
||||
/* 0x15 */ u8 feetFloorFlags; // Set if the actor's foot is clipped under the floor. & 1 is right foot, & 2 is left
|
||||
/* 0x16 */ u8 unk_16;
|
||||
/* 0x17 */ u8 unk_17;
|
||||
/* 0x18 */ Vec3f feetPos[2]; // Update by using `Actor_SetFeetPos` in PostLimbDrawOpa
|
||||
} ActorShape; // size = 0x30
|
||||
|
||||
@ -133,15 +138,15 @@ typedef struct Actor {
|
||||
/* 0x020 */ s16 unk20;
|
||||
/* 0x024 */ PosRot world; // Position/rotation in the world
|
||||
/* 0x038 */ s8 cutscene;
|
||||
/* 0x039 */ s8 unk39;
|
||||
/* 0x039 */ u8 audioFlags; // Another set of flags? Seems related to sfx or bgm
|
||||
/* 0x03C */ PosRot focus; // Target reticle focuses on this position. For player this represents head pos and rot
|
||||
/* 0x050 */ u16 sfx; // SFX ID to play. Sound plays when value is set, then is cleared the following update cycle
|
||||
/* 0x050 */ u16 sfxId; // Id of sound effect to play. Plays when value is set, then is cleared the following update cycle
|
||||
/* 0x054 */ f32 targetArrowOffset; // Height offset of the target arrow relative to `focus` position
|
||||
/* 0x058 */ Vec3f scale; // Scale of the actor in each axis
|
||||
/* 0x064 */ Vec3f velocity; // Velocity of the actor in each axis
|
||||
/* 0x070 */ f32 speedXZ; // How fast the actor is traveling along the XZ plane
|
||||
/* 0x074 */ f32 gravity; // Acceleration due to gravity. Value is added to Y velocity every frame
|
||||
/* 0x078 */ f32 minVelocityY; // Sets the lower bounds cap on velocity along the Y axis
|
||||
/* 0x078 */ f32 terminalVelocity; // Sets the lower bounds cap on velocity along the Y axis
|
||||
/* 0x07C */ struct CollisionPoly* wallPoly; // Wall polygon the actor is touching
|
||||
/* 0x080 */ struct CollisionPoly* floorPoly; // Floor polygon directly below the actor
|
||||
/* 0x084 */ u8 wallBgId; // Bg ID of the wall polygon the actor is touching
|
||||
@ -170,12 +175,12 @@ typedef struct Actor {
|
||||
/* 0x11C */ u8 colorFilterTimer; // A non-zero value enables the color filter. Decrements automatically
|
||||
/* 0x11D */ u8 isDrawn; // Set to true if the actor is currently being drawn. Always stays false for lens actors
|
||||
/* 0x11E */ u8 dropFlag; // Configures what item is dropped by the actor from `Item_DropCollectibleRandom`
|
||||
/* 0x11F */ u8 hintId; // Sets what 0600 dialog to display when talking to navi. Default 0xFF
|
||||
/* 0x11F */ u8 hintId; // Sets what 0600 dialog to display when talking to Tatl. Default 0xFF
|
||||
/* 0x120 */ struct Actor* parent; // Usage is actor specific. Set if actor is spawned via `Actor_SpawnAsChild`
|
||||
/* 0x124 */ struct Actor* child; // Usage is actor specific. Set if actor is spawned via `Actor_SpawnAsChild`
|
||||
/* 0x128 */ struct Actor* prev; // Previous actor of this category
|
||||
/* 0x12C */ struct Actor* next; // Next actor of this category
|
||||
/* 0x130 */ ActorFunc init; // Initialization Routine. Called by `Actor_Init` or `Actor_UpdateAll`
|
||||
/* 0x130 */ ActorFunc init; // Initialization Routine. Called by `Actor_InitContext` or `Actor_UpdateAll`
|
||||
/* 0x134 */ ActorFunc destroy; // Destruction Routine. Called by `Actor_Destroy`
|
||||
/* 0x138 */ ActorFunc update; // Update Routine. Called by `Actor_UpdateAll`
|
||||
/* 0x13C */ ActorFunc draw; // Draw Routine. Called by `Actor_Draw`
|
||||
@ -289,7 +294,8 @@ typedef enum {
|
||||
/* 0x08 */ ACTORCAT_MISC,
|
||||
/* 0x09 */ ACTORCAT_BOSS,
|
||||
/* 0x0A */ ACTORCAT_DOOR,
|
||||
/* 0x0B */ ACTORCAT_CHEST
|
||||
/* 0x0B */ ACTORCAT_CHEST,
|
||||
/* 0x0C */ ACTORCAT_MAX
|
||||
} ActorType;
|
||||
|
||||
typedef struct {
|
||||
@ -310,6 +316,96 @@ typedef struct {
|
||||
/* 0x0E */ s16 transitionRate;
|
||||
} ActorAnimationEntryS; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ f32 unkC;
|
||||
/* 0x10 */ Color_RGBA8 color;
|
||||
} TargetContextEntry; // size = 0x14
|
||||
|
||||
typedef struct TargetContext {
|
||||
/* 0x00 */ Vec3f unk0;
|
||||
/* 0x0C */ Vec3f targetCenterPos;
|
||||
/* 0x18 */ Color_RGBAf fairyInner;
|
||||
/* 0x28 */ Color_RGBAf fairyOuter;
|
||||
/* 0x38 */ Actor* arrowPointedActor;
|
||||
/* 0x3C */ Actor* targetedActor;
|
||||
/* 0x40 */ f32 unk40;
|
||||
/* 0x44 */ f32 unk44;
|
||||
/* 0x48 */ s16 unk48; // alpha
|
||||
/* 0x4A */ u8 unk4A;
|
||||
/* 0x4B */ u8 unk4B;
|
||||
/* 0x4C */ s8 unk4C;
|
||||
/* 0x4D */ UNK_TYPE1 pad4D[0x3];
|
||||
/* 0x50 */ TargetContextEntry unk50[3];
|
||||
/* 0x8C */ Actor* unk8C;
|
||||
/* 0x90 */ Actor* bgmEnemy;
|
||||
/* 0x94 */ Actor* unk_94;
|
||||
} TargetContext; // size = 0x98
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ TexturePtr texture;
|
||||
/* 0x4 */ s16 x;
|
||||
/* 0x6 */ s16 y;
|
||||
/* 0x8 */ u8 width;
|
||||
/* 0x9 */ u8 height;
|
||||
/* 0xA */ u8 durationTimer; // how long the title card appears for before fading
|
||||
/* 0xB */ u8 delayTimer; // how long the title card waits to appear
|
||||
/* 0xC */ s16 alpha;
|
||||
/* 0xE */ s16 intensity;
|
||||
} TitleCardContext; // size = 0x10
|
||||
|
||||
typedef struct ActorContext_unk_20C {
|
||||
/* 0x0 */ s16 id;
|
||||
/* 0x2 */ s8 isDynamicallyInitialised;
|
||||
/* 0x4 */ void* ptr;
|
||||
} ActorContext_unk_20C; // size = 0x8
|
||||
|
||||
typedef struct ActorContextFlags {
|
||||
/* 0x00 */ u32 switches[4]; // First 0x40 are permanent, second 0x40 are temporary
|
||||
/* 0x10 */ u32 chest;
|
||||
/* 0x14 */ u32 clearedRoom;
|
||||
/* 0x18 */ u32 clearedRoomTemp;
|
||||
/* 0x1C */ u32 collectible[4]; // bitfield of 128 bits
|
||||
} ActorContextFlags; // size = 0x2C
|
||||
|
||||
typedef struct ActorListEntry {
|
||||
/* 0x0 */ s32 length; // number of actors loaded of this type
|
||||
/* 0x4 */ Actor* first; // pointer to first actor of this type
|
||||
/* 0x8 */ s32 unk_08;
|
||||
} ActorListEntry; // size = 0xC
|
||||
|
||||
typedef struct ActorContext {
|
||||
/* 0x000 */ u8 freezeFlashTimer;
|
||||
/* 0x001 */ UNK_TYPE1 pad1;
|
||||
/* 0x002 */ u8 unk2;
|
||||
/* 0x003 */ u8 unk3;
|
||||
/* 0x004 */ s8 unk4;
|
||||
/* 0x005 */ u8 unk5;
|
||||
/* 0x006 */ UNK_TYPE1 pad6[0x5];
|
||||
/* 0x00B */ s8 unkB;
|
||||
/* 0x00C */ s16 unkC;
|
||||
/* 0x00E */ u8 totalLoadedActors;
|
||||
/* 0x00F */ u8 undrawnActorCount;
|
||||
/* 0x010 */ ActorListEntry actorLists[ACTORCAT_MAX];
|
||||
/* 0x0A0 */ Actor* undrawnActors[32]; // Records the first 32 actors drawn each frame
|
||||
/* 0x120 */ TargetContext targetContext;
|
||||
/* 0x1B8 */ ActorContextFlags flags;
|
||||
/* 0x1E4 */ TitleCardContext titleCtxt;
|
||||
/* 0x1F4 */ u8 unk1F4;
|
||||
/* 0x1F5 */ u8 unk1F5;
|
||||
/* 0x1F6 */ UNK_TYPE1 pad1F6[0x2];
|
||||
/* 0x1F8 */ f32 unk1F8;
|
||||
/* 0x1FC */ Vec3f unk1FC;
|
||||
/* 0x208 */ UNK_TYPE1 unk_208[0x4];
|
||||
/* 0x20C */ ActorContext_unk_20C unk_20C[8];
|
||||
/* 0x24C */ UNK_TYPE1 unk_24C[0x4];
|
||||
/* 0x250 */ void* absoluteSpace; // Space used to allocate actor overlays of alloc type ALLOCTYPE_ABSOLUTE
|
||||
/* 0x254 */ u32 unk254[5];
|
||||
/* 0x268 */ u8 unk268;
|
||||
/* 0x269 */ UNK_TYPE1 pad269[0x3];
|
||||
/* 0x26C */ Input unk_26C;
|
||||
} ActorContext; // size = 0x284
|
||||
|
||||
typedef enum {
|
||||
/* 0x000 */ ACTOR_PLAYER,
|
||||
/* 0x001 */ ACTOR_EN_TEST,
|
||||
@ -1004,6 +1100,76 @@ typedef enum {
|
||||
/* 0x2B2 */ ACTOR_ID_MAX // originally "ACTOR_DLF_MAX"
|
||||
} ActorID;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ DOORLOCK_NORMAL,
|
||||
/* 1 */ DOORLOCK_BOSS,
|
||||
/* 2 */ DOORLOCK_2, // DOORLOCK_NORMAL_SPIRIT on OoT
|
||||
/* 3 */ DOORLOCK_MAX
|
||||
} DoorLockType;
|
||||
|
||||
// Targetability / ACTOR_FLAG_TARGETABLE?
|
||||
#define ACTOR_FLAG_1 (1 << 0)
|
||||
//
|
||||
#define ACTOR_FLAG_2 (1 << 1)
|
||||
//
|
||||
#define ACTOR_FLAG_4 (1 << 2)
|
||||
//
|
||||
#define ACTOR_FLAG_8 (1 << 3)
|
||||
//
|
||||
#define ACTOR_FLAG_10 (1 << 4)
|
||||
//
|
||||
#define ACTOR_FLAG_20 (1 << 5)
|
||||
//
|
||||
#define ACTOR_FLAG_40 (1 << 6)
|
||||
// Invisible
|
||||
#define ACTOR_FLAG_80 (1 << 7)
|
||||
// Related to talk
|
||||
#define ACTOR_FLAG_100 (1 << 8)
|
||||
//
|
||||
#define ACTOR_FLAG_200 (1 << 9)
|
||||
//
|
||||
#define ACTOR_FLAG_400 (1 << 10)
|
||||
//
|
||||
#define ACTOR_FLAG_800 (1 << 11)
|
||||
//
|
||||
#define ACTOR_FLAG_1000 (1 << 12)
|
||||
//
|
||||
#define ACTOR_FLAG_2000 (1 << 13)
|
||||
//
|
||||
#define ACTOR_FLAG_4000 (1 << 14)
|
||||
//
|
||||
#define ACTOR_FLAG_8000 (1 << 15)
|
||||
//
|
||||
#define ACTOR_FLAG_10000 (1 << 16)
|
||||
//
|
||||
#define ACTOR_FLAG_20000 (1 << 17)
|
||||
//
|
||||
#define ACTOR_FLAG_40000 (1 << 18)
|
||||
//
|
||||
#define ACTOR_FLAG_80000 (1 << 19)
|
||||
//
|
||||
#define ACTOR_FLAG_100000 (1 << 20)
|
||||
//
|
||||
#define ACTOR_FLAG_200000 (1 << 21)
|
||||
//
|
||||
#define ACTOR_FLAG_400000 (1 << 22)
|
||||
//
|
||||
#define ACTOR_FLAG_800000 (1 << 23)
|
||||
//
|
||||
#define ACTOR_FLAG_1000000 (1 << 24)
|
||||
//
|
||||
#define ACTOR_FLAG_2000000 (1 << 25)
|
||||
//
|
||||
#define ACTOR_FLAG_4000000 (1 << 26)
|
||||
//
|
||||
#define ACTOR_FLAG_8000000 (1 << 27)
|
||||
//
|
||||
#define ACTOR_FLAG_10000000 (1 << 28)
|
||||
//
|
||||
#define ACTOR_FLAG_20000000 (1 << 29)
|
||||
//
|
||||
#define ACTOR_FLAG_40000000 (1 << 30)
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ CLEAR_TAG_SMALL_EXPLOSION,
|
||||
/* 0x01 */ CLEAR_TAG_LARGE_EXPLOSION,
|
||||
|
@ -343,6 +343,7 @@ typedef enum {
|
||||
/* 0x9F */ GI_SHIELD_HERO_2, // Code that treats this as hero's shield is unused, so take with a grain of salt
|
||||
/* 0xA1 */ GI_LETTER_TO_MAMA = 0xA1,
|
||||
/* 0xA9 */ GI_BOTTLE = 0xA9,
|
||||
/* 0xAB */ GI_PENDANT_OF_MEMORIES = 0xAB,
|
||||
/* 0xBA */ GI_MAX = 0xBA
|
||||
} GetItemID;
|
||||
|
||||
@ -373,4 +374,12 @@ typedef enum {
|
||||
/* 0x68 */ GID_SWORD_GREAT_FAIRY
|
||||
} GetItemDrawID;
|
||||
|
||||
// TODO: fill
|
||||
typedef enum {
|
||||
/* -1 */ EXCH_ITEM_MINUS1 = -1, // Unknown usage or function
|
||||
/* 0x00 */ EXCH_ITEM_NONE,
|
||||
/* 0x1E */ EXCH_ITEM_1E = 0x1E, // BOTTLE_MUSHROOM
|
||||
/* 0x2A */ EXCH_ITEM_2A = 0x2A // MOON_TEAR?
|
||||
} ExchangeItemID;
|
||||
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
#ifndef _Z64PLAYER_H_
|
||||
#define _Z64PLAYER_H_
|
||||
#ifndef Z64PLAYER_H
|
||||
#define Z64PLAYER_H
|
||||
|
||||
#include "z64actor.h"
|
||||
#include "os.h"
|
||||
@ -252,7 +252,7 @@ typedef struct Player {
|
||||
/* 0x32A */ Vec3s morphTable[5];
|
||||
/* 0x348 */ s16 eyeTexId;
|
||||
/* 0x34A */ s16 eyeAnimTimer;
|
||||
/* 0x34C */ Actor* leftHandActor;
|
||||
/* 0x34C */ Actor* heldActor;
|
||||
/* 0x350 */ PosRot leftHandWorld;
|
||||
/* 0x364 */ Actor* rightHandActor;
|
||||
/* 0x368 */ PosRot rightHandWorld;
|
||||
@ -261,12 +261,12 @@ typedef struct Player {
|
||||
/* 0x37E */ s8 doorTimer;
|
||||
/* 0x37F */ s8 doorNext; // used with spiral staircase
|
||||
/* 0x380 */ Actor* doorActor;
|
||||
/* 0x384 */ s16 unk_384;
|
||||
/* 0x386 */ u16 unk_386;
|
||||
/* 0x388 */ Actor* unk_388;
|
||||
/* 0x38C */ s16 unk_38C;
|
||||
/* 0x384 */ s16 getItemId;
|
||||
/* 0x386 */ u16 getItemDirection;
|
||||
/* 0x388 */ Actor* interactRangeActor;
|
||||
/* 0x38C */ s8 mountSide;
|
||||
/* 0x390 */ Actor* rideActor;
|
||||
/* 0x394 */ u8 unk_394;
|
||||
/* 0x394 */ u8 csMode;
|
||||
/* 0x395 */ u8 unk_395;
|
||||
/* 0x396 */ u8 unk_396;
|
||||
/* 0x397 */ u8 unk_397;
|
||||
@ -289,7 +289,8 @@ typedef struct Player {
|
||||
/* 0x664 */ ColliderQuad shieldQuad;
|
||||
/* 0x6E4 */ ColliderCylinder shieldCylinder;
|
||||
/* 0x730 */ Actor* unk_730;
|
||||
/* 0x734 */ char unk_734[8];
|
||||
/* 0x734 */ char unk_734[4];
|
||||
/* 0x738 */ s32 unk_738;
|
||||
/* 0x73C */ s32 blureEffectIndex[3];
|
||||
/* 0x748 */ char unk_748[0x320];
|
||||
/* 0xA68 */ PlayerAgeProperties* ageProperties; // repurposed as "transformation properties"?
|
||||
@ -301,7 +302,7 @@ typedef struct Player {
|
||||
/* 0xA80 */ Actor* tatlActor;
|
||||
/* 0xA84 */ s16 tatlTextId;
|
||||
/* 0xA86 */ s8 unk_A86;
|
||||
/* 0xA87 */ s8 unk_A87;
|
||||
/* 0xA87 */ s8 exchangeItemId;
|
||||
/* 0xA88 */ Actor* targetActor;
|
||||
/* 0xA8C */ f32 targetActorDistance;
|
||||
/* 0xA90 */ Actor* unk_A90;
|
||||
|
@ -174,7 +174,7 @@ typedef struct {
|
||||
/* 0x3F5C */ s32 unk_3F5C; // "bet_rupees"
|
||||
/* 0x3F60 */ u8 unk_3F60; // "framescale_flag"
|
||||
/* 0x3F64 */ f32 unk_3F64; // "framescale_scale"
|
||||
/* 0x3F68 */ u32 unk_3F68[5][120];
|
||||
/* 0x3F68 */ u32 cycleSceneFlags[120][5];
|
||||
/* 0x48C8 */ u16 unk_48C8; // "scene_id_mix"
|
||||
/* 0x48CA */ u8 maskMaskBit[3]; // masks given away on the Moon
|
||||
/* 0x48CD */ char unk_48CD[24];
|
||||
|
@ -295,7 +295,7 @@ typedef struct {
|
||||
/* 0x04 */ s16 id;
|
||||
/* 0x06 */ Vec3s pos;
|
||||
/* 0x0C */ s16 rotY;
|
||||
/* 0x0E */ s16 params;
|
||||
/* 0x0E */ u16 params;
|
||||
} TransitionActorEntry; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
|
1
spec
1
spec
@ -441,7 +441,6 @@ beginseg
|
||||
include "build/src/code/pad_801DC9C0.o"
|
||||
include "build/src/code/z_DLF.o"
|
||||
include "build/src/code/z_actor.o"
|
||||
include "build/data/code/z_actor.data.o"
|
||||
include "build/data/code/z_actor.bss.o"
|
||||
include "build/src/code/z_actor_dlftbls.o"
|
||||
include "build/src/code/z_bgcheck.o"
|
||||
|
@ -182,7 +182,7 @@ void __osFree(Arena* arena, void* ptr) {
|
||||
ArenaNode* newNext;
|
||||
|
||||
ArenaImpl_Lock(arena);
|
||||
node = (ArenaNode*)((u32)ptr - sizeof(ArenaNode));
|
||||
node = (ArenaNode*)((uintptr_t)ptr - sizeof(ArenaNode));
|
||||
|
||||
if (ptr == NULL || (node->magic != NODE_MAGIC) || node->isFree) {
|
||||
goto end;
|
||||
@ -190,10 +190,10 @@ void __osFree(Arena* arena, void* ptr) {
|
||||
|
||||
next = node->next;
|
||||
prev = node->prev;
|
||||
node->isFree = 1;
|
||||
node->isFree = true;
|
||||
|
||||
newNext = next;
|
||||
if ((u32)next == (u32)node + sizeof(ArenaNode) + node->size && next->isFree) {
|
||||
if ((uintptr_t)next == (uintptr_t)node + sizeof(ArenaNode) + node->size && next->isFree) {
|
||||
newNext = next->next;
|
||||
if (newNext != NULL) {
|
||||
newNext->prev = node;
|
||||
@ -205,7 +205,7 @@ void __osFree(Arena* arena, void* ptr) {
|
||||
next = newNext;
|
||||
}
|
||||
|
||||
if (prev != NULL && prev->isFree && (u32)node == (u32)prev + sizeof(ArenaNode) + prev->size) {
|
||||
if (prev != NULL && prev->isFree && (uintptr_t)node == (uintptr_t)prev + sizeof(ArenaNode) + prev->size) {
|
||||
if (next) {
|
||||
next->prev = prev;
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "global.h"
|
||||
|
||||
u32 sDmaMgrDmaBuffSize = 0x2000;
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "global.h"
|
||||
|
||||
u8 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE];
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A5C8C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A5CFC.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/Audio_PlaySfxGeneral.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A5DDC.s")
|
||||
|
||||
|
@ -97,7 +97,7 @@ void* Graph_FaultAddrConvFunc(void* address, void* param) {
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < graphNumGameStates; i++, gamestateOvl++) {
|
||||
diff = (uintptr_t)gamestateOvl->vramEnd - (uintptr_t)gamestateOvl->vramStart;
|
||||
diff = VRAM_PTR_SIZE(gamestateOvl);
|
||||
ramStart = gamestateOvl->loadedRamAddr;
|
||||
ramConv = (uintptr_t)gamestateOvl->vramStart - (uintptr_t)ramStart;
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "prevent_bss_reordering.h"
|
||||
#include "global.h"
|
||||
|
||||
#define RSP_DONE_MSG 667
|
||||
|
@ -138,7 +138,7 @@
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_IsPointInSphere.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017D668.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_PointDistToLine2D.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017D7C0.s")
|
||||
|
||||
|
4749
src/code/z_actor.c
4749
src/code/z_actor.c
File diff suppressed because it is too large
Load Diff
@ -722,7 +722,7 @@ void ActorOverlayTable_FaultPrint(void* arg0, void* arg1) {
|
||||
FaultDrawer_Printf("No. RamStart- RamEnd cn Name\n");
|
||||
|
||||
for (i = 0, overlayEntry = &gActorOverlayTable[0]; i < gMaxActorId; i++, overlayEntry++) {
|
||||
overlaySize = (u32)overlayEntry->vramEnd - (u32)overlayEntry->vramStart;
|
||||
overlaySize = VRAM_PTR_SIZE(overlayEntry);
|
||||
if (overlayEntry->loadedRamAddr != NULL) {
|
||||
FaultDrawer_Printf("%3d %08x-%08x %3d %s\n", i, overlayEntry->loadedRamAddr,
|
||||
(u32)overlayEntry->loadedRamAddr + overlaySize, overlayEntry->numLoaded, "");
|
||||
@ -740,7 +740,7 @@ void* ActorOverlayTable_FaultAddrConv(void* arg0, void* arg1) {
|
||||
u32 offset;
|
||||
|
||||
for (i = 0; i < gMaxActorId; i++, overlayEntry++) {
|
||||
size = (u8*)overlayEntry->vramEnd - (u8*)overlayEntry->vramStart;
|
||||
size = VRAM_PTR_SIZE(overlayEntry);
|
||||
ramStart = overlayEntry->loadedRamAddr;
|
||||
ramEnd = ramStart + size;
|
||||
offset = (u8*)overlayEntry->vramStart - ramStart;
|
||||
|
@ -3991,7 +3991,7 @@ void BgCheck_InitCollisionHeaders(CollisionContext* colCtx, GlobalContext* globa
|
||||
for (i = 0; i < BG_ACTOR_MAX; i++) {
|
||||
flag = dyna->bgActorFlags[i];
|
||||
if ((flag & 1) && !(flag & 2)) {
|
||||
Actor_SetObjectSegment(globalCtx, dyna->bgActors[i].actor);
|
||||
Actor_SetObjectDependency(globalCtx, dyna->bgActors[i].actor);
|
||||
CollisionHeader_SegmentedToVirtual(dyna->bgActors[i].colHeader);
|
||||
}
|
||||
}
|
||||
|
@ -312,7 +312,7 @@
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_SetMode.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DF840.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ChangeMode.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DF86C.s")
|
||||
|
||||
|
39
src/code/z_cheap_proc.c
Normal file
39
src/code/z_cheap_proc.c
Normal file
@ -0,0 +1,39 @@
|
||||
#include "global.h"
|
||||
|
||||
/**
|
||||
* Draws a display list to the opaque display buffer
|
||||
*/
|
||||
void Gfx_DrawDListOpa(GlobalContext* globalCtx, Gfx* dlist) {
|
||||
Gfx* dl;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx);
|
||||
|
||||
dl = POLY_OPA_DISP;
|
||||
|
||||
gSPDisplayList(&dl[0], &sSetupDL[6 * 0x19]);
|
||||
gSPMatrix(&dl[1], Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(&dl[2], dlist);
|
||||
|
||||
POLY_OPA_DISP = &dl[3];
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx);
|
||||
}
|
||||
|
||||
/**
|
||||
* Draws a display list to the translucent display buffer
|
||||
*/
|
||||
void Gfx_DrawDListXlu(GlobalContext* globalCtx, Gfx* dlist) {
|
||||
Gfx* dl;
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx);
|
||||
|
||||
dl = POLY_XLU_DISP;
|
||||
|
||||
gSPDisplayList(&dl[0], &sSetupDL[6 * 0x19]);
|
||||
gSPMatrix(&dl[1], Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(&dl[2], dlist);
|
||||
|
||||
POLY_XLU_DISP = &dl[3];
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx);
|
||||
}
|
@ -172,7 +172,7 @@ void EffectSs_Spawn(GlobalContext* globalCtx, s32 type, s32 priority, void* init
|
||||
}
|
||||
|
||||
sEffectSsInfo.searchIndex = index + 1;
|
||||
overlaySize = (uintptr_t)entry->vramEnd - (uintptr_t)entry->vramStart;
|
||||
overlaySize = VRAM_PTR_SIZE(entry);
|
||||
|
||||
if (entry->vramStart == NULL) {
|
||||
initInfo = entry->initInfo;
|
||||
@ -187,10 +187,8 @@ void EffectSs_Spawn(GlobalContext* globalCtx, s32 type, s32 priority, void* init
|
||||
Load2_LoadOverlay(entry->vromStart, entry->vromEnd, entry->vramStart, entry->vramEnd, entry->loadedRamAddr);
|
||||
}
|
||||
|
||||
initInfo = (u32)((entry->initInfo != NULL)
|
||||
? (EffectSsInit*)(-((uintptr_t)entry->vramStart - (uintptr_t)entry->loadedRamAddr) +
|
||||
(uintptr_t)entry->initInfo)
|
||||
: NULL);
|
||||
initInfo = (uintptr_t)(
|
||||
(entry->initInfo != NULL) ? (void*)(-OVERLAY_RELOCATION_OFFSET(entry) + (uintptr_t)entry->initInfo) : NULL);
|
||||
}
|
||||
|
||||
if (initInfo->init != NULL) {
|
||||
|
@ -795,7 +795,7 @@ void EffectSsEnIce_SpawnFlyingVec3f(GlobalContext* globalCtx, Actor* actor, Vec3
|
||||
initParams.scale = scale;
|
||||
|
||||
if (actor != NULL) {
|
||||
Audio_PlayActorSound2(actor, NA_SE_PL_FREEZE_S);
|
||||
Actor_PlaySfxAtPos(actor, NA_SE_PL_FREEZE_S);
|
||||
}
|
||||
|
||||
EffectSs_Spawn(globalCtx, EFFECT_SS_EN_ICE, 80, &initParams);
|
||||
@ -888,7 +888,7 @@ void EffectSsEnFire_SpawnVec3f(GlobalContext* globalCtx, Actor* actor, Vec3f* po
|
||||
initParams.bodyPart = bodyPart;
|
||||
|
||||
if (actor != NULL) {
|
||||
Audio_PlayActorSound2(actor, NA_SE_EV_FLAME_IGNITION);
|
||||
Actor_PlaySfxAtPos(actor, NA_SE_EV_FLAME_IGNITION);
|
||||
}
|
||||
|
||||
EffectSs_Spawn(globalCtx, EFFECT_SS_EN_FIRE, 128, &initParams);
|
||||
@ -908,7 +908,7 @@ void EffectSsEnFire_SpawnVec3s(GlobalContext* globalCtx, Actor* actor, Vec3s* po
|
||||
initParams.bodyPart = bodyPart;
|
||||
|
||||
if (actor != NULL) {
|
||||
Audio_PlayActorSound2(actor, NA_SE_EV_FLAME_IGNITION);
|
||||
Actor_PlaySfxAtPos(actor, NA_SE_EV_FLAME_IGNITION);
|
||||
}
|
||||
|
||||
EffectSs_Spawn(globalCtx, EFFECT_SS_EN_FIRE, 128, &initParams);
|
||||
|
@ -11,10 +11,10 @@ void EnAObj_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
this->actor.textId = ((this->actor.params >> 8) & 0xFF) | 0x300;
|
||||
this->actor.params = (this->actor.params & 0xFF) - 9;
|
||||
Actor_ProcessInitChain(&this->actor, &enAObjInitVar);
|
||||
ActorShape_Init(&this->actor.shape, 0, func_800B3FC0, 12);
|
||||
ActorShape_Init(&this->actor.shape, 0, ActorShadow_DrawCircle, 12);
|
||||
Collider_InitAndSetCylinder(globalCtx, &this->collision, &this->actor, &enAObjCylinderInit);
|
||||
Collider_UpdateCylinder(&this->actor, &this->collision);
|
||||
this->actor.colChkInfo.mass = 255;
|
||||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
this->actionFunc = EnAObj_Update1;
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@ void EnAObj_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
void EnAObj_Update1(EnAObj* this, GlobalContext* globalCtx) {
|
||||
s32 yawDiff;
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
this->actionFunc = EnAObj_Update2;
|
||||
} else {
|
||||
yawDiff = ABS_ALT((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y));
|
||||
@ -39,7 +39,7 @@ void EnAObj_Update1(EnAObj* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void EnAObj_Update2(EnAObj* this, GlobalContext* globalCtx) {
|
||||
if (func_800B867C(&this->actor, globalCtx)) {
|
||||
if (Actor_TextboxIsClosing(&this->actor, globalCtx)) {
|
||||
this->actionFunc = EnAObj_Update1;
|
||||
}
|
||||
}
|
||||
@ -48,10 +48,10 @@ void EnAObj_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnAObj* this = THIS;
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
Actor_SetHeight(&this->actor, 45.0f);
|
||||
Actor_SetFocus(&this->actor, 45.0f);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collision.base);
|
||||
}
|
||||
|
||||
void EnAObj_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_800BDFC0(globalCtx, enAObjDisplayLists[thisx->params]);
|
||||
Gfx_DrawDListOpa(globalCtx, enAObjDisplayLists[thisx->params]);
|
||||
}
|
||||
|
@ -131,7 +131,7 @@ void func_800F0BB4(EnHy* enHy, GlobalContext* globalCtx, Actor* door, s16 arg3,
|
||||
Vec3f offset;
|
||||
f32 phi_f0;
|
||||
|
||||
Actor_CalcOffsetOrientedToDrawRotation(door, &offset, &enHy->actor.world.pos);
|
||||
Actor_OffsetOfPointInActorCoords(door, &offset, &enHy->actor.world.pos);
|
||||
phi_f0 = (offset.z >= 0.0f) ? 1.0f : -1.0f;
|
||||
sp3B = ((s8)phi_f0 < 0) ? 0 : 2;
|
||||
EnHy_ChangeObjectAndAnim(enHy, globalCtx, (sp3B == 0) ? arg3 : arg4);
|
||||
@ -260,12 +260,12 @@ s32 EnHy_PlayWalkingSound(EnHy* enHy, GlobalContext* globalCtx, f32 distAboveThr
|
||||
|
||||
enHy->isLeftFootOnGround = isFootOnGround = func_8013DB90(globalCtx, &enHy->leftFootPos, distAboveThreshold);
|
||||
if (enHy->isLeftFootOnGround && !wasLeftFootOnGround && isFootOnGround) {
|
||||
Audio_PlayActorSound2(&enHy->actor, sfxId);
|
||||
Actor_PlaySfxAtPos(&enHy->actor, sfxId);
|
||||
}
|
||||
|
||||
enHy->isRightFootOnGround = isFootOnGround = func_8013DB90(globalCtx, &enHy->rightFootPos, distAboveThreshold);
|
||||
if (enHy->isRightFootOnGround && !wasRightFootOnGround && isFootOnGround) {
|
||||
Audio_PlayActorSound2(&enHy->actor, sfxId);
|
||||
Actor_PlaySfxAtPos(&enHy->actor, sfxId);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ static InitChainEntry sInitChain[] = {
|
||||
};
|
||||
|
||||
void EnItem00_SetObject(EnItem00* this, GlobalContext* globalCtx, f32* shadowOffset, f32* shadowScale) {
|
||||
Actor_SetObjectSegment(globalCtx, &this->actor);
|
||||
Actor_SetObjectDependency(globalCtx, &this->actor);
|
||||
Actor_SetScale(&this->actor, 0.5f);
|
||||
this->unk154 = 0.5f;
|
||||
*shadowOffset = 0.0f;
|
||||
@ -63,7 +63,7 @@ void EnItem00_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
thisx->params &= 0xFF; // Has to be thisx to match
|
||||
|
||||
if (Actor_GetCollectibleFlag(globalCtx, this->collectibleFlag)) {
|
||||
if (Flags_GetCollectible(globalCtx, this->collectibleFlag)) {
|
||||
if (this->actor.params == ITEM00_HEART_PIECE) {
|
||||
sp30 = 0;
|
||||
this->collectibleFlag = 0;
|
||||
@ -169,7 +169,7 @@ void EnItem00_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
this->unk14E = 0;
|
||||
ActorShape_Init(&this->actor.shape, shadowOffset, func_800B3FC0, shadowScale);
|
||||
ActorShape_Init(&this->actor.shape, shadowOffset, ActorShadow_DrawCircle, shadowScale);
|
||||
this->actor.shape.shadowAlpha = 180;
|
||||
this->actor.focus.pos = this->actor.world.pos;
|
||||
this->unk14A = GI_NONE;
|
||||
@ -251,7 +251,7 @@ void EnItem00_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if ((getItemId != GI_NONE) && (Actor_HasParent(&this->actor, globalCtx) == 0)) {
|
||||
func_800B8A1C(&this->actor, globalCtx, getItemId, 50.0f, 20.0f);
|
||||
Actor_PickUp(&this->actor, globalCtx, getItemId, 50.0f, 20.0f);
|
||||
}
|
||||
|
||||
this->actionFunc = func_800A6A40;
|
||||
@ -407,7 +407,7 @@ void func_800A6A40(EnItem00* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (this->unk14A != GI_NONE) {
|
||||
if (Actor_HasParent(&this->actor, globalCtx) == 0) {
|
||||
func_800B8A1C(&this->actor, globalCtx, this->unk14A, 50.0f, 80.0f);
|
||||
Actor_PickUp(&this->actor, globalCtx, this->unk14A, 50.0f, 80.0f);
|
||||
this->unk152++;
|
||||
} else {
|
||||
this->unk14A = GI_NONE;
|
||||
@ -457,7 +457,7 @@ void EnItem00_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
this->actor.scale.y = this->actor.scale.x;
|
||||
|
||||
if (this->actor.gravity != 0.0f) {
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 20.0f, 15.0f, 15.0f, 0x1D);
|
||||
|
||||
if (this->actor.floorHeight <= BGCHECK_Y_MIN) {
|
||||
@ -574,7 +574,7 @@ void EnItem00_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
if (getItemId != GI_NONE) {
|
||||
if (!Actor_HasParent(&this->actor, globalCtx)) {
|
||||
func_800B8A1C(&this->actor, globalCtx, getItemId, 50.0f, 20.0f);
|
||||
Actor_PickUp(&this->actor, globalCtx, getItemId, 50.0f, 20.0f);
|
||||
}
|
||||
}
|
||||
|
||||
@ -586,7 +586,7 @@ void EnItem00_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
case ITEM00_MAP:
|
||||
case ITEM00_COMPASS:
|
||||
if (Actor_HasParent(&this->actor, globalCtx)) {
|
||||
Actor_SetCollectibleFlag(globalCtx, this->collectibleFlag);
|
||||
Flags_SetCollectible(globalCtx, this->collectibleFlag);
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
}
|
||||
return;
|
||||
@ -598,7 +598,7 @@ void EnItem00_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
play_sound(NA_SE_SY_GET_RUPY);
|
||||
} else if (getItemId != GI_NONE) {
|
||||
if (Actor_HasParent(&this->actor, globalCtx)) {
|
||||
Actor_SetCollectibleFlag(globalCtx, this->collectibleFlag);
|
||||
Flags_SetCollectible(globalCtx, this->collectibleFlag);
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
}
|
||||
return;
|
||||
@ -606,7 +606,7 @@ void EnItem00_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
play_sound(NA_SE_SY_GET_ITEM);
|
||||
}
|
||||
|
||||
Actor_SetCollectibleFlag(globalCtx, this->collectibleFlag);
|
||||
Flags_SetCollectible(globalCtx, this->collectibleFlag);
|
||||
|
||||
this->unk152 = 15;
|
||||
this->unk14C = 35;
|
||||
@ -651,7 +651,7 @@ void EnItem00_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s8 bankIndex = Object_GetIndex(&globalCtx->objectCtx, OBJECT_GI_HEART);
|
||||
if (Object_IsLoaded(&globalCtx->objectCtx, bankIndex)) {
|
||||
this->actor.objBankIndex = bankIndex;
|
||||
Actor_SetObjectSegment(globalCtx, &this->actor);
|
||||
Actor_SetObjectDependency(globalCtx, &this->actor);
|
||||
this->unk152 = -2;
|
||||
}
|
||||
} else {
|
||||
@ -848,7 +848,7 @@ Actor* Item_DropCollectible(GlobalContext* globalCtx, Vec3f* spawnPos, u32 param
|
||||
}
|
||||
} else if (paramFF == ITEM00_MUSHROOM_CLOUD) {
|
||||
param7F00 >>= 8;
|
||||
if (!Actor_GetCollectibleFlag(globalCtx, param7F00)) {
|
||||
if (!Flags_GetCollectible(globalCtx, param7F00)) {
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_OBJ_KINOKO, spawnPos->x, spawnPos->y, spawnPos->z, 0, 0,
|
||||
0, param7F00);
|
||||
}
|
||||
@ -857,7 +857,7 @@ Actor* Item_DropCollectible(GlobalContext* globalCtx, Vec3f* spawnPos, u32 param
|
||||
if (newParamFF == ITEM00_FLEXIBLE) {
|
||||
spawnedActor = Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ELF, spawnPos->x, spawnPos->y + 40.0f,
|
||||
spawnPos->z, 0, 0, 0, ((((param7F00 >> 8) & 0x7F) << 9) & 0xFE00) | 0x102);
|
||||
if (!Actor_GetCollectibleFlag(globalCtx, (param7F00 >> 8) & 0x7F)) {
|
||||
if (!Flags_GetCollectible(globalCtx, (param7F00 >> 8) & 0x7F)) {
|
||||
Audio_PlaySoundAtPosition(globalCtx, spawnPos, 40, NA_SE_EV_BUTTERFRY_TO_FAIRY);
|
||||
}
|
||||
} else {
|
||||
@ -865,7 +865,7 @@ Actor* Item_DropCollectible(GlobalContext* globalCtx, Vec3f* spawnPos, u32 param
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ELFORG, spawnPos->x, spawnPos->y + 40.0f,
|
||||
spawnPos->z, 0, 0, 0, ((((param7F00 >> 8) & 0x7F) & 0x7F) << 9) | 7);
|
||||
if (param20000 == 0) {
|
||||
if (!Actor_GetCollectibleFlag(globalCtx, (param7F00 >> 8) & 0x7F)) {
|
||||
if (!Flags_GetCollectible(globalCtx, (param7F00 >> 8) & 0x7F)) {
|
||||
Audio_PlaySoundAtPosition(globalCtx, spawnPos, 40, NA_SE_EV_BUTTERFRY_TO_FAIRY);
|
||||
}
|
||||
}
|
||||
@ -923,7 +923,7 @@ Actor* Item_DropCollectible2(GlobalContext* globalCtx, Vec3f* spawnPos, s32 para
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ELFORG, spawnPos->x, spawnPos->y + 40.0f,
|
||||
spawnPos->z, 0, 0, 0, ((((param7F00 >> 8) & 0x7F) & 0x7F) << 9) | 7);
|
||||
}
|
||||
if (Actor_GetCollectibleFlag(globalCtx, (param7F00 >> 8) & 0x7F) == 0) {
|
||||
if (Flags_GetCollectible(globalCtx, (param7F00 >> 8) & 0x7F) == 0) {
|
||||
Audio_PlaySoundAtPosition(globalCtx, spawnPos, 40, NA_SE_EV_BUTTERFRY_TO_FAIRY);
|
||||
}
|
||||
} else {
|
||||
@ -1179,5 +1179,5 @@ s32 func_800A817C(s32 index) {
|
||||
}
|
||||
|
||||
s32 func_800A81A4(GlobalContext* globalCtx, s32 a1, s32 a2) {
|
||||
return (func_800A8150(a1) == ITEM00_BIG_FAIRY) && (!Actor_GetCollectibleFlag(globalCtx, a2));
|
||||
return (func_800A8150(a1) == ITEM00_BIG_FAIRY) && (!Flags_GetCollectible(globalCtx, a2));
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ void* KaleidoManager_FaultAddrConvFunc(void* address, void* param) {
|
||||
uintptr_t offset;
|
||||
|
||||
if (ovl != NULL) {
|
||||
size = (u8*)ovl->vramEnd - (u8*)ovl->vramStart;
|
||||
size = VRAM_PTR_SIZE(ovl);
|
||||
ramStart = ovl->loadedRamAddr;
|
||||
ramEnd = ramStart + size;
|
||||
offset = (u8*)ovl->vramStart - ramStart;
|
||||
@ -47,7 +47,7 @@ void KaleidoManager_LoadOvl(KaleidoMgrOverlay* ovl) {
|
||||
void KaleidoManager_ClearOvl(KaleidoMgrOverlay* ovl) {
|
||||
if (ovl->loadedRamAddr != NULL) {
|
||||
ovl->offset = 0;
|
||||
bzero(ovl->loadedRamAddr, (uintptr_t)ovl->vramEnd - (uintptr_t)ovl->vramStart);
|
||||
bzero(ovl->loadedRamAddr, VRAM_PTR_SIZE(ovl));
|
||||
ovl->loadedRamAddr = NULL;
|
||||
gKaleidoMgrCurOvl = NULL;
|
||||
}
|
||||
@ -59,7 +59,7 @@ void KaleidoManager_Init(GlobalContext* globalCtx) {
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(gKaleidoMgrOverlayTable); i++) {
|
||||
size = (uintptr_t)gKaleidoMgrOverlayTable[i].vramEnd - (uintptr_t)gKaleidoMgrOverlayTable[i].vramStart;
|
||||
size = VRAM_PTR_SIZE(&gKaleidoMgrOverlayTable[i]);
|
||||
if (size > largestSize) {
|
||||
largestSize = size;
|
||||
}
|
||||
|
@ -399,9 +399,9 @@ void LifeMeter_UpdateSizeAndBeep(GlobalContext* globalCtx) {
|
||||
if (interfaceCtx->lifeSizeChange <= 0) {
|
||||
interfaceCtx->lifeSizeChange = 0;
|
||||
interfaceCtx->lifeSizeChangeDirection = 0;
|
||||
if (func_801233E4(globalCtx) == 0 && (globalCtx->pauseCtx.state == 0) &&
|
||||
if (Player_InCsMode(&globalCtx->state) == 0 && (globalCtx->pauseCtx.state == 0) &&
|
||||
(globalCtx->pauseCtx.debugState == 0) && LifeMeter_IsCritical() && func_801690CC(globalCtx) == 0) {
|
||||
// func_801233E4 and func_801690CC : Check if in Cutscene
|
||||
// Player_InCsMode and func_801690CC : Check if in Cutscene
|
||||
play_sound(NA_SE_SY_HITPOINT_ALARM);
|
||||
}
|
||||
}
|
||||
|
@ -382,7 +382,7 @@ void Lights_GlowCheck(GlobalContext* globalCtx) {
|
||||
pos.x = params->x;
|
||||
pos.y = params->y;
|
||||
pos.z = params->z;
|
||||
func_800B4EDC(globalCtx, &pos, &multDest, &wDest);
|
||||
Actor_GetProjectedPos(globalCtx, &pos, &multDest, &wDest);
|
||||
|
||||
params->drawGlow = 0;
|
||||
|
||||
|
@ -80,7 +80,7 @@
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80152464.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80152498.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/Message_GetState.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8015268C.s")
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123358.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801233E4.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/Player_InCsMode.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123420.s")
|
||||
|
||||
@ -114,7 +114,7 @@
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_8012422C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124258.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/Player_GetExplosiveHeld.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124278.s")
|
||||
|
||||
|
@ -608,7 +608,7 @@ void Quake2_Update(void) {
|
||||
player = GET_PLAYER(globalCtx);
|
||||
|
||||
if (&player->actor != NULL) {
|
||||
func_800B8248(&playerPosRot, player);
|
||||
Actor_GetWorldPosShapeRot(&playerPosRot, &player->actor);
|
||||
}
|
||||
|
||||
angle1Speed = 359.2f;
|
||||
|
@ -20,7 +20,7 @@ s32 func_8013A240(GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
for (; type < 12; type++) {
|
||||
for (actor = globalCtx->actorCtx.actorList[type].first; actor != NULL; actor = actor->next) {
|
||||
for (actor = globalCtx->actorCtx.actorLists[type].first; actor != NULL; actor = actor->next) {
|
||||
seen = 0;
|
||||
|
||||
switch (globalCtx->sceneNum) {
|
||||
@ -134,7 +134,7 @@ s32 func_8013A530(GlobalContext* globalCtx, Actor* actor, s32 flag, Vec3f* pos,
|
||||
ret |= 0x3e;
|
||||
}
|
||||
|
||||
func_800B4EDC(globalCtx, pos, &screenSpace, &distance);
|
||||
Actor_GetProjectedPos(globalCtx, pos, &screenSpace, &distance);
|
||||
x = (s16)(screenSpace.x * distance * 160.0f + 160.0f) - 85;
|
||||
y = (s16)(screenSpace.y * distance * -120.0f + 120.0f) - 67;
|
||||
if ((x < 0) || (0x96 < x) || (y < 0) || (0x69 < y)) {
|
||||
|
@ -142,7 +142,7 @@ Actor* SubS_FindActor(GlobalContext* globalCtx, Actor* actorListStart, u8 actorC
|
||||
Actor* actor = actorListStart;
|
||||
|
||||
if (actor == NULL) {
|
||||
actor = globalCtx->actorCtx.actorList[actorCategory].first;
|
||||
actor = globalCtx->actorCtx.actorLists[actorCategory].first;
|
||||
}
|
||||
|
||||
while (actor != NULL && actorId != actor->id) {
|
||||
@ -191,7 +191,7 @@ Actor* SubS_FindActorCustom(GlobalContext* globalCtx, Actor* actor, Actor* actor
|
||||
Actor* actorIter = actorListStart;
|
||||
|
||||
if (actorListStart == NULL) {
|
||||
actorIter = globalCtx->actorCtx.actorList[actorCategory].first;
|
||||
actorIter = globalCtx->actorCtx.actorLists[actorCategory].first;
|
||||
}
|
||||
|
||||
while (actorIter != NULL && (actorId != actorIter->id ||
|
||||
|
@ -77,7 +77,7 @@ void ArmsHook_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
void ArmsHook_Wait(ArmsHook* this, GlobalContext* globalCtx) {
|
||||
if (this->actor.parent == NULL) {
|
||||
ArmsHook_SetupAction(this, ArmsHook_Shoot);
|
||||
func_800B6C04(&this->actor, 20.0f);
|
||||
Actor_SetSpeeds(&this->actor, 20.0f);
|
||||
this->actor.parent = &GET_PLAYER(globalCtx)->actor;
|
||||
this->timer = 26;
|
||||
}
|
||||
@ -90,7 +90,7 @@ void func_808C1154(ArmsHook* this) {
|
||||
|
||||
s32 ArmsHook_AttachToPlayer(ArmsHook* this, Player* player) {
|
||||
player->actor.child = &this->actor;
|
||||
player->leftHandActor = &this->actor;
|
||||
player->heldActor = &this->actor;
|
||||
if (this->actor.child != NULL) {
|
||||
player->actor.parent = this->actor.child = NULL;
|
||||
return 1;
|
||||
@ -237,7 +237,7 @@ void ArmsHook_Shoot(ArmsHook* this, GlobalContext* globalCtx) {
|
||||
Vec3f prevFrameDiff;
|
||||
Vec3f sp60;
|
||||
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
Math_Vec3f_Diff(&this->actor.world.pos, &this->actor.prevPos, &prevFrameDiff);
|
||||
Math_Vec3f_Sum(&this->unk1E0, &prevFrameDiff, &this->unk1E0);
|
||||
this->actor.shape.rot.x = Math_FAtan2F(this->actor.speedXZ, -this->actor.velocity.y);
|
||||
|
@ -162,7 +162,7 @@ void ArrowIce_Fly(ArrowIce* this, GlobalContext* globalCtx) {
|
||||
ArrowIce_LerpFiredPosition(&this->firedPos, &this->actor.world.pos, 0.05f);
|
||||
|
||||
if (arrow->unk_261 & 1) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_IT_EXPLOSION_ICE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_IT_EXPLOSION_ICE);
|
||||
ArrowIce_SetupAction(this, ArrowIce_Hit);
|
||||
this->timer = 32;
|
||||
this->alpha = 255;
|
||||
|
@ -123,7 +123,7 @@ void BgCtowerGear_Splash(BgCtowerGear* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
}
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_WATERWHEEL_LEVEL);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_WATERWHEEL_LEVEL);
|
||||
}
|
||||
}
|
||||
|
||||
@ -200,7 +200,7 @@ void BgCtowerGear_UpdateOrgan(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
// Using BgCtowerGear *this = THIS causes regalloc issues
|
||||
void BgCtowerGear_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_800BDFC0(globalCtx, D_80AD32E8[BGCTOWERGEAR_GET_TYPE(thisx)]);
|
||||
Gfx_DrawDListOpa(globalCtx, D_80AD32E8[BGCTOWERGEAR_GET_TYPE(thisx)]);
|
||||
}
|
||||
|
||||
void BgCtowerGear_DrawOrgan(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
@ -67,7 +67,7 @@ void BgCtowerRot_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
DynaPolyActor_LoadMesh(globalCtx, &this->dyna, &D_06017650);
|
||||
this->dyna.actor.world.rot.y = this->dyna.actor.shape.rot.y - 0x4000;
|
||||
}
|
||||
Actor_CalcOffsetOrientedToDrawRotation(&this->dyna.actor, &offset, &player->actor.world.pos);
|
||||
Actor_OffsetOfPointInActorCoords(&this->dyna.actor, &offset, &player->actor.world.pos);
|
||||
if (offset.z < 0.0f) {
|
||||
this->dyna.actor.world.pos.x = this->dyna.actor.home.pos.x + (Math_SinS(this->dyna.actor.world.rot.y) * 80.0f);
|
||||
this->dyna.actor.world.pos.z = this->dyna.actor.home.pos.z + (Math_CosS(this->dyna.actor.world.rot.y) * 80.0f);
|
||||
@ -91,7 +91,7 @@ void BgCtowerRot_CorridorRotate(BgCtowerRot* this, GlobalContext* globalCtx) {
|
||||
f32 offsetDiffZ;
|
||||
f32 rotZtmp;
|
||||
|
||||
Actor_CalcOffsetOrientedToDrawRotation(&this->dyna.actor, &offset, &player->actor.world.pos);
|
||||
Actor_OffsetOfPointInActorCoords(&this->dyna.actor, &offset, &player->actor.world.pos);
|
||||
if (offset.z > 1100.0f) {
|
||||
rotZ = 0.0f;
|
||||
} else {
|
||||
@ -114,7 +114,7 @@ void BgCtowerRot_DoorDoNothing(BgCtowerRot* this, GlobalContext* globalCtx) {
|
||||
void BgCtowerRot_DoorClose(BgCtowerRot* this, GlobalContext* globalCtx) {
|
||||
if (!Math_SmoothStepToF(&this->timer, 0.0f, 0.1f, 15.0f, 0.1f)) {
|
||||
if (this->dyna.actor.params == MAIN_DOOR) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_STONEDOOR_STOP);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_STONEDOOR_STOP);
|
||||
ActorCutscene_Stop(this->dyna.actor.cutscene);
|
||||
}
|
||||
this->actionFunc = BgCtowerRot_DoorDoNothing;
|
||||
@ -131,7 +131,7 @@ void BgCtowerRot_DoorIdle(BgCtowerRot* this, GlobalContext* globalCtx) {
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
Vec3f offset;
|
||||
|
||||
Actor_CalcOffsetOrientedToDrawRotation(&this->dyna.actor, &offset, &player->actor.world.pos);
|
||||
Actor_OffsetOfPointInActorCoords(&this->dyna.actor, &offset, &player->actor.world.pos);
|
||||
if (offset.z > 30.0f) {
|
||||
this->unk160 = 0.0f;
|
||||
ActorCutscene_SetIntentToPlay(this->dyna.actor.cutscene);
|
||||
@ -159,8 +159,8 @@ void BgCtowerRot_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
void BgCtowerRot_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgCtowerRot* this = THIS;
|
||||
|
||||
func_800BDFC0(globalCtx, bgCtowerRotDlists[this->dyna.actor.params]);
|
||||
Gfx_DrawDListOpa(globalCtx, bgCtowerRotDlists[this->dyna.actor.params]);
|
||||
if (this->dyna.actor.params == CORRIDOR) {
|
||||
func_800BE03C(globalCtx, D_060129D0);
|
||||
Gfx_DrawDListXlu(globalCtx, D_060129D0);
|
||||
}
|
||||
}
|
||||
|
@ -95,8 +95,8 @@ void func_80B401F8(BgGoronOyu* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (dist.x >= 0.0f && dist.x <= this->waterBoxXLength && dist.z >= 0.0f && dist.z <= this->waterBoxZLength &&
|
||||
fabsf(dist.y) < 100.0f && player->actor.depthInWater > 12.0f) {
|
||||
func_800B8A1C(&this->dyna.actor, globalCtx, 0xBA, this->dyna.actor.xzDistToPlayer,
|
||||
fabsf(this->dyna.actor.playerHeightRel));
|
||||
Actor_PickUp(&this->dyna.actor, globalCtx, 0xBA, this->dyna.actor.xzDistToPlayer,
|
||||
fabsf(this->dyna.actor.playerHeightRel));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,7 @@ void BgHakaCurtain_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
DynaPolyActor_Init(&this->dyna, 1);
|
||||
DynaPolyActor_LoadMesh(globalCtx, &this->dyna, &D_06001588);
|
||||
if (Actor_GetRoomCleared(globalCtx, this->dyna.actor.room)) {
|
||||
if (Flags_GetClear(globalCtx, this->dyna.actor.room)) {
|
||||
func_80B6DE80(this);
|
||||
return;
|
||||
}
|
||||
@ -71,7 +71,7 @@ void func_80B6DC98(BgHakaCurtain* this) {
|
||||
}
|
||||
|
||||
void func_80B6DCAC(BgHakaCurtain* this, GlobalContext* globalCtx) {
|
||||
if (Actor_GetRoomCleared(globalCtx, this->dyna.actor.room)) {
|
||||
if (Flags_GetClear(globalCtx, this->dyna.actor.room)) {
|
||||
func_80B6DCEC(this);
|
||||
}
|
||||
}
|
||||
@ -137,5 +137,5 @@ void BgHakaCurtain_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void BgHakaCurtain_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_800BDFC0(globalCtx, D_06001410);
|
||||
Gfx_DrawDListOpa(globalCtx, D_06001410);
|
||||
}
|
||||
|
@ -84,11 +84,10 @@ s32 func_80BD6638(s16* arg0, s16* arg1, s32 arg2) {
|
||||
void func_80BD66AC(BgHakaTomb* this, GlobalContext* globalCtx) {
|
||||
s16 temp;
|
||||
|
||||
if (Actor_GetRoomCleared(globalCtx, this->dyna.actor.room)) {
|
||||
if (Flags_GetClear(globalCtx, this->dyna.actor.room)) {
|
||||
this->dyna.actor.flags |= 9;
|
||||
}
|
||||
if (!func_80BD6638(&temp, this->cutscenes, 1) && (temp < 0) &&
|
||||
Actor_GetRoomCleared(globalCtx, this->dyna.actor.room)) {
|
||||
if (!func_80BD6638(&temp, this->cutscenes, 1) && (temp < 0) && Flags_GetClear(globalCtx, this->dyna.actor.room)) {
|
||||
this->dyna.actor.flags |= 1;
|
||||
if (this->dyna.actor.isTargeted) {
|
||||
func_80BD6754(this);
|
||||
@ -129,5 +128,5 @@ void BgHakaTomb_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void BgHakaTomb_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_800BDFC0(globalCtx, D_060007B0);
|
||||
Gfx_DrawDListOpa(globalCtx, D_060007B0);
|
||||
}
|
||||
|
@ -187,7 +187,7 @@ void func_80A9B160(BgHakuginPostUnkStruct* unkStruct, GlobalContext* globalCtx)
|
||||
unkStruct->unk_0000[i].unk_24 = 0.0f;
|
||||
unkStruct->unk_0000[i].unk_34 = 1;
|
||||
if (D_80A9D880[unkStruct->unk_0000[i].unk_00].unk_04 != 0) {
|
||||
Actor_UnsetSwitchFlag(globalCtx, unkStruct->unk_0000[i].unk_2E);
|
||||
Flags_UnsetSwitch(globalCtx, unkStruct->unk_0000[i].unk_2E);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -261,7 +261,7 @@ void func_80A9B3BC(BgHakuginPost* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (!(sp20 | sp1C)) {
|
||||
Actor_SetSwitchFlag(globalCtx, sp28);
|
||||
Flags_SetSwitch(globalCtx, sp28);
|
||||
this->unk_170 = true;
|
||||
} else {
|
||||
this->unk_170 = sp20;
|
||||
@ -290,9 +290,9 @@ void func_80A9B46C(BgHakuginPost* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (!this->unk_170 && (sp28 == 1)) {
|
||||
Actor_UnsetSwitchFlag(globalCtx, sp2C);
|
||||
Flags_UnsetSwitch(globalCtx, sp2C);
|
||||
} else if (!this->unk_174 && (sp24 == 1)) {
|
||||
Actor_UnsetSwitchFlag(globalCtx, sp30);
|
||||
Flags_UnsetSwitch(globalCtx, sp30);
|
||||
}
|
||||
|
||||
this->unk_170 = sp28;
|
||||
@ -682,9 +682,9 @@ void func_80A9C854(BgHakuginPost* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (sp38) {
|
||||
Actor_SetSwitchFlag(globalCtx, this->dyna.actor.home.rot.x & 0x7F);
|
||||
Flags_SetSwitch(globalCtx, this->dyna.actor.home.rot.x & 0x7F);
|
||||
} else {
|
||||
Actor_UnsetSwitchFlag(globalCtx, this->dyna.actor.home.rot.x & 0x7F);
|
||||
Flags_UnsetSwitch(globalCtx, this->dyna.actor.home.rot.x & 0x7F);
|
||||
}
|
||||
}
|
||||
|
||||
@ -840,9 +840,9 @@ void func_80A9CE1C(BgHakuginPost* this, GlobalContext* globalCtx) {
|
||||
temp = (s16)(this->dyna.actor.yawTowardsPlayer + 0x58F0);
|
||||
D_80A9E028.unk_0000[i].unk_28 = ((s16)(player->actor.shape.rot.y - temp) / 3) + temp;
|
||||
D_80A9E028.unk_0000[i].unk_34 = 2;
|
||||
func_800B8E58(&player->actor, NA_SE_IT_HAMMER_HIT);
|
||||
func_800B8E58(player, NA_SE_IT_HAMMER_HIT);
|
||||
func_8019F128(NA_SE_EV_SLIDE_DOOR_OPEN);
|
||||
Actor_SetSwitchFlag(globalCtx, D_80A9E028.unk_0000[i].unk_2E);
|
||||
Flags_SetSwitch(globalCtx, D_80A9E028.unk_0000[i].unk_2E);
|
||||
this->unk_178 = 20;
|
||||
func_80A9D2C4(this, func_80A9CE00, D_80A9E028.unk_0000[i].unk_14.y + 50.0f,
|
||||
D_80A9E028.unk_0000[i].unk_2A, D_80A9E028.unk_0000[i].unk_2C);
|
||||
|
@ -56,7 +56,7 @@ const ActorInit Bg_Icicle_InitVars = {
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_F32(uncullZoneScale, 1500, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(gravity, -3, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(minVelocityY, -30, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(terminalVelocity, -30, ICHAIN_CONTINUE),
|
||||
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
@ -144,7 +144,7 @@ void BgIcicle_Shiver(BgIcicle* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (!(this->shiverTimer % 4)) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_ICE_SWING);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_ICE_SWING);
|
||||
}
|
||||
|
||||
if (this->shiverTimer == 0) {
|
||||
@ -184,7 +184,7 @@ void BgIcicle_Fall(BgIcicle* this, GlobalContext* globalCtx) {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->dyna.actor);
|
||||
Actor_MoveWithGravity(&this->dyna.actor);
|
||||
this->dyna.actor.world.pos.y += 40.0f;
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->dyna.actor, 0.0f, 0.0f, 0.0f, 4);
|
||||
this->dyna.actor.world.pos.y -= 40.0f;
|
||||
@ -245,5 +245,5 @@ void BgIcicle_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void BgIcicle_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_800BDFC0(globalCtx, D_060000D0);
|
||||
Gfx_DrawDListOpa(globalCtx, D_060000D0);
|
||||
}
|
||||
|
@ -119,5 +119,5 @@ void BgIkanaRay_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgIkanaRay* this = THIS;
|
||||
|
||||
AnimatedMat_Draw(globalCtx, this->animatedTextures);
|
||||
func_800BE03C(globalCtx, D_06001100);
|
||||
Gfx_DrawDListXlu(globalCtx, D_06001100);
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ void BgIkanaShutter_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_80BD5828(this);
|
||||
return;
|
||||
}
|
||||
if (Actor_GetRoomCleared(globalCtx, this->dyna.actor.room)) {
|
||||
if (Flags_GetClear(globalCtx, this->dyna.actor.room)) {
|
||||
BgIkanaShutter_SetupDoNothing(this);
|
||||
return;
|
||||
}
|
||||
@ -166,7 +166,7 @@ void func_80BD5AE8(BgIkanaShutter* this) {
|
||||
}
|
||||
|
||||
void func_80BD5B04(BgIkanaShutter* this, GlobalContext* globalCtx) {
|
||||
if (Actor_GetRoomClearedTemp(globalCtx, this->dyna.actor.room)) {
|
||||
if (Flags_GetClearTemp(globalCtx, this->dyna.actor.room)) {
|
||||
func_80BD5B44(this);
|
||||
}
|
||||
}
|
||||
@ -179,7 +179,7 @@ void func_80BD5B44(BgIkanaShutter* this) {
|
||||
void func_80BD5B60(BgIkanaShutter* this, GlobalContext* globalCtx) {
|
||||
if (ActorCutscene_GetCanPlayNext(this->dyna.actor.cutscene)) {
|
||||
ActorCutscene_StartAndSetUnkLinkFields(this->dyna.actor.cutscene, &this->dyna.actor);
|
||||
Actor_SetRoomCleared(globalCtx, this->dyna.actor.room);
|
||||
Flags_SetClear(globalCtx, this->dyna.actor.room);
|
||||
func_80BD5BC4(this);
|
||||
return;
|
||||
}
|
||||
@ -213,5 +213,5 @@ void BgIkanaShutter_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void BgIkanaShutter_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_800BDFC0(globalCtx, D_06000CE8);
|
||||
Gfx_DrawDListOpa(globalCtx, D_06000CE8);
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ s32 func_80C0A740(BgIkninSusceil* this, GlobalContext* globalCtx) {
|
||||
Vec3f offset;
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
|
||||
Actor_CalcOffsetOrientedToDrawRotation(&this->dyna.actor, &offset, &player->actor.world.pos);
|
||||
Actor_OffsetOfPointInActorCoords(&this->dyna.actor, &offset, &player->actor.world.pos);
|
||||
|
||||
return (D_80C0B0E8.x < offset.z) && (offset.z < D_80C0B0E8.y) && (offset.x > -240.0f) && (offset.x < D_80C0B0E4);
|
||||
}
|
||||
@ -94,7 +94,7 @@ s32 func_80C0A95C(BgIkninSusceil* this, GlobalContext* globalCtx) {
|
||||
Vec3f offset;
|
||||
f32 temp1, temp2, temp3, temp4;
|
||||
|
||||
Actor_CalcOffsetOrientedToDrawRotation(&this->dyna.actor, &offset, &player->actor.world.pos);
|
||||
Actor_OffsetOfPointInActorCoords(&this->dyna.actor, &offset, &player->actor.world.pos);
|
||||
for (i = 0; i < 7; i++) {
|
||||
temp3 = (D_80C0B0F0[i] * 80.0f) + 0.5f;
|
||||
temp4 = (D_80C0B0F0[i] * 80.0f) + 79.5f;
|
||||
@ -155,8 +155,8 @@ void func_80C0ABA8(BgIkninSusceil* this, GlobalContext* globalCtx) {
|
||||
this->dyna.actor.world.pos.y += this->dyna.actor.velocity.y;
|
||||
if (this->dyna.actor.world.pos.y <= this->dyna.actor.home.pos.y) {
|
||||
func_80C0A86C(this, globalCtx, 4, 14, 1);
|
||||
Actor_UnsetSwitchFlag(globalCtx, GET_SUSCEIL_SWITCHFLAG(this));
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BIGWALL_BOUND);
|
||||
Flags_UnsetSwitch(globalCtx, GET_SUSCEIL_SWITCHFLAG(this));
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_BIGWALL_BOUND);
|
||||
func_80C0AC74(this);
|
||||
} else {
|
||||
func_800B9010(&this->dyna.actor, NA_SE_EV_ICE_PILLAR_FALL - SFX_FLAG);
|
||||
@ -229,7 +229,7 @@ void BgIkninSusceil_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
if ((this->unk168 == 0) && (this->unk166 > 0) && (player->stateFlags3 & 0x100) && (player->unk_B48 > 1000.0f)) {
|
||||
this->unk168 = 2;
|
||||
if ((func_80C0A95C(this, globalCtx) != 0) && (this->actionFunc != func_80C0AE5C)) {
|
||||
func_800B8E58(&player->actor, NA_SE_PL_BODY_HIT);
|
||||
func_800B8E58(player, NA_SE_PL_BODY_HIT);
|
||||
func_80C0AE3C(this);
|
||||
}
|
||||
}
|
||||
@ -260,5 +260,5 @@ void BgIkninSusceil_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgIkninSusceil* this = THIS;
|
||||
|
||||
AnimatedMat_Draw(globalCtx, this->animatedTexture);
|
||||
func_800BDFC0(globalCtx, D_0600C308);
|
||||
Gfx_DrawDListOpa(globalCtx, D_0600C308);
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ void BgIknvObj_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
Collider_UpdateCylinder(&this->dyna.actor, &this->collider);
|
||||
this->dyna.actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
gSaveContext.weekEventReg[51] &= (u8)~0x10;
|
||||
Actor_SetHeight(&this->dyna.actor, IREG(88));
|
||||
Actor_SetFocus(&this->dyna.actor, IREG(88));
|
||||
break;
|
||||
default:
|
||||
Actor_MarkForDeath(&this->dyna.actor);
|
||||
@ -154,7 +154,7 @@ s32 func_80BD7E0C(BgIknvObj* this, s16 targetRotation, GlobalContext* globalCtx)
|
||||
func_800B9010(&this->dyna.actor, NA_SE_EV_STONEDOOR_OPEN_S - SFX_FLAG);
|
||||
return false;
|
||||
}
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_STONEDOOR_STOP);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_STONEDOOR_STOP);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -71,11 +71,11 @@ void BgInibsMovebg_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
dl1 = this->unk_15C;
|
||||
if (dl1 != NULL) {
|
||||
func_800BDFC0(globalCtx, this->unk_15C);
|
||||
Gfx_DrawDListOpa(globalCtx, this->unk_15C);
|
||||
}
|
||||
|
||||
dl2 = this->unk_160;
|
||||
if (dl2 != NULL) {
|
||||
func_800BE03C(globalCtx, this->unk_160);
|
||||
Gfx_DrawDListXlu(globalCtx, this->unk_160);
|
||||
}
|
||||
}
|
||||
|
@ -228,7 +228,7 @@ void BgKin2Fence_SetupPlayOpenCutscene(BgKin2Fence* this) {
|
||||
void BgKin2Fence_PlayOpenCutscene(BgKin2Fence* this, GlobalContext* globalCtx) {
|
||||
if (ActorCutscene_GetCanPlayNext(this->dyna.actor.cutscene)) {
|
||||
ActorCutscene_StartAndSetUnkLinkFields(this->dyna.actor.cutscene, &this->dyna.actor);
|
||||
Actor_SetSwitchFlag(globalCtx, this->dyna.actor.params & 0x7F);
|
||||
Flags_SetSwitch(globalCtx, this->dyna.actor.params & 0x7F);
|
||||
BgKin2Fence_SetupWaitBeforeOpen(this);
|
||||
return;
|
||||
}
|
||||
@ -272,5 +272,5 @@ void BgKin2Fence_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void BgKin2Fence_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_800BDFC0(globalCtx, D_06000828);
|
||||
Gfx_DrawDListOpa(globalCtx, D_06000828);
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ static ColliderTrisInit D_80B6FA08 = {
|
||||
// static InitChainEntry sInitChain[] = {
|
||||
static InitChainEntry D_80B6FA24[] = {
|
||||
ICHAIN_F32_DIV1000(gravity, -2000, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32_DIV1000(minVelocityY, -20000, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32_DIV1000(terminalVelocity, -20000, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneScale, 100, ICHAIN_CONTINUE),
|
||||
ICHAIN_F32(uncullZoneDownward, 100, ICHAIN_CONTINUE),
|
||||
|
@ -110,7 +110,7 @@ void BgLadder_ActionStartCutscene(BgLadder* this, GlobalContext* globalCtx) {
|
||||
if (ActorCutscene_GetCanPlayNext(this->dyna.actor.cutscene)) {
|
||||
ActorCutscene_StartAndSetUnkLinkFields(this->dyna.actor.cutscene, &this->dyna.actor);
|
||||
this->dyna.actor.draw = BgLadder_Draw;
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_SECRET_LADDER_APPEAR);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_SECRET_LADDER_APPEAR);
|
||||
this->action = BgLadder_ActionFadeIn;
|
||||
} else {
|
||||
ActorCutscene_SetIntentToPlay(this->dyna.actor.cutscene);
|
||||
|
@ -47,5 +47,5 @@ void BgLbfshot_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
|
||||
}
|
||||
void BgLbfshot_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_800BDFC0(globalCtx, D_06000228);
|
||||
Gfx_DrawDListOpa(globalCtx, D_06000228);
|
||||
}
|
||||
|
@ -173,5 +173,5 @@ void BgLotus_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void BgLotus_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_800BDFC0(globalCtx, D_06000040);
|
||||
Gfx_DrawDListOpa(globalCtx, D_06000040);
|
||||
}
|
||||
|
@ -41,6 +41,6 @@ void BgMarketStep_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
void BgMarketStep_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 index = thisx->params & 1;
|
||||
|
||||
func_800BDFC0(globalCtx, D_80AF0120[index]);
|
||||
func_800BDFC0(globalCtx, D_80AF0128[index]);
|
||||
Gfx_DrawDListOpa(globalCtx, D_80AF0120[index]);
|
||||
Gfx_DrawDListOpa(globalCtx, D_80AF0128[index]);
|
||||
}
|
||||
|
@ -55,5 +55,5 @@ void BgMbarChair_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void BgMbarChair_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_800BDFC0(globalCtx, D_06000288);
|
||||
Gfx_DrawDListOpa(globalCtx, D_06000288);
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ void BgTobira01_Open(BgTobira01* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (this->timer != prevTimer) {
|
||||
if (1) {}
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_STONEDOOR_OPEN_S - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_STONEDOOR_OPEN_S - SFX_FLAG);
|
||||
this->dyna.actor.world.pos.y = (this->yOffset = (this->timer * (5.0f / 3.0f)) + this->dyna.actor.home.pos.y);
|
||||
this->timer2 = 180;
|
||||
}
|
||||
|
@ -740,8 +740,8 @@ void func_809DAB78(Boss02* this, GlobalContext* globalCtx) {
|
||||
this->actor.speedXZ = this->unk_01A8 * D_809DF5B0;
|
||||
}
|
||||
|
||||
Actor_SetVelocityXYRotation(&this->actor);
|
||||
Actor_ApplyMovement(&this->actor);
|
||||
Actor_UpdateVelocityWithoutGravity(&this->actor);
|
||||
Actor_UpdatePos(&this->actor);
|
||||
|
||||
spD0 = this->actor.world.pos;
|
||||
if (D_809E0422 != 0) {
|
||||
@ -756,7 +756,7 @@ void func_809DAB78(Boss02* this, GlobalContext* globalCtx) {
|
||||
this->unk_0170 = this->unk_017C;
|
||||
this->unk_0170.y = temp_f0;
|
||||
this->unk_016C = 120;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_INBOSS_ROAR_OLD);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_INBOSS_ROAR_OLD);
|
||||
}
|
||||
|
||||
this->actor.flags &= ~1;
|
||||
@ -965,7 +965,7 @@ void func_809DAB78(Boss02* this, GlobalContext* globalCtx) {
|
||||
D_809E042C->unk_1D5C = 0.0f;
|
||||
play_sound(NA_SE_EN_INBOSS_DEAD_PRE2_OLD);
|
||||
} else if (!(this->unk_0146[1] & 0xF) && (Rand_ZeroOne() < 0.5f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_INBOSS_DAMAGE_OLD);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_INBOSS_DAMAGE_OLD);
|
||||
}
|
||||
return;
|
||||
|
||||
@ -987,7 +987,7 @@ void func_809DAB78(Boss02* this, GlobalContext* globalCtx) {
|
||||
this->unk_0144 = 22;
|
||||
this->actor.gravity = -1.0f * D_809DF5B0;
|
||||
this->actor.velocity.y = 0.0f;
|
||||
this->actor.minVelocityY = -1000.0f * D_809DF5B0;
|
||||
this->actor.terminalVelocity = -1000.0f * D_809DF5B0;
|
||||
this->unk_0164 = randPlusMinusPoint5Scaled(0.05f);
|
||||
|
||||
spCC = player->actor.world.pos.x - this->actor.world.pos.x;
|
||||
@ -1006,7 +1006,7 @@ void func_809DAB78(Boss02* this, GlobalContext* globalCtx) {
|
||||
Audio_QueueSeqCmd(NA_BGM_CLEAR_BOSS | 0x8000);
|
||||
}
|
||||
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_INBOSS_DEAD_OLD);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_INBOSS_DEAD_OLD);
|
||||
}
|
||||
}
|
||||
return;
|
||||
@ -1017,7 +1017,7 @@ void func_809DAB78(Boss02* this, GlobalContext* globalCtx) {
|
||||
Math_Vec3f_Copy(&this->unk_01BC[i], &this->actor.world.pos);
|
||||
this->unk_0B1C[i].y += this->unk_0164;
|
||||
Math_ApproachF(&this->unk_0B1C[i].x, -(M_PI / 2), 0.1f, 0.07f);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 50.0f, 150.0f, 100.0f, 4);
|
||||
|
||||
if (this->actor.bgCheckFlags & 1) {
|
||||
@ -1100,7 +1100,7 @@ void func_809DBFB4(Boss02* this, GlobalContext* globalCtx) {
|
||||
this->unk_0156 = 15;
|
||||
|
||||
if (i == 0) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_INBOSS_DAMAGE_OLD);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_INBOSS_DAMAGE_OLD);
|
||||
this->unk_015C = 1;
|
||||
} else {
|
||||
func_8019F1C0(&this->unk_167C, NA_SE_EN_INBOSS_DAMAGE_OLD);
|
||||
@ -1227,9 +1227,9 @@ void Boss02_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
if (this->unk_016C != 0) {
|
||||
if ((this->unk_016C == 60) && (this->unk_0144 < 20)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_INBOSS_ROAR_OLD);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_INBOSS_ROAR_OLD);
|
||||
}
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_INBOSS_SAND_OLD - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_INBOSS_SAND_OLD - SFX_FLAG);
|
||||
|
||||
if (this->unk_0144 > 20) {
|
||||
sp3C.x = randPlusMinusPoint5Scaled(100.0f * D_809DF5B0) + this->unk_0170.x;
|
||||
@ -1959,7 +1959,7 @@ void func_809DD934(Boss02* this, GlobalContext* globalCtx) {
|
||||
player->actor.home.pos = player->actor.world.pos;
|
||||
player->actor.prevPos = player->actor.world.pos;
|
||||
|
||||
temp_a0_5 = globalCtx->actorCtx.actorList[ACTORCAT_BG].first;
|
||||
temp_a0_5 = globalCtx->actorCtx.actorLists[ACTORCAT_BG].first;
|
||||
while (temp_a0_5 != NULL) {
|
||||
if (temp_a0_5->id == ACTOR_BG_INIBS_MOVEBG) {
|
||||
Actor_MarkForDeath(temp_a0_5);
|
||||
@ -1971,7 +1971,7 @@ void func_809DD934(Boss02* this, GlobalContext* globalCtx) {
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_BG_INIBS_MOVEBG, 0, D_809E0422 ? 3150.0f : 0.0f, 0, 0, 0, 0,
|
||||
D_809E0422);
|
||||
|
||||
temp_a0_5 = globalCtx->actorCtx.actorList[ACTORCAT_BOSS].first;
|
||||
temp_a0_5 = globalCtx->actorCtx.actorLists[ACTORCAT_BOSS].first;
|
||||
while (temp_a0_5 != NULL) {
|
||||
if ((temp_a0_5->id == ACTOR_EN_TANRON5) || (temp_a0_5->id == ACTOR_ITEM_B_HEART)) {
|
||||
if (D_809E0422 == 0) {
|
||||
@ -2002,7 +2002,7 @@ void func_809DD934(Boss02* this, GlobalContext* globalCtx) {
|
||||
temp_a0_5->velocity.z *= phi_f0_2;
|
||||
|
||||
temp_a0_5->gravity *= phi_f0_2;
|
||||
temp_a0_5->minVelocityY *= phi_f0_2;
|
||||
temp_a0_5->terminalVelocity *= phi_f0_2;
|
||||
|
||||
temp_a0_5->scale.x *= phi_f0_2;
|
||||
temp_a0_5->scale.y *= phi_f0_2;
|
||||
@ -2109,11 +2109,11 @@ void func_809DEAC4(Boss02* this, GlobalContext* globalCtx) {
|
||||
player->actor.shape.rot.y = -0x8000;
|
||||
player->actor.world.rot.y = player->actor.shape.rot.y;
|
||||
this->unk_1D24.x = player->actor.world.pos.x - 20.0f;
|
||||
this->unk_1D24.y = (func_800B6FC8(player) + player->actor.world.pos.y) - 29.0f;
|
||||
this->unk_1D24.y = (Player_GetHeight(player) + player->actor.world.pos.y) - 29.0f;
|
||||
this->unk_1D24.z = player->actor.world.pos.z - 50;
|
||||
|
||||
this->unk_1D30.x = player->actor.world.pos.x;
|
||||
this->unk_1D30.y = (func_800B6FC8(player) + player->actor.world.pos.y) - 17.0f;
|
||||
this->unk_1D30.y = (Player_GetHeight(player) + player->actor.world.pos.y) - 17.0f;
|
||||
this->unk_1D30.z = player->actor.world.pos.z;
|
||||
if (this->unk_1D1C >= 30) {
|
||||
if (this->unk_1D1C == 30) {
|
||||
@ -2177,8 +2177,8 @@ void func_809DEAC4(Boss02* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (this->unk_1D1C == (u32)(KREG(92) + 125)) {
|
||||
Actor_TitleCardCreate(globalCtx, &globalCtx->actorCtx.titleCtxt, Lib_SegmentedToVirtual(&D_06008650),
|
||||
160, 180, 128, 40);
|
||||
TitleCard_InitBossName(&globalCtx->state, &globalCtx->actorCtx.titleCtxt,
|
||||
Lib_SegmentedToVirtual(&D_06008650), 160, 180, 128, 40);
|
||||
}
|
||||
|
||||
if (this->unk_1D1C == (u32)(BREG(27) + 335)) {
|
||||
|
@ -156,7 +156,7 @@ void Boss04_Init(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
s16 phi_s0_2;
|
||||
s32 pad;
|
||||
|
||||
if (Actor_GetRoomCleared(globalCtx, globalCtx->roomCtx.currRoom.num)) {
|
||||
if (Flags_GetClear(globalCtx, globalCtx->roomCtx.currRoom.num)) {
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
return;
|
||||
}
|
||||
@ -274,7 +274,7 @@ void func_809EC568(Boss04* this, GlobalContext* globalCtx) {
|
||||
func_8016566C(150);
|
||||
this->unk_744 = 60.0f;
|
||||
|
||||
boss = globalCtx->actorCtx.actorList[ACTORCAT_BOSS].first;
|
||||
boss = globalCtx->actorCtx.actorLists[ACTORCAT_BOSS].first;
|
||||
while (boss != NULL) {
|
||||
if (boss->id == ACTOR_EN_WATER_EFFECT) {
|
||||
Actor_MarkForDeath(boss);
|
||||
@ -289,7 +289,7 @@ void func_809EC568(Boss04* this, GlobalContext* globalCtx) {
|
||||
|
||||
case 10:
|
||||
if (this->unk_704 == 3) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_EYEGOLE_DEMO_EYE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_EYEGOLE_DEMO_EYE);
|
||||
this->unk_74A = 1;
|
||||
}
|
||||
this->unk_2D0 = 10000.0f;
|
||||
@ -319,7 +319,7 @@ void func_809EC568(Boss04* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
case 12:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_ME_ATTACK - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_ME_ATTACK - SFX_FLAG);
|
||||
Math_ApproachF(&this->unk_718.x, this->actor.world.pos.x, 0.5f, 1000.0f);
|
||||
Math_ApproachF(&this->unk_718.y, this->actor.world.pos.y, 0.5f, 1000.0f);
|
||||
Math_ApproachF(&this->unk_718.z, this->actor.world.pos.z, 0.5f, 1000.0f);
|
||||
@ -331,7 +331,7 @@ void func_809EC568(Boss04* this, GlobalContext* globalCtx) {
|
||||
this->unk_2DA = 10;
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_CLEAR_TAG, this->actor.world.pos.x,
|
||||
this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, CLEAR_TAG_SPLASH);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_KONB_JUMP_LEV_OLD - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_KONB_JUMP_LEV_OLD - SFX_FLAG);
|
||||
this->unk_748 = 20;
|
||||
}
|
||||
break;
|
||||
@ -342,11 +342,11 @@ void func_809EC568(Boss04* this, GlobalContext* globalCtx) {
|
||||
Matrix_GetStateTranslationAndScaledZ(-100.0f, &this->unk_70C);
|
||||
|
||||
this->unk_70C.x += player->actor.world.pos.x;
|
||||
this->unk_70C.y = func_800B6FC8(player) + player->actor.world.pos.y + 36.0f;
|
||||
this->unk_70C.y = Player_GetHeight(player) + player->actor.world.pos.y + 36.0f;
|
||||
this->unk_70C.z += player->actor.world.pos.z;
|
||||
|
||||
this->unk_718.x = player->actor.world.pos.x;
|
||||
this->unk_718.y = (func_800B6FC8(player) + player->actor.world.pos.y) - 4.0f;
|
||||
this->unk_718.y = (Player_GetHeight(player) + player->actor.world.pos.y) - 4.0f;
|
||||
this->unk_718.z = player->actor.world.pos.z;
|
||||
|
||||
if (this->unk_704 >= 35) {
|
||||
@ -501,7 +501,7 @@ void func_809ECF58(Boss04* this, GlobalContext* globalCtx) {
|
||||
sp3C.y = this->actor.floorHeight + 2.0f;
|
||||
sp3C.z = this->actor.world.pos.z;
|
||||
EffectSsGRipple_Spawn(globalCtx, &sp3C, 1400, 500, 0);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_ME_ATTACK - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_ME_ATTACK - SFX_FLAG);
|
||||
}
|
||||
}
|
||||
|
||||
@ -520,7 +520,7 @@ void func_809ED224(Boss04* this) {
|
||||
this->actor.speedXZ = 0.0f;
|
||||
this->unk_2D0 = 10000.0f;
|
||||
this->unk_2C8 = 200;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_ME_DEAD);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_ME_DEAD);
|
||||
this->actor.flags &= ~1;
|
||||
func_801A2ED8();
|
||||
this->unk_1F6 = 10;
|
||||
@ -569,7 +569,7 @@ void func_809ED45C(Boss04* this, GlobalContext* globalCtx) {
|
||||
|
||||
if ((this->unk_1FE == 0) && (this->collider1.elements[0].info.bumperFlags & BUMP_HIT)) {
|
||||
this->collider1.elements[0].info.bumperFlags &= ~BUMP_HIT;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_ME_DAMAGE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_ME_DAMAGE);
|
||||
damage = this->actor.colChkInfo.damage;
|
||||
this->actor.colChkInfo.health = this->actor.colChkInfo.health - damage;
|
||||
if ((s8)this->actor.colChkInfo.health <= 0) {
|
||||
@ -706,7 +706,7 @@ void Boss04_Update(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
this->actor.world.pos.y -= 100.0f;
|
||||
this->actor.prevPos.y -= 100.0f;
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 100.0f, 120.0f, 200.0f, 5);
|
||||
@ -765,7 +765,7 @@ void Boss04_Update(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
}
|
||||
|
||||
if (this->unk_74A != 0) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_ME_EXIST - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_ME_EXIST - SFX_FLAG);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -53,8 +53,8 @@ void DmSa_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
this->unk2E0 = 0;
|
||||
this->alpha = 0xFF;
|
||||
this->actor.targetArrowOffset = 3000.0f;
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 24.0f);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06013328, NULL, 0, 0, 0);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 24.0f);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06013328, NULL, NULL, NULL, 0);
|
||||
func_80A2E960(&this->skelAnime, D_80A2ED00, 0);
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
this->actionFunc = DmSa_DoNothing;
|
||||
|
@ -44,5 +44,5 @@ void DmStatue_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
void DmStatue_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
AnimatedMat_Draw(globalCtx, Lib_SegmentedToVirtual(&D_06001788));
|
||||
func_800BE03C(globalCtx, D_06000520);
|
||||
Gfx_DrawDListXlu(globalCtx, D_06000520);
|
||||
}
|
||||
|
@ -260,7 +260,7 @@ void func_80A9FE3C(DmStk* this, GlobalContext* globalCtx, SkelAnime* skelAnime,
|
||||
void func_80A9FED8(DmStk* this, GlobalContext* globalCtx) {
|
||||
switch (globalCtx->csCtx.frames + 20) {
|
||||
case 1195:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_APPEAR);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_APPEAR);
|
||||
break;
|
||||
|
||||
case 1232:
|
||||
@ -268,48 +268,48 @@ void func_80A9FED8(DmStk* this, GlobalContext* globalCtx) {
|
||||
case 1252:
|
||||
case 1255:
|
||||
case 1257:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_SHAKEHEAD);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_SHAKEHEAD);
|
||||
break;
|
||||
|
||||
case 1285:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL03_LAUGH_BIG);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL03_LAUGH_BIG);
|
||||
break;
|
||||
|
||||
case 1343:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
break;
|
||||
|
||||
case 1410:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_MASK_ON);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_MASK_ON);
|
||||
break;
|
||||
|
||||
case 1603:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_WALK);
|
||||
break;
|
||||
|
||||
case 1610:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_REVERSE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_REVERSE);
|
||||
break;
|
||||
|
||||
case 2095:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_SURPRISED);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_SURPRISED);
|
||||
break;
|
||||
|
||||
case 2190:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_JUMP);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_JUMP);
|
||||
break;
|
||||
|
||||
case 2212:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_ONGND);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_ONGND);
|
||||
break;
|
||||
|
||||
case 2214:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL02_LAUGH_SHORT);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL02_LAUGH_SHORT);
|
||||
break;
|
||||
|
||||
case 2250:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL06_SURPRISED);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_DOWN_K);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL06_SURPRISED);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_DOWN_K);
|
||||
break;
|
||||
|
||||
case 2255:
|
||||
@ -338,7 +338,7 @@ void func_80A9FED8(DmStk* this, GlobalContext* globalCtx) {
|
||||
case 2508:
|
||||
case 2519:
|
||||
case 2530:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_RIDE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_RIDE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -368,11 +368,11 @@ void func_80AA0100(DmStk* this, GlobalContext* globalCtx) {
|
||||
case 232:
|
||||
case 243:
|
||||
case 254:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_RIDE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_RIDE);
|
||||
break;
|
||||
|
||||
case 173:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL03_LAUGH_BIG);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL03_LAUGH_BIG);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -380,15 +380,15 @@ void func_80AA0100(DmStk* this, GlobalContext* globalCtx) {
|
||||
void func_80AA0158(DmStk* this, GlobalContext* globalCtx) {
|
||||
switch (globalCtx->csCtx.frames) {
|
||||
case 18:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_GASAGOSO);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_GASAGOSO);
|
||||
break;
|
||||
|
||||
case 90:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_MASK_ON);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_MASK_ON);
|
||||
break;
|
||||
|
||||
case 142:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_EVIL_POWER);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_EVIL_POWER);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -405,11 +405,11 @@ void func_80AA01C0(DmStk* this, GlobalContext* globalCtx) {
|
||||
break;
|
||||
|
||||
case 560:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL02_LAUGH_SHORT);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL02_LAUGH_SHORT);
|
||||
break;
|
||||
|
||||
case 890:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL21_PSYCHO_VOICE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL21_PSYCHO_VOICE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -423,7 +423,7 @@ void func_80AA0264(DmStk* this, GlobalContext* globalCtx) {
|
||||
break;
|
||||
|
||||
case 71:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_BODY);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_BODY);
|
||||
break;
|
||||
|
||||
case 365:
|
||||
@ -435,30 +435,30 @@ void func_80AA0264(DmStk* this, GlobalContext* globalCtx) {
|
||||
break;
|
||||
|
||||
case 265:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL03_LAUGH_BIG);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL03_LAUGH_BIG);
|
||||
break;
|
||||
|
||||
case 126:
|
||||
Audio_PlayActorSound2(&player->actor, NA_SE_VO_DUMMY_150);
|
||||
Actor_PlaySfxAtPos(&player->actor, NA_SE_VO_DUMMY_150);
|
||||
break;
|
||||
|
||||
case 197:
|
||||
Audio_PlayActorSound2(&player->actor, NA_SE_VO_DUMMY_134);
|
||||
Actor_PlaySfxAtPos(&player->actor, NA_SE_VO_DUMMY_134);
|
||||
break;
|
||||
|
||||
case 207:
|
||||
Audio_PlayActorSound2(&player->actor, NA_SE_VO_DUMMY_135);
|
||||
Actor_PlaySfxAtPos(&player->actor, NA_SE_VO_DUMMY_135);
|
||||
break;
|
||||
|
||||
case 217:
|
||||
Audio_PlayActorSound2(&player->actor, NA_SE_VO_DUMMY_136);
|
||||
Actor_PlaySfxAtPos(&player->actor, NA_SE_VO_DUMMY_136);
|
||||
break;
|
||||
}
|
||||
|
||||
if (player) {}
|
||||
|
||||
if ((globalCtx->csCtx.frames >= 263) && (globalCtx->csCtx.frames < 698)) {
|
||||
Audio_PlayActorSound2(&player->actor, NA_SE_EN_STALKIDS_BODY_LEV - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&player->actor, NA_SE_EN_STALKIDS_BODY_LEV - SFX_FLAG);
|
||||
}
|
||||
}
|
||||
|
||||
@ -471,37 +471,37 @@ void func_80AA0420(DmStk* this, GlobalContext* globalCtx) {
|
||||
break;
|
||||
|
||||
case 258:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_TURN);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_TURN);
|
||||
break;
|
||||
|
||||
case 524:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_TURN);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL04_ANGER);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_TURN);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL04_ANGER);
|
||||
break;
|
||||
|
||||
case 534:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_ROLL);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_PO_ROLL);
|
||||
break;
|
||||
|
||||
case 678:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_STRETCH);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_STRETCH);
|
||||
break;
|
||||
}
|
||||
|
||||
if ((this->unk_2E0 == 31) && (globalCtx->csCtx.frames < 700)) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 5.0f) || Animation_OnFrame(&this->skelAnime, 25.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_OTEDAMA1);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_OTEDAMA1);
|
||||
} else if (Animation_OnFrame(&this->skelAnime, 17.0f) || Animation_OnFrame(&this->skelAnime, 40.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_OTEDAMA2);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_OTEDAMA2);
|
||||
}
|
||||
}
|
||||
|
||||
if (globalCtx->csCtx.frames >= 700) {
|
||||
if (D_80AA3CB8 < 128) {
|
||||
if ((D_80AA3CB8 & 0x1F) == 0) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL20_CALL_MOON);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL20_CALL_MOON);
|
||||
} else if ((D_80AA3CB8 & 0x1F) == 16) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL20_CALL_MOON2);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL20_CALL_MOON2);
|
||||
}
|
||||
D_80AA3CB8++;
|
||||
}
|
||||
@ -512,14 +512,14 @@ void func_80AA0420(DmStk* this, GlobalContext* globalCtx) {
|
||||
|
||||
void func_80AA05F0(DmStk* this, GlobalContext* globalCtx) {
|
||||
if (globalCtx->csCtx.frames == 3) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL06_SURPRISED);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_DOWN_K);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL06_SURPRISED);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_DOWN_K);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80AA0634(DmStk* this, GlobalContext* globalCtx) {
|
||||
if ((globalCtx->csCtx.frames >= 642) && (globalCtx->csCtx.frames < 845)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_NE_STAL23_COLD - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_NE_STAL23_COLD - SFX_FLAG);
|
||||
}
|
||||
}
|
||||
|
||||
@ -531,16 +531,16 @@ void func_80AA066C(DmStk* this, GlobalContext* globalCtx) {
|
||||
case 72:
|
||||
case 77:
|
||||
case 79:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_PL_WALK_WATER2);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_PL_WALK_WATER2);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_WALK);
|
||||
break;
|
||||
|
||||
case 186:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_UP);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_NUTS_UP);
|
||||
break;
|
||||
|
||||
case 230:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL22_LAUGH_KID_L);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL22_LAUGH_KID_L);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -552,7 +552,7 @@ void func_80AA071C(DmStk* this, GlobalContext* globalCtx) {
|
||||
break;
|
||||
|
||||
case 660:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_SHAKEHEAD);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_SHAKEHEAD);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -566,27 +566,27 @@ void func_80AA076C(DmStk* this, GlobalContext* globalCtx) {
|
||||
break;
|
||||
|
||||
case 45:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_RIDE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_RIDE);
|
||||
break;
|
||||
|
||||
case 93:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
break;
|
||||
|
||||
case 245:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_RIDE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_RIDE);
|
||||
break;
|
||||
|
||||
case 269:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL11_LAUGH_SHY2);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL11_LAUGH_SHY2);
|
||||
break;
|
||||
|
||||
case 327:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_SHAKEHEAD);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_SHAKEHEAD);
|
||||
break;
|
||||
|
||||
case 455:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_RIDE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_RIDE);
|
||||
break;
|
||||
|
||||
case 1730:
|
||||
@ -594,7 +594,7 @@ void func_80AA076C(DmStk* this, GlobalContext* globalCtx) {
|
||||
break;
|
||||
|
||||
case 1395:
|
||||
func_800B8E58(&player->actor, NA_SE_VO_DUMMY_34);
|
||||
func_800B8E58(player, NA_SE_VO_DUMMY_34);
|
||||
break;
|
||||
|
||||
case 1850:
|
||||
@ -608,20 +608,20 @@ void func_80AA076C(DmStk* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (this->unk_2E0 == 0) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 8.0f) || Animation_OnFrame(&this->skelAnime, 17.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
}
|
||||
|
||||
if (Animation_OnFrame(&this->skelAnime, 28.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_RIDE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_RIDE);
|
||||
}
|
||||
} else if (this->unk_2E0 == 71) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 2.0f) || Animation_OnFrame(&this->skelAnime, 6.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 12.0f) || Animation_OnFrame(&this->skelAnime, 18.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
}
|
||||
} else if ((this->unk_2E0 == 70) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 16.0f) || Animation_OnFrame(&this->skelAnime, 23.0f))) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_NOSE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_NOSE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -634,25 +634,25 @@ void func_80AA09DC(DmStk* this, GlobalContext* globalCtx) {
|
||||
break;
|
||||
|
||||
case 234:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_TURN);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL04_ANGER);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_TURN);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL04_ANGER);
|
||||
break;
|
||||
|
||||
case 244:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_ROLL);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_PO_ROLL);
|
||||
break;
|
||||
|
||||
case 388:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_STRETCH);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_STRETCH);
|
||||
break;
|
||||
}
|
||||
|
||||
if (globalCtx->csCtx.frames >= 408) {
|
||||
if (D_80AA3CBC < 128) {
|
||||
if ((D_80AA3CBC & 0x1F) == 0) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL20_CALL_MOON);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL20_CALL_MOON);
|
||||
} else if ((D_80AA3CBC & 0x1F) == 16) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL20_CALL_MOON2);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL20_CALL_MOON2);
|
||||
}
|
||||
D_80AA3CBC++;
|
||||
}
|
||||
@ -675,19 +675,19 @@ void func_80AA0B08(DmStk* this, GlobalContext* globalCtx) {
|
||||
case 332:
|
||||
case 335:
|
||||
case 344:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
break;
|
||||
|
||||
case 367:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_BODY_LEV);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_BODY_LEV);
|
||||
break;
|
||||
|
||||
case 470:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_HEADACHE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_HEADACHE);
|
||||
break;
|
||||
|
||||
case 486:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
func_8019F1C0(&this->unk_310, NA_SE_EN_STAL08_CRY_BIG);
|
||||
break;
|
||||
|
||||
@ -696,11 +696,11 @@ void func_80AA0B08(DmStk* this, GlobalContext* globalCtx) {
|
||||
break;
|
||||
|
||||
case 590:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
break;
|
||||
|
||||
case 592:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_RIDE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_RIDE);
|
||||
break;
|
||||
|
||||
case 594:
|
||||
@ -712,16 +712,16 @@ void func_80AA0B08(DmStk* this, GlobalContext* globalCtx) {
|
||||
|
||||
if ((globalCtx->csCtx.frames >= 62) && (globalCtx->csCtx.frames < 273)) {
|
||||
if ((Rand_ZeroOne() < 0.75f) && ((globalCtx->state.frames % 2) != 0)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_EARTHQUAKE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_EARTHQUAKE);
|
||||
}
|
||||
}
|
||||
|
||||
if ((globalCtx->csCtx.frames >= 498) && (globalCtx->csCtx.frames < 577)) {
|
||||
if ((globalCtx->state.frames % 4) == 0) {
|
||||
if ((globalCtx->state.frames & 4) != 0) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_BODY_LEV);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_BODY_LEV);
|
||||
} else {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -734,16 +734,16 @@ void func_80AA0B08(DmStk* this, GlobalContext* globalCtx) {
|
||||
void func_80AA0DA8(DmStk* this, GlobalContext* globalCtx) {
|
||||
switch (globalCtx->csCtx.frames) {
|
||||
case 551:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_PULLED);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_PULLED);
|
||||
break;
|
||||
|
||||
case 711:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
break;
|
||||
|
||||
case 716:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_MASK_ON);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_ONGND);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_MASK_ON);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_ONGND);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -751,16 +751,16 @@ void func_80AA0DA8(DmStk* this, GlobalContext* globalCtx) {
|
||||
void func_80AA0E1C(DmStk* this, GlobalContext* globalCtx) {
|
||||
switch (globalCtx->csCtx.frames) {
|
||||
case 311:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_PULLED);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_PULLED);
|
||||
break;
|
||||
|
||||
case 365:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_MASK_OFF);
|
||||
break;
|
||||
|
||||
case 372:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_MASK_ON);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_ONGND);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_MASK_ON);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_ONGND);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -834,24 +834,24 @@ void func_80AA0E90(DmStk* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (this->unk_2E0 == 1) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 2.0f) || Animation_OnFrame(&this->skelAnime, 6.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_WALK);
|
||||
}
|
||||
} else if (this->unk_2E0 == 19) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 0.0f) || Animation_OnFrame(&this->skelAnime, 13.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 20.0f) || Animation_OnFrame(&this->skelAnime, 27.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_PL_CALM_HIT);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_PL_CALM_HIT);
|
||||
}
|
||||
} else if (this->unk_2E0 == 14) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 3.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_PL_PUT_OUT_ITEM);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_PL_PUT_OUT_ITEM);
|
||||
}
|
||||
} else if (this->unk_2E0 == 15) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 14.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_UNSKILLFUL_OCARINA);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_UNSKILLFUL_OCARINA);
|
||||
}
|
||||
|
||||
if (Animation_OnFrame(&this->skelAnime, 45.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL01_LAUGH);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STAL01_LAUGH);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -964,7 +964,7 @@ void DmStk_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
this->unk_2E4 = this->unk_2E4;
|
||||
this->actor.targetArrowOffset = 1100.0f;
|
||||
this->unk_334 = 99;
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 24.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 24.0f);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06013328, NULL, NULL, NULL, 0);
|
||||
func_80A9FE3C(this, globalCtx, &this->skelAnime, &sAnimations[this->unk_2E0], 0);
|
||||
}
|
||||
@ -1062,7 +1062,7 @@ void func_80AA19EC(DmStk* this, GlobalContext* globalCtx) {
|
||||
|
||||
void func_80AA1A50(DmStk* this, GlobalContext* globalCtx) {
|
||||
if (ActorCutscene_GetCanPlayNext(0xA)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_DAMAGE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_DAMAGE);
|
||||
ActorCutscene_Start(0xA, &this->actor);
|
||||
this->actor.shape.rot.x = 0;
|
||||
this->actor.world.rot.x = this->actor.shape.rot.x;
|
||||
@ -1109,7 +1109,7 @@ void func_80AA1B9C(DmStk* this, GlobalContext* globalCtx) {
|
||||
|
||||
this->unk_2E0 = 39;
|
||||
func_80A9FE3C(this, globalCtx, &this->skelAnime, &sAnimations[this->unk_2E0], 0);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_DOWN_K);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_DOWN_K);
|
||||
this->actionFunc = func_80AA1C64;
|
||||
}
|
||||
|
||||
@ -1568,9 +1568,9 @@ void DmStk_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
if (this->actor.params != 1) {
|
||||
if (this->unk_2E0 == 33) {
|
||||
Actor_SetHeight(&this->actor, 40.0f);
|
||||
Actor_SetFocus(&this->actor, 40.0f);
|
||||
} else {
|
||||
Actor_SetHeight(&this->actor, 6.0f);
|
||||
Actor_SetFocus(&this->actor, 6.0f);
|
||||
}
|
||||
|
||||
func_80A9FDB0(this, globalCtx);
|
||||
@ -1592,7 +1592,7 @@ void DmStk_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
switch (this->unk_33A) {
|
||||
case 1:
|
||||
if (func_800B8718(&this->actor, globalCtx)) {
|
||||
if (func_800B8718(&this->actor, &globalCtx->state)) {
|
||||
this->unk_33A = 2;
|
||||
} else {
|
||||
func_800B874C(&this->actor, globalCtx, this->actor.xzDistToPlayer,
|
||||
@ -1719,7 +1719,7 @@ void DmStk_PostLimbDraw2(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, V
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, globalCtx->objectCtx.status[this->unk_337].segment);
|
||||
|
||||
AnimatedMat_Draw(globalCtx, Lib_SegmentedToVirtual(&D_06008658));
|
||||
func_800BDFC0(globalCtx, D_06007840);
|
||||
Gfx_DrawDListOpa(globalCtx, D_06007840);
|
||||
gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[this->unk_336].segment);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x06, globalCtx->objectCtx.status[this->unk_336].segment);
|
||||
@ -1829,7 +1829,7 @@ void DmStk_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
if (this->unk_33B != 0) {
|
||||
if (this->actor.params == 1) {
|
||||
func_800BDFC0(globalCtx, D_06006BB0);
|
||||
Gfx_DrawDListOpa(globalCtx, D_06006BB0);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -208,5 +208,5 @@ void DoorAna_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void DoorAna_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_800BE03C(globalCtx, D_05000C40);
|
||||
Gfx_DrawDListXlu(globalCtx, D_05000C40);
|
||||
}
|
||||
|
@ -205,7 +205,7 @@ void DoorSpiral_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
DoorSpiral_SetupAction(this, DoorSpiral_WaitForObject);
|
||||
Actor_SetHeight(&this->actor, 60.0f);
|
||||
Actor_SetFocus(&this->actor, 60.0f);
|
||||
}
|
||||
|
||||
void DoorSpiral_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
@ -237,7 +237,7 @@ f32 DoorSpiral_GetDistFromPlayer(GlobalContext* globalCtx, DoorSpiral* this, f32
|
||||
target.y = player->actor.world.pos.y + yOffset;
|
||||
target.z = player->actor.world.pos.z;
|
||||
|
||||
Actor_CalcOffsetOrientedToDrawRotation(&this->actor, &offset, &target);
|
||||
Actor_OffsetOfPointInActorCoords(&this->actor, &offset, &target);
|
||||
|
||||
if ((spiralWidth < fabsf(offset.x)) || (spiralHeight < fabsf(offset.y))) {
|
||||
return FLT_MAX;
|
||||
@ -252,7 +252,7 @@ f32 DoorSpiral_GetDistFromPlayer(GlobalContext* globalCtx, DoorSpiral* this, f32
|
||||
s32 DoorSpiral_PlayerShouldClimb(DoorSpiral* this, GlobalContext* globalCtx) {
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
|
||||
if (!(func_801233E4(globalCtx))) {
|
||||
if (!Player_InCsMode(&globalCtx->state)) {
|
||||
SpiralInfo* spiralInfo = &sSpiralInfo[this->spiralType];
|
||||
f32 dist =
|
||||
DoorSpiral_GetDistFromPlayer(globalCtx, this, 0.0f, spiralInfo->spiralWidth, spiralInfo->spiralHeight);
|
||||
|
@ -327,7 +327,7 @@ void func_808B90CC(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
DoorWarp1_SetupAction(this, func_808B921C);
|
||||
}
|
||||
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_WARP_HOLE_ENERGY - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_WARP_HOLE_ENERGY - SFX_FLAG);
|
||||
}
|
||||
|
||||
void func_808B921C(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
@ -348,14 +348,14 @@ void func_808B921C(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
DoorWarp1_SetupAction(this, func_808B93A0);
|
||||
}
|
||||
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BOSS_WARP_HOLE - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_BOSS_WARP_HOLE - SFX_FLAG);
|
||||
}
|
||||
|
||||
void func_808B93A0(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 4) && func_80147624(globalCtx)) {
|
||||
if (Message_GetState(&globalCtx->msgCtx) == 4 && func_80147624(globalCtx)) {
|
||||
func_801477B4(globalCtx);
|
||||
if (globalCtx->msgCtx.choiceIndex == 0) {
|
||||
func_8019F208();
|
||||
@ -371,7 +371,7 @@ void func_808B93A0(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
func_808BB8D4(this, globalCtx, 1);
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BOSS_WARP_HOLE - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_BOSS_WARP_HOLE - SFX_FLAG);
|
||||
}
|
||||
|
||||
void func_808B94A4(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
@ -379,7 +379,7 @@ void func_808B94A4(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
DoorWarp1_SetupAction(this, func_808B921C);
|
||||
}
|
||||
func_808BB8D4(this, globalCtx, 1);
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BOSS_WARP_HOLE - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_BOSS_WARP_HOLE - SFX_FLAG);
|
||||
}
|
||||
|
||||
void func_808B9524(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
@ -414,14 +414,14 @@ void func_808B958C(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
Math_SmoothStepToF(&this->unk_1A8, 6.0f, 0.2f, 0.02f, 0.01f);
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_LINK_WARP - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_LINK_WARP - SFX_FLAG);
|
||||
}
|
||||
|
||||
void func_808B96A0(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_808B96B0(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_WARP_HOLE - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_WARP_HOLE - SFX_FLAG);
|
||||
Math_SmoothStepToF(&this->unk_1B0, 255.0f, 0.4f, 10.0f, 0.01f);
|
||||
Math_SmoothStepToF(&this->unk_1B4, 255.0f, 0.4f, 10.0f, 0.01f);
|
||||
|
||||
@ -441,11 +441,11 @@ void func_808B96B0(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_808B977C(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_WARP_HOLE - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_WARP_HOLE - SFX_FLAG);
|
||||
if (func_808B866C(this, globalCtx) && !func_801690CC(globalCtx)) {
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
|
||||
func_801A5CFC(NA_SE_EV_LINK_WARP, &player->actor.projectedPos, 4, &D_801DB4B0, &D_801DB4B0, &D_801DB4B8);
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_LINK_WARP, &player->actor.projectedPos, 4, &D_801DB4B0, &D_801DB4B0, &D_801DB4B8);
|
||||
func_800B7298(globalCtx, &this->dyna.actor, 9);
|
||||
player->unk_3A0.x = this->dyna.actor.world.pos.x;
|
||||
player->unk_3A0.z = this->dyna.actor.world.pos.z;
|
||||
@ -514,7 +514,7 @@ void func_808B9B30(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_808B9BE8(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_WARP_HOLE - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_WARP_HOLE - SFX_FLAG);
|
||||
Math_SmoothStepToF(&this->unk_1B0, 255.0f, 0.2f, 2.0f, 0.1f);
|
||||
Math_SmoothStepToF(&this->unk_1B4, 255.0f, 0.2f, 2.0f, 0.1f);
|
||||
if (this->unk_1C4 < 10) {
|
||||
@ -546,7 +546,7 @@ void func_808B9CE8(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (!Actor_HasParent(&this->dyna.actor, globalCtx)) {
|
||||
func_800B8A1C(&this->dyna.actor, globalCtx, func_808B849C(this, globalCtx) + 84, 30.0f, 80.0f);
|
||||
Actor_PickUp(&this->dyna.actor, globalCtx, func_808B849C(this, globalCtx) + 84, 30.0f, 80.0f);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -579,7 +579,7 @@ void func_808B9CE8(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_808B9E94(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
if (func_80152498(&globalCtx->msgCtx) == 2) {
|
||||
if (Message_GetState(&globalCtx->msgCtx) == 2) {
|
||||
this->unk_1CE = 110;
|
||||
DoorWarp1_SetupAction(this, func_808B9ED8);
|
||||
}
|
||||
@ -593,7 +593,7 @@ void func_808B9ED8(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_808B9F10(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_WARP_HOLE - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_WARP_HOLE - SFX_FLAG);
|
||||
if ((this->unk_203 == 0) && func_808B866C(this, globalCtx) && !func_801690CC(globalCtx) && (this->unk_203 == 0)) {
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
|
||||
@ -619,7 +619,7 @@ void func_808B9FD0(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
ActorCutscene_SetIntentToPlay(globalCtx->unk_1879C[9]);
|
||||
} else {
|
||||
ActorCutscene_Start(globalCtx->unk_1879C[9], NULL);
|
||||
func_801A5CFC(NA_SE_EV_LINK_WARP, &player->actor.projectedPos, 4, &D_801DB4B0, &D_801DB4B0, &D_801DB4B8);
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_LINK_WARP, &player->actor.projectedPos, 4, &D_801DB4B0, &D_801DB4B0, &D_801DB4B8);
|
||||
Animation_ChangeImpl(&this->skelAnime, &object_warp1_Anim_001374, 1.0f,
|
||||
Animation_GetLastFrame(&object_warp1_Anim_001374.common),
|
||||
Animation_GetLastFrame(&object_warp1_Anim_001374.common), 2, 40.0f, 1);
|
||||
@ -1015,7 +1015,7 @@ void func_808BAE9C(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_808BB4C4(DoorWarp1* this, GlobalContext* globalCtx) {
|
||||
func_800BDFC0(globalCtx, object_warp1_DL_0076C0);
|
||||
Gfx_DrawDListOpa(globalCtx, object_warp1_DL_0076C0);
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
@ -1036,7 +1036,7 @@ void func_808BB4F4(DoorWarp1* this, GlobalContext* globalCtx2) {
|
||||
this->dyna.actor.world.pos.z, MTXMODE_NEW);
|
||||
Matrix_Scale(4.0f, this->unk_1AC, 4.0f, MTXMODE_APPLY);
|
||||
AnimatedMat_Draw(globalCtx, Lib_SegmentedToVirtual(&object_warp1_Matanimheader_0044D8));
|
||||
func_800BE03C(globalCtx, object_warp1_DL_003230);
|
||||
Gfx_DrawDListXlu(globalCtx, object_warp1_DL_003230);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -129,7 +129,7 @@ void func_80BECBE0(EnAkindonuts* this, s16 arg1) {
|
||||
this->actor.velocity.z = 0.0f;
|
||||
}
|
||||
|
||||
Actor_ApplyMovement(&this->actor);
|
||||
Actor_UpdatePos(&this->actor);
|
||||
}
|
||||
|
||||
void func_80BECC7C(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
@ -1036,7 +1036,7 @@ void func_80BEE73C(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
player->actor.textId = D_80BF048C[params];
|
||||
this->unk_33C = player->actor.textId;
|
||||
if (this->unk_33C == 0x15E4) {
|
||||
player->unk_A87 = itemActionParam;
|
||||
player->exchangeItemId = itemActionParam;
|
||||
this->actionFunc = func_80BEF20C;
|
||||
} else {
|
||||
this->actionFunc = func_80BEF18C;
|
||||
@ -1045,7 +1045,7 @@ void func_80BEE73C(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
player->actor.textId = D_80BF0494[params];
|
||||
this->unk_33C = player->actor.textId;
|
||||
if (this->unk_33C == 0x15F9) {
|
||||
player->unk_A87 = itemActionParam;
|
||||
player->exchangeItemId = itemActionParam;
|
||||
this->actionFunc = func_80BEF20C;
|
||||
} else {
|
||||
this->actionFunc = func_80BEF18C;
|
||||
@ -1054,7 +1054,7 @@ void func_80BEE73C(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
player->actor.textId = D_80BF049C[params];
|
||||
this->unk_33C = player->actor.textId;
|
||||
if (this->unk_33C == 0x160C) {
|
||||
player->unk_A87 = itemActionParam;
|
||||
player->exchangeItemId = itemActionParam;
|
||||
this->actionFunc = func_80BEF20C;
|
||||
} else {
|
||||
this->actionFunc = func_80BEF18C;
|
||||
@ -1063,7 +1063,7 @@ void func_80BEE73C(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
player->actor.textId = D_80BF04A4[params];
|
||||
this->unk_33C = player->actor.textId;
|
||||
if (this->unk_33C == 0x1621) {
|
||||
player->unk_A87 = itemActionParam;
|
||||
player->exchangeItemId = itemActionParam;
|
||||
this->actionFunc = func_80BEF20C;
|
||||
} else {
|
||||
this->actionFunc = func_80BEF18C;
|
||||
@ -1162,7 +1162,7 @@ void func_80BEEB20(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (phi_v0) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_AKINDONUTS_HIDE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_AKINDONUTS_HIDE);
|
||||
this->actionFunc = func_80BEEDC0;
|
||||
this->unk_338 = 3;
|
||||
this->collider.dim.height = 64;
|
||||
@ -1175,12 +1175,12 @@ void func_80BEEB20(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
if ((this->unk_338 == 4) || (this->unk_338 == 18)) {
|
||||
this->unk_338 = 17;
|
||||
this->collider.dim.height = 0;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DOWN);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_NUTS_DOWN);
|
||||
func_8013BC6C(&this->skelAnime, sAnimations, 17);
|
||||
} else if (this->unk_338 == 2) {
|
||||
this->unk_338 = 16;
|
||||
this->collider.dim.height = 32;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_UP);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_NUTS_UP);
|
||||
func_8013BC6C(&this->skelAnime, sAnimations, 16);
|
||||
} else if (this->unk_338 == 17) {
|
||||
phi_v0 = DECR(this->unk_33A);
|
||||
@ -1213,7 +1213,7 @@ void func_80BEEE10(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 3, 2000, 0);
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
this->unk_2DC(this, globalCtx);
|
||||
this->actionFunc = func_80BEEFA8;
|
||||
} else if (((this->actor.xzDistToPlayer < 100.0f) &&
|
||||
@ -1229,7 +1229,7 @@ void func_80BEEE10(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_80BEEFA8(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
u8 temp_v0 = func_80152498(&globalCtx->msgCtx);
|
||||
u8 temp_v0 = Message_GetState(&globalCtx->msgCtx);
|
||||
|
||||
if (temp_v0 == 5) {
|
||||
if (func_80147624(globalCtx)) {
|
||||
@ -1274,7 +1274,7 @@ void func_80BEEFA8(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_80BEF18C(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
if ((Message_GetState(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
globalCtx->msgCtx.unk11F22 = 0x43;
|
||||
globalCtx->msgCtx.unk12023 = 4;
|
||||
this->unk_33C = 0;
|
||||
@ -1283,7 +1283,7 @@ void func_80BEF18C(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_80BEF20C(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
u8 sp27 = func_80152498(&globalCtx->msgCtx);
|
||||
u8 sp27 = Message_GetState(&globalCtx->msgCtx);
|
||||
s16 sp24 = this->skelAnime.curFrame;
|
||||
s16 sp22 = Animation_GetLastFrame(&sAnimations[this->unk_338].animationSeg->common);
|
||||
|
||||
@ -1319,25 +1319,25 @@ void func_80BEF360(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
this->unk_32C &= ~0x40;
|
||||
this->actionFunc = func_80BEF450;
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, func_80BED034(this), 300.0f, 300.0f);
|
||||
Actor_PickUp(&this->actor, globalCtx, func_80BED034(this), 300.0f, 300.0f);
|
||||
}
|
||||
} else if (Actor_HasParent(&this->actor, globalCtx)) {
|
||||
this->actor.parent = NULL;
|
||||
this->actionFunc = func_80BEF450;
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, func_80BECFBC(this), 300.0f, 300.0f);
|
||||
Actor_PickUp(&this->actor, globalCtx, func_80BECFBC(this), 300.0f, 300.0f);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80BEF450(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 6) && func_80147624(globalCtx)) {
|
||||
if ((Message_GetState(&globalCtx->msgCtx) == 6) && func_80147624(globalCtx)) {
|
||||
func_800B85E0(&this->actor, globalCtx, 400.0f, -1);
|
||||
this->actionFunc = func_80BEF4B8;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80BEF4B8(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
this->unk_2DC(this, globalCtx);
|
||||
this->actionFunc = func_80BEEFA8;
|
||||
} else {
|
||||
@ -1422,7 +1422,7 @@ void func_80BEF518(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
this->unk_33E = 3;
|
||||
this->unk_338 = 19;
|
||||
func_8013BC6C(&this->skelAnime, sAnimations, this->unk_338);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DOWN);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_NUTS_DOWN);
|
||||
this->unk_32C &= ~2;
|
||||
this->unk_32C |= 0x80;
|
||||
this->unk_358 = this->actor.world.pos.y;
|
||||
@ -1481,7 +1481,7 @@ void func_80BEF83C(EnAkindonuts* this, GlobalContext* globalCtx) {
|
||||
this->unk_34C = 0.3f;
|
||||
this->unk_338 = 9;
|
||||
func_8013BC6C(&this->skelAnime, sAnimations, this->unk_338);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_AKINDONUTS_HIDE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_AKINDONUTS_HIDE);
|
||||
this->actionFunc = func_80BEF9F0;
|
||||
}
|
||||
}
|
||||
@ -1587,7 +1587,7 @@ void EnAkindonuts_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
this->morphTable, 28);
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinderType1(globalCtx, &this->collider, &this->actor, &sCylinderInit);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 35.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 35.0f);
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
|
||||
this->actor.colChkInfo.cylRadius = 0;
|
||||
@ -1620,9 +1620,9 @@ void EnAkindonuts_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
void EnAkindonuts_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnAkindonuts* this = THIS;
|
||||
|
||||
Actor_SetHeight(&this->actor, 60.0f);
|
||||
Actor_SetFocus(&this->actor, 60.0f);
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
|
||||
|
@ -150,7 +150,7 @@ s32 func_809C1424(EnAob01* this) {
|
||||
if (this->unk_43C == 1) {
|
||||
if (curFrame == lastFrame) {
|
||||
this->unk_43C = 2;
|
||||
func_800BDC5C(&this->skelAnime, D_809C3790, 2);
|
||||
Actor_ChangeAnimation(&this->skelAnime, D_809C3790, 2);
|
||||
return true;
|
||||
}
|
||||
} else if (this->unk_43C == 2) {
|
||||
@ -166,13 +166,13 @@ s32 func_809C14D0(EnAob01* this) {
|
||||
if ((this->unk_43C == 0) || (this->unk_43C == 5)) {
|
||||
if (curFrame == lastFrame) {
|
||||
this->unk_43C = 3;
|
||||
func_800BDC5C(&this->skelAnime, D_809C3790, 3);
|
||||
Actor_ChangeAnimation(&this->skelAnime, D_809C3790, 3);
|
||||
return true;
|
||||
}
|
||||
} else if (this->unk_43C == 3) {
|
||||
if (curFrame == lastFrame) {
|
||||
this->unk_43C = 4;
|
||||
func_800BDC5C(&this->skelAnime, D_809C3790, 4);
|
||||
Actor_ChangeAnimation(&this->skelAnime, D_809C3790, 4);
|
||||
return true;
|
||||
}
|
||||
} else if (this->unk_43C == 4) {
|
||||
@ -188,7 +188,7 @@ s32 func_809C15BC(EnAob01* this) {
|
||||
if ((this->unk_43C != 0) && (this->unk_43C != 5)) {
|
||||
if (curFrame == lastFrame) {
|
||||
this->unk_43C = 5;
|
||||
func_800BDC5C(&this->skelAnime, D_809C3790, 5);
|
||||
Actor_ChangeAnimation(&this->skelAnime, D_809C3790, 5);
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
@ -330,7 +330,7 @@ void func_809C16DC(EnAob01* this, GlobalContext* globalCtx) {
|
||||
this->unk_2D2 |= 0x40;
|
||||
this->unk_2D2 |= 0x10;
|
||||
this->unk_43C = 1;
|
||||
func_800BDC5C(&this->skelAnime, D_809C3790, 1);
|
||||
Actor_ChangeAnimation(&this->skelAnime, D_809C3790, 1);
|
||||
break;
|
||||
|
||||
case 0x3525:
|
||||
@ -345,7 +345,7 @@ void func_809C16DC(EnAob01* this, GlobalContext* globalCtx) {
|
||||
this->unk_2D2 |= 0x40;
|
||||
this->unk_2D2 |= 0x10;
|
||||
this->unk_43C = 1;
|
||||
func_800BDC5C(&this->skelAnime, D_809C3790, 1);
|
||||
Actor_ChangeAnimation(&this->skelAnime, D_809C3790, 1);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -360,7 +360,7 @@ void func_809C16DC(EnAob01* this, GlobalContext* globalCtx) {
|
||||
this->unk_2D2 |= 4;
|
||||
this->unk_2D2 |= 0x10;
|
||||
this->unk_43C = 1;
|
||||
func_800BDC5C(&this->skelAnime, D_809C3790, 1);
|
||||
Actor_ChangeAnimation(&this->skelAnime, D_809C3790, 1);
|
||||
break;
|
||||
|
||||
case 0x3527:
|
||||
@ -372,7 +372,7 @@ void func_809C16DC(EnAob01* this, GlobalContext* globalCtx) {
|
||||
this->unk_210 = 0x3536;
|
||||
this->unk_2D2 |= 0x40;
|
||||
this->unk_43C = 1;
|
||||
func_800BDC5C(&this->skelAnime, D_809C3790, 1);
|
||||
Actor_ChangeAnimation(&this->skelAnime, D_809C3790, 1);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -380,7 +380,7 @@ void func_809C16DC(EnAob01* this, GlobalContext* globalCtx) {
|
||||
this->unk_210 = 0x3537;
|
||||
this->unk_2D2 |= 0x40;
|
||||
this->unk_43C = 1;
|
||||
func_800BDC5C(&this->skelAnime, D_809C3790, 1);
|
||||
Actor_ChangeAnimation(&this->skelAnime, D_809C3790, 1);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -427,7 +427,7 @@ void func_809C1C9C(EnAob01* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_809C1D64(EnAob01* this, GlobalContext* globalCtx) {
|
||||
u8 temp_v0 = func_80152498(&globalCtx->msgCtx);
|
||||
u8 temp_v0 = Message_GetState(&globalCtx->msgCtx);
|
||||
|
||||
if (temp_v0 == 4) {
|
||||
if (func_80147624(globalCtx)) {
|
||||
@ -499,7 +499,7 @@ void func_809C2060(EnAob01* this, GlobalContext* globalCtx) {
|
||||
this->unk_2D2 |= 8;
|
||||
this->actionFunc = func_809C21E0;
|
||||
}
|
||||
} else if (func_800B84D0(&this->actor, globalCtx) && (this->unk_2D2 & 0x100)) {
|
||||
} else if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state) && (this->unk_2D2 & 0x100)) {
|
||||
this->unk_2D2 &= ~0x100;
|
||||
this->unk_2E6 = this->unk_2D4;
|
||||
this->unk_2EC = this->unk_2DA;
|
||||
@ -517,7 +517,7 @@ void func_809C2060(EnAob01* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_809C21E0(EnAob01* this, GlobalContext* globalCtx) {
|
||||
u8 sp2F = func_80152498(&globalCtx->msgCtx);
|
||||
u8 sp2F = Message_GetState(&globalCtx->msgCtx);
|
||||
|
||||
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 4, 4000, 1);
|
||||
|
||||
@ -542,7 +542,7 @@ void func_809C21E0(EnAob01* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (this->unk_2D2 & 8) {
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
this->actor.flags &= ~0x10000;
|
||||
func_80123E90(globalCtx, &this->actor);
|
||||
if (this->unk_2D2 & 4) {
|
||||
@ -552,7 +552,7 @@ void func_809C21E0(EnAob01* this, GlobalContext* globalCtx) {
|
||||
this->unk_2D2 |= 0x10;
|
||||
this->unk_2D2 |= 0x40;
|
||||
this->unk_43C = 1;
|
||||
func_800BDC5C(&this->skelAnime, D_809C3790, 1);
|
||||
Actor_ChangeAnimation(&this->skelAnime, D_809C3790, 1);
|
||||
func_801518B0(globalCtx, 0x354B, &this->actor);
|
||||
}
|
||||
this->unk_2D2 &= ~8;
|
||||
@ -593,7 +593,7 @@ void func_809C21E0(EnAob01* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
s32 func_809C2504(EnAob01* this, GlobalContext* globalCtx) {
|
||||
Actor* npc = globalCtx->actorCtx.actorList[ACTORCAT_NPC].first;
|
||||
Actor* npc = globalCtx->actorCtx.actorLists[ACTORCAT_NPC].first;
|
||||
|
||||
while (npc != NULL) {
|
||||
if ((npc->id == ACTOR_EN_RACEDOG) && (func_800F2178(this->unk_430) == ((EnRacedog*)npc)->unk_1E8)) {
|
||||
@ -609,7 +609,7 @@ s32 func_809C2504(EnAob01* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
s32 func_809C2594(EnAob01* this, GlobalContext* globalCtx) {
|
||||
Actor* npc = globalCtx->actorCtx.actorList[ACTORCAT_NPC].first;
|
||||
Actor* npc = globalCtx->actorCtx.actorLists[ACTORCAT_NPC].first;
|
||||
|
||||
while (npc != NULL) {
|
||||
if ((npc->id == ACTOR_EN_RACEDOG) && (((EnRacedog*)npc)->unk_290 == ((EnRacedog*)npc)->unk_292)) {
|
||||
@ -623,7 +623,7 @@ s32 func_809C2594(EnAob01* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
s32 func_809C25E4(EnAob01* this, GlobalContext* globalCtx) {
|
||||
Actor* npc = globalCtx->actorCtx.actorList[ACTORCAT_NPC].first;
|
||||
Actor* npc = globalCtx->actorCtx.actorLists[ACTORCAT_NPC].first;
|
||||
s16 count = 0;
|
||||
|
||||
while (npc != NULL) {
|
||||
@ -699,7 +699,7 @@ void func_809C2824(EnAob01* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_809C28B8(EnAob01* this, GlobalContext* globalCtx) {
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
this->actor.flags &= ~0x10000;
|
||||
func_80123E90(globalCtx, &this->actor);
|
||||
this->unk_434 = gSaveContext.unk_3F5C;
|
||||
@ -731,7 +731,7 @@ void func_809C28B8(EnAob01* this, GlobalContext* globalCtx) {
|
||||
this->unk_210 = 0x352D;
|
||||
this->unk_2D2 |= 0x40;
|
||||
this->unk_43C = 1;
|
||||
func_800BDC5C(&this->skelAnime, D_809C3790, 1);
|
||||
Actor_ChangeAnimation(&this->skelAnime, D_809C3790, 1);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -743,7 +743,7 @@ void func_809C28B8(EnAob01* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_809C2A64(EnAob01* this, GlobalContext* globalCtx) {
|
||||
u8 sp2F = func_80152498(&globalCtx->msgCtx);
|
||||
u8 sp2F = Message_GetState(&globalCtx->msgCtx);
|
||||
|
||||
if (func_809C15BC(this)) {
|
||||
if ((sp2F == 5) && func_80147624(globalCtx)) {
|
||||
@ -765,15 +765,15 @@ void func_809C2A64(EnAob01* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc = func_809C2BE4;
|
||||
}
|
||||
} else if (gSaveContext.weekEventReg[8] & 0x20) {
|
||||
func_800B8A1C(&this->actor, globalCtx, 4, 300.0f, 300.0f);
|
||||
Actor_PickUp(&this->actor, globalCtx, 4, 300.0f, 300.0f);
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, 12, 300.0f, 300.0f);
|
||||
Actor_PickUp(&this->actor, globalCtx, 12, 300.0f, 300.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_809C2BE4(EnAob01* this, GlobalContext* globalCtx) {
|
||||
u8 temp_v0 = func_80152498(&globalCtx->msgCtx);
|
||||
u8 temp_v0 = Message_GetState(&globalCtx->msgCtx);
|
||||
|
||||
if (((temp_v0 == 5) || (temp_v0 == 6)) && func_80147624(globalCtx)) {
|
||||
if (gSaveContext.weekEventReg[63] & 2) {
|
||||
@ -792,7 +792,7 @@ void func_809C2BE4(EnAob01* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_809C2C9C(EnAob01* this, GlobalContext* globalCtx) {
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
this->unk_210 = 0x354C;
|
||||
func_80151938(globalCtx, this->unk_210);
|
||||
this->actionFunc = func_809C1D64;
|
||||
@ -802,7 +802,7 @@ void func_809C2C9C(EnAob01* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_809C2D0C(EnAob01* this, GlobalContext* globalCtx) {
|
||||
u8 sp2F = func_80152498(&globalCtx->msgCtx);
|
||||
u8 sp2F = Message_GetState(&globalCtx->msgCtx);
|
||||
|
||||
Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 4, 4000, 1);
|
||||
|
||||
@ -847,7 +847,7 @@ void func_809C2D0C(EnAob01* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
s32 func_809C2EC4(EnAob01* this, GlobalContext* globalCtx) {
|
||||
Actor* dog = globalCtx->actorCtx.actorList[ACTORCAT_ENEMY].first;
|
||||
Actor* dog = globalCtx->actorCtx.actorLists[ACTORCAT_ENEMY].first;
|
||||
|
||||
while (dog != NULL) {
|
||||
if (dog->id == ACTOR_EN_DG) {
|
||||
@ -927,7 +927,7 @@ void EnAob01_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
|
||||
this->unk_43C = 0;
|
||||
func_800BDC5C(&this->skelAnime, D_809C3790, 0);
|
||||
Actor_ChangeAnimation(&this->skelAnime, D_809C3790, 0);
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
|
||||
switch (gSaveContext.eventInf[0] & 7) {
|
||||
|
@ -42,7 +42,7 @@ static ColliderQuadInit D_8088C1E0 = {
|
||||
|
||||
// static InitChainEntry sInitChain[] = {
|
||||
static InitChainEntry D_8088C230[] = {
|
||||
ICHAIN_F32(minVelocityY, -150, ICHAIN_STOP),
|
||||
ICHAIN_F32(terminalVelocity, -150, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -111,7 +111,7 @@ static DamageTable sDamageTable = {
|
||||
void EnBaguo_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnBaguo* this = THIS;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 0.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 0.0f);
|
||||
SkelAnime_Init(globalCtx, &this->skelAnime, &gNejironSkel, NULL, this->jointTable, this->morphTable, 3);
|
||||
this->actor.hintId = 0xB;
|
||||
this->maxDistanceFromHome = 240.0f;
|
||||
@ -145,7 +145,7 @@ void EnBaguo_UndergroundIdle(EnBaguo* this, GlobalContext* globalCtx) {
|
||||
this->action = NEJIRON_ACTION_INACTIVE;
|
||||
if (this->actor.xzDistToPlayer < 200.0f && Player_GetMask(globalCtx) != PLAYER_MASK_STONE) {
|
||||
this->actor.draw = EnBaguo_DrawBody;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BAKUO_APPEAR);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_BAKUO_APPEAR);
|
||||
this->actor.world.rot.z = 0;
|
||||
this->actor.world.rot.x = this->actor.world.rot.z;
|
||||
this->actor.flags &= ~0x8000000;
|
||||
@ -159,8 +159,8 @@ void EnBaguo_EmergeFromUnderground(EnBaguo* this, GlobalContext* globalCtx) {
|
||||
this->actor.world.rot.y += 0x1518;
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
if ((globalCtx->gameplayFrames % 8) == 0) {
|
||||
func_800BBDAC(globalCtx, &this->actor, &this->actor.world.pos, this->actor.shape.shadowScale - 20.0f, 10, 8.0f,
|
||||
500, 10, 1);
|
||||
Actor_SpawnFloorDustRing(globalCtx, &this->actor, &this->actor.world.pos, this->actor.shape.shadowScale - 20.0f,
|
||||
10, 8.0f, 500, 10, 1);
|
||||
}
|
||||
Math_ApproachF(&this->actor.shape.shadowScale, 50.0f, 0.3f, 5.0f);
|
||||
Math_ApproachF(&this->actor.shape.yOffset, 2700.0f, 100.0f, 500.0f);
|
||||
@ -188,9 +188,9 @@ void EnBaguo_Idle(EnBaguo* this, GlobalContext* globalCtx) {
|
||||
if (fabsf(this->actor.world.rot.y - this->actor.yawTowardsPlayer) > 200.0f) {
|
||||
Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 30, 300, 1000);
|
||||
if ((globalCtx->gameplayFrames % 8) == 0) {
|
||||
func_800BBDAC(globalCtx, &this->actor, &this->actor.world.pos,
|
||||
this->actor.shape.shadowScale - 20.0f, 10, 8.0f, 500, 10, 1);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BAKUO_VOICE);
|
||||
Actor_SpawnFloorDustRing(globalCtx, &this->actor, &this->actor.world.pos,
|
||||
this->actor.shape.shadowScale - 20.0f, 10, 8.0f, 500, 10, 1);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_BAKUO_VOICE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -252,7 +252,7 @@ void EnBaguo_Roll(EnBaguo* this, GlobalContext* globalCtx) {
|
||||
this->actor.world.rot.z -= (s16)this->currentRotation.z;
|
||||
}
|
||||
}
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BAKUO_ROLL - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_BAKUO_ROLL - SFX_FLAG);
|
||||
}
|
||||
|
||||
void EnBaguo_SetupRetreatUnderground(EnBaguo* this) {
|
||||
@ -265,8 +265,8 @@ void EnBaguo_RetreatUnderground(EnBaguo* this, GlobalContext* globalCtx) {
|
||||
this->actor.world.rot.y -= 0x1518;
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
if ((globalCtx->gameplayFrames % 8) == 0) {
|
||||
func_800BBDAC(globalCtx, &this->actor, &this->actor.world.pos, this->actor.shape.shadowScale - 20.0f, 10, 8.0f,
|
||||
500, 10, 1);
|
||||
Actor_SpawnFloorDustRing(globalCtx, &this->actor, &this->actor.world.pos, this->actor.shape.shadowScale - 20.0f,
|
||||
10, 8.0f, 500, 10, 1);
|
||||
}
|
||||
Math_ApproachF(&this->actor.shape.yOffset, -3000.0f, 100.0f, 500.0f);
|
||||
Math_ApproachZeroF(&this->actor.shape.shadowScale, 0.3f, 5.0f);
|
||||
@ -274,7 +274,7 @@ void EnBaguo_RetreatUnderground(EnBaguo* this, GlobalContext* globalCtx) {
|
||||
this->actor.shape.yOffset = -3000.0f;
|
||||
this->actor.draw = EnBaguo_DrawBody;
|
||||
Math_Vec3f_Copy(&this->actor.world.pos, &this->actor.home.pos);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BAKUO_APPEAR);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_BAKUO_APPEAR);
|
||||
this->actor.flags |= 0x8000000;
|
||||
this->actor.flags &= ~1;
|
||||
this->actionFunc = EnBaguo_UndergroundIdle;
|
||||
@ -311,7 +311,7 @@ void EnBaguo_CheckForDetonation(EnBaguo* this, GlobalContext* globalCtx) {
|
||||
if ((this->collider.base.acFlags & AC_HIT || i)) {
|
||||
this->collider.base.acFlags &= ~AC_HIT;
|
||||
if (i || this->actor.colChkInfo.damageEffect == NEJIRON_DMGEFF_KILL) {
|
||||
func_800BCB70(&this->actor, 0x4000, 0xFF, 0, 8);
|
||||
Actor_SetColorFilter(&this->actor, 0x4000, 0xFF, 0, 8);
|
||||
this->action = NEJIRON_ACTION_EXPLODING;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
this->actor.shape.shadowScale = 0.0f;
|
||||
@ -329,8 +329,8 @@ void EnBaguo_CheckForDetonation(EnBaguo* this, GlobalContext* globalCtx) {
|
||||
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_CLEAR_TAG, this->actor.world.pos.x,
|
||||
this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, CLEAR_TAG_POP);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_IT_BOMB_EXPLOSION);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BAKUO_DEAD);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_IT_BOMB_EXPLOSION);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_BAKUO_DEAD);
|
||||
this->timer = 30;
|
||||
this->actor.flags |= 0x8000000;
|
||||
this->actor.flags &= ~1;
|
||||
@ -347,7 +347,7 @@ void EnBaguo_CheckForDetonation(EnBaguo* this, GlobalContext* globalCtx) {
|
||||
void EnBaguo_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnBaguo* this = THIS;
|
||||
|
||||
Actor_SetHeight(&this->actor, 30.0f);
|
||||
Actor_SetFocus(&this->actor, 30.0f);
|
||||
EnBaguo_UpdateParticles(this, globalCtx);
|
||||
EnBaguo_CheckForDetonation(this, globalCtx);
|
||||
this->actionFunc(this, globalCtx);
|
||||
@ -369,7 +369,7 @@ void EnBaguo_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
this->blinkTimer = Rand_ZeroFloat(60.0f) + 20.0f;
|
||||
}
|
||||
}
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 20.0f, 20.0f, 60.0f, 0x1D);
|
||||
if (this->action != NEJIRON_ACTION_INACTIVE) {
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
|
@ -68,7 +68,7 @@ static u8 animModes[] = { 0, 0 };
|
||||
void EnBaisen_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnBaisen* this = THIS;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 25.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 25.0f);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06007908, &D_060011C0, this->jointTable, this->morphTable, 20);
|
||||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
this->paramCopy = this->actor.params;
|
||||
@ -124,7 +124,7 @@ void func_80BE871C(EnBaisen* this) {
|
||||
}
|
||||
|
||||
void func_80BE87B0(EnBaisen* this, GlobalContext* globalCtx) {
|
||||
Actor* actorIterator = globalCtx->actorCtx.actorList[ACTORCAT_NPC].first;
|
||||
Actor* actorIterator = globalCtx->actorCtx.actorLists[ACTORCAT_NPC].first;
|
||||
|
||||
while (actorIterator != NULL) {
|
||||
if (actorIterator->id == ACTOR_EN_HEISHI) {
|
||||
@ -151,7 +151,7 @@ void func_80BE87FC(EnBaisen* this) {
|
||||
}
|
||||
|
||||
void func_80BE887C(EnBaisen* this, GlobalContext* globalCtx) {
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
func_80BE895C(this, globalCtx);
|
||||
} else {
|
||||
if (this->paramCopy != 0) {
|
||||
@ -176,7 +176,7 @@ void func_80BE895C(EnBaisen* this, GlobalContext* globalCtx) {
|
||||
if (this->unk2A4 != NULL) {
|
||||
this->unk290 = true;
|
||||
this->unk2AC = 1;
|
||||
func_800B86C8(this->unk2A4, globalCtx, this->unk2A4);
|
||||
Actor_ChangeFocus(this->unk2A4, globalCtx, this->unk2A4);
|
||||
}
|
||||
this->unk29C = 1;
|
||||
if (this->paramCopy == 0) {
|
||||
@ -223,7 +223,7 @@ void func_80BE8AAC(EnBaisen* this, GlobalContext* globalCtx) {
|
||||
EnBaisen_ChangeAnimation(this, 0);
|
||||
}
|
||||
}
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
if ((Message_GetState(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
func_801477B4(globalCtx);
|
||||
this->textIdIndex++;
|
||||
if (this->textIdIndex < 6) {
|
||||
@ -233,7 +233,7 @@ void func_80BE8AAC(EnBaisen* this, GlobalContext* globalCtx) {
|
||||
} else {
|
||||
this->unk2A4 = &this->actor;
|
||||
}
|
||||
func_800B86C8(this->unk2A4, globalCtx, this->unk2A4);
|
||||
Actor_ChangeFocus(this->unk2A4, globalCtx, this->unk2A4);
|
||||
} else {
|
||||
func_80BE87FC(this);
|
||||
}
|
||||
@ -254,13 +254,13 @@ void EnBaisen_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
return;
|
||||
}
|
||||
this->actionFunc(this, globalCtx);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 20.0f, 20.0f, 50.0f, 0x1D);
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
if (this->unk290) {
|
||||
func_80BE871C(this);
|
||||
}
|
||||
Actor_SetHeight(&this->actor, 60.0f);
|
||||
Actor_SetFocus(&this->actor, 60.0f);
|
||||
Math_SmoothStepToS(&this->headRotX, this->headRotXTarget, 1, 0xBB8, 0);
|
||||
Math_SmoothStepToS(&this->headRotY, this->headRotYTarget, 1, 0x3E8, 0);
|
||||
Collider_UpdateCylinder(&this->actor, &this->collider);
|
||||
|
@ -207,7 +207,7 @@ void EnBigpo_Init(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
255, 0);
|
||||
}
|
||||
|
||||
ActorShape_Init(&thisx->shape, 0.0f, func_800B3FC0, 45.0f);
|
||||
ActorShape_Init(&thisx->shape, 0.0f, ActorShadow_DrawCircle, 45.0f);
|
||||
thisx->bgCheckFlags |= 0x400;
|
||||
this->savedHeight = thisx->home.pos.y + 100.0f;
|
||||
this->mainColor.r = 255;
|
||||
@ -262,7 +262,7 @@ void EnBigpo_UpdateSpin(EnBigpo* this) {
|
||||
|
||||
this->actor.shape.rot.y += this->rotVelocity;
|
||||
if ((oldYaw < 0) && (this->actor.shape.rot.y > 0)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_ROLL); // spinning sfx during spin attack
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_PO_ROLL); // spinning sfx during spin attack
|
||||
}
|
||||
}
|
||||
|
||||
@ -398,7 +398,7 @@ void EnBigpo_SpawnCutsceneStage5(EnBigpo* this) {
|
||||
Animation_PlayLoop(&this->skelAnime, &gBigpoAwakenStretchAnim);
|
||||
this->actor.draw = EnBigpo_DrawMainBigpo;
|
||||
Actor_SetScale(&this->actor, 0.014f);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_APPEAR);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_APPEAR);
|
||||
this->actionFunc = EnBigpo_SpawnCutsceneStage6;
|
||||
}
|
||||
|
||||
@ -486,7 +486,7 @@ void EnBigpo_SetupWarpOut(EnBigpo* this) {
|
||||
this->idleTimer = 32;
|
||||
this->actor.flags &= ~0x1; // targetable OFF
|
||||
this->actor.speedXZ = 0.0f;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_DISAPPEAR);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_PO_DISAPPEAR);
|
||||
this->actionFunc = EnBigpo_WarpingOut;
|
||||
}
|
||||
|
||||
@ -508,7 +508,7 @@ void EnBigpo_SetupWarpIn(EnBigpo* this, GlobalContext* globalCtx) {
|
||||
f32 distance = CLAMP_MIN(this->actor.xzDistToPlayer, 200.0f);
|
||||
s16 randomYaw = (Rand_Next() >> 0x14) + this->actor.yawTowardsPlayer;
|
||||
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_APPEAR);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_APPEAR);
|
||||
Animation_PlayLoop(&this->skelAnime, &gBigpoAwakenStretchAnim);
|
||||
this->rotVelocity = 0x2000;
|
||||
this->actor.world.pos.x = (Math_SinS(randomYaw) * distance) + player->actor.world.pos.x;
|
||||
@ -648,7 +648,7 @@ void EnBigpo_SpinningDown(EnBigpo* this, GlobalContext* globalCtx) {
|
||||
*/
|
||||
void EnBigpo_HitStun(EnBigpo* this) {
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &gBigpoShockAnim, -6.0f);
|
||||
func_800BCB70(&this->actor, 0x4000, 0xFF, 0, 0x10);
|
||||
Actor_SetColorFilter(&this->actor, 0x4000, 0xFF, 0, 0x10);
|
||||
this->collider.base.acFlags &= ~AC_ON;
|
||||
func_800BE504(&this->actor, &this->collider);
|
||||
this->actionFunc = EnBigpo_CheckHealth;
|
||||
@ -728,7 +728,7 @@ void EnBigpo_BurnAwayDeath(EnBigpo* this, GlobalContext* globalCtx) {
|
||||
func_800B9010(&this->actor, NA_SE_EN_COMMON_EXTINCT_LEV - SFX_FLAG); // burning sfx
|
||||
}
|
||||
if (this->idleTimer == 18) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_WIZ_DISAPPEAR);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_WIZ_DISAPPEAR);
|
||||
}
|
||||
}
|
||||
|
||||
@ -754,7 +754,7 @@ void EnBigpo_SetupLanternDrop(EnBigpo* this, GlobalContext* globalCtx) {
|
||||
void EnBigpo_LanternFalling(EnBigpo* this, GlobalContext* globalCtx) {
|
||||
if (this->actor.bgCheckFlags & 1 || this->actor.floorHeight == BGCHECK_Y_MIN) {
|
||||
if (this->switchFlags != 0xFF) {
|
||||
Actor_SetSwitchFlag(globalCtx, this->switchFlags);
|
||||
Flags_SetSwitch(globalCtx, this->switchFlags);
|
||||
}
|
||||
|
||||
EffectSsHahen_SpawnBurst(globalCtx, &this->actor.world.pos, 6.0f, 0, 1, 1, 15, OBJECT_BIGPO, 10,
|
||||
@ -799,7 +799,7 @@ void EnBigpo_SpawnScoopSoul(EnBigpo* this) {
|
||||
this->actor.scale.x = 0.0f;
|
||||
this->actor.scale.y = 0.0f;
|
||||
this->savedHeight = this->actor.world.pos.y;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_METAL_BOX_BOUND); // misnamed?
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_METAL_BOX_BOUND); // misnamed?
|
||||
this->actionFunc = EnBigpo_ScoopSoulAppearing;
|
||||
}
|
||||
|
||||
@ -813,7 +813,7 @@ void EnBigpo_ScoopSoulAppearing(EnBigpo* this, GlobalContext* globalCtx) {
|
||||
|
||||
void EnBigpo_SetupScoopSoulIdle(EnBigpo* this) {
|
||||
this->savedHeight = this->actor.world.pos.y;
|
||||
Actor_SetHeight(&this->actor, -10.0f);
|
||||
Actor_SetFocus(&this->actor, -10.0f);
|
||||
this->idleTimer = 400; // 20 seconds
|
||||
this->actor.flags |= 0x1; // targetable ON
|
||||
this->actionFunc = EnBigpo_ScoopSoulIdle;
|
||||
@ -825,10 +825,10 @@ void EnBigpo_ScoopSoulIdle(EnBigpo* this, GlobalContext* globalCtx) {
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
} else if (this->idleTimer == 0) {
|
||||
// took too long, soul is leaving
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_LAUGH);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_PO_LAUGH);
|
||||
EnBigpo_SetupScoopSoulLeaving(this);
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MAX, 35.0f, 60.0f);
|
||||
Actor_PickUp(&this->actor, globalCtx, GI_MAX, 35.0f, 60.0f);
|
||||
this->actor.world.pos.y = (sin_rad(this->idleTimer * (M_PI / 20)) * 5.0f) + this->savedHeight;
|
||||
}
|
||||
}
|
||||
@ -1048,7 +1048,7 @@ void EnBigpo_FlameCircleCutscene(EnBigpo* this, GlobalContext* globalCtx) {
|
||||
this->idleTimer--;
|
||||
if (this->idleTimer == 0) {
|
||||
EnBigpo* parentPoh = (EnBigpo*)this->actor.parent;
|
||||
Actor_SetSwitchFlag(globalCtx, this->switchFlags);
|
||||
Flags_SetSwitch(globalCtx, this->switchFlags);
|
||||
Math_Vec3f_Copy(&parentPoh->fires[this->unk20C].pos, &this->actor.world.pos);
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
if (this->unk20C == 0) {
|
||||
@ -1126,13 +1126,13 @@ s32 EnBigpo_ApplyDamage(EnBigpo* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (Actor_ApplyDamage(&this->actor) == 0) {
|
||||
this->actor.flags &= ~0x1; // targetable OFF
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_DEAD);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_PO_DEAD);
|
||||
Enemy_StartFinishingBlow(globalCtx, &this->actor);
|
||||
if (this->actor.params == ENBIGPO_SUMMONED) { // dampe type
|
||||
func_801A2ED8();
|
||||
}
|
||||
} else {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_DAMAGE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_PO_DAMAGE);
|
||||
}
|
||||
|
||||
// light arrows
|
||||
@ -1167,23 +1167,23 @@ void EnBigpo_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
this->unk20C = 0;
|
||||
}
|
||||
if (this->unk20C == 40) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_PO_LAUGH);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_PO_LAUGH);
|
||||
EnBigpo_SetupWarpOut(this);
|
||||
}
|
||||
}
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
if ((this->actionFunc != EnBigpo_SpawnCutsceneStage6) && (this->actionFunc != EnBigpo_SpawnCutsceneStage4)) {
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
}
|
||||
if (this->actionFunc == EnBigpo_LanternFalling) {
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 0.0f, 27.0f, 60.0f, 4);
|
||||
}
|
||||
|
||||
if (this->actor.draw == EnBigpo_DrawScoopSoul) {
|
||||
Actor_SetHeight(&this->actor, -10.0f);
|
||||
Actor_SetFocus(&this->actor, -10.0f);
|
||||
} else {
|
||||
Actor_SetHeight(&this->actor, 42.0f);
|
||||
Actor_SetFocus(&this->actor, 42.0f);
|
||||
}
|
||||
|
||||
EnBigpo_UpdateColor(this);
|
||||
|
@ -337,7 +337,7 @@ void EnBigslime_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
this->gekkoCollider.base.ocFlags1 &= ~OC1_NO_PUSH;
|
||||
this->actor.params = CLAMP(this->actor.params, 1, 4);
|
||||
|
||||
if (Actor_GetRoomCleared(globalCtx, globalCtx->roomCtx.currRoom.num)) {
|
||||
if (Flags_GetClear(globalCtx, globalCtx->roomCtx.currRoom.num)) {
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
if (!(gSaveContext.weekEventReg[isFrogReturnedFlags[this->actor.params - 1] >> 8] &
|
||||
(u8)isFrogReturnedFlags[this->actor.params - 1])) {
|
||||
@ -770,7 +770,7 @@ void EnBigslime_BreakIntoMinislime(EnBigslime* this, GlobalContext* globalCtx) {
|
||||
this->actor.bgCheckFlags &= ~1;
|
||||
this->formBigslimeTimer = 2;
|
||||
EnBigslime_AddIceShardEffect(this, globalCtx);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_B_SLIME_BREAK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_B_SLIME_BREAK);
|
||||
EnBigslime_SetupJumpGekko(this);
|
||||
}
|
||||
|
||||
@ -921,7 +921,7 @@ void EnBigslime_GekkoThaw(EnBigslime* this, GlobalContext* globalCtx) {
|
||||
this->gekkoCollider.base.colType = COLTYPE_HIT6;
|
||||
this->gekkoCollider.info.elemType = ELEMTYPE_UNK1;
|
||||
this->unk_388 = 0.0f;
|
||||
func_800BF7CC(globalCtx, &this->actor, this->limbPos, ARRAY_COUNT(this->limbPos), 2, 0.3f, 0.2f);
|
||||
Actor_SpawnIceEffects(globalCtx, &this->actor, this->limbPos, ARRAY_COUNT(this->limbPos), 2, 0.3f, 0.2f);
|
||||
this->actor.flags |= 0x200;
|
||||
}
|
||||
}
|
||||
@ -1212,7 +1212,7 @@ void EnBigslime_SetTargetVtxToWideCone(EnBigslime* this) {
|
||||
}
|
||||
|
||||
void EnBigslime_SetupSquishFlat(EnBigslime* this) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_B_SLIME_JUMP2);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_B_SLIME_JUMP2);
|
||||
this->squishFlatTimer = 20;
|
||||
this->actor.scale.x = 0.2f;
|
||||
this->actor.scale.z = 0.2f;
|
||||
@ -1411,7 +1411,7 @@ void EnBigslime_SetupRise(EnBigslime* this) {
|
||||
Animation_PlayLoop(&this->skelAnime, &gGekkoSwimForwardAnim);
|
||||
EnBigslime_GekkoSfxOutsideBigslime(this, NA_SE_EN_FROG_JUMP_ABOVE);
|
||||
EnBigslime_GekkoSfxOutsideBigslime(this, NA_SE_EN_UTSUBO_APPEAR_TRG);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_B_SLIME_JUMP1);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_B_SLIME_JUMP1);
|
||||
this->riseCounter = 0;
|
||||
this->bigslimeCollider[0].base.atFlags &= ~AT_ON;
|
||||
this->actor.gravity = 0.0f;
|
||||
@ -1514,7 +1514,7 @@ void EnBigslime_SetupCutsceneGrabPlayer(EnBigslime* this, GlobalContext* globalC
|
||||
|
||||
this->subCamYawGrabPlayer += this->actor.world.rot.y;
|
||||
Animation_PlayLoop(&this->skelAnime, &gGekkoBoxingStanceAnim);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_B_SLIME_EAT);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_B_SLIME_EAT);
|
||||
this->actionFunc = EnBigslime_CutsceneGrabPlayer;
|
||||
}
|
||||
|
||||
@ -1623,7 +1623,7 @@ void EnBigslime_AttackPlayerInBigslime(EnBigslime* this, GlobalContext* globalCt
|
||||
}
|
||||
|
||||
globalCtx->damagePlayer(globalCtx, -4);
|
||||
func_800B8E58(&player->actor, player->ageProperties->unk_92 + 0x6805);
|
||||
func_800B8E58(player, player->ageProperties->unk_92 + NA_SE_VO_LI_DAMAGE_S);
|
||||
this->gekkoRot.y += (s16)(Rand_S16Offset(0x4000, 0x4000) * (Rand_ZeroOne() < 0.5f ? -1 : 1));
|
||||
this->gekkoPosOffset.x = Math_SinS(this->gekkoRot.y) * -50.0f;
|
||||
this->gekkoPosOffset.z = Math_CosS(this->gekkoRot.y) * -50.0f;
|
||||
@ -1700,7 +1700,7 @@ void EnBigslime_WindupThrowPlayer(EnBigslime* this, GlobalContext* globalCtx) {
|
||||
this->gekkoPosOffset.z = Math_CosS(this->gekkoRot.y) * -50.0f;
|
||||
} else {
|
||||
if (this->windupPunchTimer == 0) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_B_SLIME_REVERSE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_B_SLIME_REVERSE);
|
||||
EnBigslime_GekkoSfxInsideBigslime(this, NA_SE_EN_FROG_PUNCH1);
|
||||
}
|
||||
|
||||
@ -2283,7 +2283,7 @@ void EnBigslime_FormBigslime(EnBigslime* this, GlobalContext* globalCtx) {
|
||||
this->actor.speedXZ = 0.0f;
|
||||
Animation_PlayLoop(&this->skelAnime, &gGekkoSwimForwardAnim);
|
||||
this->formBigslimeCutsceneTimer--;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_B_SLIME_COMBINE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_B_SLIME_COMBINE);
|
||||
} else if (this->isAnimUpdate) {
|
||||
this->formBigslimeCutsceneTimer--;
|
||||
if (this->formBigslimeCutsceneTimer == 0) {
|
||||
@ -2497,7 +2497,7 @@ void EnBigslime_Despawn(EnBigslime* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (!this->isDespawned) {
|
||||
Actor_SetRoomClearedTemp(globalCtx, globalCtx->roomCtx.currRoom.num);
|
||||
Flags_SetClearTemp(globalCtx, globalCtx->roomCtx.currRoom.num);
|
||||
this->isDespawned = true;
|
||||
}
|
||||
|
||||
@ -2643,7 +2643,7 @@ void EnBigslime_ApplyDamageEffectGekko(EnBigslime* this, GlobalContext* globalCt
|
||||
EnBigslime_SetupCutscene(this);
|
||||
} else if (this->actor.colChkInfo.damageEffect == BIGSLIME_DMGEFF_ELECTRIC_STUN) {
|
||||
this->stunTimer = 40;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_COMMON_FREEZE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_COMMON_FREEZE);
|
||||
this->gekkoDrawEffect = GEKKO_DRAW_EFFECT_ELECTRIC_STUN;
|
||||
this->unk_38C = 0.75f;
|
||||
this->unk_388 = 2.0f;
|
||||
@ -2651,7 +2651,7 @@ void EnBigslime_ApplyDamageEffectGekko(EnBigslime* this, GlobalContext* globalCt
|
||||
} else if (this->actor.colChkInfo.damageEffect == BIGSLIME_DMGEFF_STUN ||
|
||||
this->actor.colChkInfo.damageEffect == BIGSLIME_DMGEFF_DEKU_STUN) {
|
||||
this->stunTimer = 40;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_COMMON_FREEZE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_COMMON_FREEZE);
|
||||
EnBigslime_SetupStunGekko(this);
|
||||
} else if (this->actor.colChkInfo.damageEffect == BIGSLIME_DMGEFF_ICE) {
|
||||
EnBigslime_GekkoFreeze(this);
|
||||
@ -2721,7 +2721,7 @@ void EnBigslime_AddIceShardEffect(EnBigslime* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_ICE_BROKEN);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_ICE_BROKEN);
|
||||
EnBigslime_InitShockwave(this, globalCtx);
|
||||
}
|
||||
|
||||
@ -2790,9 +2790,9 @@ void EnBigslime_UpdateBigslime(Actor* thisx, GlobalContext* globalCtx) {
|
||||
this->actionFunc(this, globalCtx);
|
||||
|
||||
if (this->actionFunc != EnBigslime_FormBigslime) {
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
} else {
|
||||
Actor_SetVelocityAndMoveXYRotation(&this->actor);
|
||||
Actor_MoveWithoutGravity(&this->actor);
|
||||
}
|
||||
|
||||
if (this->actionFunc != EnBigslime_JumpGekko) {
|
||||
@ -2830,9 +2830,9 @@ void EnBigslime_UpdateGekko(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
if (this->actionFunc != EnBigslime_FormBigslime) {
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
} else {
|
||||
Actor_SetVelocityAndMoveXYRotation(&this->actor);
|
||||
Actor_MoveWithoutGravity(&this->actor);
|
||||
}
|
||||
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 20.0f, 40.0f, 80.0f, 0x1F);
|
||||
|
@ -105,7 +105,7 @@ void func_809CCEE8(EnBji01* this, GlobalContext* globalCtx) {
|
||||
this->actor.flags &= ~0x10000;
|
||||
}
|
||||
}
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
globalCtx->msgCtx.unk11F22 = 0;
|
||||
globalCtx->msgCtx.unk11F10 = 0;
|
||||
func_809CD028(this, globalCtx);
|
||||
@ -118,7 +118,7 @@ void func_809CCEE8(EnBji01* this, GlobalContext* globalCtx) {
|
||||
} else {
|
||||
this->moonsTear = (ObjMoonStone*)SubS_FindActor(globalCtx, NULL, ACTORCAT_PROP, ACTOR_OBJ_MOON_STONE);
|
||||
}
|
||||
func_800B8500(&this->actor, globalCtx, 60.0f, 10.0f, 0);
|
||||
func_800B8500(&this->actor, globalCtx, 60.0f, 10.0f, EXCH_ITEM_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -171,7 +171,8 @@ void func_809CD028(EnBji01* this, GlobalContext* globalCtx) {
|
||||
} else {
|
||||
this->textId = 0x5F1;
|
||||
}
|
||||
func_800B8500(&this->actor, globalCtx, this->actor.xzDistToPlayer, this->actor.playerHeightRel, 0);
|
||||
func_800B8500(&this->actor, globalCtx, this->actor.xzDistToPlayer, this->actor.playerHeightRel,
|
||||
EXCH_ITEM_NONE);
|
||||
break;
|
||||
case PLAYER_FORM_HUMAN:
|
||||
this->textId = 0x5F7;
|
||||
@ -204,7 +205,7 @@ void func_809CD028(EnBji01* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void EnBji01_DialogueHandler(EnBji01* this, GlobalContext* globalCtx) {
|
||||
switch (func_80152498(&globalCtx->msgCtx)) {
|
||||
switch (Message_GetState(&globalCtx->msgCtx)) {
|
||||
case 0:
|
||||
Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 0x444);
|
||||
func_809CCDE0(this, globalCtx);
|
||||
@ -322,7 +323,7 @@ void func_809CD70C(EnBji01* this, GlobalContext* globalCtx) {
|
||||
Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 0x444);
|
||||
func_809CCDE0(this, globalCtx);
|
||||
if (this->actor.shape.rot.y == this->actor.yawTowardsPlayer) {
|
||||
func_800B86C8(&this->moonsTear->actor, globalCtx, &this->actor); /* Z-Target the Moon's Tear? */
|
||||
Actor_ChangeFocus(&this->moonsTear->actor, globalCtx, &this->actor); /* Z-Target the Moon's Tear? */
|
||||
this->actionFunc = func_809CD77C;
|
||||
}
|
||||
}
|
||||
@ -336,7 +337,7 @@ void func_809CD77C(EnBji01* this, GlobalContext* globalCtx) {
|
||||
void EnBji01_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnBji01* this = THIS;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 30.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 30.0f);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600578C, &D_06000FDC, this->jointTable, this->morphTable,
|
||||
BJI_LIMB_MAX);
|
||||
Collider_InitAndSetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
|
||||
@ -394,7 +395,7 @@ void EnBji01_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
Actor_SetHeight(&this->actor, 40.0f);
|
||||
Actor_SetFocus(&this->actor, 40.0f);
|
||||
Collider_UpdateCylinder(&this->actor, &this->collider);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ void EnBomjima_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 i;
|
||||
|
||||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 19.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 19.0f);
|
||||
this->actor.gravity = -3.0f;
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_cs_Skel_00F82C, &object_cs_Anim_0064B8, this->jointTable,
|
||||
this->morphTable, 21);
|
||||
@ -216,21 +216,21 @@ void func_80BFE524(EnBomjima* this) {
|
||||
if ((this->unk_2EC == 5) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 9.0f) || Animation_OnFrame(&this->skelAnime, 10.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 17.0f) || Animation_OnFrame(&this->skelAnime, 18.0f))) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
}
|
||||
|
||||
if ((this->unk_2EC == 18) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 0.0f) || Animation_OnFrame(&this->skelAnime, 2.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 4.0f) || Animation_OnFrame(&this->skelAnime, 6.0f))) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
}
|
||||
|
||||
if ((this->unk_2EC == 15) && Animation_OnFrame(&this->skelAnime, 15.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMBERS_LAND);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_BOMBERS_LAND);
|
||||
}
|
||||
|
||||
if ((this->unk_2EC == 6) && Animation_OnFrame(&this->skelAnime, 8.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMBERS_LAND);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_BOMBERS_LAND);
|
||||
}
|
||||
}
|
||||
|
||||
@ -326,7 +326,7 @@ void func_80BFE67C(EnBomjima* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_80BFEA94(EnBomjima* this, GlobalContext* globalCtx) {
|
||||
Actor* actor = globalCtx->actorCtx.actorList[ACTORCAT_PROP].first;
|
||||
Actor* actor = globalCtx->actorCtx.actorLists[ACTORCAT_PROP].first;
|
||||
|
||||
while (actor != NULL) {
|
||||
if (actor->id != ACTOR_EN_BOMBAL) {
|
||||
@ -379,7 +379,7 @@ void func_80BFEB64(EnBomjima* this, GlobalContext* globalCtx) {
|
||||
this->actor.textId = Text_GetFaceReaction(globalCtx, 0x11);
|
||||
}
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
this->unk_2DC = this->actor.yawTowardsPlayer;
|
||||
func_80C00234(this);
|
||||
return;
|
||||
@ -405,7 +405,7 @@ void func_80BFEB64(EnBomjima* this, GlobalContext* globalCtx) {
|
||||
this->unk_2DC = Math_Vec3f_Yaw(&this->actor.world.pos, &this->unk_2F0->actor.world.pos);
|
||||
if (Animation_OnFrame(&this->skelAnime, 19.0f)) {
|
||||
this->unk_2C0 = 5;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMBERS_SHOT_BREATH);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_BOMBERS_SHOT_BREATH);
|
||||
}
|
||||
|
||||
if (this->unk_2C0 == 1) {
|
||||
@ -498,7 +498,7 @@ void func_80BFF174(EnBomjima* this, GlobalContext* globalCtx) {
|
||||
this->actor.textId = Text_GetFaceReaction(globalCtx, 0x11);
|
||||
}
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
this->unk_2DC = this->actor.yawTowardsPlayer;
|
||||
func_80C00234(this);
|
||||
return;
|
||||
@ -573,7 +573,7 @@ void func_80BFF430(EnBomjima* this, GlobalContext* globalCtx) {
|
||||
if (bombal != NULL) {
|
||||
bombal->unk_150 = 0.0f;
|
||||
bombal->unk_14C = this->unk_2F4;
|
||||
func_800B86C8(&this->actor, globalCtx, &bombal->actor);
|
||||
Actor_ChangeFocus(&this->actor, globalCtx, &bombal->actor);
|
||||
gSaveContext.weekEventReg[83] &= (u8)~4;
|
||||
func_80BFE65C(this);
|
||||
func_801477B4(globalCtx);
|
||||
@ -589,7 +589,7 @@ void func_80BFF4F4(EnBomjima* this) {
|
||||
}
|
||||
|
||||
void func_80BFF52C(EnBomjima* this, GlobalContext* globalCtx) {
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 4) && func_80147624(globalCtx)) {
|
||||
if ((Message_GetState(&globalCtx->msgCtx) == 4) && func_80147624(globalCtx)) {
|
||||
func_801477B4(globalCtx);
|
||||
if (globalCtx->msgCtx.choiceIndex == 0) {
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
@ -632,7 +632,7 @@ void func_80BFF6CC(EnBomjima* this, GlobalContext* globalCtx) {
|
||||
f32 curFrame = this->skelAnime.curFrame;
|
||||
|
||||
if (this->unk_2CC <= curFrame) {
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
if ((Message_GetState(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
func_801477B4(globalCtx);
|
||||
func_80BFE494(this, 1, 1.0f);
|
||||
this->actionFunc = func_80BFF754;
|
||||
@ -761,7 +761,7 @@ void func_80BFF9B0(EnBomjima* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_80BFFB40(EnBomjima* this, GlobalContext* globalCtx) {
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
if ((Message_GetState(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
func_801477B4(globalCtx);
|
||||
func_80BFE494(this, 15, 1.0f);
|
||||
D_80C009F0 = 100;
|
||||
@ -868,7 +868,7 @@ void func_80BFFF54(EnBomjima* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (this->unk_2EC == 8) {
|
||||
if ((D_80C009F4 == 1) && Animation_OnFrame(&this->skelAnime, 7.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_HUMAN_BOUND);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_HUMAN_BOUND);
|
||||
D_80C009F4 = 2;
|
||||
}
|
||||
|
||||
@ -905,7 +905,7 @@ void func_80C00168(EnBomjima* this, GlobalContext* globalCtx) {
|
||||
this->actor.textId = Text_GetFaceReaction(globalCtx, 0x11);
|
||||
}
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
this->unk_2DC = this->actor.yawTowardsPlayer;
|
||||
func_80C00234(this);
|
||||
} else {
|
||||
@ -945,7 +945,7 @@ void func_80C00284(EnBomjima* this, GlobalContext* globalCtx) {
|
||||
this->unk_28E = -6000;
|
||||
}
|
||||
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
if ((Message_GetState(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
this->collider.dim.radius = 10;
|
||||
this->collider.dim.height = 30;
|
||||
if ((this->unk_2A0 == 4) || (this->unk_2CA == 1) || ((this->unk_2CA == 3) && (this->unk_2C8 >= 2))) {
|
||||
@ -1044,9 +1044,9 @@ void EnBomjima_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
func_80BFE524(this);
|
||||
Actor_SetHeight(&this->actor, 20.0f);
|
||||
Actor_SetFocus(&this->actor, 20.0f);
|
||||
this->actionFunc(this, globalCtx);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
Math_SmoothStepToS(&this->unk_28A, this->unk_290, 1, 5000, 0);
|
||||
Math_SmoothStepToS(&this->unk_288, this->unk_28E, 1, 1000, 0);
|
||||
Math_SmoothStepToS(&this->unk_294, this->unk_29A, 1, 1000, 0);
|
||||
|
@ -76,7 +76,7 @@ void EnBomjimb_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnBomjimb* this = THIS;
|
||||
|
||||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 19.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 19.0f);
|
||||
this->actor.gravity = -2.0f;
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_cs_Skel_00F82C, &object_cs_Anim_0064B8, this->jointTable,
|
||||
this->morphTable, 21);
|
||||
@ -181,20 +181,20 @@ void func_80C011CC(EnBomjimb* this) {
|
||||
if ((this->unk_2DC == 5) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 9.0f) || Animation_OnFrame(&this->skelAnime, 10.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 17.0f) || Animation_OnFrame(&this->skelAnime, 18.0f))) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
}
|
||||
|
||||
if ((this->unk_2DC == 19) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 2.0f) || Animation_OnFrame(&this->skelAnime, 6.0f))) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
}
|
||||
|
||||
if ((this->unk_2DC == 18) && Animation_OnFrame(&this->skelAnime, 15.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMBERS_LAND);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_BOMBERS_LAND);
|
||||
}
|
||||
|
||||
if ((this->unk_2DC == 7) && Animation_OnFrame(&this->skelAnime, 8.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMBERS_LAND);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_BOMBERS_LAND);
|
||||
}
|
||||
}
|
||||
|
||||
@ -447,7 +447,7 @@ void func_80C01CD0(EnBomjimb* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if ((this->unk_2C0 == 0) && (this->unk_2E4->bgCheckFlags & 1)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_PUT_DOWN_WOODBOX);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_PUT_DOWN_WOODBOX);
|
||||
this->unk_2C0 = 1;
|
||||
}
|
||||
|
||||
@ -501,7 +501,7 @@ void func_80C0201C(EnBomjimb* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
this->unk_2CA = 10;
|
||||
this->actionFunc = func_80C02A14;
|
||||
} else {
|
||||
@ -691,7 +691,7 @@ void func_80C02740(EnBomjimb* this, GlobalContext* globalCtx) {
|
||||
if (gSaveContext.unk_FE6 > 4) {
|
||||
func_801A3098(0x922);
|
||||
} else {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_SY_PIECE_OF_HEART);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_SY_PIECE_OF_HEART);
|
||||
}
|
||||
|
||||
switch (this->unk_2C8) {
|
||||
@ -747,7 +747,7 @@ void func_80C02A14(EnBomjimb* this, GlobalContext* globalCtx) {
|
||||
player->actor.freezeTimer = 3;
|
||||
if (this->unk_2E0 == 0) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 7.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_HUMAN_BOUND);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_HUMAN_BOUND);
|
||||
this->unk_2E0 = 1;
|
||||
}
|
||||
}
|
||||
@ -757,7 +757,7 @@ void func_80C02A14(EnBomjimb* this, GlobalContext* globalCtx) {
|
||||
player->actor.freezeTimer = 3;
|
||||
}
|
||||
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
if ((Message_GetState(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
func_801477B4(globalCtx);
|
||||
if ((this->unk_2CA == 8) && (gSaveContext.unk_FE6 >= 5)) {
|
||||
func_80C02CA4(this, globalCtx);
|
||||
@ -776,7 +776,7 @@ void func_80C02BCC(EnBomjimb* this, GlobalContext* globalCtx) {
|
||||
Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 1, 5000, 0);
|
||||
if (this->unk_2C0 == 0) {
|
||||
player->actor.freezeTimer = 3;
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
if ((Message_GetState(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
func_801477B4(globalCtx);
|
||||
this->unk_2C0 = 1;
|
||||
player->stateFlags1 &= ~0x10000000;
|
||||
@ -829,11 +829,11 @@ void EnBomjimb_Update(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
func_80C011CC(this);
|
||||
Actor_SetHeight(&this->actor, 20.0f);
|
||||
Actor_SetFocus(&this->actor, 20.0f);
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
|
||||
if (this->unk_2CA == 0) {
|
||||
if ((this->unk_2E4 != NULL) && (this->unk_2E4->update != NULL)) {
|
||||
|
@ -9,7 +9,11 @@ typedef void (*EnBoxActionFunc)(struct EnBox*, GlobalContext*);
|
||||
|
||||
typedef struct EnBox {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x0144 */ char unk_144[0xBC];
|
||||
/* 0x0144 */ char unk_144[0xAC];
|
||||
/* 0x01F0 */ char unk_1F0[0x01];
|
||||
/* 0x01F1 */ u8 unk_1F1;
|
||||
/* 0x01F2 */ char unk_1F2[0x02];
|
||||
/* 0x01F4 */ char unk_1F4[0x0C];
|
||||
/* 0x0200 */ EnBoxActionFunc actionFunc;
|
||||
/* 0x0204 */ char unk_204[0x20];
|
||||
} EnBox; // size = 0x224
|
||||
|
@ -44,7 +44,7 @@ void EnBu_DoNothing(EnBu* this, GlobalContext* globalCtx) {
|
||||
void EnBu_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnBu* this = THIS;
|
||||
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
|
@ -86,12 +86,12 @@ void EnCha_Ring(EnCha* this, GlobalContext* globalCtx) {
|
||||
|
||||
void EnCha_Idle(EnCha* this, GlobalContext* globalCtx) {
|
||||
if (gSaveContext.weekEventReg[60] & 4) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_DOOR_BELL);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_DOOR_BELL);
|
||||
gSaveContext.weekEventReg[60] &= 0xFB;
|
||||
this->actor.home.rot.z = 0x7D0;
|
||||
}
|
||||
if (this->collider.base.acFlags & AC_HIT) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_DOOR_BELL);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_DOOR_BELL);
|
||||
this->actor.home.rot.z = 0x7D0;
|
||||
if (!(gSaveContext.weekEventReg[51] & 4)) {
|
||||
gSaveContext.weekEventReg[51] |= 4;
|
||||
@ -117,8 +117,8 @@ void EnCha_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
void EnCha_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnCha* this = THIS;
|
||||
|
||||
func_800BDFC0(globalCtx, D_06000710);
|
||||
Gfx_DrawDListOpa(globalCtx, D_06000710);
|
||||
Matrix_InsertTranslation(-1094.0f, 4950.0f, 9.0f, MTXMODE_APPLY);
|
||||
Matrix_InsertXRotation_s(this->actor.home.rot.x, MTXMODE_APPLY);
|
||||
func_800BDFC0(globalCtx, D_06000958);
|
||||
Gfx_DrawDListOpa(globalCtx, D_06000958);
|
||||
}
|
||||
|
@ -556,7 +556,7 @@ void EnClearTag_UpdateCamera(EnClearTag* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
player->actor.speedXZ = 0.0f;
|
||||
if (func_80152498(&globalCtx->msgCtx) == 0) {
|
||||
if (Message_GetState(&globalCtx->msgCtx) == 0) {
|
||||
camera = Play_GetCamera(globalCtx, MAIN_CAM);
|
||||
camera->eye = this->eye;
|
||||
camera->eyeNext = this->eye;
|
||||
|
@ -73,11 +73,11 @@ void EnColMan_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
case EN_COL_MAN_HEART_PIECE:
|
||||
case EN_COL_MAN_RECOVERY_HEART:
|
||||
default:
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 10.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 10.0f);
|
||||
func_80AFDD60(this);
|
||||
break;
|
||||
case EN_COL_MAN_FALLING_ROCK:
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 10.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 10.0f);
|
||||
func_80AFDF60(this);
|
||||
break;
|
||||
case EN_COL_MAN_CUTSCENE_BOMB:
|
||||
@ -131,14 +131,14 @@ void func_80AFDE00(EnColMan* this, GlobalContext* globalCtx) {
|
||||
this->actor.draw = NULL;
|
||||
this->actionFunc = EnColMan_SetHeartPieceCollectedAndKill;
|
||||
} else if (!(gSaveContext.weekEventReg[56] & 2)) {
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_HEART_PIECE, 40.0f, 40.0f);
|
||||
Actor_PickUp(&this->actor, globalCtx, GI_HEART_PIECE, 40.0f, 40.0f);
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_RECOVERY_HEART, 40.0f, 40.0f);
|
||||
Actor_PickUp(&this->actor, globalCtx, GI_RECOVERY_HEART, 40.0f, 40.0f);
|
||||
}
|
||||
}
|
||||
|
||||
void EnColMan_SetHeartPieceCollectedAndKill(EnColMan* this, GlobalContext* globalCtx) {
|
||||
if (func_80152498(&globalCtx->msgCtx) == 6 && func_80147624(globalCtx)) {
|
||||
if (Message_GetState(&globalCtx->msgCtx) == 6 && func_80147624(globalCtx)) {
|
||||
gSaveContext.weekEventReg[56] |= 2;
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
}
|
||||
@ -167,7 +167,7 @@ void func_80AFDFB4(EnColMan* this, GlobalContext* globalCtx) {
|
||||
this->actor.speedXZ = 2.0f + BREG(56) + Rand_ZeroFloat(2.0f);
|
||||
this->actor.velocity.y = 12.0f + BREG(57) + Rand_ZeroFloat(5.0f);
|
||||
this->hasSetRandomValues = true;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_ANSATSUSYA_ROCK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_ANSATSUSYA_ROCK);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -210,7 +210,7 @@ void func_80AFE25C(EnColMan* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_IT_BOMB_EXPLOSION);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_IT_BOMB_EXPLOSION);
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
}
|
||||
}
|
||||
@ -221,7 +221,7 @@ void EnColMan_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
Actor_SetScale(&this->actor, this->scale);
|
||||
this->actionFunc(this, globalCtx);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 30.0f, 30.0f, 30.0f, 0x1F);
|
||||
Collider_UpdateCylinder(&this->actor, &this->collider);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
|
@ -108,7 +108,7 @@ void EnCow_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 pad;
|
||||
EnCow* this = THIS;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 72.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 72.0f);
|
||||
|
||||
switch (EN_COW_TYPE(thisx)) {
|
||||
case EN_COW_TYPE_DEFAULT:
|
||||
@ -207,7 +207,7 @@ void EnCow_UpdateAnimation(EnCow* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void EnCow_TalkEnd(EnCow* this, GlobalContext* globalCtx) {
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
if ((Message_GetState(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
this->actor.flags &= ~0x10000;
|
||||
func_801477B4(globalCtx);
|
||||
this->actionFunc = EnCow_Idle;
|
||||
@ -215,7 +215,7 @@ void EnCow_TalkEnd(EnCow* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void EnCow_GiveMilkEnd(EnCow* this, GlobalContext* globalCtx) {
|
||||
if (func_800B867C(&this->actor, globalCtx)) {
|
||||
if (Actor_TextboxIsClosing(&this->actor, globalCtx)) {
|
||||
this->actor.flags &= ~0x10000;
|
||||
this->actionFunc = EnCow_Idle;
|
||||
}
|
||||
@ -226,21 +226,21 @@ void EnCow_GiveMilkWait(EnCow* this, GlobalContext* globalCtx) {
|
||||
this->actor.parent = NULL;
|
||||
this->actionFunc = EnCow_GiveMilkEnd;
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MILK, 10000.0f, 100.0f);
|
||||
Actor_PickUp(&this->actor, globalCtx, GI_MILK, 10000.0f, 100.0f);
|
||||
}
|
||||
}
|
||||
|
||||
void EnCow_GiveMilk(EnCow* this, GlobalContext* globalCtx) {
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
if ((Message_GetState(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
this->actor.flags &= ~0x10000;
|
||||
func_801477B4(globalCtx);
|
||||
this->actionFunc = EnCow_GiveMilkWait;
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MILK, 10000.0f, 100.0f);
|
||||
Actor_PickUp(&this->actor, globalCtx, GI_MILK, 10000.0f, 100.0f);
|
||||
}
|
||||
}
|
||||
|
||||
void EnCow_CheckForEmptyBottle(EnCow* this, GlobalContext* globalCtx) {
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
if ((Message_GetState(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
if (func_80114E90()) {
|
||||
func_80151938(globalCtx, 0x32C9); // Text to give milk.
|
||||
this->actionFunc = EnCow_GiveMilk;
|
||||
@ -252,7 +252,7 @@ void EnCow_CheckForEmptyBottle(EnCow* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void EnCow_Talk(EnCow* this, GlobalContext* globalCtx) {
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
if (this->actor.textId == 0x32C8) { // Text to give milk after playing Epona's Song.
|
||||
this->actionFunc = EnCow_CheckForEmptyBottle;
|
||||
} else if (this->actor.textId == 0x32C9) { // Text to give milk.
|
||||
@ -345,13 +345,13 @@ void EnCow_Update(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliders[0].base);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->colliders[1].base);
|
||||
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
|
||||
|
||||
if (SkelAnime_Update(&this->skelAnime)) {
|
||||
if (this->skelAnime.animation == &D_060001CC) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_COW_CRY);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_COW_CRY);
|
||||
Animation_Change(&this->skelAnime, &D_06004264, 1.0f, 0.0f, Animation_GetLastFrame(&D_06004264),
|
||||
ANIMMODE_ONCE, 1.0f);
|
||||
} else {
|
||||
|
@ -192,7 +192,7 @@ s32 func_80B3E69C(EnDai* this, GlobalContext* globalCtx) {
|
||||
if ((globalCtx->csCtx.state != 0) && (globalCtx->sceneNum == SCENE_12HAKUGINMAE) &&
|
||||
(globalCtx->csCtx.unk_12 == 0) && !(gSaveContext.weekEventReg[30] & 1)) {
|
||||
if (!(this->unk_1CE & 0x10)) {
|
||||
Actor_SetSwitchFlag(globalCtx, 20);
|
||||
Flags_SetSwitch(globalCtx, 20);
|
||||
this->unk_1CE |= (0x80 | 0x10);
|
||||
this->unk_1CE &= ~(0x100 | 0x20);
|
||||
this->unk_1CC = 0xFF;
|
||||
@ -216,7 +216,7 @@ s32 func_80B3E7C8(EnDai* this, GlobalContext* globalCtx) {
|
||||
s32 ret = false;
|
||||
|
||||
if (this->unk_1CE & 7) {
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
func_8013AED4(&this->unk_1CE, 0, 7);
|
||||
this->actionFunc = func_80B3EF90;
|
||||
ret = true;
|
||||
@ -304,7 +304,7 @@ s32 func_80B3E96C(EnDai* this, GlobalContext* globalCtx) {
|
||||
break;
|
||||
|
||||
case 1:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_SNOWSTORM_HARD);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_SNOWSTORM_HARD);
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_WEATHER_TAG, this->actor.world.pos.x,
|
||||
this->actor.world.pos.y, this->actor.world.pos.z, 0x1388, 0x708, 0x3E8, 0);
|
||||
func_80B3E5DC(this, 3);
|
||||
@ -470,7 +470,7 @@ void func_80B3F044(EnDai* this, GlobalContext* globalCtx) {
|
||||
break;
|
||||
|
||||
case 2:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_ROLL_AND_FALL);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_ROLL_AND_FALL);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
@ -493,27 +493,27 @@ void func_80B3F044(EnDai* this, GlobalContext* globalCtx) {
|
||||
|
||||
case 2:
|
||||
if (globalCtx->csCtx.frames == 360) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DAIGOLON_SLEEP3 - SFX_FLAG);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DAIGOLON_SLEEP3 - SFX_FLAG);
|
||||
}
|
||||
if (Animation_OnFrame(&this->skelAnime, 43.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_GORON_BOUND_1);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_GORON_BOUND_1);
|
||||
}
|
||||
this->unk_1D6 = func_80B3E8BC(this, this->unk_1CC);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (Animation_OnFrame(&this->skelAnime, 6.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DAIGOLON_SLEEP1);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DAIGOLON_SLEEP1);
|
||||
}
|
||||
this->unk_1D6 = func_80B3E8BC(this, this->unk_1CC);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
if (Animation_OnFrame(&this->skelAnime, 30.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DAIGOLON_SLEEP2);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DAIGOLON_SLEEP2);
|
||||
}
|
||||
if (Animation_OnFrame(&this->skelAnime, 35.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_GORON_BOUND_0);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_GORON_BOUND_0);
|
||||
}
|
||||
this->unk_1D6 = func_80B3E8BC(this, this->unk_1CC);
|
||||
break;
|
||||
@ -525,7 +525,7 @@ void func_80B3F044(EnDai* this, GlobalContext* globalCtx) {
|
||||
void EnDai_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnDai* this = THIS;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 0.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 0.0f);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060130D0, NULL, this->jointTable, this->morphTable, 19);
|
||||
this->unk_A70 = -1;
|
||||
func_80B3E5DC(this, 0);
|
||||
|
@ -76,7 +76,7 @@ void EnDaiku_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnDaiku* this = THIS;
|
||||
|
||||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 40.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 40.0f);
|
||||
this->actor.targetMode = 0;
|
||||
Collider_InitAndSetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
|
||||
this->unk_278 = ENDAIKU_GET_FF(&this->actor);
|
||||
@ -195,7 +195,7 @@ void func_809438F8(EnDaiku* this, GlobalContext* globalCtx) {
|
||||
this->actor.textId = sTextIds[this->unk_28C];
|
||||
}
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
func_80943BC0(this);
|
||||
return;
|
||||
}
|
||||
@ -255,7 +255,7 @@ void func_80943BDC(EnDaiku* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
}
|
||||
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
if ((Message_GetState(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
func_801477B4(globalCtx);
|
||||
func_80943820(this);
|
||||
}
|
||||
@ -286,8 +286,8 @@ void EnDaiku_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
Actor_SetHeight(&this->actor, 65.0f);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_SetFocus(&this->actor, 65.0f);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
Math_SmoothStepToS(&this->unk_260, this->unk_266, 1, 0xBB8, 0);
|
||||
Math_SmoothStepToS(&this->unk_25E, this->unk_264, 1, 0xBB8, 0);
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 20.0f, 20.0f, 50.0f, 0x1D);
|
||||
|
@ -95,7 +95,7 @@ void EnDaiku2_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
s32 day = gSaveContext.day;
|
||||
|
||||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 40.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 40.0f);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600A850, &D_06002FA0, this->jointTable, this->morphTable, 17);
|
||||
this->actor.targetMode = 0;
|
||||
Collider_InitAndSetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
|
||||
@ -158,7 +158,7 @@ s32 func_80BE64C0(EnDaiku2* this, GlobalContext* globalCtx) {
|
||||
|
||||
Math_Vec3f_Copy(&sp30, &this->actor.world.pos);
|
||||
Math_Vec3f_Copy(&this->actor.world.pos, &this->actor.home.pos);
|
||||
bomb = (EnBom*)func_800BE0B8(globalCtx, &this->actor, -1, ACTORCAT_EXPLOSIVES, BREG(7) + 240.0f);
|
||||
bomb = (EnBom*)Actor_FindNearby(globalCtx, &this->actor, -1, ACTORCAT_EXPLOSIVES, BREG(7) + 240.0f);
|
||||
Math_Vec3f_Copy(&this->actor.world.pos, &sp30);
|
||||
if ((this->unk_278 >= ENDAIKU2_GET_7F_0) && !Flags_GetSwitch(globalCtx, this->unk_278) && (bomb != NULL) &&
|
||||
(bomb->actor.id == ACTOR_EN_BOM)) {
|
||||
@ -233,7 +233,7 @@ void func_80BE66E4(EnDaiku2* this, GlobalContext* globalCtx) {
|
||||
|
||||
this->actor.textId = sTextIds[this->unk_28A];
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
func_80BE6B40(this, globalCtx);
|
||||
return;
|
||||
}
|
||||
@ -245,7 +245,7 @@ void func_80BE66E4(EnDaiku2* this, GlobalContext* globalCtx) {
|
||||
|
||||
func_800B8614(&this->actor, globalCtx, 80.0f);
|
||||
if ((this->unk_276 == 8) && Animation_OnFrame(&this->skelAnime, 6.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_ROCK_BROKEN);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_ROCK_BROKEN);
|
||||
|
||||
for (i = 0; i < 10; i++) {
|
||||
Math_Vec3f_Copy(&sp70, &this->actor.world.pos);
|
||||
@ -304,7 +304,7 @@ void func_80BE6B40(EnDaiku2* this, GlobalContext* globalCtx) {
|
||||
|
||||
void func_80BE6BC0(EnDaiku2* this, GlobalContext* globalCtx) {
|
||||
Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 1, 0xBB8, 0x0);
|
||||
if ((func_80152498(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
if ((Message_GetState(&globalCtx->msgCtx) == 5) && func_80147624(globalCtx)) {
|
||||
s32 day = gSaveContext.day - 1;
|
||||
|
||||
func_801477B4(globalCtx);
|
||||
@ -342,7 +342,7 @@ void func_80BE6D40(EnDaiku2* this, GlobalContext* globalCtx) {
|
||||
s32 pad[3];
|
||||
s16 sp3A = Math_Vec3f_Yaw(&this->actor.world.pos, &this->unk_268);
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
this->actionFunc = func_80BE6BC0;
|
||||
return;
|
||||
}
|
||||
@ -376,7 +376,7 @@ void func_80BE6EF0(EnDaiku2* this, GlobalContext* globalCtx) {
|
||||
Vec3f sp40;
|
||||
s16 var;
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
this->actionFunc = func_80BE6BC0;
|
||||
return;
|
||||
}
|
||||
@ -460,8 +460,8 @@ void EnDaiku2_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
this->actionFunc(this, globalCtx);
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
Actor_SetHeight(&this->actor, 65.0f);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_SetFocus(&this->actor, 65.0f);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
Math_ApproachF(&this->unk_260, this->unk_264, 0.3f, 2.0f);
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 20.0f, 20.0f, 50.0f, 0x1D);
|
||||
Collider_UpdateCylinder(&this->actor, &this->collider);
|
||||
|
@ -131,7 +131,7 @@ void EnDekunuts_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnDekunuts* this = THIS;
|
||||
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 35.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 35.0f);
|
||||
SkelAnime_Init(globalCtx, &this->skelAnime, &D_06002468, &D_0600326C, this->jointTable, this->morphTable, 10);
|
||||
Collider_InitAndSetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
|
||||
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
|
||||
@ -165,7 +165,7 @@ void func_808BD348(EnDekunuts* this) {
|
||||
this->unk_210 = 1.0f;
|
||||
this->collider.base.colType = COLTYPE_HIT3;
|
||||
this->unk_190 = 80;
|
||||
func_800BCB70(&this->actor, 0x4000, 255, 0, 80);
|
||||
Actor_SetColorFilter(&this->actor, 0x4000, 255, 0, 80);
|
||||
}
|
||||
|
||||
void func_808BD3B4(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
@ -173,7 +173,7 @@ void func_808BD3B4(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
this->unk_18E = 0;
|
||||
this->collider.base.colType = COLTYPE_HIT6;
|
||||
this->unk_210 = 0.0f;
|
||||
func_800BF7CC(globalCtx, &this->actor, this->unk_21C, 8, 2, 0.2f, 0.2f);
|
||||
Actor_SpawnIceEffects(globalCtx, &this->actor, this->unk_21C, 8, 2, 0.2f, 0.2f);
|
||||
}
|
||||
}
|
||||
|
||||
@ -200,7 +200,7 @@ void func_808BD49C(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 9.0f)) {
|
||||
this->collider.base.acFlags |= AC_ON;
|
||||
} else if (Animation_OnFrame(&this->skelAnime, 8.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_UP);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_NUTS_UP);
|
||||
}
|
||||
|
||||
this->collider.dim.height = (s32)((CLAMP(this->skelAnime.curFrame, 9.0f, 12.0f) - 9.0f) * 9.0f) + 5;
|
||||
@ -333,7 +333,7 @@ void func_808BDA4C(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_NUTSBALL, pos.x, pos.y, pos.z,
|
||||
this->actor.world.rot.x, this->actor.shape.rot.y, 0, params) != NULL) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_THROW);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_NUTS_THROW);
|
||||
}
|
||||
} else if ((this->unk_190 >= 2) && Animation_OnFrame(&this->skelAnime, 12.0f)) {
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &D_06000168, -3.0f);
|
||||
@ -346,7 +346,7 @@ void func_808BDA4C(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
void func_808BDC9C(EnDekunuts* this) {
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &D_06002A5C, -5.0f);
|
||||
this->unk_190 = 0;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DOWN);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_NUTS_DOWN);
|
||||
this->actionFunc = func_808BDD54;
|
||||
}
|
||||
|
||||
@ -354,7 +354,7 @@ void func_808BDCF0(EnDekunuts* this) {
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &D_06002A5C, -5.0f);
|
||||
this->collider.base.acFlags &= ~AC_ON;
|
||||
this->unk_190 = 80;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DOWN);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_NUTS_DOWN);
|
||||
this->actionFunc = func_808BDD54;
|
||||
}
|
||||
|
||||
@ -382,7 +382,7 @@ void func_808BDE7C(EnDekunuts* this) {
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &D_06002DD4, -3.0f);
|
||||
this->collider.dim.height = 37;
|
||||
this->actor.colChkInfo.mass = 50;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DAMAGE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_NUTS_DAMAGE);
|
||||
this->actor.world.rot.x = 0;
|
||||
this->actor.flags |= 0x20;
|
||||
this->collider.base.acFlags &= ~AC_ON;
|
||||
@ -418,7 +418,7 @@ void func_808BDFB8(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (this->unk_18C != 0) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_NUTS_WALK);
|
||||
this->unk_18C = 0;
|
||||
} else {
|
||||
this->unk_18C = 1;
|
||||
@ -490,9 +490,9 @@ void func_808BE294(EnDekunuts* this, s32 arg1) {
|
||||
this->actor.world.rot.x = 0;
|
||||
this->collider.base.acFlags &= ~AC_ON;
|
||||
this->actionFunc = func_808BE358;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DAMAGE);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_CUTBODY);
|
||||
func_800BCB70(&this->actor, 0x4000, 255, 0, Animation_GetLastFrame(&D_0600259C));
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_NUTS_DAMAGE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_CUTBODY);
|
||||
Actor_SetColorFilter(&this->actor, 0x4000, 255, 0, Animation_GetLastFrame(&D_0600259C));
|
||||
}
|
||||
|
||||
void func_808BE358(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
@ -534,7 +534,7 @@ void func_808BE484(EnDekunuts* this) {
|
||||
Animation_PlayOnce(&this->skelAnime, &D_06002BD4);
|
||||
this->actionFunc = func_808BE4D4;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_NUTS_DEAD);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_NUTS_DEAD);
|
||||
}
|
||||
|
||||
void func_808BE4D4(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
@ -578,7 +578,7 @@ void func_808BE6C4(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
void func_808BE73C(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
if (this->collider.base.acFlags & AC_HIT) {
|
||||
this->collider.base.acFlags &= ~AC_HIT;
|
||||
func_800BE258(&this->actor, &this->collider.info);
|
||||
Actor_SetDropFlag(&this->actor, &this->collider.info);
|
||||
if ((this->unk_18E != 10) || !(this->collider.info.acHitInfo->toucher.dmgFlags & 0xDB0B3)) {
|
||||
func_808BD3B4(this, globalCtx);
|
||||
if ((this->actor.colChkInfo.mass == 50) || (this->actor.params != ENDEKUNUTS_GET_FF00_0)) {
|
||||
@ -603,8 +603,8 @@ void func_808BE73C(EnDekunuts* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (this->actor.colChkInfo.damageEffect == 1) {
|
||||
this->unk_190 = 40;
|
||||
func_800BCB70(&this->actor, 0, 255, 0, 40);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_COMMON_FREEZE);
|
||||
Actor_SetColorFilter(&this->actor, 0, 255, 0, 40);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_COMMON_FREEZE);
|
||||
func_808BE3A8(this);
|
||||
return;
|
||||
}
|
||||
@ -651,7 +651,7 @@ void EnDekunuts_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
func_808BE73C(this, globalCtx);
|
||||
this->actionFunc(this, globalCtx);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 20.0f, this->collider.dim.radius, this->collider.dim.height, 0x1D);
|
||||
Collider_UpdateCylinder(&this->actor, &this->collider);
|
||||
|
||||
@ -747,7 +747,7 @@ void EnDekunuts_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
if (this->actor.colorFilterTimer != 0) {
|
||||
func_800AE5A0(globalCtx);
|
||||
}
|
||||
func_800BDFC0(globalCtx, D_06001E50);
|
||||
Gfx_DrawDListOpa(globalCtx, D_06001E50);
|
||||
func_800BE680(globalCtx, &this->actor, this->unk_21C, 8, this->unk_214, this->unk_218, this->unk_210,
|
||||
this->unk_18E);
|
||||
}
|
||||
|
@ -302,37 +302,37 @@ void func_80989864(EnDg* this, GlobalContext* globalCtx) {
|
||||
sp38.x = randPlusMinusPoint5Scaled(15.0f) + this->actor.world.pos.x;
|
||||
sp38.y = this->actor.world.pos.y;
|
||||
sp38.z = randPlusMinusPoint5Scaled(15.0f) + this->actor.world.pos.z;
|
||||
func_800BBDAC(globalCtx, &this->actor, &sp38, 10.0f, 0, 2.0f, 300, 0, 1);
|
||||
Actor_SpawnFloorDustRing(globalCtx, &this->actor, &sp38, 10.0f, 0, 2.0f, 300, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80989974(EnDg* this) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 1.0f) || Animation_OnFrame(&this->skelAnime, 7.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_MONKEY_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_MONKEY_WALK);
|
||||
}
|
||||
}
|
||||
|
||||
void func_809899C8(EnDg* this, f32 arg1) {
|
||||
if (Animation_OnFrame(&this->skelAnime, arg1)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_SMALL_DOG_BARK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_SMALL_DOG_BARK);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80989A08(EnDg* this, f32 arg1) {
|
||||
if (Animation_OnFrame(&this->skelAnime, arg1)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_SMALL_DOG_ANG_BARK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_SMALL_DOG_ANG_BARK);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80989A48(EnDg* this) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 23.0f) || Animation_OnFrame(&this->skelAnime, 28.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_SMALL_DOG_WHINE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_SMALL_DOG_WHINE);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80989A9C(EnDg* this, f32 arg1) {
|
||||
if (Animation_OnFrame(&this->skelAnime, arg1)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_SMALL_DOG_GROAN);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_SMALL_DOG_GROAN);
|
||||
}
|
||||
}
|
||||
|
||||
@ -402,7 +402,7 @@ void func_80989E18(EnDg* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (Actor_HasParent(&this->actor, globalCtx)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_SMALL_DOG_BARK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_SMALL_DOG_BARK);
|
||||
this->unk_290 = 1;
|
||||
D_8098C2FC = D_8098C2A8[this->unk_286];
|
||||
if (D_8098C2A0 == 0) {
|
||||
@ -422,12 +422,12 @@ void func_80989E18(EnDg* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc = func_8098BA64;
|
||||
}
|
||||
} else {
|
||||
func_800B8BB0(&this->actor, globalCtx);
|
||||
Actor_LiftActor(&this->actor, globalCtx);
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_80989FC8(GlobalContext* globalCtx) {
|
||||
EnDg* enemy = (EnDg*)globalCtx->actorCtx.actorList[ACTORCAT_ENEMY].first;
|
||||
EnDg* enemy = (EnDg*)globalCtx->actorCtx.actorLists[ACTORCAT_ENEMY].first;
|
||||
f32 minDist = 9999.0f;
|
||||
f32 dist;
|
||||
|
||||
@ -470,7 +470,7 @@ void func_8098A064(EnDg* this, GlobalContext* globalCtx) {
|
||||
} else if ((this->actionFunc == func_8098B004) || (this->actionFunc == func_8098AB48)) {
|
||||
if (DECR(this->unk_292) == 0) {
|
||||
this->unk_292 = 10;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_SMALL_DOG_BARK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_SMALL_DOG_BARK);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -567,7 +567,7 @@ void func_8098A468(EnDg* this, GlobalContext* globalCtx) {
|
||||
this->actor.velocity.y = 0.0f;
|
||||
this->actor.gravity = -3.0f;
|
||||
func_80989674(this, globalCtx);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
if (player->transformation == PLAYER_FORM_HUMAN) {
|
||||
func_80989E18(this, globalCtx);
|
||||
}
|
||||
@ -619,7 +619,7 @@ void func_8098A618(EnDg* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||
Math_ApproachF(&this->actor.speedXZ, -1.5f, 0.2f, 1.0f);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
}
|
||||
|
||||
func_80989974(this);
|
||||
@ -655,12 +655,12 @@ void func_8098A70C(EnDg* this, GlobalContext* globalCtx) {
|
||||
this->actor.speedXZ = 7.0f;
|
||||
}
|
||||
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
func_80989974(this);
|
||||
if (Animation_OnFrame(&this->skelAnime, 3.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_SMALL_DOG_CRY);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_SMALL_DOG_CRY);
|
||||
} else if (Animation_OnFrame(&this->skelAnime, 6.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_MONKEY_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_MONKEY_WALK);
|
||||
}
|
||||
}
|
||||
|
||||
@ -707,7 +707,7 @@ void func_8098A938(EnDg* this, GlobalContext* globalCtx) {
|
||||
Math_ApproachF(&this->actor.speedXZ, 5.0f, 0.2f, 1.0f);
|
||||
}
|
||||
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
func_80989974(this);
|
||||
func_80989A08(this, 5.0f);
|
||||
}
|
||||
@ -715,7 +715,7 @@ void func_8098A938(EnDg* this, GlobalContext* globalCtx) {
|
||||
void func_8098AAAC(EnDg* this, GlobalContext* globalCtx) {
|
||||
this->unk_280 &= ~8;
|
||||
Math_ApproachF(&this->actor.speedXZ, 3.5f, 0.1f, 0.5f);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
if (DECR(this->unk_28E) == 0) {
|
||||
this->unk_28E = 20;
|
||||
this->actionFunc = func_8098A938;
|
||||
@ -790,7 +790,7 @@ void func_8098AC34(EnDg* this, GlobalContext* globalCtx) {
|
||||
if (sp26 >= 0x18) {
|
||||
func_80989864(this, globalCtx);
|
||||
}
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
}
|
||||
|
||||
func_80989A9C(this, 10.0f);
|
||||
@ -808,7 +808,7 @@ void func_8098AE58(EnDg* this, GlobalContext* globalCtx) {
|
||||
Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 4, 0xC00);
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||
Math_ApproachF(&this->actor.speedXZ, 2.0f, 0.2f, 1.0f);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
}
|
||||
|
||||
func_80989974(this);
|
||||
@ -818,7 +818,7 @@ void func_8098AE58(EnDg* this, GlobalContext* globalCtx) {
|
||||
void func_8098AF44(EnDg* this, GlobalContext* globalCtx) {
|
||||
if (func_801A46F8() == 1) {
|
||||
this->unk_292 = 10;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_SMALL_DOG_BARK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_SMALL_DOG_BARK);
|
||||
this->actionFunc = func_8098B004;
|
||||
}
|
||||
}
|
||||
@ -829,7 +829,7 @@ void func_8098AF98(EnDg* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc = func_8098A468;
|
||||
}
|
||||
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
func_809899C8(this, 3.0f);
|
||||
}
|
||||
|
||||
@ -859,7 +859,7 @@ void func_8098B004(EnDg* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
func_8098A064(this, globalCtx);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
func_80989974(this);
|
||||
if (!(this->unk_280 & 0x20)) {
|
||||
func_809899C8(this, 3.0f);
|
||||
@ -881,7 +881,7 @@ void func_8098B198(EnDg* this, GlobalContext* globalCtx) {
|
||||
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||
Math_ApproachF(&this->actor.speedXZ, -1.0f, 0.2f, 1.0f);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
func_80989974(this);
|
||||
func_80989A9C(this, 4.0f);
|
||||
}
|
||||
@ -901,11 +901,11 @@ void func_8098B28C(EnDg* this, GlobalContext* globalCtx) {
|
||||
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||
Math_ApproachF(&this->actor.speedXZ, -2.0f, 0.2f, 1.0f);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
}
|
||||
|
||||
func_80989974(this);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_SMALL_DOG_GROAN);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_SMALL_DOG_GROAN);
|
||||
}
|
||||
|
||||
void func_8098B390(EnDg* this, GlobalContext* globalCtx) {
|
||||
@ -936,12 +936,12 @@ void func_8098B464(EnDg* this, GlobalContext* globalCtx) {
|
||||
this->actor.gravity = 0.0f;
|
||||
this->actor.velocity.y = -3.0f;
|
||||
this->unk_284 = 10;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_BOMB_DROP_WATER);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_BOMB_DROP_WATER);
|
||||
this->actionFunc = func_8098B560;
|
||||
}
|
||||
|
||||
Math_ApproachF(&this->actor.speedXZ, 1.0f, 0.2f, 1.0f);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
}
|
||||
|
||||
void func_8098B560(EnDg* this, GlobalContext* globalCtx) {
|
||||
@ -963,7 +963,7 @@ void func_8098B560(EnDg* this, GlobalContext* globalCtx) {
|
||||
if (DECR(this->unk_284) == 0) {
|
||||
if (!(this->unk_280 & 4)) {
|
||||
this->unk_280 |= 4;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_OUT_OF_WATER);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_OUT_OF_WATER);
|
||||
}
|
||||
this->unk_284 = 5;
|
||||
EffectSsGRipple_Spawn(globalCtx, &sp54, 100, 500, 30);
|
||||
@ -999,7 +999,7 @@ void func_8098B560(EnDg* this, GlobalContext* globalCtx) {
|
||||
this->unk_280 &= ~4;
|
||||
this->unk_28C = 8;
|
||||
this->unk_282 = Rand_S16Offset(60, 60);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_OUT_OF_WATER);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_OUT_OF_WATER);
|
||||
func_80989140(&this->skelAnime, sAnimations, 2);
|
||||
Math_ApproachF(&this->actor.speedXZ, 3.5f, 0.2f, 1.0f);
|
||||
this->actionFunc = func_8098A468;
|
||||
@ -1008,7 +1008,7 @@ void func_8098B560(EnDg* this, GlobalContext* globalCtx) {
|
||||
Math_SmoothStepToS(&this->actor.world.rot.y, sp46, 4, 0x3E8, 1);
|
||||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
Math_ApproachF(&this->actor.speedXZ, 0.5f, 0.2f, 1.0f);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
}
|
||||
|
||||
void func_8098B88C(EnDg* this, GlobalContext* globalCtx) {
|
||||
@ -1040,7 +1040,7 @@ void func_8098B88C(EnDg* this, GlobalContext* globalCtx) {
|
||||
this->actor.velocity.y = 10.0f;
|
||||
this->actor.gravity = -3.0f;
|
||||
this->unk_282 = Rand_S16Offset(60, 60);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_OUT_OF_WATER);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_OUT_OF_WATER);
|
||||
func_80989140(&this->skelAnime, sAnimations, 2);
|
||||
this->actionFunc = func_8098A468;
|
||||
Math_ApproachF(&this->actor.speedXZ, 3.5f, 0.2f, 1.0f);
|
||||
@ -1048,7 +1048,7 @@ void func_8098B88C(EnDg* this, GlobalContext* globalCtx) {
|
||||
Math_ApproachF(&this->actor.speedXZ, 0.5f, 0.2f, 1.0f);
|
||||
}
|
||||
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
}
|
||||
|
||||
void func_8098BA64(EnDg* this, GlobalContext* globalCtx) {
|
||||
@ -1063,7 +1063,7 @@ void func_8098BA64(EnDg* this, GlobalContext* globalCtx) {
|
||||
this->unk_288 = -1;
|
||||
D_8098C2FC.unk_02 = this->unk_288;
|
||||
this->unk_28A = 100;
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
this->unk_280 |= 0x10;
|
||||
this->actionFunc = func_8098BB10;
|
||||
}
|
||||
@ -1075,7 +1075,7 @@ void func_8098BB10(EnDg* this, GlobalContext* globalCtx) {
|
||||
if (this->actor.bgCheckFlags & 1) {
|
||||
if (this->unk_280 & 0x10) {
|
||||
this->unk_280 &= ~0x10;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_MONKEY_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_MONKEY_WALK);
|
||||
}
|
||||
|
||||
this->actor.speedXZ = 0.0f;
|
||||
@ -1091,11 +1091,11 @@ void func_8098BB10(EnDg* this, GlobalContext* globalCtx) {
|
||||
this->actionFunc = func_8098A468;
|
||||
}
|
||||
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
}
|
||||
|
||||
void func_8098BBEC(EnDg* this, GlobalContext* globalCtx) {
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
this->actor.flags &= ~0x10000;
|
||||
func_80989D38(this, globalCtx);
|
||||
this->actionFunc = func_8098BC54;
|
||||
@ -1105,7 +1105,7 @@ void func_8098BBEC(EnDg* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_8098BC54(EnDg* this, GlobalContext* globalCtx) {
|
||||
if (func_80152498(&globalCtx->msgCtx) == 2) {
|
||||
if (Message_GetState(&globalCtx->msgCtx) == 2) {
|
||||
func_80989140(&this->skelAnime, sAnimations, 0);
|
||||
this->actionFunc = func_8098BA64;
|
||||
}
|
||||
@ -1115,7 +1115,7 @@ void EnDg_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnDg* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 24.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 24.0f);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060080F0, NULL, this->jointTable, this->morphTable, 13);
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
|
||||
|
@ -287,7 +287,7 @@ void EnDinofos_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
ColliderJntSphElementDim* dim;
|
||||
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B42F8, 90.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFeet, 90.0f);
|
||||
Effect_Add(globalCtx, &this->unk_2A0, EFFECT_BLURE2, 0, 0, &D_8089E368);
|
||||
Collider_InitAndSetJntSph(globalCtx, &this->colliderJntSph, &this->actor, &sJntSphInit,
|
||||
this->colliderJntSphElement);
|
||||
@ -353,7 +353,7 @@ s32 func_8089A968(EnDinofos* this) {
|
||||
void func_8089A9B0(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
if (func_8089A968(this)) {
|
||||
if (this->actor.xzDistToPlayer < 100.0f) {
|
||||
if (!func_800BC5EC(globalCtx, &this->actor) &&
|
||||
if (!Actor_OtherIsTargeted(globalCtx, &this->actor) &&
|
||||
(((this->actionFunc != func_8089C56C) && (Rand_ZeroOne() > 0.35f)) ||
|
||||
((this->actionFunc == func_8089C56C) && (Rand_ZeroOne() > 0.8f)))) {
|
||||
func_8089C4F8(this);
|
||||
@ -400,7 +400,7 @@ void func_8089AC70(EnDinofos* this) {
|
||||
this->unk_2B0 = 1.0f;
|
||||
this->unk_290 = 80;
|
||||
this->actor.flags &= ~0x400;
|
||||
func_800BCB70(&this->actor, 0x4000, 255, 0, 80);
|
||||
Actor_SetColorFilter(&this->actor, 0x4000, 255, 0, 80);
|
||||
}
|
||||
|
||||
void func_8089ACEC(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
@ -408,7 +408,7 @@ void func_8089ACEC(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
this->unk_28A = 0;
|
||||
this->colliderJntSph.base.colType = COLTYPE_HIT0;
|
||||
this->unk_2B0 = 0.0f;
|
||||
func_800BF7CC(globalCtx, &this->actor, this->unk_2D4, 12, 2, 0.3f, 0.2f);
|
||||
Actor_SpawnIceEffects(globalCtx, &this->actor, this->unk_2D4, 12, 2, 0.3f, 0.2f);
|
||||
this->actor.flags |= 0x400;
|
||||
}
|
||||
}
|
||||
@ -436,7 +436,7 @@ s32 func_8089AE00(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
temp_v1 = (Actor_YawBetweenActors(&this->actor, temp_v0) - this->actor.shape.rot.y) - this->unk_28E;
|
||||
if (ABS_ALT(temp_v1) < 0x3000) {
|
||||
func_8089D11C(this, temp_v1 + this->unk_28E);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_WARAU);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_RIZA_WARAU);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -446,7 +446,7 @@ s32 func_8089AE00(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
temp_v1_2 = (Actor_YawBetweenActors(&this->actor, temp_v0) - this->actor.shape.rot.y) - this->unk_28E;
|
||||
if (ABS_ALT(temp_v1_2) < 0x3000) {
|
||||
func_8089C024(this, 1);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_WARAU);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_RIZA_WARAU);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -457,13 +457,13 @@ s32 func_8089AE00(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if ((this->actor.xzDistToPlayer < 100.0f) && (player->swordState != 0) && this->actor.isTargeted &&
|
||||
(Rand_ZeroOne() < 0.5f) && func_8089A968(this) && Actor_IsLinkFacingActor(&this->actor, 0x2000, globalCtx)) {
|
||||
(Rand_ZeroOne() < 0.5f) && func_8089A968(this) && Player_IsFacingActor(&this->actor, 0x2000, globalCtx)) {
|
||||
if (Rand_ZeroOne() < 0.5f) {
|
||||
func_8089C024(this, 2);
|
||||
} else {
|
||||
func_8089C024(this, 3);
|
||||
}
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_WARAU);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_RIZA_WARAU);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -485,7 +485,7 @@ void func_8089B100(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
|
||||
Animation_Change(&this->skelAnime, &D_06001CCC, 1.0f, Animation_GetLastFrame(&D_06001CCC),
|
||||
Animation_GetLastFrame(&D_06001CCC), 2, 0.0f);
|
||||
func_800BE33C(&camera->eye, &camera->at, &this->unk_29A, 1);
|
||||
func_800BE33C(&camera->eye, &camera->at, &this->unk_29A, true);
|
||||
Math_Vec3f_Diff(&this->actor.world.pos, &player->actor.world.pos, &sp3C);
|
||||
this->unk_2BC.x = player->actor.world.pos.x + (0.4f * sp3C.x);
|
||||
this->unk_2BC.y = player->actor.world.pos.y + 5.0f;
|
||||
@ -513,7 +513,7 @@ void func_8089B288(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
|
||||
void func_8089B320(EnDinofos* this) {
|
||||
this->actor.gravity = -2.0f;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_CRY);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_RIZA_CRY);
|
||||
this->unk_2BC.x = (Math_SinS(this->actor.shape.rot.y - 0x0E00) * 86.0f) + this->actor.world.pos.x;
|
||||
this->unk_2BC.y = this->actor.floorHeight + 6.0f;
|
||||
this->unk_2BC.z = (Math_CosS(this->actor.shape.rot.y - 0x0E00) * 86.0f) + this->actor.world.pos.z;
|
||||
@ -553,7 +553,7 @@ void func_8089B4A4(EnDinofos* this) {
|
||||
this->unk_2BC.x = (Math_SinS(this->actor.shape.rot.y + 0x200) * 123.0f) + this->actor.world.pos.x;
|
||||
this->unk_2BC.y = this->actor.floorHeight + 11.0f;
|
||||
this->unk_2BC.z = (Math_CosS(this->actor.shape.rot.y + 0x200) * 123.0f) + this->actor.world.pos.z;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BOMCHU_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_BOMCHU_WALK);
|
||||
this->unk_290 = 0;
|
||||
this->unk_292 = -1;
|
||||
this->actionFunc = func_8089B580;
|
||||
@ -595,7 +595,7 @@ void func_8089B6E8(EnDinofos* this) {
|
||||
|
||||
void func_8089B72C(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 2.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_ATTACK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_RIZA_ATTACK);
|
||||
}
|
||||
|
||||
if (SkelAnime_Update(&this->skelAnime)) {
|
||||
@ -636,7 +636,7 @@ void func_8089B8B0(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (this->actionFunc != func_8089B98C) {
|
||||
Animation_MorphToLoop(&this->skelAnime, &D_06000580, -4.0f);
|
||||
if (func_800BC5EC(globalCtx, &this->actor)) {
|
||||
if (Actor_OtherIsTargeted(globalCtx, &this->actor)) {
|
||||
phi_f0 = 170.0f;
|
||||
} else {
|
||||
phi_f0 = 70.0f;
|
||||
@ -658,7 +658,7 @@ void func_8089B98C(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
if (!func_8089AE00(this, globalCtx)) {
|
||||
if (func_800BC5EC(globalCtx, &this->actor)) {
|
||||
if (Actor_OtherIsTargeted(globalCtx, &this->actor)) {
|
||||
phi_f0 = 170.0f;
|
||||
} else {
|
||||
phi_f0 = 70.0f;
|
||||
@ -683,7 +683,7 @@ void func_8089B98C(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (Animation_OnFrame(&this->skelAnime, 0.0f) || Animation_OnFrame(&this->skelAnime, 6.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_RIZA_WALK);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -782,7 +782,7 @@ void func_8089BD28(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
this->actor.world.rot.y = BINANG_ADD(this->actor.shape.rot.y, 0x4000);
|
||||
if (func_800BC5EC(globalCtx, &this->actor)) {
|
||||
if (Actor_OtherIsTargeted(globalCtx, &this->actor)) {
|
||||
sp2C = 100.0f;
|
||||
}
|
||||
|
||||
@ -804,7 +804,7 @@ void func_8089BD28(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (Animation_OnFrame(&this->skelAnime, 0.0f) || Animation_OnFrame(&this->skelAnime, 5.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_RIZA_WALK);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -853,7 +853,7 @@ void func_8089C164(EnDinofos* this) {
|
||||
}
|
||||
|
||||
this->actor.bgCheckFlags &= ~1;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_JUMP);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_RIZA_JUMP);
|
||||
this->actionFunc = func_8089C1F8;
|
||||
}
|
||||
|
||||
@ -868,7 +868,7 @@ void func_8089C244(EnDinofos* this) {
|
||||
this->actor.bgCheckFlags &= ~1;
|
||||
this->actor.speedXZ = 8.0f;
|
||||
this->actor.velocity.y = 16.0f;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_JUMP);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_RIZA_JUMP);
|
||||
this->unk_290 = 0;
|
||||
this->unk_292 = -1;
|
||||
this->actionFunc = func_8089C2A8;
|
||||
@ -905,7 +905,7 @@ void func_8089C398(EnDinofos* this) {
|
||||
|
||||
this->actor.speedXZ = 0.0f;
|
||||
func_8089AD70(this);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BOMCHU_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_BOMCHU_WALK);
|
||||
this->actionFunc = func_8089C44C;
|
||||
}
|
||||
|
||||
@ -923,7 +923,7 @@ void func_8089C44C(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
void func_8089C4F8(EnDinofos* this) {
|
||||
Animation_PlayOnce(&this->skelAnime, &D_060025B4);
|
||||
this->colliderQuad.base.atFlags &= ~AT_BOUNCED;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_CRY);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_RIZA_CRY);
|
||||
this->unk_290 = 0;
|
||||
this->unk_292 = -1;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
@ -945,7 +945,7 @@ void func_8089C56C(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
} else if (Animation_OnFrame(&this->skelAnime, 13.0f)) {
|
||||
this->colliderQuad.base.atFlags &= ~AT_ON;
|
||||
} else if (Animation_OnFrame(&this->skelAnime, 11.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_ATTACK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_RIZA_ATTACK);
|
||||
} else if (this->skelAnime.curFrame < 7.0f) {
|
||||
func_8089AE00(this, globalCtx);
|
||||
}
|
||||
@ -1010,9 +1010,9 @@ void func_8089C87C(EnDinofos* this, s32 arg1) {
|
||||
this->actor.velocity.y = 0.0f;
|
||||
}
|
||||
this->unk_28E = 0;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_DAMAGE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_RIZA_DAMAGE);
|
||||
this->colliderJntSph.base.acFlags &= ~AC_ON;
|
||||
func_800BCB70(&this->actor, 0x4000, 255, 0, 18);
|
||||
Actor_SetColorFilter(&this->actor, 0x4000, 255, 0, 18);
|
||||
this->actionFunc = func_8089C938;
|
||||
}
|
||||
|
||||
@ -1145,7 +1145,7 @@ void func_8089CF70(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
void func_8089CFAC(EnDinofos* this) {
|
||||
Animation_PlayOnce(&this->skelAnime, &D_0600ABD0);
|
||||
this->actor.flags &= ~1;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_DEAD);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_RIZA_DEAD);
|
||||
this->actor.speedXZ = 0.0f;
|
||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||
this->actionFunc = func_8089D018;
|
||||
@ -1173,7 +1173,7 @@ void func_8089D018(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
|
||||
this->actor.shape.shadowAlpha = this->unk_288;
|
||||
} else if (Animation_OnFrame(&this->skelAnime, 26.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GERUDOFT_DOWN);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_GERUDOFT_DOWN);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1206,7 +1206,7 @@ void func_8089D1E0(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (Animation_OnFrame(&this->skelAnime, 0.0f) || Animation_OnFrame(&this->skelAnime, 5.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIZA_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_RIZA_WALK);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1263,7 +1263,7 @@ s32 func_8089D60C(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (this->colliderJntSph.base.acFlags & AC_HIT) {
|
||||
this->colliderJntSph.base.acFlags &= ~AC_HIT;
|
||||
func_800BE2B8(&this->actor, &this->colliderJntSph);
|
||||
Actor_SetDropFlagJntSph(&this->actor, &this->colliderJntSph);
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(this->colliderJntSphElement); i++) {
|
||||
if (this->colliderJntSph.elements[i].info.bumperFlags & BUMP_HIT) {
|
||||
@ -1317,19 +1317,19 @@ s32 func_8089D60C(EnDinofos* this, GlobalContext* globalCtx) {
|
||||
|
||||
if (this->actor.colChkInfo.damageEffect == 1) {
|
||||
this->unk_290 = 40;
|
||||
func_800BCB70(&this->actor, 0, 255, 0, 40);
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_COMMON_FREEZE);
|
||||
Actor_SetColorFilter(&this->actor, 0, 255, 0, 40);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_COMMON_FREEZE);
|
||||
func_8089C784(this);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (this->actor.colChkInfo.damageEffect == 5) {
|
||||
this->unk_290 = 40;
|
||||
func_800BCB70(&this->actor, 0, 255, 0, 40);
|
||||
Actor_SetColorFilter(&this->actor, 0, 255, 0, 40);
|
||||
this->unk_2B4 = 0.55f;
|
||||
this->unk_2B0 = 2.0f;
|
||||
this->unk_28A = 31;
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_COMMON_FREEZE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_COMMON_FREEZE);
|
||||
func_8089C784(this);
|
||||
return true;
|
||||
}
|
||||
@ -1369,7 +1369,7 @@ void EnDinofos_Update(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
}
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 25.0f, 30.0f, 60.0f, 0x5D);
|
||||
if (this->actionFunc != func_8089C7B8) {
|
||||
if ((this->actor.depthInWater > 0.0f) && (this->actor.depthInWater < 10.0f)) {
|
||||
|
@ -265,7 +265,7 @@ void EnDnk_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
this->actionFunc(this, globalCtx);
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
func_80A515C4(this);
|
||||
Actor_SetHeight(&this->actor, 34.0f);
|
||||
Actor_SetFocus(&this->actor, 34.0f);
|
||||
Collider_UpdateCylinder(&this->actor, &this->collider);
|
||||
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
@ -436,11 +436,11 @@ void func_80A52074(EnDnk* this, GlobalContext* globalCtx) {
|
||||
break;
|
||||
|
||||
case 438:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKNUTS_DANCE_BIG);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKNUTS_DANCE_BIG);
|
||||
break;
|
||||
|
||||
case 493:
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STALKIDS_APPEAR);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALKIDS_APPEAR);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -137,8 +137,8 @@ void func_80A714B4(EnDno* this, GlobalContext* globalCtx) {
|
||||
do {
|
||||
actor = SubS_FindActor(globalCtx, actor, ACTORCAT_BG, ACTOR_BG_CRACE_MOVEBG);
|
||||
if (actor != NULL) {
|
||||
if ((s32)ENDNO_GET_F(actor) == ENDNO_GET_F_1) {
|
||||
Actor_SetSwitchFlag(globalCtx, ENDNO_GET_7F0(actor));
|
||||
if (ENDNO_GET_F(actor) == ENDNO_GET_F_1) {
|
||||
Flags_SetSwitch(globalCtx, ENDNO_GET_7F0(actor));
|
||||
}
|
||||
actor = actor->next;
|
||||
}
|
||||
@ -189,7 +189,7 @@ void func_80A71788(EnDno* this, GlobalContext* globalCtx) {
|
||||
do {
|
||||
actor = SubS_FindActor(globalCtx, actor, ACTORCAT_BG, ACTOR_BG_CRACE_MOVEBG);
|
||||
if (actor != NULL) {
|
||||
Actor_UnsetSwitchFlag(globalCtx, ENDNO_GET_7F0(actor));
|
||||
Flags_UnsetSwitch(globalCtx, ENDNO_GET_7F0(actor));
|
||||
actor = actor->next;
|
||||
}
|
||||
} while (actor != NULL);
|
||||
@ -212,7 +212,7 @@ void EnDno_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
if (actor == NULL) {
|
||||
Actor_ProcessInitChain(thisx, sInitChain);
|
||||
ActorShape_Init(&thisx->shape, 0.0f, func_800B3FC0, 21.0f);
|
||||
ActorShape_Init(&thisx->shape, 0.0f, ActorShadow_DrawCircle, 21.0f);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0600E1F8, &D_06007CA4, this->jointTable,
|
||||
this->morphTable, 28);
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
@ -339,7 +339,7 @@ void func_80A71C3C(EnDno* this, GlobalContext* globalCtx) {
|
||||
Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.home.rot.y, 0x222);
|
||||
}
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
globalCtx->msgCtx.unk11F22 = 0;
|
||||
globalCtx->msgCtx.unk11F10 = 0;
|
||||
func_80A71E54(this, globalCtx);
|
||||
@ -374,7 +374,7 @@ void func_80A71E54(EnDno* this, GlobalContext* globalCtx) {
|
||||
|
||||
void func_80A71F18(EnDno* this, GlobalContext* globalCtx) {
|
||||
Math_ScaledStepToS(&this->unk_466, 0, 0x16C);
|
||||
switch (func_80152498(&globalCtx->msgCtx)) {
|
||||
switch (Message_GetState(&globalCtx->msgCtx)) {
|
||||
case 0:
|
||||
if (!(this->unk_3B0 & 0x10) ||
|
||||
Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 0xE38)) {
|
||||
@ -528,7 +528,7 @@ void func_80A724B8(EnDno* this, GlobalContext* globalCtx) {
|
||||
func_80A71424(&this->unk_466, 0, this->actor.yawTowardsPlayer, this->actor.home.rot.y, 0x2000, 0x2D8);
|
||||
}
|
||||
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
func_80A725E0(this, globalCtx);
|
||||
} else if (this->actor.xzDistToPlayer < 60.0f) {
|
||||
func_800B8614(&this->actor, globalCtx, 60.0f);
|
||||
@ -536,11 +536,11 @@ void func_80A724B8(EnDno* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void func_80A7256C(EnDno* this, GlobalContext* globalCtx) {
|
||||
func_800B8500(&this->actor, globalCtx, this->actor.xzDistToPlayer, this->actor.playerHeightRel, -1);
|
||||
func_800B8500(&this->actor, globalCtx, this->actor.xzDistToPlayer, this->actor.playerHeightRel, EXCH_ITEM_MINUS1);
|
||||
}
|
||||
|
||||
void func_80A72598(EnDno* this, GlobalContext* globalCtx) {
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
func_80A725E0(this, globalCtx);
|
||||
} else {
|
||||
func_80A7256C(this, globalCtx);
|
||||
@ -555,7 +555,7 @@ void func_80A725F8(EnDno* this, GlobalContext* globalCtx) {
|
||||
s32 pad[2];
|
||||
|
||||
func_80A71424(&this->unk_466, 0, 0, 0, 0x2000, 0x16C);
|
||||
switch (func_80152498(&globalCtx->msgCtx)) {
|
||||
switch (Message_GetState(&globalCtx->msgCtx)) {
|
||||
case 0:
|
||||
switch (this->unk_328) {
|
||||
case 0:
|
||||
@ -597,7 +597,7 @@ void func_80A725F8(EnDno* this, GlobalContext* globalCtx) {
|
||||
if (this->skelAnime.curFrame <= 23.0f) {
|
||||
this->unk_452 = 3;
|
||||
if (Animation_OnFrame(&this->skelAnime, 23.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_OPEN_AMBRELLA);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_OPEN_AMBRELLA);
|
||||
}
|
||||
} else if (this->skelAnime.curFrame <= 24.0f) {
|
||||
this->unk_452 = 4;
|
||||
@ -633,7 +633,7 @@ void func_80A725F8(EnDno* this, GlobalContext* globalCtx) {
|
||||
} else {
|
||||
this->unk_458 = GI_MASK_SCENTS;
|
||||
}
|
||||
func_800B8A1C(&this->actor, globalCtx, this->unk_458, 60.0f, 60.0f);
|
||||
Actor_PickUp(&this->actor, globalCtx, this->unk_458, 60.0f, 60.0f);
|
||||
func_801477B4(globalCtx);
|
||||
func_80A72B84(this, globalCtx);
|
||||
}
|
||||
@ -697,7 +697,7 @@ void func_80A72BA4(EnDno* this, GlobalContext* globalCtx) {
|
||||
this->actor.parent = NULL;
|
||||
this->actionFunc = func_80A72598;
|
||||
} else {
|
||||
func_800B8A1C(&this->actor, globalCtx, this->unk_458, 60.0f, 60.0f);
|
||||
Actor_PickUp(&this->actor, globalCtx, this->unk_458, 60.0f, 60.0f);
|
||||
}
|
||||
}
|
||||
|
||||
@ -709,9 +709,11 @@ void func_80A72C04(EnDno* this, GlobalContext* globalCtx) {
|
||||
func_8013DCE0(globalCtx, &this->unk_334, &this->actor, &this->unk_340, globalCtx->setupPathList,
|
||||
ENDNO_GET_7F(&this->actor), 1, 0, 1, 0);
|
||||
func_8013DF3C(globalCtx, &this->unk_340);
|
||||
|
||||
this->actor.world.rot.y = this->unk_340.unk_54.y;
|
||||
this->actor.world.rot.x = this->unk_340.unk_54.x;
|
||||
Actor_SetSwitchFlag(globalCtx, ENDNO_GET_3F80(&this->actor));
|
||||
|
||||
Flags_SetSwitch(globalCtx, ENDNO_GET_3F80(&this->actor));
|
||||
this->actionFunc = func_80A730A0;
|
||||
}
|
||||
|
||||
@ -831,7 +833,7 @@ void func_80A73244(EnDno* this, GlobalContext* globalCtx) {
|
||||
this->actor.flags |= (8 | 1);
|
||||
this->unk_328 = 2;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
Actor_UnsetSwitchFlag(globalCtx, ENDNO_GET_3F80(&this->actor));
|
||||
Flags_UnsetSwitch(globalCtx, ENDNO_GET_3F80(&this->actor));
|
||||
gSaveContext.unk_3DD0[1] = 5;
|
||||
this->unk_44E = 0;
|
||||
this->actionFunc = func_80A732C8;
|
||||
@ -856,14 +858,14 @@ void func_80A732C8(EnDno* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (Animation_OnFrame(&this->skelAnime, 4.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EV_CLOSE_AMBRELLA);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_CLOSE_AMBRELLA);
|
||||
this->unk_452 = 4;
|
||||
} else if (Animation_OnFrame(&this->skelAnime, 5.0f)) {
|
||||
this->unk_452 = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
}
|
||||
|
||||
void func_80A73408(EnDno* this, GlobalContext* globalCtx) {
|
||||
@ -914,7 +916,7 @@ void EnDno_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
}
|
||||
Collider_UpdateCylinder(&this->actor, &this->collider);
|
||||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
|
||||
Actor_SetHeight(&this->actor, 51.0f);
|
||||
Actor_SetFocus(&this->actor, 51.0f);
|
||||
}
|
||||
|
||||
void EnDno_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
@ -104,37 +104,37 @@ s32 func_80B3CA20(EnDnp* this) {
|
||||
if ((this->unk_340 == 2) || (this->unk_340 == 9)) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 1.0f) || Animation_OnFrame(&this->skelAnime, 5.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 9.0f) || Animation_OnFrame(&this->skelAnime, 13.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKUHIME_TURN);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_TURN);
|
||||
}
|
||||
} else if ((this->unk_340 == 24) || (this->unk_340 == 7)) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 1.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKUHIME_TURN);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_TURN);
|
||||
}
|
||||
} else if (this->unk_340 == 14) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 7.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKUHIME_GREET);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_GREET);
|
||||
}
|
||||
if (Animation_OnFrame(&this->skelAnime, 22.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKUHIME_GREET2);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_GREET2);
|
||||
}
|
||||
} else if (this->unk_340 == 8) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 9.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKUHIME_GREET);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_GREET);
|
||||
}
|
||||
if (Animation_OnFrame(&this->skelAnime, 18.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKUHIME_GREET2);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_GREET2);
|
||||
}
|
||||
} else if ((this->unk_340 == 17) && (this->unk_340 == 18)) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 7.0f) || Animation_OnFrame(&this->skelAnime, 15.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKUHIME_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_WALK);
|
||||
}
|
||||
} else if (this->unk_340 == 21) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 17.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKUHIME_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_WALK);
|
||||
}
|
||||
} else if (this->unk_340 == 23) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 3.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_DEKUHIME_WALK);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_WALK);
|
||||
}
|
||||
}
|
||||
|
||||
@ -212,7 +212,7 @@ s32 func_80B3CEC0(EnDnp* this, GlobalContext* globalCtx) {
|
||||
s32 func_80B3CF60(EnDnp* this, GlobalContext* globalCtx) {
|
||||
s32 ret = false;
|
||||
|
||||
if ((this->unk_322 & 7) && func_800B84D0(&this->actor, globalCtx)) {
|
||||
if ((this->unk_322 & 7) && Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
func_8013AED4(&this->unk_322, 0, 7);
|
||||
this->unk_322 |= 8;
|
||||
this->actionFunc = func_80B3D3F8;
|
||||
@ -276,7 +276,7 @@ void func_80B3D11C(EnDnp* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if (this->unk_340 == 19) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_VO_DHVO04);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_VO_DHVO04);
|
||||
}
|
||||
|
||||
if (this->unk_340 == 24) {
|
||||
@ -307,15 +307,15 @@ void func_80B3D2D4(EnDnp* this, GlobalContext* globalCtx) {
|
||||
void func_80B3D338(EnDnp* this, GlobalContext* globalCtx) {
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
|
||||
if ((this->unk_32E != 0) && (func_80152498(&globalCtx->msgCtx) == 2)) {
|
||||
if ((this->unk_32E != 0) && (Message_GetState(&globalCtx->msgCtx) == 2)) {
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
} else if (this->unk_32E == 0) {
|
||||
if (func_800B84D0(&this->actor, globalCtx)) {
|
||||
if (Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
this->unk_32E = 1;
|
||||
} else {
|
||||
this->actor.textId = 0x971;
|
||||
player->actor.textId = this->actor.textId;
|
||||
func_800B8500(&this->actor, globalCtx, 9999.9f, 9999.9f, -1);
|
||||
func_800B8500(&this->actor, globalCtx, 9999.9f, 9999.9f, EXCH_ITEM_MINUS1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -357,7 +357,7 @@ void func_80B3D558(EnDnp* this, GlobalContext* globalCtx) {
|
||||
void EnDnp_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnDnp* this = THIS;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 16.0f);
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 16.0f);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06010D60, NULL, this->jointTable, this->morphTable, 26);
|
||||
this->unk_340 = -1;
|
||||
func_80B3CC38(this, 15);
|
||||
@ -413,15 +413,15 @@ void EnDnp_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
SkelAnime_Update(&this->skelAnime);
|
||||
func_80B3CD1C(this);
|
||||
func_80B3CEC0(this, globalCtx);
|
||||
Actor_SetVelocityAndMoveYRotationAndGravity(&this->actor);
|
||||
Actor_MoveWithGravity(&this->actor);
|
||||
Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 30.0f, 12.0f, 0.0f, 4);
|
||||
sp2C = this->collider.dim.radius + 50;
|
||||
sp28 = this->collider.dim.height + 30;
|
||||
if ((this->unk_322 & 0x400) && !(gSaveContext.weekEventReg[23] & 0x20)) {
|
||||
func_800B8A1C(&this->actor, globalCtx, GI_MAX, sp2C, sp28);
|
||||
Actor_PickUp(&this->actor, globalCtx, GI_MAX, sp2C, sp28);
|
||||
}
|
||||
func_8013C964(&this->actor, globalCtx, sp2C, sp28, 0, this->unk_322 & 7);
|
||||
Actor_SetHeight(&this->actor, 30.0f);
|
||||
Actor_SetFocus(&this->actor, 30.0f);
|
||||
func_80B3CC80(this, globalCtx);
|
||||
}
|
||||
|
||||
|
@ -324,7 +324,7 @@ s32* func_80A52CF8(EnDnq* this, GlobalContext* globalCtx) {
|
||||
s32 func_80A52D44(EnDnq* this, GlobalContext* globalCtx) {
|
||||
s32 ret = false;
|
||||
|
||||
if ((this->unk_37C & 7) && func_800B84D0(&this->actor, globalCtx)) {
|
||||
if ((this->unk_37C & 7) && Actor_ProcessTalkRequest(&this->actor, &globalCtx->state)) {
|
||||
func_8013AED4(&this->unk_37C, 0, 7);
|
||||
this->unk_380 = func_80A52CF8(this, globalCtx);
|
||||
this->actionFunc = func_80A52FB8;
|
||||
@ -347,7 +347,7 @@ void func_80A52DC8(EnDnq* this, GlobalContext* globalCtx) {
|
||||
if (!(gSaveContext.weekEventReg[23] & 0x20)) {
|
||||
this->unk_390 = 70.0f;
|
||||
if (func_80114F2C(ITEM_DEKU_PRINCESS) && !func_801690CC(globalCtx) &&
|
||||
(func_80152498(&globalCtx->msgCtx) == 0) && (ActorCutscene_GetCurrentIndex() == -1)) {
|
||||
(Message_GetState(&globalCtx->msgCtx) == 0) && (ActorCutscene_GetCurrentIndex() == -1)) {
|
||||
if ((DECR(this->unk_384) == 0) && (gSaveContext.weekEventReg[29] & 0x40)) {
|
||||
func_801518B0(globalCtx, 0x969, NULL);
|
||||
this->unk_384 = 200;
|
||||
@ -404,7 +404,7 @@ void func_80A53038(EnDnq* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
if ((this->unk_398 == 4) && Animation_OnFrame(&this->skelAnime, 2.0f)) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_KINGNUTS_DAMAGE);
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_KINGNUTS_DAMAGE);
|
||||
}
|
||||
|
||||
if (((this->unk_398 == 3) || (this->unk_398 == 6)) &&
|
||||
@ -461,7 +461,7 @@ void EnDnq_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
func_8013C964(&this->actor, globalCtx, this->unk_390, fabsf(this->actor.playerHeightRel) + 1.0f, 0,
|
||||
this->unk_37C & 7);
|
||||
this->actor.xzDistToPlayer = this->unk_394;
|
||||
Actor_SetHeight(&this->actor, 46.0f);
|
||||
Actor_SetFocus(&this->actor, 46.0f);
|
||||
func_80A52604(this, globalCtx);
|
||||
}
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user