1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-04 16:55:56 +00:00
Commit graph

539 commits

Author SHA1 Message Date
Ethan Roseman
08c4065a5e
Decompiled ovl_Bg_Haka_MeganeBG (#448) 2020-10-12 20:44:22 -04:00
Sirius902
5c631e3170
ovl_En_Horse_Normal (#403)
* merge upstream

* Merge upstream

* Match EnHorseNormal_Init

* Work on EnHorseNormal_Draw (probably finish depending functions first)

* func_80A6CC88

* Work on EnHorseNormal_Draw

* Clang format

* Properly use OPEN_DISPS

* Stop using thisx lol

* Use the funny angle number

* Use &D_04049AD0 because it's not a display list?

* Stop using fun macros to fix stack

* EnHorseNormal_Draw

* EnHorseNormal_Destroy

* EnHorseNormal_Update

* Use disp macros EnHorseNormal_Draw

* Correctly type D_04049AD0

* func_80A6C570

* Name some draw stuff

* Fix names

* Make if condition more readable

* func_80A6B30C and fix incorrect  pointer types

* Function prototypes

* func_80A6B250

* Add header comment

* Move skin function to functions.h

* Change to stable

* Cleanup a little

* Match some more

* Work on func_80A6BE6C (won't compile yet)

* Work on func_80A6BE6C again

* Progress

* func_80A6CAFC

* Match all but one :)

* Work on func_80A6BE6C

* Work more on func_80A6BE6C

* Multiply floating point by integer lol

* Reorder assignment to almost match

* func_80A6BE6C

* Fix warning and remove unnecessary forward declarations

* Data section

* Cleanup data a bit

* More cleanup and clang format

* Clang format is a little confused

* More cleanup

* Formatting

* Revert formatting on z_bg_spot01_objects2.c

* Name unk_14C

* Add clone comment

* Name clonePos

* Name and cleanup

* Name some animation related stuff

* Remove unnecessary assignment

* Name cloneRotY

* Use ARRAY_COUNT for sAnimations

* Add more to unknown struct layout

* Use u8 for last struct member

* Use s32 for length

* Add padding disclaimer

* Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Various suggestions

* Replace 10430.378f

* Remove padding because alignment

* Move function array out of function

* Remove struct name being present twice unecessarily

* Oops forgot the s

* Don't separate static vars from others

* Some cleanup

* Use ARRAY_COUNT(sJntSphItemsInit)

* Minor cleanup

* Rename enum members

* Oops forgot to rename enum

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2020-10-12 18:45:16 -04:00
Tharo
fff616d2be
Decompile z_kanfont (#443)
* Decompile z_kanfont.c

* Cleanups

* off -> offset

* Kanfont -> Font , Keep so-far unused Font fields as padding, Remove MessageData sub-struct
2020-10-12 17:42:17 -04:00
fig02
ed719f3da0
Make Gamestates use thisx for entry point functions (#437)
* fix colliderinit typo

* fix initchain

* reloc

* thisx

* sample

* review

* forgot sample main
2020-10-11 21:52:50 -04:00
Random
b010db7c19
Decompile z_sram.c (#431)
* Decompile z_sram.c

* rename Sram_CalcChecksum to Sram_WriteSaveSlot

* progress

* done i think

* add original name comments

* temp substructs

* minor fixes

* review

* review 2

* fix

Co-authored-by: fig <fig02srl@gmail.com>
2020-10-11 13:45:08 -04:00
Random
174af7384d
libultra cleanup (#215)
* cleanup libultra

* fixes

- use quotes instead of <> for includes
- add macros for zelda specific thread priorities
- fix Makefile
- properly format the remaining pfs structs

* fix button macros + add CHECK_BTN_ANY/CHECK_BTN_ALL

* remove ULTRA_ABS

* fix includes

* update z_player.c/z_lib.c + run format.sh

* merge upstream/master

* fix include in En_Goroiwa

* fix includes
2020-10-03 11:22:44 -04:00
maekclena
6136ee6deb
ovl_En_Part (#383)
* ovl_En_Part

* PR review

* PR review

* Rebase

* PR review

* Oversight

* Rebase

* PR review
2020-10-01 18:51:05 -04:00
fig02
82968a7381
All Effect Overlays and z_effect_soft_sprite_old_init.c OK (#396)
* fix colliderinit typo

* dead sound done

* deadsound documentation

* blast done

* progress

* spk init

* progress

* spark done

* ss bomb ok

* bomb done

* cleanup

* progress

* progress

* almost done with bomb2

* clean up gossip stone

* more

* cleanup and format

* remove unused asm file

* nonmatching reloc

* done i think

* mistakes

* fix headers

* idk how that got in here

* EffectSsStick OK

* progress

* fix conflicting name

* progress

* splash OK

* uname fields

* progress

* lightning OK

* remove unwanted files

* kirakira ok

* kirakira done

* magma OK

* remove files

* ss_g_fire OK

* name funcs

* progress

* progress

* magma2 and kakera OK

* eff_ss_dead_dd OK

* fcircle OK

* stone1 OK

* sibuki2 OK

* dt_bubble OK

* deaddb OK

* sibuki OK

* dead_ds OK

* ice_smoke OK

* hitmark OK

* hahen OK

* k_fire OK

* en_fire OK

* starting colors

* color changes 1

* color switch done

* init file data migrated

* data cleanup

* ice_piece OK

* en_ice OK

* progress

* progress

* docs progress

* fix blast color names

* documentation pass 1

* progress

* cleanup pass 2

* touchups

* added to functions.h

* small changes

* fix functions.h

* renaming progress

* name progress

* color enum

* more cleanups

* enice changes

* final cleanups

* remove unwanted file

* lightning -> shock

* pr suggestions

* fix comment

* remove unwanted comments
2020-09-29 20:18:46 -04:00
Roman971
2a9225763b
Decompile En_Mag (#406)
* Decompile En_Mag

* Document En_Mag

* Address some review comments
2020-09-27 10:14:25 -04:00
zelda2774
055d1d2bae
audio_heap: 1 non-matching (#381)
* Audio_AllocDmaMemory

* Audio_AllocDmaMemoryZeroed

* func_800DE238

* Audio_SessionPoolsInit

* func_800DE2B0

* func_800DE258

* Audio_DiscardSequence

* Audio_DiscardBank

* func_800DE12C

* Audio_ResetLoadStatus

* func_800DDE3C

* func_800DDE20

* Audio_InitMainPools

* Audio_SoundAllocPoolInit

* Audio_PersistentPoolClear

* Audio_TemporaryPoolClear

* func_800DE4A0

* Audio_PersistentPoolsInit

* Audio_TemporaryPoolsInit

* Formatting

* Audio_SeqAndBankPoolInit

* Audio_Alloc

* Audio_AllocZeroed

* func_800DE4B0

* func_800DF0CC

* func_800DF074

* func_800DF1D8

* func_800DF688

* func_800DF5DC, func_800DF630

* func_800DF7BC

* func_800DF7C4

* func_800DF888

* Fix AudioBufferParameters

* Audio_ResetStep

* Struct work

* oops

* structsss

* wip on func_800DFBF8

* func_800E04E8

* func_800E0540

* func_800E0964

* func_800E1148

* func_800DF5AC

* func_800E0E6C

* func_800E0E90

* func_800E0BF8

* func_800E0634

* func_800E05C4

* func_800E0CBC

* func_800E0C80

* naming

* func_800E0BB4

* func_800E0AD8

* func_800E0E0C

* func_800E0EB4

* func_800E06CC

* Audio_AllocBankOrSeq

* Use true/false macros

* fixup

* Format

* comments

* review

* unk instrument -> sfx

* Reword comment

* Change AVOID_UB to a comment

Co-authored-by: zelda2774 <zelda2774@invalid>
2020-09-20 13:22:09 -04:00
Roman971
14191307e9
Decompile Player (#387)
* Setup player decomp

* Decompile z_player.c and z_player_lib.c

* Decompile remaining z_player.c functions

* Various player improvements

* Player progress (some non matchings and .data migrated)

* Player progress (reposition data and fix some non matchings)

* Cleanup, improve and document parts of z_player_lib.c/z_player.c

* Fix player renames in z_en_st.c

* Fix missing open/close disps in z_player.c

* Minor player fixes

* Address player comments
2020-09-18 21:45:39 -04:00
Roman971
b29c268f37
Use dummies to match bss ordering and some functions in z_collision_check.c (#393) 2020-09-15 18:41:38 -04:00
Random
bfef7f8d9d
Decompile PreRender.c (#319)
* Decompile PreRender.c

* use NON_EQUIVALENT and run format.sh

* Get rid of some magic values

* rename dList/dListp to dListHead/dList

* make func_800C213C NON_MATCHING

* replace more values with SCREEN_WIDTH/SCREEN_HEIGHT

* dList/dListHead with gfxp/gfx
2020-09-15 15:10:19 -04:00
Lucas Shaw
eba7a30d86
Matched fault.c (#389)
* Matched fault.c

* Removed unused asm
2020-09-14 13:57:17 -04:00
krimtonz
4d9f83da1b
Decompiles ovl_En_St (#349)
* decompile and match En_St

* document ovl_En_St

* Implement OPEN_DISPS, and remove useless comments

* styling updates, inline some declarations

* PR suggestions as well as changing the BlureInit colors to u8 arrays over RGBA types

* remove pointer from EnSt_SetupAction
2020-09-14 12:17:34 -04:00
fig02
bb1aacbd0b
z_lights.c OK (#343)
* rename some structs

* changes

* rename stuff and start a func

* progress

* progress

* progress

* remove unwanted file

* progress

* match last few funcs

* done, i think

* small changes

* match Lights_Draw (thanks krim)

* comments

* cleanup

* most pr suggestions

* name changes

* rename
2020-09-05 09:45:10 -04:00
maekclena
d44dd61cd6
ovl_Effect_Ss_Extra (#339)
* ovl_Effect_Ss_Extra

* EffectSsExtra_Spawn

* Typo

* PR review

* PR review
2020-09-04 17:22:12 -04:00
Tharo
18775320f8
Match more z_fbdemo functions (#370)
* Match some and improve nonmatchings

* Remove pads in TransitionFade_Update, no effect towards matching

* Remove pragma comments, ran formatter

* Remove unused asm
2020-09-03 14:13:57 -04:00
zelda2774
c033b4b28e
audio_seqplayer, the easy half (#369)
* func_800E9340

* Audio_SequenceChannelDisable

* Audio_SeqChannelLayerFree

* Audio_SeqChannelLayerDisable

* Rename functions

* Audio_SeqChannelSetLayer

* Move gSequenceChannelNone into gAudioContext

* Audio_SequenceChannelInit

* Name functions

* Audio_M64ReadU8

* Audio_M64ReadS16

* Audio_M64ReadCompressedU16

* Audio_AudioListPopBack

* Audio_AudioListPushBack

* Audio_InitLayerFreelist

* Audio_SequencePlayerDisableAsFinished

* incomplete Audio_SequencePlayerDisable

* Audio_SequenceChannelEnable

* Audio_SequencePlayerDisableChannels

* Audio_SequencePlayerInitChannels

* struct fixes

* func_800E9ED8

* Name more functions

* Audio_SequenceChannelSetVolume

* Audio_SetInstrument

* Audio_GetInstrument

* confirm structs

* Audio_ResetSequencePlayer

* Audio_InitSequencePlayer

* Audio_InitSequencePlayers

* func_800EC734

* Find the right Audio_SoundAlloc

* Prune functions.h

* Move global vars into gAudioContext

* func_800EAEF4

* Audio_SeqChannelLayerProcessScript

* Audio_HandleScriptFlowControl

* func_800E9F64

* func_800EA0C0

* func_800EA440

* func_800EAAE0

* unbreak audio_effects

* Audio_ProcessSequence

* Audio_ProcessSequences

* Some audio_heap struct work and function naming

* Audio_SequencePlayerDisable

* ? instead of ! in z64audio.h

* Revert makefile change

* Formatting, player -> seqPlayerIndex

* Index -> Idx

Co-authored-by: zelda2774 <zelda2774@invalid>
2020-09-01 17:23:30 -04:00
Roman971
b8da64ee01
Improve PHYSICAL/VIRTUAL macros and match Interface_LoadActionLabel (#371) 2020-08-31 21:06:44 -04:00
Roman971
b4ac94a8fd
Match/Improve more non matching functions (#366)
* Match/Improve more non matchings

* Remove SET_NEXT_GAMESTATE from preserved macros
2020-08-30 12:51:46 -04:00
Roman971
2a2fdf7f3e
Introduce OPEN_DISPS/CLOSE_DISPS macros (#360) 2020-08-29 19:00:17 -04:00
fig02
1f1b5e39f5
attchaedA/attachedB renamed to parent/child (#358)
* fix colliderinit typo

* rename parent/child

* cleanup

* forgot to change something in functions.h

* SpawnAsChild

* format
2020-08-29 18:25:16 -04:00
Roman971
49609dd78b
Match/Improve a bunch of non matchings (#342) 2020-08-23 17:50:30 -04:00
fullgrowngaming
b406e041b3
z_en_weather_tag decomp (#329)
* Initial commit of weather_tag actor decomp

* Formatted source files and updated spec.

* Fixed references to the environment context variable that I changed.

* Deleted the last of the asm (forgot the stuff in the data folder)

* Made all requested changes to z_en_weather_tag

* Forgot to change basereg

* Removed unnecessary field in weather tag struct

* Update src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* That field in the header was totally necessary, not sure what I was thinking, sorry for all the commits

* Renamed what I thought was struct padding to more accurately represent the fact that that field is an unused variable.

* Update src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.h

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
2020-08-20 21:28:41 -04:00
Kelebek1
c25b87923e
Attack_Niw (#272)
* Attack!

* Decimal indexes

* a

* PR

* PR

* PR

* Why break it
2020-08-19 22:17:42 -04:00
Roman971
3a22219d5d
Match Lights_Free (#333)
* Match Lights_Free

* Remove bug comment
2020-08-19 18:15:02 -04:00
krimtonz
4ad461c797
Match Overlay_Relocate (#330)
* Finally match Overlay_DoRelocation

* remove asm, rename Overlay_DoRelocation to Overlay_Relocate

* formatter

* comment updates

* comment update
2020-08-19 16:02:10 -04:00
krimtonz
f11a74d41d
Math3D and olib updates (#315)
* wip

* Olib updates

* wip

* wip

* rename most Math3D functions, few matches, documentation

* wip

* document most of math3d

* pr updates

* pr updates

* add missing comment block finalizer
2020-08-17 15:42:08 -04:00
Roman971
2826421c98
Match the last 2 functions in graph.c (#328)
* Match the last 2 functions in graph.c

* Minor graph improvements
2020-08-16 17:59:55 -04:00
zelda2774
d68f9893fd
audio_playback, audio_effects OK (#313)
* audio_playback.c

* format.sh

* rename functions

* Audio_SequenceChannelProcessSound

* Audio_SequencePlayerProcessSound

* Audio_GetPortamentoFreqScale

* Audio_GetVibratoPitchChange

* Audio_GetVibratoFreqScale

* Audio_NoteVibratoInit, Audio_NoteVibratoUpdate

* Audio_NotePortamentoInit

* Audio_AdsrInit

* Audio_AdsrUpdate

* Common bitfield formatting

* format.sh

* review

Co-authored-by: zelda2774 <zelda2774@invalid>
2020-08-15 14:06:26 -04:00
Roman971
ac8796cbc9
Fix _DW with permuter and GeometryMode macros (#323) 2020-08-15 14:04:27 -04:00
Kelebek1
337aaf2937
Match Interface_Update (#322)
* Match Interface_Update

* z_actor.c func_8002C124
2020-08-15 14:03:03 -04:00
Random
d8d789d2a5
Match a few functions (#324)
* match a few functions

* run formath.sh

* minor fixes
2020-08-15 13:23:29 -04:00
AdamKiddle
54f762b419
z_skin_matrix.c decompiled (1 non matching, 1 non equivalent) (#243)
* func_800A7BE4 and func_800A7C20 done

- func_800A7BE4 copy of "Math_Vec3f_ToVec3s" in z_lib.c
- func_800A7C20 copy of "Math_Vec3s_ToVec3f" in z_lib.c

* done func_800A7A24

* func_800A76A4 done

* func_800A6E10 done

* func_800A6EF4 done

* func_800A6FA0 done

* func_800A72FC done

* Deleted z_skin_matrix.data.s and updated spec

* func_800A730C done

* func_800A735C done

* func_800A7E70 done, func_800A7C60 matching but I'm not happy with it (weird types in function params)

* Corrections. func_800A7C60 in skin_matrix done, Matrix_MtxFToMtx in sys_matrix done.

* func_800A7EC0 nonmatching

* func_800A8030 nonmatching but VERY close (two registers swapped)

* func_800A8030 done

* updating comments

* func_800A7704 done

* func_800A7894 done

* halfway through deciphering mips_to_c for func_800A73E0

* func_800A73E0 functional but non-matching (saved register differences and probably regalloc)

* Renaming some arguments and rewriting comments

* Renamed files across whole project and deleted asm nonmatchings

* ran format.sh

* fixed function name

* fixing multiplcation order in SkinMatrix_MtxFMtxFMult

* Corrections in SkinMatrix_MtxFMtxFMult

* Formatting changes after review

* Changes as per code review

* fixing rename error

* fixing rename error

* rename fixes

* fixing function rename error

* ran ./format.sh

* last couple of changes as per code review

* renamed SetScaling -> SetScale

* Skin_Matrix_Invert -> SkinMatrix_Invert

* Renaming and fixing debug message print

* Renamed argument "mf" to more specific "clear" in SkinMatrix_GetClear

* renamed again to "mfp"

* snake case to camel case changes
2020-08-08 11:23:16 -04:00
louist103
449b2247fd
Math Sizes (#297)
* Math Sizes

Added sizes to most variable types

* Removed sizes and fixed pads

Removed sizes from base types and cleaned up pads

* PR fixes
2020-07-30 21:50:18 +02:00
Lucas Shaw
c3421dda0c
ovl_Item_Etcetera OK (#281)
* started item_etcetera

* ovl_Item_Etcetera OK

* z_item_etcetera cleanup

* fixed

* removed padding

* z_item_etcetera updates

* made suggested changes

* change member in enum
2020-07-29 00:17:26 -04:00
fig02
19c990b852
Bomb Related Effect Overlays (#283)
* fix colliderinit typo

* dead sound done

* deadsound documentation

* blast done

* progress

* spk init

* progress

* spark done

* ss bomb ok

* bomb done

* cleanup

* progress

* progress

* almost done with bomb2

* clean up gossip stone

* more

* cleanup and format

* remove unused asm file

* nonmatching reloc

* done i think

* mistakes

* fix headers

* idk how that got in here

* match bomb2

* asm file

* pr review
2020-07-28 15:49:00 -04:00
Kelebek1
00836ddebc
EnBx (#266)
* EnBx

* Memes

* PR

* PR
2020-07-20 02:49:42 -04:00
Tharo
741c140aef
Split remaining unsplit asm files and migrate more rodata (#277)
* Split files

* Format rodata

* Some more code rodata migrated

* Some more actor rodata migrated

* Migrate rodata for ovl_Boss_Ganon

* Migrate rodata for code_800EC960

* Remove unused rodata

* x1b occurences all lowercase b
2020-07-19 21:08:50 -04:00
Roman971
3d36fe510f
Add COMPARE and NON_MATCHING build options (#275)
* Add COMPARE and NON_MATCHING build options

* Add a -m/--make option to first_diff.py

* Minor comment update
2020-07-19 15:42:05 -04:00
fig02
5f7bce6e2e
Bg_Heavy_Block and Eff_Ss_Dust (#258)
* heavy_rock progress

* heavy block progress, 2 functions left

* progress

* progress

* heavy_block OK

* comments

* heavy block done

* eff ss dust ok

* naming

* done i think

* comment

* clean up dust usages

* remove docs

* remove reloc

* move enum and rename flag

* effect enum
2020-07-19 09:54:24 -04:00
jacobly0
e29442f1a9
Decomp and matching in fault.c and game.c (#265)
* Match Fault_WaitForInputImpl.

* Decomp Fault_AddAddrConvClient, similar issues as Fault_AddClient.

* Decomp Fault_WaitForButtonCombo, regalloc issues.

* Rename func_800D59F8 to Fault_WalkStack.

* Decomp Fault_DrawStackTrace.

* Decomp Fault_WalkStack.

* Decomp Fault_LogStackTrace.

* Match Fault_ThreadEntry.

* Improve Fault_DrawMemDump matching.

* Improve code consistency in fault.c.

* Match GameState_Update.

* Match GameState_Realloc.

* Match GameState_DrawInputDisplay.

* Trivial cleanup of sBtnChars.
2020-07-18 05:55:35 -04:00
fig02
24ab14f748
Change Colors To Decimal (#260)
* fix colliderinit typo

* convert as many colors i can find to decimal

* fix GPACK_RGBA5551, merge fhgFire

* fix remaining colors

* remove unwanted file

* alpha as 1
2020-07-16 21:37:53 -04:00
Léo Peltier
bc14f6d93e
Decompile ovl_En_Fhg_Fire (#248)
* Decomp EnFhgFire_Init and EnFhgFire_SetActorFunc

* Decomp EnFhgFire_Destroy

* Decomp func_80A0F6F8

* Run format

* Decomp func_80A0FA90

* Decomp func_80A0FC48

* Decomp func_80A0FD8C

* Decomp EffectSsFhgFlash_Spawn

ex func_80029CF0

* Decomp EffectSsFhgFlash_Spawn2

ex func_80029D5C

* Decomp EnFhgFire_Update

* Decomp EnFhgFire_Draw, not matching

* Decomp func_80A10F18

* Move InitVars

* PR fixes

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
2020-07-16 06:02:27 -04:00
Roman971
106f7a3f6a
Match and improve some non matchings (#254) 2020-07-15 11:23:57 -04:00
Lucas Shaw
b251f3f7e3
fix func_8008EF30 (#250) 2020-07-12 19:12:18 -04:00
Sirius902
8c72e1dea6
Decompiled ovl_Shot_Sun (#236)
* match ShotSun_Init

* match ShotSun_Destroy

* match func_80BADDCC

* break up unk_19C to add spawnTimer

* ShotSun_Update

* func_80BADE74

* work on func_80BAE05C

* make func_80BAE05C closer

* use proper macros for osSyncPrintf

* format if statement better and add temp player pointer func_80BAE05C

* Reorder spawnPos to match stack args later

* match func_80BAE05C

* almost match func_80BADF0C

* Remove temporary and add parenthesis

* change part of comment and move last unk_1A4 assignment to be similar to decompiler

* Change do while(false) to if (1)

* func_80BADF0C

* change comment

* update spec

* fix vt macro

* cleanup and name

* remove asm

* remove data

* remove extern

Co-authored-by: Random <28494085+Random06457@users.noreply.github.com>

* remove & for function pointers

* rename and retype D_02007020

* format

* remove tiny whitespace

* reorder if statement

* finish renaming

* replace cast with bitwise operation

* move globally used functions to functions.h

* reorder description

* move headers for EnItem00 and EnAObj to z64actor.h

* retype Item_DropCollectible and Item_DropCollectible2 to return EnItem00*

* rename ShotSun_StartFairyCountdown to ShotSun_TriggerFairy

* rename ShotSun_FairyCountdown to ShotSun_SpawnFairy

* add unk_E3EC field to MessageContext

* rename to ShotSun_UpdateHyliaSun for now

* remove != 0 on flag check

* remove unsigned suffix and use enum constant for Item_DropCollectible call

* add unk_95C field to Player

* add ub comment

* retype unk_1A4 and remove explicit struct padding

* Update src/overlays/actors/ovl_Shot_Sun/z_shot_sun.c

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

Co-authored-by: Random <28494085+Random06457@users.noreply.github.com>
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
2020-07-12 19:03:38 -04:00
fig02
c589285826
Clean up SkelAnime_GetFrameCount usage (#245)
* fix colliderinit typo

* clean up SkelAnime_GetFrameCount usage

* line breaks
2020-07-11 22:39:34 -04:00
fig02
8b6e86649d
En_Heishi1 and Eff_Ss_Solder_Srch_Ball OK (#234)
* progress

* init ok and merge master

* enheishi1 and srchball OK

* cleanup

* cleanup

* cleanup

* more cleanup

* done

* more comments

* add file headers

* some review comments

* move vectors

* more review comments

* angle in decimal

* add prototype

* semicolon would be good

* fix

* make unset actor ids 0

* reword comment

* no &
2020-07-09 15:12:03 -04:00
Random
b4a7ac9d71
Decompile shrink_window.c (#232) 2020-07-08 21:54:39 -04:00
Lucas Shaw
7e195a3562
Matched most remaining libultra files (#221)
* osPfsIsPlug.c and osContSetCh.c OK

* update

* __osPfsGetStatus.c OK

* removed unused asm

* Updated all libultra controller files to use new structs instead of the temporary structs. Added os_pfs.h

* controller updates

* fixed header guard

* Made suggested changes

* guLookAt.c OK

* commit

* __osPfsSelectBank.c OK

* osPfsDeleteFile.c OK

* pfsreadwritefile.c OK

* osPfsFreeBlocks.c OK

* cleaned up ospfsfreeblocks

* started pfsinitpak.c

* pfsallocatefile.c OK

* contpfs.c decompiled with 1 non matching

* osPfsFindFile.c OK

* pfsinitpak.c decompiled. one non-matching

* Actually fixed merge conflict

* sins.c OK

* cosf.c sinf.c and sins.c OK

* moved osAfterPreNMI to its own file. Renamed code_801031F0 to contquery.c

* pfschecker.c OK

* final update and rename

* Removed makefile testing thing that i accidentally added

* Made suggested changes
2020-07-06 20:15:01 -04:00
Ethan Roseman
e6ca2dfd70
Fixed one non-matching in z_actor (#240) 2020-07-05 17:51:48 +02:00
Roman971
61544b873d
Various SFX fixes (#237)
* Various SFX fixes

* Fix sfx references in z_en_zl2.c
2020-07-04 23:30:21 -04:00
Ethan Roseman
a5aee3d691
Decompiled ovl_En_Zl2 (2 nonmatchings) (#223)
* Almost dun

* 3 more, progress...

* 2 more

* Fixing field rename

* improvement

* 1 more

* progress

* more

* work

* Preparing for PR

* Comments

* tidbits

* more tidbits

* fixes

* PR comments

* Nonmatching reloc

* PR suggestions

* PR suggestions
2020-07-04 14:34:51 +02:00
Roman971
4a64c556b0
Fix and improve some non matchings (#229) 2020-06-30 14:44:07 -04:00
Roman971
b55fc9a4e0
Replace unnecessary Vtx_t uses by Vtx (#228) 2020-06-28 18:28:12 -04:00
krimtonz
a316f8d88d
match func_80034B54 (#227)
* match func_80034B54

* remove asm
2020-06-25 10:03:40 -04:00
fig02
d77dbe0465
Rename culling related variables (#225)
* rename some things

* reword one comment

* rename vars

* fix bgjyalift
2020-06-24 21:20:31 -04:00
Random
ab1ec89f22
Decompile jpegdecoder.c, padsetup.c and code_800C3C20.c (#217)
* Decompile jpegdecoder.c, padsetup.c and code_800C3C20.c

* change func_800C3C20's prototype and rename some fields in jpeg related structs

* Fix comment in Jpeg_GetU16 and change func_800C3C20

* use a switch in padsetup.c
2020-06-21 18:43:14 -04:00
fig02
67d13fe190
Arms_Hook OK (#210)
* Arms_Hook OK

* cleanup

* decr

* remove redundant include

* missed some things

* rename things

Co-authored-by: dark-samus <mathmcclintic@gmail.com>
2020-06-17 15:44:22 -04:00
Random
4940621679
Decompile pausemgr.c (#211)
* Decompile pausemgr.c

* rename pausemgr to z_kaleido_setup

* replace 0x4b with SCENE_BOWLING

* fix conflict
2020-06-17 15:23:42 -04:00
Lucas Shaw
b86edcf92c
Matched some controller files (#178)
* osPfsIsPlug.c and osContSetCh.c OK

* update

* __osPfsGetStatus.c OK

* removed unused asm

* Updated all libultra controller files to use new structs instead of the temporary structs. Added os_pfs.h

* controller updates

* fixed header guard

* Made suggested changes
2020-06-17 07:16:30 -04:00
fig02
1c98ac27eb
Actor struct cleanup (#208)
* cleanup a few things

* fix mistake

* yawTowardsLink

* run format

* pr suggestion
2020-06-14 00:09:51 -04:00
Roman971
06fc61c83d
Fix various non matching issues and introduce #ifdef NON_EQUIVALENT instead of #if 0 (#207) 2020-06-13 23:29:59 -04:00
fig02
031d946db7
z_select decompiled, 1 non matching left (#202)
* First pass z_select

* lots of progress. 2 non matchings and data stuff needed

* match Select_LoadGame

* z_select almost ok, 1 func left

* remove comments

* remove comments and add description

* remove unused flg_set asm

* set_next_gamestate macro

* pr suggestions 1

* pr suggestions 2

* map -> scene

* pr suggestions 3

Co-authored-by: Kelebek1 <eeeedddccc@hotmail.co.uk>
2020-06-13 22:59:58 -04:00
Random
a76356090b
Decompile flg_set.c (#200)
* Decompile flg_set.c

* Use a for loop and rename func_8002AAB0

* move the flag set array inside the function
2020-06-09 18:14:18 -04:00
Random
8afab54c23
Decompile mempak.c (#191) 2020-06-07 19:38:33 -04:00
Roman971
c10bcdc3c4
Fix and match func_800BFCB8 (#196) 2020-06-07 10:08:06 -04:00
cmon-meow
80ca848cfb
Actor* player.unk_684 (#193)
* Actor* player.unk_684

* delete 8008EEAC.s

* Update include/z64actor.h

Co-authored-by: Random <28494085+Random06457@users.noreply.github.com>

Co-authored-by: Random <28494085+Random06457@users.noreply.github.com>
2020-06-07 09:47:11 -04:00
Roman971
68f5d212a7
Fix remaining rom/ram pointers (#190) 2020-06-05 17:09:43 -04:00
Random
94d810193a
ucode_disas.c progress (#188)
* ucode_disas.c progress

* fix

* minor fixes

* minor comment changes
2020-06-05 13:18:39 -04:00
Robin Allen
e67c51b155
Give names to KaleidoScope_Update & KaleidoScope_Draw (#185) 2020-06-04 17:54:50 -04:00
krimtonz
d6fc300ed2
rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c (#181)
* rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c

* pr updates
2020-06-04 01:59:17 -04:00
Robin Allen
69e30364b9
Convert z_map_data to C (#183)
* Convert z_map_data to C

* Style

Co-authored-by: Random <28494085+Random06457@users.noreply.github.com>

* Cleanup

Co-authored-by: Random <28494085+Random06457@users.noreply.github.com>

* Convert the whole file

* Cleanup

* Cleanup

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* floorNames → floorID

* Style

* Format & fix switch array padding

* Remove trailing zeroes

* Cleanup

Co-authored-by: Random <28494085+Random06457@users.noreply.github.com>
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
2020-06-03 16:52:10 -04:00
krimtonz
77137f5a04
Decompile z_camera data, and some camera WIP (#173)
* 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
2020-06-01 17:54:47 -04:00
fig02
78d0883f04
Actor Cleanups (#177)
* rename init chains, colchkinfo, colider inits, damage tables

* actor cleanups

* fix collider init script names

* small fixes

* ichain arg name

* change dynapoly types and names

* revert enru1 data name

* and the type

* pr suggestions
2020-05-31 05:55:48 -04:00
Ethan Roseman
13a94482e5
Decompiled ovl_En_Zl1 (#169)
* Some progress

* progs

* More

* 1 more

* Init

* Slightly better score on one function

* 1 down!

* some progress

* Prep for PR

* PR suggestions

* OK!

* Formatting

* formatting again

* PR comments

* updating ZAP2
2020-05-30 09:33:29 -04:00
fig02
ac97807762
En_Kz OK (#176)
* start kz

* remove irrelevant file

* kz progress

* en_kz progress

* match kz switch

* progress

* kz OK

* kz OK

* sync

* kz done

* delete asm files

* pr suggestions 1
2020-05-29 17:20:00 -04:00
Tharo
db987db9f8
Decompile flg_set data (#172)
* Decompile data for flg_set

* Ran formatter

* Remove data/ files
2020-05-27 12:46:59 -04:00
Kenix3
c350eaeda5
Scene Header Command 0x0B is now OK (#147)
* Scene Header Command 0x0B is now OK

* Delete func_8009899C.s

* Updates assert check on func_8009899C

Per Roman's suggestion of placing the __assert outside of the if (1)

* Updates func_8009899C to have array access rather than pointer math

* Removes deprecated comment in func_8009899C
2020-05-27 10:10:03 -04:00
Roman971
235b0b8e0b
Fix more raw pointers (rsp and part of .data) (#170)
Known files left with pointers in .data after this (possibly the only ones since I checked roughly everything):
- flg_set.c
- z_camera.c
- db_camera.c
- code_800D7CD0.c (ucode_disas.c)
- audio (not sure which ones, see the structure sheet)
2020-05-27 09:06:37 -04:00
Lucas Shaw
02fc5287cc
code_80106550 / llcvt.c and code_80104450 / ortho.c OK (#163)
* llcvt.c OK, added script from mm decomp to set mips3

* ortho.c OK

* added entries to functions.h

* named guNormalize.s
2020-05-27 03:48:07 -04:00
Nicholas Estelami
88946f303b
Decompiled 101 of the 110 scenes. (#153)
* Auto stash before rebase of "upstream/master"

* A large number of scenes have been decompiled.

* Fixed makefile

* Decompiled around 40 scenes.

* Removed old file

Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com>
2020-05-26 12:53:53 -04:00
fig02
442b15c79f
en_sb OK (#159)
* en_sb OK

* en_sb done

* remove asm

* remove diff.txt

* pr changes

* pr changes 2

* merge master and add description
2020-05-26 11:57:54 -04:00
krimtonz
d48792870c
Decompiles sched.c (#145)
* decompile sched.c

* rename Game_AllocEnd to Game_Alloc in z_effect_soft_sprite.c

* pr updates
2020-05-26 11:39:27 -04:00
Roman971
1bb3e006cd
Move last 3 functions in z_message_PAL.c to a separate file (#158)
There is padding in 1.0 here, and rodata is also 16 bytes aligned at this point.
2020-05-26 10:32:18 -04:00
Roman971
2c5ad24c3f
Migrate z_common_data.c's .bss to C (#157) 2020-05-26 08:50:51 -04:00
Random
3d050f2861
Decompile a bunch of small files (#160)
* Decompile a bunch of small files

* Rename dacrate to dacRate

* Run format.sh

* Minor fixes in PR #160
2020-05-25 23:18:14 +02:00
Random
89b0977e39
Decompile code_8008E6A0.c / Add CHECK_PAD macro (#156)
* Decompile code_8008E6A0.c

* Delete "counter" file
2020-05-22 08:33:10 -04:00
krimtonz
9a478a96ec
Decompiles Overlay_DoRelocation (#149)
* decompile Overlay_DoRelocation

* add non-matching comments
2020-05-20 08:53:42 -04:00
Tharo
43dfaa7518
Create Macros for Cutscene Data (#63)
* Added additional (potentially unused) fields to macros, now builds OK

* Ran formatter, attempted better macro formatting

* Formatted unknown fields as hex, further cleanups

* Rename and prefix macros, use command base macros, format cutscenes with indents

* Move command macros into a new file and include it globally

* Generate cutscene command macros for Bg_Toki_Swd, Cleanups

* Rename CS_TEXTBOX commands to CS_TEXT, fix typo ic command_macros_base.h

* Introduce CS_CMD_CONTINUE and CS_CMD_STOP

* Remove apparently redundant arguments in certain commands, include the values in the macros directly

* Re-add cutscene terminator destination enum values to example cutscene data

* Format what should be floats as hex, Change actorAnim to actorAction

* Allow floating-point representation of values in cutscene data (asm-processor hack)

* Include cutscene commands only where necessary, documentation fixes

* Rename actor actions to npc actions, separate player action from npc actions

* Remove PlayerActionIDs for now as relevant information on it is not yet decompiled

* Generate cutscene data for en_ru1, remove apparent redundancies in CS_LIGHTING and CS_PLAY/STOP/FADE_BGM commands, relax static requirement in asm-processor CutsceneData float conversion
2020-05-20 07:37:28 -04:00
Tharo
5df0e9b6f8
Decompile some more of z_player_lib (#137)
* Progress on z_player_lib, Named fields in Player struct

* More functions decompiled

* Matched another function

* A few more functions

* Ran formatter

* Rename some variables and add comments where appropriate, change types of unknowns

* Create PlayerActionFunc type

* Fix uncaught syntax error and issues from effects merge

* Rename invincible to invincibilityTimer, refactor long comments in Player struct

* Properly rename all occurences of invincibilityTimer
2020-05-19 20:15:48 -04:00
krimtonz
b8b334f90a
Decompiles fcurve_skelanime, code_8006C510, and actor MagicWind (#135)
* decompile z_fcurve_skelanime and code_8006C510

* format

* Decomp Magic_Wind

* PR Updates

* add space between ActorFunc and MagicWindFunc

* missing pr updates
2020-05-19 16:27:25 -04:00
Roman971
c599318a17
Improve and fix some non matchings (#148) 2020-05-19 15:55:49 -04:00
Roman971
e29b77919b
Decompile most effect files in "code" (#144)
- `z_effect`: Matched and essentially all documented.
- `z_eff_spark.c`: Decompiled (1 non matching left) and mostly documented.
- `z_eff_shield_particle.c`: Matched and mostly documented.
- `z_eff_blure.c`: Decompiled (5 non matchings left) and partially documented.
- `z_effect_soft_sprite.c`: Matched and mostly documented.
- `z_eff_ss_dead.c`: Matched but not documented.
- `z_effect_soft_sprite_dlftbls.c`: "Matched" (only data, contains the effect ss overlay table).
- `z_effect_soft_sprite_old_init.c`: Not decompiled, but functions are categorized by effect ss overlay. And they should be decompiled at the same time as their corresponding effect ss in the future.

Other changes:
- Added a lot of types/enums to `z64effect.h`and moved+renamed some structs from `z64.h` to this header
- Added effect ss overlay segments to `segment_symbols.h` and effect ss init vars to `initvars.h`
- Added a macro called `VTX_T` to generate a `Vtx_t` in the same style as `VTX`
- Fixed `flg_set.c` .bss to be in the right file
- Removed `tools/overlayhelpers/batchdisasm` since it's no longer relevant
- Removed unused leftover asm from recent PRs
2020-05-18 14:24:00 -04:00
Tharo
63985a0011
Rename variables in code_800FD970 (#142)
* Decompile code_800FD970

* Comment cleanups, ensure formatter won't cause a matching issue later

* Make code_800FD970 variables static and rename

* Delete data and bss asm files
2020-05-15 18:53:58 -04:00
Tharo
47e25298a0
Decompile code_800FD970 (#141)
* Decompile code_800FD970

* Comment cleanups, ensure formatter won't cause a matching issue later
2020-05-15 13:58:14 -04:00
Random
1a51ad5944
Decompile z_vr_box_draw.c (#138)
* Decompile z_vr_box_draw.c

* Rename vrbox to skybox

* run format.sh
2020-05-15 05:14:07 -04:00
Random
d556999b2b
Decompile remaining z_vis... files (#131)
* Decompile z_vismono.c / code_800AD920.c

- z_vismono.c: OK
- code_800AD920.c: OK

* Minor fixes in PR #131
2020-05-15 05:02:39 -04:00
krimtonz
44ffb7ec62
Decomp game.c (#129)
* decomp most of game.c

* improve GameState_DrawInputDisplay matching

* fix merge conflicts

* pr suggestions

* remove builtin math functions
2020-05-14 19:11:33 -04:00
Synray
efa9742984
Match Audio_NoteSetVelPanReverb (#132) 2020-05-14 15:25:54 -04:00
Random
08d9fee6e4
Decompile speed_meter.c and add VIEWPORT_INIT macro (#127)
* Decompile speed_meter.c and add VIEWPORT_INIT macro

- speed_meter.c: OK
- Add VIEWPORT_INIT(viewport, by, rx, ty, lx) macro

* get rid of some magic numbers

* use early return instead of a big if block in SpeedMeter_DrawTimeEntries
2020-05-12 23:05:55 -04:00
Tharo
74a654ecae
Decompile audioMgr (#124)
* Decompile most of AudioMgr

* Decompile most of audioMgr

* Decompile audioMgr

* Remove commented out rodata from spec

* Small cleanup

* Last function OK, renamed functions and removed asm

* Remove sched.h and audiomgr.h and include contents in z64.h

* Un-comment prototypes in functions.h

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* Remove prototypes from audioMgr.c

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
2020-05-10 20:04:41 -04:00
Lucas Shaw
8e7ca2d497
35/37 Functions Decompiled in ovl_En_Heishi2 (#117)
* started

* did more work

* did some more

* Update

* Merged master

* EnHeishi2_Update OK

* func_80A549E8 OK

* func_80A54954 OK

* EnHeishi2_Draw OK

* Removed unused asm

* func_80A543A0 OK

* func_80A53638 OK. Fixed type of func_8008F08C

* done for rn, will work on it later

* func_80A53850 OK

* func_80A53F30 OK

* func_80A53D0C OK

* Made cylinderInit in En_Ma3 static

* Made suggested changes. Removed return from functions by adding else

* Made suggested changes. Removed a.out file that accidentally got added

* Made suggested changes

* moved #include <vt.h> from header to c file

* fixed formatting

* added line break

* Made suggested changes

* ran format

* Fixed unk_2F2
2020-05-10 19:44:04 -04:00
Random
40836f5d82
Decompile z_oceff_wipe (#122)
* Decompile z_oceff_wipe

- z_oceff_wipe: OK
- z_oceff_wipe2: OK
- z_oceff_wipe3: OK
- z_oceff_wipe4: OK
- Add patched libmalloc to ido 7 to prevent segfaults
- Add CUR_CAM macro

* Rename CUR_CAM to ACTIVE_CAM

* Fixes in PR #122
2020-05-09 16:58:02 -04:00
krimtonz
0ebe904d0c
En_Floormas OK (#97)
* EnFloorMas wip

* floormaster formatting

* floormaster wip

* ovl_En_Floormas OK

* pr recommendations

* pr updates
2020-05-07 19:18:09 -04:00
Roman971
5acc4e2f66
Fix some jump table labels being treated as separate functions (#120) 2020-05-06 14:56:35 -04:00
Roman971
1425678d8a
More actor cleanup Part 3 (#118)
* Add custom types for actor specific functions (like actions)

* Add a forward struct declaration for all other actors
2020-05-05 18:53:15 -04:00
Roman971
f114df8929
More actor cleanup Part 2 (#116)
* Change all main actor functions to take a 'Actor* thisx' argument

* Change all actor callbacks to also take a 'Actor* thisx' argument
2020-05-04 15:02:51 -04:00
Roman971
e4846409f9
Fix non matchings in En_Item00 and En_A_Obj (the 2 "code" actors) (#112) 2020-05-03 17:04:11 -04:00
Roman971
3ca6082084
More actor cleanup Part 1 (#107)
* Fix naming and structs in z_en_item00.c and z_en_a_keep.c

* Decompile init vars in z_en_item00.c and z_en_a_keep.c

* Create missing .h files for the last few actors

* Fix some collider member names in actor structs

* Fix old actors not properly using "actionFunc" / "SetupAction"

* Remove some local temporary actor structs

* Fix some actor header includes to be absolute instead of relative
2020-05-01 14:26:16 -04:00
Lucas Shaw
1be400f5c4
Fixed misspelling of circle in z_fbdemo_circle.c (#105) 2020-05-01 13:15:10 -04:00
Roman971
9f98210488
Decompile z_map_exp.c (2 non matchings left) (#104)
Also documented the map data table (not decompiled yet however), and added a DungeonItem enum to use with gSaveContext.dungeonItems reads/writes.
2020-05-01 11:09:20 -04:00
Roman971
4932e93ba2
Decompile 2 small files (code_8006BA00.c and code_8006C3A0.c) (#101)
* Decompile code_8006C3A0.c (handling "env" flags)

* Decompile code_8006BA00.c (handling sound sources)
2020-04-30 22:00:39 -04:00
krimtonz
5525365f7f
Decompiles most FBDemo and transition functions (#92)
* Decompile fbdemo (transition) files

* run format.sh

* reformat vtx array, fill in a couple unk

* match TransitionTriforce_IsDone

* add VTX macro, add DW_ wrapping around triangle macros

* use new VTX macro, name graphic assets

* Naming updates

* pr updates

* naming updates

* remove symbols for COLOR_BUFFER, D_08000000, and D_09000000
2020-04-30 14:41:09 -04:00
krimtonz
16b304d548
Split remaining z_camera files (#98)
* split func_800473A0.s

* split func_80051B3C.s

* split func_80054478

* split func_8004B5A0, match a few functions

* rename Matrix_TranslateThenRotateZYX to Matrix_RotateRPYf (#96)

* rename Matrix_TranslateThenRotateZYX to Matrix_RotateRPYf

* rename Matrix_RotateRPYf to Matrix_JointPosition

* rename Matrix_RotateZYX to Matrix_RotateRPY

* extract camera floats, and jump tables

* decompile baby functions

priv_wip

wip

* rename struct_80045714 to VecSph
2020-04-30 10:49:11 -04:00
krimtonz
58e38276c6
rename Matrix_TranslateThenRotateZYX to Matrix_RotateRPYf (#96)
* rename Matrix_TranslateThenRotateZYX to Matrix_RotateRPYf

* rename Matrix_RotateRPYf to Matrix_JointPosition

* rename Matrix_RotateZYX to Matrix_RotateRPY
2020-04-28 00:14:27 -04:00
Dragorn421
e126e37084
func_800418D0 and func_800417A0 in z_bgcheck.c, matching (#79)
* func_800418D0 and func_800417A0 in z_bgcheck.c, matching

* func_800417A0 cleanup

* More func_800418D0 cleanup

Co-authored-by: fig02 <fig02srl@gmail.com>
2020-04-26 21:12:27 -04:00
Synray
ff25b89b13
Finish code_8007BF90 (#95)
* Finish code_8007BF90

* Review changes

Co-Authored-By: Roman971 <32455037+Roman971@users.noreply.github.com>

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
2020-04-25 22:55:19 -04:00
mzxrules
aa91a7ee32
z_collision_check.c (#73)
* func_8005B280 ok

* func_8005B65C OK

* split out func_8005BD50

* func_8005B7C0 OK

* func_8005B7F4 OK

* func_8005B824 OK

* func_8005B860 ok

* improve sanity

* func_8005B6B0 ok, ColliderInit_Actor structs added

* func_8005B884 ok

* func_8005BBF8 ok, split out func_8005BF50

* split more stuff out of func_8005C050.s

* func_8005C050 OK

* func_8005BA30 fakish OK, func_8005BAD8 real OK

* func_8005BB48 OK, func_8005BA84 almost decomp'd, but type issues

* func_8005BB10 Ok

* func_8005BF50 OK

* func_8005BE50 OK

* func_8005BD50 OK

* func_8005BCC8 Ok

* func_8005BC28

* func_8005BB8C func_8005BBB0 func_8005BBD4 Ok

* save my work commit

* func_8005C2BC fake OK

* func_8005C5B0 ok

* func_8005C608 ok

* func_8005C6C0 ok

* func_8005C6F8 ok

* func_8005C730 ok

* func_8005C774 func_8005C798 func_8005C7BC OK

* func_8005C7E0 ok, func_8005C810 split

* func_8005C810 OK

* func_8005C8C8 ok

* func_8005C964 OK

* func_8005CA88 ok

* func_8005CBAC ok

* func_8005C124 func_8005C1AC func_8005C234 func_8005CC98 OK

* func_8005CD34 func_8005CDD0 Ok

* func_8005CE6C ok

* func_8005CEC4 ok

* func_8005CEDC ok

* func_8005CF90 Ok

* standardize type names/vars more

* func_8005D3BC ok

* func_8005D40C OK, z64.h CollisionCheckContext

* func_8005D4B4 func_8005D4C8 ok

* partial data section migration

* improve function documentation, OT->OC

* Actor_CollisionCheck_SetOC ok

* Actor_CollisionCheck_SetAT Actor_CollisionCheck_SetAC Ok

* func_8005BA84 ok

* func_800611A0 ok

* func_80061274 ok

* clean up func_80061274

* func_8006139C ok

* func_8005E9C0 and dependencies OK

* minor cleanup to func_8005E9C0

* func_8005EC6C OK!

* func_8005E81C ok

* func_8005E604 ok

* func_8005E2EC func_8005E4F8 OK

* func_8005DE9C OK func_8005D8AC disassembled

* func_8006146C func_8006268C ok

* func_8005EEE0 ok

* func_8005F17C

* func_8005F39C ok

* func_8005F5B0 decompiled, not matching

* func_8005F7D0 decomp, func_8005D218 and func_8005D324 OK

* func_8005FA30 ok, split more functions

* func_8005FC04 ok

* func_8005FDCC k

* func_8005FF90 OK OK OK

* func_80060204 dead

* func_800604B0 ok

* func_80060704 func_80060994 ok, func_80060C2C somewhat disassembled. AT to AC matrix doneish

* func_800635D0 ok, func_80062ECC not so much

* OcLine oks

* D_8011DF28 functions disassembled

* D_8011DF5C functions OK

* setAT_SAC. setAC_SAC, setOC_SAC OK

* func_80061C98 decompiled, func_80061BF4, func_80061C18 OK

* func_800617D4 ok, func_800614A4 disassembled

* CollisionCheck_OC D_8011DFAC functions OK

* func_80062530 ok

* CollisionCheck_generalLineOcCheck subfunctions OK

* func_800622E4 ok

* after a long fought battle, func_80061F64 has fallen.

* func_800628A4 disassembled

* func_800627A0 func_8006285C OK

* ActorCollider_Cylinder_Update, func_80062718, func_80062734 ok

* func_80062CD4 decompiled, import EffShield/EffSpark types from MM

* various SubActor98 struct functions OK

* func_8005D4DC func_8005D62C ok

* .data section migrated, more OKs, fix NON_MATCHINGs to use effect structs

* func_80060C2C ok

* minor code tweaks

* func_80061C98 ok somehow

* Attempt to fix some unknowns, move types out of z64actor, add set3 ColliderInit types

* Apply changes

* formatting

* tweak a couple function names

* krim changes, func naming

* missed some things

* function renames

* Implement GenColliderInit.py utility

* Implement pr changes, GenColliderInit.py, DamageTable.py, z_collision_btltbls.c fully matching

* func_800614A4 ok

* Implement Roman's fixes, name Collider unknowns, rename COLTYPE -> COLSHAPE and define new COLTYPE

* collisionCheckCtx -> colChkCtx, fix small things
2020-04-25 22:43:35 -04:00
Synray
4d3d264624
Decompile code_801067F0, 80106860, 801068B0 (#89)
* Decompile code_801067F0, 80106860, 801068B0

* clang format

* Remove unnecessary casts
2020-04-23 10:59:25 +02:00
Lucas Shaw
3c440ef7f1
Finished code_801031F0.c, guPosition.c, guLookAtHilite.c (#84)
* started microcode decomp

* Modified spec to fix error

* osContGetQuery OK

* Decompiled guLookAtHilite.c

* guPosition.c OK

* Fixed formatting

* osViSetEvent.c OK

* Deleted unnecessary files

* Made suggested changes, merged playblack.c

* Removed line breaks from comments

* Removed argument listing
2020-04-22 13:20:49 -04:00
JoshDuMan
06b731c494
Match sys_math.c and one in z_scene_table.c (#90)
* Match func_800CA63C

* Remove func_800CA63C.s

* Match func_8009BEEC?

* Remove func_8009BEEC.s
2020-04-22 12:18:53 -04:00
JoshDuMan
e050319e07
Decompile playback.c (#82)
* Decompile playback.c

* Remove rename_sym.sh

* Fixed for loop in pop_node_...

* Address krim's other issues

* Remove rename_sym again

* Address Roman's comments.

* Fix build and remove rename_sym another time.
2020-04-21 04:19:33 -04:00
Roman971
aecf375b84
Fix all RAM pointers in overlays (#81) 2020-04-19 11:57:38 -04:00
krimtonz
ee48867446
Math Files (#76)
* math3d wip

* math3d wip

* wip

* wip

* wip

* wip

* final update before pr

* run format.sh

* fix merge conflicts

* tharo suggestions update

* fig formatting suggestion

* math3d pr updates

* use sFactorialTbl in sys_math
2020-04-18 23:28:24 -04:00
Synray
eefbe9afe1
Decompile code_800D2E30 and use struct in code_800A9F30 (#80)
* Match func_800AA000

* Match z_camera/func_800437F0

* Decompile code_800D2E30, use struct in 800A9F30

* Format

* Remove 'U' from literals

* Remove bss, cleanup z_camera

* Review changes, rename temp

* Move externs to variables.h
2020-04-18 22:56:53 -04:00
Lucas Shaw
21750d5aee
Naming some functions in libultra_code, decompiling a decent amount. (#77)
* osgetactivequeue ok

* osspdevicebusy ok

* osGetCurrFaultedThread ok

* osSpRawStartDma OK

* __osSpSetPc and osViGetCurrentFramebuffer OK

* sinf, sins, and sptask OK

* coss OK

* cosf OK

* ran format.sh

* Updated PR to use ultratypes

* osContStartQuery OK

* ran format.sh

* Updated PR to fix issues

* Made suggested changes
2020-04-18 21:40:27 -04:00
krimtonz
4961eb0a90
SkelAnime Updates (#78)
* update naming, minor updates

* rename postLimbUpdate to postLimbDraw

* recently decompiled actor naming update
2020-04-18 14:08:12 -04:00
Ethan Roseman
cb5a604ea7
Decompiled ovl_En_Ru1 (#72)
* Decompiled ovl_En_Ru1

* Formatting

* Actor/TransitionDrawTable struct fixes

* addressing PR comments

* addressing PR comments (2)
2020-04-18 04:50:41 -04:00
Roman971
262f6c507c
Decompile z_play.c and Match/Document some of z_view.c (#74)
* Decompile z_play.c and Match/Document some of z_view.c

Also fix the last non matching in z_sample.c and update some game state functions.

* Suggestions from PR #74

* Fix undefined reference to Gameplay_DrawOverlay

* Suggestion from PR #74 (2)

* Fix a fake argument in func_800BC450
2020-04-16 17:36:12 -04:00
Random
9ac1f8130d
Decompile jpegutils.c (#75)
* Decompile jpegutils.c

jpegutils.c : OK

* Fix a typo

* Fixes in PR #75

- Fix a type in JpegWork
- Remove clang-format off/on in z_quake.c
- Move the jpegutils rule at the end of makefile
2020-04-16 14:08:23 -04:00
Lucas Shaw
045a92d7c3
Big actor cleanup (fixed) (#69)
* Started doing cleanup

* did more work

* did more migration

* migrated more rodata and worked on some structs

* did more work

* Removal of ROOM field from initvars, some rodata migration, some string decompilation

* General update

* Decompiled vt strings

* Tool work

* Tool improvements

* 270 overlay rodata files remaining

* better float handling

* floats

* Many more floats

* migrated boss_mo

* assorted fixes

* Migrated 10

* tool improvements

* migrated 10

* 10 more

* 1 more

* did a few more

* fixes

* 10 more

* more floats

* Did some more, updated migrate-rodata.py to 'modify' the C file after processing in order to make to compiler process it as if it was changed.

* removed changes made to script by accident

* migrated largest rodata - ovl_fishing

* Did some more

* 114 remaining

* 99 left !

* almost done migrating rodata

* did some more, done for tonight

* almost done, tried add support to the script for z_player

* All possible rodata migrated in actor overlays

* update

* removed static from all overlays, ran format.sh

* Removed unknown actor structs

* converted a few floats

* Added new lines to header files that were missing them. Removed unused asm files

* Removed unused asm files

* Formatting newlines

Further formatting

spacing

.float spacing

More space formatting

More spacing formatting

Removing .balign 4 after floats

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2020-04-14 14:16:34 -04:00
silv3rwing07
5aef81071e
padmgr and related (#71)
* In process of moving changes over from old repo

* Merged in changes

* Finished import of padmgr changes from old repo

* Adjusted some volatile

* Improving padmgr volatile situation

* Almost matched osReadMempak

* Working on osMempakDataCRC

* Explanations and equivalents but no matches for osMempakAddrCRC and osMempakDataCRC

* OK after merge

* Matched osMempakAddrCRC and osMempakDataCRC

* Matched osReadMempak

* Updated PadMgr function names to be less like original code

* Changed variable names to make them further from original code

* Changed names and it stopped matching

* Undid clang-format steamrollering whitespace memes

* Cleaned up Input names

* More formatting changes

* Moved padmgr to z64.h, deleted padmgr.h
2020-04-14 13:17:25 -04:00
Random
298abfb128
Decompile z_jpeg.c (#70)
* Decompile z_jpeg.c

- Decompile z_jpeg.c
- Move .bss variables from fault.c and fault_drawer.c into .s files to avoid bss reordering

* Rename JPEGWork to JpegWork and minor fix in Jpeg_GetU16
2020-04-13 19:03:10 -04:00
Random
6975b35591 remove useless parentheses 2020-04-08 20:24:46 +02:00
Random
0c0c15018f Run format.sh 2020-04-08 18:45:50 +02:00
Random
d0cf6e153b Decompile sleep.c and printutils.c
- Decompile sleep.c (OK)
- Decompile printutils.c (OK)
- Fix 1 non-matching in z_room.c
- Get rid of some magic numbers
2020-04-08 18:36:15 +02:00
dark-samus
5c5fa61d4e fix 3 non-matchings in z_demo.c 2020-04-06 18:38:31 -04:00
glank
6b04aba0ea Tidy up known render and combine modes 2020-04-05 23:40:06 +02:00
Thar0
6f36c5a048 Fix recently decompiled graph.c functions, Rename gfxArr to dispRefs 2020-04-05 19:05:12 +01:00
fig02
d975d809b8
Merge pull request #51 from Thar0/z_view
Decompile z_view.c
2020-04-05 13:54:17 -04:00
Random
43acba22a9 Fixes in PR #50 (3)
- Rename Graph_OpenDisp/Graph_CloseDisp to Graph_OpenDisps/Graph_CloseDisps
- Rename gfxArr to dispRefs
2020-04-05 19:29:30 +02:00
Tharo
fd38a9f2b7
Use correct VT macro
Co-Authored-By: Roman971 <32455037+Roman971@users.noreply.github.com>
2020-04-05 16:06:55 +01:00
Random
02eaaa2039 Fixes in PR #50
- Rename "sGraph_UpdateTime" to "sGraphUpdateTime"
- Rename "Graph_Ct"/"Graph_Dt" to "Graph_Init"/"Graph_Destroy"
- Change the LOG_STRING macro
- Rename "LOG_VALUE" to "LOG_NUM"
- Fix brace style
- Rename "UcodeInfo"/"UcodeDisas" to "UCodeInfo"/"UCodeDisas"
- Fix field names in "UCodeDisas"
- Fix typo in "GraphicsContext"
- Change the size of unknown fields in "GraphicsContext" to hex
- Rename "game_init_func" to "gameStateInitFunc"
2020-04-05 12:32:08 +02:00
Thar0
00542fef56 More small cleanups, Improve legibility of func_800AAA9C by removing several unnecessary casts 2020-04-05 03:08:01 +01:00
Thar0
668d35b77f Cleanups, Use VT macros 2020-04-05 02:50:46 +01:00
Thar0
b452adfecb Remove pragma comments, convert line number args to decimal 2020-04-04 23:39:53 +01:00
Random
168d90b6b0 Add log macros
- Add log macros required to match `Graph_GetNextGameState`
2020-04-04 19:28:53 +02:00
Thar0
9b6cf8a92a Merge https://github.com/zeldaret/oot into z_view 2020-04-04 18:20:45 +01:00
Thar0
5dea0fd785 Decompile most of z_view 2020-04-04 18:17:56 +01:00
Random
fed29c029c Run format.sh 2020-04-04 18:38:05 +02:00
Random
f818fb5299 Decompile graph.c
- decompile `graph.c` (2 non-matchings left)
- decompile `z_game_dlftbls.c`
- add noop macros in `gbi.h`
2020-04-04 18:12:59 +02:00
KrimtonZ
3ab1af0c24 pr updates 2020-04-02 12:44:19 -05:00
KrimtonZ
25dcb73520 Merge branch 'master' into skelanimeupdates 2020-03-31 20:59:51 -05:00
KrimtonZ
32bda67e0f Name a few unknown parameters 2020-03-31 20:53:53 -05:00
KrimtonZ
f069777b19 name more skelanime struct members, match all but 1 function, name more functions, some documentation 2020-03-31 20:19:21 -05:00
KrimtonZ
75f570f4ac skelanime wip 2020-03-31 18:29:09 -05:00
Roman971
e99b2af35a Merge branch 'master' into z_rcp 2020-03-31 10:02:59 +02:00
KrimtonZ
8f54c82a96 rename SkelAnime_ChangeAnimation functions 2020-03-30 22:37:01 -05:00
KrimtonZ
8c993d9676 Merge branch 'master' into skelanimeupdates 2020-03-30 22:22:54 -05:00
KrimtonZ
6d6299cb0b use ONE_THIRD define for 0.333f 2020-03-30 22:22:10 -05:00
KrimtonZ
b9f2d4c707 more skelanime wip 2020-03-30 20:12:49 -05:00
KrimtonZ
24babfa95a skelanime update wip 2020-03-30 17:53:26 -05:00
Roman971
f64174730c Decompile z_elf_message.c (1 non matching left) 2020-03-30 22:29:55 +02:00
KrimtonZ
b337e1d518 Merge branch 'master' into skelanimeupdates 2020-03-30 07:03:12 -05:00
Roman971
f5ffe8687d Decompile z_rcp.c (1 non matching left) 2020-03-29 18:47:38 +02:00
Random
462c284a17 Fixes in PR #41
- Use  VT macros in code_800D31A0.c
- Change D_8012DBC0 to false instead of 0
- Fix brace style
2020-03-29 11:57:52 +02:00
Random
5f027cb431 Decompile z_quake.c and code_800D31A0.c
- `code_800D31A0.c` : OK
- `z_quake.c` : OK
2020-03-29 03:24:39 +02:00
KrimtonZ
e03c7377b9 name SkelAnime struct members 2020-03-25 22:01:24 -05:00
Ethan Roseman
a4be535164 Merge branch 'master' into ovl_En_Ru2_new 2020-03-25 18:56:09 -04:00
Ethan Roseman
36119f6c65 PR suggestions 2020-03-25 18:39:51 -04:00
KrimtonZ
2a4dd0b013 add non_matching code for func_800A29BC 2020-03-25 16:33:26 -05:00
KrimtonZ
dc35cba293 naming update 2020-03-25 14:44:42 -05:00
KrimtonZ
864cb28e27 remove skelanime data files, few extra namings, add non_matching for func_800A2E70 2020-03-25 14:38:16 -05:00
KrimtonZ
582b32d39c Fix Draw Callbacks, fix segmented address in z_en_bird 2020-03-25 11:43:11 -05:00
KrimtonZ
095924d05a clang formatting 2020-03-25 11:07:09 -05:00
KrimtonZ
498d19655b Merge branch 'master' into skelanime 2020-03-25 10:52:04 -05:00
KrimtonZ
8970968cfc name SkelAnime_InitLinkAnimetion, name load animation types and callbacks, rename several segement addresses in decompiled actors 2020-03-25 10:51:25 -05:00
fig02
80b0f9b5fe
Merge pull request #35 from JoshDuMan/nonmatching
Match z_en_bird.c's last function.
2020-03-25 11:38:37 -04:00
JoshDuMan
f0c033ce70 Match func_809C1CAC 2020-03-24 19:52:07 -04:00
dark-samus
4b7f998b20 match final non-matching in sys_cfb.c 2020-03-24 16:53:09 -04:00
KrimtonZ
a99840162b minor formatting updates, match func_800A4A20 2020-03-24 14:01:00 -05:00
KrimtonZ
f2c65d615b fix jenkins build errors, small prototype update 2020-03-24 13:06:15 -05:00
KrimtonZ
db3cfe1b61 use clang, modify z64animation.h and z64dma.h to use open braces on newline 2020-03-24 12:16:13 -05:00
KrimtonZ
8bbac143cd Merge branch 'master' into skelanime 2020-03-24 11:56:37 -05:00
KrimtonZ
ac4a51bf8f Rename SkelAnime functions, which in turn modified a bunch of actor functions. Move necessary skelanime function calls to functions.h, remove unnecessary skelanime functions from functions.h, other skelanime cleanup 2020-03-24 11:52:12 -05:00
fig02
4eb7f023f3
Merge pull request #30 from Roman971/format-fixes
Fix some issues with the formatter
2020-03-23 23:04:32 -04:00
dark-samus
4bbbdc39fd use a better variable name 2020-03-23 20:04:09 -04:00
dark-samus
94e4c2b91f fix final non-matching in fault_drawer.c 2020-03-23 19:46:07 -04:00
Roman971
9a63f1d4d1 Run formatter with changes 2020-03-24 00:35:35 +01:00
Roman971
da151300f7 Run gcc checks with NON_MATCHING defined 2020-03-23 23:20:34 +01:00
KrimtonZ
0d93e48035 skelanime WIP, name Matrix_TranslateThanRotateZYX, match Matrix_Translate 2020-03-23 16:31:24 -05:00
Roman971
7fcc79fc4d Decompile Path_CopyLastPoint 2020-03-23 21:20:30 +01:00
Roman971
e88ea64835 Decompile Path_OrientAndGetDistSq 2020-03-23 21:19:54 +01:00
Roman971
a9d4fec113 Decompile Path_GetByIndex 2020-03-23 21:19:24 +01:00
Roman971
d2729f9d88 Split z_path.c and Rename some small files and functions 2020-03-23 21:18:53 +01:00
KrimtonZ
6072055c85 fix merge conflics 2020-03-22 20:57:25 -05:00
KrimtonZ
d136468ace Merge branch 'master' into skelanime 2020-03-22 20:35:10 -05:00
KrimtonZ
2a158f79ce skelanime WIP 2020-03-22 20:24:00 -05:00
Roman971
64b5536ab8 Fix remaining non matchings 2020-03-23 01:38:31 +01:00
Roman971
8cfe7cce9f Format all src C files 2020-03-22 22:20:03 +01:00
Roman971
251aea64ab Add comments and macros to prevent match issues with formatting 2020-03-22 21:09:54 +01:00
Roman971
b372169893
Merge pull request #22 from Random06457/master
Decompiled z_sample.c
2020-03-22 20:04:39 +01:00
Random
0db4629a63 Update PR #22
minor fixes
2020-03-22 19:32:44 +01:00
glank
fd7c3c9e56 Responding to PR comments 2020-03-22 18:55:23 +01:00
glank
d7b0ba7c06 Merge branch 'master' into z_en_tk 2020-03-22 18:43:40 +01:00
Random
bd00e0d1da Decompiled z_sample.c
`z_sample.c` : 1 non matching left
2020-03-22 17:37:38 +01:00
fig02
a3bac9fbb2
Merge pull request #17 from glankk/code_800FCE80
code_800FCE80 OK
2020-03-21 21:46:44 -04:00
fig02
65213ab140
Merge pull request #19 from Random06457/master
Decompiled code_800ACE70.c
2020-03-21 21:43:21 -04:00
Roman971
f0026cee24
Merge pull request #16 from fig02/en_dog
en_dog OK
2020-03-22 00:46:28 +01:00
Random
ec8889dc63 Changes in PR #19
- Replaced old `gsDPSetOtherMode`s with gfxdis' output
- Replaced `Gwords` with `Gfx`
2020-03-21 21:40:18 +01:00
Random
ea882fb46d Decompiled code_800ACE70.c
`code_800ACE70` : OK
2020-03-21 19:09:05 +01:00
glank
fa4c848cad Merge branch 'master' into z_en_tk 2020-03-21 12:31:29 +01:00
KrimtonZ
7bf1c2fb50 Merge branch 'master' into skelanime 2020-03-20 21:53:46 -05:00
KrimtonZ
96ba073f19 skelanime, wip 2020-03-20 21:51:12 -05:00
glank
0cf75356a5 code_800FCE80 OK 2020-03-21 03:43:48 +01:00
fig02
dff17518ef pr review changes 2020-03-20 20:42:57 -04:00
KrimtonZ
db5f70ad1c skelanime wip 2020-03-20 16:12:26 -05:00
Random
3e764f6ed8 Changes in PR #15
- Renamed `prenmi_buff.c` to `z_prenmi_buff.c`
2020-03-20 18:13:47 +01:00
Random
1fe00fcce1 Changes in PR #15 (2)
- Documented z_msgevent.c
2020-03-20 17:15:39 +01:00
Random
bf07193791 Changes in PE #15
- Removed `struct_8011F3F0`
- Removed old comment
2020-03-20 15:26:44 +01:00
Random
8779aaa758 Decompiled various small files
- Decompiled `code_8006C360.c`
- Decompiled `prenmi_buf.c` (previously `code_8007BE60.c`)
- Decompiled `code_8007BF10.c`
- Documented `sys_ucode.c`
2020-03-20 15:26:43 +01:00
fig02
aa603ca229 merge and change scene thing 2020-03-20 08:17:48 -04:00
fig02
f3b509eb68 en_dog OK 2020-03-20 08:04:35 -04:00
fig02
a6bad6ab70
Merge pull request #11 from wedarobi/master
Decomp z_lib.c
2020-03-19 22:13:17 -04:00
Roman971
c0965dcbe6
Merge pull request #5 from mzxrules/z_debug
z_debug.c
2020-03-20 01:44:59 +01:00
wed
8a74686890 Changes 2020-03-20 11:25:53 +11:00
mzxrules
858e937519 tweak defines 2020-03-19 20:10:32 -04:00
Random
c931cd5837 Decompiled z_title.c
`z_title.c` : matching
2020-03-19 23:29:33 +01:00
mzxrules
8063249af4 changes 2020-03-19 18:06:41 -04:00
wed
a01f868a1a Finish z_lib.c 2020-03-20 08:48:38 +11:00
glank
86c4472662 ovl_En_Tk OK 2020-03-19 13:01:17 +01:00
mzxrules
dd4f67c3f5 convert z_debug.data 2020-03-18 12:31:36 -04:00
mzxrules
32fe030b42 new repo, OK++ 2020-03-18 10:27:49 -04:00
KrimtonZ
aa2d45310d start z_skelanime.c 2020-03-17 22:15:19 -05:00
Roman971
76eb52ab52 Various fixes/matches
- Matched all remaining functions in `__osMalloc.c`, 2 functions in `code_8007BF90.c`, 1 in `code_800A9F30.c`, 2 in `fault.c`, 1 in `fault_drawer.c`, 1 in `gfxprint.c`, 2 in `z_camera.c`
-  Improved most other remaining non matchings to ensure they are actually equivalent and to get them closer to matching
- Added a `alloc.h` header file in the process of working on `fault.c` non matchings
- Decompiled `padmgr.c` data/bss in order to improve padmgr non matchings
- Removed unused `z_en_wallmas.c` data files
- Moved functions confirmed to be in `z_cheap_proc.c` to their own file with that name
2020-03-18 01:09:31 +01:00
Jack Walker
087f561f77 First proper commit. 2020-03-17 00:31:30 -04:00