1
0
Fork 0

Codechange: use std::string for getting a script's name

pull/10802/head
Rubidium 2023-05-05 14:00:00 +02:00 committed by rubidium42
parent f1fb6c95fe
commit 72082aa7d3
6 changed files with 17 additions and 19 deletions

View File

@ -48,9 +48,9 @@ AIScannerInfo::~AIScannerInfo()
delete this->info_dummy; delete this->info_dummy;
} }
void AIScannerInfo::GetScriptName(ScriptInfo *info, char *name, const char *last) std::string AIScannerInfo::GetScriptName(ScriptInfo *info)
{ {
seprintf(name, last, "%s", info->GetName()); return info->GetName();
} }
void AIScannerInfo::RegisterAPI(class Squirrel *engine) void AIScannerInfo::RegisterAPI(class Squirrel *engine)
@ -138,10 +138,10 @@ void AIScannerLibrary::Initialize()
ScriptScanner::Initialize("AIScanner"); ScriptScanner::Initialize("AIScanner");
} }
void AIScannerLibrary::GetScriptName(ScriptInfo *info, char *name, const char *last) std::string AIScannerLibrary::GetScriptName(ScriptInfo *info)
{ {
AILibrary *library = static_cast<AILibrary *>(info); AILibrary *library = static_cast<AILibrary *>(info);
seprintf(name, last, "%s.%s", library->GetCategory(), library->GetInstanceName()); return fmt::format("{}.{}", library->GetCategory(), library->GetInstanceName());
} }
void AIScannerLibrary::RegisterAPI(class Squirrel *engine) void AIScannerLibrary::RegisterAPI(class Squirrel *engine)

View File

@ -40,7 +40,7 @@ public:
void SetDummyAI(class AIInfo *info); void SetDummyAI(class AIInfo *info);
protected: protected:
void GetScriptName(ScriptInfo *info, char *name, const char *last) override; std::string GetScriptName(ScriptInfo *info) override;
const char *GetFileName() const override { return PATHSEP "info.nut"; } const char *GetFileName() const override { return PATHSEP "info.nut"; }
Subdirectory GetDirectory() const override { return AI_DIR; } Subdirectory GetDirectory() const override { return AI_DIR; }
const char *GetScannerName() const override { return "AIs"; } const char *GetScannerName() const override { return "AIs"; }
@ -63,7 +63,7 @@ public:
class AILibrary *FindLibrary(const char *library, int version); class AILibrary *FindLibrary(const char *library, int version);
protected: protected:
void GetScriptName(ScriptInfo *info, char *name, const char *last) override; std::string GetScriptName(ScriptInfo *info) override;
const char *GetFileName() const override { return PATHSEP "library.nut"; } const char *GetFileName() const override { return PATHSEP "library.nut"; }
Subdirectory GetDirectory() const override { return AI_LIBRARY_DIR; } Subdirectory GetDirectory() const override { return AI_LIBRARY_DIR; }
const char *GetScannerName() const override { return "AI Libraries"; } const char *GetScannerName() const override { return "AI Libraries"; }

View File

@ -13,6 +13,8 @@
#include "game_info.hpp" #include "game_info.hpp"
#include "game_scanner.hpp" #include "game_scanner.hpp"
#include "../3rdparty/fmt/format.h"
#include "../safeguards.h" #include "../safeguards.h"
@ -21,9 +23,9 @@ void GameScannerInfo::Initialize()
ScriptScanner::Initialize("GSScanner"); ScriptScanner::Initialize("GSScanner");
} }
void GameScannerInfo::GetScriptName(ScriptInfo *info, char *name, const char *last) std::string GameScannerInfo::GetScriptName(ScriptInfo *info)
{ {
seprintf(name, last, "%s", info->GetName()); return info->GetName();
} }
void GameScannerInfo::RegisterAPI(class Squirrel *engine) void GameScannerInfo::RegisterAPI(class Squirrel *engine)
@ -77,10 +79,10 @@ void GameScannerLibrary::Initialize()
ScriptScanner::Initialize("GSScanner"); ScriptScanner::Initialize("GSScanner");
} }
void GameScannerLibrary::GetScriptName(ScriptInfo *info, char *name, const char *last) std::string GameScannerLibrary::GetScriptName(ScriptInfo *info)
{ {
GameLibrary *library = static_cast<GameLibrary *>(info); GameLibrary *library = static_cast<GameLibrary *>(info);
seprintf(name, last, "%s.%s", library->GetCategory(), library->GetInstanceName()); return fmt::format("{}.{}", library->GetCategory(), library->GetInstanceName());
} }
void GameScannerLibrary::RegisterAPI(class Squirrel *engine) void GameScannerLibrary::RegisterAPI(class Squirrel *engine)

View File

@ -26,7 +26,7 @@ public:
class GameInfo *FindInfo(const char *nameParam, int versionParam, bool force_exact_match); class GameInfo *FindInfo(const char *nameParam, int versionParam, bool force_exact_match);
protected: protected:
void GetScriptName(ScriptInfo *info, char *name, const char *last) override; std::string GetScriptName(ScriptInfo *info) override;
const char *GetFileName() const override { return PATHSEP "info.nut"; } const char *GetFileName() const override { return PATHSEP "info.nut"; }
Subdirectory GetDirectory() const override { return GAME_DIR; } Subdirectory GetDirectory() const override { return GAME_DIR; }
const char *GetScannerName() const override { return "Game Scripts"; } const char *GetScannerName() const override { return "Game Scripts"; }
@ -47,7 +47,7 @@ public:
class GameLibrary *FindLibrary(const char *library, int version); class GameLibrary *FindLibrary(const char *library, int version);
protected: protected:
void GetScriptName(ScriptInfo *info, char *name, const char *last) override; std::string GetScriptName(ScriptInfo *info) override;
const char *GetFileName() const override { return PATHSEP "library.nut"; } const char *GetFileName() const override { return PATHSEP "library.nut"; }
Subdirectory GetDirectory() const override { return GAME_LIBRARY_DIR; } Subdirectory GetDirectory() const override { return GAME_LIBRARY_DIR; }
const char *GetScannerName() const override { return "GS Libraries"; } const char *GetScannerName() const override { return "GS Libraries"; }

View File

@ -97,12 +97,8 @@ void ScriptScanner::Reset()
void ScriptScanner::RegisterScript(ScriptInfo *info) void ScriptScanner::RegisterScript(ScriptInfo *info)
{ {
char script_original_name[1024]; std::string script_original_name = this->GetScriptName(info);
this->GetScriptName(info, script_original_name, lastof(script_original_name)); std::string script_name = fmt::format("{}.{}", script_original_name, info->GetVersion());
strtolower(script_original_name);
char script_name[1024];
seprintf(script_name, lastof(script_name), "%s.%d", script_original_name, info->GetVersion());
/* Check if GetShortName follows the rules */ /* Check if GetShortName follows the rules */
if (strlen(info->GetShortName()) != 4) { if (strlen(info->GetShortName()) != 4) {

View File

@ -99,7 +99,7 @@ protected:
/** /**
* Get the script name how to store the script in memory. * Get the script name how to store the script in memory.
*/ */
virtual void GetScriptName(ScriptInfo *info, char *name, const char *last) = 0; virtual std::string GetScriptName(ScriptInfo *info) = 0;
/** /**
* Get the filename to scan for this type of script. * Get the filename to scan for this type of script.