diff --git a/assets/xml/objects/gameplay_field_keep.xml b/assets/xml/objects/gameplay_field_keep.xml
index fe00385508..432a963c80 100644
--- a/assets/xml/objects/gameplay_field_keep.xml
+++ b/assets/xml/objects/gameplay_field_keep.xml
@@ -58,5 +58,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_am.xml b/assets/xml/objects/object_am.xml
index c787a7b391..faf6c5576a 100644
--- a/assets/xml/objects/object_am.xml
+++ b/assets/xml/objects/object_am.xml
@@ -23,5 +23,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_ani.xml b/assets/xml/objects/object_ani.xml
index cdfbef1073..33dc215ba2 100644
--- a/assets/xml/objects/object_ani.xml
+++ b/assets/xml/objects/object_ani.xml
@@ -47,6 +47,7 @@
+
diff --git a/assets/xml/objects/object_anubice.xml b/assets/xml/objects/object_anubice.xml
index 7c3148d742..492a8e4235 100644
--- a/assets/xml/objects/object_anubice.xml
+++ b/assets/xml/objects/object_anubice.xml
@@ -51,5 +51,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_bdan_objects.xml b/assets/xml/objects/object_bdan_objects.xml
index 6831e5f9ce..781f33eafb 100644
--- a/assets/xml/objects/object_bdan_objects.xml
+++ b/assets/xml/objects/object_bdan_objects.xml
@@ -33,7 +33,9 @@
+
+
diff --git a/assets/xml/objects/object_blkobj.xml b/assets/xml/objects/object_blkobj.xml
index c8f3012bf4..a2f22813b9 100644
--- a/assets/xml/objects/object_blkobj.xml
+++ b/assets/xml/objects/object_blkobj.xml
@@ -21,5 +21,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_crow.xml b/assets/xml/objects/object_crow.xml
index 8c5b4080ed..4322992884 100644
--- a/assets/xml/objects/object_crow.xml
+++ b/assets/xml/objects/object_crow.xml
@@ -30,5 +30,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_ddan_objects.xml b/assets/xml/objects/object_ddan_objects.xml
index 992f288683..1857c31e5f 100644
--- a/assets/xml/objects/object_ddan_objects.xml
+++ b/assets/xml/objects/object_ddan_objects.xml
@@ -15,7 +15,9 @@
+
+
diff --git a/assets/xml/objects/object_dekunuts.xml b/assets/xml/objects/object_dekunuts.xml
index 790edea328..6cccc444b1 100644
--- a/assets/xml/objects/object_dekunuts.xml
+++ b/assets/xml/objects/object_dekunuts.xml
@@ -63,5 +63,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_demo_kekkai.xml b/assets/xml/objects/object_demo_kekkai.xml
index 256a9fdebc..b35f9d0422 100644
--- a/assets/xml/objects/object_demo_kekkai.xml
+++ b/assets/xml/objects/object_demo_kekkai.xml
@@ -83,5 +83,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_dnk.xml b/assets/xml/objects/object_dnk.xml
index cbebabf93a..f4850e6aa1 100644
--- a/assets/xml/objects/object_dnk.xml
+++ b/assets/xml/objects/object_dnk.xml
@@ -64,5 +64,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_dns.xml b/assets/xml/objects/object_dns.xml
index 5989afbc5f..f934b6b125 100644
--- a/assets/xml/objects/object_dns.xml
+++ b/assets/xml/objects/object_dns.xml
@@ -74,5 +74,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_dodongo.xml b/assets/xml/objects/object_dodongo.xml
index 04499d351e..9ec37d74a8 100644
--- a/assets/xml/objects/object_dodongo.xml
+++ b/assets/xml/objects/object_dodongo.xml
@@ -78,5 +78,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_fd2.xml b/assets/xml/objects/object_fd2.xml
index 2aa5f90139..51fe70772f 100644
--- a/assets/xml/objects/object_fd2.xml
+++ b/assets/xml/objects/object_fd2.xml
@@ -151,5 +151,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_firefly.xml b/assets/xml/objects/object_firefly.xml
index fe5719ddce..34c45196f9 100644
--- a/assets/xml/objects/object_firefly.xml
+++ b/assets/xml/objects/object_firefly.xml
@@ -51,5 +51,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_fw.xml b/assets/xml/objects/object_fw.xml
index fc38782095..ffbc70bd57 100644
--- a/assets/xml/objects/object_fw.xml
+++ b/assets/xml/objects/object_fw.xml
@@ -91,6 +91,7 @@
+
diff --git a/assets/xml/objects/object_geldb.xml b/assets/xml/objects/object_geldb.xml
index 5fc64b63db..f80ad410a6 100644
--- a/assets/xml/objects/object_geldb.xml
+++ b/assets/xml/objects/object_geldb.xml
@@ -83,5 +83,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gj.xml b/assets/xml/objects/object_gj.xml
index a1d73a7e55..581bf93c7d 100644
--- a/assets/xml/objects/object_gj.xml
+++ b/assets/xml/objects/object_gj.xml
@@ -55,5 +55,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gnd.xml b/assets/xml/objects/object_gnd.xml
index 4f8f42a3a0..d340135433 100644
--- a/assets/xml/objects/object_gnd.xml
+++ b/assets/xml/objects/object_gnd.xml
@@ -137,5 +137,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_gr.xml b/assets/xml/objects/object_gr.xml
index 9d480c51f6..8f84870967 100644
--- a/assets/xml/objects/object_gr.xml
+++ b/assets/xml/objects/object_gr.xml
@@ -12,5 +12,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_hakach_objects.xml b/assets/xml/objects/object_hakach_objects.xml
index dfe681471e..92679bc8de 100644
--- a/assets/xml/objects/object_hakach_objects.xml
+++ b/assets/xml/objects/object_hakach_objects.xml
@@ -51,5 +51,6 @@
+
diff --git a/assets/xml/objects/object_hidan_objects.xml b/assets/xml/objects/object_hidan_objects.xml
index c9bb2a43c2..2d926e7c0d 100644
--- a/assets/xml/objects/object_hidan_objects.xml
+++ b/assets/xml/objects/object_hidan_objects.xml
@@ -175,5 +175,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_hintnuts.xml b/assets/xml/objects/object_hintnuts.xml
index d3595d85e8..fe02e8adbe 100644
--- a/assets/xml/objects/object_hintnuts.xml
+++ b/assets/xml/objects/object_hintnuts.xml
@@ -19,5 +19,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_ik.xml b/assets/xml/objects/object_ik.xml
index b70dd57f4f..a3578f27f6 100644
--- a/assets/xml/objects/object_ik.xml
+++ b/assets/xml/objects/object_ik.xml
@@ -100,5 +100,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_jj.xml b/assets/xml/objects/object_jj.xml
index 110a100dc4..816b7d706c 100644
--- a/assets/xml/objects/object_jj.xml
+++ b/assets/xml/objects/object_jj.xml
@@ -61,28 +61,27 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_jya_obj.xml b/assets/xml/objects/object_jya_obj.xml
index 9531cbef30..1e203941f5 100644
--- a/assets/xml/objects/object_jya_obj.xml
+++ b/assets/xml/objects/object_jya_obj.xml
@@ -76,5 +76,13 @@
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_masterkokirihead.xml b/assets/xml/objects/object_masterkokirihead.xml
index 573c231928..9187df7014 100644
--- a/assets/xml/objects/object_masterkokirihead.xml
+++ b/assets/xml/objects/object_masterkokirihead.xml
@@ -6,6 +6,8 @@
+
+
diff --git a/assets/xml/objects/object_mb.xml b/assets/xml/objects/object_mb.xml
index 197ad8151b..c3ec222706 100644
--- a/assets/xml/objects/object_mb.xml
+++ b/assets/xml/objects/object_mb.xml
@@ -55,5 +55,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_mizu_objects.xml b/assets/xml/objects/object_mizu_objects.xml
index 8343e02699..b0abf34ec5 100644
--- a/assets/xml/objects/object_mizu_objects.xml
+++ b/assets/xml/objects/object_mizu_objects.xml
@@ -37,5 +37,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_mm.xml b/assets/xml/objects/object_mm.xml
index a295625194..04963a6c6b 100644
--- a/assets/xml/objects/object_mm.xml
+++ b/assets/xml/objects/object_mm.xml
@@ -12,5 +12,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_oF1d_map.xml b/assets/xml/objects/object_oF1d_map.xml
index 24916acc9b..f84dc1e077 100644
--- a/assets/xml/objects/object_oF1d_map.xml
+++ b/assets/xml/objects/object_oF1d_map.xml
@@ -33,5 +33,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_okuta.xml b/assets/xml/objects/object_okuta.xml
index f846b39f88..65d7dfd75c 100644
--- a/assets/xml/objects/object_okuta.xml
+++ b/assets/xml/objects/object_okuta.xml
@@ -25,5 +25,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_owl.xml b/assets/xml/objects/object_owl.xml
index db9214ccaf..36011ecd29 100644
--- a/assets/xml/objects/object_owl.xml
+++ b/assets/xml/objects/object_owl.xml
@@ -67,5 +67,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_ru2.xml b/assets/xml/objects/object_ru2.xml
index 9fe894923b..01d85915d2 100644
--- a/assets/xml/objects/object_ru2.xml
+++ b/assets/xml/objects/object_ru2.xml
@@ -142,6 +142,8 @@
+
+
diff --git a/assets/xml/objects/object_sa.xml b/assets/xml/objects/object_sa.xml
index 81fe799aa1..fbc29d6f72 100644
--- a/assets/xml/objects/object_sa.xml
+++ b/assets/xml/objects/object_sa.xml
@@ -122,6 +122,7 @@
+
diff --git a/assets/xml/objects/object_skj.xml b/assets/xml/objects/object_skj.xml
index 5ecf2adb61..ec07397ac7 100644
--- a/assets/xml/objects/object_skj.xml
+++ b/assets/xml/objects/object_skj.xml
@@ -120,5 +120,16 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_spot01_matoya.xml b/assets/xml/objects/object_spot01_matoya.xml
index c6306bb34a..825eb31bdd 100644
--- a/assets/xml/objects/object_spot01_matoya.xml
+++ b/assets/xml/objects/object_spot01_matoya.xml
@@ -40,6 +40,7 @@
+
diff --git a/assets/xml/objects/object_spot01_matoyab.xml b/assets/xml/objects/object_spot01_matoyab.xml
index 0910878162..3a4179dfa2 100644
--- a/assets/xml/objects/object_spot01_matoyab.xml
+++ b/assets/xml/objects/object_spot01_matoyab.xml
@@ -10,6 +10,7 @@
+
diff --git a/assets/xml/objects/object_spot09_obj.xml b/assets/xml/objects/object_spot09_obj.xml
index b4d9ae42a1..d86cf59874 100644
--- a/assets/xml/objects/object_spot09_obj.xml
+++ b/assets/xml/objects/object_spot09_obj.xml
@@ -10,5 +10,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_torch2.xml b/assets/xml/objects/object_torch2.xml
index ec55bbe26d..09d9ff8a40 100644
--- a/assets/xml/objects/object_torch2.xml
+++ b/assets/xml/objects/object_torch2.xml
@@ -7,5 +7,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_wallmaster.xml b/assets/xml/objects/object_wallmaster.xml
index a929ad2d05..f6729fbe28 100644
--- a/assets/xml/objects/object_wallmaster.xml
+++ b/assets/xml/objects/object_wallmaster.xml
@@ -31,5 +31,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_ydan_objects.xml b/assets/xml/objects/object_ydan_objects.xml
index b5febff4b6..b779e46661 100644
--- a/assets/xml/objects/object_ydan_objects.xml
+++ b/assets/xml/objects/object_ydan_objects.xml
@@ -7,14 +7,17 @@
+
+
+
diff --git a/assets/xml/objects/object_zl1.xml b/assets/xml/objects/object_zl1.xml
index 3fe564917f..0ba5fdde0f 100644
--- a/assets/xml/objects/object_zl1.xml
+++ b/assets/xml/objects/object_zl1.xml
@@ -122,6 +122,7 @@
+
diff --git a/assets/xml/objects/object_zl2.xml b/assets/xml/objects/object_zl2.xml
index 1c9654c666..51e18228ea 100644
--- a/assets/xml/objects/object_zl2.xml
+++ b/assets/xml/objects/object_zl2.xml
@@ -40,5 +40,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/objects/object_zl4.xml b/assets/xml/objects/object_zl4.xml
index efb94ac3c7..211c8339e2 100644
--- a/assets/xml/objects/object_zl4.xml
+++ b/assets/xml/objects/object_zl4.xml
@@ -58,5 +58,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
index aea5f9ba2e..575755d445 100644
--- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
+++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c
@@ -84,12 +84,27 @@ void func_80AEFC24(EnRu1* this, PlayState* play);
void func_80AEFECC(EnRu1* this, PlayState* play);
void func_80AEFF40(EnRu1* this, PlayState* play);
-void func_80AF0278(EnRu1* this, PlayState* play, s32 limbIndex, Vec3s* rot);
+void EnRu1_PreLimbDraw(EnRu1* this, PlayState* play, s32 limbIndex, Vec3s* rot);
void EnRu1_DrawNothing(EnRu1* this, PlayState* play);
void EnRu1_DrawOpa(EnRu1* this, PlayState* play);
void EnRu1_DrawXlu(EnRu1* this, PlayState* play);
+typedef enum EnRu1Eyes {
+ /* 0 */ ENRU1_EYES_OPEN,
+ /* 1 */ ENRU1_EYES_HALF_BLINK,
+ /* 2 */ ENRU1_EYES_CLOSED,
+ /* 3 */ ENRU1_EYES_UP,
+ /* 4 */ ENRU1_EYES_GAZING,
+ /* 5 */ ENRU1_EYES_BLUSH,
+} EnRu1Eyes;
+
+typedef enum EnRu1Mouth {
+ /* 0 */ ENRU1_MOUTH_SMILING,
+ /* 1 */ ENRU1_MOUTH_FROWNING,
+ /* 2 */ ENRU1_MOUTH_OPEN,
+} EnRu1Mouth;
+
typedef enum EnRu1WaterState {
/* 0 */ ENRU1_WATER_OUTSIDE,
/* 1 */ ENRU1_WATER_IMMERSED,
@@ -149,7 +164,7 @@ static EnRu1ActionFunc sActionFuncs[] = {
};
static EnRu1PreLimbDrawFunc sPreLimbDrawFuncs[] = {
- func_80AF0278,
+ EnRu1_PreLimbDraw,
};
static Vec3f sMultVec = { 0.0f, 10.0f, 0.0f };
@@ -237,24 +252,24 @@ void EnRu1_Destroy(Actor* thisx, PlayState* play) {
void EnRu1_UpdateEyes(EnRu1* this) {
s32 pad[3];
s16* blinkTimer = &this->blinkTimer;
- s16* eyeIndex = &this->eyeIndex;
+ s16* eyes = &this->eyes;
if (DECR(*blinkTimer) == 0) {
*blinkTimer = Rand_S16Offset(60, 60);
}
- *eyeIndex = *blinkTimer;
- if (*eyeIndex >= 3) {
- *eyeIndex = 0;
+ *eyes = *blinkTimer;
+ if (*eyes >= ENRU1_EYES_UP) {
+ *eyes = ENRU1_EYES_OPEN;
}
}
-void EnRu1_SetEyeIndex(EnRu1* this, s16 eyeIndex) {
- this->eyeIndex = eyeIndex;
+void EnRu1_SetEyes(EnRu1* this, s16 eyes) {
+ this->eyes = eyes;
}
-void EnRu1_SetMouthIndex(EnRu1* this, s16 mouthIndex) {
- this->mouthIndex = mouthIndex;
+void EnRu1_SetMouth(EnRu1* this, s16 mouth) {
+ this->mouth = mouth;
}
void func_80AEAECC(EnRu1* this, PlayState* play) {
@@ -436,8 +451,8 @@ void EnRu1_InitOutsideJabuJabu(EnRu1* this, PlayState* play) {
EnRu1_AnimationChange(this, &gRutoChildWaitHandsBehindBackAnim, ANIMMODE_LOOP, 0, false);
this->action = 0;
this->drawConfig = 1;
- EnRu1_SetEyeIndex(this, 4);
- EnRu1_SetMouthIndex(this, 0);
+ EnRu1_SetEyes(this, ENRU1_EYES_GAZING);
+ EnRu1_SetMouth(this, ENRU1_MOUTH_SMILING);
}
CsCmdActorCue* EnRu1_GetCueChannel3(PlayState* play) {
@@ -793,7 +808,7 @@ void EnRu1_InitInJabuJabuHolesRoom(EnRu1* this, PlayState* play) {
if (!GET_INFTABLE(INFTABLE_141)) {
EnRu1_AnimationChange(this, &gRutoChildWait2Anim, ANIMMODE_LOOP, 0, false);
this->action = 7;
- EnRu1_SetMouthIndex(this, 1);
+ EnRu1_SetMouth(this, ENRU1_MOUTH_FROWNING);
} else if (GET_INFTABLE(INFTABLE_147) && !GET_INFTABLE(INFTABLE_140) && !GET_INFTABLE(INFTABLE_145)) {
if (!func_80AEB020(this, play)) {
s8 actorRoom;
@@ -1038,8 +1053,8 @@ void EnRu1_InitInBossRoom(EnRu1* this, PlayState* play) {
EnRu1_AnimationChange(this, &gRutoChildWaitHandsOnHipsAnim, ANIMMODE_LOOP, 0, false);
this->action = 15;
this->actor.shape.yOffset = -10000.0f;
- EnRu1_SetEyeIndex(this, 5);
- EnRu1_SetMouthIndex(this, 2);
+ EnRu1_SetEyes(this, ENRU1_EYES_BLUSH);
+ EnRu1_SetMouth(this, ENRU1_MOUTH_OPEN);
}
void func_80AECE04(EnRu1* this, PlayState* play) {
@@ -1968,8 +1983,8 @@ void func_80AEF51C(EnRu1* this) {
void func_80AEF540(EnRu1* this) {
if (EnRu1_GetPlatformCamSetting(this) == 2) {
- EnRu1_SetEyeIndex(this, 3);
- EnRu1_SetMouthIndex(this, 2);
+ EnRu1_SetEyes(this, ENRU1_EYES_UP);
+ EnRu1_SetMouth(this, ENRU1_MOUTH_OPEN);
if (this->skelAnime.mode != 2) {
EnRu1_AnimationChange(this, &gRutoChildShutterAnim, ANIMMODE_ONCE, -8.0f, false);
func_80AEF51C(this);
@@ -1983,8 +1998,8 @@ void func_80AEF5B8(EnRu1* this) {
if (D_80AF1938 == 0) {
curFrame = this->skelAnime.curFrame;
if (curFrame >= 60.0f) {
- EnRu1_SetEyeIndex(this, 3);
- EnRu1_SetMouthIndex(this, 0);
+ EnRu1_SetEyes(this, ENRU1_EYES_UP);
+ EnRu1_SetMouth(this, ENRU1_MOUTH_SMILING);
func_80AED57C(this);
D_80AF1938 = 1;
}
@@ -2328,7 +2343,7 @@ void EnRu1_Init(Actor* thisx, PlayState* play) {
}
}
-void func_80AF0278(EnRu1* this, PlayState* play, s32 limbIndex, Vec3s* rot) {
+void EnRu1_PreLimbDraw(EnRu1* this, PlayState* play, s32 limbIndex, Vec3s* rot) {
Vec3s* torsoRot = &this->interactInfo.torsoRot;
Vec3s* headRot = &this->interactInfo.headRot;
@@ -2348,11 +2363,12 @@ s32 EnRu1_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
Gfx** gfx) {
EnRu1* this = (EnRu1*)thisx;
- if ((this->unk_290 < 0) || (this->unk_290 > 0) || (*sPreLimbDrawFuncs[this->unk_290] == NULL)) {
+ if ((this->preLimbDrawIndex < 0) || (this->preLimbDrawIndex > 0) ||
+ (*sPreLimbDrawFuncs[this->preLimbDrawIndex] == NULL)) {
PRINTF(VT_FGCOL(RED) T("首回しモードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n",
"Neck rotation mode is improper!!!!!!!!!!!!!!!!!!!!!!!!!\n") VT_RST);
} else {
- sPreLimbDrawFuncs[this->unk_290](this, play, limbIndex, rot);
+ sPreLimbDrawFuncs[this->preLimbDrawIndex](this, play, limbIndex, rot);
}
return false;
}
@@ -2361,14 +2377,14 @@ void EnRu1_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot,
EnRu1* this = (EnRu1*)thisx;
if (limbIndex == RUTO_CHILD_HEAD) {
- Vec3f vec1;
- Vec3f vec2;
+ Vec3f multVec;
+ Vec3f focusPos;
- vec1 = sMultVec;
- Matrix_MultVec3f(&vec1, &vec2);
- this->actor.focus.pos.x = vec2.x;
- this->actor.focus.pos.y = vec2.y;
- this->actor.focus.pos.z = vec2.z;
+ multVec = sMultVec;
+ Matrix_MultVec3f(&multVec, &focusPos);
+ this->actor.focus.pos.x = focusPos.x;
+ this->actor.focus.pos.y = focusPos.y;
+ this->actor.focus.pos.z = focusPos.z;
this->actor.focus.rot.x = this->actor.world.rot.x;
this->actor.focus.rot.y = this->actor.world.rot.y;
this->actor.focus.rot.z = this->actor.world.rot.z;
@@ -2380,11 +2396,11 @@ void EnRu1_DrawNothing(EnRu1* this, PlayState* play) {
void EnRu1_DrawOpa(EnRu1* this, PlayState* play) {
s32 pad[2];
- s16 eyeIndex = this->eyeIndex;
- void* eyeTex = sEyeTextures[eyeIndex];
- s16 mouthIndex = this->mouthIndex;
+ s16 eyes = this->eyes;
+ void* eyeTex = sEyeTextures[eyes];
+ s16 mouth = this->mouth;
SkelAnime* skelAnime = &this->skelAnime;
- void* mouthTex = sMouthTextures[mouthIndex];
+ void* mouthTex = sMouthTextures[mouth];
s32 pad1;
OPEN_DISPS(play->state.gfxCtx, "../z_en_ru1.c", 1282);
@@ -2405,11 +2421,11 @@ void EnRu1_DrawOpa(EnRu1* this, PlayState* play) {
void EnRu1_DrawXlu(EnRu1* this, PlayState* play) {
s32 pad[2];
- s16 eyeIndex = this->eyeIndex;
- void* eyeTex = sEyeTextures[eyeIndex];
- s16 mouthIndex = this->mouthIndex;
+ s16 eyes = this->eyes;
+ void* eyeTex = sEyeTextures[eyes];
+ s16 mouth = this->mouth;
SkelAnime* skelAnime = &this->skelAnime;
- void* mouthTex = sMouthTextures[mouthIndex];
+ void* mouthTex = sMouthTextures[mouth];
s32 pad1;
OPEN_DISPS(play->state.gfxCtx, "../z_en_ru1.c", 1324);
diff --git a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h
index 80f1bccb13..6968b6fb0d 100644
--- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h
+++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.h
@@ -21,9 +21,9 @@ typedef struct EnRu1 {
/* 0x014C */ SkelAnime skelAnime;
/* 0x0190 */ Vec3s jointTable[17];
/* 0x01F6 */ Vec3s morphTable[17];
- /* 0x025C */ s16 eyeIndex;
+ /* 0x025C */ s16 eyes;
/* 0x025E */ s16 blinkTimer;
- /* 0x0260 */ s16 mouthIndex;
+ /* 0x0260 */ s16 mouth;
/* 0x0264 */ s32 action;
/* 0x0268 */ s32 drawConfig;
/* 0x026C */ f32 unk_26C;
@@ -37,7 +37,7 @@ typedef struct EnRu1 {
/* 0x0286 */ s8 roomNum3;
/* 0x0288 */ f32 unk_288;
/* 0x028C */ BgBdanObjects* bigOctoPlatform;
- /* 0x0290 */ s32 unk_290;
+ /* 0x0290 */ s32 preLimbDrawIndex;
/* 0x0294 */ char unk_294[0x4];
/* 0x0298 */ s32 unk_298;
/* 0x029C */ char unk_29C[0x2];