Skip to content

Conversation

@RoyalBlue1
Copy link

Loads rui from RUIP files that are created with SERE
Only support v30 for now

@RoyalBlue1 RoyalBlue1 marked this pull request as ready for review October 22, 2025 13:55
@IJARika
Copy link
Collaborator

IJARika commented Oct 25, 2025

can RUIP specific functions and structs be moved to its own header? it keeps the asset files less cluttered, and is more inline with similar files such as MSW.

more of a preference thing, but personally I'd name the asset file 'ui' like RSX does, not a big hitch but yeah.

only main gripes with it currently, I've asked rexx to take a look too.

Move package to own file
Rename rui files to ui
@r-ex r-ex self-requested a review January 14, 2026 00:46
Copy link
Owner

@r-ex r-ex left a comment

Choose a reason for hiding this comment

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

seems good to me! just a few minor formatting changes, otherwise as long as it works i'm happy to merge this. thank you for the implementation!

<ClInclude Include="public\lcd_screen_effect.h">
<Filter>public</Filter>
</ClInclude>
<ClInclude Include="public\ruiPackage.h">
Copy link
Owner

Choose a reason for hiding this comment

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

shouldn't this be rui_package.h?

pak->AddPointer(hdrChunk,offsetof(RuiHeader_v30_s,renderJobData),renderJobChunk,0);

asset.InitAsset(hdrChunk.GetPointer(),sizeof(RuiHeader_v30_s),
PagePtr_t::NullPtr(),30,AssetType::UI);
Copy link
Owner

Choose a reason for hiding this comment

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

i would prefer if this version num was a define or a constexpr instead of just a magic number - easier to read at a glance

Comment on lines +59 to +61



Copy link
Owner

Choose a reason for hiding this comment

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

Suggested change

{"Ptch", PakAssetScope_e::kAll, Assets::AddPatchAsset, Assets::AddPatchAsset}
{"Ptch", PakAssetScope_e::kAll, Assets::AddPatchAsset, Assets::AddPatchAsset},
{"ui", PakAssetScope_e::kClientOnly, Assets::AddRuiAsset_v30, nullptr}

Copy link
Owner

Choose a reason for hiding this comment

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

Suggested change

ARIG = TYPE_ARIG, // animation rig
SHDS = TYPE_SHDS, // shaderset
SHDR = TYPE_SHDR, // shader
UI = TYPE_UI
Copy link
Owner

Choose a reason for hiding this comment

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

Suggested change
UI = TYPE_UI
UI = TYPE_UI

uint16_t val_32;
};


Copy link
Owner

Choose a reason for hiding this comment

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

Suggested change

float elementHeight;
float elementWidthRcp;
float elementHeightRcp;
char* argNames;
Copy link
Owner

Choose a reason for hiding this comment

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

could this also be const char*?

std::vector<Argument_s> arguments;
std::vector<ArgCluster_s> argCluster;
std::vector<char> styleDescriptors;

Copy link
Owner

Choose a reason for hiding this comment

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

Suggested change

uint32_t renderJobSize;
uint32_t keyframingSize;
uint32_t defaultStringsSize;
uint64_t argNamesOffset;//debug only
Copy link
Owner

Choose a reason for hiding this comment

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

Suggested change
uint64_t argNamesOffset;//debug only
uint64_t argNamesOffset; //debug only

maybe worth separating out offsets from sizes as otherwise this is quite a wall of variables

#define TYPE_ARIG MAKE_FOURCC('a', 'r', 'i', 'g') // arig
#define TYPE_SHDS MAKE_FOURCC('s', 'h', 'd', 's') // shds
#define TYPE_SHDR MAKE_FOURCC('s', 'h', 'd', 'r') // shdr
#define TYPE_UI MAKE_FOURCC('u', 'i', 0, 0) // ui
Copy link
Owner

Choose a reason for hiding this comment

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

Suggested change
#define TYPE_UI MAKE_FOURCC('u', 'i', 0, 0) // ui
#define TYPE_UI MAKE_FOURCC('u', 'i', 0, 0) // ui

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.

3 participants