Initial re-upload of spice2x-24-08-24
This commit is contained in:
191
games/nost/io.cpp
Normal file
191
games/nost/io.cpp
Normal file
@@ -0,0 +1,191 @@
|
||||
#include "io.h"
|
||||
|
||||
std::vector<Button> &games::nost::get_buttons() {
|
||||
static std::vector<Button> buttons;
|
||||
|
||||
if (buttons.empty()) {
|
||||
buttons = GameAPI::Buttons::getButtons("Nostalgia");
|
||||
|
||||
GameAPI::Buttons::sortButtons(
|
||||
&buttons,
|
||||
"Service",
|
||||
"Test",
|
||||
"Coin Mech",
|
||||
"Key 1",
|
||||
"Key 2",
|
||||
"Key 3",
|
||||
"Key 4",
|
||||
"Key 5",
|
||||
"Key 6",
|
||||
"Key 7",
|
||||
"Key 8",
|
||||
"Key 9",
|
||||
"Key 10",
|
||||
"Key 11",
|
||||
"Key 12",
|
||||
"Key 13",
|
||||
"Key 14",
|
||||
"Key 15",
|
||||
"Key 16",
|
||||
"Key 17",
|
||||
"Key 18",
|
||||
"Key 19",
|
||||
"Key 20",
|
||||
"Key 21",
|
||||
"Key 22",
|
||||
"Key 23",
|
||||
"Key 24",
|
||||
"Key 25",
|
||||
"Key 26",
|
||||
"Key 27",
|
||||
"Key 28"
|
||||
);
|
||||
}
|
||||
|
||||
return buttons;
|
||||
}
|
||||
|
||||
std::vector<Analog> &games::nost::get_analogs() {
|
||||
static std::vector<Analog> analogs;
|
||||
|
||||
if (analogs.empty()) {
|
||||
analogs = GameAPI::Analogs::getAnalogs("Nostalgia");
|
||||
|
||||
GameAPI::Analogs::sortAnalogs(
|
||||
&analogs,
|
||||
"Key 1",
|
||||
"Key 2",
|
||||
"Key 3",
|
||||
"Key 4",
|
||||
"Key 5",
|
||||
"Key 6",
|
||||
"Key 7",
|
||||
"Key 8",
|
||||
"Key 9",
|
||||
"Key 10",
|
||||
"Key 11",
|
||||
"Key 12",
|
||||
"Key 13",
|
||||
"Key 14",
|
||||
"Key 15",
|
||||
"Key 16",
|
||||
"Key 17",
|
||||
"Key 18",
|
||||
"Key 19",
|
||||
"Key 20",
|
||||
"Key 21",
|
||||
"Key 22",
|
||||
"Key 23",
|
||||
"Key 24",
|
||||
"Key 25",
|
||||
"Key 26",
|
||||
"Key 27",
|
||||
"Key 28"
|
||||
);
|
||||
}
|
||||
return analogs;
|
||||
}
|
||||
|
||||
std::vector<Light> &games::nost::get_lights() {
|
||||
static std::vector<Light> lights;
|
||||
|
||||
if (lights.empty()) {
|
||||
lights = GameAPI::Lights::getLights("Nostalgia");
|
||||
|
||||
GameAPI::Lights::sortLights(
|
||||
&lights,
|
||||
"Title R",
|
||||
"Title G",
|
||||
"Title B",
|
||||
"Bottom R",
|
||||
"Bottom G",
|
||||
"Bottom B",
|
||||
"Key 1 R",
|
||||
"Key 1 G",
|
||||
"Key 1 B",
|
||||
"Key 2 R",
|
||||
"Key 2 G",
|
||||
"Key 2 B",
|
||||
"Key 3 R",
|
||||
"Key 3 G",
|
||||
"Key 3 B",
|
||||
"Key 4 R",
|
||||
"Key 4 G",
|
||||
"Key 4 B",
|
||||
"Key 5 R",
|
||||
"Key 5 G",
|
||||
"Key 5 B",
|
||||
"Key 6 R",
|
||||
"Key 6 G",
|
||||
"Key 6 B",
|
||||
"Key 7 R",
|
||||
"Key 7 G",
|
||||
"Key 7 B",
|
||||
"Key 8 R",
|
||||
"Key 8 G",
|
||||
"Key 8 B",
|
||||
"Key 9 R",
|
||||
"Key 9 G",
|
||||
"Key 9 B",
|
||||
"Key 10 R",
|
||||
"Key 10 G",
|
||||
"Key 10 B",
|
||||
"Key 11 R",
|
||||
"Key 11 G",
|
||||
"Key 11 B",
|
||||
"Key 12 R",
|
||||
"Key 12 G",
|
||||
"Key 12 B",
|
||||
"Key 13 R",
|
||||
"Key 13 G",
|
||||
"Key 13 B",
|
||||
"Key 14 R",
|
||||
"Key 14 G",
|
||||
"Key 14 B",
|
||||
"Key 15 R",
|
||||
"Key 15 G",
|
||||
"Key 15 B",
|
||||
"Key 16 R",
|
||||
"Key 16 G",
|
||||
"Key 16 B",
|
||||
"Key 17 R",
|
||||
"Key 17 G",
|
||||
"Key 17 B",
|
||||
"Key 18 R",
|
||||
"Key 18 G",
|
||||
"Key 18 B",
|
||||
"Key 19 R",
|
||||
"Key 19 G",
|
||||
"Key 19 B",
|
||||
"Key 20 R",
|
||||
"Key 20 G",
|
||||
"Key 20 B",
|
||||
"Key 21 R",
|
||||
"Key 21 G",
|
||||
"Key 21 B",
|
||||
"Key 22 R",
|
||||
"Key 22 G",
|
||||
"Key 22 B",
|
||||
"Key 23 R",
|
||||
"Key 23 G",
|
||||
"Key 23 B",
|
||||
"Key 24 R",
|
||||
"Key 24 G",
|
||||
"Key 24 B",
|
||||
"Key 25 R",
|
||||
"Key 25 G",
|
||||
"Key 25 B",
|
||||
"Key 26 R",
|
||||
"Key 26 G",
|
||||
"Key 26 B",
|
||||
"Key 27 R",
|
||||
"Key 27 G",
|
||||
"Key 27 B",
|
||||
"Key 28 R",
|
||||
"Key 28 G",
|
||||
"Key 28 B"
|
||||
);
|
||||
}
|
||||
|
||||
return lights;
|
||||
}
|
||||
179
games/nost/io.h
Normal file
179
games/nost/io.h
Normal file
@@ -0,0 +1,179 @@
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include "cfg/api.h"
|
||||
|
||||
namespace games::nost {
|
||||
|
||||
// all buttons in correct order
|
||||
namespace Buttons {
|
||||
enum {
|
||||
Service,
|
||||
Test,
|
||||
CoinMech,
|
||||
Key1,
|
||||
Key2,
|
||||
Key3,
|
||||
Key4,
|
||||
Key5,
|
||||
Key6,
|
||||
Key7,
|
||||
Key8,
|
||||
Key9,
|
||||
Key10,
|
||||
Key11,
|
||||
Key12,
|
||||
Key13,
|
||||
Key14,
|
||||
Key15,
|
||||
Key16,
|
||||
Key17,
|
||||
Key18,
|
||||
Key19,
|
||||
Key20,
|
||||
Key21,
|
||||
Key22,
|
||||
Key23,
|
||||
Key24,
|
||||
Key25,
|
||||
Key26,
|
||||
Key27,
|
||||
Key28,
|
||||
};
|
||||
}
|
||||
|
||||
// all analogs in correct order
|
||||
namespace Analogs {
|
||||
enum {
|
||||
Key1,
|
||||
Key2,
|
||||
Key3,
|
||||
Key4,
|
||||
Key5,
|
||||
Key6,
|
||||
Key7,
|
||||
Key8,
|
||||
Key9,
|
||||
Key10,
|
||||
Key11,
|
||||
Key12,
|
||||
Key13,
|
||||
Key14,
|
||||
Key15,
|
||||
Key16,
|
||||
Key17,
|
||||
Key18,
|
||||
Key19,
|
||||
Key20,
|
||||
Key21,
|
||||
Key22,
|
||||
Key23,
|
||||
Key24,
|
||||
Key25,
|
||||
Key26,
|
||||
Key27,
|
||||
Key28,
|
||||
};
|
||||
}
|
||||
|
||||
// all lights in correct order
|
||||
namespace Lights {
|
||||
enum {
|
||||
TitleR,
|
||||
TitleG,
|
||||
TitleB,
|
||||
BottomR,
|
||||
BottomG,
|
||||
BottomB,
|
||||
Key1R,
|
||||
Key1G,
|
||||
Key1B,
|
||||
Key2R,
|
||||
Key2G,
|
||||
Key2B,
|
||||
Key3R,
|
||||
Key3G,
|
||||
Key3B,
|
||||
Key4R,
|
||||
Key4G,
|
||||
Key4B,
|
||||
Key5R,
|
||||
Key5G,
|
||||
Key5B,
|
||||
Key6R,
|
||||
Key6G,
|
||||
Key6B,
|
||||
Key7R,
|
||||
Key7G,
|
||||
Key7B,
|
||||
Key8R,
|
||||
Key8G,
|
||||
Key8B,
|
||||
Key9R,
|
||||
Key9G,
|
||||
Key9B,
|
||||
Key10R,
|
||||
Key10G,
|
||||
Key10B,
|
||||
Key11R,
|
||||
Key11G,
|
||||
Key11B,
|
||||
Key12R,
|
||||
Key12G,
|
||||
Key12B,
|
||||
Key13R,
|
||||
Key13G,
|
||||
Key13B,
|
||||
Key14R,
|
||||
Key14G,
|
||||
Key14B,
|
||||
Key15R,
|
||||
Key15G,
|
||||
Key15B,
|
||||
Key16R,
|
||||
Key16G,
|
||||
Key16B,
|
||||
Key17R,
|
||||
Key17G,
|
||||
Key17B,
|
||||
Key18R,
|
||||
Key18G,
|
||||
Key18B,
|
||||
Key19R,
|
||||
Key19G,
|
||||
Key19B,
|
||||
Key20R,
|
||||
Key20G,
|
||||
Key20B,
|
||||
Key21R,
|
||||
Key21G,
|
||||
Key21B,
|
||||
Key22R,
|
||||
Key22G,
|
||||
Key22B,
|
||||
Key23R,
|
||||
Key23G,
|
||||
Key23B,
|
||||
Key24R,
|
||||
Key24G,
|
||||
Key24B,
|
||||
Key25R,
|
||||
Key25G,
|
||||
Key25B,
|
||||
Key26R,
|
||||
Key26G,
|
||||
Key26B,
|
||||
Key27R,
|
||||
Key27G,
|
||||
Key27B,
|
||||
Key28R,
|
||||
Key28G,
|
||||
Key28B,
|
||||
};
|
||||
}
|
||||
|
||||
// getters
|
||||
std::vector<Button> &get_buttons();
|
||||
std::vector<Analog> &get_analogs();
|
||||
std::vector<Light> &get_lights();
|
||||
}
|
||||
46
games/nost/nost.cpp
Normal file
46
games/nost/nost.cpp
Normal file
@@ -0,0 +1,46 @@
|
||||
// enable touch functions - set version to windows 7
|
||||
// mingw otherwise doesn't load touch stuff
|
||||
#define _WIN32_WINNT 0x0601
|
||||
|
||||
#include "nost.h"
|
||||
#include "hooks/setupapihook.h"
|
||||
#include "misc/wintouchemu.h"
|
||||
#include "avs/game.h"
|
||||
|
||||
namespace games::nost {
|
||||
|
||||
NostGame::NostGame() : Game("Nostalgia") {
|
||||
}
|
||||
|
||||
void NostGame::attach() {
|
||||
Game::attach();
|
||||
|
||||
// fake touchscreen
|
||||
///////////////////
|
||||
|
||||
SETUPAPI_SETTINGS touch_settings{};
|
||||
|
||||
// GUID must be set to 0 to make SETUPAPI hook working
|
||||
touch_settings.class_guid[0] = 0x00000000;
|
||||
touch_settings.class_guid[1] = 0x00000000;
|
||||
touch_settings.class_guid[2] = 0x00000000;
|
||||
touch_settings.class_guid[3] = 0x00000000;
|
||||
|
||||
/*
|
||||
* set hardware ID containing VID and PID
|
||||
* there is 3 known VID/PID combinations known to the game:
|
||||
* VID_04DD&PID_97CB
|
||||
* VID_0EEF&PID_C000
|
||||
* VID_29BD&PID_4101
|
||||
*/
|
||||
const char touch_hardwareid[] = "VID_29BD&PID_4101";
|
||||
memcpy(touch_settings.property_hardwareid, touch_hardwareid, sizeof(touch_hardwareid));
|
||||
|
||||
// apply settings
|
||||
setupapihook_init(avs::game::DLL_INSTANCE);
|
||||
setupapihook_add(touch_settings);
|
||||
|
||||
// custom touch
|
||||
wintouchemu::hook("nostalgia", avs::game::DLL_INSTANCE);
|
||||
}
|
||||
}
|
||||
12
games/nost/nost.h
Normal file
12
games/nost/nost.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include "games/game.h"
|
||||
|
||||
namespace games::nost {
|
||||
|
||||
class NostGame : public games::Game {
|
||||
public:
|
||||
NostGame();
|
||||
virtual void attach() override;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user