mirror of https://github.com/zeldaret/mm.git
`ovl_Obj_Um` OK (#887)
* Pass the whole actor in mips2c * hacky way to fix some types * decomp a few functions and second mips2c pass * draw * another mips2c pass * some functions * Init almost matching * mips2c pass * Match update and a few more * A bunch of functions * horses gonna horse * func_80B7A860 * mips2c pass * func_80B7984C * func_80B795A0 * func_80B783E0 * func_80B78764 * Tried func_80B7BEA4 * func_80B79BA0 * func_80B7A494 * func_80B7A614 * lots of non equivalents * fix * Match func_80B77770 * func_80B7BEA4 * import data * func_80B7B93C * minor fixes * ObjUm_Init * func_80B7AF30 * func_80B7B18C * func_80B7BABC * func_80B77FA4 * func_80B7B598 * func_80B781DC is equivalent * func_80B781DC * func_80B7BABC * Cleanup * limbs * minor members renames * First docs pass * small pass * yes * another pass * more renames * flags defines * arePotsBroken * some flags * yet another docs pass * Some members named * Add weekEventReg docs * small rename * And more * Another 2 * actorfixer and other fixes * format * Use extracted object symbols * fixes * Some stuff improved * very minor naming * format * remove debugging stuff * cleanup * Some EnHorse stuff * horse params * ! FAKE * Update include/functions.h Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * review Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * review Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com> * Update assets/xml/objects/object_um.xml * IS_BANDIT_TYPE Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * review Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> * remove a fake match Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Horse/z_en_horse.h Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * Update src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * review Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * anim enum * name anim enum * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * review Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * remove repeated forward declarations * fixes * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com> * Update src/overlays/actors/ovl_Obj_Um/z_obj_um.c Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com> * review Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com> * comment * review Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * areAllPotsBroken Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> * fix merge Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com> Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
This commit is contained in:
parent
aa87f0de89
commit
3f49adb91d
|
@ -10,26 +10,31 @@
|
|||
<Texture Name="object_um_Tex_002148" OutName="tex_002148" Format="rgba16" Width="32" Height="32" Offset="0x2148" />
|
||||
<Texture Name="object_um_Tex_002948" OutName="tex_002948" Format="rgba16" Width="32" Height="32" Offset="0x2948" />
|
||||
<Texture Name="object_um_Tex_003148" OutName="tex_003148" Format="rgba16" Width="32" Height="32" Offset="0x3148" />
|
||||
<DList Name="object_um_DL_003C60" Offset="0x3C60" />
|
||||
|
||||
<!-- The bottles which the bandits try to destroy in the milk-run minigame. Referred as "milk-bottles" by Cremia in-game. -->
|
||||
<DList Name="gUmMinigamePotDL" Offset="0x3C60" />
|
||||
<Texture Name="object_um_Tex_003F00" OutName="tex_003F00" Format="rgba16" Width="16" Height="16" Offset="0x3F00" />
|
||||
<Texture Name="object_um_Tex_004100" OutName="tex_004100" Format="rgba16" Width="8" Height="8" Offset="0x4100" />
|
||||
<DList Name="object_um_DL_0043E0" Offset="0x43E0" />
|
||||
<Texture Name="object_um_Tex_004500" OutName="tex_004500" Format="i8" Width="32" Height="32" Offset="0x4500" />
|
||||
<DList Name="object_um_DL_004B60" Offset="0x4B60" />
|
||||
<Texture Name="object_um_Tex_004C80" OutName="tex_004C80" Format="i8" Width="32" Height="32" Offset="0x4C80" />
|
||||
<DList Name="object_um_DL_0052B0" Offset="0x52B0" />
|
||||
<DList Name="gUmBrokenMinigamePotDL" Offset="0x52B0" />
|
||||
<Texture Name="object_um_TLUT_0054D0" OutName="tlut_0054D0" Format="rgba16" Width="16" Height="16" Offset="0x54D0" />
|
||||
<Texture Name="object_um_Tex_0056D0" OutName="tex_0056D0" Format="ci8" Width="8" Height="8" Offset="0x56D0" />
|
||||
<Texture Name="object_um_Tex_005710" OutName="tex_005710" Format="ci8" Width="32" Height="64" Offset="0x5710" />
|
||||
<Texture Name="object_um_Tex_005F10" OutName="tex_005F10" Format="ci8" Width="32" Height="32" Offset="0x5F10" />
|
||||
<DList Name="object_um_DL_0067C0" Offset="0x67C0" />
|
||||
<DList Name="object_um_DL_0067C0" Offset="0x67C0" /> <!-- pre-minigame pot? -->
|
||||
<Texture Name="object_um_TLUT_006AD0" OutName="tlut_006AD0" Format="rgba16" Width="16" Height="16" Offset="0x6AD0" />
|
||||
<Texture Name="object_um_Tex_006CD0" OutName="tex_006CD0" Format="ci8" Width="8" Height="8" Offset="0x6CD0" />
|
||||
<Texture Name="object_um_Tex_006D10" OutName="tex_006D10" Format="ci8" Width="32" Height="64" Offset="0x6D10" />
|
||||
<Texture Name="object_um_Tex_007510" OutName="tex_007510" Format="rgba16" Width="32" Height="32" Offset="0x7510" />
|
||||
|
||||
<!-- <Blob Name="object_um_Blob_007D10" Size="0x10" Offset="0x7D10" /> -->
|
||||
|
||||
<Collision Name="object_um_Colheader_007E20" Offset="0x7E20" />
|
||||
<Collision Name="object_um_Colheader_007F50" Offset="0x7F50" />
|
||||
|
||||
<DList Name="object_um_DL_00DF20" Offset="0xDF20" />
|
||||
<DList Name="object_um_DL_00E2F0" Offset="0xE2F0" />
|
||||
<DList Name="object_um_DL_00E6A8" Offset="0xE6A8" />
|
||||
|
@ -49,31 +54,35 @@
|
|||
<DList Name="object_um_DL_010BD8" Offset="0x10BD8" />
|
||||
<DList Name="object_um_DL_010CC8" Offset="0x10CC8" />
|
||||
<DList Name="object_um_DL_0114B8" Offset="0x114B8" />
|
||||
<Limb Name="object_um_Standardlimb_011CA8" Type="Standard" EnumName="OBJECT_UM_LIMB_01" Offset="0x11CA8" />
|
||||
<Limb Name="object_um_Standardlimb_011CB4" Type="Standard" EnumName="OBJECT_UM_LIMB_02" Offset="0x11CB4" />
|
||||
<Limb Name="object_um_Standardlimb_011CC0" Type="Standard" EnumName="OBJECT_UM_LIMB_03" Offset="0x11CC0" />
|
||||
<Limb Name="object_um_Standardlimb_011CCC" Type="Standard" EnumName="OBJECT_UM_LIMB_04" Offset="0x11CCC" />
|
||||
<Limb Name="object_um_Standardlimb_011CD8" Type="Standard" EnumName="OBJECT_UM_LIMB_05" Offset="0x11CD8" />
|
||||
<Limb Name="object_um_Standardlimb_011CE4" Type="Standard" EnumName="OBJECT_UM_LIMB_06" Offset="0x11CE4" />
|
||||
<Limb Name="object_um_Standardlimb_011CF0" Type="Standard" EnumName="OBJECT_UM_LIMB_07" Offset="0x11CF0" />
|
||||
<Limb Name="object_um_Standardlimb_011CFC" Type="Standard" EnumName="OBJECT_UM_LIMB_08" Offset="0x11CFC" />
|
||||
<Limb Name="object_um_Standardlimb_011D08" Type="Standard" EnumName="OBJECT_UM_LIMB_09" Offset="0x11D08" />
|
||||
<Limb Name="object_um_Standardlimb_011D14" Type="Standard" EnumName="OBJECT_UM_LIMB_0A" Offset="0x11D14" />
|
||||
<Limb Name="object_um_Standardlimb_011D20" Type="Standard" EnumName="OBJECT_UM_LIMB_0B" Offset="0x11D20" />
|
||||
<Limb Name="object_um_Standardlimb_011D2C" Type="Standard" EnumName="OBJECT_UM_LIMB_0C" Offset="0x11D2C" />
|
||||
<Limb Name="object_um_Standardlimb_011D38" Type="Standard" EnumName="OBJECT_UM_LIMB_0D" Offset="0x11D38" />
|
||||
<Limb Name="object_um_Standardlimb_011D44" Type="Standard" EnumName="OBJECT_UM_LIMB_0E" Offset="0x11D44" />
|
||||
<Limb Name="object_um_Standardlimb_011D50" Type="Standard" EnumName="OBJECT_UM_LIMB_0F" Offset="0x11D50" />
|
||||
<Limb Name="object_um_Standardlimb_011D5C" Type="Standard" EnumName="OBJECT_UM_LIMB_10" Offset="0x11D5C" />
|
||||
<Limb Name="object_um_Standardlimb_011D68" Type="Standard" EnumName="OBJECT_UM_LIMB_11" Offset="0x11D68" />
|
||||
<Limb Name="object_um_Standardlimb_011D74" Type="Standard" EnumName="OBJECT_UM_LIMB_12" Offset="0x11D74" />
|
||||
<Limb Name="object_um_Standardlimb_011D80" Type="Standard" EnumName="OBJECT_UM_LIMB_13" Offset="0x11D80" />
|
||||
<Limb Name="object_um_Standardlimb_011D8C" Type="Standard" EnumName="OBJECT_UM_LIMB_14" Offset="0x11D8C" />
|
||||
<Limb Name="object_um_Standardlimb_011D98" Type="Standard" EnumName="OBJECT_UM_LIMB_15" Offset="0x11D98" />
|
||||
<Skeleton Name="object_um_Skel_011DF8" Type="Flex" LimbType="Standard" LimbNone="OBJECT_UM_LIMB_NONE" LimbMax="OBJECT_UM_LIMB_MAX" EnumName="object_um_Limbs" Offset="0x11DF8" />
|
||||
<Animation Name="object_um_Anim_01213C" Offset="0x1213C" />
|
||||
<Animation Name="object_um_Anim_0126C4" Offset="0x126C4" />
|
||||
<Animation Name="object_um_Anim_012CC0" Offset="0x12CC0" />
|
||||
|
||||
<Limb Name="gUmWagonSeatAndShaftsLimb" Type="Standard" EnumName="UM_LIMB_SEAT_AND_SHAFTS" Offset="0x11CA8" /> <!-- Chair and donkey attachment -->
|
||||
<Limb Name="gUmWagonRootLimb" Type="Standard" EnumName="UM_LIMB_WAGON_ROOT" Offset="0x11CB4" />
|
||||
<Limb Name="gUmWagonRightWheelLimb" Type="Standard" EnumName="UM_LIMB_WAGON_RIGHT_WHEEL" Offset="0x11CC0" />
|
||||
<Limb Name="gUmWagonLeftWheelLimb" Type="Standard" EnumName="UM_LIMB_WAGON_LEFT_WHEEL" Offset="0x11CCC" />
|
||||
<Limb Name="gUmWagonCartBedLimb" Type="Standard" EnumName="UM_LIMB_WAGON_CART_BED" Offset="0x11CD8" />
|
||||
<Limb Name="gUmWagonHandBrakeLimb" Type="Standard" EnumName="UM_LIMB_WAGON_HAND_BRAKE" Offset="0x11CE4" />
|
||||
<Limb Name="gUmWagonCartCoverLimb" Type="Standard" EnumName="UM_LIMB_WAGON_CART_COVER" Offset="0x11CF0" />
|
||||
<Limb Name="gUmWagonLeftLeafSpringLimb" Type="Standard" EnumName="UM_LIMB_WAGON_LEFT_LEAF_SPRING" Offset="0x11CFC" />
|
||||
<Limb Name="gUmWagonRightLeafSpringLimb" Type="Standard" EnumName="UM_LIMB_WAGON_RIGHT_LEAF_SPRING" Offset="0x11D08" />
|
||||
<Limb Name="gUmWagonSteeringWheelLimb" Type="Standard" EnumName="UM_LIMB_WAGON_STEERING_WHEEL" Offset="0x11D14" />
|
||||
<Limb Name="gUmCremiaRootLimb" Type="Standard" EnumName="UM_LIMB_CREMIA_ROOT" Offset="0x11D20" />
|
||||
<Limb Name="gUmCremiaTorsoLimb" Type="Standard" EnumName="UM_LIMB_CREMIA_TORSO" Offset="0x11D2C" />
|
||||
<Limb Name="gUmCremiaHeadLimb" Type="Standard" EnumName="UM_LIMB_CREMIA_HEAD" Offset="0x11D38" />
|
||||
<Limb Name="gUmCremiaHairEndLimb" Type="Standard" EnumName="UM_LIMB_CREMIA_HAIR_END" Offset="0x11D44" />
|
||||
<Limb Name="gUmCremiaLeftUpperArmLimb" Type="Standard" EnumName="UM_LIMB_CREMIA_LEFT_UPPER_ARM" Offset="0x11D50" />
|
||||
<Limb Name="gUmCremiaLeftForearmLimb" Type="Standard" EnumName="UM_LIMB_CREMIA_LEFT_FOREARM" Offset="0x11D5C" />
|
||||
<Limb Name="gUmCremiaLeftHandLimb" Type="Standard" EnumName="UM_LIMB_CREMIA_LEFT_HAND" Offset="0x11D68" />
|
||||
<Limb Name="gUmCremiaRightUpperArmLimb" Type="Standard" EnumName="UM_LIMB_CREMIA_RIGHT_UPPER_ARM" Offset="0x11D74" />
|
||||
<Limb Name="gUmCremiaRightForearmLimb" Type="Standard" EnumName="UM_LIMB_CREMIA_RIGHT_FOREARM" Offset="0x11D80" />
|
||||
<Limb Name="gUmCremiaRightHandLimb" Type="Standard" EnumName="UM_LIMB_CREMIA_RIGHT_HAND" Offset="0x11D8C" />
|
||||
<Limb Name="gUmCremiaLowerBodyLimb" Type="Standard" EnumName="UM_LIMB_CREMIA_LOWER_BODY" Offset="0x11D98" />
|
||||
|
||||
<Skeleton Name="gUmSkel" Type="Flex" LimbType="Standard" LimbNone="UM_LIMB_NONE" LimbMax="UM_LIMB_MAX" EnumName="ObjectUmLimbs" Offset="0x11DF8" />
|
||||
|
||||
<Animation Name="gUmGallopAnim" Offset="0x1213C" />
|
||||
<Animation Name="gUmLookBackAnim" Offset="0x126C4" />
|
||||
<Animation Name="gUmTrotAnim" Offset="0x12CC0" />
|
||||
|
||||
<Texture Name="object_um_TLUT_012CD0" OutName="tlut_012CD0" Format="rgba16" Width="16" Height="16" Offset="0x12CD0" />
|
||||
<Texture Name="object_um_TLUT_012ED0" OutName="tlut_012ED0" Format="rgba16" Width="16" Height="16" Offset="0x12ED0" />
|
||||
<Texture Name="object_um_TLUT_0130D0" OutName="tlut_0130D0" Format="rgba16" Width="16" Height="16" Offset="0x130D0" />
|
||||
|
@ -85,7 +94,19 @@
|
|||
<Texture Name="object_um_Tex_014CD0" OutName="tex_014CD0" Format="ci8" Width="32" Height="64" Offset="0x14CD0" />
|
||||
<Texture Name="object_um_Tex_0154D0" OutName="tex_0154D0" Format="ci8" Width="32" Height="64" Offset="0x154D0" />
|
||||
<Texture Name="object_um_Tex_015CD0" OutName="tex_015CD0" Format="rgba16" Width="32" Height="32" Offset="0x15CD0" />
|
||||
<!-- <Blob Name="object_um_Blob_0164D0" Size="0x2000" Offset="0x164D0" /> -->
|
||||
|
||||
<Texture Name="gUmCremiaEyeOpenTex" OutName="cremia_eye_open" Format="ci8" Width="32" Height="32" Offset="0x164D0" TlutOffset="0x130D0" />
|
||||
<Texture Name="gUmCremiaEyeHalfTex" OutName="cremia_eye_half" Format="ci8" Width="32" Height="32" Offset="0x168D0" TlutOffset="0x130D0" />
|
||||
<Texture Name="gUmCremiaEyeClosedTex" OutName="cremia_eye_closed" Format="ci8" Width="32" Height="32" Offset="0x16CD0" TlutOffset="0x130D0" />
|
||||
<Texture Name="gUmCremiaEyeHappyTex" OutName="cremia_eye_happy" Format="ci8" Width="32" Height="32" Offset="0x170D0" TlutOffset="0x130D0" />
|
||||
<Texture Name="gUmCremiaEyeAngryTex" OutName="cremia_eye_angry" Format="ci8" Width="32" Height="32" Offset="0x174D0" TlutOffset="0x130D0" />
|
||||
<Texture Name="gUmCremiaEyeSadTex" OutName="cremia_eye_sad" Format="ci8" Width="32" Height="32" Offset="0x178D0" TlutOffset="0x130D0" />
|
||||
|
||||
<Texture Name="gUmMouthNormalTex" OutName="mouth_normal" Format="ci8" Width="32" Height="16" Offset="0x17CD0" TlutOffset="0x130D0" />
|
||||
<Texture Name="gUmMouthHappyTex" OutName="mouth_happy" Format="ci8" Width="32" Height="16" Offset="0x17ED0" TlutOffset="0x130D0" />
|
||||
<Texture Name="gUmMouthFrownTex" OutName="mouth_frown" Format="ci8" Width="32" Height="16" Offset="0x180D0" TlutOffset="0x130D0" />
|
||||
<Texture Name="gUmMouthHangingOpenTex" OutName="mouth_hanging_open" Format="ci8" Width="32" Height="16" Offset="0x182D0" TlutOffset="0x130D0" />
|
||||
|
||||
<Texture Name="object_um_Tex_0184D0" OutName="tex_0184D0" Format="ci8" Width="8" Height="8" Offset="0x184D0" />
|
||||
<Texture Name="object_um_Tex_018510" OutName="tex_018510" Format="ci8" Width="16" Height="16" Offset="0x18510" />
|
||||
<Texture Name="object_um_Tex_018610" OutName="tex_018610" Format="ci8" Width="16" Height="16" Offset="0x18610" />
|
||||
|
@ -100,6 +121,6 @@
|
|||
<Texture Name="object_um_Tex_019210" OutName="tex_019210" Format="ci8" Width="16" Height="16" Offset="0x19210" />
|
||||
<Texture Name="object_um_Tex_019310" OutName="tex_019310" Format="ci8" Width="16" Height="32" Offset="0x19310" />
|
||||
<Texture Name="object_um_Tex_019510" OutName="tex_019510" Format="ci8" Width="64" Height="16" Offset="0x19510" />
|
||||
<Animation Name="object_um_Anim_019E10" Offset="0x19E10" />
|
||||
<Animation Name="gUmIdleAnim" Offset="0x19E10" />
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -130,6 +130,7 @@ u32 StackCheck_Check(StackEntry* entry);
|
|||
|
||||
void MtxConv_F2L(Mtx* m1, MtxF* m2);
|
||||
void MtxConv_L2F(MtxF* m1, Mtx* m2);
|
||||
|
||||
void __assert(const char* file, u32 lineNum);
|
||||
// void func_800862B4(void);
|
||||
void* SystemArena_MallocMin1(u32 size);
|
||||
|
|
3
spec
3
spec
|
@ -4064,8 +4064,7 @@ beginseg
|
|||
name "ovl_Obj_Um"
|
||||
compress
|
||||
include "build/src/overlays/actors/ovl_Obj_Um/z_obj_um.o"
|
||||
include "build/data/ovl_Obj_Um/ovl_Obj_Um.data.o"
|
||||
include "build/data/ovl_Obj_Um/ovl_Obj_Um.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Obj_Um/ovl_Obj_Um_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
|
||||
#include "z_en_horse.h"
|
||||
#include "z64rumble.h"
|
||||
#include "overlays/actors/ovl_En_In/z_en_in.h"
|
||||
#include "overlays/actors/ovl_Obj_Um/z_obj_um.h"
|
||||
#include "overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.h"
|
||||
#include "objects/object_horse_link_child/object_horse_link_child.h"
|
||||
|
||||
|
@ -122,7 +124,9 @@ static AnimationHeader** sAnimationHeaders[] = {
|
|||
NULL, NULL, sEponaAnimHeaders, sHniAnimHeaders, sHniAnimHeaders,
|
||||
};
|
||||
|
||||
static f32 sPlaybackSpeeds[] = { 2.0f / 3.0f, 2.0f / 3.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 2.0f / 3.0f, 2.0f / 3.0f };
|
||||
static f32 sPlaybackSpeeds[] = {
|
||||
2.0f / 3.0f, 2.0f / 3.0f, 3.0f / 3.0f, 3.0f / 3.0f, 3.0f / 3.0f, 3.0f / 3.0f, 3.0f / 3.0f, 2.0f / 3.0f, 2.0f / 3.0f,
|
||||
};
|
||||
|
||||
static SkeletonHeader* sSkeletonHeaders[] = {
|
||||
NULL, NULL, &object_horse_link_child_Skel_00A480, NULL, NULL,
|
||||
|
@ -468,7 +472,7 @@ void EnHorse_PlayWalkingSound(EnHorse* this) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_WALK);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_WALK);
|
||||
|
@ -482,7 +486,7 @@ void EnHorse_PlayWalkingSound(EnHorse* this) {
|
|||
}
|
||||
|
||||
void func_8087C178(EnHorse* this) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_RUN);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_RUN);
|
||||
|
@ -490,7 +494,7 @@ void func_8087C178(EnHorse* this) {
|
|||
}
|
||||
|
||||
void func_8087C1C0(EnHorse* this) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_RUN);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_RUN);
|
||||
|
@ -546,19 +550,19 @@ s32 func_8087C38C(PlayState* play, EnHorse* this, Vec3f* arg2) {
|
|||
|
||||
void EnHorse_IdleAnimSounds(EnHorse* this, PlayState* play) {
|
||||
if ((this->animationIdx == ENHORSE_ANIM_IDLE) &&
|
||||
(((this->curFrame > 35.0f) && (this->type == HORSE_EPONA)) ||
|
||||
((this->curFrame > 28.0f) && (this->type == HORSE_HNI)) ||
|
||||
((this->curFrame > 25.0f) && (this->type == HORSE_2))) &&
|
||||
(((this->curFrame > 35.0f) && (this->type == HORSE_TYPE_EPONA)) ||
|
||||
((this->curFrame > 28.0f) && (this->type == HORSE_TYPE_HNI)) ||
|
||||
((this->curFrame > 25.0f) && (this->type == HORSE_TYPE_2))) &&
|
||||
!(this->stateFlags & ENHORSE_SANDDUST_SOUND)) {
|
||||
this->stateFlags |= ENHORSE_SANDDUST_SOUND;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_SANDDUST);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_SANDDUST);
|
||||
}
|
||||
} else if ((this->animationIdx == 3) && (this->curFrame > 25.0f) && !(this->stateFlags & ENHORSE_LAND2_SOUND)) {
|
||||
this->stateFlags |= ENHORSE_LAND2_SOUND;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_LAND2);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_LAND2);
|
||||
|
@ -694,8 +698,8 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
|
|||
this->unk_3E8 = 0.0f;
|
||||
this->unk_528 = 100.0f;
|
||||
|
||||
if (ENHORSE_GET_8000(&this->actor)) {
|
||||
this->type = HORSE_4;
|
||||
if (ENHORSE_IS_DONKEY_TYPE(&this->actor)) {
|
||||
this->type = HORSE_TYPE_DONKEY;
|
||||
this->unk_528 = 80.0f;
|
||||
this->boostSpeed = 12;
|
||||
if ((this->bankIndex = Object_GetIndex(&play->objectCtx, OBJECT_HA)) < 0) {
|
||||
|
@ -704,8 +708,8 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
|
|||
}
|
||||
this->unk_1EC |= 1;
|
||||
thisx->update = func_8087D540;
|
||||
} else if (ENHORSE_GET_4000(&this->actor)) {
|
||||
this->type = HORSE_2;
|
||||
} else if (ENHORSE_IS_4000_TYPE(&this->actor)) {
|
||||
this->type = HORSE_TYPE_2;
|
||||
this->unk_528 = 64.8f;
|
||||
this->boostSpeed = 15;
|
||||
if ((this->bankIndex = Object_GetIndex(&play->objectCtx, OBJECT_HORSE_LINK_CHILD)) < 0) {
|
||||
|
@ -717,8 +721,8 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
|
|||
} else {
|
||||
thisx->update = func_8087D540;
|
||||
}
|
||||
} else if (ENHORSE_GET_2000(&this->actor)) {
|
||||
this->type = HORSE_3;
|
||||
} else if (ENHORSE_IS_BANDIT_TYPE(&this->actor)) {
|
||||
this->type = HORSE_TYPE_BANDIT;
|
||||
this->boostSpeed = 12;
|
||||
if ((this->bankIndex = Object_GetIndex(&play->objectCtx, OBJECT_HA)) < 0) {
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
|
@ -727,14 +731,14 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
|
|||
this->unk_1EC |= 1;
|
||||
thisx->update = func_8087D540;
|
||||
} else {
|
||||
this->type = HORSE_EPONA;
|
||||
this->type = HORSE_TYPE_EPONA;
|
||||
this->boostSpeed = 15;
|
||||
Actor_MarkForDeath(&this->actor);
|
||||
}
|
||||
|
||||
thisx->params &= ~0xE000;
|
||||
if (thisx->params == 0x1FFF) {
|
||||
thisx->params = ENHORSE_1;
|
||||
this->actor.params &= ~(ENHORSE_PARAM_DONKEY | ENHORSE_PARAM_4000 | ENHORSE_PARAM_BANDIT);
|
||||
if (this->actor.params == 0x1FFF) {
|
||||
this->actor.params = ENHORSE_1;
|
||||
}
|
||||
|
||||
if (thisx->params == ENHORSE_3) {
|
||||
|
@ -780,9 +784,9 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
|
|||
this->action = ENHORSE_ACT_IDLE;
|
||||
thisx->speedXZ = 0.0f;
|
||||
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
sJntSphInit.elements[0].dim.limb = 13;
|
||||
} else if ((this->type == HORSE_3) || (this->type == HORSE_4)) {
|
||||
} else if ((this->type == HORSE_TYPE_BANDIT) || (this->type == HORSE_TYPE_DONKEY)) {
|
||||
sJntSphInit.elements[0].dim.limb = 10;
|
||||
}
|
||||
|
||||
|
@ -793,19 +797,19 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
|
|||
Collider_InitJntSph(play, &this->colliderJntSph);
|
||||
Collider_SetJntSph(play, &this->colliderJntSph, &this->actor, &sJntSphInit, this->colliderJntSphElements);
|
||||
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
this->colliderCylinder1.dim.radius = this->colliderCylinder1.dim.radius * 0.8f;
|
||||
this->colliderCylinder2.dim.radius = this->colliderCylinder2.dim.radius * 0.8f;
|
||||
this->colliderJntSph.elements[0].dim.modelSphere.radius *= 0.6f;
|
||||
} else if (this->type == HORSE_4) {
|
||||
} else if (this->type == HORSE_TYPE_DONKEY) {
|
||||
this->colliderCylinder1.dim.radius = 50;
|
||||
}
|
||||
|
||||
CollisionCheck_SetInfo(&thisx->colChkInfo, NULL, &sColChkInfoInit);
|
||||
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Actor_SetScale(&this->actor, 0.00648f);
|
||||
} else if (this->type == HORSE_4) {
|
||||
} else if (this->type == HORSE_TYPE_DONKEY) {
|
||||
Actor_SetScale(&this->actor, 0.008f);
|
||||
} else {
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
|
@ -889,7 +893,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
|
|||
thisx->world.rot.z = thisx->shape.rot.z;
|
||||
thisx->home.rot.z = thisx->shape.rot.z;
|
||||
this->unk_3EC = thisx->world.rot.y;
|
||||
this->unk_538 = 0;
|
||||
this->unk_538 = OBJ_UM_ANIM_TROT;
|
||||
|
||||
if (this->unk_1EC & 0x100) {
|
||||
this->colliderCylinder1.base.colType = COLTYPE_HIT3;
|
||||
|
@ -903,6 +907,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) {
|
|||
}
|
||||
}
|
||||
|
||||
// EnHorse_WaitForObject
|
||||
void func_8087D540(Actor* thisx, PlayState* play) {
|
||||
EnHorse* this = THIS;
|
||||
|
||||
|
@ -911,7 +916,7 @@ void func_8087D540(Actor* thisx, PlayState* play) {
|
|||
Actor_SetObjectDependency(play, &this->actor);
|
||||
this->actor.update = EnHorse_Update;
|
||||
if (this->unk_1EC & 1) {
|
||||
if (this->type == HORSE_3) {
|
||||
if (this->type == HORSE_TYPE_BANDIT) {
|
||||
SkelAnime_InitFlex(play, &this->skin.skelAnime, &object_ha_Skel_008C68, NULL, this->jointTable,
|
||||
this->morphTable, OBJECT_HA_1_LIMB_MAX);
|
||||
} else {
|
||||
|
@ -1097,11 +1102,11 @@ void EnHorse_StartMountedIdle(EnHorse* this) {
|
|||
this->action = ENHORSE_ACT_MOUNTED_TURN;
|
||||
this->animationIdx = ENHORSE_ANIM_IDLE;
|
||||
|
||||
if (((this->curFrame > 35.0f) && (this->type == HORSE_EPONA)) ||
|
||||
((this->curFrame > 28.0f) && (this->type == HORSE_HNI))) {
|
||||
if (((this->curFrame > 35.0f) && (this->type == HORSE_TYPE_EPONA)) ||
|
||||
((this->curFrame > 28.0f) && (this->type == HORSE_TYPE_HNI))) {
|
||||
if (!(this->stateFlags & ENHORSE_SANDDUST_SOUND)) {
|
||||
this->stateFlags |= ENHORSE_SANDDUST_SOUND;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_SANDDUST);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_SANDDUST);
|
||||
|
@ -1152,7 +1157,7 @@ void EnHorse_MountedIdleWhinney(EnHorse* this) {
|
|||
Animation_Change(&this->skin.skelAnime, sAnimationHeaders[this->type][this->animationIdx], 1.0f, curFrame,
|
||||
Animation_GetLastFrame(sAnimationHeaders[this->type][1]), ANIMMODE_ONCE, -3.0f);
|
||||
if (this->stateFlags & ENHORSE_DRAW) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_KID_HORSE_GROAN);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_HORSE_GROAN);
|
||||
|
@ -1437,7 +1442,7 @@ void EnHorse_StartRearing(EnHorse* this) {
|
|||
if (sAnimationHeaders[this->type][this->animationIdx] == NULL) {
|
||||
if (Rand_ZeroOne() > 0.5f) {
|
||||
if (this->stateFlags & ENHORSE_DRAW) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_HORSE_NEIGH);
|
||||
|
@ -1451,7 +1456,7 @@ void EnHorse_StartRearing(EnHorse* this) {
|
|||
|
||||
this->stateFlags &= ~ENHORSE_LAND2_SOUND;
|
||||
if (this->stateFlags & ENHORSE_DRAW) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_HORSE_NEIGH);
|
||||
|
@ -1471,7 +1476,7 @@ void EnHorse_MountedRearing(EnHorse* this, PlayState* play) {
|
|||
if (this->curFrame > 25.0f) {
|
||||
if (!(this->stateFlags & ENHORSE_LAND2_SOUND)) {
|
||||
this->stateFlags |= ENHORSE_LAND2_SOUND;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_LAND2);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_LAND2);
|
||||
|
@ -1511,7 +1516,7 @@ void EnHorse_StartBraking(EnHorse* this, PlayState* play) {
|
|||
if (sAnimationHeaders[this->type][this->animationIdx] == NULL) {
|
||||
if (Rand_ZeroOne() > 0.5f) {
|
||||
if (this->stateFlags & ENHORSE_DRAW) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_HORSE_NEIGH);
|
||||
|
@ -1523,7 +1528,7 @@ void EnHorse_StartBraking(EnHorse* this, PlayState* play) {
|
|||
EnHorse_StartMountedIdleResetAnim(this);
|
||||
}
|
||||
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_SLIP);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_SLIP);
|
||||
|
@ -1548,7 +1553,7 @@ void EnHorse_Stopping(EnHorse* this, PlayState* play) {
|
|||
if ((Rand_ZeroOne() > 0.5f) &&
|
||||
((gSaveContext.save.entranceIndex != 0x6400) || !Cutscene_GetSceneSetupIndex(play))) {
|
||||
if (this->stateFlags & ENHORSE_DRAW) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_HORSE_NEIGH);
|
||||
|
@ -1681,7 +1686,7 @@ void EnHorse_StartLowJump(EnHorse* this, PlayState* play) {
|
|||
y = jointTable->y;
|
||||
this->riderPos.y -= ((y * 0.01f) * this->unk_528) * 0.01f;
|
||||
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_JUMP);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_JUMP);
|
||||
|
@ -1740,7 +1745,7 @@ void EnHorse_LowJump(EnHorse* this, PlayState* play) {
|
|||
if (SkelAnime_Update(&this->skin.skelAnime) ||
|
||||
((curFrame > 17.0f) &&
|
||||
(this->actor.world.pos.y < ((this->actor.floorHeight - this->actor.velocity.y) + 80.0f)))) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_LAND);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_LAND);
|
||||
|
@ -1779,7 +1784,7 @@ void EnHorse_StartHighJump(EnHorse* this, PlayState* play) {
|
|||
this->riderPos.y -= ((y * 0.01f) * this->unk_528) * 0.01f;
|
||||
|
||||
this->stateFlags |= ENHORSE_CALC_RIDER_POS;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_JUMP);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_JUMP);
|
||||
|
@ -1837,7 +1842,7 @@ void EnHorse_HighJump(EnHorse* this, PlayState* play) {
|
|||
if (SkelAnime_Update(&this->skin.skelAnime) ||
|
||||
((curFrame > 23.0f) &&
|
||||
(this->actor.world.pos.y < ((this->actor.floorHeight - this->actor.velocity.y) + 80.0f)))) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_LAND);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_LAND);
|
||||
|
@ -1862,10 +1867,10 @@ void EnHorse_InitInactive(EnHorse* this) {
|
|||
}
|
||||
|
||||
void EnHorse_Inactive(EnHorse* this, PlayState* play) {
|
||||
if ((D_801BDAA4 != 0) && (this->type == HORSE_2)) {
|
||||
if ((D_801BDAA4 != 0) && (this->type == HORSE_TYPE_2)) {
|
||||
D_801BDAA4 = 0;
|
||||
if (EnHorse_Spawn(this, play)) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
}
|
||||
this->stateFlags &= ~ENHORSE_INACTIVE;
|
||||
|
@ -1901,7 +1906,7 @@ void EnHorse_PlayIdleAnimation(EnHorse* this, s32 anim, f32 morphFrames, f32 sta
|
|||
} else {
|
||||
if (this->animationIdx == ENHORSE_ANIM_WHINNEY) {
|
||||
if (this->stateFlags & ENHORSE_DRAW) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_KID_HORSE_GROAN);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_HORSE_GROAN);
|
||||
|
@ -1909,7 +1914,7 @@ void EnHorse_PlayIdleAnimation(EnHorse* this, s32 anim, f32 morphFrames, f32 sta
|
|||
}
|
||||
} else if (this->animationIdx == ENHORSE_ANIM_REARING) {
|
||||
if (this->stateFlags & ENHORSE_DRAW) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_HORSE_NEIGH);
|
||||
|
@ -1942,11 +1947,11 @@ void EnHorse_Idle(EnHorse* this, PlayState* play) {
|
|||
this->actor.speedXZ = 0.0f;
|
||||
EnHorse_IdleAnimSounds(this, play);
|
||||
|
||||
if ((D_801BDAA4 != 0) && (this->type == HORSE_2)) {
|
||||
if ((D_801BDAA4 != 0) && (this->type == HORSE_TYPE_2)) {
|
||||
D_801BDAA4 = 0;
|
||||
if (!func_8087C38C(play, this, &this->actor.world.pos)) {
|
||||
if (EnHorse_Spawn(this, play)) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_NEIGH);
|
||||
|
@ -1955,7 +1960,7 @@ void EnHorse_Idle(EnHorse* this, PlayState* play) {
|
|||
EnHorse_SetFollowAnimation(this, play);
|
||||
}
|
||||
} else {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_NEIGH);
|
||||
|
@ -2067,7 +2072,7 @@ void EnHorse_FollowPlayer(EnHorse* this, PlayState* play) {
|
|||
this->actor.shape.rot.y = this->actor.world.rot.y;
|
||||
if ((this->curFrame > 25.0f) && !(this->stateFlags & ENHORSE_LAND2_SOUND)) {
|
||||
this->stateFlags |= ENHORSE_LAND2_SOUND;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_LAND2);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_LAND2);
|
||||
|
@ -2099,7 +2104,7 @@ void EnHorse_FollowPlayer(EnHorse* this, PlayState* play) {
|
|||
if (this->followTimer > 300) {
|
||||
EnHorse_StartIdleRidable(this);
|
||||
if (this->stateFlags & ENHORSE_DRAW) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_HORSE_NEIGH);
|
||||
|
@ -2179,14 +2184,14 @@ void EnHorse_UpdateIngoHorseAnim(EnHorse* this) {
|
|||
animSpeed = this->actor.speedXZ * 0.5f;
|
||||
} else if (this->animationIdx == ENHORSE_ANIM_TROT) {
|
||||
animSpeed = this->actor.speedXZ * 0.25f;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_RUN);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_RUN);
|
||||
}
|
||||
} else if (this->animationIdx == ENHORSE_ANIM_GALLOP) {
|
||||
animSpeed = this->actor.speedXZ * 0.2f;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_RUN);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_RUN);
|
||||
|
@ -2259,7 +2264,7 @@ void func_80881290(EnHorse* this, PlayState* play) {
|
|||
this->actor.gravity = 0.0f;
|
||||
this->actor.velocity.y = 0.0f;
|
||||
this->jumpStartY = this->actor.world.pos.y;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_JUMP);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_JUMP);
|
||||
|
@ -2299,7 +2304,7 @@ void func_80881398(EnHorse* this, PlayState* play) {
|
|||
|
||||
if (animeUpdated || ((curFrame > 17.0f) &&
|
||||
(this->actor.world.pos.y < ((this->actor.floorHeight - this->actor.velocity.y) + 80.0f)))) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_LAND);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_LAND);
|
||||
|
@ -2371,14 +2376,14 @@ void func_8088168C(EnHorse* this) {
|
|||
animSpeed = this->actor.speedXZ * 0.5f;
|
||||
} else if (this->animationIdx == ENHORSE_ANIM_TROT) {
|
||||
animSpeed = this->actor.speedXZ * 0.25f;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_RUN);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_RUN);
|
||||
}
|
||||
} else if (this->animationIdx == ENHORSE_ANIM_GALLOP) {
|
||||
animSpeed = this->actor.speedXZ * 0.2f;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_RUN);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_RUN);
|
||||
|
@ -2516,7 +2521,7 @@ void EnHorse_CsPlayHighJumpAnim(EnHorse* this, PlayState* play) {
|
|||
this->riderPos.y -= y * 0.01f * this->unk_528 * 0.01f;
|
||||
|
||||
this->stateFlags |= ENHORSE_ANIM_HIGH_JUMP;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_JUMP);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_JUMP);
|
||||
|
@ -2566,7 +2571,7 @@ void EnHorse_CsJump(EnHorse* this, PlayState* play, CsCmdActorAction* action) {
|
|||
((curFrame > 19.0f) &&
|
||||
(this->actor.world.pos.y < ((this->actor.floorHeight - this->actor.velocity.y) + 80.0f)))) {
|
||||
this->cutsceneFlags |= 1;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_LAND);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_LAND);
|
||||
|
@ -2595,7 +2600,7 @@ void EnHorse_CsRearingInit(EnHorse* this, PlayState* play, CsCmdActorAction* act
|
|||
this->cutsceneFlags &= ~4;
|
||||
this->stateFlags &= ~ENHORSE_LAND2_SOUND;
|
||||
if (this->stateFlags & ENHORSE_DRAW) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_HORSE_NEIGH);
|
||||
|
@ -2610,7 +2615,7 @@ void EnHorse_CsRearing(EnHorse* this, PlayState* play, CsCmdActorAction* action)
|
|||
if (this->curFrame > 25.0f) {
|
||||
if (!(this->stateFlags & ENHORSE_LAND2_SOUND)) {
|
||||
this->stateFlags |= ENHORSE_LAND2_SOUND;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_LAND2);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_LAND2);
|
||||
|
@ -2688,7 +2693,7 @@ void EnHorse_CsWarpRearingInit(EnHorse* this, PlayState* play, CsCmdActorAction*
|
|||
this->stateFlags &= ~ENHORSE_LAND2_SOUND;
|
||||
|
||||
if (this->stateFlags & ENHORSE_DRAW) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_HORSE_NEIGH);
|
||||
|
@ -2703,7 +2708,7 @@ void EnHorse_CsWarpRearing(EnHorse* this, PlayState* play, CsCmdActorAction* act
|
|||
if (this->curFrame > 25.0f) {
|
||||
if (!(this->stateFlags & ENHORSE_LAND2_SOUND)) {
|
||||
this->stateFlags |= ENHORSE_LAND2_SOUND;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_LAND2);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_LAND2);
|
||||
|
@ -2860,7 +2865,7 @@ void EnHorse_UpdateHbaAnim(EnHorse* this) {
|
|||
animSpeed = this->actor.speedXZ * 0.5f;
|
||||
} else if (this->animationIdx == ENHORSE_ANIM_TROT) {
|
||||
animSpeed = this->actor.speedXZ * 0.25f;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_RUN);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_RUN);
|
||||
|
@ -2868,7 +2873,7 @@ void EnHorse_UpdateHbaAnim(EnHorse* this) {
|
|||
Rumble_Request(0.0f, 60, 8, 255);
|
||||
} else if (this->animationIdx == ENHORSE_ANIM_GALLOP) {
|
||||
animSpeed = this->actor.speedXZ * 0.2f;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_RUN);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_RUN);
|
||||
|
@ -2952,9 +2957,9 @@ void EnHorse_FleePlayer(EnHorse* this, PlayState* play) {
|
|||
s32 animFinished;
|
||||
s16 yaw;
|
||||
|
||||
if ((D_801BDAA4 != 0) || (this->type == HORSE_HNI)) {
|
||||
if ((D_801BDAA4 != 0) || (this->type == HORSE_TYPE_HNI)) {
|
||||
EnHorse_StartIdleRidable(this);
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_HORSE_NEIGH);
|
||||
|
@ -3059,7 +3064,7 @@ void EnHorse_FleePlayer(EnHorse* this, PlayState* play) {
|
|||
} else {
|
||||
this->animationIdx = ENHORSE_ANIM_WHINNEY;
|
||||
if (this->stateFlags & ENHORSE_DRAW) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_KID_HORSE_GROAN);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_HORSE_GROAN);
|
||||
|
@ -3331,12 +3336,12 @@ void func_80884994(EnHorse* this) {
|
|||
}
|
||||
|
||||
void func_80884A40(EnHorse* this, PlayState* play) {
|
||||
s32 sp44[] = { 5, 6, 0 };
|
||||
s32 sp44[] = { ENHORSE_ANIM_TROT, ENHORSE_ANIM_GALLOP, ENHORSE_ANIM_IDLE };
|
||||
s32 sp40;
|
||||
s32 temp_v0;
|
||||
|
||||
if (this->animationIdx == ENHORSE_ANIM_WHINNEY) {
|
||||
temp_v0 = 0;
|
||||
temp_v0 = ENHORSE_ANIM_IDLE;
|
||||
} else {
|
||||
temp_v0 = this->animationIdx;
|
||||
}
|
||||
|
@ -3366,9 +3371,9 @@ void func_80884A40(EnHorse* this, PlayState* play) {
|
|||
0.0f);
|
||||
}
|
||||
|
||||
if ((this->unk_538 == 0) || (this->unk_538 == 1)) {
|
||||
if ((this->unk_538 == OBJ_UM_ANIM_TROT) || (this->unk_538 == OBJ_UM_ANIM_GALLOP)) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_HORSE_RUN);
|
||||
} else if (this->unk_538 == 2) {
|
||||
} else if (this->unk_538 == OBJ_UM_ANIM_IDLE) {
|
||||
if (this->animationIdx == ENHORSE_ANIM_IDLE) {
|
||||
EnHorse_IdleAnimSounds(this, play);
|
||||
} else if (this->animationIdx == ENHORSE_ANIM_WHINNEY) {
|
||||
|
@ -3392,6 +3397,7 @@ void func_80884D04(EnHorse* this, PlayState* play) {
|
|||
Animation_GetLastFrame(sAnimationHeaders[this->type][this->animationIdx]), ANIMMODE_ONCE, 0.0f);
|
||||
}
|
||||
|
||||
// Action func: EnHorse_UpdateBandit?
|
||||
void func_80884E0C(EnHorse* this, PlayState* play) {
|
||||
f32 playSpeed = (this->unk_56C * 0.2f * 0.5f) + 1.0f;
|
||||
Vec3f pos;
|
||||
|
@ -3408,8 +3414,8 @@ void func_80884E0C(EnHorse* this, PlayState* play) {
|
|||
}
|
||||
|
||||
this->unk_57C = this->actor.world.pos;
|
||||
this->actor.world.pos.x = this->unk_570.x;
|
||||
this->actor.world.pos.z = this->unk_570.z;
|
||||
this->actor.world.pos.x = this->banditPosition.x;
|
||||
this->actor.world.pos.z = this->banditPosition.z;
|
||||
|
||||
this->unk_56C = Math3D_Distance(&this->actor.world.pos, &this->actor.prevPos);
|
||||
if (((this->unk_550 == 5) || (this->unk_550 == 7)) && (Player_GetMask(play) != PLAYER_MASK_CIRCUS_LEADER)) {
|
||||
|
@ -3429,7 +3435,7 @@ void func_80884E0C(EnHorse* this, PlayState* play) {
|
|||
}
|
||||
this->actor.world.pos.y += this->actor.velocity.y * 0.5f;
|
||||
} else {
|
||||
this->actor.world.pos.y = this->unk_570.y;
|
||||
this->actor.world.pos.y = this->banditPosition.y;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3536,7 +3542,7 @@ void EnHorse_CheckFloors(EnHorse* this, PlayState* play) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (this->type != HORSE_2) {
|
||||
if (this->type != HORSE_TYPE_2) {
|
||||
EnHorse_Vec3fOffset(&this->actor.world.pos, this->actor.shape.rot.y, 30.0f, 55.0f, &frontPos);
|
||||
} else {
|
||||
EnHorse_Vec3fOffset(&this->actor.world.pos, this->actor.shape.rot.y, 15.0f, 30.0f, &frontPos);
|
||||
|
@ -3555,7 +3561,7 @@ void EnHorse_CheckFloors(EnHorse* this, PlayState* play) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (this->type != HORSE_2) {
|
||||
if (this->type != HORSE_TYPE_2) {
|
||||
EnHorse_Vec3fOffset(&this->actor.world.pos, this->actor.shape.rot.y, -30.0f, 55.0f, &backPos);
|
||||
} else {
|
||||
EnHorse_Vec3fOffset(&this->actor.world.pos, this->actor.shape.rot.y, -15.0f, 30.0f, &backPos);
|
||||
|
@ -3732,7 +3738,7 @@ void EnHorse_UpdateBgCheckInfo(EnHorse* this, PlayState* play) {
|
|||
if ((this->actor.bgCheckFlags & 8) && (Math_CosS(this->actor.wallYaw - this->actor.world.rot.y) < -0.3f)) {
|
||||
if (this->actor.speedXZ > 4.0f) {
|
||||
this->actor.speedXZ -= 1.0f;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_SANDDUST);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_SANDDUST);
|
||||
|
@ -3749,7 +3755,7 @@ void EnHorse_UpdateBgCheckInfo(EnHorse* this, PlayState* play) {
|
|||
this->unk_3E8 += ((-10.0f / this->actor.scale.y) - this->unk_3E8) * 0.5f;
|
||||
if (this->actor.speedXZ > 2.0f) {
|
||||
this->actor.speedXZ -= 1.0f;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_SANDDUST);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_EV_KID_HORSE_SANDDUST);
|
||||
|
@ -3990,7 +3996,7 @@ void func_80886C00(EnHorse* this, PlayState* play) {
|
|||
this->boostTimer = 0;
|
||||
if (this->numBoosts == 0) {
|
||||
this->boostRegenTime = 140;
|
||||
} else if (this->type == HORSE_EPONA) {
|
||||
} else if (this->type == HORSE_TYPE_EPONA) {
|
||||
if (this->stateFlags & ENHORSE_FIRST_BOOST_REGEN) {
|
||||
this->boostRegenTime = 60;
|
||||
this->stateFlags &= ~ENHORSE_FIRST_BOOST_REGEN;
|
||||
|
@ -4001,7 +4007,7 @@ void func_80886C00(EnHorse* this, PlayState* play) {
|
|||
this->boostRegenTime = 70;
|
||||
}
|
||||
} else if ((this->stateFlags & ENHORSE_DRAW) && (Rand_ZeroOne() < 0.1f)) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_HORSE_NEIGH);
|
||||
|
@ -4056,7 +4062,7 @@ void EnHorse_RegenBoost(EnHorse* this, PlayState* play) {
|
|||
|
||||
if (this->boostTimer == 8) {
|
||||
if ((Rand_ZeroOne() < 0.25f) && (this->stateFlags & ENHORSE_DRAW)) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_HORSE_NEIGH);
|
||||
|
@ -4175,9 +4181,9 @@ void EnHorse_Update(Actor* thisx, PlayState* play2) {
|
|||
Vec3f dustVel = { 0.0f, 1.0f, 0.0f };
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Actor_SetScale(&this->actor, 0.00648f);
|
||||
} else if (this->type == HORSE_4) {
|
||||
} else if (this->type == HORSE_TYPE_DONKEY) {
|
||||
Actor_SetScale(&this->actor, 0.008f);
|
||||
} else {
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
|
@ -4258,7 +4264,7 @@ void EnHorse_Update(Actor* thisx, PlayState* play2) {
|
|||
}
|
||||
|
||||
if ((this->colliderJntSph.base.acFlags & AC_HIT) && (this->stateFlags & ENHORSE_DRAW)) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_KID_HORSE_NEIGH);
|
||||
} else {
|
||||
Audio_PlaySfxAtPos(&this->unk_218, NA_SE_EV_HORSE_NEIGH);
|
||||
|
@ -4290,7 +4296,7 @@ void EnHorse_Update(Actor* thisx, PlayState* play2) {
|
|||
Collider_UpdateCylinder(&this->actor, &this->colliderCylinder1);
|
||||
Collider_UpdateCylinder(&this->actor, &this->colliderCylinder2);
|
||||
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
this->colliderCylinder1.dim.pos.x =
|
||||
(s16)(Math_SinS(thisx->shape.rot.y) * 11.0f) + this->colliderCylinder1.dim.pos.x;
|
||||
this->colliderCylinder1.dim.pos.z =
|
||||
|
@ -4456,7 +4462,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) {
|
|||
f32 sp34;
|
||||
|
||||
if (!(this->stateFlags & ENHORSE_CALC_RIDER_POS)) {
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Skin_GetVertexPos(skin, 5, 120, &this->riderPos);
|
||||
this->riderPos.y += 13.0f;
|
||||
} else {
|
||||
|
@ -4471,7 +4477,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) {
|
|||
this->stateFlags &= ~ENHORSE_CALC_RIDER_POS;
|
||||
}
|
||||
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Skin_GetLimbPos(skin, 13, &sp7C, &sp38);
|
||||
} else {
|
||||
Skin_GetLimbPos(skin, 13, &sp7C, &sp38);
|
||||
|
@ -4492,7 +4498,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) {
|
|||
if (((curFrame > 10.0f) && (curFrame < 13.0f)) || ((curFrame > 25.0f) && (curFrame < 33.0f))) {
|
||||
if (Rand_ZeroOne() < 0.02f) {
|
||||
this->dustFlags |= 2;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Skin_GetLimbPos(skin, 20, &hoofOffset, &sp64);
|
||||
} else {
|
||||
Skin_GetLimbPos(skin, 20, &hoofOffset, &sp64);
|
||||
|
@ -4502,7 +4508,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) {
|
|||
|
||||
if (Rand_ZeroOne() < 0.02f) {
|
||||
this->dustFlags |= 1;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Skin_GetLimbPos(skin, 28, &hoofOffset, &sp64);
|
||||
} else {
|
||||
Skin_GetLimbPos(skin, 28, &hoofOffset, &sp64);
|
||||
|
@ -4514,7 +4520,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) {
|
|||
if (((curFrame > 6.0f) && (curFrame < 10.0f)) || ((curFrame > 23.0f) && (curFrame < 29.0f))) {
|
||||
if (Rand_ZeroOne() < 0.02f) {
|
||||
this->dustFlags |= 8;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Skin_GetLimbPos(skin, 36, &hoofOffset, &sp64);
|
||||
} else {
|
||||
Skin_GetLimbPos(skin, 37, &hoofOffset, &sp64);
|
||||
|
@ -4526,7 +4532,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) {
|
|||
if ((((curFrame > 7.0f) && (curFrame < 14.0f)) || ((curFrame > 26.0f) && (curFrame < 30.0f))) &&
|
||||
(Rand_ZeroOne() < 0.02f)) {
|
||||
this->dustFlags |= 4;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Skin_GetLimbPos(skin, 44, &hoofOffset, &sp64);
|
||||
} else {
|
||||
Skin_GetLimbPos(skin, 45, &hoofOffset, &sp64);
|
||||
|
@ -4536,7 +4542,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) {
|
|||
} else if (this->animationIdx == ENHORSE_ANIM_GALLOP) {
|
||||
if ((curFrame > 14.0f) && (curFrame < 16.0f) && (Rand_ZeroOne() < 0.02f)) {
|
||||
this->dustFlags |= 1;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Skin_GetLimbPos(skin, 28, &hoofOffset, &sp64);
|
||||
} else {
|
||||
Skin_GetLimbPos(skin, 28, &hoofOffset, &sp64);
|
||||
|
@ -4544,7 +4550,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) {
|
|||
EnHorse_RandomOffset(&sp64, 5.0f, &this->frontRightHoof);
|
||||
} else if ((curFrame > 8.0f) && (curFrame < 10.0f) && (Rand_ZeroOne() < 0.02f)) {
|
||||
this->dustFlags |= 2;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Skin_GetLimbPos(skin, 20, &hoofOffset, &sp64);
|
||||
} else {
|
||||
Skin_GetLimbPos(skin, 20, &hoofOffset, &sp64);
|
||||
|
@ -4552,7 +4558,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) {
|
|||
EnHorse_RandomOffset(&sp64, 10.0f, &this->frontLeftHoof);
|
||||
} else if ((curFrame > 1.0f) && (curFrame < 3.0f) && (Rand_ZeroOne() < 0.02f)) {
|
||||
this->dustFlags |= 4;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Skin_GetLimbPos(skin, 44, &hoofOffset, &sp64);
|
||||
} else {
|
||||
Skin_GetLimbPos(skin, 45, &hoofOffset, &sp64);
|
||||
|
@ -4560,7 +4566,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) {
|
|||
EnHorse_RandomOffset(&sp64, 10.0f, &this->backRightHoof);
|
||||
} else if ((curFrame > 26.0f) && (curFrame < 28.0f) && (Rand_ZeroOne() < 0.02f)) {
|
||||
this->dustFlags |= 8;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Skin_GetLimbPos(skin, 36, &hoofOffset, &sp64);
|
||||
} else {
|
||||
Skin_GetLimbPos(skin, 37, &hoofOffset, &sp64);
|
||||
|
@ -4571,7 +4577,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) {
|
|||
(Rand_ZeroOne() < (1.0f - ((curFrame - 6.0f) * (1.0f / 17.0f))))) {
|
||||
if (Rand_ZeroOne() < 0.05f) {
|
||||
this->dustFlags |= 8;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Skin_GetLimbPos(skin, 36, &hoofOffset, &sp64);
|
||||
} else {
|
||||
Skin_GetLimbPos(skin, 37, &hoofOffset, &sp64);
|
||||
|
@ -4580,7 +4586,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) {
|
|||
}
|
||||
if (Rand_ZeroOne() < 0.02f) {
|
||||
this->dustFlags |= 4;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Skin_GetLimbPos(skin, 44, &hoofOffset, &sp64);
|
||||
} else {
|
||||
Skin_GetLimbPos(skin, 45, &hoofOffset, &sp64);
|
||||
|
@ -4591,7 +4597,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) {
|
|||
if (Rand_ZeroOne() < (1.0f - ((curFrame - 5.0f) * 0.04f))) {
|
||||
if (Rand_ZeroOne() < 0.05f) {
|
||||
this->dustFlags |= 8;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Skin_GetLimbPos(skin, 36, &hoofOffset, &sp64);
|
||||
} else {
|
||||
Skin_GetLimbPos(skin, 37, &hoofOffset, &sp64);
|
||||
|
@ -4601,7 +4607,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) {
|
|||
|
||||
if (Rand_ZeroOne() < 0.02f) {
|
||||
this->dustFlags |= 4;
|
||||
if (this->type == HORSE_2) {
|
||||
if (this->type == HORSE_TYPE_2) {
|
||||
Skin_GetLimbPos(skin, 44, &hoofOffset, &sp64);
|
||||
} else {
|
||||
Skin_GetLimbPos(skin, 45, &hoofOffset, &sp64);
|
||||
|
@ -4649,12 +4655,12 @@ s32 EnHorse_OverrideLimbDraw(Actor* thisx, PlayState* play, s32 limbIndex, Skin*
|
|||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
if ((limbIndex != 13) || (this->type != HORSE_EPONA)) {
|
||||
if ((limbIndex == 13) && (this->type == HORSE_2)) {
|
||||
if ((limbIndex != 13) || (this->type != HORSE_TYPE_EPONA)) {
|
||||
if ((limbIndex == 13) && (this->type == HORSE_TYPE_2)) {
|
||||
u8 idx = D_80889210[this->blinkTimer];
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(D_80889204[idx]));
|
||||
} else if ((this->type == HORSE_HNI) && (this->stateFlags & ENHORSE_FLAG_18) && (limbIndex == 30)) {
|
||||
} else if ((this->type == HORSE_TYPE_HNI) && (this->stateFlags & ENHORSE_FLAG_18) && (limbIndex == 30)) {
|
||||
drawOriginalLimb = false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
#include "global.h"
|
||||
#include "z64skin.h"
|
||||
#include "overlays/actors/ovl_En_In/z_en_in.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
#include "objects/object_ha/object_ha.h"
|
||||
|
||||
struct EnHorse;
|
||||
struct EnIn;
|
||||
|
||||
typedef void (*EnHorseActionFunc)(struct EnHorse*, PlayState*);
|
||||
typedef void (*EnHorsePostdrawFunc)(struct EnHorse*, PlayState*);
|
||||
|
@ -97,18 +97,22 @@ typedef enum {
|
|||
} EnHorseAnimationIndex;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ HORSE_EPONA,
|
||||
/* 1 */ HORSE_HNI,
|
||||
/* 2 */ HORSE_2,
|
||||
/* 3 */ HORSE_3,
|
||||
/* 4 */ HORSE_4
|
||||
/* 0 */ HORSE_TYPE_EPONA,
|
||||
/* 1 */ HORSE_TYPE_HNI,
|
||||
/* 2 */ HORSE_TYPE_2,
|
||||
/* 3 */ HORSE_TYPE_BANDIT,
|
||||
/* 4 */ HORSE_TYPE_DONKEY // Cremia's donkey
|
||||
} HorseType;
|
||||
|
||||
#define ENHORSE_GET_2000(thisx) ((thisx)->params & 0x2000)
|
||||
#define ENHORSE_GET_4000(thisx) ((thisx)->params & 0x4000)
|
||||
#define ENHORSE_GET_8000(thisx) ((thisx)->params & 0x8000)
|
||||
#define ENHORSE_PARAM_BANDIT 0x2000
|
||||
#define ENHORSE_PARAM_4000 0x4000
|
||||
#define ENHORSE_PARAM_DONKEY 0x8000
|
||||
|
||||
enum {
|
||||
#define ENHORSE_IS_BANDIT_TYPE(thisx) ((thisx)->params & ENHORSE_PARAM_BANDIT)
|
||||
#define ENHORSE_IS_4000_TYPE(thisx) ((thisx)->params & ENHORSE_PARAM_4000)
|
||||
#define ENHORSE_IS_DONKEY_TYPE(thisx) ((thisx)->params & ENHORSE_PARAM_DONKEY)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ ENHORSE_0,
|
||||
/* 1 */ ENHORSE_1,
|
||||
/* 2 */ ENHORSE_2,
|
||||
|
@ -130,7 +134,13 @@ enum {
|
|||
/* 18 */ ENHORSE_18,
|
||||
/* 19 */ ENHORSE_19,
|
||||
/* 20 */ ENHORSE_20,
|
||||
};
|
||||
} EnHorseParam;
|
||||
|
||||
/**
|
||||
* `paramtype` should be `ENHORSE_PARAM_BANDIT`, `ENHORSE_PARAM_4000` or `ENHORSE_PARAM_DONKEY`
|
||||
* `lower` should be a value of the enum `EnHorseParam`
|
||||
*/
|
||||
#define ENHORSE_PARAMS(type, lower) ((type) | (lower))
|
||||
|
||||
typedef struct EnHorse {
|
||||
/* 0x000 */ Actor actor;
|
||||
|
@ -180,7 +190,7 @@ typedef struct EnHorse {
|
|||
/* 0x384 */ u16 cutsceneFlags;
|
||||
/* 0x388 */ s32 inRace;
|
||||
/* 0x38C */ struct EnIn* rider;
|
||||
/* 0x390 */ UNK_TYPE1 unk390[0x4];
|
||||
/* 0x390 */ UNK_TYPE1 unk_390[0x4];
|
||||
/* 0x394 */ u16 unk_394;
|
||||
/* 0x398 */ f32 unk_398;
|
||||
/* 0x39C */ s32 unk_39C;
|
||||
|
@ -193,7 +203,7 @@ typedef struct EnHorse {
|
|||
/* 0x3C8 */ Vec3f backRightHoof;
|
||||
/* 0x3D4 */ Vec3f backLeftHoof;
|
||||
/* 0x3E0 */ s32 unk_3E0;
|
||||
/* 0x3E4 */ UNK_TYPE1 unk3E4[0x4];
|
||||
/* 0x3E4 */ UNK_TYPE1 unk_3E4[0x4];
|
||||
/* 0x3E8 */ f32 unk_3E8;
|
||||
/* 0x3EC */ s16 unk_3EC;
|
||||
/* 0x3EE */ Vec3s jointTable[OBJECT_HA_1_LIMB_MAX];
|
||||
|
@ -205,13 +215,19 @@ typedef struct EnHorse {
|
|||
/* 0x538 */ s32 unk_538;
|
||||
/* 0x53C */ s32 unk_53C;
|
||||
/* 0x540 */ Vec3f unk_540;
|
||||
/* 0x54C */ UNK_TYPE1 unk54C[0x4];
|
||||
/* 0x54C */ UNK_TYPE unk_54C;
|
||||
/* 0x550 */ s32 unk_550;
|
||||
/* 0x554 */ UNK_TYPE1 unk554[0x18];
|
||||
/* 0x554 */ UNK_TYPE unk_554;
|
||||
/* 0x558 */ UNK_TYPE unk_558;
|
||||
/* 0x55C */ s32 unk_55C; // maybe currentDistanceToCart... it isn't really a distance tho
|
||||
/* 0x560 */ s32 unk_560; // maybe initialDistanceToCart
|
||||
/* 0x564 */ s32 unk_564; // set but not used
|
||||
/* 0x568 */ f32 unk_568; // set but not used
|
||||
/* 0x56C */ f32 unk_56C;
|
||||
/* 0x570 */ Vec3f unk_570;
|
||||
/* 0x570 */ Vec3f banditPosition; // Milk run minigame bandit
|
||||
/* 0x57C */ Vec3f unk_57C;
|
||||
/* 0x588 */ UNK_TYPE1 unk588[0x4];
|
||||
/* 0x588 */ s16 unk_588;
|
||||
/* 0x58A */ UNK_TYPE1 unk_58A[0x2]; // struct padding?
|
||||
/* 0x58C */ s32 unk_58C;
|
||||
/* 0x590 */ s32 unk_590;
|
||||
} EnHorse; // size = 0x594
|
||||
|
|
|
@ -124,14 +124,14 @@ s32 func_808F8CCC(EnHorseGameCheck* this, PlayState* play2) {
|
|||
func_8010E9F0(4, 0);
|
||||
play->interfaceCtx.unk_280 = 1;
|
||||
|
||||
this->horse1 =
|
||||
(EnHorse*)Actor_Spawn(&play->actorCtx, play, ACTOR_EN_HORSE, -1149.0f, -106.0f, 470.0f, 0, 0x7FFF, 0, 0x2004);
|
||||
this->horse1 = (EnHorse*)Actor_Spawn(&play->actorCtx, play, ACTOR_EN_HORSE, -1149.0f, -106.0f, 470.0f, 0, 0x7FFF, 0,
|
||||
ENHORSE_PARAMS(ENHORSE_PARAM_BANDIT, ENHORSE_4));
|
||||
if (this->horse1 == NULL) {
|
||||
__assert("../z_en_horse_game_check.c", 1517);
|
||||
}
|
||||
|
||||
this->horse2 =
|
||||
(EnHorse*)Actor_Spawn(&play->actorCtx, play, ACTOR_EN_HORSE, -1376.0f, -106.0f, 470.0f, 0, 0x7FFF, 0, 0x2005);
|
||||
this->horse2 = (EnHorse*)Actor_Spawn(&play->actorCtx, play, ACTOR_EN_HORSE, -1376.0f, -106.0f, 470.0f, 0, 0x7FFF, 0,
|
||||
ENHORSE_PARAMS(ENHORSE_PARAM_BANDIT, ENHORSE_5));
|
||||
if (this->horse2 == NULL) {
|
||||
__assert("../z_en_horse_game_check.c", 1526);
|
||||
}
|
||||
|
|
|
@ -404,7 +404,7 @@ void func_80A42AB8(EnTest4* this, PlayState* play) {
|
|||
if (player->stateFlags1 & 0x800000) {
|
||||
EnHorse* rideActor = (EnHorse*)player->rideActor;
|
||||
|
||||
if ((rideActor->type == HORSE_EPONA) || (rideActor->type == HORSE_2)) {
|
||||
if ((rideActor->type == HORSE_TYPE_EPONA) || (rideActor->type == HORSE_TYPE_2)) {
|
||||
if (CURRENT_DAY < 3) {
|
||||
D_801BDA9C = 1;
|
||||
} else {
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,18 +2,93 @@
|
|||
#define Z_OBJ_UM_H
|
||||
|
||||
#include "global.h"
|
||||
#include "objects/object_um/object_um.h"
|
||||
#include "overlays/actors/ovl_En_Horse/z_en_horse.h"
|
||||
|
||||
struct ObjUm;
|
||||
|
||||
typedef void (*ObjUmActionFunc)(struct ObjUm*, PlayState*);
|
||||
|
||||
#define MILK_POTS_COUNT 3
|
||||
|
||||
typedef enum ObjUmAnimimations {
|
||||
/* -1 */ OBJ_UM_ANIM_MINUS_1 = -1,
|
||||
/* 0 */ OBJ_UM_ANIM_TROT,
|
||||
/* 1 */ OBJ_UM_ANIM_GALLOP,
|
||||
/* 2 */ OBJ_UM_ANIM_IDLE,
|
||||
/* 3 */ OBJ_UM_ANIM_3, // NULL pointer
|
||||
/* 4 */ OBJ_UM_ANIM_LOOK_BACK
|
||||
} ObjUmAnimimations;
|
||||
|
||||
typedef struct ObjUm {
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x144 */ char unk_144[0x18];
|
||||
/* 0x000 */ DynaPolyActor dyna;
|
||||
/* 0x15C */ ObjUmActionFunc actionFunc;
|
||||
/* 0x160 */ char unk_160[0x384];
|
||||
/* 0x160 */ SkelAnime skelAnime;
|
||||
/* 0x1A4 */ Vec3s jointTable[UM_LIMB_MAX];
|
||||
/* 0x228 */ Vec3s morphTable[UM_LIMB_MAX];
|
||||
/* 0x2AC */ s16 wheelRot;
|
||||
/* 0x2AE */ s16 type;
|
||||
/* 0x2B0 */ s16 initialPathIndex;
|
||||
/* 0x2B4 */ s32 unk_2B4;
|
||||
/* 0x2B8 */ EnHorse* donkey;
|
||||
/* 0x2BC */ s32 pathIndex;
|
||||
/* 0x2BE */ s32 pointIndex;
|
||||
/* 0x2C4 */ Vec3f unk_2C4;
|
||||
/* 0x2D0 */ Vec3f unk_2D0;
|
||||
/* 0x2DC */ Vec3f unk_2DC;
|
||||
/* 0x2E8 */ Vec3f unk_2E8;
|
||||
/* 0x2F4 */ s32 flags;
|
||||
/* 0x2BC */ Vec3s unk_2F8;
|
||||
/* 0x2FE */ Vec3s unk_2FE;
|
||||
/* 0x304 */ ObjUmAnimimations currentAnimIndex;
|
||||
/* 0x308 */ Vec3f unk_308;
|
||||
/* 0x314 */ s32 potsLife[MILK_POTS_COUNT];
|
||||
/* 0x320 */ s32 wasPotHit[MILK_POTS_COUNT]; // resets to false in the same frame
|
||||
/* 0x32C */ Vec3f potPos[MILK_POTS_COUNT];
|
||||
/* 0x350 */ s32 unk_350; // unused counter?
|
||||
/* 0x354 */ s32 unk_354; // unused?
|
||||
/* 0x358 */ EnHorse* bandit1;
|
||||
/* 0x35C */ EnHorse* bandit2;
|
||||
/* 0x360 */ Vec3f unk_360[16];
|
||||
/* 0x420 */ s32 unk_420; // ?
|
||||
/* 0x424 */ ColliderCylinder banditsCollisions[2];
|
||||
/* 0x4BC */ Vec3f cartBedPos;
|
||||
/* 0x4C8 */ u16 lastTime;
|
||||
/* 0x4CC */ s32 unk_4CC;
|
||||
/* 0x4D0 */ s32 eyeTexIndex;
|
||||
/* 0x4D4 */ s32 mouthTexIndex;
|
||||
/* 0x4D8 */ s32 unk_4D8;
|
||||
/* 0x4DC */ s32 unk_4DC;
|
||||
/* 0x4E0 */ s32 areAllPotsBroken; // true when all of the pots have been broken
|
||||
} ObjUm; // size = 0x4E4
|
||||
|
||||
extern const ActorInit Obj_Um_InitVars;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ OBJ_UM_TYPE_TERMINA_FIELD,
|
||||
/* 1 */ OBJ_UM_TYPE_RANCH,
|
||||
/* 2 */ OBJ_UM_TYPE_PRE_MILK_RUN, // milk road, pre-minigame
|
||||
/* 3 */ OBJ_UM_TYPE_MILK_RUN_MINIGAME,
|
||||
/* 4 */ OBJ_UM_TYPE_POST_MILK_RUN // milk road, post-minigame
|
||||
} ObjUmType;
|
||||
|
||||
#define OBJ_UM_PARSE_TYPE(thisx) (((thisx)->params & 0xFF00) >> 8)
|
||||
#define OBJ_UM_PARSE_PATH_INDEX(thisx) ((thisx)->params & 0xFF)
|
||||
|
||||
#define OBJ_UM_FLAG_NONE (0)
|
||||
#define OBJ_UM_FLAG_0001 (1 << 0)
|
||||
#define OBJ_UM_FLAG_MOVING (1 << 1)
|
||||
#define OBJ_UM_FLAG_0004 (1 << 2)
|
||||
#define OBJ_UM_FLAG_WAITING (1 << 3) // Waiting in the Ranch
|
||||
#define OBJ_UM_FLAG_0010 (1 << 4)
|
||||
#define OBJ_UM_FLAG_DRAWN_FLOOR (1 << 5)
|
||||
#define OBJ_UM_FLAG_0040 (1 << 6)
|
||||
#define OBJ_UM_FLAG_PLAYING_MINIGAME (1 << 7)
|
||||
#define OBJ_UM_FLAG_0100 (1 << 8)
|
||||
#define OBJ_UM_FLAG_0200 (1 << 9) // Something bandit1
|
||||
#define OBJ_UM_FLAG_0400 (1 << 10) // Something bandit2
|
||||
#define OBJ_UM_FLAG_LOOK_BACK (1 << 11)
|
||||
#define OBJ_UM_FLAG_1000 (1 << 12)
|
||||
#define OBJ_UM_FLAG_MINIGAME_FINISHED (1 << 13)
|
||||
|
||||
#endif // Z_OBJ_UM_H
|
||||
|
|
|
@ -14462,57 +14462,57 @@
|
|||
0x80B77354:("EnTruMt_TransformLimbDraw",),
|
||||
0x80B773D0:("EnTruMt_Draw",),
|
||||
0x80B77770:("func_80B77770",),
|
||||
0x80B77FA4:("func_80B77FA4",),
|
||||
0x80B77FA4:("ObjUm_InitBandits",),
|
||||
0x80B781DC:("func_80B781DC",),
|
||||
0x80B783E0:("func_80B783E0",),
|
||||
0x80B78764:("func_80B78764",),
|
||||
0x80B78A54:("func_80B78A54",),
|
||||
0x80B78C18:("func_80B78C18",),
|
||||
0x80B78D08:("func_80B78D08",),
|
||||
0x80B78D08:("ObjUm_UpdateBanditsCollisions",),
|
||||
0x80B78DF0:("func_80B78DF0",),
|
||||
0x80B78E2C:("ObjUm_SetupAction",),
|
||||
0x80B78E38:("func_80B78E38",),
|
||||
0x80B78E88:("func_80B78E88",),
|
||||
0x80B78E38:("ObjUm_SetPlayerPosition",),
|
||||
0x80B78E88:("ObjUm_RotatePlayer",),
|
||||
0x80B78EBC:("func_80B78EBC",),
|
||||
0x80B78EFC:("func_80B78EFC",),
|
||||
0x80B78EFC:("ObjUm_RotatePlayerView",),
|
||||
0x80B78F24:("ObjUm_Init",),
|
||||
0x80B7949C:("ObjUm_Destroy",),
|
||||
0x80B79524:("func_80B79524",),
|
||||
0x80B79560:("func_80B79560",),
|
||||
0x80B795A0:("func_80B795A0",),
|
||||
0x80B79734:("func_80B79734",),
|
||||
0x80B797EC:("func_80B797EC",),
|
||||
0x80B797EC:("ObjUm_RanchGetDialogue",),
|
||||
0x80B7984C:("func_80B7984C",),
|
||||
0x80B79A24:("func_80B79A24",),
|
||||
0x80B79A50:("func_80B79A50",),
|
||||
0x80B79BA0:("func_80B79BA0",),
|
||||
0x80B79F10:("func_80B79F10",),
|
||||
0x80B79FFC:("func_80B79FFC",),
|
||||
0x80B79A50:("ObjUm_RanchWait",),
|
||||
0x80B79BA0:("ObjUm_UpdatePath",),
|
||||
0x80B79F10:("ObjUm_RanchWaitPathFinished",),
|
||||
0x80B79FFC:("ObjUm_RanchStartCs",),
|
||||
0x80B7A070:("func_80B7A070",),
|
||||
0x80B7A0E0:("func_80B7A0E0",),
|
||||
0x80B7A144:("func_80B7A144",),
|
||||
0x80B7A1B4:("func_80B7A1B4",),
|
||||
0x80B7A1B4:("ObjUm_PreMilkRunDialogueHandler",),
|
||||
0x80B7A240:("func_80B7A240",),
|
||||
0x80B7A2AC:("func_80B7A2AC",),
|
||||
0x80B7A394:("func_80B7A394",),
|
||||
0x80B7A400:("func_80B7A400",),
|
||||
0x80B7A494:("func_80B7A494",),
|
||||
0x80B7A400:("ObjUm_PreMilkRunStartCs",),
|
||||
0x80B7A494:("ObjUm_RunMinigame",),
|
||||
0x80B7A614:("func_80B7A614",),
|
||||
0x80B7A7AC:("func_80B7A7AC",),
|
||||
0x80B7A860:("func_80B7A860",),
|
||||
0x80B7AB78:("func_80B7AB78",),
|
||||
0x80B7ABE4:("func_80B7ABE4",),
|
||||
0x80B7AC94:("func_80B7AC94",),
|
||||
0x80B7AD34:("func_80B7AD34",),
|
||||
0x80B7AE58:("func_80B7AE58",),
|
||||
0x80B7AEFC:("func_80B7AEFC",),
|
||||
0x80B7AC94:("ObjUm_StartCs",),
|
||||
0x80B7AD34:("ObjUm_PostMilkRunWaitPathFinished",),
|
||||
0x80B7AE58:("ObjUm_PostMilkRunStartCs",),
|
||||
0x80B7AEFC:("ObjUm_TerminaFieldIdle",),
|
||||
0x80B7AF30:("func_80B7AF30",),
|
||||
0x80B7B154:("func_80B7B154",),
|
||||
0x80B7B18C:("func_80B7B18C",),
|
||||
0x80B7B154:("ObjUm_DefaultAnim",),
|
||||
0x80B7B18C:("ObjUm_UpdateAnim",),
|
||||
0x80B7B368:("ObjUm_Update",),
|
||||
0x80B7B598:("func_80B7B598",),
|
||||
0x80B7B93C:("func_80B7B93C",),
|
||||
0x80B7BABC:("func_80B7BABC",),
|
||||
0x80B7B598:("ObjUm_OverrideLimbDraw",),
|
||||
0x80B7B93C:("ObjUm_SpawnFragments",),
|
||||
0x80B7BABC:("ObjUm_PostLimbDraw",),
|
||||
0x80B7BEA4:("func_80B7BEA4",),
|
||||
0x80B7C03C:("ObjUm_Draw",),
|
||||
0x80B7C890:("EnNeoReeba_Init",),
|
||||
|
|
|
@ -15003,14 +15003,12 @@
|
|||
0x80B77684:("D_80B77684","f32","",0x4),
|
||||
0x80B77688:("D_80B77688","f32","",0x4),
|
||||
0x80B7C0F0:("Obj_Um_InitVars","UNK_TYPE1","",0x1),
|
||||
0x80B7C110:("D_80B7C110","UNK_TYPE1","",0x1),
|
||||
0x80B7C128:("D_80B7C128","UNK_TYPE1","",0x1),
|
||||
0x80B7C138:("D_80B7C138","UNK_TYPE1","",0x1),
|
||||
0x80B7C110:("sEyeTextures","UNK_TYPE1","",0x1),
|
||||
0x80B7C128:("sMouthTextures","UNK_TYPE1","",0x1),
|
||||
0x80B7C138:("sCylinderInit","UNK_TYPE1","",0x1),
|
||||
0x80B7C164:("D_80B7C164","UNK_TYPE4","",0x4),
|
||||
0x80B7C254:("D_80B7C254","UNK_TYPE4","",0x4),
|
||||
0x80B7C25C:("D_80B7C25C","UNK_TYPE1","",0x1),
|
||||
0x80B7C260:("D_80B7C260","UNK_TYPE1","",0x1),
|
||||
0x80B7C274:("D_80B7C274","UNK_TYPE1","",0x1),
|
||||
0x80B7C254:("sInitChain","UNK_TYPE4","",0x4),
|
||||
0x80B7C25C:("sUmAnims","UNK_TYPE1","[5]",0x28),
|
||||
0x80B7C284:("D_80B7C284","UNK_TYPE4","",0x4),
|
||||
0x80B7C290:("D_80B7C290","UNK_TYPE4","",0x4),
|
||||
0x80B7C29C:("D_80B7C29C","UNK_TYPE4","",0x4),
|
||||
|
|
|
@ -576,6 +576,7 @@ wordReplace = {
|
|||
"func_800E8F08": "Actor_TrackNone",
|
||||
"func_800E8FA4": "Actor_TrackPoint",
|
||||
"func_800E9250": "Actor_TrackPlayer",
|
||||
"func_800E8EA0": "Actor_ContinueText",
|
||||
|
||||
"func_8010A000": "Map_GetDungeonOrBossAreaIndex",
|
||||
"func_8010A074": "Map_IsInDungeonOrBossArea",
|
||||
|
|
|
@ -11,6 +11,8 @@ CLOSE_DISPS = "void"
|
|||
ABS = "int"
|
||||
ABS_ALT = "int"
|
||||
SQ = "int"
|
||||
ARRAY_COUNT = "int"
|
||||
ARRAY_COUNTU = "int"
|
||||
CLAMP = "int"
|
||||
CLOCK_TIME = "int"
|
||||
CURRENT_DAY = "int"
|
||||
|
|
|
@ -1480,13 +1480,6 @@ D_06001100 = 0x06001100;
|
|||
D_06001140 = 0x06001140;
|
||||
D_06001CB0 = 0x06001CB0;
|
||||
|
||||
// ovl_Obj_Um
|
||||
|
||||
D_06007E20 = 0x06007E20;
|
||||
D_06007F50 = 0x06007F50;
|
||||
D_06011DF8 = 0x06011DF8;
|
||||
D_06012CC0 = 0x06012CC0;
|
||||
|
||||
// ovl_Obj_Usiyane
|
||||
|
||||
D_06000098 = 0x06000098;
|
||||
|
|
Loading…
Reference in New Issue