<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mm/src/code/z_schedule.c, 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>Msgevent OK (#1637)</title>
<updated>2024-06-15T04:35:22+00:00</updated>
<author>
<name>Derek Hensley</name>
<email>hensley.derek58@gmail.com</email>
</author>
<published>2024-06-15T04:35:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=0b375cadb0af6f2d95844cc674f84be0b148ae10'/>
<id>0b375cadb0af6f2d95844cc674f84be0b148ae10</id>
<content type='text'>
* Decompiled, some commands still unnamed

* Use full weekevent reg names

* Fix func_8094E69C

* Fix Player_GetMask

* Eventinf, mask worn, and item action argument formatting

* decimal rupees

* Times (day, hours, minutes) as decimal

* msgEventScriptPos

* Callbacks

* Name final commands

* Enum

* Arrays

* functions

* Small cleanups

* Clean up actors

* Remove event from some variable names to make them shorter

* Some more function renames

* newline

* Missed a few unks in commands

* Update functions.txt

* PlayerMask

* MSGMODE_PAUSED

* Script time macros

* EnSob1_GetWelcome default

* Whole bunch of renames

* Format

* Add CMD to commands

* Update code_functions

* structs for size

* z64scripts.h

* MsgEventCallback -&gt; MsgScriptCallback

* format

* MsgEvent_RunScript stop

* Remove cmd handler comment

* cmd -&gt; script in MsgEvent_RunScript

---------

Co-authored-by: Thar0 &lt;17233964+Thar0@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Decompiled, some commands still unnamed

* Use full weekevent reg names

* Fix func_8094E69C

* Fix Player_GetMask

* Eventinf, mask worn, and item action argument formatting

* decimal rupees

* Times (day, hours, minutes) as decimal

* msgEventScriptPos

* Callbacks

* Name final commands

* Enum

* Arrays

* functions

* Small cleanups

* Clean up actors

* Remove event from some variable names to make them shorter

* Some more function renames

* newline

* Missed a few unks in commands

* Update functions.txt

* PlayerMask

* MSGMODE_PAUSED

* Script time macros

* EnSob1_GetWelcome default

* Whole bunch of renames

* Format

* Add CMD to commands

* Update code_functions

* structs for size

* z64scripts.h

* MsgEventCallback -&gt; MsgScriptCallback

* format

* MsgEvent_RunScript stop

* Remove cmd handler comment

* cmd -&gt; script in MsgEvent_RunScript

---------

Co-authored-by: Thar0 &lt;17233964+Thar0@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>A higher level language for schedule scripts (#1462)</title>
<updated>2024-02-01T12:50:32+00:00</updated>
<author>
<name>Anghelo Carvajal</name>
<email>angheloalf95@gmail.com</email>
</author>
<published>2024-02-01T12:50:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=5db52cfd395479fb5aa7a0e236478781904e0c52'/>
<id>5db52cfd395479fb5aa7a0e236478781904e0c52</id>
<content type='text'>
* schedule script

* start something

* tokenize

* make a tree

* start to emit macros

* start to handle args

* handle branch targets

* cleanup a bit

* script to convert the current schedule scripts to the new language

* Add schedule compilation to Makefile

* Fix bug on compiler if the script doesn't have an extra empty line

* Allow to have `else`s without braces

* convert a lot of schedules

* door

* en_tk

* fix some checks being the wrong way around

* borkens

* door borken schedules

* kafei schedule

* postman schedule

* Implement `if_since_time_*` command

* Allow `if`s to not have an `else`

* Implement some debugging options

* fix another one from door

* D_808675D0

* door D_8086775C

* don't print else if there isn't one

* start supporting labels

* rewrite comment handling

* add branch support

* emit debugging information

* postman and one door

* the remaining scripts

* add tokens for the non _s/_l versions

* meh

* Add built schedules

* Remove _s/_l suffixes from almost every command

* TokenProperties

* Move macros and length into TokenProperties

* move short and long to TokenType

* rename member

* some cleanups

* fatalError

* Write various notes on the compiler

* more errors and comments

* debug flags

* Move the built schedules to the build folder

* manually cleanup control flow of many schedule scripts

* cleanup postman schedule

* start write up

* write more stuff

* write a little more

* Start writing about the commands

* 2 more commands

* more

* almost everything, except returns

* hopefully finish documenting the commands

* cleanup

* formal grammar

* Table of contents

* typo

* Rename schc.py

* remove todo

* Warn if a if_before_time/if_since_time is negated

* Add colors to warnings and errors

* delete rebuild schedules script

* version

* Apply suggestions from code review

Co-authored-by: Dragorn421 &lt;Dragorn421@users.noreply.github.com&gt;

* suggestions on md file

* compiler review

* invented is invented

* ScheduleScript typedef

* fix

* Convert Anju's schedule to the new format

* simplify anju's schedule

* forgot to remove `_s`/`_l`

* bss

* Rework schc to allow multiple scripts per file

* Migrate all the schedules to the new format

* update language specification

* Update docs/schedule_scripting_language.md

Co-authored-by: engineer124 &lt;47598039+engineer124@users.noreply.github.com&gt;

* Update docs/schedule_scripting_language.md

Co-authored-by: engineer124 &lt;47598039+engineer124@users.noreply.github.com&gt;

---------

Co-authored-by: Dragorn421 &lt;Dragorn421@users.noreply.github.com&gt;
Co-authored-by: engineer124 &lt;47598039+engineer124@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* schedule script

* start something

* tokenize

* make a tree

* start to emit macros

* start to handle args

* handle branch targets

* cleanup a bit

* script to convert the current schedule scripts to the new language

* Add schedule compilation to Makefile

* Fix bug on compiler if the script doesn't have an extra empty line

* Allow to have `else`s without braces

* convert a lot of schedules

* door

* en_tk

* fix some checks being the wrong way around

* borkens

* door borken schedules

* kafei schedule

* postman schedule

* Implement `if_since_time_*` command

* Allow `if`s to not have an `else`

* Implement some debugging options

* fix another one from door

* D_808675D0

* door D_8086775C

* don't print else if there isn't one

* start supporting labels

* rewrite comment handling

* add branch support

* emit debugging information

* postman and one door

* the remaining scripts

* add tokens for the non _s/_l versions

* meh

* Add built schedules

* Remove _s/_l suffixes from almost every command

* TokenProperties

* Move macros and length into TokenProperties

* move short and long to TokenType

* rename member

* some cleanups

* fatalError

* Write various notes on the compiler

* more errors and comments

* debug flags

* Move the built schedules to the build folder

* manually cleanup control flow of many schedule scripts

* cleanup postman schedule

* start write up

* write more stuff

* write a little more

* Start writing about the commands

* 2 more commands

* more

* almost everything, except returns

* hopefully finish documenting the commands

* cleanup

* formal grammar

* Table of contents

* typo

* Rename schc.py

* remove todo

* Warn if a if_before_time/if_since_time is negated

* Add colors to warnings and errors

* delete rebuild schedules script

* version

* Apply suggestions from code review

Co-authored-by: Dragorn421 &lt;Dragorn421@users.noreply.github.com&gt;

* suggestions on md file

* compiler review

* invented is invented

* ScheduleScript typedef

* fix

* Convert Anju's schedule to the new format

* simplify anju's schedule

* forgot to remove `_s`/`_l`

* bss

* Rework schc to allow multiple scripts per file

* Migrate all the schedules to the new format

* update language specification

* Update docs/schedule_scripting_language.md

Co-authored-by: engineer124 &lt;47598039+engineer124@users.noreply.github.com&gt;

* Update docs/schedule_scripting_language.md

Co-authored-by: engineer124 &lt;47598039+engineer124@users.noreply.github.com&gt;

---------

Co-authored-by: Dragorn421 &lt;Dragorn421@users.noreply.github.com&gt;
Co-authored-by: engineer124 &lt;47598039+engineer124@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>`SCHEDULE_TIME` (#1438)</title>
<updated>2023-10-22T05:52:40+00:00</updated>
<author>
<name>Anghelo Carvajal</name>
<email>angheloalf95@gmail.com</email>
</author>
<published>2023-10-22T05:52:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=ec86f10b0f933fd848036e149d1ef34f28571c37'/>
<id>ec86f10b0f933fd848036e149d1ef34f28571c37</id>
<content type='text'>
* SCHEDULE_CALC_TIME_ALT

* add s32 cast to avoid f32 -&gt; u16 direct cast

* SCHEDULE_TIME

* remove the alts

* Update explanation about the script</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* SCHEDULE_CALC_TIME_ALT

* add s32 cast to avoid f32 -&gt; u16 direct cast

* SCHEDULE_TIME

* remove the alts

* Update explanation about the script</pre>
</div>
</content>
</entry>
<entry>
<title>Macros for `weekEventReg` and `eventInf` (#984)</title>
<updated>2022-11-05T18:48:36+00:00</updated>
<author>
<name>Anghelo Carvajal</name>
<email>angheloalf95@gmail.com</email>
</author>
<published>2022-11-05T18:48:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=ba4368d0e8ebaeabf57cd5ae0105afb4f4eee6f8'/>
<id>ba4368d0e8ebaeabf57cd5ae0105afb4f4eee6f8</id>
<content type='text'>
* make macros

* script

* Use the script on the whole codebase

* fix script

* Rename GET to CHECk

* More replacements

* Update weekeventflags on schedule scripts

* eventinf defines

* eventinfconvert

* run the scripts on the codebase

* format

* RACE_FLAGS

* format

* remove redundant parenthesis

* format

* add macros to permuter_settings

* comments on WEEKEVENTREG_

* format

* CHECK_WEEKEVENTREG_ALT

* don't automatically generate the macros on the script to allow naming them

* format D_801C66D0 a bit

* add TODOs

* Update src/overlays/actors/ovl_Boss_03/z_boss_03.c

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;

* Update src/overlays/actors/ovl_En_Baisen/z_en_baisen.c

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;

* Update src/overlays/actors/ovl_Boss_06/z_boss_06.c

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;

* Update src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.c

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;

* Update src/overlays/actors/ovl_En_Raf/z_en_raf.c

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;

* review

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;

* new files

* format

* weekeventreg

* review

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;

* review

Co-authored-by: EllipticEllipsis &lt;elliptic.ellipsis@gmail.com&gt;

* update

* format

* review

Co-authored-by: EllipticEllipsis &lt;elliptic.ellipsis@gmail.com&gt;

* flags

* a

* eventinf stuff

* format

* EnGakufu

* flags

* run the script

* format

* whoops

* cleanup

* fix

* update weekeventregs

* format

* format

* review

* format

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;
Co-authored-by: EllipticEllipsis &lt;elliptic.ellipsis@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* make macros

* script

* Use the script on the whole codebase

* fix script

* Rename GET to CHECk

* More replacements

* Update weekeventflags on schedule scripts

* eventinf defines

* eventinfconvert

* run the scripts on the codebase

* format

* RACE_FLAGS

* format

* remove redundant parenthesis

* format

* add macros to permuter_settings

* comments on WEEKEVENTREG_

* format

* CHECK_WEEKEVENTREG_ALT

* don't automatically generate the macros on the script to allow naming them

* format D_801C66D0 a bit

* add TODOs

* Update src/overlays/actors/ovl_Boss_03/z_boss_03.c

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;

* Update src/overlays/actors/ovl_En_Baisen/z_en_baisen.c

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;

* Update src/overlays/actors/ovl_Boss_06/z_boss_06.c

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;

* Update src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.c

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;

* Update src/overlays/actors/ovl_En_Raf/z_en_raf.c

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;

* review

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;

* new files

* format

* weekeventreg

* review

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;

* review

Co-authored-by: EllipticEllipsis &lt;elliptic.ellipsis@gmail.com&gt;

* update

* format

* review

Co-authored-by: EllipticEllipsis &lt;elliptic.ellipsis@gmail.com&gt;

* flags

* a

* eventinf stuff

* format

* EnGakufu

* flags

* run the script

* format

* whoops

* cleanup

* fix

* update weekeventregs

* format

* format

* review

* format

Co-authored-by: Derek Hensley &lt;hensley.derek58@gmail.com&gt;
Co-authored-by: EllipticEllipsis &lt;elliptic.ellipsis@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>SceneNum -&gt; SceneId (#1036)</title>
<updated>2022-09-30T02:22:59+00:00</updated>
<author>
<name>Derek Hensley</name>
<email>hensley.derek58@gmail.com</email>
</author>
<published>2022-09-30T02:22:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=3a723efb15c4d3e044edda7979b1cde5588c0aeb'/>
<id>3a723efb15c4d3e044edda7979b1cde5588c0aeb</id>
<content type='text'>
* sceneNum -&gt; sceneId

* horse data scene -&gt; sceneId

* Clean up scene table

* format

* PR comments

* Some more

* It helps if you actually save the file

* PR

* Remove comment

* Format

* Conflicts</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* sceneNum -&gt; sceneId

* horse data scene -&gt; sceneId

* Clean up scene table

* format

* PR comments

* Some more

* It helps if you actually save the file

* PR

* Remove comment

* Format

* Conflicts</pre>
</div>
</content>
</entry>
<entry>
<title>EnBaba Documented (Bomb Shop Lady) (#825)</title>
<updated>2022-07-22T04:05:28+00:00</updated>
<author>
<name>Derek Hensley</name>
<email>hensley.derek58@gmail.com</email>
</author>
<published>2022-07-22T04:05:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=cbeeeb172ab151be24478d2175f4cf7305ceff8c'/>
<id>cbeeeb172ab151be24478d2175f4cf7305ceff8c</id>
<content type='text'>
* Merge in sub_s_models

* Update subs DL names

* Unused Weight pathing

* Function headers for weightpathing

* TimePathing WIP

* Timepathing, still unsure about unk184

* Move subs functions from functions.h to z64subs.h

* Add fake comment

* Some cleanup and renames

* Renames/cleanup of actors that use timepath

* Cleanup

* More cleanup

* Rename unk stuff

* Merge in upstream/master

* TimeElapsed -&gt; elapsedTime

* Fix

* Final cleanup

* SubS Time Paths

* Still needs dialog action functions

* Fix waypoint comments

* Review pt. 1

* Baba review

* ScheduleResult -&gt; ScheduleOutput

* Forgot to update functions.txt oops

* Add clarifying comment to SubS_TimePathing_FillWeightArray

* format.sh

* Finish up docs

* Fix order comments

* Fix

* Change bombShopkeeper struct member to

* Fix a few merge mistakes

* Add ScheduleOutput to namefixer

* format

* Format and fix merge

* Review

* PR

* z64schedule.h

* text summary

Co-authored-by: Maide &lt;34639600+Kelebek1@users.noreply.github.com&gt;
Co-authored-by: Tom Overton &lt;tom-overton@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Merge in sub_s_models

* Update subs DL names

* Unused Weight pathing

* Function headers for weightpathing

* TimePathing WIP

* Timepathing, still unsure about unk184

* Move subs functions from functions.h to z64subs.h

* Add fake comment

* Some cleanup and renames

* Renames/cleanup of actors that use timepath

* Cleanup

* More cleanup

* Rename unk stuff

* Merge in upstream/master

* TimeElapsed -&gt; elapsedTime

* Fix

* Final cleanup

* SubS Time Paths

* Still needs dialog action functions

* Fix waypoint comments

* Review pt. 1

* Baba review

* ScheduleResult -&gt; ScheduleOutput

* Forgot to update functions.txt oops

* Add clarifying comment to SubS_TimePathing_FillWeightArray

* format.sh

* Finish up docs

* Fix order comments

* Fix

* Change bombShopkeeper struct member to

* Fix a few merge mistakes

* Add ScheduleOutput to namefixer

* format

* Format and fix merge

* Review

* PR

* z64schedule.h

* text summary

Co-authored-by: Maide &lt;34639600+Kelebek1@users.noreply.github.com&gt;
Co-authored-by: Tom Overton &lt;tom-overton@users.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>code_801323D0 (z_schedule) (#509)</title>
<updated>2022-05-21T16:08:19+00:00</updated>
<author>
<name>Rozelette</name>
<email>Rozelette@users.noreply.github.com</email>
</author>
<published>2022-05-21T16:08:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/mm/commit/?id=e67fb5cf16416248048fe331b4b4162e58794c0b'/>
<id>e67fb5cf16416248048fe331b4b4162e58794c0b</id>
<content type='text'>
* OK

* Initial documentation pass

* Pass 2. Add script by Tharo

* Renamed source file

* Documentation cleanup

* Update to latest master

* Feedback

* Bad merge

* Permissions

* Clang format

* Feedback

* format

* Use calculation instead of constant

* Rename as per suggestions

* Fix bss ordering and minor merge conflicts (from Maide)

* Update to current codebase and address feedback

* Fixup names to match new enums

* Format

* Fix duplicate include

* BSS shenanigans</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* OK

* Initial documentation pass

* Pass 2. Add script by Tharo

* Renamed source file

* Documentation cleanup

* Update to latest master

* Feedback

* Bad merge

* Permissions

* Clang format

* Feedback

* format

* Use calculation instead of constant

* Rename as per suggestions

* Fix bss ordering and minor merge conflicts (from Maide)

* Update to current codebase and address feedback

* Fixup names to match new enums

* Format

* Fix duplicate include

* BSS shenanigans</pre>
</div>
</content>
</entry>
</feed>
