<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mm/docs/tutorial/draw_functions.md, branch main</title>
<subtitle>Decompilation of The Legend of Zelda: Majora’s Mask</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/'/>
<entry>
<title>Cleanup gSPMatrix, rename `Matrix_New` -&gt; `Matrix_Finalize`, add MATRIX_FINALIZE_AND_LOAD (#1729)</title>
<updated>2024-10-23T00:51:00+00:00</updated>
<author>
<name>engineer124</name>
<email>47598039+engineer124@users.noreply.github.com</email>
</author>
<published>2024-10-23T00:51:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=ec9b5839ade6b9ab5b9aa51260865ea7b894b496'/>
<id>ec9b5839ade6b9ab5b9aa51260865ea7b894b496</id>
<content type='text'>
* mtx-finalize

* cleanup gSPMatrix</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* mtx-finalize

* cleanup gSPMatrix</pre>
</div>
</content>
</entry>
<entry>
<title>master to main rename (#1379)</title>
<updated>2023-09-22T15:57:21+00:00</updated>
<author>
<name>Derek Hensley</name>
<email>hensley.derek58@gmail.com</email>
</author>
<published>2023-09-22T15:57:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=19a605c2e7313ff4227527fcd6753684c49ba9eb'/>
<id>19a605c2e7313ff4227527fcd6753684c49ba9eb</id>
<content type='text'>
* master -&gt; main

* Missed some instances of master</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* master -&gt; main

* Missed some instances of master</pre>
</div>
</content>
</entry>
<entry>
<title>z_rcp.c setupDL docs/cleanup (#1253)</title>
<updated>2023-05-28T23:08:29+00:00</updated>
<author>
<name>engineer124</name>
<email>47598039+engineer124@users.noreply.github.com</email>
</author>
<published>2023-05-28T23:08:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=92bdfe68c212d50ac6569fdb871b93be6230b3ad'/>
<id>92bdfe68c212d50ac6569fdb871b93be6230b3ad</id>
<content type='text'>
* SetupDL enum

* name functions

* namefixer

* cleanup

* small cleanup

* PR Review

* don't need address of array

* PR Suggestion</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* SetupDL enum

* name functions

* namefixer

* cleanup

* small cleanup

* PR Review

* don't need address of array

* PR Suggestion</pre>
</div>
</content>
</entry>
<entry>
<title>Adding Git information to tutorial (#862)</title>
<updated>2022-07-12T00:27:49+00:00</updated>
<author>
<name>Parker Burnett</name>
<email>burnettparker@gmail.com</email>
</author>
<published>2022-07-12T00:27:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=3503163a640cd19f1788a58ec5abb7a57ea53b2c'/>
<id>3503163a640cd19f1788a58ec5abb7a57ea53b2c</id>
<content type='text'>
* Adding an intro to git with helpful commands for someone unfamiliar
with git.

Co-authored by: EllipticEllipsis &lt;elliptic.ellipsis@gmail.com&gt;

* Adding an intro to git with helpful commands for someone unfamiliar
with git.

Co-authored-by: EllipticEllipsis &lt;elliptic.ellipsis@gmail.com&gt;

* ovl_Obj_Y2lift decompiled (#856)

* ovl_Obj_Y2lift decompiled

* format

* pr review fixes

* clean up

Co-authored-by: SonicDcer &lt;noreply@github.com&gt;

* Formating files and moving contributing.md
Also fixes links.

* Adding an intro to git with helpful commands for someone unfamiliar
with git.

formating files too

Co-authored-by: EllipticEllipsis &lt;elliptic.ellipsis@gmail.com&gt;

* pr fixes

Co-authored-by: EllipticEllipsis &lt;elliptic.ellipsis@gmail.com&gt;
Co-authored-by: Alejandro Asenjo &lt;96613413+sonicdcer@users.noreply.github.com&gt;
Co-authored-by: SonicDcer &lt;noreply@github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Adding an intro to git with helpful commands for someone unfamiliar
with git.

Co-authored by: EllipticEllipsis &lt;elliptic.ellipsis@gmail.com&gt;

* Adding an intro to git with helpful commands for someone unfamiliar
with git.

Co-authored-by: EllipticEllipsis &lt;elliptic.ellipsis@gmail.com&gt;

* ovl_Obj_Y2lift decompiled (#856)

* ovl_Obj_Y2lift decompiled

* format

* pr review fixes

* clean up

Co-authored-by: SonicDcer &lt;noreply@github.com&gt;

* Formating files and moving contributing.md
Also fixes links.

* Adding an intro to git with helpful commands for someone unfamiliar
with git.

formating files too

Co-authored-by: EllipticEllipsis &lt;elliptic.ellipsis@gmail.com&gt;

* pr fixes

Co-authored-by: EllipticEllipsis &lt;elliptic.ellipsis@gmail.com&gt;
Co-authored-by: Alejandro Asenjo &lt;96613413+sonicdcer@users.noreply.github.com&gt;
Co-authored-by: SonicDcer &lt;noreply@github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>PlayState rename (#835)</title>
<updated>2022-06-26T15:57:37+00:00</updated>
<author>
<name>Tom Overton</name>
<email>tom-overton@users.noreply.github.com</email>
</author>
<published>2022-06-26T15:57:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=158d1b26b0455c2214741ebc4406130a559b8f8f'/>
<id>158d1b26b0455c2214741ebc4406130a559b8f8f</id>
<content type='text'>
* PlayState rename

* Make this work with the latest master and run format

* Respond to hensldm's review

* Respond to Elliptic's review

* Add Effect_GetPlayState to namefixer.py

* Add missed comma</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PlayState rename

* Make this work with the latest master and run format

* Respond to hensldm's review

* Respond to Elliptic's review

* Add Effect_GetPlayState to namefixer.py

* Add missed comma</pre>
</div>
</content>
</entry>
<entry>
<title>`sys_matrix` OK, documented, rename some other mathematics functions (#787)</title>
<updated>2022-05-26T03:24:39+00:00</updated>
<author>
<name>EllipticEllipsis</name>
<email>elliptic.ellipsis@gmail.com</email>
</author>
<published>2022-05-26T03:24:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=8049dec3393c4ade687dbdfd84d3ccde73168ab0'/>
<id>8049dec3393c4ade687dbdfd84d3ccde73168ab0</id>
<content type='text'>
* Import data and bss, add some name options

* Decomp rest of stack functions,
remove RSPMatrix,
split header

* sys_matrix OK (thanks Tharo)

Co-authored-by: Tharo &lt;17233964+Thar0@users.noreply.github.com&gt;

* pragma weaks in sinf and cosf, change documentation
change mcros to use 0x8000

* Rename sinf and cosf

* Correct initialisation of sMtxFClear

* More minor cleanup

* Rename stack functions

* Matrix_InsertMatrix -&gt; Matrix_Mult

* The big transpose rename

* Fix MirRay_DrawReflectedBeam

* Matrix_InsertTranslation -&gt; Matrix_Translate

* Matrix_Insert.Rotation_s -&gt; Matrix_Rotate$1S
+ RotateY -&gt; RotateYS

* Matrix_Insert(.)Rotation_f -&gt; Matrix_Rotate$1F

* Matrix_RotateStateAroundXAxis -&gt; Matrix_RotateXFApply
Matrix_SetStateXRotation -&gt; Matrix_RotateXFNew

* Matrix_MultiplyVector3fByState -&gt; Matrix_MultVec3f

* Matrix_MultiplyVector3fXZByCurrentState -&gt; Matrix_MultVec3fXZ

* Matrix_GetStateTranslation -&gt; Matrix_MultZero

* Matrix_GetStateTranslationAndScaled(.) -&gt; Matrix_MultVec$1

* Matrix_FromRSPMatrix -&gt; Matrix_MtxToMtxF

* Matrix_MultiplyVector3fByMatrix -&gt; Matrix_MultVec3fExt

* Matrix_TransposeXYZ -&gt; Matrix_Transpose

* Matrix_ToRSPMatrix -&gt; Matrix_MtxFToMtx

* Matrix_AppendToPolyOpaDisp -&gt; Matrix_MtxFToNewMtx
and document the conversion functions

* Matrix_NormalizeXYZ -&gt; Matrix_ReplaceRotation

* Matrix_InsertRotationAroundUnitVector_f -&gt; Matrix_RotateAxisF and S

* Matrix_InsertRotation -&gt; Matrix_RotateZYX

* Document the last functions

* Small cleanup

* Matrix_JointPosition -&gt; Matrix_TranslateRotateZYX

* Matrix_SetStateRotationAndTranslation -&gt; Matrix_SetTranslateRotateYXZ

* func_8018219C -&gt; Matrix_MtxFToYXZRot

* func_801822C4 -&gt; Matrix_MtxFToZYXRot

* Fix files

* Format

* Review 1

* Renames

* Fix warning in EnDragon

* Format

* Convert `mode` to an actual enum

* Add enums, typedefs, externs to sys_matrix header

* Review

* One more

* More review

* Fix function names

* Format

* Fix names

* Format

* Review

* engineer's review

* Fix build

* Format

* Fix again

Co-authored-by: Tharo &lt;17233964+Thar0@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Import data and bss, add some name options

* Decomp rest of stack functions,
remove RSPMatrix,
split header

* sys_matrix OK (thanks Tharo)

Co-authored-by: Tharo &lt;17233964+Thar0@users.noreply.github.com&gt;

* pragma weaks in sinf and cosf, change documentation
change mcros to use 0x8000

* Rename sinf and cosf

* Correct initialisation of sMtxFClear

* More minor cleanup

* Rename stack functions

* Matrix_InsertMatrix -&gt; Matrix_Mult

* The big transpose rename

* Fix MirRay_DrawReflectedBeam

* Matrix_InsertTranslation -&gt; Matrix_Translate

* Matrix_Insert.Rotation_s -&gt; Matrix_Rotate$1S
+ RotateY -&gt; RotateYS

* Matrix_Insert(.)Rotation_f -&gt; Matrix_Rotate$1F

* Matrix_RotateStateAroundXAxis -&gt; Matrix_RotateXFApply
Matrix_SetStateXRotation -&gt; Matrix_RotateXFNew

* Matrix_MultiplyVector3fByState -&gt; Matrix_MultVec3f

* Matrix_MultiplyVector3fXZByCurrentState -&gt; Matrix_MultVec3fXZ

* Matrix_GetStateTranslation -&gt; Matrix_MultZero

* Matrix_GetStateTranslationAndScaled(.) -&gt; Matrix_MultVec$1

* Matrix_FromRSPMatrix -&gt; Matrix_MtxToMtxF

* Matrix_MultiplyVector3fByMatrix -&gt; Matrix_MultVec3fExt

* Matrix_TransposeXYZ -&gt; Matrix_Transpose

* Matrix_ToRSPMatrix -&gt; Matrix_MtxFToMtx

* Matrix_AppendToPolyOpaDisp -&gt; Matrix_MtxFToNewMtx
and document the conversion functions

* Matrix_NormalizeXYZ -&gt; Matrix_ReplaceRotation

* Matrix_InsertRotationAroundUnitVector_f -&gt; Matrix_RotateAxisF and S

* Matrix_InsertRotation -&gt; Matrix_RotateZYX

* Document the last functions

* Small cleanup

* Matrix_JointPosition -&gt; Matrix_TranslateRotateZYX

* Matrix_SetStateRotationAndTranslation -&gt; Matrix_SetTranslateRotateYXZ

* func_8018219C -&gt; Matrix_MtxFToYXZRot

* func_801822C4 -&gt; Matrix_MtxFToZYXRot

* Fix files

* Format

* Review 1

* Renames

* Fix warning in EnDragon

* Format

* Convert `mode` to an actual enum

* Add enums, typedefs, externs to sys_matrix header

* Review

* One more

* More review

* Fix function names

* Format

* Fix names

* Format

* Review

* engineer's review

* Fix build

* Format

* Fix again

Co-authored-by: Tharo &lt;17233964+Thar0@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Tutorial on decompiling objects (and also object_dns documented) (#647)</title>
<updated>2022-02-19T21:30:31+00:00</updated>
<author>
<name>Tom Overton</name>
<email>tom-overton@users.noreply.github.com</email>
</author>
<published>2022-02-19T21:30:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=fed9dc991d8176c4a6e32bc250d76d3f39f8f141'/>
<id>fed9dc991d8176c4a6e32bc250d76d3f39f8f141</id>
<content type='text'>
* Fix existing documentation

* Fill out object_decomp.md

* First part of object decomp example

* Document animations

* Tutorial for identifying blob

* Naming everything else referenced in the actor

* Name all limb display lists

* Finish example

* Some tips and tricks

* Remove TODO

* Make merging.md consistent with everything else

* Name limbs properly

* Rename "bouncing idle" to "walk", since they use that animation to walk towards you if they catch you

* Run formatter again

* Purge hylian toolbox

* Be a bit more precise about vertex naming

* Also -&gt; Further

* Correct description of how extract_assets works

* Format types of data

* Add note about palette

* Update text about object's C file

* Fix typo

* one more time -&gt; in more detail

* Format render error as code

* explain what texture animations are

* Standardize on bullet points

* Use anon's sugestion for the "How we work with objects" section

* Trailing commas for better formatting

* Delete undefined_syms reference in object decomp

* Add note about root limbs

* Remove undefined_syms reference in object_decomp_example

* Remove "since"

* Explain *how* I changed the texture

* Explain what to do if the limb doesn't render anything

* Fix some extremely tiny incorrect enum name thing

* Explain the object symbol stuff bettter

* Add link to ZAPD documentation

* Also update documentation

* Update actor flags for Dns</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix existing documentation

* Fill out object_decomp.md

* First part of object decomp example

* Document animations

* Tutorial for identifying blob

* Naming everything else referenced in the actor

* Name all limb display lists

* Finish example

* Some tips and tricks

* Remove TODO

* Make merging.md consistent with everything else

* Name limbs properly

* Rename "bouncing idle" to "walk", since they use that animation to walk towards you if they catch you

* Run formatter again

* Purge hylian toolbox

* Be a bit more precise about vertex naming

* Also -&gt; Further

* Correct description of how extract_assets works

* Format types of data

* Add note about palette

* Update text about object's C file

* Fix typo

* one more time -&gt; in more detail

* Format render error as code

* explain what texture animations are

* Standardize on bullet points

* Use anon's sugestion for the "How we work with objects" section

* Trailing commas for better formatting

* Delete undefined_syms reference in object decomp

* Add note about root limbs

* Remove undefined_syms reference in object_decomp_example

* Remove "since"

* Explain *how* I changed the texture

* Explain what to do if the limb doesn't render anything

* Fix some extremely tiny incorrect enum name thing

* Explain the object symbol stuff bettter

* Add link to ZAPD documentation

* Also update documentation

* Update actor flags for Dns</pre>
</div>
</content>
</entry>
<entry>
<title>SubS Skelanime functions (#572)</title>
<updated>2022-01-16T20:14:34+00:00</updated>
<author>
<name>Derek Hensley</name>
<email>hensley.derek58@gmail.com</email>
</author>
<published>2022-01-16T20:14:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=aa90d1ee2be577fb8a18c1c3c6dcafda2e732190'/>
<id>aa90d1ee2be577fb8a18c1c3c6dcafda2e732190</id>
<content type='text'>
* Bring code over

* Change ActorDraw typedefs from actor to thisx

* Rename functions

* Format

* Rename and clean up limb draws

* Some more limb draw cleanup

* Some more cleanup

* Function comments

* Last bit of cleanup

* update tutorial

* More tutorial and format

* Remove extra newlines form actorfixer

* Missed one

* Remove some unnecessary casts

* Fix SkelAnime transform functions in functions.h

* Remove bug comments, and add note

* Remove some more unneeded casts and rename one variable

* format

* Fix merge

* Format</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Bring code over

* Change ActorDraw typedefs from actor to thisx

* Rename functions

* Format

* Rename and clean up limb draws

* Some more limb draw cleanup

* Some more cleanup

* Function comments

* Last bit of cleanup

* update tutorial

* More tutorial and format

* Remove extra newlines form actorfixer

* Missed one

* Remove some unnecessary casts

* Fix SkelAnime transform functions in functions.h

* Remove bug comments, and add note

* Remove some more unneeded casts and rename one variable

* format

* Fix merge

* Format</pre>
</div>
</content>
</entry>
<entry>
<title>Tutorial (#362)</title>
<updated>2021-12-16T23:47:18+00:00</updated>
<author>
<name>EllipticEllipsis</name>
<email>73679967+EllipticEllipsis@users.noreply.github.com</email>
</author>
<published>2021-12-16T23:47:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=d5b71bd0f531986d2a6a63f0a90d8e1233e01a7f'/>
<id>d5b71bd0f531986d2a6a63f0a90d8e1233e01a7f</id>
<content type='text'>
* ObjTree OK, data imported

* EnMs OK, data imported

* And the spec

* OK

* Some minor edits

* A lot of preliminary stuff

* Mostly complete beginning

* First draft of other functions doc

* Whoops, forgot the GlobalContext pad

* Draw functions (minus colour), create Data

* Data

* gitignore, some progress on documenting

* Review comments, continue documenting

* spec

* Finish off documentation

* undefined_syms

* Add a couple of todos

* One more

* At least add tools for object decomp

* Start conversion table stuff

* Document ObjTree

* Document EnMs

* Add more tables to conversions

* Maide's review

* Review

* Review

* Typos and incomplete thoughts

* Update vscode.md

* Correct function/variable names

* Review suggestions

* Format

* Missed one

* Rename functions and format

* Fix ObjTree

* Update actorfixer.py, fix some variable names

* Some review

* Review suggestions

* More review

* Hopefully fix all the thisx references

* Missed one</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* ObjTree OK, data imported

* EnMs OK, data imported

* And the spec

* OK

* Some minor edits

* A lot of preliminary stuff

* Mostly complete beginning

* First draft of other functions doc

* Whoops, forgot the GlobalContext pad

* Draw functions (minus colour), create Data

* Data

* gitignore, some progress on documenting

* Review comments, continue documenting

* spec

* Finish off documentation

* undefined_syms

* Add a couple of todos

* One more

* At least add tools for object decomp

* Start conversion table stuff

* Document ObjTree

* Document EnMs

* Add more tables to conversions

* Maide's review

* Review

* Review

* Typos and incomplete thoughts

* Update vscode.md

* Correct function/variable names

* Review suggestions

* Format

* Missed one

* Rename functions and format

* Fix ObjTree

* Update actorfixer.py, fix some variable names

* Some review

* Review suggestions

* More review

* Hopefully fix all the thisx references

* Missed one</pre>
</div>
</content>
</entry>
</feed>
