Skip to content

Commit

Permalink
Promote v0 to v1
Browse files Browse the repository at this point in the history
* promoted v0 to v1
* fixed incorrect naming of State::OnUpdate to State::OnTick (copies game)
* renamed GameStates::Add and Scripts::Add to AddHook and modified comments
* split GameState hooks to before/after hooks for more granular control
  • Loading branch information
WSSDude committed Feb 1, 2025
1 parent 588936e commit b47f48b
Show file tree
Hide file tree
Showing 27 changed files with 469 additions and 443 deletions.
4 changes: 2 additions & 2 deletions include/RED4ext/Api/FileVer.hpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#pragma once

#include <RED4ext/Api/v0/FileVer.hpp>
#include <RED4ext/Api/v1/FileVer.hpp>

/**
* @brief Creates a file version using the latest version info type.
*/
#define RED4EXT_FILEVER(major, minor, build, revision) RED4EXT_V0_FILEVER(major, minor, build, revision)
#define RED4EXT_FILEVER(major, minor, build, revision) RED4EXT_V1_FILEVER(major, minor, build, revision)
50 changes: 25 additions & 25 deletions include/RED4ext/Api/Runtime.hpp
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
#pragma once

#include <RED4ext/Api/v0/Runtime.hpp>
#include <RED4ext/Api/v1/Runtime.hpp>

#define RED4EXT_RUNTIME_1_50 RED4EXT_V0_RUNTIME_1_50
#define RED4EXT_RUNTIME_1_50_HOTFIX_1 RED4EXT_V0_RUNTIME_1_50_HOTFIX_1
#define RED4EXT_RUNTIME_1_50_HOTFIX_2 RED4EXT_V0_RUNTIME_1_50_HOTFIX_2
#define RED4EXT_RUNTIME_1_52 RED4EXT_V0_RUNTIME_1_52
#define RED4EXT_RUNTIME_1_52_HOTFIX_1 RED4EXT_V0_RUNTIME_1_52_HOTFIX_1
#define RED4EXT_RUNTIME_1_60 RED4EXT_V0_RUNTIME_1_60
#define RED4EXT_RUNTIME_1_61 RED4EXT_V0_RUNTIME_1_61
#define RED4EXT_RUNTIME_1_61_HOTFIX_1 RED4EXT_V0_RUNTIME_1_61_HOTFIX_1
#define RED4EXT_RUNTIME_1_62 RED4EXT_V0_RUNTIME_1_62
#define RED4EXT_RUNTIME_1_62_HOTFIX_1 RED4EXT_V0_RUNTIME_1_62_HOTFIX_1
#define RED4EXT_RUNTIME_1_63 RED4EXT_V0_RUNTIME_1_63
#define RED4EXT_RUNTIME_1_63_HOTFIX_1 RED4EXT_V0_RUNTIME_1_63_HOTFIX_1
#define RED4EXT_RUNTIME_2_00 RED4EXT_V0_RUNTIME_2_00
#define RED4EXT_RUNTIME_2_01 RED4EXT_V0_RUNTIME_2_01
#define RED4EXT_RUNTIME_2_02 RED4EXT_V0_RUNTIME_2_02
#define RED4EXT_RUNTIME_2_10 RED4EXT_V0_RUNTIME_2_10
#define RED4EXT_RUNTIME_2_11 RED4EXT_V0_RUNTIME_2_11
#define RED4EXT_RUNTIME_2_12 RED4EXT_V0_RUNTIME_2_12
#define RED4EXT_RUNTIME_2_12_HOTFIX_1 RED4EXT_V0_RUNTIME_2_12_HOTFIX_1
#define RED4EXT_RUNTIME_2_13 RED4EXT_V0_RUNTIME_2_13
#define RED4EXT_RUNTIME_2_20 RED4EXT_V0_RUNTIME_2_20
#define RED4EXT_RUNTIME_2_21 RED4EXT_V0_RUNTIME_2_21
#define RED4EXT_RUNTIME_1_50 RED4EXT_V1_RUNTIME_1_50
#define RED4EXT_RUNTIME_1_50_HOTFIX_1 RED4EXT_V1_RUNTIME_1_50_HOTFIX_1
#define RED4EXT_RUNTIME_1_50_HOTFIX_2 RED4EXT_V1_RUNTIME_1_50_HOTFIX_2
#define RED4EXT_RUNTIME_1_52 RED4EXT_V1_RUNTIME_1_52
#define RED4EXT_RUNTIME_1_52_HOTFIX_1 RED4EXT_V1_RUNTIME_1_52_HOTFIX_1
#define RED4EXT_RUNTIME_1_60 RED4EXT_V1_RUNTIME_1_60
#define RED4EXT_RUNTIME_1_61 RED4EXT_V1_RUNTIME_1_61
#define RED4EXT_RUNTIME_1_61_HOTFIX_1 RED4EXT_V1_RUNTIME_1_61_HOTFIX_1
#define RED4EXT_RUNTIME_1_62 RED4EXT_V1_RUNTIME_1_62
#define RED4EXT_RUNTIME_1_62_HOTFIX_1 RED4EXT_V1_RUNTIME_1_62_HOTFIX_1
#define RED4EXT_RUNTIME_1_63 RED4EXT_V1_RUNTIME_1_63
#define RED4EXT_RUNTIME_1_63_HOTFIX_1 RED4EXT_V1_RUNTIME_1_63_HOTFIX_1
#define RED4EXT_RUNTIME_2_00 RED4EXT_V1_RUNTIME_2_00
#define RED4EXT_RUNTIME_2_01 RED4EXT_V1_RUNTIME_2_01
#define RED4EXT_RUNTIME_2_02 RED4EXT_V1_RUNTIME_2_02
#define RED4EXT_RUNTIME_2_10 RED4EXT_V1_RUNTIME_2_10
#define RED4EXT_RUNTIME_2_11 RED4EXT_V1_RUNTIME_2_11
#define RED4EXT_RUNTIME_2_12 RED4EXT_V1_RUNTIME_2_12
#define RED4EXT_RUNTIME_2_12_HOTFIX_1 RED4EXT_V1_RUNTIME_2_12_HOTFIX_1
#define RED4EXT_RUNTIME_2_13 RED4EXT_V1_RUNTIME_2_13
#define RED4EXT_RUNTIME_2_20 RED4EXT_V1_RUNTIME_2_20
#define RED4EXT_RUNTIME_2_21 RED4EXT_V1_RUNTIME_2_21

/**
* @brief Supports all game versions.
* @note Only use this if you do not use RED4ext.SDK library, but you want to use RED4ext as a loader only.
*/
#define RED4EXT_RUNTIME_INDEPENDENT RED4EXT_V0_RUNTIME_INDEPENDENT
#define RED4EXT_RUNTIME_INDEPENDENT RED4EXT_V1_RUNTIME_INDEPENDENT

/*
* @brief The latest game version.
*/
#define RED4EXT_RUNTIME_LATEST RED4EXT_V0_RUNTIME_LATEST
#define RED4EXT_RUNTIME_LATEST RED4EXT_V1_RUNTIME_LATEST
22 changes: 11 additions & 11 deletions include/RED4ext/Api/Sdk.hpp
Original file line number Diff line number Diff line change
@@ -1,54 +1,54 @@
#pragma once

#include <RED4ext/Api/v0/PluginInfo.hpp>
#include <RED4ext/Api/v0/Sdk.hpp>
#include <RED4ext/Api/v1/PluginInfo.hpp>
#include <RED4ext/Api/v1/Sdk.hpp>

namespace RED4ext
{
/**
* @brief The latest plugin info type.
*/
using PluginInfo = v0::PluginInfo;
using PluginInfo = v1::PluginInfo;

/**
* @brief The latest version info type.
*/
using SemVer = v0::SemVer;
using SemVer = v1::SemVer;

/**
* @brief The latest version info type.
*/
using FileVer = v0::FileVer;
using FileVer = v1::FileVer;

/**
* @brief The latest RED4ext.
*/
using Sdk = v0::Sdk;
using Sdk = v1::Sdk;

/**
* @brief The latest hooking.
*/
using Logger = v0::Logger;
using Logger = v1::Logger;

/**
* @brief The latest hooking.
*/
using Hooking = v0::Hooking;
using Hooking = v1::Hooking;

/**
* @brief The latest game state type.
*/
using GameStates = v0::GameStates;
using GameStates = v1::GameStates;

/**
* @brief The latest game state type.
*/
using GameState = v0::GameState;
using GameState = v1::GameState;

/**
* @brief The latest game state type.
*/
using Scripts = v0::Scripts;
using Scripts = v1::Scripts;
} // namespace RED4ext

