#Lobby Control & Matty's Fixes
1 messages ยท Page 12 of 1
This is why the prompt key is duplicated, because the previous one interrupted the process.
So this NullReferenceException is the cause of the problem.
This might not be a problem caused by lobbycontrol; it's that some network objects are having issues.
Looks like a Lobby Control bug to me based on the NRE
NRE throws after it adds the client
I will add some logs to confirm which object is null.
#1211989201793449994 message
So apparently ShipLobby and LateCompany don't work at all
Someone was talking about it in modding general
ship lobby should work. as it's the most basic latejoin logic
they were also saying LobbyControl wasn't working either...
i believe he has some mod conflict in that modpack ๐คท
Works for me ๐
I wonder
@unreal oriole Could ShipLobby and Lobby Control be used together if ShipLobby works? or would stuff break
just wondering if you could have ShipLobby do the late joins and keep Lobby Control to fix the bugs until you manage to resolve whatever is happening
I still wonder if it's somehow from this
lunx... please. i know you are in a hurry to have the issue fixed but take a bit of time to read what we say
LobbyControl LateJoin code is 1:1 from Ship Lobby as LobbyControl originally was a fork of Ship Lobby
if you disable the JoinQueue you'll have ShipLobby code running ( plus a check to still enforce the banlist )
I was running the Vanilla Public lobby all afternoon and evening, and this problem only occurred 3 times. It's really hard to reproduce the issue.
today i had this problem when the 5th guy tried to join the lobby
Personally I have no issues with LobbyControl late join features
I mean are you having more than like 10 people join?

Im hearing more than 10 or even 25 starts to have problems
i have games with 7 to 11 players but thats it
25 ๐
I'm serious if you scroll up someone said like
lmao thats too much, whats this person doing
25 people in that small ass ship?
Sure
the latest version of furniture lock doesnt appear to actually prevent other clients from moving furniture
i keep the teleporter locked in default position and someone was just able to move it
@unreal oriole Did you miss a rpc?
I think he can see the message in his own thread Lunx
If he hasn't responded he might just be busy
Was just incase the thread fills up, he is likely asleep or at work
Thread's been active so I wanna make sure he doesn't miss it since a lot of messages have been posted
Fair, I just still like to try and help when possible
if it does get filled up then do ping
that's v much appreciated, just help when it's needed
@errant furnace I am helping 
Ah
So maybe disabling the Queue would fix it? Idk
I thought you did a lot of rewriting and they weren't remotely the same based on how you said it started off as a fork then underwent a lot of changes
No, these are not the causes of the problem.
If you want this issue to be fixed, you need to provide a stable way to reproduce it.
This problem is absolutely crazy. I decompiled and modified Unity.Netcode.Runtime.dll, and just added a try-catch in the SortParentedNetworkObjects method to catch exceptions and output logs, and the problem was fixed. There are no more exceptions...
Raw
private int SortChildrenNetworkObjects(NetworkObject first, NetworkObject second)
{
Transform cachedParent = first.GetCachedParent();
NetworkObject networkObject = ((cachedParent != null) ? cachedParent.GetComponent<NetworkObject>() : null);
if (networkObject != null && networkObject == second)
{
return 1;
}
Transform cachedParent2 = second.GetCachedParent();
NetworkObject networkObject2 = ((cachedParent2 != null) ? cachedParent2.GetComponent<NetworkObject>() : null);
if (networkObject2 != null && networkObject2 == first)
{
return -1;
}
return 0;
}
Modify
private int SortChildrenNetworkObjects(NetworkObject first, NetworkObject second)
{
int num;
try
{
Transform cachedParent = first.GetCachedParent();
NetworkObject networkObject = ((cachedParent != null) ? cachedParent.GetComponent<NetworkObject>() : null);
if (networkObject != null && networkObject == second)
{
num = 1;
}
else
{
Transform cachedParent2 = second.GetCachedParent();
NetworkObject networkObject2 = ((cachedParent2 != null) ? cachedParent2.GetComponent<NetworkObject>() : null);
if (networkObject2 != null && networkObject2 == first)
{
num = -1;
}
else
{
num = 0;
}
}
}
catch (Exception)
{
Debug.Log("first:" + first.name + ",second" + second.name);
throw;
}
return num;
}
Would still be nice to know what exactly in LobbyControl causes it to happen though
But neat that late join problems are solved by that
You could probably upload it as a workaround solution til Matty has more time to look into the issue
No, this shouldn't be a solution...
Oh yeah I don't think so either
This is a very strange problem.
Even if I don't catch exceptions and just output logs, the problem is still fixed.
private int SortChildrenNetworkObjects(NetworkObject first, NetworkObject second)
{
Debug.Log("first:" + first.name + ",second" + second.name);
Transform cachedParent = first.GetCachedParent();
Debug.Log("16");
NetworkObject networkObject = ((cachedParent != null) ? cachedParent.GetComponent<NetworkObject>() : null);
if (networkObject != null && networkObject == second)
{
return 1;
}
Transform cachedParent2 = second.GetCachedParent();
Debug.Log("23");
NetworkObject networkObject2 = ((cachedParent2 != null) ? cachedParent2.GetComponent<NetworkObject>() : null);
if (networkObject2 != null && networkObject2 == first)
{
return -1;
}
return 0;
}
I mean it did error upon LobbyControl logging it was adding the client before
So this isn't too surprising
Fixing this problem is actually very simple, but the difficulty lies in finding out which mod is causing this problem.
Maybe AsyncLoggers since it's related to logging?

