-
Notifications
You must be signed in to change notification settings - Fork 174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Various Title Screen Demo Enhancements #833
base: develop/3.0.0
Are you sure you want to change the base?
Conversation
…at) from demos; made bowser 1 demo work again
cf78ed2
to
f437e5f
Compare
Ready to review! Still have to test on console to see if my DMA's are valid but I did manage to record some new demos |
HMC does not crash on console (even after letting it play twice) and all the new demos work too 👍 |
This PR is ready for (re-)review. The Yaw/Mag based demo format has been dropped, but every button is now supported, so that developers can still record on their preferred camera system. |
what is the current status of vanilla demos in this PR |
deleted for good since db9a354, because this PR essentially makes them bloat. |
So no demos by default, I assume title screen will handle that correctly and just never attempt to start a demo? But will automatically start if one is made? |
Yes, the new system can handle zero demos (even if the preferred alternative for 0 demos is having them disabled, which removes all the code and the filetable from the final game entirely) |
include/config/config_debug.h
Outdated
@@ -45,7 +45,7 @@ | |||
/** | |||
* Enables a custom, enhanced performance profiler. (Enables PUPPYPRINT by default in config_safeguards). | |||
*/ | |||
// #define PUPPYPRINT_DEBUG | |||
#define PUPPYPRINT_DEBUG |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice define change idiot
include/config/config_goddard.h
Outdated
@@ -18,3 +18,15 @@ | |||
* Disables the demo that plays when idle on the start screen (has no effect if KEEP_MARIO_HEAD is disabled). | |||
*/ | |||
#define DISABLE_DEMO |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If there are no demos by default, this define should be removed tbh
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reuse this to stub out demo code since I assume the majority of custom games will continue to not use this feature
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would still prefer if it was removed or at least moved out of config into beginning of demo code file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a bit too integral in multiple files (including the link script) to move out of a config header; What if I flip it to like an ENABLE_DEMO_SYSTEM
, and have it commented by default instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See how I have it now (on the correct account this time); now it's opt-in
Finally, a PR that nobody asked for!
Summary of changes:
DISABLE_DEMO
is defined (0x800 byte memory savings)camera-agnosticformat. Vanilla demos have been converted to this formatand are no longer broken.Demo files have been removed fromassets.json
demo_system.c
and.h
, and moved demo related functions and variables to that file (Currently 233 lines of stuff that doesn't need to be in a hack without demos).DEMO_RECORDING_MODE
, which boots straight toSTART_LEVEL
and prints the new demo format to the debug console.tools/demo_data_converter.py
has been rewritten to detect demos in the assets folder, and the hardcodedassets/demo_data.json
has been deleted.DISABLE_DEMO
is commented out but no demos are present.