Commit Graph

1455 Commits

Author SHA1 Message Date
someone2639
93a0816b6c Add system capabilities variable that tracks individual features instead of broad emulator support (#907)
Also implements check for FBE.

* start implementing selftest

* add some more

* gSupportsLibpl destroyed

* SYS_SUPPORTS -> SYSCAP

* add emux check

* make it compile

* play around with it until it writes the ASM i want

* format

* explain what im doing

* hopefully guard emux

* one feedback

* two feedback

* better libpl check

* better comment

* resolve some feedbackg

* add FBE check

* dont need to skip this check if its only for the first frame'

* skip framebuffer check if on a system that we know supports it.

* document that nothing in the repo has emux yet

* goodbye emux

* feed1

* various detectable

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2026-01-17 01:52:48 -05:00
Gregory Heskett
85b72619e4 Bugfix: Floating platform in JRB rises instead of sinks when Mario stands on its edge (#924)
This was introduced back in 2021 by some very absolutely quite small changes :)
2026-01-17 01:51:24 -05:00
LucretiaArc
9500f7a8d7 Fix build errors and warnings (#926)
* Close .assets-local.txt before attempting to remove it in extract_assets.py
* Bare $(MAKE) doesn't work if the path to make has spaces, so quote it
* Suppress warning for unused parameter in Flips.cpp
* Don't override OS environment variable, since it broke MinGW
* Specify extension for aiff_extract_codebook target, fixes dependency order for MinGW
2026-01-17 01:51:06 -05:00
someone2639
e206d4477c Fix getGoddardSize so that any arbitrary build folder can be used (#915)
* fix getGoddardSize

* newline

* HOW did this get in here

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2026-01-17 01:50:46 -05:00
Gregory Heskett
63250a04fb Replace render_multi_image() with draw_sprite() (#914)
* Replace render_multi_image() with draw_sprite()

This function is more stable and can handle more use cases than render_multi_image() could. It can handle fractional scaling and also doesn't suffer from the seams that ParaLLEl displays when upscaling texrects.

It does have some minor drawbacks though, mainly that it doesn't handle the complete displaylist for the user (mainly to allow customization of primitives outside of the function). It also isn't currently as optimized as render_multi_image() was for combiner and render modes (also copy mode does not render correctly).

Neither function supports rendering of CI textures still.

* Add additional comments and documentation to draw_sprite function
2026-01-17 01:50:23 -05:00
Denis Kopyrin
d20112107c Fixed incorrect RDP sync in act select menu (#920)
DPRenderMode is not allowed to be changed before DPPipeSync is done.
This causes crashes on act select with F3DEX3 during tri draw before.
2026-01-08 14:53:24 -05:00
arthurtilly
29a402dbb1 Change optimization flags (#916)
This saves about 90KB of RAM in the code segment

When Kaze found out we still use Ofast his response was "LOL"

Never listen to Fazana ever again

I did this PR through github file editor out of spite
2025-11-19 01:14:37 -05:00
Gregory Heskett
8bb943d533 Tie Bowser key celebration to key model rather than course ID (#913)
This should allow people to put course-exiting ordinary stars into Bowser courses without playing a key animation. Similarly, this will allow Bowser fights to exist in ordinary levels without playing the standard star animation on level exit. Save flags for keys still need to be handled manually in these cases though.
2025-11-07 09:22:28 -05:00
someone2639
76559c07f7 fish behavior level check -> param check (#906)
* Make fish SA check into a bparam2 flag

* light docs; rename the bp flag

* actually rename the thing

---------

Co-authored-by: Arceveti <73617174+Arceveti@users.noreply.github.com>
Co-authored-by: someone2639 <someone2639@gmail.com>
2025-11-06 23:44:00 -05:00
Gregory Heskett
83426bae74 Do not apply config_local.h if DISABLE_ALL is active (#909)
It does not make sense to apply a config that doesn't even exist upstream for a release build.
2025-11-06 23:39:17 -05:00
Denis Kopyrin
233d105662 Fix deflate buffers overrunning decompressor context (#897)
* Fix deflate buffers overrunning decompressor context

* Add NULL checks

---------

Co-authored-by: Gregory Heskett <gheskett@gmail.com>
2025-11-06 03:54:21 -05:00
LucretiaArc
cf88d09f5e Debug fly improvements (#908)
* Prevent interference between debug fly and other uses of dpad, dejank debug fly camera transitions

* Better whitespace

* Move extern to puppyprint.h

* This bothered Arctic
2025-11-05 18:07:04 -05:00
Anoliah
533d1ddaa2 Add vanilla cam processing ifdef to vanilla camera trigger arrays (#912) 2025-11-05 02:38:20 -05:00
bicyclesoda
e513c7272f Enforce gnu17 standard (#875)
Supported by both GCC and clang (https://clang.llvm.org/docs/UsersManual.html#extensions-supported-by-clang).

Currently, C23 cannot build this repo and apparently the consensus is to support C/gnu17 for the time being anyways.
2025-11-05 02:12:44 -05:00
someone2639
6589012fe5 Only run ROM extraction tools once on every make invocation (#902)
* add makefile util function to extract all assets

* indent

* start leveraging multiple-export functionality in extract_assets

* find-rom util; use the native hash library in detect-baseroms

* look back on my variable naming decisions with shame

* more docs; remove debug prints

* what if i just have detect_baseroms list the roms

* beef up usage string in extract_assets

* only one python invocation now; fix failure condition

* remove commented hashlib

* give it a last documentation pass

* warning fix that doesnt happen on my end

* long

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2025-11-02 19:39:34 -05:00
Christopher Dieringer
3af936f6de fix: more resilient toolchain detection (#901) 2025-11-01 04:26:49 -04:00
Anoliah
cbd0c05447 rework vanilla camera overrides (#873) 2025-10-31 15:20:47 +13:00
LuigiXHero
8f4b5b99c9 Stopgap readme fix (#871)
* Update README.md

Replaces the super out of date build instructions with a link to the wiki. As a stopgap before the readme rewrite.

* Restore UNFLoader section

Arctic said to

* Change rom requirements in readme
2025-10-30 11:24:00 +13:00
Gregory Heskett
94bfaff1ae Fix deflate warnings for the last time hopefully (#895)
Missed this one
2025-07-07 22:14:23 -04:00
someone2639
da18d323f4 fix armips compile error (#894)
* fix armips

* oops

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2025-07-04 01:04:59 -04:00
Denis Kopyrin
2dd4171fee Remove more gzip complaining lines (#893) 2025-07-03 13:20:08 -04:00
Denis Kopyrin
3c65ad1fed Fixed gzip to work with gcc15 & macOS ARM (#892) 2025-07-03 20:55:47 +08:00
Denis Kopyrin
39d0ccb412 Add new GZIP DEFLATE decompressor/compressor (#850) 2025-07-02 00:37:50 -04:00
Gregory Heskett
a334872dec Move all music samples to instruments folder and add instrument compatibility tables for legacy and Refresh 16 (#883)
Placing all music samples in the same folder allows for samples like Bowser organ and the course_select 'la' samples to be used among other samples (extended soundbank should be updated eventually to take advantage of this). Compatibility tables additionally allow for use of both legacy soundbanks and those designed around Refresh 16 (instruments folder only).
2025-07-01 02:42:58 -04:00
Gregory Heskett
e8e4210406 Fix uninitialized variable warning with GCC 14 (#884) 2025-07-01 02:40:25 -04:00