Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hrydgard
GitHub Repository: hrydgard/ppsspp
Path: blob/master/Core/HLE/Plugins.h
3186 views
1
// Copyright (c) 2020- PPSSPP Project.
2
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.
6
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.
11
12
// A copy of the GPL 2.0 should have been included with the program.
13
// If not, see http://www.gnu.org/licenses/
14
15
// Official git repository and contact information can be found at
16
// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
17
18
#pragma once
19
20
#include <cstdint>
21
#include <string>
22
#include "Common/Input/KeyCodes.h"
23
#include "Core/HLE/sceKernelModule.h"
24
25
class PointerWrap;
26
27
namespace HLEPlugins {
28
29
void Init();
30
void Shutdown();
31
32
bool Load(PSPModule *pluginWaitingModule, SceUID threadID);
33
void Unload();
34
35
void DoState(PointerWrap &p);
36
37
bool HasEnabled();
38
39
enum class PluginType {
40
INVALID = 0,
41
PRX,
42
};
43
44
struct PluginInfo {
45
PluginType type;
46
std::string name;
47
std::string filename; // PSP-space path. So we can't use a Path object.
48
int version;
49
uint32_t memory;
50
};
51
52
std::vector<PluginInfo> FindPlugins(const std::string &gameID, const std::string &lang);
53
54
void SetKey(int key, uint8_t value);
55
uint8_t GetKey(int key);
56
57
extern float PluginDataAxis[JOYSTICK_AXIS_MAX];
58
59
} // namespace
60
61