diff --git a/.clang-format b/.clang-format new file mode 100644 index 00000000..8c858c52 --- /dev/null +++ b/.clang-format @@ -0,0 +1,74 @@ +BasedOnStyle: Microsoft +AccessModifierOffset: '-4' +AlignAfterOpenBracket: DontAlign +AlignConsecutiveAssignments: 'true' +AlignEscapedNewlines: Left +AlignOperands: 'false' +AlignTrailingComments: 'true' +AllowAllArgumentsOnNextLine: 'false' +AllowAllConstructorInitializersOnNextLine: 'false' +AllowAllParametersOfDeclarationOnNextLine: 'false' +AllowShortBlocksOnASingleLine: 'false' +AllowShortCaseLabelsOnASingleLine: 'true' +AllowShortFunctionsOnASingleLine: None +AllowShortIfStatementsOnASingleLine: Never +AllowShortLambdasOnASingleLine: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: 'false' +AlwaysBreakTemplateDeclarations: 'Yes' +BinPackArguments: 'false' +BinPackParameters: 'true' +BreakBeforeBinaryOperators: NonAssignment +BreakBeforeBraces: Allman +BreakBeforeTernaryOperators: 'false' +BreakConstructorInitializers: AfterColon +BreakInheritanceList: AfterColon +BreakStringLiterals: 'false' +CompactNamespaces: 'false' +ConstructorInitializerAllOnOneLineOrOnePerLine: 'false' +ConstructorInitializerIndentWidth: '4' +Cpp11BracedListStyle: 'true' +DerivePointerAlignment: 'false' +FixNamespaceComments: 'false' +IncludeBlocks: Regroup +IndentCaseLabels: 'false' +IndentPPDirectives: BeforeHash +IndentWidth: '4' +TabWidth: 4 +IndentWrappedFunctionNames: 'true' +KeepEmptyLinesAtTheStartOfBlocks: 'false' +Language: Cpp +MacroBlockBegin: '0' +MaxEmptyLinesToKeep: '2' +NamespaceIndentation: All +PenaltyExcessCharacter: '0' +PenaltyReturnTypeOnItsOwnLine: '0' +PointerAlignment: Left +ReflowComments: 'false' +SortIncludes: 'true' +SortUsingDeclarations: 'true' +SpaceAfterCStyleCast: 'false' +SpaceAfterLogicalNot: 'false' +SpaceAfterTemplateKeyword: 'false' +SpaceBeforeAssignmentOperators: 'true' +SpaceBeforeCpp11BracedList: 'false' +SpaceBeforeCtorInitializerColon: 'true' +SpaceBeforeInheritanceColon: 'true' +SpaceBeforeParens: ControlStatements +SpaceBeforeRangeBasedForLoopColon: 'true' +SpaceInEmptyParentheses: 'false' +SpacesBeforeTrailingComments: '1' +SpacesInAngles: 'false' +SpacesInCStyleCastParentheses: 'false' +SpacesInContainerLiterals: 'false' +SpacesInParentheses: 'false' +SpacesInSquareBrackets: 'false' +Standard: Auto +UseTab: ForIndentation + +BreakBeforeBraces: Custom +BraceWrapping: + BeforeLambdaBody: 'false' + AfterCaseLabel: 'true' + +PackConstructorInitializers: Never \ No newline at end of file diff --git a/scripts/gtav-classes.cmake b/scripts/gtav-classes.cmake index 0f7c611f..5ebb60ee 100644 --- a/scripts/gtav-classes.cmake +++ b/scripts/gtav-classes.cmake @@ -3,7 +3,7 @@ include(FetchContent) FetchContent_Declare( gtav_classes GIT_REPOSITORY https://github.com/Yimura/GTAV-Classes.git - GIT_TAG 9bf112e0431e3618978a8dd2fec12ffeeb7dd7ce + GIT_TAG f71748dd1dfac7b1c678e0e8b87d2739bde314b6 GIT_PROGRESS TRUE CONFIGURE_COMMAND "" BUILD_COMMAND "" diff --git a/src/backend/backend.cpp b/src/backend/backend.cpp index ce07d5d8..3690f30d 100644 --- a/src/backend/backend.cpp +++ b/src/backend/backend.cpp @@ -1,10 +1,11 @@ #include "backend.hpp" -#include "script.hpp" -#include "thread_pool.hpp" + #include "looped/looped.hpp" -#include "services/context_menu/context_menu_service.hpp" -#include "script_patches.hpp" #include "looped_command.hpp" +#include "script.hpp" +#include "script_patches.hpp" +#include "services/context_menu/context_menu_service.hpp" +#include "thread_pool.hpp" namespace big { @@ -15,7 +16,7 @@ namespace big register_script_patches(); - while (g_running) + while (g_running) { looped::system_self_globals(); looped::system_update_pointers(); @@ -169,7 +170,6 @@ namespace big while (g_running) { - looped::custom_gun_disable_control_action(); context_menu_service::disable_control_action_loop(); @@ -183,7 +183,6 @@ namespace big while (g_running) { - looped::world_spawn_ped(); script::get_current()->yield(); } diff --git a/src/backend/bool_command.cpp b/src/backend/bool_command.cpp index 1ff5ca88..a255d32b 100644 --- a/src/backend/bool_command.cpp +++ b/src/backend/bool_command.cpp @@ -3,8 +3,8 @@ namespace big { bool_command::bool_command(const std::string& name, const std::string& label, const std::string& description, bool& toggle) : - command(name, label, description, std::nullopt), - m_toggle(toggle) + command(name, label, description, std::nullopt), + m_toggle(toggle) { } diff --git a/src/backend/bool_command.hpp b/src/backend/bool_command.hpp index 7bd08f49..e23316af 100644 --- a/src/backend/bool_command.hpp +++ b/src/backend/bool_command.hpp @@ -9,12 +9,22 @@ namespace big bool& m_toggle; virtual void execute(const std::vector& args, const std::shared_ptr ctx = std::make_shared()) override; virtual std::optional> parse_args(const std::vector& args, const std::shared_ptr ctx = std::make_shared()) override; + public: bool_command(const std::string& name, const std::string& label, const std::string& description, bool& toggle); - inline bool& is_enabled() { return m_toggle; } + inline bool& is_enabled() + { + return m_toggle; + } - virtual void refresh() {}; - virtual void enable() { m_toggle = true; }; - virtual void disable() { m_toggle = false; }; + virtual void refresh(){}; + virtual void enable() + { + m_toggle = true; + }; + virtual void disable() + { + m_toggle = false; + }; }; } \ No newline at end of file diff --git a/src/backend/command.cpp b/src/backend/command.cpp index f4a022e5..d4890954 100644 --- a/src/backend/command.cpp +++ b/src/backend/command.cpp @@ -1,4 +1,5 @@ #include "command.hpp" + #include "fiber_pool.hpp" namespace @@ -27,11 +28,11 @@ namespace namespace big { command::command(const std::string& name, const std::string& label, const std::string& description, std::optional num_args, bool fiber_pool) : - m_name(name), - m_label(label), - m_description(description), - m_num_args(num_args), - m_fiber_pool(fiber_pool) + m_name(name), + m_label(label), + m_description(description), + m_num_args(num_args), + m_fiber_pool(fiber_pool) { g_commands[rage::joaat(name)] = this; } @@ -40,7 +41,10 @@ namespace big { if (m_num_args.has_value() && args.size() != m_num_args.value()) { - ctx->report_error(std::format("Command {} called with the wrong number of arguments. Expected {}, got {}", m_name, m_num_args.value(), args.size())); + ctx->report_error(std::format("Command {} called with the wrong number of arguments. Expected {}, got {}", + m_name, + m_num_args.value(), + args.size())); return; } @@ -51,7 +55,9 @@ namespace big } if (m_fiber_pool) - g_fiber_pool->queue_job([this, args, ctx] { execute(args, ctx); }); + g_fiber_pool->queue_job([this, args, ctx] { + execute(args, ctx); + }); else execute(args, ctx); } @@ -60,7 +66,10 @@ namespace big { if (m_num_args.has_value() && args.size() != m_num_args.value()) { - ctx->report_error(std::format("Command {} called with the wrong number of arguments. Expected {}, got {}", m_name, m_num_args.value(), args.size())); + ctx->report_error(std::format("Command {} called with the wrong number of arguments. Expected {}, got {}", + m_name, + m_num_args.value(), + args.size())); return; } @@ -98,7 +107,7 @@ namespace big ctx->report_error("No command to call"); return; } - + std::uint32_t hash = rage::joaat(args[0]); if (!g_commands.contains(hash)) { diff --git a/src/backend/command.hpp b/src/backend/command.hpp index 111b6b16..9683ed94 100644 --- a/src/backend/command.hpp +++ b/src/backend/command.hpp @@ -1,8 +1,8 @@ #pragma once -#include "gta/joaat.hpp" -#include "core/enums.hpp" #include "context/command_context.hpp" #include "context/default_command_context.hpp" +#include "core/enums.hpp" +#include "gta/joaat.hpp" namespace big { @@ -16,14 +16,29 @@ namespace big bool m_fiber_pool; virtual void execute(const std::vector& args, const std::shared_ptr ctx = std::make_shared()) = 0; - virtual std::optional> parse_args(const std::vector& args, const std::shared_ptr ctx = std::make_shared()) { return std::vector(); }; - virtual CommandAccessLevel get_access_level() { return CommandAccessLevel::ADMIN; } + virtual std::optional> parse_args(const std::vector& args, const std::shared_ptr ctx = std::make_shared()) + { + return std::vector(); + }; + virtual CommandAccessLevel get_access_level() + { + return CommandAccessLevel::ADMIN; + } public: command(const std::string& name, const std::string& label, const std::string& description, std::optional num_args, bool fiber_pool = true); - inline const std::string& get_name() { return m_name; } - inline const std::string& get_label() { return m_label; } - inline const std::string& get_description() { return m_description; } + inline const std::string& get_name() + { + return m_name; + } + inline const std::string& get_label() + { + return m_label; + } + inline const std::string& get_description() + { + return m_description; + } void call(const std::vector& args, const std::shared_ptr ctx = std::make_shared()); void call(const std::vector& args, const std::shared_ptr ctx = std::make_shared()); @@ -36,5 +51,5 @@ namespace big static void process(const std::string& text, const std::shared_ptr ctx = std::make_shared()); }; - inline std::unordered_map g_commands; + inline std::unordered_map g_commands; } \ No newline at end of file diff --git a/src/backend/commands/player/kick/bail_kick.cpp b/src/backend/commands/player/kick/bail_kick.cpp index 05be91b1..cd29a0be 100644 --- a/src/backend/commands/player/kick/bail_kick.cpp +++ b/src/backend/commands/player/kick/bail_kick.cpp @@ -1,7 +1,7 @@ #include "backend/player_command.hpp" +#include "core/scr_globals.hpp" #include "natives.hpp" #include "pointers.hpp" -#include "core/scr_globals.hpp" #include