* Remove unused RED|GREEN|BLUE_VALUE macros
* preproc: Add basic support for loading .pal files directly via INCPAL()
* Some potential boss_8 render fixes and misc. stuff
* Use INCPAL macro in src/data/sprite_animation.c (but that file's is unused rn?)
* Fix non-main-Makefiles not using preproc properly
* Remove all INCBIN(.gbapal) uses with INCPAL(.pal) in ./src
* Move gSpritePalettes to C
* Rename palette to time_display_singlepak.pal
* Remove obj_palettes.inc
* Use ColorRaw for known palettes
* Fix time_display match
* Rename palette to sound_test_bg.pal
* Add comment and scratch to sub_80236C8
* Use PALETTE_LEN_4BPP
* Document a vocal sample name. Thanks 'Asal (in Harmony)' for letting us know!
* Document palette names in /graphics
* Fix boss palette names
* Renmae to sBoss7Palettes
* Some Boss 7 documentation
* Add ShredWindowsGarbage to win32
* Make PLTT a Color[] in non-vanilla builds
* Make Tilemap use INCPAL
- Update software renderer to the gpsp renderer (fast enough to render on slow hardware)
- Convert audio emulation to fixed point (since float is slower on these systems)
- Add PSP as a target for SDL
- Add PS2 as its own target, though it's still using software rendering
Thanks to @kikugrave for adding the initial psp boilerplate and inspiring me to finally finish the ps2 port!
* SA1 alignment
* Rename SpriteBase::spriteX -> meX
* Rename FLAGS_10 -> FLAGS_EXECUTE_VBLANK_CALLBACKS
* Align task.h with SA3
* Align core.c more with SA3
* Align core.c data with SA3
* Align task.h with SA1
* Align more with SA3
* Align task.h with SA1
* Align task.h with SA3
* Align task.c with SA1|SA3
* Align core.c with SA3
* Align EngineMainLoop with SA3
* Align core.c with SA3
* Some tools alignment with SA1
* Align Makefile with SA1
* Make BG_PLTT and OBJ_PLTT u16*
* Align with SA3
* Make BG_PLTT|OBJ_PLTT accessible as an array. Fix erroneous #if.
* Address USE_SA2_TASK_SYSTEM use from commit comments
* Fix Hot Crater BG wrap at bottom of screen
* Remove CV2PDB
* Fix Music Plant BG wrap at bottom of screen
* Fix Ice Paradise BG wrap at bottom of screen
* Fix Sky Canyon background rendering at bottom of screen
* Adjust Sky Canyon background rendering
* Remove purple background effect in Techno Base in non-vanilla targets
* Fix Egg Utopia (Outside) background rendering at bottom of screen
* Fix garbage memory getting displayed in Sky Canyon
* Minor documentation
* Align .gitignore with SA1
* Small adjustments for Makefile parity
* Document gMPRingCollectWins
* Rename gUnknown_030054F8 -> gNumSingleplayerCharacters
* Add note from pret
* Minor improvements in stage.c
* Align Task_GameStage with SA1
* Fix type of gUnknown_0300543C
* Align HandleLifeLost with SA1
* Rename sub_80299FC -> DestroyPlayerTasks
* Rename sub_801B68C -> DestroyStageTasks
* Fix nullpointer crash in stage intro, when starting the Extra Boss stage
* Add first NOT-WORKING (WIP) pass on OpenGL renderer in win32
* Address #ifdef comment
* Fix capitalization
* Various documentation and alignment with SA3
* Extract input_recorder.c .data section from core.c, as in SA3
* Align multi_sio.c with SA3
* Document parameters of DisplaySprites
* Document centerOffsetX/Y in DisplaySprites
* Only display copyright note
* Split GAME_ and ENGINE_ macros
* Use ENGINE macros in core.c
* Rename game<->engine interface procedures
* Remove searching in /src for header files in genctx.py
* Fix global.h<->config.h dependency in genctx.py
* Only enable Task logging in debug versions
* Fix uses of DEBUG, remove TEST_GFX_POINTERS because current gfx copy implementation already makes it redundant
* Use 64bit as default target in Win SDL
* Align some files with sa1 and sa3
* Align sprite.c and other files closer with sa1 and sa3
* Various documentation
* Some dodumentation and cleanup from SA1 core.c integration
* Rename sa1_leftovers/ -> sa1_sa2_shared/
* Put gEwramHeap into ewram_data section
* Refactor m4a for better names
* Bring in m4a PC backend code
* Update songs data to work on 64bit
* Move m4a to it's own folder
* Add linker map to sdl build
---------
Co-authored-by: Oliver Bell <freshollie@gmail.com>
* Remove and move comments to the correct procedures
* Fix regular SDL compilation
* Move animation data from Asm to C
* Layout the anim macros in a common way. Add Big Endian support to them (I think?)
* add CI for sdl objs, fix some of the build on linux
* make native macos work
---------
Co-authored-by: bitten2up <bitten2up@courvix.com>
Co-authored-by: Oliver Bell <freshollie@gmail.com>
* Some cleanup for sub_802DF18, but still non-matching
* Almost match sub_802E278, down to one add instr
* Some grind variable documentation
* Fix some of the logic in sub_801EE64
* Some general documentation
* Document Bouncy Bar tasks and fix compilation
* Some documentation in rotating handle
* Fix standalone compile/link
* Add standalone build CI
* Fix copy-paste of Q_24_8
* Align whitespace
* Potential random crash fix
* Add some DMA doc to standalone
* Remove old nonmatch ASM and add SDL comment
* Cleanup and #ifdef fix in player.c
* Match sub_802966C, fixing some control issues
* Some additions to Task_CreateStageUnknownTask
* Make CreateCharacterSelectionScreen scratch more recent
* Cleanup
* boss_run.s data -> boss_run.c
* Merge boss_run and boss_8
* Rename BOSS_8_ARM_ -> ARM_, since it's a local macro, anyway
* Remove boss_run from ldscript
* Remove data stubs
* Inline StageInit_SetMusic as was probably the case originally
* Some documentation
* Minor documentation
* Sprite.unk10 -> .frameFlags
* Sprite.unk1A -> .oamFlags
* Formatter...
* Set all Sprite.oamFlags values using SPRITE_OAM_ORDER macro
* Minor documentation
* Get logic of sub_8004860 to match the game closer, but ASM percentage is worse.
* Fix big parts of sub_8004860's logic, still not matching very well
* Rename sub_8004860 -> TransformSprite
* Minor cleanup
* Add potential fix for tile copying
* Reorder DMA offsets
* Add SDL fullscreen (Alt+Return)
* Formatter
* SPRITE_MAYBE_SWITCH_ANIM -> SPRITE_INIT_ANIM_IF_CHANGED
* Add graphics queue macros
* Reorder for compiler flags
* Add GFX Queue macros and logging
* Reformulate task logging
* Reorder compiler flags
* Minor boss8 cleanup
* Use new DMA layout
* Replace Div and Mod calls with macros
* Minor cleanup
* Add EXTENDED_OAM (WIP)
* Camera.unk38|.unk3C -> .dx|.dy
* Split logging output
* Fix syntax error
* Move Boss_9 data to C
* sRGB_080D8E20 hex -> dec
* First pass on CreateTrueArea53Boss
* Move CreateTrueArea53Boss into non-matching
* Rename remaining MoveBossPositionFuncs
* Move TrueArea53BossMove into non-match
* Match Task_EggmanKidnapsVanilla
* Match Task_TrueArea53BossMain
* Match sub_804D8E0
* Match Task_804D9DC
* Match Task_804DB34
* More Boss 9 progress
* Make upper bound in PseudoRandBetween() exclusive, since many calls suggest this being the original pattern
* Match sub_804E078
* Move sub_804E15C into non-matching
* Start sub_804E4CC
* Move sub_804E4CC into non-match
* Match sub_804E66C
* Match sub_804E74C
* Match sub_804E974
* Move sub_804F1EC into non-matching
* Match sub_804F47C
* Match sub_804F5BC
* More progress
* Move sub_804F850 into non-matching
* Match sub_804FD58
* Match sub_804FE24, sub_804FEFC and sub_804FF9C
* Move sub_8050030 and sub_8050104 into non-matching
* Temporarily move sub_8050104 and sub_80501D4 into non-matching
* Almost match sub_8050958
* Remove boss_9.s
* Remove old stubs
* Minor cleanup and fix crash in Zone 3's background
* Add missing pointer refs in CreateTrueArea53Boss
* Almost match sub_80505B8 (basically on-par with sub_80501D4
* Ollie matched sub_80501D4 and sub_80505B8
Co-authored-by: Oliver Bell <freshollie@gmail.com>
* Tilemap unknown_stars -> music_plant_moving_stars
* Add DEBUG macro
* Progress on CreateTrueArea53Boss
* Some fixes for CreateTrueArea53Boss
---------
Co-authored-by: Oliver Bell <freshollie@gmail.com>