Commit Graph

330 Commits

Author SHA1 Message Date
camthesaxman a31662ddbb start decompiling window.s 2022-04-18 20:59:26 -05:00
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
ComplexPlane 0bff44d57f Tevutil labels (#19)
* 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
2022-04-13 17:44:54 -05:00
ComplexPlane 293cf08276 32-byte align dvd read buffers (#17) 2022-03-28 17:50:30 -05:00
ComplexPlane bbf22f4308 gen_compile_commands.py fixes (#14)
* 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
2022-02-22 17:56:28 -06:00
camthesaxman 6344ec9294 progress script now compatible with devkitPPC r40 2022-02-21 18:28:24 -06:00
ComplexPlane 74e69e9c7e Separately compilable headers (#13)
* 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

* Remove stcoli changes from this PR

* Fix EOF newlines
2022-02-21 18:23:59 -06:00
camthesaxman 1bde3a0a8c screen space -> view space 2022-02-11 21:00:40 -06:00
camthesaxman d03752ddaf decompile bg_storm.s 2022-02-10 23:23:19 -06:00
camthesaxman a6b48335e4 cleanup 2022-02-09 22:38:44 -06:00
camthesaxman 49828b8db6 decompile bg_bonus.s 2022-02-09 21:45:29 -06:00
camthesaxman ed9c151501 cleanup 2022-02-09 08:08:18 -06:00
camthesaxman 4c5ea3b9fc decompile bg_old_bonus.s 2022-02-08 19:27:59 -06:00
camthesaxman 2ac1b972cb decompile bg_old_sand.s 2022-02-08 18:27:50 -06:00
camthesaxman a57c3b1cf3 decompile bg_old_space.s 2022-02-08 17:43:12 -06:00
camthesaxman c9e552a092 decompile bg_jungle.s 2022-02-08 17:14:19 -06:00
camthesaxman bab0cbab62 decompile world.s 2022-02-08 16:24:04 -06:00
camthesaxman 875ac8eb75 decompile bg_old_cave.s and bg_old_sunset.s 2022-02-07 22:10:15 -06:00
camthesaxman 7a8d636a99 decompile bg_sunset.s 2022-02-07 21:58:08 -06:00
camthesaxman 86568b1ec8 split background files 2022-02-07 20:42:50 -06:00
camthesaxman 6590dc3c10 properly split course.s 2022-02-07 19:13:56 -06:00
camthesaxman 1c58c128fd decompile game.s (#12)
* start decompiling game.s

* decompile more of game.s

* decompile more of game.s

* decompile more of game.s

* decompile more of game.s

* decompile submode_game_result_main_func

* finish decompiling game.s

* game.c cleanup
2022-02-07 19:01:58 -06:00
camthesaxman 1f1281033d decompile OSAlloc.s and OSArena.s 2022-02-04 21:08:36 -06:00
camthesaxman 609262e639 stage x-macro 2022-02-02 22:45:55 -06:00
camthesaxman dbb0f7c477 decompile dsp_task.s 2022-02-02 22:16:08 -06:00