[?][SUG][PL] Bake physics masks into the .exe

Started by WillLem, January 27, 2026, 05:12:57 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

WillLem

This came up during a Discord conversation between myself and Dullstar yesterday. We were discussion baking resources into the .exe, and it was mentioned that the physics masks (currently in gfx/mask) should probably not be in the root directory, but part of the .exe itself.

Quote from: Discord conversationDullstar — Yesterday at 8:39 PM
There WERE a few files in there that I'm surprised AREN'T baked into the .exe, because if they're actually used you definitely don't want to edit them.
Will — Yesterday at 8:39 PM
Such as what?
Dullstar — Yesterday at 8:39 PM
Basher masks, bomber masks... that kind of thing
If those are actually used, editing them would break physics.
Will — Yesterday at 8:39 PM
Yeah, they should definitely be baked in

I'm currently thinking it's worth going ahead with this for CE.

Thoughts?

(Your silence = this will probably go ahead).

IchoTolot

Looked inside the folder and I can maybe see somebody wanting to swap the highliter or countdown.

But yeah the other stuff would break physics and I understand the reasoning behind this, but all the files are there and visible so everything could easily be swapped out or modified if desired.

But what if somebody accidentally deletes/edits them? Well, what if somedody deletes/edits files in system32? Here just re-download the NL files and fixed.

I also really like to see where the actual files are instead of just big data blops, but that's preference.

This would seem like going a step backwards to me.

Simon

I would bake this into the executable.

But there are alternatives. Allow editing the file, but checksum on load and warn nonintrusively on mismatch.

Icho's position is interesting. What do you think about externalizing even more physics? E.g., create a physics configuration text file. Let people set custom splat height in it. Warn nonintrusively about custom physics when it contains anything else than 63 safe, 64 dead.

-- Simon

IchoTolot

QuoteIcho's position is interesting. What do you think about externalizing even more physics? E.g., create a physics configuration text file. Let people set custom splat height in it. Warn nonintrusively about custom physics when it contains anything else than 63 safe, 64 dead.

Yeah you are right, I think at that point it would create more confusing stuff than do any good. I would be against that.
I rather would agree to put the masks in the exe instead of externalizing even more physics.

I just like really like having files visible instead of big data-blobs hiding them from me. Flashbacks to old games where I wanted to listen to the soundtrack only to see that all tracks where hidden in data-blobs. Sad times!  :'(

I do not have a strong opinion about it, when you wanna hide them for CE, do it. I just remembered why we actually went away from the big exe blob and I feel like that could be a frist step back to it.

Just be careful!

WillLem

Quote from: IchoTolot on January 27, 2026, 05:55:43 PMLooked inside the folder and I can maybe see somebody wanting to swap the highliter or countdown.

Yes, this stuff should remain visible and editable. We're talking really about the physics masks, whose presence in a user-editable gfx folder is questionable when considering the directory structure as a whole.

Quote from: Simon on January 27, 2026, 07:38:46 PMAllow editing the file, but checksum on load and warn nonintrusively on mismatch.

Good suggestion, but hard pass. For this, I'd rather just commit one way or the other.

Quote from: IchoTolot on January 27, 2026, 09:01:34 PMI just like really like having files visible instead of big data-blobs hiding them from me.

Data blobs? :P

The Digger tunnel is hard-coded (i.e. no mask image for that). Why, then, do we need images for the Basher, Miner, etc? If these too were hardcoded, would you miss being able to view (and possible mod) the mask images? The sketches show the exact pixel removal if users need to see it for any reason.

Quote from: Simon on January 27, 2026, 07:38:46 PMIcho's position is interesting. What do you think about externalizing even more physics?

Quote from: IchoTolot on January 27, 2026, 09:01:34 PMI do not have a strong opinion about it, when you wanna hide them for CE, do it. I just remembered why we actually went away from the big exe blob and I feel like that could be a frist step back to it.

I doubt we'd ever go back to a fully-loaded .exe. Certainly not whilst I've got anything to do with it. It's clear that users want to be able to mod their copies, and we should continue to support that.

Even in this topic, where there is discussion about baking CE-specific assets into the CE.exe, we're accounting for users wanting to see the files and be able to mod them. The baking would be purely for convenience, then (i.e. if users wanted to simply drop the .exe into an existing NL directory and aren't bothered about modding anything, that would work because the .exe would include the necessary assets).

That's why I opened a topic for physics masks in particular, though, because it seems clear that they are an important exception to this.

Simon's question is important, then. If we want to allow users to potentially play with the physics, why not splat height? Builder/Stacker/Platformer brick width? Lem walking speed? etc... If the intention is to allow users access to the physics for modding, where do we stop? If we'd rather not allow access for the sake of simplicity, then the gfx/mask files shouldn't exist in the directory.

IchoTolot

QuoteIf the intention is to allow users access to the physics for modding, where do we stop? If we'd rather not allow access for the sake of simplicity, then the gfx/mask files shouldn't exist in the directory.

I agree there. Having fully customisable physics would result in confusion.

So, gfx/mask files shouldn't exist in the directory and should go in the exe.