paintdream / DontStarveLuaJIT

Don't Starve LuaJIT/OpenGL ES optimization patch (compatible with DS, RoG, SW, HAM, DST, Dedicated Server for Windows and DST, Dedicated Server for Linux)
http://paintdream.github.io/DontStarveLuaJIT
MIT License
170 stars 19 forks source link

Not Loading Costumes - Win10 #19

Open vlucent opened 3 years ago

vlucent commented 3 years ago

-did a clean install -no mods -started new game server locally -verified that costumes worked (redecorate friendly scarecrows, costumes for beefalo during the year of beefalo event)

-Then added the (latest release 020.8.4) DontStarveLuaJIT win files to the bin dir. -started new game server locally -shows LuaJIT... when typing print(_VERSION) in console -but now costumes don't work. the black hands animation activates still but the beefalo and scarecrow models are left unchanged

-however, skins for player items, buildings, etc still function. -wardrobe also functions as intended

Edit: -found this in my logs: [00:02:24]: SendRemoteExecute(c_spawn("scarecrow"), 80.968781, -57.561111) [00:02:27]: Could not find anim [idle_loop] in bank [scarecrow] however, nothing is logged when the beefalo costume fails to render. also, I noticed that some of the supposed-to-be-constumed beefalo didn't have eyes because, presumably, it's eyes were being covered by a costume, despite the costume not showing up.

paintdream commented 3 years ago

plz let me know if you setup your server via 'DontStarve dedicated server' or just start an bultin server within the game? have you install the mod both on server and client?

vlucent commented 3 years ago

I ran it locally, so a built-in server with client on the same machine. (basically starting a solo world). I dropped the files in the default location: C:\Program Files (x86)\Steam\steamapps\common\Don't Starve Together\bin So I guess, both? Although, I can recall an instance when I played with a friend while hosting the server on my machine. They also noted that the scarecrow costumes were not working. They did not have the DontStarveLuaJIT mod implemented on their machine.

paintdream commented 3 years ago

Got it, I would check it out later. (after Chinese Spring Festival maybe)

paintdream commented 3 years ago

After spending several hours on debugging code, I found that the script execution footprints of original client and luajited one are totally the same. The skin puppet window functions normally but changing the costumes in game would fail, without any alerts or errors. It is also weird that loading an existing save slot with costumes could lead to the same problem (in this case, there is no costumes apis called from script, but the result is still not correct).

It means that the bug is much more complicated than I expected. Without source code of client application, it's so hard for me to digging more useful information out. Maybe I need more evidence about this bug.

p.s. Does this bug actually impact the gameplay experience?

vlucent commented 3 years ago

Aw man, that's unfortunate. Thanks for looking into this.

Gameplay-wise, the scarecrow costumes is trivial. However, it's a big impact on the current "year of the beefalo" event, where you can dress up your beefalo and bring them into the caves, etc. The core costume contest mechanic is based off of identifying the different costumes the beefalo are wearing, which is why you're seeing the issue being raised now: you can't get participate properly if the costumes don't render.

Screenshot_20210215-191212~2

But I guess you could argue that since this an event, it's a temporary feature and doesn't necessarily affect core game mechanics. But because the beefalo costumes look so good, it's the same feeling as if some of the skins didn't render. And there's speculation on whether this will become a permanent feature or not.

(btw! did you test the beefalo costumes or just the scarecrows?)