rojo-rbx / remodel

Scriptable Roblox multitool: Manipulate instances, model files, places, and assets on Roblox.com
MIT License
169 stars 38 forks source link

TextLabel's Font is not exported #92

Open jcphlux opened 1 year ago

jcphlux commented 1 year ago

When exporting an object with remodel.writeModelFile that contains a TextLabel the Font is not being exported. Below image the left is an export from studio and right is from remodel. image

eAi commented 1 year ago

We get this error too - it seems to work ok if you don't set any styling on the font. It'd be good if this could be fixed - I'd do it but I'm not sure where to start, I think it isn't in this project, but maybe rbx-dom?

MarkBurvs commented 1 year ago

Yeah I get the same thing.

ChromeWing commented 1 year ago

As of a couple days ago this wasn't happening, but now whenever I serialize model files it's omitting the font. I don't think anything was changed in my project that would've affected it, so maybe it's something external to Roblox.

Edit: I should note however that it's a token of the font that's missing, to be more specific. image

RatIsMyUsername commented 1 year ago

Happens to me as well, can anyone mark this issue as a bug? Here is some info I collected from testing: Exporting the object as .rbxm or .rbxmx via remodel omits the font, exporting the object as .rbxm or .rbxm via Roblox->Save To File option keeps the font, but importing it via Rojo omits the font, importing it by hand (drag and drop into studio) keeps the font, this should mean Rojo has the problem and this is a Rojo bug

Kampfkarren commented 1 year ago

There is currently a pull request up to fix this in the upstream-ish rbx-dom crate: https://github.com/rojo-rbx/rbx-dom/pull/248

If you need this urgently, you can build remodel locally with the following changes to Cargo.toml:

-rbx_binary = "0.6.4"
-rbx_dom_weak = "2.3.0"
-rbx_reflection = "4.2.0"
-rbx_reflection_database = "0.2.4"
-rbx_xml = "0.12.3"

+rbx_binary = { git = "https://github.com/UpliftGames/rbx-dom", branch = "implement-font-type" }
+rbx_dom_weak = { git = "https://github.com/UpliftGames/rbx-dom", branch = "implement-font-type" }
+rbx_reflection = { git = "https://github.com/UpliftGames/rbx-dom", branch = "implement-font-type" }
+rbx_reflection_database = { git = "https://github.com/UpliftGames/rbx-dom", branch = "implement-font-type" }
+rbx_xml = { git = "https://github.com/UpliftGames/rbx-dom", branch = "implement-font-type" }
Kampfkarren commented 1 year ago

IMO there is a separate bug here where rbx-xml should not be throwing away unknown properties. We have to do that for rbx-binary for Reasons, but it would be nice for rbx-xml to provide safety here.