Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer

This commit is contained in:
gymnast86
2026-04-14 03:21:36 -07:00
43 changed files with 6505 additions and 4 deletions
+1 -1
View File
@@ -54,7 +54,7 @@ void *_memcpy(void* dest, void const* src, int n) {
}
void DCZeroRange(void* addr, uint32_t nBytes) {
#ifdef _MSC_VER
#if defined(_MSC_VER) || TARGET_ANDROID
memset(addr, 0, nBytes);
#else
bzero(addr, nBytes);
+5 -1
View File
@@ -47,7 +47,11 @@ void fileDialogCallback(void* userdata, const char* const* filelist, [[maybe_unu
ImGuiPreLaunchWindow::ImGuiPreLaunchWindow() = default;
bool ImGuiPreLaunchWindow::isSelectedPathValid() const {
#if TARGET_ANDROID
return !m_selectedIsoPath.empty(); // unsure why SDL_GetPathInfo doesnt work here
#else
return !m_selectedIsoPath.empty() && SDL_GetPathInfo(m_selectedIsoPath.c_str(), nullptr);
#endif
}
void ImGuiPreLaunchWindow::draw() {
@@ -106,7 +110,7 @@ void ImGuiPreLaunchWindow::drawMainMenu() {
ImGui::PushFont(ImGuiEngine::fontLarge);
if (m_selectedIsoPath.empty() || !SDL_GetPathInfo(m_selectedIsoPath.c_str(), nullptr)) {
if (!isSelectedPathValid()) {
if (ImGuiButtonCenter("Select disc image...")) {
SDL_ShowOpenFileDialog(&fileDialogCallback, this, aurora::window::get_sdl_window(),
skGameDiscFileFilters.data(), int(skGameDiscFileFilters.size()),
+47
View File
@@ -9,6 +9,12 @@
#include "tracy/Tracy.hpp"
#if TARGET_ANDROID
#include "android/log.h"
#include <vector>
#include <sstream>
#endif
bool StubLogEnabled = true;
using namespace std::literals::string_view_literals;
@@ -91,6 +97,45 @@ static bool IsForStubLog(const char* message) {
return false;
}
#if TARGET_ANDROID
void aurora_log_callback(AuroraLogLevel level, const char* module, const char* message,
unsigned int len) {
ZoneScoped;
if (StubLogEnabled && level != LOG_FATAL && IsForStubLog(message)) {
dusk::SendToStubLog(level, module, message);
return;
}
int android_log_level = 0;
switch (level) {
case LOG_DEBUG:
android_log_level = ANDROID_LOG_DEBUG;
break;
case LOG_INFO:
android_log_level = ANDROID_LOG_INFO;
break;
case LOG_WARNING:
android_log_level = ANDROID_LOG_WARN;
break;
case LOG_ERROR:
android_log_level = ANDROID_LOG_ERROR;
break;
case LOG_FATAL:
android_log_level = ANDROID_LOG_FATAL;
break;
}
std::stringstream msgStream(message);
std::string segment;
while(std::getline(msgStream, segment)) {
__android_log_print(android_log_level, module, "%s\n", segment.c_str());
}
if (level == LOG_FATAL) {
abort();
}
}
#else
void aurora_log_callback(AuroraLogLevel level, const char* module, const char* message,
unsigned int len) {
ZoneScoped;
@@ -118,6 +163,8 @@ void aurora_log_callback(AuroraLogLevel level, const char* module, const char* m
abort();
}
}
#endif
aurora::Module DuskLog("dusk");