Commit Graph

12 Commits

Author SHA1 Message Date
Derek Hensley 0b375cadb0
Msgevent OK (#1637)
* 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 -> MsgScriptCallback

* format

* MsgEvent_RunScript stop

* Remove cmd handler comment

* cmd -> script in MsgEvent_RunScript

---------

Co-authored-by: Thar0 <17233964+Thar0@users.noreply.github.com>
2024-06-14 21:35:22 -07:00
Anghelo Carvajal 5db52cfd39
A higher level language for schedule scripts (#1462)
* 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 <Dragorn421@users.noreply.github.com>

* 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 <47598039+engineer124@users.noreply.github.com>

* Update docs/schedule_scripting_language.md

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2024-02-01 09:50:32 -03:00
engineer124 c04aaab6a1
Use `CURRENT_TIME` Macro (#1514)
* use CURRENT_TIME macro

* add comment

* cleanup brackets
2023-11-27 20:04:54 +11:00
Anghelo Carvajal ec86f10b0f
`SCHEDULE_TIME` (#1438)
* SCHEDULE_CALC_TIME_ALT

* add s32 cast to avoid f32 -> u16 direct cast

* SCHEDULE_TIME

* remove the alts

* Update explanation about the script
2023-10-22 16:52:40 +11:00
engineer124 f92a61db27
Misc Cleanup 3 (#1268)
* begin more cleanup

* more enums

* typo

* ==

* fix go.h

* fix RaceDogInfo struct

* PR Review

* PR Suggestions

* missed one

* missed even more

* fix params

* fix number
2023-06-06 08:57:45 +10:00
petrie911 fdae305a0a
EnTest3 (Kafei) (#1013)
Co-authored-by: petrie911 <69443847+petrie911@users.noreply.github.com>

Co-authored-by: Angie <angheloalf95@gmail.com>
2022-11-05 23:38:22 -03:00
Anghelo Carvajal ba4368d0e8
Macros for `weekEventReg` and `eventInf` (#984)
* 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 <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_Baisen/z_en_baisen.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_Boss_06/z_boss_06.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_Raf/z_en_raf.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* review

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* new files

* format

* weekeventreg

* review

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* review

Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>

* update

* format

* review

Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>

* 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 <hensley.derek58@gmail.com>
Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
2022-11-05 15:48:36 -03:00
Derek Hensley 3a723efb15
SceneNum -> SceneId (#1036)
* sceneNum -> sceneId

* horse data scene -> sceneId

* Clean up scene table

* format

* PR comments

* Some more

* It helps if you actually save the file

* PR

* Remove comment

* Format

* Conflicts
2022-09-30 03:22:59 +01:00
Derek Hensley 9a4319827b
General Cleanup 9 (#961)
* small z64animation cleanup

* z64

* actor

* bgcheck

* collisioncheck

* curve

* cutscene

* effect

* item

* light

* math

* player

* save

* save

* schedule

* skin

* transition

* Remove leading 0s from size = 0x10

* z64schedule enum

* PR

* enums
2022-08-07 19:43:58 -04:00
EllipticEllipsis c8c55a15d3
EnBjt OK and documented (#912)
* OK, data imported

* Fix some typos

* Start docs

* Struct almost finished

* Start object, add state enum

* undefined_syms

* Finish object, name some more stuff

* Name a few states and another function

* PlayState

* Minor tweaks in z_room and z_sub_s

* Complete documentation

* spec

* Review 1

* functions.txt

* Schedule result enum

* Rename schedule results

* Review

* Remove update comments

* Inventory_DeleteItem

* PLAYER_STATE

* Format

* Review

* Update struct name
2022-07-22 05:17:06 +01:00
Derek Hensley cbeeeb172a
EnBaba Documented (Bomb Shop Lady) (#825)
* 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 -> elapsedTime

* Fix

* Final cleanup

* SubS Time Paths

* Still needs dialog action functions

* Fix waypoint comments

* Review pt. 1

* Baba review

* ScheduleResult -> 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 <34639600+Kelebek1@users.noreply.github.com>
Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com>
2022-07-22 05:05:28 +01:00
Rozelette e67fb5cf16
code_801323D0 (z_schedule) (#509)
* 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
2022-05-21 12:08:19 -04:00