* Matching some kkj, kpa, and osr area functions
* Include effects.h in AAC830.c
* Addressed PR comments
* Separated strings in func_80240000_AAFFF0
* Addressed PR comments continuation
* Added Bytecode args in func_80240020_AB2190
* Match func_802401A0_AB6430, func_80240000_AB92B0, func_80240050_AB9300
* Match functions that call start_rumble
* Match functions from area_pra
* Addressed PR comments
* Color hex to dec func_802401A0_AB6430
* Decompile memset, strcpy, strcmp
* Rename a lot of libultra functions and files,
match int_to_string (43F0.c OK)
* Nail a few warnings
* Clean up libultra header includes somewhat
* big func
* this and that
* checkpoint
* more funcs
* enough
* formatting
Co-authored-by: HailSanta <Hail2Santa@gmail.com>
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* isk + warning patrol
* minor reorg
* effect data union
* structs sorted and dummy structs added
* effect data cleanup + some end funcs
* two more PAL_PTR*
* temp
* flower fx
* pal_inc_c
* remove tabs
* isk_05
* blur union
* more isk
* isk funcs done
* sun stuff
* delete sun_main
* sun comments
* extra stuff
* actor decorations
* isk + warning patrol
* minor reorg
* effect data union
* structs sorted and dummy structs added
* effect data cleanup + some end funcs
* two more PAL_PTR*
Co-authored-by: HailSanta <Hail2Santa@gmail.com>
* a couplez
* func & data cleaning
* sig
* move data and fix nonmatching
* Finish 17D6A0
* Don't use backticks in progress.py
* func_8025995C and clean
* 2 sprite funcs and cleanup
* 3 sprite funcs
* gather_magic_main
* 3 sprite funcs
* more sprite work and cleanup
* sprite funcs
* more clean
* UnkFloatFunc005
* warnings
* cleaning and os stuff
* 2 more funcs + warnings
* yaml work, move map data metadata to separate yml file
* apply_transform_to_children
* cleaningz
* PR comment
* baby funcs for ethy
* progress on pause_stats_draw_contents
* a5dd0 work + cleanup
* almost create_entity
* cleanup
* some funcz
* btl_show_message_popup (thanks Unnunu\!)
* more
* more cleen
* PR comments
* Some random functions
* fixed a flag, oops
* classic coverage.py blunder
* Fixed the warning + style changes
* More warning fixes
* Remove the NON_EQUIVALENT wrapper
* various removal of hardcoded pointers
* fix most warnings introduced
* fix building
* unhardcode entity pointers
* more unhardcoding of pointers
* remove 2 warnings
* monty mole AI pt 1
* monty mole AI #2
* enum values for evt priority and flags
* enemy ai flags
* done monty mole + partner enums
* removed union for partner action state
* missed parter action states + cam move flags + entity collision bit
* basic ai
* piranha plant stuff
* attack ahead
* consistent hitbox names
* idk
* organized piranha plant
* delete matches
* start fuzzy
* naming
* bzzap pt 1
* bzzap 2
* bzzap names done
* rename bzzap to flyingAI
* complete flying names
* done for today
* file reorganizing
* world AI
* starting clubba dedupe
* suggested changes
* bullet bills
* sentinel start
* dedupe sentinel complete
* sentinel AI done
* melee ai organization
* piranha plant dedupe
* resolved some bad dead syms
* patrol start
* patrol AI almost done
* enough
* more ai work
* clean up clubba ai enum
* dedupe all clubbae
* started cleft extraction
* ready to dedupe cleft
* dedupe one cleft
* iwa_04
* iwa_01
* iwa_02
* ai state file reorganization
* enemy anim enum
* extracted shy guy
* dedupe shy guy ai
* shy guy patrol ai
* done shy guy ai dedupe
* added NON_MATCHING wrap
* ai etc
* more dead ai
* most dead ai merged with living
* lakitu etc
* paratroopas
* fix warnings
* fix other warning
* ParatroopaAI
* lakituAI parameter fix
* dead_flo_13 debug strings
* misc map matches
* flying magikoopa start
* name npc field
* lungeAI renamed to tackleAI
* magikoopa ai foothold
* extrated one magikoopa
* starting clubba dedupe
* addressed PR comments
* consolidated magikoopa helper funcs
* misc map stuff
* flying magikoopa dedupe
* zipline funcs
* delete matched
* grind out another 0.05%
* started letter delivery dedupe
* more delivery dedupe
* special delivery
* rest of letter delivery
* slight delivery reorg
* delivery func names
* cleft doc start
* name enemy field
* more renamins
* unk_28.f
* changed field names to facilitate renaming
* done cleft cleanup
* hopping ai
* cleanup some ai
* name field + patrol reorg
* filled out NpcAISettings fields
* assembling ai includes
* elimated state files
* remove X32 for alertOffsetDist
* removed other NpcAISettings union
* new NpcAISettings for UnkAI_4
* stationary AI cleanup
* smalls
* 0 new warnings
Co-authored-by: HailSanta <Hail2Santa@gmail.com>
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* matched func_802DE748, thanks stuckpixel
* revert changes made while experimenting
* matched func_8024093C_8756FC
* deleted func_802DE748 assembly
* fixed some small things
* fixed access to ptrReadPosition in func_8024093C_8756FC
* removed random whitespace
* small changes
* match
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* match calc_partner_damage_enemy
* run coverage
* some var name changes
* remove typedef from enum
* fix warning
* remove casts
* saw a target flag in a comment
* Assert and script enums
Co-authored-by: ThreeMustyFears <>
* decomp appendGfx_player, fix warnings in 77480.c file
* small style fixes
* fix action state enum and make use of enum
* merge master
* decomp some mario rendering functions
* run coverage.py
* review changes
* use decimal in func arg
* 891b0 and sprite functions
* finish lakilester world file
* run coverage.py
* remove duplication declarations
* requested changes and remove some warnings from sprite.c
* ...run coverage.py
* decomp 2 funcs in throw_spiny.c
* throw_spiny_appendGfx
* match spiny throw.c and remaining kooper overworld functions
* cleanup throw_spiny.c and decomp spin.c
* combine variable declarations in spin.c
* run coverage.py
* more spin.c cleanup
* req changes
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* misc msg etc
* super blocks 1
* super blocks 2
* super block dedupe
* super blocks x
* super block isolated
* one dead super block func left
* dead maps fixed
* remove unnecessary funcs
* merged includes for pipes
* pipe data and EVT_GROUP enum
* fixed dead
* fix warnings
Co-authored-by: HailSanta <Hail2Santa@gmail.com>
Co-authored-by: Ethan Roseman <eroseman@basistech.com>
* initial name changes
* hud_element function names
* missing player data fields
* entity cleanup
* missed a few things + starting action states
* some world partner cleanup
* idle/walk/hammer + peach cooking stuff
* clean
Co-authored-by: HailSanta <Hail2Santa@gmail.com>
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* decomp appendGfx_player, fix warnings in 77480.c file
* small style fixes
* fix action state enum and make use of enum
* merge master
* decomp some mario rendering functions
* run coverage.py
* review changes
* use decimal in func arg
* 891b0 and sprite functions
* finish lakilester world file
* run coverage.py
* remove duplication declarations
* requested changes and remove some warnings from sprite.c
* ...run coverage.py
* requested changes for laki file and update functions.h
* remove redundant includes
* music_note.c, shape_spell.c, stat_change.c, tattle_window.c, recover.c data migration
* implement requested changes
* Recover.c data fixes, style changes
* The one newline lol
* f
* match 9 functions
* draw_box data
* fix warnings
* fix
* fix warnings again
* PR suggestions
* replace int literals with enum values
* two more ints replaced
* name big_smoke_puff
* 0-5
* 6 -> land
* more effect stuff
* flower effects
* name fix
* cloud_puff
* flower splash
* cloud_trail
* 2 more
* more
* a bunch more
* -2F
* more
* the rest
* cleanup and the rest
* attack_result_text
* PR stuffs
* numbaz
* Attempt to get 2.7.2 support working
* Update Jenkinsfile
* try
* fix
* fix issues
* remove KMC_ASM remnants
* NON_EQUIVALENT for the effect gfx func
* We don't need wine
* name big_smoke_puff
* 0-5
* 6 -> land
* more effect stuff
* flower effects
* name fix
* cloud_puff
* flower splash
* cloud_trail
* 2 more
* more
* a bunch more
* -2F
* more
* the rest
* cleanup and the rest
* PR stuffs
* voodoo magic
* Cleanup + match func_802180D0_464560
* work
* Finish mac battle map
* Add to gBattleAreas
* splat
* Disassembled hos and nok battle maps
* Match Kent C Function
* fix build
* Fix
* Work on disasm_script
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* renamed a few fields in game status
* created constant for MAX_GAME_TIME
* names for rumble funcs
* suggested changes
* created sound out enum
* function naming test
* actorClass consistent name
* water block effect field
* battle_status fields
Co-authored-by: Clover <cloverhax@gmail.com>
* decomp appendGfx_player, fix warnings in 77480.c file
* small style fixes
* fix action state enum and make use of enum
* merge master
* decomp some mario rendering functions
* run coverage.py
* review changes
* use decimal in func arg
* decomp some functions in 1AC760.c
* broken data migration
* data nearly migrated, rodata in laki file is null
* fix building and laki data migration
* data migration for kpa3 WIP
* add missing data
* decomp duplighost functions and duplicates
* fix some warnings
* resolve issues
* fix warnings
Co-authored-by: Brotenko <brotenko@gmail.com>
* start converting scritps to new syntax
* convert old DSL scripts to new format
* update disasm_script and disasm more DSL scripts
* .
* .
* resolve issues
* add EVT_PTR() to GotoMap calls
* decomp misc funcs
* cleanup on MakeShop and initial work on ShowShopOwnerDialog
* match ShowShopOwnerDialog
* decomp misc funcs
* cleanup on MakeShop and initial work on ShowShopOwnerDialog
* match ShowShopOwnerDialog
* resolve issues
* resolve warnings
* Update src/world/script_api/7E0E80.c
Co-authored-by: Alex Bates <hi@imalex.xyz>
Co-authored-by: Alex Bates <hi@imalex.xyz>
* setup function
* cleanup parts of calc_item_damage_enemy
* init data2c
* clean up data2c.py
* .
* rename and update script to have additional functionality
* .
* decomp watt overworld functions
* fix struct that was wrongly changed
* run coverage.py
* requested changes for watt.c and decomp a function from sbk_02
* run coverage.py
* more style changes
* decomp all functions in 92A2B0.c
* run coverage.py
* use map_var instead of hex constant, other style changes
* pull sbk_02.h changes
* ...actually merge master correctly
* decomp most functions in nok_04
* decomp most of 9EDBF0.C, fix warnings in UnkFunc41.inc.c and warnings/decomp in lakilester.c
* run coverage.py
* code review changes + few extra functions
* decomp lakilester functions and fix style in other files
* decomp more laki overworld functions
* add close match for func_802BDDD8_321928
* requested changes
* more requested style changes
* style changes
* last of review changes
* another small style fix
* ...accidentally deleted the f on a float immediate
* decomp world sushie/watt files
* run coverage.py
* small style fixes
* fix 2 warnings in watt.c
* decomp kooper world functions
* requested style changes
* couple more style changes
* decomp kooper world functions
* last style changes
* decomp more kooper world functions
* match world kooper file except 2 non_equivalent
* non matching of last world bow function
* migrate data.s file to bombette.c, also decomp various overoworld partner functions
* match more overworld partner functions
* style changes
* update variable names
* some requested changes done
* add enums and other cleanup to overworld partner files
* run coverage.py
* add a space to watt file
* remove raw pointers from partner files plus other requested changes
* remove goompa raw pointer
Co-authored-by: root <root@DESKTOP-HK751F2.localdomain>
Co-authored-by: Rainchus <Rainchus@github.com>
* work on appendGfx_message
* :OK:
* indentation
* message window states
* SetEntityCullMode & some of appendGfx_model
* 9 smalls
* 2 more
* 2 mo
* update_player_actor_shadow
* EffectInstanceData rework
* some shtuff
* effect_10 dun
* wip
* wip
* wipz
* rename
* progz
* remove wip work for appendGfx_model
* PR comments
* Alex comments
* tomorrow for sure
* eventually
* update enums and functions
* match a couple of funcs
* run coverage.py
* some initial cleanup
* missed something
* requested changes
* remove space
* more changes
* aligned enum
Co-authored-by: ThreeMustyFears <>
* Make a 224 functions show up in the elf
* fix up appendGfx_model (as an example)
* Changed all L labels to .L for local jump tables. Did not change global jump tables found in /data/ as .L is for local only
* Decompile even more misc battle map funcs (#531)
* decompile misc battle map funcs
* fix warnings
* Decompile misc battle map funcs (#528)
* .
* .
* resolve issues
* Update fx_api.c
* Update fx_api.c
* Make a 224 functions show up in the elf
* fix up appendGfx_model (as an example)
* Changed all L labels to .L for local jump tables. Did not change global jump tables found in /data/ as .L is for local only
* Fix merge issue
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
Co-authored-by: Alexander Faßbender <31699028+Brotenko@users.noreply.github.com>
* work on appendGfx_message
* :OK:
* indentation
* message window states
* PR comments
* ran formatter
* change some types
* debuggin
* undebuggin
Co-authored-by: Alex Bates <hi@imalex.xyz>
* prepare enums.h
* update enums.h
* add commits to enums.h
* resolve enum and flag issues with enums.h
* delete artifacts
* resolve issue with soundid enum
* :P
* setup first few parameterised flag enums
* add flags to npc.h related structs
* add flags to npc.h related structs
* create enums for several common structs
* .
* resolve issue with enum sizes
* resolve issue with enum sizes
* resolve issue with enum sizes
* parameterise entity and event related flags
* update enums.h
* add commits to enums.h
* resolve enum and flag issues with enums.h
* delete artifacts
* resolve issue with soundid enum
* :P
* setup first few parameterised flag enums
* add flags to npc.h related structs
* add flags to npc.h related structs
* create enums for several common structs
* .
* resolve issue with enum sizes
* resolve issue with enum sizes
* resolve issue with enum sizes
* parameterise entity and event related flags
* .
* Update 190B20.c
* Update enums.h
* Committing _heap_free match
* More renames and fixes from PR
* Ver without goto's from Josh
* Accidently left pointers in
* More variable fixes based on calls to _heap_*
* Remove unneeded comments, fix function variable name in header
* Missing a space
* Revert to while loop
* Sneaking in an additional comment about heap_malloc_tail for clarity
* Missed whitespace
* Reduced some comments
* Matched _heap_malloc and _heap_malloc_tail
* Move heap_malloc away from using s32 returns
* Remove unmatched files
* Missed a line
* Requested changes
* Add more changes from hidden convos
* Working through entries :)
* Remove extra parens left over from match work
* Removed macro per Ethan's request
* Fix a space
* decomp watt overworld functions
* fix struct that was wrongly changed
* run coverage.py
* requested changes for watt.c and decomp a function from sbk_02
* run coverage.py
* more style changes
* decomp all functions in 92A2B0.c
* run coverage.py
* use map_var instead of hex constant, other style changes
* pull sbk_02.h changes
* ...actually merge master correctly
* decomp most functions in nok_04
* decomp most of 9EDBF0.C, fix warnings in UnkFunc41.inc.c and warnings/decomp in lakilester.c
* run coverage.py
* code review changes + few extra functions
* decomp lakilester functions and fix style in other files
* decomp more laki overworld functions
* add close match for func_802BDDD8_321928
* requested changes
* more requested style changes
* style changes
* last of review changes
* another small style fix
* ...accidentally deleted the f on a float immediate
* add information about dead maps
* link the names of dead maps to their alive counterparts
* decompile several battle maps related functions
* add information about dead maps
* link the names of dead maps to their alive counterparts
* decompile several battle maps related functions
* .
* resolve issues
* .
* rename of chainchomp related structs and functions
* add information about dead maps
* link the names of dead maps to their alive counterparts
* Update EB1170.c
* remove redundant function declaration
* resolve issues
* what is dead may never die
* resolve issues
* fixing dead_gPartnerActionStatus2
* .
* resolve issues
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* Start Spring Work
Progress.
* More WIP
* Still WIP
Spring isn't ready for this yet.
* Decompile some sprite functions
Making progress.
* Partner stuff
More progress.
* PR fixes
* PR fixes
For commenting.
* decomp watt overworld functions
* fix struct that was wrongly changed
* run coverage.py
* requested changes for watt.c and decomp a function from sbk_02
* run coverage.py
* more style changes
* decomp all functions in 92A2B0.c
* run coverage.py
* use map_var instead of hex constant, other style changes
* cleanup
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* parent d2721ed191
author eperdew <eperdew17@gmail.com> 1632807291 -0700
committer eperdew <eperdew17@gmail.com> 1633221439 -0700
Decompile mega_shock.c.
* Move common stuff to top of variable declaration blocks.
* Address @ethteck's review comments on func_802A92A0_42DCB0.
Also remove an unnecessary shift during a comparison.
* WIP pause_sort_item_list
* Decomp pause_draw_rect and pause_sort_item_list
The match on pause_sort_item_list is very sketchy, there's probably a much simpler way to write the function that I can't find
* Review for 135EE0
* Define gMoveTable
* pause_get_total_equipped_bp_cost
* pause_badges_draw_bp_orbs
* pause_badges_cleanup
* pause_badges_init
* pause_badges_try_remove
* pause_badges_handle_input
* pause_badges_try_equip
* WIP on pause_badges_load_badges, almost perfect match
* Full match on pause_badges_load_badges
* Review changes for pause badges
* A few more pause badge review changes, missing some spaces around add/subtract operators
* More small pause badges fixes
* Pause badges review: remove enum typedefs, add names for ranges in ItemID
* Decompile area_arn/4550D0.c and area_dig/6DE1F0.c.
* Remove covered assembly files for battle/area_arn and battle/area_dig.
* Decompile func_80218808_5B1CB8.
* Address @ethteck's feedback on PR#446, sans the switch on actorType.
* Deduplicate UnkFunc52, and add a switch-based matching decomp.
* Turn ACTOR_TYPE_XXX defines into an ActorType macro.
* Remove erroneously added src/world/common/spiked_goomba.c.
* Decomp a lot of DF950.c
* Rename Sound to SoundInstance
* Rename struct_8014F5A4 to AlternatingSoundSet, and rename the fields.
* Make sure the soundID parameters are typed as SoundID, style changes
* Remove unnecesary empty line
* Decompile E225B0.c.
* Decompile EB5130.c.
* Fix an off-by-one error that did not affect codegen.
The struct declared in EB5130.c was missing a byte in a char array
for no good reason.
* Address ethteck's feedback for PR#434.
- Move struct8015A578 to common_structs.h.
- Add new unknown sound SOUND_UNKNOWN_17B.
- Address various nits.
* Update PR based on @nanaian's feedback.
- Change first argument of mem_clear to be a void* (matching bzero).
* Update common_structs.h
This ones are actually flags used by Power Rush and Mega Rush, I dunno if they're used for something else tho.
But if you enter in Danger State (2-5HP) and you have equipped Power Rush dangerFlags will be 0x02 not 0x01.
* BattleStatus(0x172-0x177)
Added missing notes from BattleStatus(0x172) & (0x174)
* Update common_structs.h
0x174 declaration is fixed, and now uses currentTurnEnemy instead of currentTurnActor
* BattleStatus (0x436) added (common_structs.h)
This is defined every time an actor is created with ~Func:create_actor (802653A4, 193C84), at ~Func:create_actor(0x908)
It retrieves the ID two lines before by using function 80047608 and will get the next available index.
* hudElementDataIndex fixed, and I renamed some status functions
HudElementDataIndex now uses the proper name and it has the name change on all files.
Also I changed the names for the following functions to:
remove_status_1 > remove_status_debuff
remove_status_2 > remove_status_static
remove_status_3 > remove_status_transparent
remove_status_4 seems to still be a mystery, maybe is for a unused status?
* Update common_structs.h
This ones are actually flags used by Power Rush and Mega Rush, I dunno if they're used for something else tho.
But if you enter in Danger State (2-5HP) and you have equipped Power Rush dangerFlags will be 0x02 not 0x01.
* BattleStatus(0x172-0x177)
Added missing notes from BattleStatus(0x172) & (0x174)
* Update common_structs.h
0x174 declaration is fixed, and now uses currentTurnEnemy instead of currentTurnActor
* update common_structs and enums
* match tweester and munchlesia
* update undefined_syms
* same function in different partners
* run coverage
* some changes
* other spaces
* attempt at deduplicating
* Revert "attempt at deduplicating"
This reverts commit 6393e85703.
Co-authored-by: ThreeMustyFears <>
* remove some warnings, improve build speed on master
* update Camera
* update_camera_zone_interp not matching but close :/
* cleanup
* configure fix
* cleanup, better gbi macros
* decomp and syms
* a couple more
* 2 more and stuff
* more naming
* 3
* syms
* mdl_get_child_count
* more stuff
* get_model_list_index_from_tree_index
* 5 more
* header org
* update_entity_shadow_position
* fog color funcs
* more color stuff
* display lists
* create_shadow_from_data
* 4 evt shtuffsh
* func_80117D00
* func_80111790
* some BSS
* entity_raycast_down
* MakeEntity and almost step_entity_commandList
* step_current_game_mode
* filemenu stuff
* lots more filemenu stuff
* cleanup
* formatting
* fixes
* 1 more
* more fixes
This ones are actually flags used by Power Rush and Mega Rush, I dunno if they're used for something else tho.
But if you enter in Danger State (2-5HP) and you have equipped Power Rush dangerFlags will be 0x02 not 0x01.
* update common_structs.h
* match super boots
* run coverage.py
* missed a couple things
* Update functions.h
* removing a warning
* requested changes
Co-authored-by: ThreeMustyFears <>
* 17D6A0.c decomp
* cleanup
* fix func_8024F84C return type
* BattlePopups renamed to battlePopups
* Rename BattlePopup to PopupMessage and move it to common_structs.h
* Remove unnecessary extern
* Move local declarations inside for loops
* rename every function that is part of evt_funcs.h to have the evtt_ prefix.
* remove old .s files
* fix symbol_addrs error
* add evt_ 'prefix' to the dead functions in dead-h
* match ultra boots
* update PlayerStatus struct
* add func
* update func prototype
* missed something
* coverage.py
* unnessary return
* requested changes
I changed gSpinHistoryPosY, and gSpinHistoryPosAngle to arrays based off of the declarations in 7E9D0.c
Co-authored-by: ThreeMustyFears <>
* Decomp jump and most of tidal wave action commands
* More action commands
* stop_leech.c fully decomped.
* flee.c decomped
* cleanup and function name convention fixes
* slight cleanup
* Move ActionCommand enum to enums.h, style changes
* Changed some numbers to decimal
* That one missing newline
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* match some walk funcs
* fix D_800F7B40 type
* update functions.h
* update splat.yaml
* remove walk.data.s
* run coverage.py
* remove line at top
* changed brace
* requested changes
Co-authored-by: ThreeMustyFears <>
* Match all funcs
* Update common_structs.h
func_802B6000_E24040 was attempting to assign an f32 to a char[], so I updated these
* Added a couple of flags
* Some requested changes
I couldn't figure out how to get Kelebek1's suggestions for the suggest_player_anim_clearUnkFlag to work, but I managed to do it for sfx_play_sound_at_player
* Update enums.h
Removed unnecessary flag that I previously added
* Update functions.h
* Update 7bb60_len_41b0.c
There were some conflicting declarations so I changed them
* Delete ver/us/asm/nonmatchings/world/action/jump directory
* Update jump.c
* compile
* improve match
* improve
* ~check_block_input
* match LoadActionCommand
* cleanup
* match SetupMashMeter
* check_block_input much closer
* name action_cmd segments
* make better for great good
* improve again
* revert removing blah
* close
* improve
* match func_80268224
* match func_80268284 wrappers
* improvements
* work on func_80268938
* maide changes to check_block_input
* check_block_input :OK: - thanks Maide!
Co-authored-by: Ethan Roseman <ethteck@gmail.com>