* Decompile and document En_Clear_Tag
* Adds a define for setting the total count of ClearTag particles.
* Fixes swap in particle effect struct member names.
Additionally, implements the DECR macro where available.
Additionally, implements the CLAMP_MIN macro.
Additionally, adds more comments inside of functions explaining how the Arwing works.
* Reformats z_en_clear_tag.c after recent fixes.
* Removes not OK DECR and CLAMP_MIN macros.
I don't know why they built locally OK for me. May have had a stale build.
* Added static to data declarations.
Additionally added white spacing between data definitions.
* Various syling fixes in EnClearTag
Fixes inconsistent usage of particle/effect. They're Effect is the better name, so I went with that.
Fixed a naming issue in CalculateFloorTangent.
Adds s prefix to all the static variables.
Renames clearTagParticlesBuffer to sClearTagEffects
Consistent capitalization in comments.
Adds more descriptive comments to function level comments that didn't say a lot already.
Renamed gameplay.particleEffects to gameplay.specialEffects.
Renames cameraNumber to cameraId.
Fixed capitalization in display list variable names.
* Always capitalize the A in arwing.
* Fixes issue with overzealous replacement of arwing -> Arwing
* Renames arwing display lists to include the g prefix.
* Renames effect seed -> random
* Removes unnecessary decrement timer comments.
* Updates Arwing comments to detail why it's important that the roll is updated to zero.
* Updates stack variable names in EnClearTag_Update to be more consistent with each other.
* Updates Arwing crashing documentation.
* Further update documentation on arwing crashing.
* Even further updates to Arwing crashing docs.
* Fixes issue of missing newline in En_Clear_Tag.xml
* targetDirection reset now has a chained assignment
* Rotation angle to hex
* Fixes rotation hex and identifies float.
* Updates arwing fire check.
* Arwing cutscene timer is multiplied by 128 rather than shifting 7
* Updates scaledCrashingTimer assignment to be more consistent.
* Updates max scale to multiply by 2
* Gives name to the work buffer indices.
Additionally, makes enum names more consistent.
* Removes unnecessary globalCtx2 in EnClearTag_CreateFlashEffect
* Runs format.sh after recent changes.
* Updated path of ClearTag assets.
* Clear tag now uses Arwing in the display list name for all effects.
* Updates work buffer to expand and contract as new enums are added.
* Uses c99 defines in my c89
* Updates the unknown 8 bytes in en_clear_tag
* review
Co-authored-by: fig02 <fig02srl@gmail.com>
* init done
* Everything done except for draw
* matching
* Tidied for pr
* merge master into en_ba
* run format.sh
* fixing merge mistakes
* how many different ways can I screw up a merge challenge
* some pr comments
* Less warnings in boot & code segments
* few more warnings gone
* Ran formatter
* z_view warning gone
* -> 1
* f31 -> 31
* Remove function casts
* Few more small improvements
* Separate declaration and assignment in func_80091738 and Item_Give
Co-authored-by: Thar0 <maximilianc64@gmail.com>
* starting out
* match demo
* full match
* cleanup
* more names
* more names
* headers
* dist from link
* docs
* objects
* format
* organization of xmls
* merge actor
* Update src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
* Update src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
* format
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Fig02 <fig02srl@gmail.com>
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
* All get item objects OK
* Name z_draw functions
* fix skulltula tokens draw ids
* Review suggestions, merge extract_single_asset into extract_assets as an optional argument
Co-authored-by: Thar0 <maximilianc64@gmail.com>
* all functions matched, data imported
* some function names
* more naming
* corrections, naming
* some state flags named
* naming completed (some may be inaccurate)
* spec
* delete asm
* Review changes
* review
* review
Co-authored-by: Fig02 <fig02srl@gmail.com>
* Data migrated, all but Draw matched
* Draw likely equivalent
but serious regalloc issues,
and that last Gfx_TwoTexScroll is being very stubborn
* Merge remote-tracking branch 'upstream/master' into Thunder
* some improvements, set up to PR as nonmatching
* spec
* corrected header
* added function to functions.h
* delete asm
* Added new collider init
Co-authored-by: fig02 <fig02srl@gmail.com>
* Darkmeiro decompilation
Bg_Gnd_Darkmeiro decompiled, matched, and documented.
* give this a shot
* fix conflict
* one more try
* could be useful
* whoops
* some decomp
* still playing around with this
* rename functions
* ZAP again
* ZAP again
* the renaming begins
* more renaming. hopefully didn't break anything
* change all the things
* this and then merge
* and done
* one little thing
* small docs, small rename
* changed mind on cylinder and quad elements
* something
* more stuff
* more docs
* more adjustments
* Fixed some types
* more fixes
* all sorts of cleanup
* now with flags
* match!
* names and such
* update tools
* damage tables
* ColChkInfo
* one more thing
* formatting
* more formatting
* anime merge
* some stuff
* damage table
* again
* changes
* .s
* changes
* oc2 type
* a couple things
* format
* un-name magic arrows, not enough proof yet
* fix damage table script and remove old one
* EnAObj
* changes
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Fig02 <fig02srl@gmail.com>
* z_lifemeter cleanup finished, one non-matching
* made Health_UpdateData a bit better, nowhere near matching still
* lifemeter done for now
* fixed define issue
* improve z_lifemeter, still doesn't match
* z_lifemeter done
* Rename functions
* Add files via upload
* Update Health_Update.s
* fix missing symbols in asm file
* Update Health_Update.s
* Update Health_Update.s
* fixed stuff
* Add files via upload
* Delete Health_Update.s
* Rename things according to Roman's suggestions
* lifemeter done hopefully
* fix unused asm that for some reason didn't merge
* fix feedback
* compiles right now
Co-authored-by: Zelllll <elijah@DESKTOP-NMP1I89.localdomain>
* beginning of migrating changes
* got matching
* changed order a bit
* clean up bgcheck
* fix conflict
* fix conflict again
* first stab at identifying types, some oks
* Clean up most bad structs/pointer math, move relevant structs to z64bgcheck.h, get some OKs
* more OKs, z_bgcheck.bss migration, update some sys_math3d.c args
* couple more OKs
* pushing some OKs
* fix compilation issues
* code_800430A0.c OK, more files decomp'd
* 8003A3E0 big OK :)
* Decomp most of func_8003C614, decomp helper funcs
* Decomp SurfaceType, CamData, and WaterBox property related functions
* more OKs, big OK in 8003C078
* more OKs, more progress, move a function definition in z_collision_check to functions.h
* more clean-ups, more OKs, dyn_vtx is now defined as u8*
* 8003A5B8, 8003A7D8, 8003C614, 8003DD6C OK, document function args better
* data migrated, more OKs
* 80041240 OK, func_8003B3C8 and func_8003BB18 disassembled
* func_80040284, 800409A8 non_matching, add IS_ZERO macro
* All asm files have C representations, some big OKs, lots of minor tweaks
* More OKs, non-matching code cleanup
* 8003FBF4 and 80040BE4 OK, improve codegen for most functions
* format z_bgcheck.c
* fix warnings, compile errors on NON_MATCHING
* func_8003EE80 is now NON_MATCHING
* begin documenting some functions
* formatting
* more documentation, func_8003A95C OK
* fix PHYSICAL_TO_VIRTUAL changes
* fix var rename
* More documentation, functions 80040E40, 80041648 OK, change types to not be compatible with ZAP
* func_8004239C ok, more NON_MATCHING improvements, more documentation
* Implement most suggested changes
* Convert comments to slower comments
* /**
* Implement ZAP2 changes
* my anti-virus ate my format.sh results
* Rename a couple hundred functions, fix minor stuff
* rename var so that clang formats correctly
* run format.sh
* implement Petrie's matches/suggestions
* format
* matches
* and the asm
* slight error
* Add SSList
* two more matches
* stuff
* implement code changes
* clean up Petrie's matchings
Co-authored-by: Arthur <arthurtilly413@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
* Darkmeiro decompilation
Bg_Gnd_Darkmeiro decompiled, matched, and documented.
* give this a shot
* fix conflict
* one more try
* could be useful
* whoops
* ZAP2 stuff
* ZAP why
* ZAP again
* more names
* so many names
* we got subsystems now
* slight cleanup
* merge part 2
* new naming scheme
* slight adjustment
* no limit
* syms maybe
* step one
* OK, it's fixed
* table
* some names and such
* comments**
* update zap
* gitkeep to please jenkins
* ZAP
* fixer
* fixer2
* fixer3
* zap
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: fig <fig02srl@gmail.com>
* Darkmeiro decompilation
Bg_Gnd_Darkmeiro decompiled, matched, and documented.
* give this a shot
* fix conflict
* one more try
* could be useful
* whoops
* ZAP2 stuff
* ZAP why
* ZAP again
* slug-o-cola
* sfx macros
* Matched
* this will have to do
* well maybe a little more
* good enough
* OK
* documented (with one odd float value)
* delete asm and alter spec
* uniformise spawn data to sIsSpawned,
fix compile warnings in Bg_Jya_Lift and Bg_Mori_Elevator
* translate last printf
* re-delete modified asm
* addressed review comments
* remove outdated comment
* addressed comments, made defines
* untrack scenes dir
* remove scenes dir
* init, destroy, update, couple of others decomped
* 2 functions remain
* data migrated
* 1 function left
* OK
thanks mostly to Petrie and the permuter,
and no thanks to my find/replace skills
* documented and deleted asm
* updated spec
* delete data
* address review comments
* Apply review suggestions
* Darkmeiro decompilation
Bg_Gnd_Darkmeiro decompiled, matched, and documented.
* give this a shot
* fix conflict
* one more try
* could be useful
* whoops
* ZAP2 stuff
* ZAP why
* ZAP again
* rupees and, for some reason, pots
* and now an even larger man
* now for the gallery
* more progress
* naming continues
* even more docs
* another match
* match, fix, a new enum
* Update src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c
* fixes except globalctx
* well one more
* and now globalCtx
* Darkmeiro decompilation
Bg_Gnd_Darkmeiro decompiled, matched, and documented.
* give this a shot
* fix conflict
* one more try
* could be useful
* whoops
* ZAP2 stuff
* ZAP why
* ZAP again
* woo watch out
* data and such
* stuff
* more decomp
* another match
* match and docs
* more docs
* little more cleanup
* SFX macros
* little more
* more attempts to match
* naming things
* I give up on the match
* also spec
* changes
* hex
* Update src/overlays/actors/ovl_En_GeldB/z_en_geldb.c
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
* Update src/overlays/actors/ovl_En_GeldB/z_en_geldb.h
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
* Update src/overlays/actors/ovl_En_GeldB/z_en_geldb.c
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
* Fully decompiles demo_effect actor.
* Formats z_demo_effect.c
* GET_ACTOR_TYPE is renamed to GET_EFFECT_TYPE
* Implements OPEN_DISPS macros for all draw functions.
* Fixes ugly float values
* Removes unnecessary union structs in the DemoEffect actor struct
* Renames DemoEffect SkelAnimeCurve member to skelCurve
* Names initObjectBankIndex DemoEffect struct member
* Renames jewel display list holders
* Renames initialization function pointers to initUpdateFunc and initDrawFunc
* Renames primitive and environment color DemoEffect struct members.
* Fixes a couple missed floats.
* Renames most draw and update functions.
* Finishes naming all update functions.
* Adds additional SFX defines.
* Renames the rest of the functions
* Renames all external object display lists and vertex references
* Renames DemoEffect global data variables
* Renames DemoEffect Medal function to GetItem because it's used by LightArrows too
* Fixes DemoEffect Timewarp_Timeblock documentation.
* DemoEffect_TimewarpTimeblock updates shrink functions to use decimal
* Converts DemoEffect hex to decimal where appopriate
* Names the rest of DemoEffect struct members.
* Names DemoEffect triforceSpot crystalLightOpacity
* Adds DemoEffect enums for light effect color and god lgt types.
* Renames DemoEffect_UpdateBlueOrb to DemoEffect_UpdateBlueOrbGrow
* Fixes compiler warning in DemoEffect_JewelSparkle
* Renames DemoEffect_MedalSparkle argument
* Reformatting DemoEffect struct offset comments.
* Formats z_demo_effect
* Updates DemoEffect oGfxCtx to use the new macros.
* Adds comments detailing what each function in the DemoEffect system does.
* Removes z_demo_effect.data.s
* Renames DemoEffect global variables and sets them to static
* Removes pointer from DemoEffect function references
* Removes unncecessary default: break; statements in DemoEffect
* Converts rotation values to hex in DemoEffect
* DemoEffect effectFlags now uses ~1 rather than 65534
* DemoEffect_DrawGodLgt now uses a cleaner conditional statement
* eventChkInf in DemoEffect now uses 1 << 9 and 1 << 11
* DemoEffect now uses VT macros.
* Converts DemoEffect colors to hex.
* Changes M_PI / 32768.0f to M_PI / 0x8000
* Updates demo_effect enums to be all caps
* ovl_demo_effect reloc info is now included via build process rather than included from original asm
* Adds param packing macro
* DemoEffect struct unions are now typedef'd outside of the main struct
* Reformats DemoEffect sJewelSparkleColors
* Removes an if(globalCtx){} in DemoEffect_Init
* Removes ActorFunc cast in DemoEffect_Wait
* Removes unncessary comment in DemoEffect_MedalSparkle
* Timer check in DemoEffect_UpdateLightRingShrinking now uses <= 255 rather than < 256
* Removes unnecessary comment in DemoEffect_SetJewelColor
* Removes unncessary comment in DemoEffect_MoveJewelActivateDoorOfTime
* Converts an angle to hex in DemoEffect_MoveJewelActivateDoorOfTime
* Converts a while to for loop in DemoEffect_JewelSparkle
* Moves stack variables in DemoEffect_UpdateDust to a new line for each one
* Removes globalCtx2 assignment to the beginning of the function in DemoEffect_DrawJewel
* Removes unnecessary comment in DemoEffect_DrawCrystalLight
* No longer wrapping rotation reset in if(1){} in DemoEffect_DrawGodLgt
* Converts DemoEffect if statements to use != 0 and == 0 when non-boolean ints are checked.
* DemoEffect initDrawFunc now uses type ActorFunc rather than DemoEffectFunc
* review 2
Co-authored-by: fig <fig02srl@gmail.com>
* cleanup
* name camera action functions
* decompile a few small functions, name a few Camera struct members
* decompile camera data, decompile a few camera functions
* Split ASM for code_800BB0A0
* removing code_800BB0A0.s
* PR Requests, Camera WIP
* remove #define NON_MATCHING from db_camera
* rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c
* camera wip
* rename some struct memebers, some decomp wip
* pr updates
* camera wip
* name some fields in Camera Struct, being making sense of Camera_Update
* Camera WIP
* wip
* wip
* add z64camera.h header, begin creating CameraSetting macros
* wip
* wip
* wip
* wip
* migrate camera bss to c
* match a couple functions in db_camera
* match some small db_camera functions
* wip
* migrate db_camera rodata, match a few functions
* remote db_camera.rodata.s
* match some of db_camera
* identify types of some unknown data pieces
* some small wip
* Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs
* add naming for a few more Camera struct members
* wip
* match func_80043F94
* Match Camera_Jump1
* document some of Camera_Jump1
* wip
* match Camera_Jump3
* Match Camera_Update, FeelsAmazing
* wip
* wip
* match Camera_SetParam
* minor cleanup
* wip
* wip
* match Camera_KeepOn0
* some documentation, modify some matching functions to match style of others.
* match Camera_Demo1
* match camera_demo9
* document Camera_Demo1 and Camera_Demo9
* wip
* Match camera_battle4
* match camera_unique2
* Match Camera_Unique3
* match camera_special6
* match Camera_Special5
* wip
* document camera_special6
* naming updates
* match camera_Unique1
* match Camera_Unique0
* wip
* Match Camera_CalcUpFromPitchYawRoll
* match func_80045508
* document Camera_Battle4
* document several camera functions, move camera data to separate file
* rename phi/theta to pitch/yaw
* wip
* uniq9 wip
* Camera_Unqiue9 OK
* document Camera_Unique9
* name unk_160 in camera struct
* wip
* wip
* minor updates
* fix conflicts
* wip
* wip
* Olib updates
* wip
* wip
* rename most Math3D functions, few matches, documentation
* wip
* document most of math3d
* wip
* wip
* wip
* pr updates
* Match Camera_Fixed4
* match func_80058E8C
* pr updates
* add missing comment block finalizer
* Merge math3dupdates
* match Camera_ChangeSetting
* Match Camera_ChangeMode
* match func_80058148
* Match Camera_Special9
* decompile the rest of camera data
* match Camera_Demo5
* name a few camera functions in z_play
* match func_80046CB4, some work on other fucntions
* wip
* impove some non matchings
* fix function rename
* match func_800588B4
* match Camera_Subj4
* wip
* Camera_Demo3 matching, Camera_Battle1 big progress
* Camera_Normal2 OK
* wip
* match Camera_Parallel1
* normalize some things across functions
* match Camera_Normal1
* Match Camera_Normal3
* some cleanup
* more cleanup
* more cleanup , match Camera_CalcDefaultPitch
* data formatting
* Match Camera_Jump2
* document Camera_Jump2
* Match Camera_KeepOn3
* document some of Camera_KeepOn3
* improve some non_matchings
* match func_80045C74 and func_800460A8
* code cleanup, documentation
* match Camera_KeepOn1
* Match Camera_Subj3
* Match Camera_Battle1
* remove non_matching from func_80044adc and func_80046e20
* name several members of Battle1
* more documentation on Battle1
* cleanup
* renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector
* reorganize update structs, remove final references to params, remove CameraParams union
* implement camera enums into player
* Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player
* remove non-global camera variables from variables.h
* clean up some variable declarations
* finish pr comment updates
* fix some warnings
* data formatting
* finish commenting on data
* delete unused asm
* remove asm
Co-authored-by: fig <fig02srl@gmail.com>
* Darkmeiro decompilation
Bg_Gnd_Darkmeiro decompiled, matched, and documented.
* give this a shot
* fix conflict
* one more try
* could be useful
* whoops
* ZAP2 stuff
* ZAP why
* ZAP again
* more matchings, some cleanup
* small cleanup
* Poe actors progress
* Some more progress, En_Poh almost matching
* Further progress
* Fix merge
* Decompile data
* Actor struct cleanups
* More functions OK
* Progress
* Last function decompiled, some nonmatchings left
* Few more OK, skelanime_init definition changes
* Progress
* Style improvements, OPEN/CLOSE_DISPS, few more OK
* Few more style improvements, function prototype additions/changes, another function OK
* Remove unused asm, begin documentation
* Use generated reloc
* Cleanup, format
* Remove a few no longer needed comments
* PR suggestions
* DISP macros
* Missed some FrameUpdateMatrix != 0 replacements
* EnPoField_InteractWithSoul -> EnPoField_SoulInteract, eyeImageIdx -> eyeTextureIdx
* Fix merge, reformat
* Review Suggestions
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
* Further review suggestions
* Ran formatter
* Less DECR usage
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
* Darkmeiro decompilation
Bg_Gnd_Darkmeiro decompiled, matched, and documented.
* give this a shot
* fix conflict
* one more try
* could be useful
* whoops
* Many likes alike
* matched
* merge ZAP
* now with names
* merge and small cleanup
* removed commends
* got formatter to behave
* move static array
* fixed variable names
* fixes
* pedantic comments
* Darkmeiro decompilation
Bg_Gnd_Darkmeiro decompiled, matched, and documented.
* give this a shot
* fix conflict
* one more try
* could be useful
* whoops
* ZAP2 stuff
* ZAP why
* ZAP again
* Is this where I make a Mr Hands joke?
* Manos: the Hands of Fate
* cleanup
* and format
* Darkmeiro decompilation
Bg_Gnd_Darkmeiro decompiled, matched, and documented.
* give this a shot
* fix conflict
* one more try
* could be useful
* whoops
* ZAP2 stuff
* ZAP why
* ZAP again
* spooky scary skeletons
* there's a skeleton inside of you
* formatting
* types
* a matched function even
* undo change
* lol anime
* ok how did I forget the .s
* array fix
* would you like to ride the bone train?
* stuff
* more renames
* renames and cleanup
* names suck
* idea
* using void** for now
* stuff
* look more type fixes
Co-authored-by: fig <fig02srl@gmail.com>
* merge upstream
* Merge upstream
* Small formatting
* Data section
* MagicDark_Draw
* Gross match of func_80B874E4
* Add func_8005A9CC to functions.h
* Work on func_80B87A18
* func_80B8772C
* Remove comment
* Work on func_80B87A18
* Correct fp constant
* Add regalloc comment ;(
* Move negatives to numbers
* Stupid casts >:(
* Use this->actor when possible
* It's so close
* Use cast + 0xFF
* func_80B87A18
* Delete asm and replace globalCtx2
* Update spec
* static everything
* Name scale
* Use decimal for alpha
* Name some stuff
* Delete reloc
* Name orbOffset
* Name some functions
* Make unused data colors (because it probably is)
* Change >= to >
* Use clamps
* Name MagicDark_DimLighting
* Name gfx
* Rename prototype params
* Cleanup
* Funny cast
Co-authored-by: Ethan Roseman <ethteck@gmail.com>