Skip to content

Render Actions API#193

Merged
IsaacMarovitz merged 11 commits into
sonicnext-dev:mainfrom
IsaacMarovitz:render-actions
Nov 13, 2025
Merged

Render Actions API#193
IsaacMarovitz merged 11 commits into
sonicnext-dev:mainfrom
IsaacMarovitz:render-actions

Conversation

@IsaacMarovitz

@IsaacMarovitz IsaacMarovitz commented Nov 7, 2025

Copy link
Copy Markdown
Member

The render graph is constructed by Lua with each command being mapped to one of these RenderAction types. With this API we are free to view and modify the contents of the render graph without Lua modification. This has uses in both future modding applications, but also in patches and debug tools.

Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
@IsaacMarovitz
IsaacMarovitz marked this pull request as ready for review November 7, 2025 06:42
@IsaacMarovitz
IsaacMarovitz requested a review from hyperbx November 7, 2025 06:42
Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>

@hyperbx hyperbx left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move all size assertions below offset assertions.

Comment thread MarathonRecomp/api/Sonicteam/SoX/Engine/RenderProcess.h Outdated
Comment thread MarathonRecomp/api/Sonicteam/SoX/Engine/RenderProcess.h
Comment thread MarathonRecomp/api/Sonicteam/RenderAction/Rasterize.h Outdated
Comment thread MarathonRecomp/api/Sonicteam/RenderAction/CopyTexture.h Outdated
Comment thread MarathonRecomp/api/Sonicteam/RenderAction/CopyTexture.h Outdated
Comment thread MarathonRecomp/api/Sonicteam/MyRenderProcess.h Outdated
Comment thread MarathonRecomp/api/Sonicteam/MyRenderProcess.h Outdated
Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com>
Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>

@hyperbx hyperbx left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Enums in the API must be prefixed with the name of the enum, as we don't support enum classes.

For example, in SetBlendMode.h:

Before

enum BlendMode
{
    Opaque = 0,
    Blend = 1,
    Add = 2
};

After

enum BlendMode
{
    BlendMode_Opaque = 0,
    BlendMode_Blend = 1,
    BlendMode_Add = 2
};

This should apply to all enums in this PR.

Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
Comment thread MarathonRecomp/api/Sonicteam/RenderAction/SetZMode.h Outdated
Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com>
@IsaacMarovitz
IsaacMarovitz merged commit 3e2ad7c into sonicnext-dev:main Nov 13, 2025
12 checks passed
@IsaacMarovitz
IsaacMarovitz deleted the render-actions branch November 13, 2025 16:45
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.

2 participants