Animal Forest

From en64 wiki
Jump to navigation Jump to search

Animal Forest has a fair amount of debug features left in it. It'd sure be kind of someone to document them all and post them on the wiki forums in the "Suggestion" message board. With that said, a cool project would be to configure OoTTer for AF and play through the game and see what you come up with. Before making this wiki, I did just that, but neglected to keep it. Had I know I'd do something like this, I would have kept it and let someone play through it, given that I was too lazy to do so when there very well may be nothing to find :P. As a quick note, some of the actors share a special texture and pallet system due to being able to wear the same shirts or being of the same "type" of animal.

A LOT of Animal Forest notes from Zoinkity.

OS Functions

0x8002db20,osSendMesg
0x8002de10,osStopThread
0x8002dfa0,osRecvMesg
0x8002e0e0,osSetIntMask
0x8002e180,osGetIntMask
0x8002e290,__sinf/fsin/sinf
0x8002e450,sins
0x8002e890,__ull_rshift
0x8002e8bc,__ull_rem
0x8002e8f8,__ull_div
0x8002e934,__ll_lshift
0x8002e960,__ll_rem
0x8002e99c,__ll_div
0x8002e9f8,__ll_mul
0x8002ea28,__ull_divremi
0x8002ea88,__ll_mod
0x8002eb24,__ll_rshift
0x8002f480,__osDequeueThread
0x8002f4c0,bzero/_bzero/blkclr/_blkclr
0x8002fa50,osCreateThread
0x8002fd80,osVirtualToPhysical
0x8002fe00,osWritebackDCache
0x80030230,__osSetSR
0x80030240,__osGetSR
0x80030290,guPerspectiveF
0x800304c0,guPerspective
0x80030770,osGetThreadId
0x80030790,osSpTaskYield
0x80031b50,osStopTimer
0x80031c40,__osProbeTLB
0x80032fa0,osGetCount
0x80033470,sqrtf
0x80035b20,bcmp/_bcmp
0x80035c40,osGetTime
0x80035ea0,__osSetGlobalIntMask
0x800360c0,__osSetCompare
0x800360d0,osAiGetStatus
0x800360e0,bcopy/_bcopy
0x800363f0,__osResetGlobalIntMask
0x80036f90,__cosf/fcos/cosf
0x800372b0,coss
0x80037ea0,__osSetFpcCsr
0x80037eb0,__osGetFpcCsr
0x80038d60,osAiGetLength
0x80038dc0,osMapTLBRdb
0x80038e20,osYieldThread
0x80038f50,__osGetCause
0x8003a4e0,_Litob
0x8003a7d0,__osSpSetStatus
0x8003a7e0,__osSpGetStatus
0x8003ab20,osWritebackDCacheAll
0x8003abd0,osStartThread
0x8003ad20,__d_to_ll
0x8003ad3c,__f_to_ll
0x8003ad58,__d_to_ull
0x8003adf8,__f_to_ull
0x8003ae94,__ll_to_d
0x8003aeac,__ll_to_f
0x8003aec4,__ull_to_d
0x8003aef8,__ull_to_f
0x8003cec0,osViModeNtscLpn1
0x8003cfb0,osViModeNtscLan1
0x8003d000,osViModeMpalLan1
0x8003e5d0,__osRcpImTable
0x8003e880,__libm_qnan_f

Actor Hierarchy

Actor Hierarchy:

BB MM 0000 LLLLLLLL
BB = bone count
MM = matrix count
LLLLLLLL = bone list pointer

Bones:

Bones are 0xC bytes long

DDDDDDDD CC CC XXXX YYYY ZZZZ
DDDDDDDD = display list pointer
CC CC = connection data (still have to check this out in the actor models
X = X translation, Y = Y translation and Z = Z translation     Translation = position

e.g.
0x00B8B000_00B8ECE0 = tools
0x06000228 = axe (no bone structure)
0x06001808 = net bone structure
0x06003420 = shovel (no bone structure)

Microcode Libraries

F3DEX is the extended version of the Fast3D and Line3D microcode and the vertex cache size is increased to 32 as well as vertex cache, etc.

RSP Gfx ucode F3DZEX.NoN  fifo 2.08J Yoshitaka Yasumoto/Kawasedo 1999.
RSP Gfx ucode S2DEX       fifo 2.08  Yoshitaka Yasumoto 1999 Nintendo.

NoN means No Near Clipping.
S2DEX is a 2D microcode, while F3DZEX (F3DEX2) does the 3D drawing.
Ocarina of Time 1.0 (2.06H), OoT Debug (2.08J) and Majora's Mask (2.08I) have similar uCode (Macros in C) libraries as Animal Forest and to my knowledge aren't very different from each other.

Build Date

forest@srd038J.srd.nintendo.co.jp
compile date	01-02-14 16:37:16

Format:
forest = Development team
@ = Not an email, but a physical location
srd = Is an acronym for Systems Research & Development //The team that developed the game
038J = The group number
J = Region
01-02-14 = year, month, and day.
16:37:16 = Time, pretty self explanatory