mirror of
https://github.com/a2x/cs2-dumper.git
synced 2025-10-08 12:00:02 +08:00
Refactored code
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
namespace builder {
|
||||
class CppFileBuilder : public IFileBuilder {
|
||||
public:
|
||||
std::string get_extension() noexcept override {
|
||||
std::string extension() noexcept override {
|
||||
return "hpp";
|
||||
}
|
||||
|
||||
@@ -12,12 +12,12 @@ namespace builder {
|
||||
output << "#include <cstddef>\n\n";
|
||||
}
|
||||
|
||||
void write_namespace(std::ofstream& output, const std::string& namespace_name) noexcept override {
|
||||
output << "namespace " << namespace_name << " {\n";
|
||||
void write_namespace(std::ofstream& output, const std::string& name) noexcept override {
|
||||
output << "namespace " << name << " {\n";
|
||||
}
|
||||
|
||||
void write_variable(std::ofstream& output, const std::string& variable_name, const std::uint64_t variable_value) noexcept override {
|
||||
output << " constexpr std::ptrdiff_t " << variable_name << " = 0x" << std::hex << variable_value << ";\n";
|
||||
void write_variable(std::ofstream& output, const std::string& name, const std::uintptr_t value) noexcept override {
|
||||
output << " constexpr std::ptrdiff_t " << name << " = 0x" << std::hex << value << ";\n";
|
||||
}
|
||||
|
||||
void write_closure(std::ofstream& output, const bool eof) noexcept override {
|
||||
|
@@ -3,20 +3,18 @@
|
||||
namespace builder {
|
||||
class CSharpFileBuilder : public IFileBuilder {
|
||||
public:
|
||||
std::string get_extension() noexcept override {
|
||||
std::string extension() noexcept override {
|
||||
return "cs";
|
||||
}
|
||||
|
||||
void write_top_level(std::ofstream& output) noexcept override {
|
||||
// Nothing needed here.
|
||||
void write_top_level(std::ofstream& output) noexcept override {}
|
||||
|
||||
void write_namespace(std::ofstream& output, const std::string& name) noexcept override {
|
||||
output << "public static class " << name << " {\n";
|
||||
}
|
||||
|
||||
void write_namespace(std::ofstream& output, const std::string& namespace_name) noexcept override {
|
||||
output << "public static class " << namespace_name << " {\n";
|
||||
}
|
||||
|
||||
void write_variable(std::ofstream& output, const std::string& variable_name, const std::uint64_t variable_value) noexcept override {
|
||||
output << " public const ulong " << variable_name << " = 0x" << std::hex << variable_value << ";\n";
|
||||
void write_variable(std::ofstream& output, const std::string& name, const std::uintptr_t value) noexcept override {
|
||||
output << " public const ulong " << name << " = 0x" << std::hex << value << ";\n";
|
||||
}
|
||||
|
||||
void write_closure(std::ofstream& output, const bool eof) noexcept override {
|
||||
|
@@ -7,10 +7,10 @@ namespace builder {
|
||||
class IFileBuilder {
|
||||
public:
|
||||
virtual ~IFileBuilder() noexcept = default;
|
||||
virtual std::string get_extension() noexcept = 0;
|
||||
virtual std::string extension() noexcept = 0;
|
||||
virtual void write_top_level(std::ofstream& output) noexcept = 0;
|
||||
virtual void write_namespace(std::ofstream& output, const std::string& namespace_name) noexcept = 0;
|
||||
virtual void write_variable(std::ofstream& output, const std::string& variable_name, std::uint64_t variable_value) noexcept = 0;
|
||||
virtual void write_namespace(std::ofstream& output, const std::string& name) noexcept = 0;
|
||||
virtual void write_variable(std::ofstream& output, const std::string& name, std::uintptr_t value) noexcept = 0;
|
||||
virtual void write_closure(std::ofstream& output, bool eof) noexcept = 0;
|
||||
};
|
||||
}
|
||||
|
@@ -5,20 +5,18 @@
|
||||
namespace builder {
|
||||
class JsonFileBuilder : public IFileBuilder {
|
||||
public:
|
||||
std::string get_extension() noexcept override {
|
||||
std::string extension() noexcept override {
|
||||
return "json";
|
||||
}
|
||||
|
||||
void write_top_level(std::ofstream& output) noexcept override {
|
||||
// Nothing needed here.
|
||||
void write_top_level(std::ofstream& output) noexcept override {}
|
||||
|
||||
void write_namespace(std::ofstream& output, const std::string& name) noexcept override {
|
||||
namespace_name_ = name;
|
||||
}
|
||||
|
||||
void write_namespace(std::ofstream& output, const std::string& namespace_name) noexcept override {
|
||||
current_namespace_name_ = namespace_name;
|
||||
}
|
||||
|
||||
void write_variable(std::ofstream& output, const std::string& variable_name, const std::uint64_t variable_value) noexcept override {
|
||||
json[current_namespace_name_][variable_name] = variable_value;
|
||||
void write_variable(std::ofstream& output, const std::string& name, const std::uintptr_t value) noexcept override {
|
||||
json[namespace_name_][name] = value;
|
||||
}
|
||||
|
||||
void write_closure(std::ofstream& output, const bool eof) noexcept override {
|
||||
@@ -33,6 +31,6 @@ namespace builder {
|
||||
nlohmann::json json;
|
||||
|
||||
private:
|
||||
std::string current_namespace_name_;
|
||||
std::string namespace_name_;
|
||||
};
|
||||
}
|
||||
|
@@ -3,7 +3,7 @@
|
||||
namespace builder {
|
||||
class RustFileBuilder : public IFileBuilder {
|
||||
public:
|
||||
std::string get_extension() noexcept override {
|
||||
std::string extension() noexcept override {
|
||||
return "rs";
|
||||
}
|
||||
|
||||
@@ -11,12 +11,12 @@ namespace builder {
|
||||
output << "#![allow(non_snake_case, non_upper_case_globals)]\n\n";
|
||||
}
|
||||
|
||||
void write_namespace(std::ofstream& output, const std::string& namespace_name) noexcept override {
|
||||
output << "pub mod " << namespace_name << " {\n";
|
||||
void write_namespace(std::ofstream& output, const std::string& name) noexcept override {
|
||||
output << "pub mod " << name << " {\n";
|
||||
}
|
||||
|
||||
void write_variable(std::ofstream& output, const std::string& variable_name, const std::uint64_t variable_value) noexcept override {
|
||||
output << " pub const " << variable_name << ": usize = 0x" << std::hex << variable_value << ";\n";
|
||||
void write_variable(std::ofstream& output, const std::string& name, const std::uintptr_t value) noexcept override {
|
||||
output << " pub const " << name << ": usize = 0x" << std::hex << value << ";\n";
|
||||
}
|
||||
|
||||
void write_closure(std::ofstream& output, const bool eof) noexcept override {
|
||||
|
Reference in New Issue
Block a user