Merge branch 'master' into tex-cache
This commit is contained in:
commit
9268b7d48e
9 changed files with 78 additions and 13 deletions
|
@ -83,6 +83,17 @@ android {
|
|||
}
|
||||
}
|
||||
|
||||
flavorDimensions "version"
|
||||
productFlavors {
|
||||
canary {
|
||||
dimension "version"
|
||||
applicationIdSuffix ".canary"
|
||||
}
|
||||
nightly {
|
||||
dimension "version"
|
||||
}
|
||||
}
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
version "3.18.1"
|
||||
|
@ -140,5 +151,10 @@ def getVersion() {
|
|||
logger.error('Cannot find git, defaulting to dummy version number')
|
||||
}
|
||||
|
||||
if (System.getenv("GITHUB_ACTIONS") != null) {
|
||||
def gitTag = System.getenv("GIT_TAG_NAME")
|
||||
versionName = gitTag ?: versionName
|
||||
}
|
||||
|
||||
return versionName
|
||||
}
|
||||
|
|
|
@ -391,6 +391,9 @@ int main(int argc, char** argv) {
|
|||
return -1;
|
||||
case Core::System::ResultStatus::Success:
|
||||
break; // Expected case
|
||||
default:
|
||||
LOG_ERROR(Frontend, "Error while loading ROM: {}", system.GetStatusDetails());
|
||||
break;
|
||||
}
|
||||
|
||||
system.TelemetrySession().AddField(Common::Telemetry::FieldType::App, "Frontend", "SDL");
|
||||
|
@ -437,7 +440,18 @@ int main(int argc, char** argv) {
|
|||
});
|
||||
|
||||
while (emu_window->IsOpen()) {
|
||||
system.RunLoop();
|
||||
const auto result = system.RunLoop();
|
||||
|
||||
switch (result) {
|
||||
case Core::System::ResultStatus::ShutdownRequested:
|
||||
emu_window->RequestClose();
|
||||
break;
|
||||
case Core::System::ResultStatus::Success:
|
||||
break;
|
||||
default:
|
||||
LOG_ERROR(Frontend, "Error in main run loop: {}", result, system.GetStatusDetails());
|
||||
break;
|
||||
}
|
||||
}
|
||||
render_thread.join();
|
||||
|
||||
|
|
|
@ -104,6 +104,10 @@ bool EmuWindow_SDL2::IsOpen() const {
|
|||
return is_open;
|
||||
}
|
||||
|
||||
void EmuWindow_SDL2::RequestClose() {
|
||||
is_open = false;
|
||||
}
|
||||
|
||||
void EmuWindow_SDL2::OnResize() {
|
||||
int width, height;
|
||||
SDL_GetWindowSize(render_window, &width, &height);
|
||||
|
@ -134,7 +138,7 @@ void EmuWindow_SDL2::Fullscreen() {
|
|||
EmuWindow_SDL2::EmuWindow_SDL2(bool fullscreen) {
|
||||
// Initialize the window
|
||||
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_GAMECONTROLLER) < 0) {
|
||||
LOG_CRITICAL(Frontend, "Failed to initialize SDL2! Exiting...");
|
||||
LOG_CRITICAL(Frontend, "Failed to initialize SDL2: {}! Exiting...", SDL_GetError());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
@ -258,7 +262,7 @@ void EmuWindow_SDL2::PollEvents() {
|
|||
OnResize();
|
||||
break;
|
||||
case SDL_WINDOWEVENT_CLOSE:
|
||||
is_open = false;
|
||||
RequestClose();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@ -289,7 +293,7 @@ void EmuWindow_SDL2::PollEvents() {
|
|||
OnFingerUp();
|
||||
break;
|
||||
case SDL_QUIT:
|
||||
is_open = false;
|
||||
RequestClose();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -46,6 +46,9 @@ public:
|
|||
/// Whether the window is still open, and a close request hasn't yet been sent
|
||||
bool IsOpen() const;
|
||||
|
||||
/// Close the window.
|
||||
void RequestClose();
|
||||
|
||||
/// Creates a new context that is shared with the current context
|
||||
std::unique_ptr<GraphicsContext> CreateSharedContext() const override;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue