mirror of
https://github.com/BanjoRecomp/BanjoRecomp
synced 2026-06-12 13:04:44 -04:00
Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4e6de22c9c | |||
| c17e876311 | |||
| 1ac5a705ed | |||
| b089dac3f4 | |||
| 73a8aa9918 | |||
| f82b014a2b | |||
| 80963dd419 | |||
| 1a0d1053e9 | |||
| 4982590054 | |||
| 8475fda0f1 | |||
| 91d1e2d272 | |||
| d124299373 | |||
| 6b387ed9d2 | |||
| 0159329eb1 | |||
| 661f848a8e | |||
| e143c61609 | |||
| 2cc5391511 | |||
| c82a7b78d0 | |||
| 066e40d158 | |||
| a218f16f25 | |||
| 5ef2c7e338 | |||
| f8ac690670 | |||
| 2fc6e70cb5 | |||
| 9a0b944f35 | |||
| 025215049a |
@@ -117,7 +117,7 @@ Yes, if you place a file named `portable.txt` in the same folder as the executab
|
|||||||
Yes. The incorrect Mumbo tokens now use previously unused token IDs. This won't affect mods that replace levels.
|
Yes. The incorrect Mumbo tokens now use previously unused token IDs. This won't affect mods that replace levels.
|
||||||
|
|
||||||
#### Does note saving have the same issue as the XBLA version where it collects notes during Bottles' puzzles and prevents you from getting 100% completion?
|
#### Does note saving have the same issue as the XBLA version where it collects notes during Bottles' puzzles and prevents you from getting 100% completion?
|
||||||
No. Take has been care to ensure that notes are not saved during demos.
|
No. Care has been taken to ensure that notes are not saved during demos.
|
||||||
|
|
||||||
## Known Issues
|
## Known Issues
|
||||||
* Overlays such as MSI Afterburner and other software such as Wallpaper Engine can cause performance issues with this project that prevent the game from rendering correctly. Disabling such software is recommended.
|
* Overlays such as MSI Afterburner and other software such as Wallpaper Engine can cause performance issues with this project that prevent the game from rendering correctly. Disabling such software is recommended.
|
||||||
|
|||||||
+1
-1
Submodule lib/N64ModernRuntime updated: 494217848a...ca568b6ad7
+1
-1
Submodule lib/RecompFrontend updated: 334acbabb4...b3b7ebb4ec
+1
-1
Submodule lib/rt64 updated: af86fdd1ba...41837c4473
@@ -1,5 +1,6 @@
|
|||||||
#include "patches.h"
|
#include "patches.h"
|
||||||
#include "core1/mlmtx.h"
|
#include "core1/mlmtx.h"
|
||||||
|
#include "functions.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
s32 cmd_0;
|
s32 cmd_0;
|
||||||
|
|||||||
@@ -249,7 +249,9 @@ void banjo::launcher_animation_setup(recompui::LauncherMenu *menu) {
|
|||||||
launcher_context.jiggy_shine_svg.scale_keyframes = {
|
launcher_context.jiggy_shine_svg.scale_keyframes = {
|
||||||
{ 0.0f, 0.0f, 0.0f },
|
{ 0.0f, 0.0f, 0.0f },
|
||||||
{ jiggy_shine_start, 0.0f, 0.0f },
|
{ jiggy_shine_start, 0.0f, 0.0f },
|
||||||
{ jiggy_shine_start + 0.01f, 1.0f, 1.0f },
|
{ jiggy_shine_start, 1.0f, 1.0f },
|
||||||
|
{ jiggy_shine_start + jiggy_shine_length, 1.0f, 1.0f },
|
||||||
|
{ jiggy_shine_start + jiggy_shine_length, 0.0f, 0.0f },
|
||||||
};
|
};
|
||||||
|
|
||||||
launcher_context.jiggy_shine_svg.position_animation.interpolation_method = InterpolationMethod::Smootherstep;
|
launcher_context.jiggy_shine_svg.position_animation.interpolation_method = InterpolationMethod::Smootherstep;
|
||||||
|
|||||||
+21
-7
@@ -64,7 +64,7 @@
|
|||||||
|
|
||||||
#include "../../lib/rt64/src/contrib/stb/stb_image.h"
|
#include "../../lib/rt64/src/contrib/stb/stb_image.h"
|
||||||
|
|
||||||
const std::string version_string = "1.0.0";
|
const std::string version_string = "1.0.1";
|
||||||
|
|
||||||
template<typename... Ts>
|
template<typename... Ts>
|
||||||
void exit_error(const char* str, Ts ...args) {
|
void exit_error(const char* str, Ts ...args) {
|
||||||
@@ -326,7 +326,7 @@ void set_frequency(uint32_t freq) {
|
|||||||
update_audio_converter();
|
update_audio_converter();
|
||||||
}
|
}
|
||||||
|
|
||||||
void reset_audio(uint32_t output_freq) {
|
bool reset_audio(uint32_t output_freq) {
|
||||||
SDL_AudioSpec spec_desired{
|
SDL_AudioSpec spec_desired{
|
||||||
.freq = (int)output_freq,
|
.freq = (int)output_freq,
|
||||||
.format = AUDIO_F32,
|
.format = AUDIO_F32,
|
||||||
@@ -339,15 +339,19 @@ void reset_audio(uint32_t output_freq) {
|
|||||||
.userdata = nullptr
|
.userdata = nullptr
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
audio_device = SDL_OpenAudioDevice(nullptr, false, &spec_desired, nullptr, 0);
|
audio_device = SDL_OpenAudioDevice(nullptr, false, &spec_desired, nullptr, 0);
|
||||||
if (audio_device == 0) {
|
if (audio_device == 0) {
|
||||||
exit_error("SDL error opening audio device: %s\n", SDL_GetError());
|
std::string audio_error = std::string("No audio device could be found. Please make sure an audio device is available.\nError opening audio device: ") + std::string(SDL_GetError());
|
||||||
|
recompui::message_box(audio_error.c_str());
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
SDL_PauseAudioDevice(audio_device, 0);
|
SDL_PauseAudioDevice(audio_device, 0);
|
||||||
|
|
||||||
output_sample_rate = output_freq;
|
output_sample_rate = output_freq;
|
||||||
update_audio_converter();
|
update_audio_converter();
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern RspUcodeFunc n_aspMain;
|
extern RspUcodeFunc n_aspMain;
|
||||||
@@ -684,9 +688,16 @@ int main(int argc, char** argv) {
|
|||||||
// Initialize native file dialogs.
|
// Initialize native file dialogs.
|
||||||
NFD_Init();
|
NFD_Init();
|
||||||
|
|
||||||
|
// Initialize program settings.
|
||||||
|
recompui::programconfig::set_program_name(banjo::program_name);
|
||||||
|
recompui::programconfig::set_program_id(banjo::program_id);
|
||||||
|
|
||||||
// Initialize SDL audio and set the output frequency.
|
// Initialize SDL audio and set the output frequency.
|
||||||
SDL_InitSubSystem(SDL_INIT_AUDIO);
|
SDL_InitSubSystem(SDL_INIT_AUDIO);
|
||||||
reset_audio(48000);
|
if (!reset_audio(48000)) {
|
||||||
|
// It is not possible to initialize without an audio device.
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
// Source controller mappings file
|
// Source controller mappings file
|
||||||
std::u8string controller_db_path = (recompui::file::get_program_path() / "recompcontrollerdb.txt").u8string();
|
std::u8string controller_db_path = (recompui::file::get_program_path() / "recompcontrollerdb.txt").u8string();
|
||||||
@@ -694,10 +705,11 @@ int main(int argc, char** argv) {
|
|||||||
fprintf(stderr, "Failed to load controller mappings: %s\n", SDL_GetError());
|
fprintf(stderr, "Failed to load controller mappings: %s\n", SDL_GetError());
|
||||||
}
|
}
|
||||||
|
|
||||||
recompui::programconfig::set_program_name(banjo::program_name);
|
// Register fonts.
|
||||||
recompui::programconfig::set_program_id(banjo::program_id);
|
|
||||||
recompui::register_primary_font("InterVariable.ttf", "Inter Variable");
|
recompui::register_primary_font("InterVariable.ttf", "Inter Variable");
|
||||||
recompui::register_extra_font("Suplexmentary Comic NC.ttf");
|
recompui::register_extra_font("Suplexmentary Comic NC.ttf");
|
||||||
|
|
||||||
|
// Register configuration path.
|
||||||
recomp::register_config_path(recompui::file::get_app_folder_path());
|
recomp::register_config_path(recompui::file::get_app_folder_path());
|
||||||
|
|
||||||
// Register supported games and patches
|
// Register supported games and patches
|
||||||
@@ -705,6 +717,8 @@ int main(int argc, char** argv) {
|
|||||||
recomp::register_game(game);
|
recomp::register_game(game);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
recomp::mods::register_deprecated_mod("bk_recomp_mod_fov_slider", recomp::mods::DeprecationStatus::BrokenVersion, recomp::Version(1, 1, 0));
|
||||||
|
|
||||||
REGISTER_FUNC(recomp_get_window_resolution);
|
REGISTER_FUNC(recomp_get_window_resolution);
|
||||||
REGISTER_FUNC(recomp_get_target_aspect_ratio);
|
REGISTER_FUNC(recomp_get_target_aspect_ratio);
|
||||||
REGISTER_FUNC(recomp_get_target_framerate);
|
REGISTER_FUNC(recomp_get_target_framerate);
|
||||||
|
|||||||
Reference in New Issue
Block a user