fix(clrcore-v2): Fix PR #2546 and Add Delegate Serialization Support#3409
fix(clrcore-v2): Fix PR #2546 and Add Delegate Serialization Support#3409manups4e wants to merge 39 commits intocitizenfx:masterfrom
Conversation
|
i see the commits have wrong naming convention 🤔 question is how do i change the names XD |
|
If you use the Git in Visual Studio (I assume other clients are similar), right click on the commit before your oldest commit, Reset -> Keep changes. This will remove all of your commits, but will keep all of your changes in the uncommitted changes on the right. So you can can make 1 new commit with all of the changes in it and the right naming. Once you do that to overwrite your changes to github, you will need to force push. Git -> Open In Command Prompt, and type in EDIT: Apparently you can also select all of your commits and right click -> Squash commits, instead of resetting and making a new one. Still needs a force push |
Co-authored-by: thorium <102315529+thorium-cfx@users.noreply.github.com>
…o allow separate module building
…d encryption methods
…convert internally
Previously, MsgPackReferenceRegistrar.CreateFunc was only set in a specific case. It is now properly initialized during startup to avoid missing reference handling.
- Async exports will require a full rewrite as in the current state this commit is more like a patch
This update adds strongly-typed support for local and remote exports, avoiding the use of dynamic
objects. The new system uses Coroutine<T> and Promise<T> for async handling, while keeping compatibility with old Exports[] system
Before:
var result = await Exports["my_script", "GetUser"](); // dynamic
After:
var user = await Exports.Get<User>("my_script", "GetUser")();
This change improves safety and intellisense support.
Allows calling typed exports like:
var result = await Exports.Get<int>("myres", "sum", 1, 2);
Same logic for Exports.Local.Get<T>
|
Any news about this? Are more changes still needed? Great work here! |
|
the whole monov2 can still be enhanced but in this current state of the PR along side with the pending PR in msgpack-cs is considered stable as it fixes all the bugs present in msgpack when it came out. |
|
Closing pull request due to support dropping for the Mono runtime. |

Goal of this PR
Re-enable (De)Serialization using the new custom msgpack provided in #2546
How is this PR achieving the goal
This PR adds back all Thorium's modifications and some extras to be fully compatible with the new MsgPack (de)serialization.
Warning
This PR applies to the following area(s)
Successfully tested on
FXServer and FiveM client
Game builds: N/A
Platforms: Windows
Checklist
Fixes issues
fixes #2653, #2613, #2590, #2582, #2571,