Commit Graph

18 Commits

Author SHA1 Message Date
engineer124 00bafced8e
Player Docs: Zora Boomerang (#1739)
* zora boomerang

* missed some

* more docs

* cleanup docs

* more cleanup

* Player_IsUsingZoraBoomerang
2024-11-17 16:37:11 -08:00
Derek Hensley 784c1724ff
Sync Colliders Final (#1718)
* ElementDamageInfoAT

* ElementDamageInfoAC

* colMaterial

* elemMaterial
2024-10-18 23:54:54 +11:00
Derek Hensley 6f5352e6c2
Fix MSCRIPT_CMD_UNSET_EVENT_INF command (#1660) 2024-07-27 14:40:28 -07:00
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
Derek Hensley 471d86f530
Build Sync (#1600)
* Rename outputs

* Makefile target renames

* Add run target

* yeet z64compress

* venv

* baserom_uncompressed -> baserom-decompressed

* input rom name to baserom.z64

* Add BUILD_DIR makefile variable

* Move built roms to build dir

* Move baserom to baseroms folder

* Add version to map file name

* Makefile cleanup

* Rename ldscript to include version

* Multiversion build

* n64-us version name

* Remove venv as dependency of setup

* Readme wording

* extract_baserom.py suggestion

* Readd checksums

* Make .venv work with windows

* missed an endif

* Cleaner windows venv implementation

* Remove duplciate process

* Build process steps

* Move make_options back

* Fix schedule build directory

* Fix schedule includes

* Makefile NON_MATCHING check -> != 0

* OOT 1704 changes

* Small cleanups

* Missed 1 thing

* UNSET -> SYMS

* Update extract_baserom.py

* dmadata.py

* Small cleanup

* dmadata_start

* Format

* dmadata files

* Fix makefile comment

* Jenkins report fix

* extracted dir

* Python dependencies order in readme
2024-04-06 11:07:58 -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
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
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
Lucas Shaw 5455cbc0c8
z_kaleido_manager and z_kaleido_scope_call OK (#489)
* migrated data and bss for z_kaleido_manager, renamed ovl_Player_Actor to ovl_player_actor to make it work with the data

* z_kaleido_manager OK

* add to functions.h variables.h and variables.txt

* init

* rename parameters in func_80163700

* rename func_80163700 to KaleidoManager_FaultAddrConvFunc

* change u32 casts to uintptr_t casts in z_kaleido_manager. (u8 *) casts must stay, they are the only casts that match

* ran format, uintptr_t

* made suggested changes
2021-12-27 03:59:50 +00:00
EllipticEllipsis 823281291b
Script fixes, Type 1 cylinders fixed, rename `main` (#256)
* Fix actor_symbols.py

* Temporary fix to rename_sym.sh

* Fix the few Type1 cylinders

* Rename main -> Main

* chmod rename_global_asm, fix asm in rename_syms

* Format
2021-08-08 23:01:51 -04:00
EllipticEllipsis b23a6f1539
Automatically add Init data to actors (#216)
* Improve match in EnFirefly_Draw

* Vestigial fishing files, add enums

* Improve scripts, add ColChkInfo one

* Some minor actor cleanup (static etc)

* C file for Fishing, remove some local vars from variables.h

* Remove comma and format

* Newline

* Review suggestions

* Fix colchkinfoinit, add damage_table

* DMG macros, format existing DamageTables

* Convert preset damage tables to new format

* Minor tweak to colchkinfoinit output

* Manually add Fishing data and Syokudai struct vars

* Automatically import data

* Fix to use #if 0

* Format

* Name cylinders in obj_syokudai.h

* correct some ichains

* Fix top-of-file comments

* Redo files to include externs

* Fix Fishing

* #if(0) -> #if 0

* Fix mysteriously wiped actors (I blame VSCode)
2021-07-22 22:45:39 -04:00
EllipticEllipsis 184e67c841
Introduce DamageTable formatting and macros (#211)
* Improve match in EnFirefly_Draw

* Vestigial fishing files, add enums

* Improve scripts, add ColChkInfo one

* Some minor actor cleanup (static etc)

* C file for Fishing, remove some local vars from variables.h

* Remove comma and format

* Newline

* Review suggestions

* Fix colchkinfoinit, add damage_table

* DMG macros, format existing DamageTables

* Convert preset damage tables to new format
2021-07-17 00:35:29 -04:00
EllipticEllipsis 66d0656128
C file for Fishing, some changes to collider scripts, a few minor cleanups (#210)
* Improve match in EnFirefly_Draw

* Vestigial fishing files, add enums

* Improve scripts, add ColChkInfo one

* Some minor actor cleanup (static etc)

* C file for Fishing, remove some local vars from variables.h

* Remove comma and format

* Newline

* Review suggestions
2021-07-15 00:33:20 -04:00
kyleburnette d7fc053441
Added data_parser.py to assist in moving data over to c files more easily (#174)
* Added data_parser.py to assist in moving data over to c files more easily.

* Update data_parser.py

Added UNK_TYPE to extern
Added newline at end of file
2021-06-10 17:35:46 -04:00
Zach Banks 091219d742
Small env fixes: git submodules & python3 (#127)
* Small env fixes: for git submodules & python3

Using `/usr/bin/env python3` is preferred over `/usr/bin/python3`
because it is compatible with virtualenvs, etc. It picks the version of
`python3` currently on the `PATH`, rather than the system-wide default.

For the git submodules, I had two issues:

The ZAPD repo is currently pointing at a commit not on the master
branch, which has to be specifically fetched. Adding `--remote` to the
update command fixes this.

The decomp-permuter has primary branch `main` not `master` like this
repo, so this has to be specified in `.gitmodules` when using `--remote`.

* Rework `git submodule update...` part of Makefile
2021-05-18 19:53:11 -04:00
engineer124 cf1da451aa
Update actor symbols (#124)
* update actor symbols

* switch to baserom directory

Co-authored-by: Jared Collette <jcollette@4000v-udp25-l.eng.unimelb.edu.au>
2021-05-10 18:47:30 -04:00
kyleburnette d327f3e6c3
Changed ichaindis to output actual names by default and added an --offset arg to output offset names if needed. Also changed permission on all the overlayhelper scripts (#102) 2021-04-12 21:47:36 -05:00
Tharo 1a2e6d7ffe
z_collision_check.c (#58)
* setup

* Progress on z_collision_check.c

* Further progress on z_collision_check.c

* renamed code_0x800E03A0 to z_collision_btltbls, z_collision_check.c decompiled besides bss

* Structs changes

* Document functions

* overlayhelpers folder, colliderinit.py and ichaindis.py

* Flags, format existing ColliderInits

* Fix merge

* Few more small improvements

* Review suggestions
2021-03-22 17:48:15 -04:00