summaryrefslogtreecommitdiff
path: root/src/actors
diff options
context:
space:
mode:
authorMegaMech <7255464+MegaMech@users.noreply.github.com>2024-12-05 21:41:58 -0700
committerMegaMech <7255464+MegaMech@users.noreply.github.com>2024-12-05 21:41:58 -0700
commit19135c9ee83643ea863d5725c22319e502938cac (patch)
treeec4792402d73607e1c80e8b6a4cf766c5ac0e171 /src/actors
parent7628e98e37d72aa508aa1af276ef8e3485df339c (diff)
load course dl textures from otr and move objects
Diffstat (limited to 'src/actors')
-rw-r--r--src/actors/kiwano_fruit/render.inc.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/actors/kiwano_fruit/render.inc.c b/src/actors/kiwano_fruit/render.inc.c
index 137eda99e..0ecfacf29 100644
--- a/src/actors/kiwano_fruit/render.inc.c
+++ b/src/actors/kiwano_fruit/render.inc.c
@@ -1,6 +1,7 @@
#include <actors.h>
#include <libultra/gbi.h>
#include <main.h>
+#include "assets/other_textures.h"
// #include <assets/dks_jungle_parkway_data.h>
/**
@@ -28,7 +29,22 @@ void render_actor_kiwano_fruit(UNUSED Camera* camera, Mat4 arg1, struct Actor* a
return;
}
- addr = segmented_texture_to_virtual((actor->rot[0] << 0xA) + 0x03009000);
+ // Animate actor by creating an index from rot[0]. Divide by texture size to get whole number 0-2.
+ // All three animated textures need to be the same size for this to work.
+ size_t idx = (actor->rot[0] << 0xA) / ResourceGetTexSizeByName(gTextureDksJungleParkwayKiwanoFruit1);
+ switch(idx) {
+ case 0:
+ addr = gTextureDksJungleParkwayKiwanoFruit1;
+ break;
+ case 1:
+ addr = gTextureDksJungleParkwayKiwanoFruit2;
+ break;
+ case 2:
+ addr = gTextureDksJungleParkwayKiwanoFruit3;
+ break;
+ }
+
+ //addr = segmented_texture_to_virtual((actor->rot[0] << 0xA) + 0x03009000);
gDPLoadTextureBlock(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(addr), G_IM_FMT_CI, G_IM_SIZ_8b, 32, 32, 0,
G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOLOD);