29 Commits
Author SHA1 Message Date
Oliver Bell c1de9a3a13 sa2: migrate data into sa2 sub directory 2026-04-03 09:47:08 +01:00
Oliver Bell 59706b53c1 Create PSP and PS2 ports, switch to gpsp renderer, optimise audio (#235)
- 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!
2026-03-04 02:10:03 +00:00
Oliver Bell e876edfb76 tcg: start looking at init 2025-09-21 19:45:28 +01:00
JaceCear dfc8b5ef6c Keep consistency between SA1 and SA2 (#201)
* 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
2025-02-08 00:05:43 +00:00
JaceCear 4aa35ee10b Some more documentation and cleanup (#176)
* Some cleanup in title_screen.c

* Some documentation in unused_level_select.c

* Unify sa1_sa2_shared/collision.c and collision_1.c

* Remove sub_800D0A0 from stub.c

* Small pieces of documentation

* Document some globals and align characters.h with SA1

* Mostly align amy_attack_heart_effect.c with SA1

* Rename file of Ring -> Magnetic Ring

* Align save.h with SA1

* Rename Player.unk90|unk94 -> Player.spriteInfoBody|Limbs

* Add some comments

* Rename Spark Effect -> Grind Effect, document SA1's and SA2's versions a bit
2025-01-05 00:50:31 +01:00
1bc34d0ac8 Move Animation data to C, fix native sdl build (#157)
* 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>
2024-10-10 01:07:04 +01:00
Oliver Bell 900c31029a create sdl_win32 build, add platform builds to CI (#144)
* fixes for 64bit build
* create sdl_win32 target
2024-05-24 03:10:04 +01:00
JaceCear 878cd1c504 Credits for this project (#140)
* Add defsym NON_MATCHING to ASFLAGS

* Use FLAGS_ macros instead of numbers

* Move debug_text_printer.h

* Add DCCredits

* Some formatting, some minor fixes

* Introduce ENABLE_DECOMP_CREDITS symbol

* More adjustments to the credits. Edit the Q_MUL macro

* Slight position adjustment for Sonic

* Minor fixes. Add note for weird Mod() compiler error

* Minor spelling mistake
2024-05-12 20:21:43 +02:00
JaceCearandOliver Bell 3eed7359bf Make and LD stuff (#138)
* Remove build path from ldscript
* Fix issues with ldscript in chaogarden
* Update Makefile to handle building with other compilers

---------

Co-authored-by: Oliver Bell <freshollie@gmail.com>
2024-05-10 00:30:38 +02:00
BlueSpeedster 0e92bf9b1d Initial code required to build Japanese ROM (#135)
* Update UI Positions of Timer/1-Up
* Update results.c
2024-04-19 17:00:12 +01:00
JaceCearandOliver Bell 5b55841b18 BriBaSA_ex - Initial Commit (#123)
* c_header_parser: Add EQUALS and some compatibility fixes.

* Add stage_info.txt files to all maps

* Filter BriBaSA_ex as long as it doesn't have a Makefile

* Add fixes for the tokenizer

* Initial commit for BriBaSA_ex

* Update stage info

* Add spawn pos being shown as player character, add 'Go to spawn pos' keyboard shortcut, add ability to display item boxes.

* Renamed stage_info.txt -> metadata.txt, because regular tilemaps will make use of them

* BriBaSA_ex: Set camera to spawn pos when loading a map. Load all map paths on init. Cleanup.

* Implement drawing of most interactables

* Fix main not compiling when Raylib wasn't compiled before

* Add keyboard button controls and some cleanup

* Rename a few IA and anim constants

* Rename a few constants

* Add error output for unknown names when converting CSV->Bin using epos

* Add TILE_DIM and TILES_PER_METATILE, and some cleanup

* Move some procedures out of epos.c

* Minor cleanup

* Minor cleanup in csv_conv.c

* More cleanup and documentation

* More cleanup

* Move shared libraries inside tools to their own directories

* Remove redundant versions of shared libraries

* Fix warnings

* Add library binaries to .gitignore

* Add BriBaSA_ex Makefile

* Fix compilation

* Load entity data from CSV files and display them

* Fix some var and const names

* Fix includes

* Re-add Makefile for csv_conv

* Generalize drawing of IA textures and bounding boxes

* Split the code into multiple modules

* Rename a few IAs

* Rename Giant Propeller -> Propeller

* More adjustments for Propeller renaming

* BriBaSA_ex: Some restructuring

* Fix warning

* Add texture.c to build.bat

* Fix build errors from renaming IAs

* More restructuring

* Move constants to header file

* Cleanup

* Open buttons through 'UiElement()'

* Uncomment redundant call to FileExists

* Fix build

* BriBaSA: Fix crash

* Streamline entity data layout

* Split ring graphics into individual frames

* Make entities clickable

* Display metadata of highlit entity

* Print entity type if an Entity has one

* Fix IA bounding boxes

* Implement saving entities when clicking on 'Save Map'

* Add EntityData* to EntityDataPointer union

* Allow entity data to be edited

* Add IS_USER_KEY_PRESSED_ macros. Use them for the spawn position

* Fix gcc warnings

* Update readme

* Fix GCC warnings

* Fix Makefile compilation for Linux

* Update epos to use CsvEntityType

* Exclude tools dir when formatting

* Format...

* fix linux build and some makefile improvements

Co-authored-by: Oliver Bell <freshollie@gmail.com>

* fix formatter, undo some debug stuff

Co-authored-by: Oliver Bell <freshollie@gmail.com>

* fix CI

Co-authored-by: Oliver Bell <freshollie@gmail.com>

* try this

Co-authored-by: Oliver Bell <freshollie@gmail.com>

* this is better

Co-authored-by: Oliver Bell <freshollie@gmail.com>

* Replace MSVC-exclusive file functions

* remove comment

Co-authored-by: Oliver Bell <freshollie@gmail.com>
---------

Co-authored-by: Oliver Bell <freshollie@gmail.com>
2023-12-10 12:49:22 +01:00
Oliver Bell 73f97a74e4 add missing map data after move, fix tilemap casts 2023-09-03 01:33:10 +01:00
JaceCear cb4cf31eed Introduce MapEntity positioning-tool, name almost all Interactables (#106)
* Rename IA019

* Rename IA094 -> Pole

* Rename IA080 -> light_globe

* Rename some IAs, rename dir tec_base -> techno_base for consistency

* Fix include paths to techno_base

* Rename sprite -> ia105 (change once IA105 is named!)

* Rename IAs to avoid their names starting with digits

* Edit CSV format to include map-width/-height and seperated regions instead of world positions

* Add item indices

* Update example format

* First draft for CSV->Bin conversion done

* Implement binary file export in epos

* Revert changes to propeller_spring.c

* Add CSV files

* Fix data-less CSV lines leading to exit

* Add rules for map entity data. Add rule to remove <entity>.bin files

* Remove <entity>.bin files
2023-08-23 11:07:27 +02:00
JaceCearandOliver Bell c06e38c5ad Extract uncompressed entity placement data of each map (#43)
Co-authored-by: Oliver Bell <freshollie@gmail.com>
2023-01-26 00:09:32 +00:00
Oliver Bell b0ec856e76 chao_garden: match last midi 2022-12-27 00:34:47 +00:00
JaceCearandOliver Bell 238d730c49 Extract and match all 4bpp object frames (#31)
* Added obj palette data

* Add dumped obj graphics

* build graphics as part of pipeline

* update readme

* remove animation constant macros

Co-authored-by: Oliver Bell <freshollie@gmail.com>
2022-12-19 12:17:42 +00:00
Oliver BellandZhengwen Jiang 9221ad98f6 more special stage
Co-authored-by: Zhengwen Jiang <jian0463@umn.edu>
2022-10-31 02:43:59 +00:00
Oliver Bell 3530220452 initial dissasembly of tiny chao garden 2022-05-31 18:02:54 +01:00
Oliver Bell f7d137c1dc extract demo input recordings 2022-05-13 00:47:45 +01:00
Oliver Bell 6d73ffb334 reference chao garden from repo 2022-05-10 23:54:55 +01:00
Oliver Bell 6294ff4630 begin extracing title screen data 2022-05-10 21:53:16 +01:00
Oliver Bell 7aec09b98d add more docs 2022-05-08 12:13:00 +01:00
Oliver Bell 1a0f0a51a9 Create a CI build (#2) 2022-05-06 19:28:40 +01:00
Oliver Bell 63b78f74ae add some useful scripts 2022-05-05 00:21:08 +01:00
Oliver Bell a35fb59993 split songs into separate files, match some midi files, more scripts 2022-04-24 02:42:27 +01:00
Oliver Bell ebc2c1a9d6 correctly extract midi files, compile first midi 2022-04-23 19:58:25 +01:00
Oliver Bell ed4102d0a6 decode sound samples 2022-03-06 22:20:43 +00:00
Seamus 32c22b717e fix 2021-02-18 18:27:22 -05:00
Seamus b847b8902e Initial commit 2021-02-18 17:48:52 -05:00