You've already forked Microtransactions64
mirror of
https://github.com/Print-and-Panic/Microtransactions64.git
synced 2026-01-21 10:17:19 -08:00
Added emulator detection (#651)
* Added emulator detection * Fixed missing assignments * Disable interrupts around the count factor test * Added more comments to emutest * Changed PJ64 enum values so the versions work as a bitfield * Updated README * Fixed comments * Updated enum values so you can safely AND and OR all emulator version flags together * Remove redundant gIsConsole, gIsVC, and gCacheEmulated global variables * Changed console check to be more future proof against Ares * Use assembly file instead of casting to a function pointer * Moved round_double_to_float back to its own compilation unit * Moved the ParallelN64 check before the Ares check for better future-proofing * Align pj64_get_count_factor_asm with cache lines... not that it actually matters for pj64 * Adjusted some comments * Made emulator check thread-safe on emulators that emulate PI timings * Added gIsConsole macro for backwards compatibility * Added cen64 to INSTANT_INPUT_BLACKLIST * Updated comment
This commit is contained in:
@@ -6,9 +6,8 @@
|
||||
#include "synthesis.h"
|
||||
#include "seqplayer.h"
|
||||
#include "effects.h"
|
||||
#include "game/game_init.h"
|
||||
#include "game/emutest.h"
|
||||
#include "game/puppyprint.h"
|
||||
#include "game/vc_check.h"
|
||||
#include "game/debug.h"
|
||||
#include "string.h"
|
||||
|
||||
@@ -1171,7 +1170,7 @@ void audio_reset_session(s32 reverbPresetId) {
|
||||
if (gAudioLoadLock != AUDIO_LOCK_UNINITIALIZED) {
|
||||
gAudioLoadLock = AUDIO_LOCK_LOADING;
|
||||
|
||||
if (!gIsVC) {
|
||||
if (!(gEmulator & EMU_WIIVC)) {
|
||||
gAudioFrameCount = 0;
|
||||
while (gAudioFrameCount < 1) {
|
||||
// spin
|
||||
@@ -1325,7 +1324,7 @@ void audio_reset_session(void) {
|
||||
gAudioBufferParameters.minAiBufferLength *= gAudioBufferParameters.presetUnk4;
|
||||
gAudioBufferParameters.updatesPerFrame *= gAudioBufferParameters.presetUnk4;
|
||||
|
||||
if (gIsConsole)
|
||||
if (gEmulator & EMU_CONSOLE)
|
||||
gMaxSimultaneousNotes = MAX_SIMULTANEOUS_NOTES_CONSOLE;
|
||||
else
|
||||
gMaxSimultaneousNotes = MAX_SIMULTANEOUS_NOTES_EMULATOR;
|
||||
@@ -1352,7 +1351,7 @@ void audio_reset_session(void) {
|
||||
gMinAiBufferLength = gSamplesPerFrameTarget - 0x10;
|
||||
gAudioUpdatesPerFrame = updatesPerFrame = gSamplesPerFrameTarget / 160 + 1;
|
||||
|
||||
if (gIsConsole)
|
||||
if (gEmulator & EMU_CONSOLE)
|
||||
gMaxSimultaneousNotes = MAX_SIMULTANEOUS_NOTES_CONSOLE;
|
||||
else
|
||||
gMaxSimultaneousNotes = MAX_SIMULTANEOUS_NOTES_EMULATOR;
|
||||
|
||||
Reference in New Issue
Block a user