Idk what's in your testing profile tbh
but that would be a safe guess
Also LethalFixes maybe? It does allow changing the logging level of the network manager
Hello, is that normal AdditionalNetworking Experimental 2.3.4 first give this error when starting the game: [Fatal :AdditionalNetworking] Could not find Interfaces dll!
Then spam errors in the console in game?
I've never seen this error so I would say definitely not
When I'm using the normal version or the 2.3.3 there is not that problem, could be a mod conflict or something?
did you manually install AdditionalNetworking
No from gale
I checked in the folder there is the additionalnetworking.interfaces.dll that weird he don't see it ๐ค
can you try downloading dawnlib and see if you get the same error
we share basically the same code
I didn't try to disable every mods and just keep AdditionalNetworking Experimental and see if that the same
Yes I do, Im on one Im testing things
Just tested with every mods disable and just AdditionalNetworking Experimental and same issue
uh this is gonna be a weird request but are u able to delete your other profiles?
or test on those other profiles instead?
they are synced so I guess I can do that and download them back if needed right?
yea
I do a new profile and delete the other and download AdditionalNetworking Experimental and DawnLib only?
well you dont need to make a new profile, just need to get rid of AN or DL from other profiles and test
No more issue
hmmm
Could be because it's an old profil Im editing from a long time and it has a lot of old cfg in it?
@unreal oriole the plugins path search picks the first one with our mods in it ๐
no, it's just a funny issue with how we look for the interfaces dll
It's looking in the wrong profile?
Hope that could help fix things!
ye we'll fix it when we can, its a silly issue
It's ok I can use the normal version for the moment or just the previous version I think
yeah.. i was expecting that. i just hoped it would not happen
the only fix for us Xu is to actually make the separate Injection library. or politely ask people to not have other mods with our name in the profile ( even if they are disabled )
Iโm very sorry for occupying the LobbyControl channel these past few days. The issue has now been resolved, and Iโd like to summarize what happened.
https://thunderstore.io/c/lethal-company/p/chuxiaaaa/v73ncfix/
Q: Was this problem caused by LobbyControl?
A: Not at all.
Q: Was this a vanilla (base game) bug?
A: Yes, but not entirely. In vanilla, after the ship lands, players can no longer join the lobby, so this issue wouldnโt occur there.
anything that helps fix bugs. i'd say a latejoin issue definitely fits the channel๐
what was the issue btw? unity NGO jank?
The cached parent of network objects is lost, and I don't know why.
oo so that fixes latejoin issues?
@errant furnace Solved this problem
gotcha!
ok, this is a good must have mod atm :]
i'm not aware of new latejoin issues other than this semi-rare one
and LobbyControl Experimental should solve most of the green fogs from my mod
It wasnโt even semi-rare we reprod it so often lol
It just was that none of us knew the direct cause
I haven't had any late join issues myself so unsure
Well now you can use chuxia's mod to completely make sure it doesn't happen
@tawdry gyro
@unreal oriole Might be a good idea to update LobbyControl to make this a dependency
That way people won't keep reporting issues with late joins
thanks
How to Reproduce the Issue
-
Install any late join mod (e.g., LobbyControl).
-
Start the game, go into the facility, remove the LungApparatus, and bring it back to the ship.
-
Launch the ship.
-
When another player joins the lobby,will an error occurs.
Reason for the Issue
-
In older versions, NetworkObject did not have the concept of CachedParent โ this property was introduced in newer versions of Unity.
-
The CachedParent value is only assigned during the Awake() phase. For the Apparatus object, its CachedParent is the
MapPropsContainerinside the planet. -
When the ship leaves the planet, the entire planet gets destroyed, making the CachedParent (MapPropsContainer) become Destroyed (i.e.,
null). -
When a new player joins the lobby, Unity sorts all networked objects before sending them to the client.
During this sorting process, Unity attempts to callGetComponent()via the CachedParent, but since the parent has already been destroyed, it throws an error.
what was da solution?
v73ncfix
[HarmonyPrefix]
[HarmonyPatch("GetCachedParent")]
public static void GetCachedParent(NetworkObject __instance)
{
if (__instance.m_CachedParent == null)
{
__instance.SetCachedParent(__instance.transform.parent);
}
}
interesting okie
https://thunderstore.io/c/lethal-company/p/hu_luo_bo_ya/V73dcfix/ This mod done this: "To prevent the issue where players cannot join the lobby after pulling the apparatus, sell the apparatus directly to the players when they bring it back to the spaceship"
Yeah I saw the popup occur, it sells it automatically and gives you the credits for it
v73ncfix also fixes the same issue with no need to auto sell the apparatus
hu_luo said that he will do a separated mod for the auto-apparatus selling soon
That being said @stiff nymph I can see there being issues with this, you might wanna make sure it can't sell the ones that are part of Wesley's progression
I'm gonna downgrade the mod to v1.0.3 to avoid problems
The issue would probably happen to modded apparatuses too, no point in making sure it affects vanilla apparatuses only
It just would directly miss the point of what it does
Ye, I'm guessing anything that's instantiated with RoundManager.mapPropsContainer as parent and spawned is susceptible to this issue 
Ye
problem is not apparatus specifically. is any scrap that spawns as part of a scene/prefab as opposed to the RoundManager code
and we cna generalize it even more to any NetworkObject that can persist across rounds but spawns as part of a prefab that instead gets destroyed
i wonder if the bird eggs count. or probably even the cruiser clipboard if it survives while the cruiser gets destroyed ๐ค
I took a look,the CachedParent of Kiwiโs egg is initialized as null, so there shouldnโt be any issue.
What I donโt really understand is why Unityโs internal code would run into a problem.
In the code I posted, it checks whether CachedParent != null before calling GetComponent, but when the object is Destroyed, the condition check doesnโt behave correctly.
However, after I modified Unity.Netcode.Runtime and added some logging, the condition started working properly again.
a destroyed object is not null in the c# meaning of null
unity overrides the equality check to see if it was destroyed and treat it as null
i'd guess this code was compiled w/o that override so it is doing a native null check instead of unity own version
when you modified/recompiped it. it started using the correct logic so it started working ๐
@solar monolith do you think this explanation makes sense?
it's certainly possible, but it's worth confirming, since it would be very surprising to me if the decompiler emits ==/!= for that
I think it's much more relevant to see what exactly the IL instructions are at the point where it's getting the null
I didn't read everything here, but I didn't see any indication that that has been done
I think normally I would expect the decompiler to do a (object) a == b or perhaps ReferenceEquals
019a3b9d-6849-5ffa-3a52-2b6f5143c202
additionalnetworking experimental makes this error spam in lobby and breaks toomanysuits
there is probably a error earlier at the start of the log
the preloader is not running
either you have both Experimental and not installed or your installation got somehow corrupted
i'm waiting on a feedback from @vague talon about something that could make the system more reliable
but exactly because it's a 2 dll system if either one is missing things will break ๐
it did show this at the start
the first time it did that i did have normal still active so that was on me
I do wonder why some people are having this happen
second time was with normal disabled
experimental break if stable is installed at all. it doesn't matter if it's disabled or not ๐
thats weird
It's not, I think it's the dll thing
files still exist and that's the issue with the current system and why i've not moved it out of Experimental yet
i'm trying again with stable completely uninstalled
Speaking of Experimental you could probably push it to stable
I haven't had any problems
with stable completely gone its now working fine
Sorry been busy ๐
no worries. i've seen how busy you are
๐ฅบ could always lighten my load and join dawnlib, more than just the groupchat i spammed
if i had time to work on a library i would be redoing multiplayer ๐
just do both ez
is there any options that cause errors rn
Is this mod compatible /w Lobby Control
As far as we're aware, LobbyControl doesn't allow joining mid-session, and we'd like that for our lobbies, but LobbyControl also has a lot of qol features for the host, so we'd like to keep both if we can
why tf would you use that
lobby control has mid session
you need to enable it
Oh we didn't know
Can you just use the Lobby Open command while landed? Is that how it works?
Joining mid-round is goofy in general
Expect a million issues 
Idc
yah it's just >lobby open
oh baby noooo that's gonna cause so many issues
hopefully it doesn't but augh ๐ฅฒ
yeah, i've already have enough troubles preventing desyncs from orbit. i intentionally avoided allowing moon-joining
also for compatibility, nope. both mods are modifying the same part of the code so you can only use one of them. tho i'm not sure what part of LobbyControl you want to use if you have another mod handle Late-Join ๐ค
I mean I most use lobbycon for the other lobby changes lol
I only use Lobby Control for late joining in orbit, peak mod that's it
at one point advanced company tried (and claimed) to have it working, but I'm not sure it ever did
and if it did it's weird no one tried to recreate it lol
Advanced jumpscare
Can't legally recreate it he woulda sued your ass 
-# (Probably)
Or if you mean a different implementation for joining mid-round I think https://thunderstore.io/c/lethal-company/p/LTGVE/VeryLateCompany does have it but I dunno
If it does then it's gullible 
lmao true
although
the 2-year expiration date is coming really close
๐
and I will use it fully
also it's CC0 right now, so ๐คท
Lol
I wonder how's the advanced all-game modloader doing
I mean I guess it's this or somethin: https://github.com/FluffyFishGames/AdvancedCompany/blob/main/Network/Sync/LobbyDataSynchronization.cs#L27
But uh, thing I'm most worried about with mid-round joining is uhh
Good luck with interior hot-reloading 
Good luck with weathers that don't mid join sync also
Could you add an option to the command lobby dropall trigger the "you can't hold this item until the ship land" or something like that.
uh?
this one here
You can turn this off with General Improvements, but I noticed it causes desyncs.
uhmmm yeah most of the times other mods completly remove it
and it's not something i can toggle back on in a host-only way. plus even if it was turned back on desyncs will still happen because the state of those items is not synced
that works on new lobbies because when the items spawn they are all in the default state. and they can't change state until they get picked up
ah, thx for explain.
i should add more items to AdditionalNetworking tbh
that mod objective is fix desyncs
You should look into this option from Hotbarplus.
In vanilla version, when clients put items too fast inside the cupboard, they become invisible and uninteractable, but the scannode is visible.
Could it be possible to add "Latejoin" or "Latejoining" to the tiny readme so when people search for latejoin or late or anything like that, lobbycontrol would pop out?
โ
ah. that description
If you add it to this tiny readme or whatever its called, it will pop out in ts
Like if you add latejoin in there, it will appear as an option when you search for latejoin in thunderstore :3
I just say it because, well we saw whats been happening with all the new latejoining mods, and maybe its because they dont even know this mod already does late joining, or dont want all the options it has and just want the latejoining section, but they resort to using an old broken version so idk
Having it be easily searchable could maybe improve a bit the situation??
sure i can add that on the next update... 
Yeah I agree with cheese on that. That would be a great idea. I've been having to direct so many people to lobby control cause they didnt know it had late join. Mithzan started using it too and almost went for one of those Late Join mods.
Also just want to say thank you @unreal oriole for your continued work in the community and amazing mods. Lobby Control has been a staple for us for a long time, even the new features you've added have been amazing and very helpful with my large groups.
i appreciate the sentiment.
i've some exams coming up soon , but after them i have a couple of additions fo LobbyControl planed ( small things as i still don't have much time with my job ).
๐
Hey matty hii i hope you've been doing amazing! Hope your exams went well!
I wanted to ask for smth regarding your visualizer website for profile codes, more about suggestions to it
Is this the right place to ask you?
yeah you can ask in here, tho the visualizer tool is kinda in a limbo because any improvements requires changes on TS side and i've been told they wont happen for a while ๐ฆ
Awww
Thats sad
I just wanted to ask for 2 features
The ability to use gale sync profiles
ask anyway, i'll see what's feasible
Rn gale profiles dont work
Would be cool if that could be added
And the other is a way to click on the mods shown or somewhere close, that then would redirect you to their thunderstore link
i don't think i can add support for gale codes. as they are fundamentally different from TS ones
this is an even weirder issue.
TS profiles do not contain the community they are made for. heck you can even have mods from other communities without issues.
but from the publicly exposed endpoints i have access there is no way to find the url for a mod from the profile code.
mod managers avoid that by pulling the entire TS mod list and matching against that. but a static webpage cannot feasibly fit all the data needed and even if it could it would take minutes ๐
Ooooh makes sense
Thats crazy bad design sorry, not from you of course hehehehe
Welp ty anyways for looking if it could have been a possibility
no problem, and just to be clear.
this is from what i could find in the limited time i worked on the project.
Also
The website hasnt been working for me for a few days by now
Says "failed to fetch profile, rate limit hit, retry in 60s"
same here
yeah. i had to use a 3rd party site to bypass TS CORS limitations (essentially you can use their API only if your site is literally called "thunderstore.io" or you are a server, as that can ignore CORS)
larger profile codes will most-likely have you hit rate-limits :/
nvm the proxy i was using has gone paid.... time to find an alternative
Gotta love when the free software starts wanting money
should have found one this afternoon. see how long it will last
019c7f9b-8f26-d58e-cc6e-2dc1f69d2ab8
what if commands dont work
and for example close gives me an option to buy a moon xd
are there plans to push additionalnetworking experimental to main "soon"
not that there's really a rush
i just kinda got to where i stopped switching between the two because everybody uses different mods and making everybody change between the two before sessions got to be confusing
but it's been outdated for a couple months
wasn't sure if there were issues preventing it from going out or anything
i might be jinxing but iirc smth happened with the main branch
like matty lost it or smth like that
so thats why experiemntal is like the "official" version now
nah, it's a combination of procastination and the fact that for a while experimental was indeed unstable ( before the Monkey Library )
i see
well now it's in Stable
WARNING:
you CANNOT have both Experimental and Stable installed ( even if one is disabled )
Wow
so what does exp and default have different? is it the same exact version rn?
any known conflicts for lobby control late joining?
i'm getting this error spammed whenever someone tries to join late and they never load in
019c9310-810f-b492-85d9-a8a76de8d839 profile code but fair warning its ~3gb
install chuxiafixes
ok
so im observing a very bizarre issue and im hoping you might have some insight into what's going on here (since you implemented the read/write fix for stormy weather)
in v73 zeekerss introduced all the body parts scrap for dine
and several of them use a new item class RandomFlyParticle that spawns 2 versions of a particle effect ("FlyParticle" and "WorseFlyParticle") at random
"FlyParticle" is just a simple orbiting flies particle effect, nothing really special there
"WorseFlyParticle" is more interesting, because on top of having the orbiting flies, it has a secondary particle system to make it look like there are flies crawling on the item itself
it does this using the exact same setup as stormy's static electricity particle, where the shape of the particle system is set to the meshrenderer of the item itself
but i've been noticing that, for some reason, this "WorseParticle" only works for the Foot (SeveredFoot) item
even though it can also be spawned on the Ear (SeveredEar), Hand (SeveredHand), and Knee (SeveredThigh) items
when using unityexplorer i notice some curiosities on the shape module... namely, the fact that every single item points to "SeveredFootLOD0" in the mesh field (this screenshot is from a SeveredHandLOD0(Clone)\WorseFlyParticle(Clone)\WorseParticle, and the same thing is apparent for Ear(Clone)s and SeveredThighLOD0(Clone)s)
i have no idea where it is pulling this mesh from
but you can see that meshRenderer is null, because none of these objects' meshes have Read/Write enabled, as you can see in the log
Mesh SeveredHandLOD0 requires Read/Write Enabled to be set in the importer to work on the particle system shape module
Mesh Ear requires Read/Write Enabled to be set in the importer to work on the particle system shape module
Mesh SeveredThighLOD0 requires Read/Write Enabled to be set in the importer to work on the particle system shape module
Mesh Ear requires Read/Write Enabled to be set in the importer to work on the particle system shape module
Mesh SeveredHandLOD0 requires Read/Write Enabled to be set in the importer to work on the particle system shape module
Mesh SeveredThighLOD0 requires Read/Write Enabled to be set in the importer to work on the particle system shape module
whatever mesh it's grabbing has isReadable == false too, so ???
anyways, lastly, if you look at all of the meshes for these scrap items, including SeveredFootLOD0, none of them are set to enable read/write
so, ultimately this all boils down to 3 questions from me:
- why does the particle effect shape-matching always work for feet, but never work for hands, ears, and knees?
- why does the shape seem to default to pointing to the foot mesh whenever it gets instantiated? (i checked, and the mesh field is empty on the prefab itself)
- would it be possible to extend your Read/Write patch to apply to items of type
RandomFlyParticle, like how it already applies to all conductive metal items?
you have to check the shape of the particle system. that will tell you from where it is reading
i suspect the shape is ( like for the lightning particles ) from MeshRenderer so it reads the mesh of the ShapeModule.meshRenderer and that is a different one than the one references in ShapeModule.mesh
right, but the part which i find confusing is that on the prefab itself, mesh and meshRenderer are both null. only once it gets instantiated, mesh is being filled with the reference to SeveredFootLOD0, even on the items which do not use that mesh
also im not sure why it succeeds at setting meshRenderer for the foot specifically, because if you check the meshfilter attached to SeveredFootLOD0(Clone), its mesh does not have isReadable set to true
and read/write is disabled for it, at least in the decompile
all of the others throw an error and then keep the value set to null
i have a feeling the MeshRenderer SeveredFootLOD0(Clone) ,which i'm 99% sure searches for a MeshFilter on the same GameObject, actually uses a different mesh
the chain is:
ParticleSystem -> MeshRenderer -> GameObject -> MeshFilter -> Mesh
i can VC for a bit if you want
yeah i think the actual mesh filter points to something named SeveredFootLOD0 Instance which is still isReadable = false
and that's what is confusing me because idk how the instance is getting created or why it's still not readable (but is acceptable for the particle system anyway)
ive been running on fumes this past hour and was probably about to head to bed. I appreciate the offer though
maybe if this is still stumping me tomorrow
๐ the shapeType of WorseFlyParticle is "Box" โ
nvm there are 2 particle systems
i'll probably need some help from @solar monolith to track in ghidra where that check is actually made. i've tested a bunch and seems that, even if managed land says a mesh is not readable, native land says otherwise and successfully uses it
i see
would applying your stormy weather approach even work then?
this detail was irking me and im putting out a BF update that fixes a couple other polish issues with the v73 scrap
but i wanted to come to you first since you already fix stormy's static particles and i thought this would have used the same solution
what i'm doing for stormy particles is quite dirty tbh, i use some low level gpu oprators to copy vertexes and indeces into a new Mesh ( anything else, eg. colors, is lost ) and swap the og with that one for the duration of the particles
next release of MattyFixes actually will not change the MeshRenderer and just convert the particle system to a Mesh one supplying directly the mesh + postion,rotation and scale ๐ฉ
you could use my new approach for the flies but if you clone the meshes and i clone the meshes it's going to eat a lot of RAM with all this duplicates ๐
Matty Fixes Experimental is Back!
now with DawnLib support, netcode fixes and yet again improved Lightning Particles
yayyy so glad to see you back in action matty!!!!
lol yeah that's part of the reason i was wondering if you'd like to just keep this ball in your court
so all the "particle mesh fixes" are in one place
i do a fair amount of auto-compat stuff, so if we both implemented a fix for this thing, i could just disable mine while yours is installed
but to be real id hope most of the people using my mod are using yours as well
to be fair this version has changes from like 3 to 4 months ago ๐
whats the dawnlib support stuff for?
Damn ๐
mainly the item categorization "API" that i'll propagate to RuntimeIcons eventually.
so item names in config and logs.
the 5 L APIs have been supported since day 1 ๐
but can the other body parts actually spawn that particle system or just the leg one?
so much L ๐
4 scrap items (SeveredEar, SeveredFoot, SeveredHand, and SeveredThigh) use RandomFlyParticle on their spawnPrefab (respectively, "Ear", "SeveredFootLOD0", "SeveredHandLOD0", and "SeveredThighLOD0")
all 4 of those items point to both the same "FlyParticle" and "WorseFlyParticle" (the latter is the one with the mesh shape issue)
currently only the foot supports the shaped particle system
also i hope to have a new version of LobbyControl Experimental in a week or so too ๐บ
when "WorseFlyParticle" is spawned on the other 3 items, the "WorseParticle" half is invisible (or at least, unnoticeable in game)
the worse version of the particle effect spawns larger orbiting flies and makes different sound effects, but the crawling flies dont work for anything other than the feet
and that is what i would like fixed (or, otherwise, like to fix)
do you have a UnityExplorer console script to spawn the worse effect? or maybe a coordinate in ship/testing room ?
not really i've just been landing on dine and then searching the hierarchy for WorseFlyParticle
dine spawns 200+ items per day and it's a:
- 1/4 chance to spawn fly particles at all
- if previous succeeds, 1/10 chance to spawn the "worse" particle effect
so you get like 5 per day on average
it would be easy to patch RandomFlyParticle.InitializeAfterPositioning() to force spawn the WorseFlyParticle on all items for testing sake
yay!!! remember to add LateJoin to the short description so it can appear when searching for that in mod managers!!!
it's sorta difficult to show the difference between screenshots (the flies are a lot more noticeable when they're actually animated) but the left is a foot with FlyParticle and the right is WorseFlyParticle
the other 3 items look "basically identical" with either particle since the differences in the orbiting flies are very subtle (there are 6 orbiting flies instead of 4, and they are "a bit larger", but that's it)
can confirm it's the same issue as the Lighting particles:
[Warning: Unity Log] Mesh SeveredHandLOD0 requires Read/Write Enabled to be set in the importer to work on the particle system shape module
[Warning: Unity Log] Mesh SeveredHandLOD0 requires Read/Write Enabled to be set in the importer to work on the particle system shape module
[Warning: Unity Log] Mesh SeveredHandLOD0 requires Read/Write Enabled to be set in the importer to work on the particle system shape module
[Warning: Unity Log] Mesh SeveredHandLOD0 requires Read/Write Enabled to be set in the importer to work on the particle system shape module
could be interesting lol
zeekerss really needs to read the logs more often
but I suppose Unity doesn't let you launch with it visible, we have an advantage in that regard
so then what's up with the foot? is it actually read/write internally and it's just erroneously showing isReadable == false?
It looks like all modded scrap rotations are in the vanilla group.
50/50 i'd say. the whole read/write thing is on unity imo.
because in editor everything works as editor "locks" all meshes as read/write.
but zeekers should test more of the final builds, as far as i know he only tests in editor
i'll have to check this evening. can you provide a modpack code?
019caf28-944f-7bfb-a90a-6a048fdf80c2
019ca91b-92ae-8c2e-9cb3-6579a0c3778c before using experimental
I actually had quite a bit of errors thrown in regards to item groups or something from memory (?), I will send logs and code in a bit, using experimental
And my rotation values for modded scraps reset too, I added them manually again.
starts at line ~12610
019caf47-feda-b2e5-317f-d794a1d614fc
could you check this version @outer void ?
EDIT: removed attachment
Sure thing, NREs gone now replaced with a warning
how can I set manual_offsets for modded scraps?
I tried LethalLevelLoade/Scrap name, LethalLevelLoader|Modname/Scrap name and only the scrap name. I tried both scrap names from in game and mattyfixes config
i'm confused how it generates an entry without name but i'd guess there are some Items without itemName and name. and that makes me wonder even more how they ever worked before ๐ค
if they don't show up in the config ( after you joined a game once ) then they are not supported by MattyFixes
tho currently Experimental is quite broken so don't rely on it yet
I wasn't using experimental
this is the expected format
let's see if this one works better but i'm still confused
EDIT: yeeted attachment again
alright, sorry to rehash the issue so many times (especially in the middle of this other bug), but just to make sure im 100% clear...
are you ultimately planning to adopt the flies shape bug into mattyfixes? im currently planning to push the BF update with some other fixes for dine scrap "soon", and i guess if i need to handle the particle thing myself, id probably rather wait and bundle it all together
as long as you can get to it "eventually" im more than happy to stay out of your way, there's no rush on when it goes out. but i'd like for somebody to fix it :)
The GeigerCounter from facilitymeltdown is now in dawnlib|facilitymeltdown instead of vanilla or unknow
Lethallevelloader scraps are still in the vanilla.

