summaryrefslogtreecommitdiff
path: root/Source/Android/jni/MainAndroid.cpp
AgeCommit message (Collapse)Author
2018-03-31DiscIO: Don't use all uppercase for enum valuesJosJuice
Also removing some prefixes that we don't need now that we're using enum classes instead of plain enums.
2018-02-16Android: Implement game-specific settings overrides UIGreg Wicks
2018-01-21Android: Support change discmahdihijazi
2018-01-10Added an actual implementation for yes/no dialogs on Android using ↵34will
Object.wait and Object.notify. Modified NativeLibrary to display alerts in AlertDialogs rather than Toast notifications, and allow yes/no options. Modified MainAndroid to use the new displayAlertMsg, and to return its output.
2018-01-05Merge pull request #6270 from mahdihijazi/suppport_restore_stateMarkus Wick
[Android] Support restore emulator state
2017-12-28Optionally delete savestate that gets loaded at bootJosJuice
2017-12-28MainAndroid: Don't set User directory redundantlyJosJuice
2017-12-27MainAndroid: Optionally wait for savestate to finish writingJosJuice
2017-12-27MainAndroid: Allow specifying savestate to load at bootJosJuice
2017-12-27MainAndroid: Add wrapper for Core::IsRunningJosJuice
2017-12-27MainAndroid: Allow specifying path for savestatesJosJuice
2017-12-26Android: Don't extract Sys if it already is extractedJosJuice
2017-12-26Android: Extract Sys to a different folder than the User folderJosJuice
2017-10-15Move emulation lifecycle handling into EmulationFragment.Mike Harris
The Activity is responsible for just its views and menus and such. It signals the Fragment via setGamePath, StartEmulation and StopEmulation. The Fragment manages the actual emulation lifecycle. It is solely responsible for calling the NativeLibrary lifecycle methods. With this lifecycle simplification, the NativeLibrary no longer needs to kill the Activity. It happens normally now. This simplifies a lot of things, live handling rotation.
2017-09-09Common: Move version strings to their own headerLioncash
Ideally Common.h wouldn't be a header in the Common library, and instead be renamed to something else, like PlatformCompatibility.h or something, but even then, there's still some things in the header that don't really fall under that label This moves the version strings out to their own version header that doesn't dump a bunch of other unrelated things into scope, like what Common.h was doing. This also places them into the Common namespace, as opposed to letting them sit in the global namespace.
2017-08-23MainAndroid: Remove s_filenameJosJuice
This fits better as a function parameter than as global state.
2017-08-03MsgHandler: small cleanupMichael M
2017-07-30DolphinWX: Add a progress dialog host commandStenzek
Allows feedback from backends to be communicated to the user when long-running operation are performed (e.g. shader compilation).
2017-07-23Move the Wiimote connect code out of HostLéo Lam
I don't know who thought it would be a good idea to put the Wiimote connect code as part of the Host interface, and have that called from both the UI code and the core. And then hack around it by having "force connect" events whenever Host_ConnectWiimote is called from the core...
2017-07-15Remove Wii Remote connection status from status barLéo Lam
Showing the Wii remote connection status leads to inconsistent UX, because we don't do anything like that for GameCube controllers or with Bluetooth passthrough. It's also questionable how useful it is given that: * it doesn't print the number of connected remotes, just that one remote is connected, connecting or not connected, so the only info it provides is actually wrong when using multiple remotes; * this user-facing feature is actually broken in master and no one has complained AFAIK, which means people don't really rely on it; * the status bar isn't visible most of the time unless the user is using render to main or deliberately keeping the main window's status bar visible by moving the render window and they're not too far away from their screen; * emulated Wii remotes now reconnect on input, which means that there is less of a need to actually know at all times whether a remote is connected, since pressing any button will reconnect it and provide immediate, visible feedback via OSD messages and the Wii remote pointer appearing.
2017-07-12DolphinWX: fix input bitmaps not working when background input is offMichael Maltese
2017-06-06Boot: Clean up the boot codeLéo Lam
* Move out boot parameters to a separate struct, which is not part of SConfig/ConfigManager because there is no reason for it to be there. * Move out file name parsing and constructing the appropriate params from paths to a separate function that does that, and only that. * For every different boot type we support, add a proper struct with only the required parameters, with descriptive names and use std::variant to only store what we need. * Clean up the bHLE_BS2 stuff which made no sense sometimes. Now instead of using bHLE_BS2 for two different things, both for storing the user config setting and as a runtime boot parameter, we simply replace the Disc boot params with BootParameters::IPL. * Const correctness so it's clear what can or cannot update the config. * Drop unused parameters and unneeded checks. * Make a few checks a lot more concise. (Looking at you, extension checks for disc images.) * Remove a mildly terrible workaround where we needed to pass an empty string in order to boot the GC IPL without any game inserted. (Not required anymore thanks to std::variant and std::optional.) The motivation for this are multiple: cleaning up and being able to add support for booting an installed NAND title. Without this change, it'd be pretty much impossible to implement that. Also, using std::visit with std::variant makes the compiler do additional type checks: now we're guaranteed that the boot code will handle all boot types and no invalid boot type will be possible.
2017-06-06DiscIO: Remove C/I/S prefixes from class namesJosJuice
These prefixes were inconsistent with the rest of Dolphin. I'm also renaming VolumeWiiCrypted to VolumeWii because of 1113b13.
2017-06-05Fix minor formatting issuesLéo Lam
These were not caught by the lint script while it was broken.
2017-05-26Merge pull request #5465 from sepalani/gc-biosLeo Lam
Tools: Load GameCube BIOS added
2017-05-22Tools: Load GameCube BIOS addedSepalani
2017-05-22Fix indirect includesLéo Lam
2017-05-19DiscIO: Remove VolumeCreatorJosJuice
This file is pretty small now that it doesn't handle Wii partitions anymore, so let's move its contents to Volume.cpp. This is also more consistent with how blob creation works.
2017-05-18MainAndroid: Resolve -Wmissing-variable-declarations warningsLioncash
2017-04-16x86-64 support on AndroidJosJuice
We can do this now that the x86-64 JIT supports PIE. JITIL is deliberately excluded from the GUI because it doesn't support PIE yet. (JITIL will be used if it's set in the INI, though.)
2017-03-04Android: Move screenshot waiting logic to RendererStenzek
2017-03-04VideoCommon: Rename Renderer s_ prefixes to m_Stenzek
2017-02-05Core: Convert State enum into an enum classLioncash
2016-11-11MainAndroid: Remove obsolete Host_RequestFullscreen() functionJules Blok
2016-11-11BlockingLoop: Yield to UI message pump while waiting.Jules Blok
2016-10-31Merge pull request #4401 from JosJuice/rename-getuniqueidMarkus Wick
DiscIO/SConfig: Rename GetUniqueID to GetGameID
2016-10-29DiscIO/SConfig: Rename GetUniqueID to GetGameIDJosJuice
We call this "game ID" everywhere else, and it's not actually completely unique.
2016-10-25Android: Remove unused stuffSean Maas
2016-10-01VideoCommon: Call Renderer::SurfaceChanged on render parent resizeStenzek
This is needed because for some reason the WSI for NV Vulkan drivers doesn't return VK_ERROR_OUT_OF_DATE_KHR, so there is no other way to know that a resize has occured apart from polling, which is a poor solution for X11 (since it is blocking).
2016-07-13Move DiscIO enums to a new fileJosJuice
At first there weren't many enums in Volume.h, but the number has been growing, and I'm planning to add one more for regions. To not make Volume.h too large, and to avoid needing to include Volume.h in code that doesn't use volume objects, I'm moving the enums to a new file. I'm also turning them into enum classes while I'm at it.
2016-06-26VideoCommon: Drop GetConfigName.degasus
We're past 5.0 now, so there is no need to look for old inis.
2016-06-25Undo some comment formatting changes from b5104a7JosJuice
2016-06-26GCVolume: supports reading all opening.bnr informationRukai
DQT2: Game properties dialog contains info tab giving information about the selected iso.
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-05-13Core/Movie: Add ability to run code in Host contextEmptyChaos
EndPlayInput runs on the CPU thread so it can't directly call UpdateWantDeterminism. PlayController also tries to ChangeDisc from the CPU Thread which is also invalid. It now just pauses execution and posts a request to the Host to fix it instead. The Core itself also did dodgy things like PauseAndLock-ing from the CPU Thread and SetState from EmuThread which have been removed.
2016-05-13Core: Threadsafety Synchronization Fixes (Frame Advance / FifoPlayer)EmptyChaos
Fix Frame Advance and FifoPlayer pause/unpause/stop. CPU::EnableStepping is not atomic but is called from multiple threads which races and leaves the system in a random state; also instruction stepping was unstable, m_StepEvent had an almost random value because of the dual purpose it served which could cause races where CPU::Run would SingleStep when it was supposed to be sleeping. FifoPlayer never FinishStateMove()d which was causing it to deadlock. Rather than partially reimplementing CPU::Run, just use CPUCoreBase and then call CPU::Run(). More DRY and less likely to have weird bugs specific to the player (i.e the previous freezing on pause/stop). Refactor PowerPC::state into CPU since it manages the state of the CPU Thread which is controlled by CPU, not PowerPC. This simplifies the architecture somewhat and eliminates races that can be caused by calling PowerPC state functions directly instead of using CPU's (because they bypassed the EnableStepping lock).
2016-05-05SCM: Use std::string.degasus
Those macros may be defined, or not. We should support both cases, so use std::string as it also defines the length of the string.
2016-04-24Android: Also create directorys for the Wii files.degasus
2016-02-07[Android] Implement support for real Wiimotes with the DolphinBarRyan Houdek
This is the only way to get Wiimotes working under Android now. This, just like the Wii U Gamecube Controller Adapter, completely goes around Android's limitations and talks with the device directly through USBManager. Couple notes. Continuous scanning must be enabled otherwise the Wiimotes won't be seen. The UI doesn't expose support for this yet. One must change the Wiimote source and continuous scanning settings manually. Testing up to two wiimotes in Taiko No Tatsujin, no reason to believe all four won't work.
2016-01-10[Android] Add support for rotation and minimizing the applicationRyan Houdek