Skip to content

Commit 039bc83

Browse files
committed
feat(configs): Example configs
1 parent 34bd797 commit 039bc83

File tree

7 files changed

+23
-3
lines changed

7 files changed

+23
-3
lines changed

PackageScript

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,10 @@ builder.AddCopy(os.path.join(builder.sourcePath, 'plugin_files', 'bin', 'scripti
6868

6969
configs_folder = builder.AddFolder(os.path.join('addons', MMSPlugin.plugin_name, 'configs'))
7070
configs_plugins_folder = builder.AddFolder(os.path.join('addons', MMSPlugin.plugin_name, 'configs', 'plugins'))
71-
builder.AddCopy(os.path.join(builder.sourcePath, 'plugin_files', 'configs', 'core.json'), configs_folder)
72-
builder.AddCopy(os.path.join(builder.sourcePath, 'plugin_files', 'configs', 'databases.json'), configs_folder)
71+
builder.AddCopy(os.path.join(builder.sourcePath, 'plugin_files', 'configs', 'core.example.json'), configs_folder)
72+
builder.AddCopy(os.path.join(builder.sourcePath, 'plugin_files', 'configs', 'databases.example.json'), configs_folder)
7373
builder.AddCopy(os.path.join(builder.sourcePath, 'plugin_files', 'configs', 'plugins', '.gitignore'), configs_plugins_folder)
74-
builder.AddCopy(os.path.join(builder.sourcePath, 'plugin_files', 'configs', 'chat.json'), configs_folder)
74+
builder.AddCopy(os.path.join(builder.sourcePath, 'plugin_files', 'configs', 'chat.example.json'), configs_folder)
7575

7676
gamedata_folder = builder.AddFolder(os.path.join('addons', MMSPlugin.plugin_name, 'gamedata'))
7777
gamedata_core_folder = builder.AddFolder(os.path.join('addons', MMSPlugin.plugin_name, 'gamedata', 'core'))

src/core/configuration/setup.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#include "../../filesystem/files/Files.h"
2+
3+
void HandleConfigExamples() {
4+
auto files = Files::FetchFileNames("addons/swiftly/configs");
5+
for(auto file : files) {
6+
const std::string config_name = replace(file, ".example", "");
7+
if(ends_with(file, ".example.json") && !Files::ExistsPath(config_name)) {
8+
Files::Write(config_name, Files::Read(file), false);
9+
}
10+
}
11+
}

src/core/configuration/setup.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#ifndef _core_configuration_setup_h
2+
#define _core_configuration_setup_h
3+
4+
void HandleConfigExamples();
5+
6+
#endif

src/entrypoint.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
#include <steam/steam_gameserver.h>
1010

11+
#include "core/configuration/setup.h"
1112
#include "extensions/ExtensionManager.h"
1213
#include "sdk/entity/CRecipientFilters.h"
1314
#include "memory/encoders/msgpack.h"
@@ -173,6 +174,8 @@ bool Swiftly::Load(PluginId id, ISmmAPI* ismm, char* error, size_t maxlen, bool
173174

174175
g_pCVar = icvar;
175176

177+
HandleConfigExamples();
178+
176179
if (!BeginCrashListener())
177180
PRINTRET("Crash Reporter failed to initialize.\n", false);
178181

0 commit comments

Comments
 (0)