Merge pull request #90 from gizmo98/patch-2
[libretro-ppsspp.git] / Core / CoreParameter.h
blobb4c3a78991990a61a9569b1cb03275ed4aa64388
1 // Copyright (c) 2012- PPSSPP Project.
3 // This program is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, version 2.0 or later versions.
7 // This program is distributed in the hope that it will be useful,
8 // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 // GNU General Public License 2.0 for more details.
12 // A copy of the GPL 2.0 should have been included with the program.
13 // If not, see http://www.gnu.org/licenses/
15 // Official git repository and contact information can be found at
16 // https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
18 #pragma once
20 #include <string>
22 enum CPUCore {
23 CPU_INTERPRETER,
24 CPU_JIT,
27 enum GPUCore {
28 GPU_NULL,
29 GPU_GLES,
30 GPU_SOFTWARE,
31 GPU_DIRECTX9,
34 class FileLoader;
36 // PSP_CoreParameter()
37 struct CoreParameter {
38 CoreParameter() : collectEmuLog(0), unthrottle(false), fpsLimit(0), updateRecent(true), freezeNext(false), frozen(false), mountIsoLoader(nullptr) {}
39 CPUCore cpuCore;
40 GPUCore gpuCore;
41 bool enableSound; // there aren't multiple sound cores.
43 std::string fileToStart;
44 std::string mountIso; // If non-empty, and fileToStart is an ELF or PBP, will mount this ISO in the background to umd1:.
45 std::string mountRoot; // If non-empty, and fileToStart is an ELF or PBP, mount this as host0: / umd0:.
46 std::string errorString;
48 bool startPaused;
49 bool printfEmuLog; // writes "emulator:" logging to stdout
50 std::string *collectEmuLog;
51 bool headLess; // Try to avoid messageboxes etc
53 // Internal PSP resolution
54 int renderWidth;
55 int renderHeight;
57 // Actual pixel output resolution (for use by glViewport and the like)
58 int pixelWidth;
59 int pixelHeight;
61 // Can be modified at runtime.
62 bool unthrottle;
63 int fpsLimit;
65 bool updateRecent;
67 // Freeze-frame. For nvidia perfhud profiling. Developers only.
68 bool freezeNext;
69 bool frozen;
71 FileLoader *mountIsoLoader;