Commit Graph

592 Commits

Author SHA1 Message Date
Zach Banks
b031598460
Disassembly performance improvements (speed, RAM) (#478)
* Improve disasm.py RAM usage using `bisect`

This is based on AngheloAlf's work in PR #477, but uses the built-in
library `bisect` instead of adding an external dependency.

* Caching vrom_variables for ~25% faster disasm.py
2021-12-06 20:21:01 +00:00
Derek Hensley
e177e99933
Elf_Message OK (#457)
* Matched

* Rename function
2021-12-06 14:42:17 -05:00
Rozelette
56d76d6458
En_Cow 🐮 (#493)
* OK

* Address feedback

* Adjust comparison
2021-12-01 12:32:15 -05:00
mzxrules
ce1de034df
z_obj_mure.c (#364)
* a bunch of OKs and close functions

* OK All but 1 function

* Clean up code

* Match

* implement suggestions

* OBJMURE_CHILD_STATE_DEAD

* Update src/overlays/actors/ovl_Obj_Mure/z_obj_mure.c

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

* use enum for type tests

* add OBJMURE_TYPE_MAX

Co-authored-by: Kelebek1 <eeeedddccc@hotmail.co.uk>
Co-authored-by: Kenix3 <kenixwhisperwind@gmail.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2021-11-30 22:18:58 -03: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
Maide
837eb1c806
En_Tk (#338)
* En_Tk

* PR

* Warnings

Co-authored-by: root <root@Careface.localdomain>
2021-11-20 12:10:37 -03:00
engineer124
ea17d924e4
Audio BGM Macros (#460)
* Introduce bgms

* Fill in bgm enums

* Rename bgm to clearer names

* Fix spacing

* Fix "No_Music" define

* remove comment

* Improve bgm names, found another seqId function

* Another seqId function

* Another name change

* Woods of Mystery -> Sarias Song

* add saria's song bgm to pierre

* Another bgm function found!

* Add bgm's to `gSaveContext.seqIndex`
2021-11-20 11:01:37 -03:00
Maide
97425f68ae
m2ctx: Optionally return Player* for Player accesses (#446)
* m2ctx

* Rename
2021-11-20 00:17:33 -03:00
EllipticEllipsis
48a5116389
cartrominit OK (#412)
* cartrominit OK

* spec

* Rename a couple of variables
2021-11-20 00:15:50 -03:00
Anghelo Carvajal
2854294009
z_jpeg, jpegutils and jpegdecoder OK (#322)
* this is a disaster

* two more

* func_800F470C

* split and rename jpegutils and jpegdecoder

* match jpegutils

* match jpegdecoder.c

* audio_rodata

* data split

* Split rsp

* Steal documentation from OoT

* cleanup

* Format

* remove removed members in JpegContext

* Update include/z64.h

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

* Update src/code/jpegdecoder.c

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

* Update include/functions.h

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

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Update src/code/jpegutils.c

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

* review renames

* true

* Some type fixes

* Update include/z64.h

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

* add comment

* Update src/code/z_jpeg.c

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

* format

* bss fix

* decr

* format

* z64jpeg.h

* Add stdbool

* Rename audio_init_params

* whoops

* whoops++

* whoops#

* remove extra dumb variables in variables.txt

* fix

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
2021-11-19 17:34:45 -03:00
engineer124
c8b0ff3f74
Introducing z64audio.h (#459)
* Copy over z64audio.h from audio WIP

* Cleanup z64audio.h

* PR Suggestions

* Improvements from Audio doc WIP

* More cleanup

* Remove a few structs, Introduce OcarinaSongId

* More cleanup from audio docs WIP

* Fix
2021-11-19 15:26:20 -03:00
engineer124
2dd84d8a9f
Import abi.h from OoT (#466) 2021-11-19 14:18:06 -03:00
Derek Hensley
9a424688b1
Add ability to warnings script to just check building (not setup or disasm) (#414)
* Add option to run warnings on just build

* Rename all to full

* Update tools/warnings_count/check_new_warnings.sh

Remove testing code.

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

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
2021-11-19 12:52:32 -03:00
Derek Hensley
9b51336f09
Sub_S Prototypes and approriate header stuff (#408)
* Add sub_s prototypes

* Rename limbDrawTable to jointTable

* Rename UnkActorDraws

* Fix warnings

* Fix warnings
2021-11-19 12:45:26 -03:00
engineer124
d190b265f6
Audio Files & Data: Fix File/Data Splits and Compiler Flags (#456)
* Properly split audio voice

* Split off jpeg code from audio

* Fix compiler flags

* Properly split libultra audio file

* Split audio data for many files correctly

* Fix remaining data splits

* Fix up troublesome data

* Fix variables.txt

* Missed two files that need to go in audio/

* Add missing `/`

* `D_801E1100` -> audio_init_params

* Properly split code_801D9090.data.s

* Fix code_801A5BD0 bss

* Move audio_dramStack to a blob
2021-11-19 09:36:50 -05:00
EllipticEllipsis
dfc146663f
aisetfreq OK, some libultra improvements (#416)
* aisetfreq OK

* Add a lot of HW_REG and some other macros to libultra

* Format

* Remove extra volatile

* Review

* De-C guNormalize

* Correct typo in crc.c
2021-11-18 15:15:09 -03:00
Isghj
89b9d90826
En_Kakasi (Scarecrow) (#279)
* EnKakasi: rebase progress into one commit

* EnKakasi: fixes to get compiling on master, still doesn't match

* EnKakasi: is this even progress?

* EnKakasi: docs and cleaning

* EnKaksi: damn it, that master merge really messed up more than I thought, after clean build something really weird is going on and now I REALLY need firstdiff

* EnKakasi: Back to building, NOT OK

* fixed a code

* only rodata left to fix

* EnKakasi: functions got removed in included functions

* EnKakasi: thanks to fig mentioning there were missing cases, OK

* EnKakasi: (OK) docs and cleaning

* EnKakasi: Init now matches

* EnKakasi: cleaning and docs

* EnKakasi: more cleaning and docs

* EnKakasi: forgot function declarations

* EnKakasi: spec

* EnKakasi: animation array symbols added

* EnKakasi: formater pass

* EnKakasi: type warning fix

* EnKakasi: little descriptor

* EnKakasi: OK thanks to AngheloAlf

* Apply suggestions from code review

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

* Update src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c

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

* Apply suggestions from code review

Splitting this into pieces to not have a huge pile of bugs

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

* EnKakasi: wrong type of inverse flag

* Apply suggestions from code review

Batch 2

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

* EnKakasi: RIP Anime

* Apply suggestions from code review

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

* EnKakasi: Anim enum update

* EnKakasi: Removed text documentation

* EnKakas: return of THIS

* Update src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c

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

* EnKakasi: mystery solved but not understood

* Apply suggestions from code review

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

* EnKakasi: rename EnKakasi_CheckAnimateSFX to EnKakasi_CheckAnimationSfx (no real reason to shorten Animation to Animate, and SFX is not initialism, its a shorten)

* EnKakasi: minor change to touch jenkins

* EnKakasi: is it loise-uni?

* EnKakasi: fixed skelanime changes

* EnKakasi: formater pass

* EnKakasi: requested changes

* Update src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.h

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

* EnKakasi: removed un needed pad

* EnKakasi: removed redundant documentation comment

Co-authored-by: isghj8 <isghj8@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
2021-11-18 14:33:23 -03:00
LtPeriwinkle
25682591df
EnMm OK (#452)
* EnMm OK

* remove commented InitVars

* switch >= to >; 0x1F to 31

* style fixes

* use macros and enums

* fix formatting

* Fix function naming
2021-11-18 14:08:49 -03:00
EllipticEllipsis
7134e81898
sys_initial_check OK, documented, error message files debinarised (#437)
* OK

* Symbols and other documentation

* Remove externs

* spec

* More documentation, decompile the texture files,
some uintptr_t and size_t

* Top-of-file comment

* Move symbols back into right order

* Use some defines

* Missed an osTvType and a size_t

* Add missing header to os.h

* Use segment symbol macros

* Remove duplicate header

* Address review suggestions
2021-11-15 19:57:16 -03:00
kyleburnette
20f3a190f4
xldtob OK (#439)
* Initial work

* xldtob OK

* Update src/libultra/rmon/xldtob.c

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

Co-authored-by: Kenix3 <kenixwhisperwind@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2021-11-14 20:01:22 -03:00
Kenix3
0c3bba3ff6
Moves func_800CB000 to z_bg_item, decompiles func_800CB000, and documents z_bg_item and a few DynaPolyActor struct members. (#407)
* Moves func_800CB000 to z_bg_item, decompiles func_800CB000, and documents z_bg_item and a few DynaPolyActor struct members.

* Adding usage of dynapoly state flag defines.

* Formats z_bg_item

* Update z_bg_item.c

* Update z_bg_collect.c

* Update z_bg_item.c

* Update z_bg_item.c

* Renames z_bg_item system to DynaPolyActor

* Format
2021-11-14 19:06:34 -03:00
Anghelo Carvajal
0a953f7aea
sched.h (#341)
* sched.h

* format

* screen.h

* sched.h and scheduler.h

* empty commit

* remove screen.h

* format

* Fix

* fix bss

* remove line

* Whoops

* remove dupllicated structs

* ...

* c'mon

* Add TASK_FRAMEBUFFER macro

* format
2021-11-14 18:38:27 -03:00
Maide
602f348928
En_Pm (#309)
* En_Pm

* Format

* PR

* a

* a

* Finally fixed?

* PR

* Fix enum
2021-11-11 22:41:59 -03:00
Tom Overton
a5d8165cd1
Use ITEM_MASK_GIBDO enum in En_Hg (#451) 2021-11-11 19:46:11 -05:00
EllipticEllipsis
1dba23c323
pfsinitpak OK (#425)
* pfsinitpak OK

* Review

* Remove unnecessary if (1) {}
2021-11-11 20:24:30 -03:00
EllipticEllipsis
9aef02bc32
epiread.c OK (#410)
* epiread.c OK

* uintptr_t
2021-11-11 19:27:49 -03:00
EllipticEllipsis
40ec8a9fc0
epiwrite.c OK (#411)
* epiwrite.c OK

* uintptr_t

* Reintroduce bad code rather than start rearranging headers
2021-11-11 18:25:53 -03:00
EllipticEllipsis
987566eebe
pfsselectbank OK (#420)
* pfsselectbank OK

* Update src/libultra/io/pfsselectbank.c

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2021-11-11 17:45:53 -03:00
EllipticEllipsis
285381e662
vimgr OK (#421)
* vimgr OK

* spec

* OSIoMesg, add OS_MESG defines, other review

* Review
2021-11-11 15:30:31 -03:00
EllipticEllipsis
b245740020
CRC files OK and documented (#409)
* crc.c OK and documented

* chmod calc_bss.sh and add base dir to includes

* Port voicecrc work, add documentation

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

* Add full stop

* Review

* Format

* Add some more `!= 0`s

* size_t

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2021-11-11 15:03:05 -03:00
EllipticEllipsis
782b9277e2
pfsfilestate OK (#422)
* pfsfilestate OK

* Format

* Update src/libultra/io/pfsfilestate.c

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2021-11-11 14:16:40 -03:00
EllipticEllipsis
3ee6c43600
pfsdeletefile OK (#424)
* pfsdeletefile OK

* Update src/libultra/io/pfsdeletefile.c

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2021-11-11 13:42:53 -03:00
Anghelo Carvajal
c018e83d36
Remove decomp-permuter (#447)
* Nuke decomp permuter

* Add decomp permuter and mips2c to gitignore
2021-11-11 12:46:18 -03:00
EllipticEllipsis
2e5c142f3b
pfschecker OK (#429)
* pfschecker OK

* Clean up contpfs a bit

* Add prototype to pfs.h

* Format

* Update src/libultra/io/pfschecker.c

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2021-11-11 12:29:22 -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
Connor Anderson
25c60c6911
Add multiprocessing to disassembly script (#449)
* Fix naming bug in disasm.py

* Factor out segment disassembly

* Add multiprocessing for disassembly

* Add multiprocessing for symbol discovery
2021-11-11 11:36:40 -03:00
EllipticEllipsis
30ff2e12b0
guS2DInitBg OK (#426) 2021-11-10 23:16:44 -05:00
EllipticEllipsis
304bfa443e
Transfer osViModes to C files (#438)
* Transfer osViModes to C files

* Finish spec

* Import data to and Improve vi.c

* spec, again

* Format

* Use defines for the types
2021-11-10 23:04:57 -05:00
EllipticEllipsis
29746156af
pfsisplug OK (#430)
* pfsisplug OK

* Remove duplicate struct

* Apply suggestions from code review

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2021-11-10 22:43:08 -05:00
kyleburnette
6b4c24014e
vigetcurrframebuf OK (#386)
* vigetcurrframebuf OK

* Renamed framep to buffer throughout repo

* Made tharo's suggestions

* Fix functions.h
2021-11-08 12:55:39 -03:00
Parker Burnett
77b9431f11
En_hakurock rOcK (#355)
* inital commit with a good chunk done

* adsjfkalsdfh

* can't figure this out for the life of me...

* I'll come back to this later

* not finished, but at least OKs

* blah, still stuck

* en_hakurock OK

* minor clean up

* formatting and pushing up changes

* fixing spec

* fixing warnings and addressing feedback

* addressing PR comments from engineer

* fixing enum

* format
2021-11-06 00:59:45 -03:00
Anghelo Carvajal
278ff4a4b3
motor.c OK (#397)
* use motor in the spec

* import bss

* Delete viextendvstart.c

* rename functions

* move stuff and format

* remove globals.h and ultra64.h

* Update src/libultra/io/motor.c

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

* add motor.h to padmgr

* fix

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
2021-11-06 00:29:56 -03:00
Anghelo Carvajal
e70a8fbb99
Add stddef.h and libc headers cleanup (#396)
* Move headers to include/libc

* stddef

* move math.h

* General cleanup

* move fabs, sqrtf and sqrt to math.h

* move alloca and assert

* whoops
2021-11-05 23:44:58 -03:00
Derek Hensley
49f55ff005
EnvFlags OK (#404)
* Matched

* Remove magic number

* Rename system to EnvFlags
2021-11-05 23:15:47 -03:00
EllipticEllipsis
2907da61c3
xlitob.c OK (#417)
* xlitob.c OK

* spec
2021-11-05 12:03:11 -03:00
Tom Overton
c706b2be70
En_Baguo (Nejiron) OK and mostly documented (#351)
* Migrate data to C

* EnBaguo_Init OK

* EnBaguo_Destroy OK

* func_80A3B220 OK

* func_80A3B2CC OK

* func_80A3B2CC OK

* func_80A3B794 OK

* func_80A3B5E0 OK

* func_80A3B7B8 OK

* EnBaguo_Update OK

* func_80A3B8F8

* func_80A3BE24 OK, some other not-OK junk

* func_80A3BE60 OK (wow this is bad!)

* Document the blink system

* func_80A3C17C OK

* Document timer and fix warnings

* func_80A3C008 OK

* Rename x/y/z so it's clear they are positions

* func_80A3BE60 OK in a not-crazy way

* func_80A3B958 OK

* func_80A3BF0C OK

* Make the rotation a Vec3s

* Update the spec to use the built reloc

* Use ARRAY_COUNT instead of hardcoded length

* Document the state stuff

* Document NejironParticle

* Document the rolling rotation stuff

* unk_1BC -> maxDistanceFromHome

* unk_1B8 -> zRollDirection

* Name the two draw functions

* Name the static variables properly

* Name all other functions

* Clean up forward declares

* Last bit of documentation and cleanup

* Add an enum for the rolling direction

* Add explanatory comment

* state -> action and move action descriptions inline

* Use enum for Stone Mask

* Use "Setup" for the setup function

* Document the damage effect

* Add some space around the for-loop

* ./format.sh

* Use % 8 everywhere

* Use -= instead of += a negative number

* Switch order of max check

* Use CLEAR_TAG_POP enum value

* eyeIndexTemp -> eyeIndex

* visible -> isVisible

* Move enums above structs

* Merge animation system changes

* yDist fix

* Respond to review feedback
2021-11-05 10:14:22 -03:00
Maide
693c701025
Boss_02 (3 non-matching) (#324)
* Boss_02

* Fixups

* Warnings
2021-11-05 08:04:10 -04:00
Anghelo Carvajal
fcb09f5e28
Texture alignment macros (#284)
* Add ALIGNED8

* Add designated initializer macro

* Update include/command_macros_base.h

Co-authored-by: rylieb <31797144+rylieb@users.noreply.github.com>

* Remove braces

Co-authored-by: rylieb <31797144+rylieb@users.noreply.github.com>
2021-11-04 20:36:02 -03:00
Maide
418e09bf6f
En_Floormas (#307)
* En_Floormas

* Format
2021-11-04 18:30:05 -04:00
Maide
31e4089a4b
En_Goroiwa (3 non-matching) (#375)
* En_Goroiwa

* Fix names

* Params

* Revert PR
2021-11-04 14:42:01 -03:00