Commit Graph

12 Commits

Author SHA1 Message Date
ComplexPlane 85e42eb3ec Labels. Mostly related to physics and animation. (#18)
* Rename stcoli functions

* Add gen_compile_commands.py script

* Add shebang

* gen_compile_commands: pretend to be GCC

* Separately compilable game headers

* Separately compilable system dolphin headers

* Work in progress starting stcoli.c

* Partially label PhysicsBall type

And some stcoli funcs

* Stcoli labelling

* Add Vec2d type

* Collision body labels

* StageGoal labels

* More goal labels

* gen_compile_commands.py: Prefer nonmatching C to matching asm

* sda2-^>_SDA2_BASE_ in stcoli.s

* Match first stcoli function (dol not matching atm though)

* Fix float literals (still not OK)

* gen_compile_commands.py absolute paths (needed on Linux?)

* gen_compile_commands.py fixes

- Export absolute paths, even on Linux
- Add some defines so more C code is exposed for clangd
- Remove extraneous spaces in output
- Executable bit

* Executable bit

* stcoli: match function 2 (meshcoli_grid_lookup())

Didn't fix asm/float literals though

* Small refactor fixes

* First 2 stcoli functions OK

* PhysicsBall labels

* Decompile stcoli_sub03

DOL not matching again though...

* Fix stcoli.s sdata2 alignment after stcoli.c's

* Stcoli func labels

* Format somewhat more reasonably

* Decompile stcoli_sub04

* Decompile stcoli_sub05

Small stcoli_sub05 cleanup

static.lcf

* Labelling

Labelling

Labelling

Labelling

Labelling

* Coli struct labels

* Decompile collide_ball_with_tri_verts

* Decompile collide_ball_with_tri_vert

* Small labels

* Move vec mag sq function to mathutil.h

* Decompile collide_ball_with_rect

* More labels

* Even more labels

* Decompile collide_ball_with_cylinder

Cleanup

* Correct mathutil ifdefs

* Decompile collide_ball_with_circle

* Format

* Labels

* Decompile g_collide_ball_with_sphere

* Decompile g_collide_ball_with_cone

* Little labelling

* Update static.lcf

* PhysicsBall labels

* hit -> plane

* PhysicsBall docs

* Add .clang-format

Not everything follows this but it's generally close to the observed
style

* Rename, and tidy unused stack vars

* Misc

* Remove duplicate ColiRect type

* Label check_ball_in_goal()

* Rename stagedef itemgroupo init pos/rot

* Decompile collide_ball_with_plane (woo)

This function was an extremely tough one, probably harder than all the
previous stcoli funcs combined. Lots of playing around with
combining/splitting temps that may be Vec's or individual temps.

Remove thing

* Document collide_ball_with_plane

* Reword some collide_ball_with_plane docs

* f32 -> float

* accel -> gravityAccel

* Decompile test_line_intersects_rect

* Decompile stcoli_sub15

* Clean up stcoli_sub15 a little

* RaycastHit result

* Renames

* MovableStagePart -> Itemgroup

* stcoli raycast renames

* ItemgroupInfo field labels

* Decompile raycast_stage_down()

* Clean up raycast_stage_down()

* Label bonus_wave_raycast_down()

* Fix bonus_wave_raycast_down() return type

asdf

* Decompile raycast_tri()

* Cleanup raycast_tri()

* Skip raycast_cone(), decompile raycast_sphere()

* Decompile raycast_cylinder()

* .clang-format

* Freecam stub

* 32-byte align dvd read buffers

* Working freecam

* Rename some stagedef stuff

* More stagedef renames

* Stage object labels

* Slight freecam improvements

* Remove nonmatching code

* Label GMA stuff

* Keyframe labels

* Bg model stuff

* Fix stcoli shiftability

* Bg model animation labels

* Bg anim labels again

* Stuff

* Fix wrong label

* The great itemgroup rename

* More consistent .gitignore

* Undo erroneous labels in input.c

* Fix newline

* Label tevutil function names

* GX enums

* Propagate tevutil.h include

* Remove unnecessary tevutil includes

* Tevutil function signatures

* Fix GXSetFog_cached arg order

* Format tevutil.h

* GXSetCullMode checkpoint

* Finish GXSetCullMode enum labels

* Fix enum, update .gitignore

* Itemgroup -> AnimGroup rename pt1

* animgroup -> anim_group

* Fix

* Fix aniimGroup

* Sampler label

* Avdisp checkpoint

* More avdisp label

* More avdisp

Fog

* build_tev_material checkpoint

checkpoint

checkpoint

* Restore matching

* avdisp checkpoint

* Renames

* Label some GMA shape flags

* Propagate GXSetBlendMode_cached

* Propagate GXSetTevSwapMode

* Propagate GXSetFog

* Tev material setup funcs

* Propagate GXSetTevColorIn

* Propagate GXSetTevAlphaIn

* Propagate GXSetTevColor/AlphaOp

* Propagate GXSetTevOrder

* Propagate GXLoadTexObj_cached

* Rematch

* Sampler -> TevStageDesc

* More tev-related labels

* Yes this is probably the unlit flag

* TevMaterialCache-related labels

* Rematch

* Document extra disp lists

* GMA header and flags

* Idk

* Stuff

* More stuff

* Tev post mul/add labels

* Idk

* Draw func labels

* GMA docs

* Layer funcs

* Color/alpha in

* Rematch

* Quick comment remove

* Fix couple function names

* Fix tev layer flag names

* Fix tev layer flags again

* Fix Dolphin includes

* Fix check_ball_entered_goal

* Remove unnecessary stcoli include
2022-04-17 16:02:56 -05:00
camthesaxman 3774b0f678 C versions of some mathutil functions 2022-01-31 22:42:10 -06:00
camthesaxman d7aa4205c7 decompile fminmaxdim.s 2022-01-31 21:09:33 -06:00
camthesaxman 7e7bb6d25f import remaining math sources 2022-01-31 20:57:51 -06:00
camthesaxman d420f96887 import more math library sources 2022-01-31 20:26:29 -06:00
camthesaxman 43eb2e65de import some math library source files 2022-01-31 19:55:03 -06:00
camthesaxman 18ca2bfb81 FLT_EPSILON define 2021-12-22 16:47:45 -06:00
camthesaxman f2ce6500e6 split more data and decompile ctype.s 2021-11-10 23:34:39 -06:00
camthesaxman 8d062a8604 finish decompiling memcard.s 2021-08-08 21:31:51 -05:00
camthesaxman b7311aff74 give up on func_800A4628 2021-08-08 17:32:34 -05:00
camthesaxman 551d7e71a4 partially decompile sprite.s (#5)
* start decompiling sprite.s

* fail to match func_800700D8

* dump some data

* label strings

* dump weird Japanese stuff

* decompile g_something_with_sprites

* small cleanup

* decompile more of sprite.s

* decompile more of sprite.s

* hmmm...
2021-07-29 18:52:07 -05:00
camthesaxman dfa12fb681 Decompile mathutil.s (#4)
* start decompiling mathutil.s

* some mathutil labeling

* tabs to spaces

* label more of mathutil

* decompile func_80008458

* match func_80008538 with stupid asm hacks

* more asm hacks

* decompile unkFunc80008870

* decompile more of mathutil

* decompile unkFunc80008D30

* finish decompiling mathutil.s

* func_00004A58 fake match

* label more of mathutil.c

* clean up ldscript
2021-07-25 16:48:36 -05:00