Commit Graph

15 Commits

Author SHA1 Message Date
Anghelo Carvajal a8c7a5bb89
Player preparation 1 (#1058)
* Bring over new stuff from player.h

* door type

* PlayerModelGroup

* CSMODE

* PLAYER_PARAMS

* functions.h

* item.h

* a

* format

* ED

* stuff

* Magic_Reset

* bodyPartsPos

* format

* review

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

* format

* params and fixes

* GetItemId

* yes

* 2

* warnning

* closestSecretDistSq

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

* Name the other PLAYER_DOORTYPE

* review

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

* remove pyelftools

* PlayerActionParam Player_GetExchangeItemId

* Update include/z64animation.h

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

* bss

* bss

* fix linkanimation warning

* bss

* bss

* format

* fix

* namefixer

* format

* fix

* fixes

* namefixer

* bss

* fixes

Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
2022-11-06 20:49:04 -03:00
engineer124 841da5f138
View & Shrink_Window Docs (#1049)
* view and shrink_window docs

* cleanup

* move func declaration to header

* move struct to local

* PR Suggestions

* g to s
2022-10-02 11:32:57 -03:00
engineer124 ab5fd663cc
Quake & Distortion Cleanup (#1102)
* quake cleanup

* cleanup

* more cleanup

* remove cast

* q comes before r...

* unname goron function, leave it to another PR

* PR Suggestions
2022-09-30 23:01:39 -03:00
engineer124 fda5da2500
Introducing z64camera.h (#797)
* Introduce z64camera.h

* format

* Oops

* Change paramData to u8

* BINANG_TO_DEGF and DEGF_TO_BINANG to z64camera.h

* Fix bss, thanks Anon

* Update with docs from OoT

* Cleanup

* Fix activeCamId

* underwater

* remove interface alpha stuff

* Oops

* To Hex

* Cleanup cam settings comments

* PR Suggestions

* More PR Suggestions

* trackActor -> focalActor

* Fix merge

* Fix bss, thanks Anon
2022-07-12 00:25:40 -04:00
Tom Overton 158d1b26b0
PlayState rename (#835)
* 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
2022-06-26 11:57:37 -04:00
EllipticEllipsis 31f0e19b57
Enable full IDO warnings (#781)
* Fix a lot of IDO warnings (and some Clang ones)

* Format

* Put FULL_DISASM=0 back

* Fix bss
2022-04-22 05:48:41 +01:00
engineer124 fa069535d0
Camera Preparation (#644)
* Copy progress from z_camera

* cleanup functions.h

* Oops

* Revert `SUB16` and `ADD16` back to original names

* PR Suggestions

* PR Suggestions

* Fix merge with master
2022-02-20 00:33:47 +00:00
engineer124 bc7249960d
Rename "Quake2" -> "Distortion" (#588)
* rename `quake2` -> `distortion`

* Small touch-up

* cleanup and better spacing

* PR Feedback from OoT

* missed a small thing

* Name `billboardMtx` using better knowledge of sys_matrix functions thanks to `z_view`

* Add documentation to `SurfaceType_GetConveyorType`

* Cleanup Conveyor Type docs

* update cycle to phase
2022-01-30 17:55:42 -03:00
Anghelo Carvajal 6069a1585f
`z_actor` with some documentation, with 1 NON_EQUIVALENTs (#401)
* Match Player_GetHeight

* Another bunch

* Fix merge conflict

* rename Gfx_DrawDListXlu

* add WEEROR

* Actor_Spawn

* almost Actor_SpawnTransitionActors  and Actor_Delete

* A bunch of small actors

* More renames

* format

* Some Player renames

* a few more

* import data

* run formatter

* func_800B7170

* whoops

* Fix merge issues

* Whoops 2

* func_800B83BC and func_800B83F8

* Actor_IsActorFacingPlayerAndWithinRange

* add some prototypes

* match Actor_UpdateBgCheckInfo

* func_800B7678

* mark Actor_SpawnAsChildAndCutscene as non_matching

* Actor_Draw

* Update is chaotic

* 2 new matches

* func_800BC8B8

* Another bunch

* function renames

* run formatter

* cleanup

* remove unnecesary casts

* add missing sfx

* Fix renames

* fix merge

* func_800BF7CC

* small bunch

* another bunch

* func_800BE184 non_matching

* two more

* split z_cheap_proc

* Another bunch

* another bunch

* a few and a non matching

* yeee

* a

* Actor_DrawAll non_equivalent

* Actor_RecordUndrawnActor

* i don't know what to put in this commit message

* func_800B4B50 non matching

* func_800B42F8 non matching

* func_800B5040

* func_800B5814 non_equiv

* func_800B6584

* func_800B6608

* func_800B6680

* func_800B7E04

* func_800B8118

* func_800b9170

* ,

* func_800BC4EC

* func_800BA6FC

* func_800BA798

* func_800BA8B8

* Actor_LoadOverlay

* small cleanup

* func_800BB2D0

* meh

* func_800BBAC0

* func_800BC270

* func_800B5208 non matching

* Fix warnings

* meh

* rename some ActorShadow_ functions

* fairy

* Flags_

* fix warnings

* format

* Actor_PickUp and family

* func_800B8E58

* match Actor_RemoveFromCategory

* another bit of docs

* Match func_800B86C8

* And another bit

* rename Player_GetRunSpeedLimit

* func_800B9E84

* func_800BE63C

* func_800BB8EC

* match func_800B5814

* match func_800B9334

* cleanup

* fix conflicts: first pass

* another fix

* actorfixer fix

* fix conflicts

* func_800BE680 non_equivalent

* Improve func_800BE680 a bit

* func_800BE680 equivalent (?)

* func_800BE680 equivalent

* Actor_UpdateActor equivalent

* format

* use some  ExchangeItemID enum values

* Some more cleaning

* more cleanup

* More name stealing from OoT

* match func_800B82EC

* match func_800B9D1C and a bit of cleanup

* Add ACTOR_FLAGS placeholders

* Renames and match func_800BE184

* last pass of name stealing

* format

* fix conflicts

* more cleanup

* more cleanup

* cleanup and OVERLAY_RELOCATION_OFFSET macro

* Remove prototypes of obviously internal-only functions,
update variable names,
forward declare where necessary,
remove all `param_\d`s

* remove newlines

* minor rename

* Use ACTOR_FLAGS in z_actor

* Match func_800BE3D0

* Rename movement functions

* Document Actor_CalcOffsetOrientedToDrawRotation

* velX -> horizontalSpeed

* A bit of documentation for actor movement functions

* format

* Fix merge issues

* format

* Format

* Fix renames

* fix warnings

* fix conflicts

* review :D

* Update src/overlays/actors/ovl_En_Ma4/z_en_ma4.c

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

* Fix

* format

* Actor_SpawnSetupActors

* engineer review

* Update src/code/z_actor.c

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

* A bunch of Engineer's reviews

* more Engineer's review

* a

* whoops

* run actorfixer

* c'mon

* 😮‍💨

* whoops

* warning

* More engineer's review

* run format

* I'm dumb

* a

* match func_800BE680

* Match Actor_DrawZTarget

* Match Actor_SpawnAsChildAndCutscene, fix non-equivalent in Actor_UpdateActor

* Fix merge issue

* format

* update actor

* Steal a bit of @Thar0 documentation from OoT's z_message

* Run actorfixer

* Fix renames

* Match func_800B4B50 thanks to @hensldm

* Improve ActorShadow_DrawFeet thanks to @hensldm

* whoops

* Actor_PlaySfxAtProjectedPos

* Actor_UpdateActor matched by @hensldm

* Match func_800BA2FC by @hensldm

* Match Actor_SpawnTransitionActors by @hensldm

* Match func_800BB604 by @hensldm

* Match Actor_DrawAll by @hensldm

* ActorShadow_DrawFeet by @hensldm

* Actor_UpdateAll by @hensldm

* Match func_800BCCDC by @engineer124

* Small Actor_PlaySfxAtPos by @engineer124

* ACTOR_FLAGS_ALL and a bit of cleanup

* Add invisible comment

* Small docs pass

* Fix merge

* Engineer's review

* format lol

* Actor_DrawDoorLock docs

* Actor_SpawnShieldParticlesMetal

* fix merge issues

* sActorFaultClient

* fix

* commit message

* Run actorfixer.py && format.sh

* Fix warnings

* fixes

* format

* bss

* Update include/functions.h

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

* Address review

* Fix merge issues, format and such

* fix merge issues

* Add ACTORCAT_MAX

* actorList -> actorLists

* Fix merge issues

* format

* Enable WERROR on jenkinsfile

* Fix merge

* Use object symbols

* address review

* format

* review

* fix merge issues

* fix

* VRAM_PTR_SIZE, small cleanup and format

* review

Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
2022-01-10 12:04:28 -05:00
mzxrules 6b493d3f9d
z_bgcheck.c (#357)
* first few functions

* two more almost matching functions

* Rebase to NBS, get it to compile

* BgCheck_RaycastFloorStaticList OK, fix-up some functions

* BgCheck_SphVsStaticWall OK! and a few others

* more z_bgcheck NON_MATCHINGS

* OK more functions, reorganize external reference #defines

* More functions OK, more struct fixes

* More OKs

* Decomp all the way to the end of bgcheck

* All functions attempted

* Rename functions

* formatting, data migration

* Give names to unk structs, rename some structs, fix some non-equivalent functions

* WaterBox_GetSurfaceImpl OK

* BgCheck_ResetPolyCheckTbl OK, improve WaterBox_GetSurface2 codegen, eliminate warnings and clean up source.

* BcCheck3_BgActorInit ->BgCheck3_BgActorInit, fix warnings

* pr change requests

* fix crc maybe

* implement more changes

* implement alf's changes
2021-11-23 13:29:18 -03:00
engineer124 d825ef5de1
Improve/Add Enums for Player, Items, and Quest (#275)
* Create enums (non-matching monkaBSS)

* Add effect enum

* Almost fix bss reordering (1 different word)

* Fix capacity

* Fully fix bss

* Add PlayerBoots

* PR Feedback & add missing playerForm enums

* Clean-Up

* Script to check global bss ordering

* Bit of cleanup

* Format

* Remove global_bss_check PR

* Fix bss

* Add enums to new PRs & previously missed ones

* Remove Effect Enums

* Missed one

* Format

* Remove old prevent_bss_reordering.h comments

* Use a better macro

* A few more uses of enums found

* Add enums to recent PRs

* Improve GI enums

* Add enums from new PRs

* PR Suggestions

* format

* Fix bss

* Fix mistake in GI

* No actually, part of it was correct before

Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
2021-11-11 12:04:57 -03:00
engineer124 3aeadb42b8
Macros: `PLAYER` -> `GET_PLAYER(globalCtx)` and `ACTIVE_CAM` -> `GET_ACTIVE_CAM(globalCtx)` (#283)
* PLAYER -> GET_PLAYER(globalCtx), ACTIVE_CAM -> GET_ACTIVE_CAM(globalCtx)

* formatter

* PR Suggestions

* `FIRST_ENEMY` -> `GET_FIRST_ENEMY(globalCtx)`

* Fix merge conflicts
2021-10-12 13:27:29 -03:00
rylieb 6fb180d0e1
En_Holl (Loading Halls/Holes) OK and mostly documented. (#270)
* EnHoll_Destroy() matching.

* EnHoll_Update() matching.

* EnHoll_Draw() matching and mostly documented.

* func_808999B0() matching and mostly documented.

* En_Holl OK (some asm remains)

* Renamed macros.

* func_80899B88 matching, but control flow could use some work.

* Got rid of GOTO in func_80899B88.

* Removed as many returns and magic numbers as currently possible.

* Renamed previous two functions to EnHoll_ChangeRooms and
EnHoll_VisibleIdle.

* EnHoll_SetAlwaysZero matching.

* EnHoll_TransparentIdle matching.

* func_8089A0C0 matching and mostly documented.

* func_8089A238 matching and mostly documented.

* Deleted last GLOBAL_ASM pragma.

* Final documentation for En_Holl PR.

* Switched spec to generated reloc.

* Clean up macros.

* Rename functions.

* Simplify name of ActionFunc array.

* Renamed globalCtx->unk_18878 to bgCoverAlpha.

* Ran format.sh.

* Added c file header.

* Update src/overlays/actors/ovl_En_Holl/z_en_holl.c

add trailing comma to sActionFuncs[]

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

* Update src/overlays/actors/ovl_En_Holl/z_en_holl.c

replace UNK_TYPE with s32.

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

* Run format.sh.

* s32 pad and declaration formatting

* Remove comma in EnHoll_TransparentIdle.

* Renamed sThis to sInstancePlayingSound.

* renamed gfxP to dl

* Improved affine transformation documentation.

* ran format.sh

* Updated documentation to be doxygen compatible.

* Extracted assets.

* fix bss

* Update src/overlays/actors/ovl_En_Holl/z_en_holl.c

replace bitmask == 0 with !

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

* Rename extracted asset variables.

* Renamed argument to macro functions to match .c

* renamed Vertices to Vtx.

* Renamed Vtx and DL.

* Update src/overlays/actors/ovl_En_Holl/z_en_holl.c

Shorten documentation.

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Apply suggestions from code review

Newline changes for readability.

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Holl/z_en_holl.c

* Update src/overlays/actors/ovl_En_Holl/z_en_holl.c

Change oldCurrRoom to tempRoom.

* Apply suggestions from code review

engineer124's suggestions

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

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2021-09-01 19:39:01 -04:00
Tharo 7743e5a2c4
Overhaul the build system (#234)
* wip

* fix

* add disassembler

* Disasm builds OK

* Variable addends

* More wip

* Rodata migration implemented

* Cleanup old tools

* Try fix submodule -> subrepo merge

* git subrepo pull --force --remote=https://github.com/zeldaret/ZAPD.git tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "602e609"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "602e609"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* Builds again but assets are totally broken

* git subrepo pull --force tools/asm-processor

subrepo:
  subdir:   "tools/asm-processor"
  merged:   "1ffdb08a"
upstream:
  origin:   "https://github.com/simonlindholm/asm-processor.git"
  branch:   "master"
  commit:   "1ffdb08a"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* More cleanup, move functions.txt and variables.txt to tools/disasm and rm tables

* rm z64compress in preparation for subrepo

* git subrepo clone (merge) https://github.com/z64me/z64compress.git tools/z64compress

subrepo:
  subdir:   "tools/z64compress"
  merged:   "eb11085c"
upstream:
  origin:   "https://github.com/z64me/z64compress.git"
  branch:   "main"
  commit:   "eb11085c"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* Fix asset extraction

* Fix diff-init make rule

* Split code bss

* Split assumed linker bug padding from assembly files

* add filelists for mm.us.rev1

* Maybe working, but I'm not sure

* add overlays to spec

* Add rodata to actos

* Everything compiles

* Make a lot of C files for code

* Add almost every file in code to spec

* whoops

* 3 code files left

* add scenes to spec

* More progress on progress.py

* Fix skelanime in spec

* audio files!

* Fix merge issues

* Fix some C files in code

* Fix remaining code files

* Use existing O1 C files in spec

* reorder boot order in spec

* update spec

* fault.c

* Convert relocs on completed actors, fixbaserom uses current rom name

* more boot files

* Add VT macros and script

* finish already existing boot files

* most of  libultra

* fix 64bits libultra files

* Use C files for libultra, wrap some functions in NON_MATCHING

* Remove duplicate of OS_CLOCK_RATE from fault.c

* C files for fbdemos

* delete dumb files

* bootstrap C files, still need to add them to the spec

* update fixbaserom

* boot OK?

* I forgot to commit the spec

* C for gamestates

* C for kaleido

* Change all includes to ""

* copy actor sizes script from oot

* I forgot to delete those files

* Basic C files for effects

* Add effects initvars names

* Remove mislabelled boot functions from header/txt

* Begin porting bootstrap_fx, some sizes

* Fix <>

* Fix enum

* Fix diff.py

* fix libultra stuff

* update regconvert

* update setup warnings

* add some missing ;

* Fix some makefile stuff and other fixes on some non_matching functions

* add executable flag in extract_baserom and fixbaserom

* fix relative path

* copy assist from oot

* fix map path

* another assist path fix

* Delete C files for handwritten files

* add code_801A51F0 to spec

* add gfxbuffers to spec

* Move rodata to top of each file when possible

* UNK_TYPEs for func_801A51F0

* Remove kaleido rodata from spec

* Update spec and undefined_syms for recent merge

* GCC warnings and fix errors in nonmatchings,

* round percentage numbers

* progress script: format changes

* progress: error on non-existing files

* fix warning in z_scene_table

* Match 2 nonmatchings in z_actor

* Warnings in lightswitch and invadepoh

* Fix warning in z_actor_dlftbls

* I though I fixed this one

* whoops

* Comment out CC_CHECK

* Removed redundant ultra64.h includes

* Update asm_processor, sorted boot_O1 into other folders, completed the fbdemo bootstrap, cleaned up undefined_syms

* Completed gamestates bootstrap

* Split kaleido_scope

* Remove section.h and segment.h, move keep object externs to a common location in variables.h

* Completed effects bootstrap

* Segmented address externs for effects, fbdemos, gamestates and kaleido

* Move actor data externs out of the if 0

* Segmented address externs for actors

* Prepare actionfunc detection

* fix script, how did it even work before

* Fix actionfunc script again, re-introduce some more intermediate prints to the disassembler

* Automated actionFunc detection in actors

* Segmented addresses from player .text

* rm old segment addrs script and fix build

* Move sizes folder to tools

* Make build.py executable

* New Jenkinsfile Prayge

* Remove numpy dependencies

* Add warnings_disasm_current.txt

* my bad

* Update spec and undefined_syms

* Add z_eff_ss_hahen to pametfrog

* git subrepo pull (merge) --force tools/z64compress

subrepo:
  subdir:   "tools/z64compress"
  merged:   "163ca2af"
upstream:
  origin:   "https://github.com/z64me/z64compress.git"
  branch:   "main"
  commit:   "163ca2af"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* Make z64compress print to stdout

* sneeky commit to update warnings tooling

* test

* Another test

* Mark fixing overlay reloc generating as a TODO

* Update warnings stuff

* Communicate the return code from running z64compress back to the Makefile through the wrapper

* Run formatter, remove extra commented copy of function

* Re-fix some includes

* Convert atan to hex to conform to decided style

* Some tidying up, remove c for fp and the other two handwritten code files

* BSS in z_collision_check & z_scene_proc

* add static back in

* Fix timerintr bss, add file to spec, some cleanup

* Remove externs

* Newline

* Readd enums

* Typo

* Colours

* Comments for hitmark enum values

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Improvements and suggestions

* Organize and remove unused imports and use env for python3 scripts, delete unused overlay.py

Co-authored-by: angie <angheloalf95@gmail.com>
Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
2021-08-03 23:21:31 -04:00
engineer124 b5c931e432
z_quake OK and documented (#213)
* Create z_quake.c file

* Match all quake functions with OoT counterparts (quake2 left)

* z_quake OK

* Document first half of quake

* More docs

* more cleanup

* remember to format!

* PR Suggestions

* More PR Suggestions
2021-07-19 19:06:54 -04:00