mirror of
https://gitlab.com/Mr_Goldberg/goldberg_emulator.git
synced 2025-12-06 12:14:54 +01:00
Update 128 files
- /dll/base.cpp - /dll/base.h - /dll/common_includes.h - /dll/dll.cpp - /dll/dll.h - /dll/flat.cpp - /dll/local_storage.cpp - /dll/local_storage.h - /dll/net.proto - /dll/network.cpp - /dll/network.h - /dll/rtlgenrandom.c - /dll/rtlgenrandom.def - /dll/settings.cpp - /dll/settings.h - /dll/settings_parser.cpp - /dll/settings_parser.h - /dll/steam_HTMLsurface.h - /dll/steam_applist.cpp - /dll/steam_applist.h - /dll/steam_apps.cpp - /dll/steam_apps.h - /dll/steam_client.cpp - /dll/steam_client.h - /dll/steam_controller.h - /dll/steam_friends.h - /dll/steam_game_coordinator.h - /dll/steam_gamesearch.h - /dll/steam_gameserver.cpp - /dll/steam_gameserver.h - /dll/steam_gameserverstats.cpp - /dll/steam_gameserverstats.h - /dll/steam_http.cpp - /dll/steam_http.h - /dll/steam_inventory.h - /dll/steam_masterserver_updater.h - /dll/steam_matchmaking.h - /dll/steam_matchmaking_servers.cpp - /dll/steam_matchmaking_servers.h - /dll/steam_music.cpp - /dll/steam_music.h - /dll/steam_musicremote.cpp - /dll/steam_musicremote.h - /dll/steam_networking.h - /dll/steam_networking_messages.h - /dll/steam_networking_sockets.h - /dll/steam_networking_socketsserialized.h - /dll/steam_networking_utils.h - /dll/steam_parental.cpp - /dll/steam_parental.h - /dll/steam_parties.h - /dll/steam_remote_storage.h - /dll/steam_remoteplay.h - /dll/steam_screenshots.cpp - /dll/steam_screenshots.h - /dll/steam_tv.h - /dll/steam_ugc.h - /dll/steam_unified_messages.h - /dll/steam_user.h - /dll/steam_user_stats.h - /dll/steam_utils.h - /dll/steam_video.cpp - /dll/steam_video.h - /dll/wrap.cpp - /all/network.h - /all/network.cpp - /all/dll.cpp - /all/base.cpp - /all/base.h - /all/common_includes.h - /all/local_storage.cpp - /all/local_storage.h - /all/rtlgenrandom.c - /all/settings_parser.cpp - /all/settings.cpp - /all/steam_HTMLsurface.h - /all/settings_parser.h - /all/steam_client.h - /all/steam_apps.h - /all/steam_gameserver.h - /all/steam_client.cpp - /all/steam_applist.cpp - /all/steam_gameserver.cpp - /all/steam_controller.h - /all/dll.h - /all/steam_apps.cpp - /all/steam_friends.h - /all/steam_game_coordinator.h - /all/net.proto - /all/rtlgenrandom.def - /all/steam_matchmaking_servers.h - /all/settings.h - /all/steam_applist.h - /all/flat.cpp - /all/steam_gamesearch.h - /all/steam_music.cpp - /all/steam_remoteplay.h - /all/steam_screenshots.cpp - /all/steam_parental.cpp - /all/steam_musicremote.h - /all/steam_networking.h - /all/steam_networking_messages.h - /all/steam_networking_sockets.h - /all/steam_networking_socketsserialized.h - /all/steam_networking_utils.h - /all/steam_parental.h - /all/steam_parties.h - /all/steam_remote_storage.h - /all/steam_screenshots.h - /all/steam_tv.h - /all/steam_ugc.h - /all/steam_unified_messages.h - /all/steam_user.h - /all/steam_user_stats.h - /all/steam_http.cpp - /all/steam_http.h - /all/steam_inventory.h - /all/steam_masterserver_updater.h - /all/steam_matchmaking.h - /all/steam_matchmaking_servers.cpp - /all/steam_music.h - /all/steam_musicremote.cpp - /all/steam_utils.h - /all/steam_video.cpp - /all/wrap.cpp - /all/steam_gameserverstats.cpp - /all/steam_gameserverstats.h - /all/steam_video.h
This commit is contained in:
parent
1c0bdceaac
commit
25c00530f3
64 changed files with 0 additions and 0 deletions
169
all/settings.h
Normal file
169
all/settings.h
Normal file
|
|
@ -0,0 +1,169 @@
|
|||
/* Copyright (C) 2019 Mr Goldberg
|
||||
This file is part of the Goldberg Emulator
|
||||
|
||||
The Goldberg Emulator is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 3 of the License, or (at your option) any later version.
|
||||
|
||||
The Goldberg Emulator is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the Goldberg Emulator; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef SETTINGS_INCLUDE
|
||||
#define SETTINGS_INCLUDE
|
||||
|
||||
#include "base.h"
|
||||
|
||||
struct IP_PORT;
|
||||
|
||||
struct DLC_entry {
|
||||
AppId_t appID;
|
||||
std::string name;
|
||||
bool available;
|
||||
};
|
||||
|
||||
struct Mod_entry {
|
||||
PublishedFileId_t id;
|
||||
std::string title;
|
||||
std::string path;
|
||||
};
|
||||
|
||||
struct Leaderboard_config {
|
||||
enum ELeaderboardSortMethod sort_method;
|
||||
enum ELeaderboardDisplayType display_type;
|
||||
};
|
||||
|
||||
enum Stat_Type {
|
||||
STAT_TYPE_INT,
|
||||
STAT_TYPE_FLOAT,
|
||||
STAT_TYPE_AVGRATE
|
||||
};
|
||||
|
||||
struct Stat_config {
|
||||
enum Stat_Type type;
|
||||
union {
|
||||
float default_value_float;
|
||||
uint32 default_value_int;
|
||||
};
|
||||
};
|
||||
|
||||
struct Image_Data {
|
||||
uint32 width;
|
||||
uint32 height;
|
||||
std::string data;
|
||||
};
|
||||
|
||||
struct Controller_Settings {
|
||||
std::map<std::string, std::map<std::string, std::pair<std::set<std::string>, std::string>>> action_sets;
|
||||
std::map<std::string, std::string> action_set_layer_parents;
|
||||
std::map<std::string, std::map<std::string, std::pair<std::set<std::string>, std::string>>> action_set_layers;
|
||||
};
|
||||
|
||||
class Settings {
|
||||
CSteamID steam_id;
|
||||
CGameID game_id;
|
||||
std::string name, language;
|
||||
CSteamID lobby_id;
|
||||
|
||||
bool unlockAllDLCs;
|
||||
bool offline;
|
||||
std::vector<struct DLC_entry> DLCs;
|
||||
std::vector<struct Mod_entry> mods;
|
||||
std::map<AppId_t, std::string> app_paths;
|
||||
std::map<std::string, Leaderboard_config> leaderboards;
|
||||
std::map<std::string, Stat_config> stats;
|
||||
bool create_unknown_leaderboards;
|
||||
uint16 port;
|
||||
|
||||
public:
|
||||
#ifdef LOBBY_CONNECT
|
||||
static const bool is_lobby_connect = true;
|
||||
#else
|
||||
static const bool is_lobby_connect = false;
|
||||
#endif
|
||||
static std::string sanitize(std::string name);
|
||||
Settings(CSteamID steam_id, CGameID game_id, std::string name, std::string language, bool offline);
|
||||
CSteamID get_local_steam_id();
|
||||
CGameID get_local_game_id();
|
||||
const char *get_local_name();
|
||||
void set_local_name(char *name);
|
||||
const char *get_language();
|
||||
void set_language(char *language);
|
||||
|
||||
void set_game_id(CGameID game_id);
|
||||
void set_lobby(CSteamID lobby_id);
|
||||
CSteamID get_lobby();
|
||||
bool is_offline() {return offline; }
|
||||
uint16 get_port() {return port;}
|
||||
void set_port(uint16 port) { this->port = port;}
|
||||
|
||||
//DLC stuff
|
||||
void unlockAllDLC(bool value);
|
||||
void addDLC(AppId_t appID, std::string name, bool available);
|
||||
unsigned int DLCCount();
|
||||
bool hasDLC(AppId_t appID);
|
||||
bool getDLC(unsigned int index, AppId_t &appID, bool &available, std::string &name);
|
||||
|
||||
//Depots
|
||||
std::vector<DepotId_t> depots;
|
||||
|
||||
//App Install paths
|
||||
void setAppInstallPath(AppId_t appID, std::string path);
|
||||
std::string getAppInstallPath(AppId_t appID);
|
||||
|
||||
//mod stuff
|
||||
void addMod(PublishedFileId_t id, std::string title, std::string path);
|
||||
Mod_entry getMod(PublishedFileId_t id);
|
||||
bool isModInstalled(PublishedFileId_t id);
|
||||
std::set<PublishedFileId_t> modSet();
|
||||
|
||||
//leaderboards
|
||||
void setLeaderboard(std::string leaderboard, enum ELeaderboardSortMethod sort_method, enum ELeaderboardDisplayType display_type);
|
||||
std::map<std::string, Leaderboard_config> getLeaderboards() { return leaderboards; }
|
||||
void setCreateUnknownLeaderboards(bool enable) {create_unknown_leaderboards = enable;}
|
||||
bool createUnknownLeaderboards() { return create_unknown_leaderboards; }
|
||||
|
||||
//custom broadcasts
|
||||
std::set<IP_PORT> custom_broadcasts;
|
||||
|
||||
//stats
|
||||
std::map<std::string, Stat_config> getStats() { return stats; }
|
||||
void setStatDefiniton(std::string name, struct Stat_config stat_config) {stats[ascii_to_lowercase(name)] = stat_config; }
|
||||
|
||||
//subscribed lobby/group ids
|
||||
std::set<uint64> subscribed_groups;
|
||||
|
||||
//images
|
||||
std::map<int, struct Image_Data> images;
|
||||
int add_image(std::string data, uint32 width, uint32 height);
|
||||
|
||||
//controller
|
||||
struct Controller_Settings controller_settings;
|
||||
std::string glyphs_directory;
|
||||
|
||||
//networking
|
||||
bool disable_networking = false;
|
||||
|
||||
//overlay
|
||||
bool disable_overlay = false;
|
||||
|
||||
//app build id
|
||||
int build_id = 10;
|
||||
|
||||
//make lobby creation fail in the matchmaking interface
|
||||
bool disable_lobby_creation = false;
|
||||
|
||||
//warn people who use force_ settings
|
||||
bool warn_forced = false;
|
||||
|
||||
//warn people who use local save
|
||||
bool warn_local_save = false;
|
||||
};
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue