Skip to content

Commit

Permalink
Update Changelog.md
Browse files Browse the repository at this point in the history
  • Loading branch information
narknon authored Dec 29, 2024
1 parent b038ec7 commit f12f0be
Showing 1 changed file with 34 additions and 11 deletions.
45 changes: 34 additions & 11 deletions assets/Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,14 @@ some notes about most important changes such as:

## New
Added support for UE Version 5.5 - ([UE4SS #708](https://github.com/UE4SS-RE/RE-UE4SS/pull/708))

Added support for UE Version 5.4 - ([UE4SS #503](https://github.com/UE4SS-RE/RE-UE4SS/pull/503))

Added basic support for Development/Debug/Test built Unreal Engine games ([UE4SS #607](https://github.com/UE4SS-RE/RE-UE4SS/pull/607))
- To use this functionality, set DebugBuild to true in UE4SS-Settings.ini

Added new build definition "LessEqual421". Using this definition for games on UE<=4.21 is not mandatory for UE4SS to function, but will ensure the correct alignment is used in containers.

**BREAKING:** - This also changes the default FName alignment from 8 to 4.
- To use this functionality, enter LessEqual421 in the <Target> section of the XMake configuration command.

Expand All @@ -36,7 +39,9 @@ Added search filter: `IncludeClassNames`. ([UE4SS #472](https://github.com/UE4SS
### Lua API

Added global function `CreateInvalidObject`, which returns an invalid UObject. ([UE4SS #652](https://github.com/UE4SS-RE/RE-UE4SS/issues/652))

Added GenerateLuaTypes function. ([UE4SS #664](https://github.com/UE4SS-RE/RE-UE4SS/pull/664))

Added global Dumpers functions to Types.lua. ([UE4SS #664](https://github.com/UE4SS-RE/RE-UE4SS/pull/664))

#### Types.lua [PR #650](https://github.com/UE4SS-RE/RE-UE4SS/pull/650)
Expand All @@ -45,28 +50,39 @@ Added global Dumpers functions to Types.lua. ([UE4SS #664](https://github.com/UE
- Added `FName` function overloads with FindType parameter

#### UEHelpers
- Added function `GetPlayer` which is just a fast way to get player controlled Pawn (the majority of the time it will be the player character) [PR #650](https://github.com/UE4SS-RE/RE-UE4SS/pull/650)
- Added functions: `GetEngine`, `GetGameInstance`, `GetGameViewportClient`, `GetGameModeBase`, `GetGameStateBase`,`GetPersistentLevel` and `GetWorldSettings` [PR #650](https://github.com/UE4SS-RE/RE-UE4SS/pull/650)
- Added functions to get static objects: `GetKismetStringLibrary`, `GetKismetTextLibrary` [PR #650](https://github.com/UE4SS-RE/RE-UE4SS/pull/650)
- Added function `GetActorFromHitResult` which extracts the hit actor from a `FHitResult` struct based on UE's version [PR #650](https://github.com/UE4SS-RE/RE-UE4SS/pull/650)
- Added function `GetPlayer` which is just a fast way to get player controlled Pawn (the majority of the time it will be the player character) [PR #650](https://github.com/UE4SS-RE/RE-UE4SS/pull/650)

- Added functions: `GetEngine`, `GetGameInstance`, `GetGameViewportClient`, `GetGameModeBase`, `GetGameStateBase`,`GetPersistentLevel` and `GetWorldSettings` [PR #650](https://github.com/UE4SS-RE/RE-UE4SS/pull/650)

- Added functions to get static objects: `GetKismetStringLibrary`, `GetKismetTextLibrary` [PR #650](https://github.com/UE4SS-RE/RE-UE4SS/pull/650)

- Added function `GetActorFromHitResult` which extracts the hit actor from a `FHitResult` struct based on UE's version [PR #650](https://github.com/UE4SS-RE/RE-UE4SS/pull/650)

- Added FName utility functions [PR #650](https://github.com/UE4SS-RE/RE-UE4SS/pull/650):
- `FindFName`: wrapper for `FName(Name, EFindName.FNAME_Find)`
- `AddFName`: wrapper for `FName(Name, EFindName.FNAME_Add)`
- Added [Lua Server Annotations](https://luals.github.io/wiki/annotations/) to all UEHelpers functions [PR #650](https://github.com/UE4SS-RE/RE-UE4SS/pull/650)
- `AddFName`: wrapper for `FName(Name, EFindName.FNAME_Add)`

- Added [Lua Server Annotations](https://luals.github.io/wiki/annotations/) to all UEHelpers functions [PR #650](https://github.com/UE4SS-RE/RE-UE4SS/pull/650)

- Added functions `GetAllPlayerStates` and `GetAllPlayers` [PR #688](https://github.com/UE4SS-RE/RE-UE4SS/pull/688)

### C++ API
Key binds created with `UE4SSProgram::register_keydown_event` end up being duplicated upon mod hot-reload.

To fix this, `CppUserModBase::register_keydown_event` has been introduced.

It's used exactly the same way except without the `UE4SSProgram::` part. ([UE4SS #446](https://github.com/UE4SS-RE/RE-UE4SS/pull/446))

Added `on_ui_init()`, it fires when the UI is initialized.

It's intended to use the `UE4SS_ENABLE_IMGUI` macro in this function.

Failing to do so will cause a crash when you try to render something with imgui.

BREAKING: Changed `FTransform` constructor to be identical to unreal.

Added `OpenFor::ReadWrite`, to be used when calling `File::open`.

This can be used when calling `FileHandle::memory_map`, unlike `OpenFor::Writing`. ([UE4SS #507](https://github.com/UE4SS-RE/RE-UE4SS/pull/507))

### BPModLoader
Expand All @@ -78,6 +94,7 @@ This can be used when calling `FileHandle::memory_map`, unlike `OpenFor::Writing

### General
Changed the default location of the UE4SS release assets to be in `game executable directory/ue4ss/`. This change is backwards compatible with the old location. ([UE4SS #506](https://github.com/UE4SS-RE/RE-UE4SS/pull/506)) - Buckminsterfullerene

Updated PatternSleuth submodule ([UE4SS #638](https://github.com/UE4SS-RE/RE-UE4SS/pull/638))

### Live View
Expand All @@ -102,11 +119,16 @@ The callback of `NotifyOnNewObject` can now optionally return `true` to unregist


#### UEHelpers [UE4SS #650](https://github.com/UE4SS-RE/RE-UE4SS/pull/650)
- Increased version to 3
- Reworked all UEHelpers functions to ensure that they always return an object which can be checked with the function `IsValid` for validation
- Reworked `UEHelpers.GetPlayerController` to return first valid player controller (It will now return a player controller even if it doesn't control a pawn at the time)
- Reworked `UEHelpers.GetWorld` function to use UWorld cache (UWorld usually never changes)
- Change `UEHelpers.GetWorldContextObject` function annotation to return `UObject`. (Any UObject with a GetWorld() function is a valid WorldContext)
- Increased version to 3

- Reworked all UEHelpers functions to ensure that they always return an object which can be checked with the function `IsValid` for validation

- Reworked `UEHelpers.GetPlayerController` to return first valid player controller (It will now return a player controller even if it doesn't control a pawn at the time)

- Reworked `UEHelpers.GetWorld` function to use UWorld cache (UWorld usually never changes)

- Change `UEHelpers.GetWorldContextObject` function annotation to return `UObject`. (Any UObject with a GetWorld() function is a valid WorldContext)

- Removed duplicate function `UEHelpers.GetKismetMathLibrary`

### C++ API
Expand All @@ -116,6 +138,7 @@ BPModLoader now supports loading mods from subdirectories within the `LogicMods`

### ConsoleEnablerMod
Added additional console key **~** (Tilde) ([UE4SS #687](https://github.com/UE4SS-RE/RE-UE4SS/pull/687))

The console keys **F10** and **~** are now added by the mod in addition to the existing keys instead of replacing them ([UE4SS #687](https://github.com/UE4SS-RE/RE-UE4SS/pull/687))

### Repo & Build Process
Expand Down

0 comments on commit f12f0be

Please sign in to comment.