Initial re-upload of spice2x-24-08-24

This commit is contained in:
2024-08-28 11:10:34 -04:00
commit caa9e02285
1181 changed files with 380065 additions and 0 deletions

42
games/silentscope/io.cpp Normal file
View File

@@ -0,0 +1,42 @@
#include "io.h"
std::vector<Button> &games::silentscope::get_buttons() {
static std::vector<Button> buttons;
if (buttons.empty()) {
buttons = GameAPI::Buttons::getButtons("Silent Scope: Bone Eater");
GameAPI::Buttons::sortButtons(
&buttons,
"Service",
"Test",
"Coin Mech",
"Start",
"Up",
"Down",
"Left",
"Right",
"Gun Pressed",
"Scope Right",
"Scope Left"
);
}
return buttons;
}
std::vector<Analog> &games::silentscope::get_analogs() {
static std::vector<Analog> analogs;
if (analogs.empty()) {
analogs = GameAPI::Analogs::getAnalogs("Silent Scope: Bone Eater");
GameAPI::Analogs::sortAnalogs(
&analogs,
"Gun X",
"Gun Y"
);
}
return analogs;
}

36
games/silentscope/io.h Normal file
View File

@@ -0,0 +1,36 @@
#pragma once
#include <vector>
#include "cfg/api.h"
namespace games::silentscope {
// all buttons in correct order
namespace Buttons {
enum {
SERVICE,
TEST,
COIN_MECH,
START,
UP,
DOWN,
LEFT,
RIGHT,
GUN_PRESSED,
SCOPE_RIGHT,
SCOPE_LEFT,
};
}
// all analogs in correct order
namespace Analogs {
enum {
GUN_X,
GUN_Y,
};
}
// getters
std::vector<Button> &get_buttons();
std::vector<Analog> &get_analogs();
}

View File

@@ -0,0 +1,27 @@
#include "silentscope.h"
#include "acioemu/handle.h"
#include "cfg/configurator.h"
#include "hooks/devicehook.h"
#include "util/libutils.h"
namespace games::silentscope {
SilentScopeGame::SilentScopeGame() : Game("Silent Scope") {
}
void SilentScopeGame::attach() {
Game::attach();
// load the game DLL so hooks apply
libutils::try_library("gamendd.dll");
// TODO(felix): implement stuff on this port
devicehook_init();
devicehook_add(new acioemu::ACIOHandle(L"COM2"));
}
void SilentScopeGame::detach() {
Game::detach();
}
}

View File

@@ -0,0 +1,14 @@
#pragma once
#include "games/game.h"
namespace games::silentscope {
class SilentScopeGame : public games::Game {
public:
SilentScopeGame();
void attach() override;
void detach() override;
};
}