well i was patching the same method in two different files and the order of execution was wrong. 
It looks like it's working, but these two scraps where ScienBirdTweaks and ButteryFixes change the name are here now.
In Lunar Config all vanilla items are lethal_company but these two are lethalcompany
well they are indeed modded items ๐
not sure why DawnLib considers them in the vanilla namespace but i'm 99% sure they are not vanilla
The manual offset that debbicar set for the V-type engine is working too. The current experimental is a little underground, unlike the default version.
i'm torn on that. sometimes it's indeed a lot cleaner to write the comparsion explicitly, but others the ! can conpact things, especially in long expressions
oh, right. i forgot to answer you. i quicly tried to apply my method to the flies but it seems ( while the warnings in the logs stopped ) nothing shows up on the items
the "particle" feels like a shader tbh so it might be some weird interaction with the material i'm not sure
but i do not have much time to test lately :/
my 1st attempt is in the v1.1.37 tho, as i said, doesn't seem to be working
i see, ok
in that case i will abstain from messing with it
just wanted to know who had custody of this one ๐
you can try. having two people working on it will definitely speed up finding a solution
yeah, i'll try to gather some more info, i just wont implement cloning the meshes on my side too
i am invested in figuring it out, i just dont want to cause conflicts with implementation
as always for my fixes it is behind a toggle. so even if there are conflicts one of us can easily turn it's patch off
and if you figure out a working fix before me i can just remove the code entirely โ๏ธ
i'm not entirely sure what your fix is doing under the hood, but i am noticing it breaks the flies for the foot, and also prevents flyAudio from being assigned to RandomFlyParticle, which prevents the buzzing audio from playing
all of the items use the same HDRP/Lit shader for each of their materials (each mesh uses 2-4 materials) and some of them even overlap across items (MeatMaterial and SeveredBodyBone1 are used on almost everything, including the foot, so im not sure shader's related)
i did notice a difference in the data types used by the foot LOD0 mesh though - maybe that's related? (maybe this is just how the decompile shows read/write meshes?)
lastly, i did notice that the particles do render in vanilla - it's visible on the ear model, due to its concave shape and small size. all the flies just build up in the center of the mesh (like the lightning particles) and no motion is visible
if your fix is enabled these flies disappear, and it's just the orbiting flies + silence
the float16 vs 32 thing is optimisation stuff iirc, shouldn't be relevant to whatever your hunting
maybe... but normal, tangent, and uv0 are all float32 for SeveredFootLOD0 (the only mesh that supports the flies in vanilla)
for the other 3 that don't work (ear/hand/thigh) they're all float16
it's the only correlation im noticing in the decompile, at least
that could be a symptom of what might be the difference
is there a difference in how they are boned or how the skin stuff is setup?
yeah i was wondering if it's a side effect of the foot seemingly being marked read/write in the original project. maybe the decompile misses enabling that setting at the bottom, but the data is compiled/decompiled differently
ok so... sorry for being so flip/floppy on this, but for now, i will actually be including [a tentative fix](#1245891961966170204 message) (i am 100% convinced there's a much better solution than what im using, so this probably is not "end of the story" for this bug)
what im doing right now:
- i duplicated the original 3 meshes, enabled Read/Write on them in the editor, and then packed them into an asset bundle
- in
StartOfRound.Awake(), all of the bugged scraps have theirMeshFilter.meshreplaced with the duplicates from the asset bundle - after
MeshFilter.meshis assigned,RecalculateNormals()andRecalculateTangents()are run on it
without step #3, the flies show up, but they don't rotate properly to match the topology of the mesh. i assume this is related to the missing data in the normals/tangents expressed here
at minimum, there's probably a better way to recalculate that data before packing the asset bundle, but i did notice that recalculating normals/tangents didn't fix the issue unless it was run after assigning it to the meshfilter
and ideally there's probably a way to do all of this at runtime
probably not no
if its read/write based
well iirc matty just worked around it previously by creating a new mesh and cloning all the vertex data from the originals
using runtime code
i think that's how the stormy weather particle fix used to work (before he overhauled it in this latest experimental build)
it just doesnt preserve everything about the original mesh
what im doing probably doesnt either tbf... it gets the job done but it does feel very band-aid-y
the only reason i have anything working at all is because i went further down the rabbit hole trying to figure out what was wrong with his version of the flies fix, and then wound up with "something usable" along the way
see the real solution is to build a runtime level assetripper and dynamically rip the mesh ๐
your route seems sane
currently using MF experimental and enabling the flies fix probably breaks some of my stuff, since flyAudio being null prevents some of my patches from catching
so i guess for now, im just gonna release what i have, recommend people toggle that setting off for now, and then if it's figured out in the future i can pull my stuff since it's probably much worse than matty's will be once it works
It doesn't look like the lightning particles are aligned to some scrap.
It looks like when you drop the item, the particles misalign with the mesh.
... right i set the rotation once the zapping starts and never update it ๐ค
two strange things happened but only with modded scrap
i might have to bring out my best weapon: ParentingConstraint
not sure why flyAudio goes null for you. my transplier is working correctly from the oitput IL and i'm not suppressing anything.
in my test profile the audio source works correctly ๐ค
also i managed to make the particles show up on Thigh, Hand and Foot ( ik it works in vanilla, but i mean with my mesh ) tho it's not consistent and does not seem to like me changing settings during Instantiation :/
yeah idk either
but on a profile with just mattyfixes experimental 1.1.37, imperium, and unityexplorer
any item with WorseFlyParticle just doesnt have flyAudio assigned
you can see WorseFlyParticle on the item, but WorseParticle appears to be completley invisible, and the FliesBuzzingAndMaggots audio doesnt play
[Debug :Matty's Fixes] Vanilla/Foot(101) position updated [(0.00, 0.00, 0.00)] -> [(0.00, 0.04, 0.00)]
global startposition falltoground for object SeveredFootLOD0(Clone): (-0.49, -219.53, 19.13)
Item Foot landed on : mesh / mesh
NullReferenceException: Object reference not set to an instance of an object
at MattyFixes.Patches.ItemPatches+RandomFlyParticlePatches.ChangeParticleShape (UnityEngine.ParticleSystem+ShapeModule& shapeModule, UnityEngine.MeshRenderer meshRenderer) [0x00027] in ./Plugin/src/Patches/ItemPatches.cs:516
at (wrapper dynamic-method) RandomFlyParticle.DMDRandomFlyParticle::InitializeAfterPositioning(RandomFlyParticle)
at GrabbableObject.FallToGround (System.Boolean randomizePosition, System.Boolean justSpawned, UnityEngine.Vector3 overrideStartPos) [0x00229] in <83220f1fc337491eba19b3618ec61339>:0
at GrabbableObject+<fallToGroundOnFrameDelay>d__40.MoveNext () [0x0004a] in <83220f1fc337491eba19b3618ec61339>:0
at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00026] in <c39a522eee05469b8171a6cfeb646c59>:0(Filename: ./Plugin/src/Patches/ItemPatches.cs Line: 516)
this makes sense
i assume ChangeParticleShape() is happening before the rest of InitializeAfterPositioning(), where flyAudio gets assigned
= {
= gameObject = UnityEngine.Object.Instantiate<GameObject>(this.badFlyPrefab, this.transform.position, Quaternion.identity, this.transform);
- gameObject.GetComponentsInChildren<ParticleSystem>()[1].shape.meshRenderer = this.gameObject.GetComponent<MeshRenderer>();
+ RandomFlyParticlePatches.ChangeParticleShape(gameObject.GetComponentsInChildren<ParticleSystem>()[1].shape, this.gameObject.GetComponent<MeshRenderer>());
= }
yeah so this nullref is the problem then
though i doubt that's helpful since it sounds like you've made changes upstream anyway
i never noticed that NRE.... one sec let me compare live experimental vs my dev
๐
soo. i managed to have the particles show... but somehow they break immediately once the item is picked up or moved
and they fix themselves only if i set the shape to MeshRenderer and back to Mesh 
i'm so confused by how this particle systems work
if i pause the system and grab the list of particles in the broken state they are basically all over the map ๐
Hey @unreal oriole the laye join feature doesnt allow for joining after u get fired
Its kinda buggy rn
Are you using chuxiafixes?
Nope. I thought you weren't using it.
haven't heard of anybody with that issue before
from the current code. the lobby would fail to open only if another mod fully replaced StartOfRound.SetShipReadyToLand
are you sure you have toggled autoLobby in config or ran lobby open in terminal?
@brisk harbor if you (or anybody with knowledge of ParticleSystems) can help me find which settings i'm missing.
from what i could see with UnityExplorer i'm using the same settings as the lightning one.
i've pushed my current setup on githib
it works if:
- item is on the ground
- you open the particle system in UE and toggle it's shape to MeshRenderer and back to Mesh
and even then it breaks if you move/grab the item 
by pausing the system and calling GetParticles i see that they are probably using the wrong scale but i have no idea what to change
im by no means a particlesystem expert
this has been an "exploratory" issue for me
but i will try to look into it and see if i can figure something out
I've messed a lot with particle systems, but im unsure entirely what you're looking for
if you're looking for specific scale of particles, then it's either in the shapes module or the render module
im opening unity to check but that's where it'd be
yeah for sure, I feel like they should at least print a warning when running in editor with effects that depend on reads
@sikente with somemany thanks to @vague talon for in editor testing.
v1.1.38 is out in experimental
the issue with mis-alligned lightning particles should be fixed with the use of constraints
Nice
@sikent
the fly particles should now appear correctly ( apparently mesh mode is not affected by scale )
i have some more to test tomorrow on this topic
Will this be moved to main fixes or is experimental the new red hehehe
i mean i still had to fix things in the last 2 releases. ๐
i do not think i can consider it stable yet ๐
Could butteryfixes fix conflict with yours? Or its gonna just overrides
what settings are you referring to
i believe that matty's fix will effectively just override mine
but i havent had an opportunity to test 1.1.38 yet
I found an ear with fly particle
well it looks a bit different than what i remember seeing in BF testing
but that's more or less the intended effect
yeah
it's been a couple days so it could be placebo but i feel like the flies are a bit closer to the surface of the mesh in vanilla
also im not sure why they are so translucent for you
so matty... an interesting development
it looks like zeekerss is going through #bug-reporting in zeekcord and fixing some stuff
#1479718720673681539 message
a moderator just went through and closed this recently. im pretty sure it was open earlier this morning
since it also has the "fixed" tag i assume it's zeekerss, anyway
oo that's cool
im sure your fix will still be helpful (in case zeekerss forgets some scrap in the future, or for modded scraps, or whatever) but i guess it's nice to know he is likely aware of the read/write thing now
also i guess your fix might still be helpful even for vanilla items because i assume your new approach doesn't have the issue with particles being offset weirdly from the original mesh
yeah the "fix" will probably stay mainly for modded scraps
if it is properly using the meshRenderer then there will be no offset as postion, rotation and scale are all inherited from the renderer instead of using the manual ones
that's one big lightning ๐คฃ
if you were to die to it you can't say it didn't warn you ๐
All V-type engine are like this for some reason
and some scraps the lightning particles looks different (Tea kettle for example)
Does anyone know the configuration to fix Matty's Fixes Experimental making V-Type Engines lay on their side?
-90,0,0 is the default configuration, and so far stuff like 0,90,0 and 0,0,90 hasn't worked in propping the engines back up
I'm using 0,-90,90 and itemclipping 0.5 from debbicar
0.5 Vertical_Offset?
What does that do for us, exactly?
Vanilla/V-type engine:0.5 manual_offsets
the scrap will be a little underground
Are they a little underground in vanilla?
yes
zeus sends his regards
by default in mattyfixes (after rotating it vertically, i mean), the engine rests higher than it does in vanilla because there are a couple pipes sticking out of the bottom that normally appear in the floor, so i use that number to make it rest as low as it does in vanilla
Yeah, I forgor that the engine clips into the ground in vanilla
I remember having that issue when having solved the engines resting on their sides before in the past, but didn't know how to fix it
im not sure exactly what you mean by this
though something possibly related to particles looking different
i notice zeekerss set the static electricity particle to use vertical billboarding which makes it look weird if you stand on top of a charged scrap and look down
i feel like it'd look better with both horizontak and vertical billboarding
but im not 100% sure
Do u have a fix for the clown horn btw?
Matty's Fixes Experimental angles it for sum reason
i dont use the experimental version but yeah i have rotations for all vanilla items
Would you mind just passing the config over? lol
yeah was just about to do that lol, i'm pretty sure this is complete, if you find one that looks weird or unfinished then lmk
i still need to tweak a bunch of settings to match (or improve) vanilla tbh. i'll chip at them when i have time
๐ค i cannot reproduce this ๐ค
A lot of your angles are fucked up
Shovels, homemade flashbangs, red sodas, for example, are all angled sideways
this is intentional, so when they drop out of your hands it looks like basically falling straight down
because for example dropping a shovel in vanilla rotates it 180 degrees and i think it looks really bad

i guess it's subjective tho
the one thing i dont like about my angles being slightly tilted is that the rotate_on_spawn config doesn't work when disabled so all the loot spawns at that slight angle
but i personally still think its a worthwhile tradeoff to have nicer looking drops
Its normal now in the new update, although "Fixed" and "Alternate" options are swapped.
this is actually after modifying the particle system to use Billboard instead of VerticalBillboard and it still doesn't even seem to be billboarding horizontally
anyways yeah im using the "Fixed" setting here and it appears to be using the "Alternate" behavior regardless
Billboard means the particles are oriented towards the object up vector.
VerticalBillboard means the particles are oriented towards the camera forward vector
HorizzontalBillboard means the particles are oriented towards the world up vector
ohh. weird
i guess i should have read whatever it is you're looking at
in that case i guess vertical billboard (what it already uses) should be correct? but it still looked wrong which is why i started messing with it in the first place
maybe the issue is something else
oh i see. it looks like "Billboard" with render alignment "View" is the way to go
to make it look consistent from all angles
RotateOnSpawn is not about the "restingRotation" but about an offset on the y of newly loaded items vs dropped ones
oh ok interesting
you can't selectively apply resting rotations to dropped items but not newly spawned ones ๐ i would have to save a list of all the original values and check against that every time ๐
oops ๐คญ , i'll swap them around the next update
If i wanna do manual offsets for modded scraps? its like "LethalLevelLoader/ScrapName:0.2"
[API]/[ModName]/[ItemName]
exceptions are Vanilla/[ItemName] and Unknown/[ItemName]
thx
Is there a way to completely fix Matty's Fixes from messing /w the rotations of items ?
E.g. V-type engines being on their side
you could just put "default" for every item in the config
or at least whichever ones you dont like
wait actually nvm not default
it says what the vanilla rotation coordinates are above that, and so you just copy that into the rotation thing
And we have to do that for like 100 items fuuuck
default is supposed to work actually
in old versions you had to copy vanilla rotations into the box but as of 1.1.34:
defaultin config will now use vanilla values instead of ItemClippingFix ones
maybe i misremembered then, i was thinking it puts the default one given by mattyfixes
gotcha, ok sick
in these
wow gale's config editor looks so awesome... i'm jealous..
Does it seriously do this one at a time
Or is there a workaround to display everything
what da hell
Is it cuz of this?
did it just like, not generate the thingies for all the other items
it can't fetch the item list until you load into the ship
leave matty fixes enabled and make a new save file
or load a save
or whatever
then it generates the list
once the entries are generated you can edit them just fine in gale
lol
did he change it in experimental or something
let me check
here is a fresh profile where i only installed matty fixes, and loaded a brand new save
same deal for experimental (v1.1.39) as well
@torpid badge Does leaving this disabled fix V-type engines floating
Idk
i dunno i have brain worms
the description of that setting makes it sound like it disables everything in the list we've been talking about
but uh i just put a manual offset for the engine to sink it into the ground
as well as vertical_offset and manual_offsets
Matty's Fixes still likes to quietly affect items, even when all of its settings relating to them are disabled
Well, maybe used to
Idk now
Does anyone know how effective this is btw?
Cuz we don't
i mean
i always leave it enabled
and ive never had problems with out-of-bounds items
not sure what else there is to say about that
Alr
Last thing
Buttery did you fix the flies already, we feel like u did
If so then we'll disable this Matty setting
yes we both fixed the flies
im probably gonna remove my fix once the experimental version goes live
since i feel like everybody using BF should also be using MF
but at least for the time being you can just disable matty's fix and it's fine
Occasionally I'm seeing NREs spammed by additional networking immediately upon round start. Is it related to scrap? Can I avoid it by turning off the Item state / Item Values options maybe?
i'd need to see the nre itself to answer that ๐
Sure, I thought it was a common thing/incompat. I should still have it in logrota. Will report back in a bit.
NullReferenceException: Object reference not set to an instance of an object
Stack trace:
AdditionalNetworking.Patches.Value.GrabbableObjectPatch.CheckScrapHasValue (GrabbableObject __instance) (at ./Plugin/src/Patches/Value/GrabbableObjectPatch.cs:22)
(wrapper dynamic-method) GrabbableObject.DMD<GrabbableObject::LateUpdate>(GrabbableObject)
that's weird it's an item without itemProperties ๐ค
Hmm, didn't notice any weird invisible/desynced item. I didn't even have that much on me or anything in the ship I think. A pro flashlight and an audio log from asteroid 13. I was just testing stuff.
nah, from your description is something that spawned during landing. so either part of the moon or a scrap from a mod not using any of the APIs
ah, I guess in that case prime candidates could be the items added by the ancient MoreInteriors (bunker) v2.0.0. By default unless reconfigured with sth like LunarConfig it adds those to each moon's loot table. But could be anything really with so many mods sneaking in an item here or there. Maybe I'll figure out more when I get around setting up the loot tables myself and playtesting. I guess next time it happens I'll do a loot scan, screenshot for reference. Then when it happens again check against that to narrow it down.
oh yea, I realized the game itself also throws this so dw about it. Something's being wonky and I'll just have to figure out what it is
For some reason, the lightning particles weren't able to produce the shape of a shotgun.
(Only clients) If you change the slot while putting an item in the cupboard/cruiser/elevator, the item will be invisible and uninteractable, but the scan node will be visible.
if you could take a look in the next update
For Additional Network of course
i'll see what i can do when i'll have time ๐ค
i belive there is already another fix mod for that no?
hotbarplus fix that for cupboard
if theres a mod for all three
idk
The jetpack only has the joystick surrounded by particles.
yeah. that's correct from vanilla code
jetpack is made of many objects and vanilla logic only places particles around the first one
Same thing for shovels
Wayy farther 'n bigger than they're supposed to be
Shovels is working
and no, we weren't using the version that makes growing static appear in a sphere around items
MattyFixes is broken and AdditionalNetworking logs a warning everytime it utilizes the new slot
AdditionalNetworking is probably mostly redundant now
Just disable the slot stuff
It's prolly the Slot change option that is borked
Should just need to turn off these I'd assume
I may choose to just not run the mod til it's updated
do you mind providing logs for both? i sadly do not have time to check probably for the upcoming month ๐ญ
Matty Fixes just fails on boot
I can get that log for ya
both Stable and Experimental
Additionalnetworking is prolly redundant or mostly so
he did a lot of changes to how item slot stuff works
DunGen scripts are missing and broken since DunGen was separated out of Assembly-CSharp and also split into 3 different dlls @unreal oriole
I noticed the spawning in furniture was fixed in Vanilla anyways when playing V80
he can likely get rid of that patch
Wdym spawning in furniture
Pre-V80 the fancy lamps and stuff used to spawn in tables and counters a lot in the Mansion
that did not happen at all that I saw when playing the new update
So I think Zeekerss fixed it himself finally when he updated to the new DunGen version
uh? i do not touch DunGen ๐ค
You also might wanna check if he changed the lightning particles in Vanilla I think he might have
from the error and a look at my code i'd say there are now multiple RoundManager.GetRandomNavMeshPositionInBoxPredictable
if the mesh is readable my patch is skipped so that will not cause issues
But yeah the Spawn in furniture thing I am pretty certain is fixed in Vanilla cus I never experienced the bug playing V80
but i doubt he did from what Buttery says
Got ya lol
He did change so much so I might have just been thinking they were changed cus it'd been so long
XD
do we not have v80 GameLibs?
V80 is still currently in the Public Beta, he's talking about releasing it to Main Branch later today after he pushes some bug fixes
Assuming that's what you mean lol
AN job was more than just Slot syncing
i'll still have to recheck all the patches tho
Yeah I have no idea what is still needed from it and what not
https://1a3.uk/games/lethal-company/diffs?branch=public_beta&version=v80_1&tab=1 The diff is pretty large
from the diff you linked the spawning in furniture bug is still there
he might have changed the vertical offset for the lamp instead
Yeah he may have just changed where they can spawn
since with the DunGen update I think he redid the interiors
and yes, my assumption was correct and there are two RoundManager.GetRandomNavMeshPositionInBoxPredictable now
I should check if LandFromOrbit is still needed, he completely changed how the ship lands
I do not think it starts landed anymore but would be funny if it does
LMAO it does wild
he fixed it for a couple items
like i think i noticed red soda(?) was fixed
but jetpacks aren't
i havent gone through and checked every item like i've intended to
eventually
Zeekers fixed the crouching one
yes, zeekerss fixed crouch sync
there is a vanilla RPC now
i kinda doubt he changed any of the item slot syncing stuff
but it's probably still broken in AN because of utility slot
this one it looks like its fixed
at least the cupboard
The cupboard fix is hardcoded to 4
Players above 4 will see everything sank when they join
elevator too
So you still will want Mattyโs Patch for the Cupboard
What was wrong with the Elevator?
(Only clients) If you change the slot while putting an item in the cupboard/cruiser/elevator, the item will be invisible and uninteractable, but the scan node will be visible.
lobbycontrol breaks the game too :c
Go play V80 and avoid spoilers
honestly i thought the OOB was related to the dungeon
yeah i found that realy funny
IM PLAYING RIGHT NOW
ehhh. you can ignore the warnings then
nope
since it's a beta, lordfire can't get a gamelibs going
did i miss smth?
Is there a way to disable them so they don't spam the logs? lol
๐คท , not worth a hotfix for that
Would the Skip Vanilla grabbables sync change the message?
AsyncLoggers? ๐คญ
eventually i'll update it. i just don't have the time rn
It does if you scroll
?
Press tab once, it highlights the slot, press it again it goes back to hotbar
no it doesnt
Yes it does
already tried vanilla i know how it works
Your game is fucked if not
its not working for me :c
Check your keybinds
how well does it work?
maybe something happened but after disabling it works
MattyFixes v1.1.40 Hotfix is up in Experimental.
other mods will be checked as i have time. at least this one was easy ๐
Other mods still appear to be working, at least of the ones I usually run
was my friend Shayde :3
we removed it, it was that
incompat between the 2
yayyy
uh?
๐ฅถ
it looks pretty comprehensive
any time it changes on your client
it runs the rpc to sync it immediately
in the same function that toggles crouch
LOL
that was a bit late matty nyehehehe
silly
its fine
it was hostfixes doing CRAZY stuff
i'm scrambling to track any mentions of my mods ๐ . i noticed that just because i searched for it ๐
seen some bug reports in the official server, i'd say you need AN more than ever ๐ especially with the inventory desyncs
So, inventory fixes are still better?
i heard that he has apparently fixed "guoda light" and "guoda bag"
the exploits that let you get a permanent flashlight attached to your helmet
and let you get a permanent belt bag attached to your waist
and then of course there's the utility slot
but i kinda feel like it's unlikely he "fixed" much in the way of inventory outside of that
Probably, because he fixed that problem I mentioned earlier
hotbarplus fixed only for cupboard and guoda light/bag was impossible to do
at AdditionalNetworking.Networking.PlayerController.OnSyncInventoryClientRpc (System.UInt64 senderId, Unity.Netcode.FastBufferReader data) [0x000e9] in ./Plugin/src/Networking/PlayerController.cs:186```
probably its not good play with inventory sync
Caused by tool slot
Probably anyways
probably 
Your lightning particles are a little misaligned.
AdditionalNetworking Experimental for v80 is up for testing
I believe Lobby Control is causing vanilla players to cut out
There will be times this mod just makes certain vanilla players inaudible
I say believe, as it might be Lobby Improvements as well, since it's the one of two mods I've disabled for this ongoing test, but I have reason to suspect Control over Improvements since Control was updated for v80
Are you using chuxiafixes?
Since v73 it's needed for latejoin mods
Idk but its good to have
Buttery said it's fixed in vanilla so i cut out the code from AdditionalNetworking ๐
Ah you just didn't remove the config setting
lmao
wdym with that? vanilla crouch is still desynced? ( i removed the sync code from AN )
the thing lunxara mentioned
that's why i thought you didn't remove
it's just in the desc
and in the config too i guess
but vanilla's fix looks fine imo
I confirmed that itโs this mod causing the vc issue
LobbyControl? in what conditions? is it this mod specific issue or LateJoin in general?
wait LC works in v81?
yes
Lethal Company in v81
i think something with latejoining is weird tho
it would not work for us, but after adding chuxiafixes it was fine (there were a couple patches in between so i am not 100% sure if that actually fixed it)
No, it happens when Iโm a client in vanilla pubs
Certain people will just go permanently silent for me unless I rejoin the lobby
yeah i migth end up adding chuxiafixes as a dependency as the new netcode version borked even more stuff about late join
The other players in the lobby can hear them just fine
I have no idea how the hell itโs doing it then, because disabling it specifically fixes the issue
any error logs?
Iโm at work, so not rn, but I will give a log and my modpack code when I am home
no guarantees but zeekerss might've updated netcode version for this reason
cuz we went from 1.12.0 to 1.12.2
these were the changes, idk if any stick out
noone of them strike me as our problems but chuxiaaa would be more knowledgeable on the topic
@languid hound NGO was updated in v81 from v73 to 1.12.2 from 1.12.0, do you think any of those changes made anything in chuxiafixes obsolete by any chance?
i think there isnt but not 100% sure myself
I recall them mentioning that the new version has a fix for it. So if Zeek updated the netcode version, the old issue shouldn't occur in the v81. But we'll need to re-test to be sure.
yea
I'm actually getting this too, but i was using lobby control before all beta with no issues. I think this is because of general improvements, .
General Improvements updated, though
@unreal oriole hey just wanted to ask is matty's fixes still relevant for v81?
and additional networking?
i'm assuming the non-experimental ones will be updated as well? i'd rather use those
Eventually, they will
After testing, this issue still exists.
F
due to the many requests
Matty Fixes and AdditionalNetworking
have been pushed out of Experimental early.
-# Here be dragons 
i forgot to send this a few days ago sorry matty
do not eat items had an issue when i loaded up my profile in v80
granted everything else was breaking down but i'll show this error just in case there is something wrong with it
Will Lobby Control be ported to v80?
Its working
No, it is not
It should be recompiled at least
It's causing an issue where random players will go permanently silent until the lobby is restarted
Since v73 you need chuxiafixes. I played with 6 players and I didn't have any problems
This includes ChuxiaFixesโฆ
Lol
Everyone that has used it has reported its working fine
No idea why its not working for you specifically
thank you guys for sorting through issues and helping people in stead of the devs.
i'm super busy with work so i rarely have time to work on mods. and you guys allow me to focus only of proven issues ๐
for what i know LobbyControl does indded work correctly in v81. and since v79 chuxiaaFixes is needed as the new netcode version introduced a bug for latejoining players
i've overheard of some issues but typically was a single message sent somewhere an coupled with an avalanche of errors from other mods, so nothing confirmed yet
i have a rewrite in progress for LobbyControl but no time to finish it. maybe by summer i'll move it to a community repo and get some help maintaining it ๐ค
sounds awesome
thank you so much for your hard work
019d7f2f-3843-a3ff-ab1c-7a26b39fe45f
i apologize to whichever pub i sacrificed to get this log lol
- you have a lot of exceptions from your model replacement mods
- also exceptions from
PlayerHUDTweaks - something still using the old embedded DunGen (v80 moved it to a separate dll)
[00:40:43.3688676] [Error : Unity Log] TypeLoadException: Could not resolve type with token 0100008d from typeref (expected class 'DunGen.Tile' in assembly 'Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null')
- something seems to be breaking
StartOfRound.SyncShipUnlockablesClientRpcbut you do not have the right mod to know who it is
at (wrapper dynamic-method) StartOfRound.DMDStartOfRound::SyncShipUnlockablesClientRpc
due to the listed issues i can't say which mod is the cause, only that i'm surprised your modpack even runs ๐
Do I just install that on the tin, or do I configure it?
it should work out of the box to give more detailed stack traces. it wont fix anything btw
Alright
[23:35:18.7999045] [Error :Matty's Fixes] DawnLib/usual_scrap/Padlock Failed to mark prefab Mesh Readable! System.ArgumentException: Mesh 'Cube.004' index buffer is null
at (wrapper managed-to-native) UnityEngine.Mesh.GetIndexBufferImpl(UnityEngine.Mesh)
at UnityEngine.Mesh.GetIndexBuffer () [0x00012] in <c39a522eee05469b8171a6cfeb646c59>:IL_0012
at MattyFixes.Patches.ItemPatches.MakeReadableMeshCopy (UnityEngine.Mesh nonReadableMesh) [0x00088] in ./Plugin/src/Patches/ItemPatches.cs:279
at MattyFixes.Patches.ItemPatches.GetReadableMesh (UnityEngine.Mesh original) [0x0001b] in ./Plugin/src/Patches/ItemPatches.cs:236
at MattyFixes.Patches.ItemPatches.CacheReadableMeshes (UnityEngine.GameObject go) [0x00031] in ./Plugin/src/Patches/ItemPatches.cs:251
at MattyFixes.Patches.ItemPatches+NetworkSpawnPatch.Prefix (Unity.Netcode.NetworkBehaviour __instance) [0x0004b] in ./Plugin/src/Patches/ItemPatches.cs:157
@unreal oriole
just to weigh in on the lightning particle issues
i did notice that they were much bigger than they are supposed to be for jetpacks
after appearing enlarged on a jetpack it seemed to be enlarged on other items too, like keys
you can safely ignore that error. or better, you should report it to the item creator
@brisk harbor i'll try to test it 
Heya, so I ran into an issue regarding some of the custom scrap from my mod.
There are 2 animate items in particular that animate into the negative on the y-axis in their prefab.
Matty Fixes seems to interpret the bottom most point of those animations as the offset.
I was wondering if it's possible to have to so it only pulls from the idle state of the scrap rather than trying to determine it from the animation?
I don't know if this is considered a bug or not.
why do you have the item sink in the ground?
how does that look on shelves for example?
They don't, their animations go below their idle frame.
MattyFixes waits for all animators to complete an iteration
var animators = grabbable.GetComponentsInChildren<Animator>();
//wait till animators stop
yield return new WaitUntil(() => animators.All(
a => !a || Mathf.Approximately(a.speed, 0f) || a.GetCurrentAnimatorStateInfo(0).normalizedTime >= 1));
but again. if the animation goes into the negatives it means that the item sinks into the ground no? ๐ค
No, lemme grab some images from the prefab and I think you'll understand what I mean.
does your item di the animation during spawn?
No
like the belt bag starts with the belt hanging down on spawn then settles down to the latched position
when does the animation play?
It plays when you grab it.
or your animation is toggling between two different meshes?
No, it's an armature.
in the logs, when does mattyfixes say it computed the offset? at spawn or after you grab it?
It doesn't say, it adjusts the vertical offset after I first grab it.
Hold on one sec
On first grab yeah.
The one fix I was able to find is that the armature cannot animate below the resting position.
[07:54:51.8247163] [Debug :Matty's Fixes] Vanilla/Ribcage(87) is computing vertical offset
[07:54:51.8247163] [Debug :Matty's Fixes] Vanilla/Ribcage new offset is 0,1779189
if you do not see this logs then MattyFixes is not doing anything
Oh I didn't have debug checked for BepInEx console oops
These issues only occur when Item Clipping is enabled in your mod.
yeah that is what recomoutes all the vertical offsets
Lemme grab the debug info real quick.
i'm intrested in knowing if it computes the offset immediately or only after you pick the item up
it should compute it immediately but ๐คท
It computes on first grab.
[Debug :Matty's Fixes] DawnLib/terras_scrap/Fuzzy dice new offset is 0.9076259
[Debug :Matty's Fixes] DawnLib/terras_scrap/Fuzzy dice(37) position updated [(1.76, 0.00, -6.30)] -> [(1.76, 0.91, -6.30)]
[Debug :Matty's Fixes] DawnLib/terras_scrap/Fuzzy dice(37) position updated [(1.76, 0.91, -6.30)] -> [(1.76, 1.82, -6.30)]```
that means your animator is not vanilla compliant.. i'll have to account for that
in vanilla all animators are constantly running and have a resting state
you problably start&stop the animator instead of toggling states
but do you have a .enable / .Start or it's always active and running?
I'm not sure, I assume it's always active since it goes straight into the idle state.
yeah the animator is disabled
if i simply enable it via UnityExplorer:
[08:09:21.6820786] [Debug :Matty's Fixes] DawnLib/terras_scrap/Fuzzy dice(37) is computing vertical offset
[08:09:21.6825823] [Debug :Matty's Fixes] DawnLib/terras_scrap/Fuzzy dice new offset is 0,01021164
you get a reasonable offset
btw i love the dangling while holding them ๐
This right?
That looks enabled to me yeah
lol i was about to ping you Xu
:p I've been reading
well it is not for unityExplorer
Well, the animator is weird, but it depends if terra enabled it and sent the screenshot
Or if its just how the animator works
It's been enabled.
Cuz when im messing with animations in unity, the animator is technically off
Yeahhh
You can't trust the .enabled for the animator
from UE, it's a generic AnimatedItem and i checked other vanilla ones but they all have the behaviour enabled in the prefab
It might be related to how the animation clips are setup
Could be some sort of inherent optimisation they have
I will say, when I look in unity itself, and I'm previewing animations, the animator is automatically set to off (but blue)
I don't have a pc rn to send screenshots, but you'll probably want another way than checking if the component is enabled (even though that's also technically valid as you can turn it off, it's just unity also turns it off itself in some cases afaik)
