<feed xmlns='http://www.w3.org/2005/Atom'>
<title>af/include/m_clip.h, branch main</title>
<subtitle>Decompilation of Animal Forest (Dōbutsu no Mori, N64)</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/af/'/>
<entry>
<title>`ac_house_goki` OK (#229)</title>
<updated>2024-12-07T19:27:42+00:00</updated>
<author>
<name>Leonid Kapitonov</name>
<email>Feacur@gmail.com</email>
</author>
<published>2024-12-07T19:27:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/af/commit/?id=8e5451997741a70edf39d7840074f262005b0988'/>
<id>8e5451997741a70edf39d7840074f262005b0988</id>
<content type='text'>
* prepare unknown size

* move `.data` to the C side

* remove redundant headers

* aHG_actor_ct OK

* func_80A83770_jp OK (rename to `aHG_actor_dt`)

* aHG_actor_move OK

- fix `mCoBG_CheckResult` description and comments
- extend `MyRoomClip` and fix offsets in comments

* func_80A83780_jp OK

* func_80A83930_jp OK

* func_80A83994_jp OK

* func_80A83A00_jp OK

* func_80A8401C_jp OK

* func_80A8409C_jp OK (rename to `aHG_setup_action`)

* aHG_actor_draw OK

* func_80A83D4C_jp OK

* func_80A83A24_jp OK

* name HG models

* put static HG data into the functions

* func_80A837C4_jp OK

* add notes and clean up a bit

* apply a suggestion by @hensldm

* remove ASM pragmas

* extract assets</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* prepare unknown size

* move `.data` to the C side

* remove redundant headers

* aHG_actor_ct OK

* func_80A83770_jp OK (rename to `aHG_actor_dt`)

* aHG_actor_move OK

- fix `mCoBG_CheckResult` description and comments
- extend `MyRoomClip` and fix offsets in comments

* func_80A83780_jp OK

* func_80A83930_jp OK

* func_80A83994_jp OK

* func_80A83A00_jp OK

* func_80A8401C_jp OK

* func_80A8409C_jp OK (rename to `aHG_setup_action`)

* aHG_actor_draw OK

* func_80A83D4C_jp OK

* func_80A83A24_jp OK

* name HG models

* put static HG data into the functions

* func_80A837C4_jp OK

* add notes and clean up a bit

* apply a suggestion by @hensldm

* remove ASM pragmas

* extract assets</pre>
</div>
</content>
</entry>
<entry>
<title>ac_hanami_npc1 OK (#228)</title>
<updated>2024-11-27T18:46:58+00:00</updated>
<author>
<name>kuchenmitsahne</name>
<email>25233413+kuchenmitsahne@users.noreply.github.com</email>
</author>
<published>2024-11-27T18:46:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/af/commit/?id=7c055329a7a71f8652587cb7dc779ac3eb69f5d4'/>
<id>7c055329a7a71f8652587cb7dc779ac3eb69f5d4</id>
<content type='text'>
* Rename symbols

* First pass on struct Hanami_Npc1

* Actor funcs (ct, save, dt, init, draw) OK

* Add trailing member to struct_809AEFA4

* Update Clip_unk_040_unk_E4 typedef to ActorFunc signature in order to unify *_actor_draw signatures

* All talk functions and proc functions (minus aHM1_think_main_proc.s) OK

* mFI_GetPuleIdx (func_8008930C_jp) OK; rename symbols (m_field_info)

* aHM1_set_animation OK

* aHM1_actor_move OK; update *_actor_move function signature to ActorFunc across project

* aHM1_set_request_act, aHM1_check_moveRange OK

* aHM1_check_inBlock OK; fix style in aHM1_check_moveRange

* aHM1_turn, aHM1_walk, aHM1_set_spd_info OK

* aHM1_think_init_proc OK

* aHM1_revise_moveRange OK with fake (all functions matching)

* Remove extraneous prototypes

* Fix aHM1_think_main_proc signature

* Import data

* Fix aHM1_revise_moveRange signature

* Standardize actor accesses

* Improve define usage

* Name blockX and blockZ members in Actor struct

* Remove extraneous comments

* mFI_BkNum2WposXZ OK (m_field_info)

* Add defines to m_field_info

* Formatting pass

* Remove extraneous comments

* Fix unk_18 type in struct_809AEFA4

---------

Co-authored-by: emilybrooks &lt;emilybrooksemilybrooks@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Rename symbols

* First pass on struct Hanami_Npc1

* Actor funcs (ct, save, dt, init, draw) OK

* Add trailing member to struct_809AEFA4

* Update Clip_unk_040_unk_E4 typedef to ActorFunc signature in order to unify *_actor_draw signatures

* All talk functions and proc functions (minus aHM1_think_main_proc.s) OK

* mFI_GetPuleIdx (func_8008930C_jp) OK; rename symbols (m_field_info)

* aHM1_set_animation OK

* aHM1_actor_move OK; update *_actor_move function signature to ActorFunc across project

* aHM1_set_request_act, aHM1_check_moveRange OK

* aHM1_check_inBlock OK; fix style in aHM1_check_moveRange

* aHM1_turn, aHM1_walk, aHM1_set_spd_info OK

* aHM1_think_init_proc OK

* aHM1_revise_moveRange OK with fake (all functions matching)

* Remove extraneous prototypes

* Fix aHM1_think_main_proc signature

* Import data

* Fix aHM1_revise_moveRange signature

* Standardize actor accesses

* Improve define usage

* Name blockX and blockZ members in Actor struct

* Remove extraneous comments

* mFI_BkNum2WposXZ OK (m_field_info)

* Add defines to m_field_info

* Formatting pass

* Remove extraneous comments

* Fix unk_18 type in struct_809AEFA4

---------

Co-authored-by: emilybrooks &lt;emilybrooksemilybrooks@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>ac_hanami_npc0 OK (#227)</title>
<updated>2024-11-26T15:37:21+00:00</updated>
<author>
<name>kuchenmitsahne</name>
<email>25233413+kuchenmitsahne@users.noreply.github.com</email>
</author>
<published>2024-11-26T15:37:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/af/commit/?id=d38ac6a9d32e9b5c0e3caafbfc8d311a0f8f51f4'/>
<id>d38ac6a9d32e9b5c0e3caafbfc8d311a0f8f51f4</id>
<content type='text'>
* Standard actor functions and aHM0_ct_data functions OK

* Add scaffolding to Hanami_Npc0 struct

* func_809DE830_jp OK

* func_809DE434, func_809DE4A0_jp, func_809DE5BC_jp, func_809DE6B4_jp, func_809DE6C8_jp, func_809DE6EC_jp OK

* func_809DE538_jp OK with warnings

* func_809DE538_jp OK

* func_809DE714_jp OK with warnings

* func_809DE7D0_jp OK

* func_809DE8D0 OK

* func_809DE56C_jp OK with warnings

* func_809DE800_jp OK

* func_809DE978_jp OK

* func_809DE948_jp OK

* func_809DE744_jp OK

* func_809DE5DC_jp progress (nonmatching)

* Remove fake symbol D_809DEB1C_jp.

* Prepare for data import

* func_809DE5DC_jp OK, update func_809DE6EC_jp (all functions matching)

* Import data (44 differing words)

* Fix struct_809AEFA4, ac_hanami_npc0 OK

* Rename symbols + initial style pass

* Unify aHM0_*_proc function signatures

* Resolve warnings in aHM0_merry

* Update NPC actor functions + corresponding clip functions to use ActorFunc signature

* Fix aHM0_make_tumbler warning (none remain); minor cleanup

* Avoid format.py strangeness

* Fix typedef order</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Standard actor functions and aHM0_ct_data functions OK

* Add scaffolding to Hanami_Npc0 struct

* func_809DE830_jp OK

* func_809DE434, func_809DE4A0_jp, func_809DE5BC_jp, func_809DE6B4_jp, func_809DE6C8_jp, func_809DE6EC_jp OK

* func_809DE538_jp OK with warnings

* func_809DE538_jp OK

* func_809DE714_jp OK with warnings

* func_809DE7D0_jp OK

* func_809DE8D0 OK

* func_809DE56C_jp OK with warnings

* func_809DE800_jp OK

* func_809DE978_jp OK

* func_809DE948_jp OK

* func_809DE744_jp OK

* func_809DE5DC_jp progress (nonmatching)

* Remove fake symbol D_809DEB1C_jp.

* Prepare for data import

* func_809DE5DC_jp OK, update func_809DE6EC_jp (all functions matching)

* Import data (44 differing words)

* Fix struct_809AEFA4, ac_hanami_npc0 OK

* Rename symbols + initial style pass

* Unify aHM0_*_proc function signatures

* Resolve warnings in aHM0_merry

* Update NPC actor functions + corresponding clip functions to use ActorFunc signature

* Fix aHM0_make_tumbler warning (none remain); minor cleanup

* Avoid format.py strangeness

* Fix typedef order</pre>
</div>
</content>
</entry>
<entry>
<title>ac_arrange_room OK (#220)</title>
<updated>2024-10-09T15:46:35+00:00</updated>
<author>
<name>Prakxo</name>
<email>87568477+Prakxo@users.noreply.github.com</email>
</author>
<published>2024-10-09T15:46:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/af/commit/?id=c7a6aa2b880c34fafc10fd8238ee3b7c222fee8c'/>
<id>c7a6aa2b880c34fafc10fd8238ee3b7c222fee8c</id>
<content type='text'>
* ac_arrange_room OK

* fix?</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* ac_arrange_room OK

* fix?</pre>
</div>
</content>
</entry>
<entry>
<title>ac_boxTrick01 OK (#219)</title>
<updated>2024-10-01T15:09:20+00:00</updated>
<author>
<name>Prakxo</name>
<email>87568477+Prakxo@users.noreply.github.com</email>
</author>
<published>2024-10-01T15:09:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/af/commit/?id=8639fa43c74e7052d94eaaa4c5b13218f5006621'/>
<id>8639fa43c74e7052d94eaaa4c5b13218f5006621</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>m_player audio and other_func functions (#218)</title>
<updated>2024-09-27T17:26:30+00:00</updated>
<author>
<name>Prakxo</name>
<email>87568477+Prakxo@users.noreply.github.com</email>
</author>
<published>2024-09-27T17:26:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/af/commit/?id=8f359e10f09c51a45c7d45a7e6b91ead5fe05206'/>
<id>8f359e10f09c51a45c7d45a7e6b91ead5fe05206</id>
<content type='text'>
* m_player_sound

* m_player_other_func

* format</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* m_player_sound

* m_player_other_func

* format</pre>
</div>
</content>
</entry>
<entry>
<title>clchest03 matched and hal_chest02 cleanup (#213)</title>
<updated>2024-09-21T20:03:08+00:00</updated>
<author>
<name>emilybrooks</name>
<email>emilybrooksemilybrooks@gmail.com</email>
</author>
<published>2024-09-21T20:03:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/af/commit/?id=946ee8e9c28a04c7b0a485c9b49543677112d5ec'/>
<id>946ee8e9c28a04c7b0a485c9b49543677112d5ec</id>
<content type='text'>
* initial commit

* func_80A70C60_jp

* func_80A70CF4_jp

* fully matching

* inported data

* improved furniture actor profile struct

* extracted spooky wardrobe object

* extracted clchest03 object

* forgot</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* initial commit

* func_80A70C60_jp

* func_80A70CF4_jp

* fully matching

* inported data

* improved furniture actor profile struct

* extracted spooky wardrobe object

* extracted clchest03 object

* forgot</pre>
</div>
</content>
</entry>
<entry>
<title>m_kankyo OK (#207)</title>
<updated>2024-08-12T17:36:07+00:00</updated>
<author>
<name>Prakxo</name>
<email>87568477+Prakxo@users.noreply.github.com</email>
</author>
<published>2024-08-12T17:36:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/af/commit/?id=eb99af89c88005c8e300b76e1b5d93467b98aafd'/>
<id>eb99af89c88005c8e300b76e1b5d93467b98aafd</id>
<content type='text'>
* implement kankyo

* m_kankyo OK</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* implement kankyo

* m_kankyo OK</pre>
</div>
</content>
</entry>
<entry>
<title>m_room_type OK (#193)</title>
<updated>2024-06-02T14:41:49+00:00</updated>
<author>
<name>Prakxo</name>
<email>87568477+Prakxo@users.noreply.github.com</email>
</author>
<published>2024-06-02T14:41:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/af/commit/?id=69201d6d724625233f4fc80873f509951c4e5556'/>
<id>69201d6d724625233f4fc80873f509951c4e5556</id>
<content type='text'>
* m_room_type OK

* offsets

* jenkins</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* m_room_type OK

* offsets

* jenkins</pre>
</div>
</content>
</entry>
<entry>
<title>`ac_structure` OK with some minor documentation (#183)</title>
<updated>2024-05-06T22:26:01+00:00</updated>
<author>
<name>Tom Overton</name>
<email>tom-overton@users.noreply.github.com</email>
</author>
<published>2024-05-06T22:26:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/af/commit/?id=8b5260063f75dbaa29636f34ec05774d692cf569'/>
<id>8b5260063f75dbaa29636f34ec05774d692cf569</id>
<content type='text'>
* Partial progress

* `func_809E7F94_jp` OK

* Do some more DMA functions

* Fix build

* Finally make `func_809E823C_jp` work properly

* Finish DMA functions

* Use ALIGN16

* Make the size for `mSc_secure_exchange_keep_bank` more obviously related to what follows

* Fix build after merge

* aSTR_setupActor_proc OK

* aSTR_init_clip_area OK

* Import data to C

* Lots of cleanup

* Use enum values in actors

* StructureActor-ify the structures

* Move `setupInfo_table` inside the function and name it

* Name `aSTR_get_pal_segment` from context clues

* Use all the names I can from DnM+

* Try (and fail) to import BSS into C

* Match bss

* Make bss sizes more "correct"

* Use ARRAY_COUNT to define DMA length

* A lot fewer hardcoded numbers

* Lots of misc cleanup

* A huge amount of names and cleanup

* Get this PR-ready

* Forgot some booleans

* Name a lot of stuff after digging into the object files

* Remove magic numbers for bss array size

* Respond to review</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Partial progress

* `func_809E7F94_jp` OK

* Do some more DMA functions

* Fix build

* Finally make `func_809E823C_jp` work properly

* Finish DMA functions

* Use ALIGN16

* Make the size for `mSc_secure_exchange_keep_bank` more obviously related to what follows

* Fix build after merge

* aSTR_setupActor_proc OK

* aSTR_init_clip_area OK

* Import data to C

* Lots of cleanup

* Use enum values in actors

* StructureActor-ify the structures

* Move `setupInfo_table` inside the function and name it

* Name `aSTR_get_pal_segment` from context clues

* Use all the names I can from DnM+

* Try (and fail) to import BSS into C

* Match bss

* Make bss sizes more "correct"

* Use ARRAY_COUNT to define DMA length

* A lot fewer hardcoded numbers

* Lots of misc cleanup

* A huge amount of names and cleanup

* Get this PR-ready

* Forgot some booleans

* Name a lot of stuff after digging into the object files

* Remove magic numbers for bss array size

* Respond to review</pre>
</div>
</content>
</entry>
</feed>