/*
Expand Down
6 changes: 3 additions & 3 deletions include/RED4ext/Api/SemVer.hpp
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
#pragma once

#include <RED4ext/Api/v0/SemVer.hpp>
#include <RED4ext/Api/v1/SemVer.hpp>

/**
* @brief Creates a semantic version using the latest version info type.
*/
#define RED4EXT_SEMVER_EX(major, minor, patch, prereleaseType, prereleaseNumber) \
RED4EXT_V0_SEMVER_EX(major, minor, patch, prereleaseType, prereleaseNumber)
RED4EXT_V1_SEMVER_EX(major, minor, patch, prereleaseType, prereleaseNumber)

/**
* @brief Creates a semantic version using the latest version info type.
*/
#define RED4EXT_SEMVER(major, minor, patch) RED4EXT_V0_SEMVER(major, minor, patch)
#define RED4EXT_SEMVER(major, minor, patch) RED4EXT_V1_SEMVER(major, minor, patch)
17 changes: 9 additions & 8 deletions include/RED4ext/Api/Version.hpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include <RED4ext/Api/v0/Version.hpp>
#include <RED4ext/Api/v1/Version.hpp>

/*
* The SDK is using only one API version, the reason behind that is that multiple versions for every structure is
Expand All @@ -15,17 +15,18 @@
*/

#define RED4EXT_API_VERSION_0 0
#define RED4EXT_API_VERSION_LATEST RED4EXT_API_VERSION_0
#define RED4EXT_API_VERSION_1 1
#define RED4EXT_API_VERSION_LATEST RED4EXT_API_VERSION_1

/*
* The SDK version, it is maninly used to reject loading plugin that are using a broken SDK version, while API version
* is 0, it is used to load only plugins using the latest SDK version.
*/

#define RED4EXT_SDK_0_1_0 RED4EXT_V0_SDK_0_1_0
#define RED4EXT_SDK_0_2_0 RED4EXT_V0_SDK_0_2_0
#define RED4EXT_SDK_0_3_0 RED4EXT_V0_SDK_0_3_0
#define RED4EXT_SDK_0_4_0 RED4EXT_V0_SDK_0_4_0
#define RED4EXT_SDK_0_5_0 RED4EXT_V0_SDK_0_5_0
#define RED4EXT_SDK_0_1_0 RED4EXT_V1_SDK_0_1_0
#define RED4EXT_SDK_0_2_0 RED4EXT_V1_SDK_0_2_0
#define RED4EXT_SDK_0_3_0 RED4EXT_V1_SDK_0_3_0
#define RED4EXT_SDK_0_4_0 RED4EXT_V1_SDK_0_4_0
#define RED4EXT_SDK_0_5_0 RED4EXT_V1_SDK_0_5_0

#define RED4EXT_SDK_LATEST RED4EXT_V0_SDK_LATEST
#define RED4EXT_SDK_LATEST RED4EXT_V1_SDK_LATEST
70 changes: 0 additions & 70 deletions include/RED4ext/Api/v0/FileVer.hpp

This file was deleted.

44 changes: 0 additions & 44 deletions include/RED4ext/Api/v0/GameState.hpp

This file was deleted.

26 changes: 0 additions & 26 deletions include/RED4ext/Api/v0/GameStates.hpp

This file was deleted.

49 changes: 0 additions & 49 deletions include/RED4ext/Api/v0/Runtime.hpp

This file was deleted.

Loading

0 comments on commit b47f48b

Please sign in to comment.