Skip to content

Any CPU Ready Source Inspired by @Chicken-Bones#738

Open
Akarinnnnn wants to merge 124 commits intorlabrecque:masterfrom
Akarinnnnn:anycpu-2
Open

Any CPU Ready Source Inspired by @Chicken-Bones#738
Akarinnnnn wants to merge 124 commits intorlabrecque:masterfrom
Akarinnnnn:anycpu-2

Conversation

@Akarinnnnn
Copy link
Contributor

@Akarinnnnn Akarinnnnn commented Aug 18, 2025

Originally posted in #699. Achieved by register a dll resolve hook to default Assembly Load Context Steamworks.NET assembly.

Dependencies to static class NativeLibrary makes this change is not meaningful to any runtimes other than .NET(Core). So these changes are separated into a different folder to keep old version unchanged like .NET Framework 4.0 does.

You will see horrible long commit history because the management of SteamworksParser is switched to git subtree. Which means I imported SteamworksParser files and history into this repository. Since SteamworksParser is always bundled with source code generator, in my practice, I finally decided manage them in monorepo way.

Both code generator and generated C# source are tested with v1.62. v1.63 NuGet package is on public beta.

And sorted Skippedlines
Akarinnnnn and others added 28 commits November 15, 2025 18:00
A workaround of incorrect codegen of `SteamNetConnectionInfo_t` .
Puropse is to exclude fake top level structs like CGameID::GameID_t. Maybe just add a table is enough?
Simplify marshal fix #1 's review page, hide these `git subtree`
imported commits from by merge them into base branch `anycpu-2`.
Update pre-baked generator resource.

Make `SteamMarshallerTable` public.

Added `.editorconfig` to enforce style.
Move Any CPU native resolve logic to another file.

Minor changes to .editorconfig
Our goal is to fix most callback system related marshal issues.

Added a conditional marshalling table to decide which alignment to use
at runtime, this should fix most callback-retrieve related issues..

Parameter marshal is done, through it looks ugly. It will be
fixed in next upcoming PR.

We have a mechanism to find out packsize aware structs now.
Minor changes from upstream
Sync upstream with new target: Steamworks SDK v1.63

Some minor changes also included.
@Akarinnnnn Akarinnnnn changed the title Less invasive Any CPU implementation inspired by @Chicken-Bones Any CPU Ready Source Inspired by @Chicken-Bones Feb 26, 2026
@Akarinnnnn
Copy link
Contributor Author

Both code generator and generated C# source are tested with v1.62. v1.63 NuGet package is on public beta.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants