#General Improvements
1 messages ยท Page 8 of 1
Apologies - my attention got totally sucked in by the picture - I didn't notice ^^
Haha no worries, I always get annoyed at myself when I leave debug logs in there ๐
(feel free to delete your replies to me, I can delete mines, wanna leave your thread clean ^^)
All good, we talk about all kinds of random stuff
Someone said 1.2.3 fixed loading but it sometimes loads random things? Like flashlights become shovels? Uhhh.. anyone else had that happen?
we tried to understand why it happens for several hours and at first it was this mod
https://thunderstore.io/c/lethal-company/p/MaxWasUnavailable/LethalModDataLib/
but that it's just stopped
funnily enough after you pushed the update
now we don't get it at all and console doesn't seem to help why it happened
Hm so it happened before, but was caused by LethalModDataLib? Then it stopped happening after my mod was updated?
It was a LLL issue
Around that time. We just were disabling mods one by one and on that stage it was this mod, but than after couple of mods got an update it stopped yea
I'm having a weird vector error now that comes up. I don't think it affects gameplay, but I figured I'd post:
[18:36:28.9454683] [Info :GeneralImprovements] Loading assets...
[18:36:29.7610681] [Error :GeneralImprovements] UnityEngine.Vector3[] Load[Vector3[]](System.String, System.String, UnityEngine.Vector3[])
[18:36:29.8580915] [Info :GeneralImprovements] GeneralImprovements v1.2.3 fully loaded.```
tis nothing
Ah okay, good to know.
now that development seems to be back in full(?) force
i would like to humbly request again changing the bulk-purchase limit from 10 to the capacity of the dropship
it's a little silly having to purchase items in a group of 10 and then purchase another 2 afterwards
it should be simple as just changing a Mathf.Clamp parameter in ParsePlayerSentence with a transpiler
although i guess if you'd want it to sync with in-game config editors it might need to be redirected to a variable that can change at runtime
I do actually have that on my backlog, last time I was poking around in the code I noticed that again. I'll go ahead and prioritize it to at least see if it's easy
No worries! I uh, may or may not actually remember you mentioning it before at all >_>
out of curiosity do you have a backlog visible anywhere
or do you just keep a personal list
Only in Notepad++ ๐คฃ
Here, I'll dump it
BUT
don't get your hopes up on like half of these, I just haven't cleared it since the creation of the mod
lol. of course
* Change load to async?
* Add tab completion to terminal
* Show terminal nodes to everyone
* When resetting everything, Experimentation showed different weather on monitor and moons node before flying there. The node won once we arrived
* Fix players not using terminal on client connect
* Fix after round award text
* Show how people die on ship leave screen
* See if you can keep increasing company payout if you stay over
* Extend usage of spray paint and add charge meter
* Customize death penalty percentages
* Make ladder sprint work (SprintOnLadders config, but fix either way?)
* When holding rotate for more than a second, start rotating auto at 4/s
* Allow CSV style monitors with cycling
* Hide chat
* Display value on item slots
* Update purchase limit to = dropship item limit
* Allow font size setting
* Option for hiding left monitors
* Auto route to company on last day
* Save what peeps were wearing
* Save furniture position
* Remove jump 'launch' delay https://thunderstore.io/c/lethal-company/p/monkes_mods/JumpDelayPatch
* Scannable players (name/health) - masks would say random player name and health value
* Make lightning work with the reserved slots
* Add config option to automatically activate view monitor once per day when using the terminal the first time while not in orbit
* MORE MONITOR OPTIONS
- How much you made that day
- Average daily scrap collected
- company buying rate
- Health status
- Overtime calculator
- Personal best quota per save
- Total accumulated scrap per run
- Deaths per player```
That top one for example, Zaggy has a great mod for that already
yea
And change load to async.. yeah right
๐คทโโ๏ธ a mod called "loadstone" exists for that and it works pretty well
my friend group adopted it immediately as it released and have had 0 issues so far
Oh cool, I figured it would be too complicated for me lol
check it out if you're interested
"show terminal nodes to everyone" sounds like a lot LOL
Yeah that too
Really? I always heared that this mod caused a lot of issues, specially with custom dungeon
never tried it because of that
that may be so
our group doesnt use any modded content
and i spend way too long assessing compatibility and customizing things
loadstone doesnt break any of the stuff we use, at least - but we don't use any of the big stuff like lethallib, lethallevelloader, lethalexpansion(core), etc.
Ah ok
Done
Just needed two extra transpile pieces
(The clamp bit and the part where it checks the dropship limit)
๐
technically my mod doesn't get rid of the warning, but it does make the printing a lot less noticeable in frame times
that combined with async loggers should result in practically no downside afaik
oh another thing i meant to ask
i know this mod fixes the newline bug
where having the radar open on the terminal spams a bunch of \n and then places a random n on the screen
on every command
Yeah, and I have another option in the next update that will allow you to disable the extra blank lines when using View Monitor
well i was just going to ask if the n could be removed instead of replacing it with an additional newline
because vanilla lets you see the first line right below where the monitor is
but with an additional newline you have to scroll down
Technically that n is in the middle of a bunch of "\n" chars. I can remove one of them though since that was probably his intended behavior
yeah
i think he intended for it to be a newline
but then he counted out the number of newlines so the first line of the actual text would still be visible on screen
Right, good catch
so replacing the n with a newline (instead of just removing it) causes it to go offscreen
anyways
super minor thing
but i just remembered i intended to ask about it
No that's good, I'll fix that
Happens to me every time I load a save with mods adding different or new custom scraps.
I believe LC saves an index - so if any mod adds even a single new scrap - there's a fat chance a lot of scraps in a savegame get associated to something else.
(note: this is speculation, that's what I imagine LC does)
I've briefly looked at the save code and I think you're right. IIRC it saves an array of item ids, then an array of positions, etc in one function. So if anything gets changed by something else, there's a good chance items will be in the wrong spot or missing or whatever
@broken crescent Regarding the KeysHaveInfiniteUses setting, would it be possible to be compatible with the mods that lock doors with a key? Or it must come from the other mod?
https://thunderstore.io/c/lethal-company/p/Sophisticasean/KeysLockDoors/
For ScrollDelay under the Inventory section, does setting it to 0.3 constitute as GeneralImprovements releasing control over this variable? Mainly because HotbarPlus has similar functionality and I'm wondering if having it set to 0.3 (the default) in GI but the increased speed option in HotbarPlus prevents one of the two from working properly
indeed, there's https://discord.com/channels/1168655651455639582/1210303734618390579 which tries to solve it by saving a mapping, and LLL also has code that is supposed to do that which isn't supposed to be active at the moment
I think maybe some piece of code that wasn't disabled when turning off that functionality is causing this to happen, it's specifically an issue with LLL afaik
Never seen that. I hate to always go to "probably another mod causing a conflict" but...
Is the monitor power off?
If not, error logs, etc
Already tried just turning it off and on again lmao
error logs dont seem to exist rn
Hmm, if it doesn't currently work there's probably a message about it not being able to transpile, I imagine they transpile nearly the same lines. So probably not if it doesn't already:(
Close enough. Might be something weird with the render optimizations
Nah
Lets break it
If a bug is found
I have to find out how bad
HOLY FISHSTICKS
I think keeping it default prevents any modification but let me double check
Ok
I closed my lobby
and reopened it
wait a sec
@narrow oriole
Bodycams isnt working too
Ah nevermind it does modify it regardless, so I'm not sure
In any case I have it disabled in HBP so it doesn't really matter to me but I just wanted to point it out
just tested it and all looks well! awesome work man, love this mod
logs?
if everything is that broken, some mod royally messed up your game
ah I missed that, I saw Shaosil asked for an error and you said there was nothing so I didn't notice lol
There are no warnings nor errors in the console. I guessed it was normal since they implemented the destruction of the key in themselves
GameNetworkManager.Instance.localPlayerController.DespawnHeldObject();
but both OBC and GI broke at the same time here
I don't see anything suspicious in the logs 
only thing I can think is that maybe the flags indicating where the player is are getting messed up and so nothing on the ship thinks it needs to be on
did you give Shaosil a profile code? and what all did you change between it working and not working?
I can provide a code rn
But all I did
was update the mods
and add LLL
Try to keep LLL and downgrade GI and see if that changes anything. If not, it's LLL
@broken crescent Can you make it so we can put values higher than 1000 here?
I usually use this option for testing and I can't go to moons that costs more than 1000
Haha sure I can make it 2k or something
Is there a reason of why there's a limit? I know that UnlockOnStart lets you put any numbers in there for starting credits
No specific reason really, I just wanted a slider to work
Ah I get it
I guess I could remove the limit, sliders would only be cool if it was like 1-100. Any more and people usually type it out anyway
Internally I'll clamp it to 10k or something maybe
group credits are capped at $10,000,000
there's technically no cap except the int limit, but it gets clamped every time you spend money
so $10,000,000 is the practical limit
at least
cool
#1199836228858675330 message
Haha yeah sorry I hate when I accidentally leave that stuff in
its ok
it's easier to avoid if you review and stage your changes on Git as individual commits hehe
Right! I was rushing too much because of the loading glitch panic lol
sorry to bombard you with so many requests recently...
do you know how easily you could fix the bug with the scanner where it shows node text in the wrong direction?
its a little hard to explain what i mean, but you might know what im talking about
its like when you turn 180 degrees from a scanned object, the text shows up in the opposite direction from where it should be
if you scan some scrap on the floor and turn around a certain way, it shows up in front of you on the ceiling (when its behind you on the floor)
experimentation sometimes shows the main entrance text way off to the left of where it actually is, if you turn a certain way
etc.
I've noticed that. I've been in the scan code before so I have an idea or two why it might be happening but I'm not sure offhand, or how easy it would be to fix.
Hm, does it still happen with FixPersonalScanner = true?
yes, it does
Been trying to hop into public/lighly modded servers, it gives me the error occured, and i got all the mods client-sided except the mirror one and the replacement, but got rid of them, idk what's causing that, i think i forgot to turn off/on some stuff in the config, my current modpack code:
018f1c07-220c-2582-7a02-1f488ab46cb3
good work on the mod, i cannot play without it anymore
The one thing I checked for is the medical station - if that is on, it requires the host to have it as well or it will prevent you from joining. But you have it off, so I'm not sure. It could be one of the other mods
I haven't looked further into it. If you ONLY use GeneralImprovements with the same config, does i t still prevent you from joining all servers?
yeah, most are either polish/german/rus or english
i'll disable all the mods to narrow down the culprit, if that won't work, then GI's at fault
Pretty sure if someone that is masked (by conversion or by wearing one manually) and dies while in the ship, it starts spamming collection notifications and errors in chat
Only reason I think it's GI doing it is because of the auto-collect thing for corpses
@narrow oriole I need you to confirm something for me, does the ShowHitPoints feature cause HudManager spikes too? Cus I feel like the game is smoother when that is disabled
Could have been placebo though
I know disabling the scanner fix provides a pretty big performance boost though and gets rid of a lot of stutters
@broken crescent do you plan to add support for Hotbarplus for ShowLightningWarnings btw? The Lightning Warnings refuse to appear on additional slots and idk if that needs fixed on yours or flips' end
another bug fix that comes to mind
normally it takes 0.7s to pull the lever that starts the ship
if you try to park while there are 0 days left and autopilot is orbiting anything other than the company
it sets the timer to 4s to display an on-screen warning
this is interesing, maybe it's LethalLib's fault
It was LethalLib's fault lmao, but idk what mods in my modpack use it
but if you then re-route the ship to gordion, it still takes 4s to pull the lever
resetting it back to 0.7s if you're landing at the company would be a nice easy fix
I tried to reproduce it but couldn't.
The converted players are not considered players anymore and don't even trigger the collection notification once, can't grave the corpse either
[13:20:02.1015757] [Error :GeneralImprovements] UnityEngine.Vector3[] Load[Vector3[]](System.String, System.String, UnityEngine.Vector3[])
got this error during startup
#1199836228858675330 message
Is monitors config working right now? Or is there some conflict on my side?
It's working fine for me, although I do not have BetterMonitors enabled so idk about that
I don't have that on either.
They're esentially vanilla for me.
Haven't played since v50 came out.
It works fine for me too
hmm
Any errors?
Sounds like something else may be preventing my code from running
I really don't like how mod errors bubble through each other
There is this mod that may prevent it, but it also may bring more problems with it
https://thunderstore.io/c/lethal-company/p/DBJ/UncaughtExceptionCatcher/
Technically modders can use an attribute on important methods that acts as a try catch for other mods but that adds overhead iirc
It was JetpackFallFix.
Ah right I forgot about that
Someone else had that problem
I think you can remove that mod anyway right? Isn't it in vanilla now?
JetpackFallFix is now useless yeah
Author didn't confirm, but some stuff is certainly in the base game now.
I'll remove it either way. I never use jetpack.
Lol I'm like that with spray paint. I always talk about how we should be using it then we never do. Or we'll buy a bunch and let it sit in the ship run after run
Not sure if this is the appropriate place. But is this an issue and if so how do i fix it?
[Error :GeneralImprovements] UnityEngine.Vector3[] Load[Vector3[]](System.String, System.String, UnityEngine.Vector3[])
๐ I really need to get the next update out..
Yeah that's just a debug message I left in, sorry
No worries just been messin with mods tryin to figure out what bugs
I was playin solo, died and couldnt enter commands in terminal
If you can try and optimize the Scanner Fix and ShowHitPoints features ๐ฅบ
I'll look at scanner fix eventually, I don't know if show hit points slows anything down? I haven't tested it but I don't remember doing any intensive stuff for it
I noticed a performance difference with it on vs off which is strange, is it possibly reporting the HP constantly to the ui at all?
It could also be cus I use InsanityDisplay somehow which moves the position of it and it doesn't like it
๐
Hmm I'll take a look
idk, I haven't looked at the code for that, is that just the health number in the HUD?
Yeah
I wouldn't expect it to cause spikes certainly
it depends on how it's implemented, but that's not something that should be costly
Yeah it may have been the scanner fix doing stuff even when not scanning
Suggestion, would it be possible to add a configurable list to GI for item conductivity? Specifically thinking of something like LCConductivityRework over on thunderstore.
I just took an item that was being hit by lightning inside the interior to avoid being hit by it, and that seemed to cause the lightning effect to stay on the inventory slots
no repro yet, but I'm guessing this might be consistent
running v1.2.3 of GI
The lightning overlay goes away after the lightning "strikes", which in vanilla still happens silently if you're inside, I think I just saw that yesterday
I don't know which mod's fault this would be but when I use the fire exits with starlancer's warehouse interior I enter facing the door instead of away from it (I have the setting turned on and it works for other interiors)
the lightning had already struck, I went back outside with the indicator stuck on my screen and it only went away after I was forced to drop the items outside due to another one being electrified
They probably just have the fire exit nodes facing the correct way already so it flips it the wrong way lol. Vanilla fire exits are all facing the wrong way
@narrow oriole I notice recently there's a lot of lag on the ship when the monitors are turned on, Mrov recently discovered that the Monitor that shows Time constantly is updating even while not on the ship so I wanna guess that one is probably the culprit
It could be the InternalCam too though that does it
it wasn't me ๐
You did too, you saw it was constantly posting updates in the debug logs
Lol
i don't recall honestly
#1199836228858675330 message
If it happens again Iโll grab you a log, sadly I didnโt think to do so at the time
but there's the hard proof
oh, that
yeah
now i know lol
thats what is it
I'll just deal with it then
hmmm looks like enabling quota rollover in hopes to test it seems to just.. not put me on next quota anymore? xD
So there's a rare bug(?) that causes that to happen. The way time is calculated in game is just so overcomplicated. Actually that's the thing I'm currently working on fixing because it's been a rare outstanding bug for ages, but doesn't pop up enough for me to be like "ok yeah I need to fix that"
if it helps: I activated it mid run, so I assumed thats what caused it
so ima gonna start a new run and see what happens
I'm basically checking if there's no time left before allowing vanilla to set a new profit quota, and sometimes there's just a little bit of time left after day 0 orbits. Ok cool, I doubt enabling it mid run affected anything but you never know
^^ โค๏ธ
The light switch scan node stopped working for me ๐ค
It works for me
The only problem with GI I see here is the player look down patch isn't able to run, most likely because you have another mod doing it first.
The other errors appear related to skinwalker
Things not working usually means another mod ran into an error and prevented my code from running. Any error logs?
Weird ๐ค
Could it be because I ditched BetterItemScan?
Possibly, I recently actually swapped from GI's ScannerFix to BetterItemScan cus the ScannerFix causes a lot of stutters and stuff while scanning
I only got this:
[Info :Lethal Company Input Utils] InputUtils 0.7.4 has finished loading!
[Error : Unity Log] ArgumentException: Type 'Keyboard' has not been registered as a control layout
Parameter name: type
Stack trace:
UnityEngine.InputSystem.InputManager.TryLoadControlLayout (System.Type type) (at <dbb0ce7b96144bd8bcbcb8b0d765f970>:0)
UnityEngine.InputSystem.InputSystem.LoadLayout[TControl] () (at <dbb0ce7b96144bd8bcbcb8b0d765f970>:0)
LethalCompanyInputUtils.Utils.LayoutExporter..cctor () (at /home/runner/work/LethalCompanyInputUtils/LethalCompanyInputUtils/LethalCompanyInputUtils/Utils/LayoutExporter.cs:12)
Rethrow as TypeInitializationException: The type initializer for 'LethalCompanyInputUtils.Utils.LayoutExporter' threw an exception.
LethalCompanyInputUtils.LethalCompanyInputUtilsPlugin.Awake () (at /home/runner/work/LethalCompanyInputUtils/LethalCompanyInputUtils/LethalCompanyInputUtils/LethalCompanyInputUtilsPlugin.cs:50)
UnityEngine.GameObject:AddComponent(Type)
BepInEx.Bootstrap.Chainloader:Start()
UnityEngine.InputSystem.InputSystem:.cctor()
Which I also do not understand at all ๐
My ScannableTools and Scannable Fire Exits Mod, but I have used them before without any issues.
I also have a mod that changes the Ship and Main Entrance Scan node, but that also worked just fine before ๐ค
Hmmmmm
So apperently if I check the box "UseBetterMonitors" to have all these monitors active and load into a save my monitors look like this saldy. Did anyone ever ran into the same issue and could help me what could cause this problem. Tested and removed a few mods but it stays the same.
Do you have the asset file included in my mod?
If so, it might be (and I know I say this a lot, but...) another mod having an error and preventing my code from running
Also check the error logs
Well thanks to mention the asset file... totally forgot that. Sometimes I think just the dll is needed out of the .zip. Thank you for the help :)
I should figure out how to include it in the dll honestly, but yeah for now it isn't
You probably have to just start a new run
another thing that just came to mind... ๐
the helmet that shows up on the edges of the player's screen is an actual physical object, not just a screen overlay
it follows your camera as you move around
i mention this because it is set to cast shadows
so when you are moving around, if you can see your shadow, you'll see a second (chonkier) helmet that doesnt properly follow your animation moving around with you
disabling shadow casting on that renderer would be nice for immersion
i can get a gameobject name in a sec
GameObject Systems/Rendering/PlayerHUDHelmetModel/ScavengerHelmet
disabling MeshRenderer.castShadows fixes this just fine with no other(?) consequences
is there a way other than a byte array or base64 encoding? I wonder if Thunderstore would be okay with either
I think the mimic mod includes the assets in their dll, or someone does. I've extracted it from there directly but I'm not sure offhand what process they use to get it in there
interesting
I'm not sure if I feel the need to do that unless it's in a human readable format, but it's true it's kinda nice to have it all in one file
Yeah
@broken crescent not sure if it's out of scope for the mod but do you have a poll to suggest features somehow?
A few ideas:
1- remove the tilt/shift effect(depth of field) postFX from the main camera
2- remove the broken glass from the helmet (disable the renderer or replace with a dummy shader)
3- remover the helmet entirely (disable renderer or GO. the safest way to keep it compatible with other mods)
4- lower (or make it customizable) the density of the global volumetric fog volume. I know it affects the gameplay but when playing with smaller teams the chance of survival lower considerably in the snowy maps. I already tried completely disabling the volumetrics, but that's...too much. A tweakable density value (or even colour?) would be nice
Does this mod mess with valid placement criteria in the ship? I'm noticing that for the teleporter/inverse teleporter specifically it doesn't seem like it's possible to place it as close to the wall as it normally is, not to mention the default spawn location for the teleporter is actually an invalid spot now
Oh so that's not vanilla? I always was bothered by that
Iโm pretty sure thatโs vanilla behaviourโ rotating it might help
i could be wrong but i'm pretty certain vanilla invalidates the default teleporter placement as well
Teleporter placement is really weird
ah yep, rotating did work
weird
Rad, good to hear
it doesn't rely on shadows to make the inside dark I take it?
it looks the same to me both ways
personally
maybe there is a subtle difference perhaps
Not yet but in the next update there's an option to disable most collisions for placeable objects, so you'll be able to place things much more flexible (for example putting the teleporters inside each other)
is there anything that might be causing unfathomable amounts of lag in multiplayer? the host will be fine but anyone who joins them will be on like 1 fps and heavy connection issues. Issue resolved itself after removing generalimprovements mod, so asking here
I don't know offhand although at one point if the clients had SyncMonitorsWithHost it was causing lag. I haven't looked into it much after one patch because no one else reported it since then lol. Maybe it's that?
alright I thought that might've been the issue so i turned it off
Did the clients who were having lag remove GI to fix it on their own end? I don't think removing GI as the host would fix anything for clients
gonna test in a min
Cool
yeah it was all of us except the host
changing host also persisted with the problem of only the host not lagging
Huh so the host didn't have it, that sync config setting shouldn't affect anything then. That's weird
yeah lag went away it seems with disabling that
not it seems, just is gone
By disabling the sync setting?
yes
Good info, thanks. I'll look into that soon
there was also a 2nd sync setting that i turned off too ^ the syncextramonitorspower. assuming that one wont do much but thought i'd lyk im not 100% certain it is only the first sync setting that caused it
The Internal Camera also tends to eat up a lot of the ship's fps
and sadly the ExternalCam is still an ugly bright green, I really wanna be able to adjust that x.x
@narrow oriole have you thought about implementing the option to change the color of the ExternalCam into OpenBodyCams?
now that i think about it the external cam is kinda useless in my opinion
It is, but the InternalCam is a performance killer especially if you have both it and OBC rendering lol
there's a couple things contributing to that for the external camera I think, but it would be up to Shaosil to do that if he wanted to
If there were a way to optimize that Internal Cam more that would be nice
the code in OpenBodyCams related to the emission on the screen material is what he needs for part of it
I believe the vanilla internal cam is already about as optimized as it can be, it renders at the lowest LOD so that the local player's body is visible in it
Yeah
now if anything screws with that LOD, then that's no longer true
Yeah ie making the size multiplier larger
nah that's not what I mean, though that obviously does affect performance
increasing the render texture's resolution doesn't affect the LOD since it's specifically restricted to the lowest one
I don't really think so, but it's possible that there are mods out there that change frame settings on all cameras including the fixed ones
Yeah we honestly need something that would be good for that 13th monitor with BetterMonitors besides the Internal or External camera
the only one that has a valid excuse really is GI or other mods that change those cameras' resolutions, since that increase in resolution makes lower LOD models more apparent
if it did do that, though, the player model would become invisible in the camera probably, barring other mods changing the layer it appears on
add a button to it and make it play flappy bird
Haha
Well I'm likely gonna disable it having a camera tbh cus the performance hit just isn't worth it, my past few streams I noticed whenever the Internal Cam is rendering and OpenBodyCams is at the same time that fps hit is just awful
The game really doesn't like 2 seperate cams rendering stuff
Lol
one thing I need to look into is whether a camera that's disabled through GeneralImprovements still renders
it's possible that it's not two cameras but three
Well if that's the case
I forget if I ever checked that, but I don't think I disable it in OpenBodyCams either
The option in OBC to disable the Internal cam should help
I thought this too
Cus that External Cam by the ship door might count
yeah, I would assume at least with better monitors it shouldn't be rendering it, but not sure
I'll be looking at that for OpenBodyCams 2.0.0 though I think, since I'm planning on making it possible for the external camera take over the body cam screen if it is disabled
Speaking of
I wonder if it could be possible to just add that disabled backlight to the 13th monitor lol
Oh yeah it is possible
@proven moth I see you lurking and typing sir
lol
I havenโt been typing
It showed you were
Like 2 or 3 times
Lmao
I thought you had input on the convo tbh
XD
I have been lurking but I havenโt been typing so 
I guess Discord decided it wanted you to be typing
XD
Looks much nicer c;
waiting for the day you can equip suits without host needing to have them ๐
and iโll be waiting for the day for a mod to exist that allows picking up items while holding a 2-handed one
i hate 2 handed scrap
i just want to disable that internalcam, it takes up space and is useless
do you mean remove the entire screen?
yeah, i would replace it with like weather or sum
well that you can do lol
Having a bit of trouble seeing this happen - could you clarify a couple things:?
- Was the host also using GI?
- Were the affected clients using the better monitors option?
- Did the lag go away if they loaded in to the ship as a host?
- Yes
- Yes
- Yes
We all were using the same configs since they'd just download the modlist/configs with the code I sent them. So theoretically it was pointless to have the sync on for us but everything would be the same across all players
You can disable it as I showed lol
It does I toggled that and also made sure the Internal Cam isn't set on any of the GI monitors
Well this is frustrating. I'd really like to fix the lag issue caused by the SyncMonitorsWithHost option, but I can't replicate it on my end for some reason, and my code isn't being obvious as to why it's happening.
I'll keep looking for a bit but I'm hoping to push the next update soon too
How do I profile LC while it's running? I've seen people use the Unity profiler for it
i think @sly jolt is the one to ask about that
Oh also @narrow oriole, whoever replies first ๐
https://github.com/dnSpy/dnSpy/wiki/Debugging-Unity-Games#turning-a-release-build-into-a-debug-build
use this linked section to set up a debug build and then attach the Unity Editor to it
Cool I'll look into that, thanks
you can pass -deepprofiling to the player to get deeper stack traces in each sample but it will run like crap
if you'd like i can send my profile code
only thing you'd have to change is just enabling both the sync configs again
Sure, couldn't hurt
I have a slight feeling this either isn't reproduceable with LAN testing (I test net related stuff on the same machine with multiple instances) or my PC just does fine for whatever reason
But I hope I'm wrong
018f2d0c-cf1e-1183-b8b9-588acfddee89
ignore the mewtwo mod we think its funny ๐
Should add a bodycam as an option for the screens
the OpenBodyCams mod by Zaggy integrates well with my mod, you can set the screen and everything ๐
Gotcha, i use helmet cameras mod rn

So btw @narrow oriole discovered a slight incompatibility with OpenBodyCams
When this is on the camera always gets disabled for a blank screen when going into orbit, and it lasts until the monitors are toggled off and back on
Maybe this is why some people get the black screen issue as well?
I also have that problem and this setting is disabled
Is it not good i use that mod lol
Gotcha so im assuming thats why openbodycams might be better then
hmm, that would kinda make sense, perhaps GI is setting the material on the body cam screen because it appears to be unused from GI's perspective
Probably yeah
@broken crescent does it set the material when taking off from a moon or something? I'm wondering how we can work around that
One message removed from a suspended account.
Hmm I shouldn't be changing anything apart from turning things off when the power goes out, etc. I don't recall changing monitor materials or textures on orbit
huh, that's odd
It could be maybe the screen refreshes possibly?
@light girder can you tell if it's using the GI background material, the OpenBodyCams emission color, or the black screen texture?
after it blanks out?
GI Background color I have set
Following because I have this same bug when using OBC.
@broken crescent How soon do you think you can make InputUtils a soft dependency btw so we can change the Flashlight binding in the normal game settings? ๐ฅบ
Hi , I'm a bit puzzled by this issue: with or without OpenBodyCams, with or without checking useBetterMonitors, ExternalCam and InternalCam are not recognized (I even get an error saying the word isn't recognized).
I'm currently doubling the res as per settings, and keeping them at 15fps. Any clue?
I'm quite sure I'm spelling it correctly...
Is this normal?
I'll look into that for the next update
Hm, does it works if you leave the resolution and fps at their default values? (Assuming I don't make changes to the render texture in that case)
I wonder if another mod is changing the objects I'm looking for so it can't create the new texture
Yeah it's just a debug message for myself I accidentally left in lol, it will be gone in the next update
I have replication!! Woo!
Even better, I can replicate it using just my mod and your config, not sure why yet
I should be able to narrow it down soon then
Edit: It's something to do with the main big screen in the middle. When I toggle that gameObject on and off, I see frames gained immediately. I must be doing something more than once when sync is on.. investigating
OH I bet I know
When it changes the resolution/fps of the ship cams, it multiplies the existing resolution by whatever number is in the config
But if you're syncing from the host, it comes back in and does it again, which would in this case x5 the x5.. let me try to recode that and see if that fixes it
does that mean we get extra fps if u fixed that 
If you had SyncMonitorsFromHost, and ship cam multipliers high, and joined as a client, definitely ๐คฃ
oh i have my sync setting off so it doesnt affect me and my client then ๐
the first cells 4 billion years ago:
Alright boyos (and girlos), new update just dropped
So if we set the placeable item colliders to โfalseโ, then we can make the teleporters fit inside of one another?
Yep! ๐
Yeah that's bothered me for a bit since me and my friends always stack them
And it feels like you're on a stepladder when you inverse
YYy
Yayyy*
idk if you forgot or it's on your roadmap but that monitor is not showing text correctly
what number is each monitor
1234
5678
yeah
the one with the box and diagnol lines out of it?
Yeah, it's supposed to say "CLEAR !" at the bottom on that screenshot
oh gotcha, didnt notice the text on it when i used it just saw the little animations
Also @broken crescent, what do you think of making the Health Recharge Station a buyable upgrade?
woot woot
oops i meant to turn off ping
anyways killer stuff
your changelogs are always a joy ๐ฅฐ
I did forget lol, I never use the old style monitors so I keep forgetting to adjust that ๐ I'll write it down
That's a great idea but I haven't looked into how to integrate things in the store quite yet and would probably take a few days to code. That being said, there's probably a few other things I could make as purchasable, including the better monitors... Maybe
adding stuff to the store is sort of terrible
unless you use your own save system or a dependency to make it better
for example, more suits just adds suits to the unlockable list which is a huge headache
because any time you stop using suit mods it can cause save corruption by trying to load unlockables that don't exist anymore
it also causes issues when different players have suits installed in different orders, replacing suit mods reorders them, etc.
I was just looking at that actually, since I plan on saving the suits you were wearing. That's what I was thinking because it's just IDs, so I'd have to make sure to double check things everywhere
all in all it is a terrible situation and it would be the same adding purchasable upgrades
Risky
i think it's safe to just add your own keys to the save files with es3
havent actually double checked that in practice but i've used es3 in a couple unity games and it allows for that sort of stuff out of the box
I have 2 or 3 of my own keys shoved in there already lol
oh nice
Game stats and something else
then yeah, saving unlockables that way seems like it'd be a lot safer
And for the record can I just say how much of a pain it is trying to use reflection to find a specific iteration of one of the many overrides of ES3.Save<> ๐
For IL stuff
In fact I couldn't even get the .GetMethod() function to find the one I wanted. I had to use GetMethods and filter it down, ugh
conveniently that update came out after we stopped playing for the night and before i starte playing the next day
Oh good
but it looked particularly nasty to fall victim to
@broken crescent Just wanna confirm Mrov was right, the Time monitor causes a lot of ship lag while it's constantly updating
@narrow oriole can you look into why that monitor causes the ship to lag so bad?
I imagine there has to be a way it could be optimized
what's the specific name for it?
anything I find will just be a guess though, Shaosil is a lot better of a position to tell you that if you can figure out exactly how to repro it
iirc he said he couldn't yet?
one possibility I see is that it's updating the text of the text mesh component, which means it has to regenerate the mesh
I wouldn't have really expected that to cause a severe lag, but without a full description of what that manifests as, I can't say if it fits or not
I also don't know how often the clock updates, so I don't know if it would be every frame or on a periodic update
(the fact that it has to update the mesh on top of rendering it to a texture is the reason why I think it would be worth throwing out the camera, but obviously that prevents it from perfectly matching the shape of the monitor)
Probably cus the ship doesn't lag when in Orbit or at The Company cus that monitor is idle, but when it's displaying the time on a moon the ship lags
I'll likely swap it out for Fancy Weather or smth
what kind of lag is it? lag is a very very general term
stutters? low average framerate?
lower framerate
Stutters and lower framerate yeah
If you turn the ship monitors off it goes away
Turning them back on causes it to come back
oh, well if it's only when they're active, then it's probably just because it's rendering one or multiple cameras on a period
I would imagine that generating the meshes takes way less time than rendering a camera does
I mean the only camera I have set to a screen is OpenBodyCams and that doesn't lag in Orbit or at The Company
the camera I'm referring to is the one that renders the text monitors
it's a very significant overhead, and whenever it has to update multiple screens at once, it will cause a significant frametime spike
especially since I believe it's still copying the render texture to a separate buffer
Probably
imo, it would be worth testing the difference between placing the text rendering directly on the monitors rather than in the void in front of a camera
I would imagine that it would perform way better doing the former
could still cause frametime jitter, but hopefully not nearly as much, the amount of time spent in Camera.Render() when called in an update loop (especially multiple times) is quite significant
big shoutout to
Yeah
I assume you both only have one time monitor?
yes
Yep
hmm I see
Huh. Out of all the monitors, I would think the Time one is one of the least likely to cause lag. I know it updates often, but it's once every 3 seconds. That shouldn't cause any sort of consistent frame drops
Unless you have a mod that changes how often the time updates from vanilla
We do use LCBetterClock
So it could be cus of the way it makes time update properly rather than how vanilla skips a few seconds
Ah that could explain it then, yeah I try to keep those renders to a bare minimum of whenever they're absolutely necessary to update the screen, so multiple times a second (or frame) is bad. I'll throw a manual timer on that monitor to try to help with that
Ok, as of next update, it will be forced to wait at least a second between updates
Also just a bit of technical brainstorming here, I think one way I can optimize the fancy weather animations would be to have my cam take a "picture" of each frame and store it in an array of render textures, then just cycle between them to animate. That would completely eliminate camera renders for that one
that would explain a lot lol
what resolution do you render them to? that could increase the amount of memory consumed by all these images quite a lot
I also wonder if, were you to keep using cameras, you should switch out the render texture instead of copying the texture into an image every time you update
when you render to a render texture, it stays on the GPU, but by copying it, you're (presumably) making the engine read that memory from the CPU and store it into RAM, then write it back to the GPU again (probably not every frame, but still)
128x128
not totally sure what you mean, is there a way to avoid the Texture2D bit here?
RenderTexture is a texture, it can be bound to a material
if you have a RenderTexture for each screen in the scene, you don't have to copy anything
I would also recommend switching from using Camera.Render() to deferring camera updates to the end of the frame
that way, you're rendering within the normal render loop
one update per frame is probably more than enough as long as you don't allow the queue to get backed up with dupes
Hmm then I'd just be left with the Camera.Render() call. I think I did have render textures for each screen in the beginning but decided against it randomly. I should try that
How would I typically change it to deferred?
by setting Camera.enabled
that's the only way I know of, but it works fine from my experience, at least when the custom pass isn't involved
Wouldn't I have to set it to enabled, then disable it in the next frame?
yeah
you'd just set enabled based on whether you have something queued to update
yeah, set activeTexture and enabled every frame
I'm not sure that would work if I had to update multiple monitors in a single frame
why do you need to do that?
a queue to update them one each frame is fine
my understanding is that you're not doing that many updates to begin with, except when mods increase the frequency of events you're hooking
if I'm honest, it'd be good to be prepared to do a lot of redesigning for something like this
it's not something even I've explored fully
it'd definitely be a much easier solution to just update some text meshes lol
That's what UseBetterMonitors=False is for ๐
Yeah but the extra monitors are nice honestly
and if cameras still end up causing too much overhead?
we don't know if they will or not, even with the things I suggested
I tested a similar thing for the Black Mesa mod, and there was a lot of overhead to cycling through cameras each frame, but that may have been because of culling updates
Sure, I'll experiment with it at some point but the main reason I haven't poured too much effort into it is because I haven't personally seen major lag caused by it. I know it depends on other mods, system specs, etc, but I use all 14 monitors and resolution multipliers with no noticeable performance impact
But it's good to optimize where necessary of course
yeah
one thing that would probably make sense would be to cache the last time text and just update it if it actually changed
then you don't have to set an interval and it'll update immediately when the time changes
Yeah I do that for the door power
I think it would also be worth looking at a frametime plot while in the ship with lots of monitors enabled, or especially with ones that share the same update event
I would have to imagine the overhead becomes visible, but I haven't looked at it myself since I don't use the option currently
they look nice and that's it imo
a lot of the things u can put on them aren't really the most useful (after the base 8) lollll
also is this plausable
That does more than what I want
Considering, you know, ability for two 2-handers at once
I just want the qol of not having to drop a 2-hander just to pick something else up lol
This into GI?
since this mod changes the moon catalog to display prices
any chance we could also get a config setting to display artifice and embrion on the catalog
disabled by default of course
just feels a little weird having to enter the planet name to check the weather
once you've discovered it for the first time
I just gotta say, this is one of the best mods Iโve ever played. It does a bunch of things that other mods do, (Doorless Storage, Crosshair/Reticle, SellItemLimit, CorporateRestructure in terms of weather things, MasterKey, Scanning held items and more) as well as allowing such customization, itโs a great mod to download, and I pretty much include it in all my packs now. Keep up the good work!
Anyone else having issues with extra monitors not appearing at the ship? If so, any idea what could be causing it/which mod is interfering?
Are they missing entirely when UseBetterMonitors = true? Make sure you have the asset file in the same directory as the DLL
Hmm, what's Zeekers intent here? Are those moons eventually meant to be public or were they added as a permanent "easter egg"?
he hasn't stated
my guess is they will always remain "hidden"
artifice is discovered by finding "68 art" written on the wall in the adamance cabin
and embrion is mentioned by name in the old bird's bestiary entry
Ahh interesting. Hmm
tbf there is this
dependent on lethallevelloader (for some reason...)
Yep, it was working fine until I updated to V50. I install through thunderstore and assets are in the same folder as the dll
Ok in that case it's probably another mod breaking something and preventing GI from reaching the code that creates it... although it's strange that the monitors would just be missing completely, that usually means it at least got to that part.
I'm guessing UseBetterMonitors=False works? If not, it's almost certainly a mod conflict
I'm guessing that shouldn't be like that? ๐ค
Yeah I suspect it is a mod conflict, I wanted to check if it was a known issue before digging deeper into the 120 mod list. I will get back with my results
No, I didnt try with False, I will try it too ๐
If UseBetterMonitors = False, ShowBlueMonitorBackground = False, and you have Time on ShipMonitor7(?), then yeah actually that's expected, because vanilla monitors are hardcoded to have the camera material on that monitor, and if you remove the blue background that would normally cover it, the cam will be visible again
With UseBetterMonitors = True you can move the cameras around to any other position
idk if you'd be able to do it w/o
you can, because nothing about altering the moon catalog node requires using LLL
batby developed this so im not surprised it uses lll but i dont want to install lll just for this small thing
showing mid game?
yes, you can just alter the node based on a set of criteria
how would LLL do it if it's not something any mod could do? lol
Mods having random dependencies on other mods is a major pet peeve of mine. I only use 30 mods, and 4 of them were added after I already had others. Some devs just update and add dependencies when it could easily be done without them.
Because that bothers me, I'll try to add the new moons to the terminal after visiting in the next update ๐
Without adding a dependency
in this case it kinda makes sense i guess
because lethallevelloader already touches the moon catalog node
and it was made by the dev of lethallevelloader
but LLL changes so many things and has been broken for so long i just dont like the idea of installing it
it had a weather desync on day 1 for over a month because it was fixed upstream and batby was waiting for v50 to release
current version makes it impossible to route to the company building from what my friends have experienced in other modpacks
it's pulling a lot of weight in the modded community scene as far as i can tell
so i dont mean any disrespect
but it's definitely not stable enough where i feel comfortable using it, especially for such a minor feature
yeah I'm with you
Can I disable the extra monitors when using BetterMonitors?
Not yet. Eventually I want to have an extra option that allows disabling of the extra left side I added though
If you have openbodycam you can disable the internal camera with this option
We do not have OpenBodyCam ๐
Was wondering why you put a potato emoji lmao
It is LethalLib by Evaisa, which is weird which is a pretty huge mod needed to many others so I don't get why there is no more people having issues
what exactly is it doing? is there an error from LethalLib?
Interesting, it's not LethalLib but rather HookGenPatcher (I think), but not HookGenPatcher itself but some mods that depends on HGP
I tried turning on HGP alone and it works fine, then I tried with different mods that depends on HGP and some of them crash GeneralImprovements while others don't.
In my case I had two that broke GI: 360View and JetpackFallFix
Those are two fairly old mods so I guess it was bound to happen with newer game updates. All good ๐
huh, I would've thought that the jetpack fix mod would be deprecated by now, that bug is supposed to be fixed at least partially
Most likely the owner just left the project abandoned without even tagging it as deprecated before leaving
jetpackfallfix is unnecessary for now
hamunii (the dev) said she plans to verify if it needs to be deprecated or not
that was a couple days out so im not sure if the plans have changed
im pretty sure all of the bugs fixed by the mod are just fixed in basegame now but maybe there's 1 or 2 edge cases left
this is unrelated to what i was saying
but thanks for the post
im probably going to start using this
LOL
Oh true, I skipped the part that said "by the mod" so I thought you meant all the base game little quirks were fixed already
Hey
Im having issues with my quota @broken crescent, with quota rollover
Whenever you reach first quota and sell over the amount, the very next day the next quota gets auotcompleted
Hmm I specifically tested that scenario.
You mean when you sell so much on the first quota that you would also have enough for the 2nd, right? Then when you land somewhere and take back off, the 2nd quota gets completed too?
That should only happen if you sell things that day
There we go. Took about an hour or two to code. You'll be able to configure it to any of: Never (vanilla), AfterDiscovery (default), or Always
๐ฅฐ
@misty swallow maybe you could look into this too
for terminalformatter? we'll see
Yeah
i'd love to have it, but currently i'm taking a smallish break from the stuff
i'll definitely get back to you when it's in
Thats perfectly fine, take your time
:D
100%
Got like 800 in the first 3 days like heroes
Sold it all
Took off from company
Quota completed
Landed on another moon
Grabbed some scrap
Now hereโs the weird part
When we took off
Quota got completed
But the number of money we had completed for quota increased
Same thing happened next day
And next day
Our quota was just rising without even selling anything
๐ค๐ค๐ค that... Shouldn't be possible, I tested the rollover feature extensively recently, and me and my friends exceed the first quota by 2-4x every time we play with rollover
My guess is (broken record time) mod conflict changing sometime about quotas
I guess, profile code? I'll check into it when I can
018f3ea8-93ba-17f5-8370-7a4edf56661f
my best guess
is gonna be brutal company minus or any of the lobby saving mods
in the profile i sent to you most things are disabled cuz i was ripping the pack apart to find it
idk if i said this but this mod is in my catagory of always install
we also have the same issue with quota rollover
here's our profile code
018f3ead-cdbf-6bbc-a3ed-0fd49bfe3a34
Oh good(?) haha that should help me narrow it down
oh word?
oh shit
@vapid shell and @mossy mortar I found the culprit, it's SellMyScrap. For now though, you can workaround it by setting overrideSetNewProfitQuota in their config.
I'll see if I can have a fix for it in the upcoming update though, if possible. Basically they're calling the exact function that I need to stop from being called in vanilla, or each day it will try to advance the quota if you have exceeded it
Hmm I'm actually not sure if I can fix anything on my end. HarmonyX runs all prefixes regardless of whether one says to skip the vanilla method or not.
Setting that config value may be the only workaround if you use SellMyScrap
One idea: disable the vote of ship departure if there is only one person dead (unless there is only two players in total)
It has ruined a lot of rounds for me
Good idea, although I expect that might only work if you're the host. I'll look into it
host-sided mod
works like a charm
i suggest MVotePercent of 0.4 and min of 2, max of 3
works great for me in my (usually) 4-5 player games
occasionally up to 7 or 8
Thanks! I didn't know that one
Somehow in my testing for scannable players (and masks pretending to be players), a bunch of masks kept spawning after they couldn't kill me from using invincibility lol
spoopy
Alrighty folks there's a lot of new options in today's update SO I'm going to throw it on GitHub first as a "beta test" before I put it on Thunderstore. Obviously I tested each feature myself but I can never account for all scenarios or mod combinations that you guys have.
https://github.com/Shaosil/LethalCompanyMods-GeneralImprovements/releases/tag/v1.2.5
If you do end up downloading it from there, let me know how it goes if you try some of the new things.
My personal favorite - sneaky masks!
It's pretty terrifying
There's 2 mods that do this already though... MEOF and Mirage by @proper quarry
XD
Yeah it was just a few lines of code for me and I don't want the overhead of those other mods ๐
It stays disabled unless you enable the option though
ah yes, mimics cloning themselves on invincible players, the classic
I'm sure those mods are more extensive also
Looking forward to the furniture saving function ๐
im ngl
I think there should be a point where you seperate similar features into different mods
This is becoming "This mod is just a modpack as one mod"
haha yeah, I'm aware that's actually a pretty big controversy. I'm being stubborn and sticking to my own preference for this though, at the same time trying to make sure any new/large things are disabled by default
I just don't want to maintain multiple mods unless I come up with something very different
๐ you dropped this Shaosil
What consititutes as "very different" here
This thread as well as LateGame is my favorite mods to check in on
I guess a mod with a lot of code that focuses on one specific thing
idk
I just think changing things ranging from changing enemies, to changing how the ship appears, etc., would be considered "very different"
but all this is just imo and you're free to do as you please
Thanks for the feedback ๐
Noticing that with ShipPlaceablesCollide set to false, I can place the signal transmitter on the bunk beds just fine, but the file cabinet is a no go. Is it possible to allow the file cabinet to still be used as a shelf?
Oh that's a good catch, hmm. I'll see what I can do
ty ty :]
how does sneaky masks work out of curiosity
the one thing that bugs me about masks in vanilla is that converted players' suits dont sync properly
only the host can see the suit of the player that was converted, for all other players it becomes vanilla orange
which pretty much none of us wear, so it's an immediate tell (the only orange suit player has switched to bee suit in v50 ๐)
It's pretty straightforward, they take on the name of a random player (or the player they killed, if any), their masks are hidden, and they change their suit to the same player they took the name of.
So basically masks will ALWAYS spawn using a specific targeted player to mimic, which includes their suit
So the only time you'd see an orange suit is if the player they're mimicking is wearing one
Moons are no longer showing their price?
Actually, none of your terminal patches work
The moons price should definitely work. Do you have other mods modifying the moon catalog?
I'll have to double check the blank screen fix though
Did you create a conflict with TerminalFormatter?
I don't
I don't have TerminalFormatter on that profile
Ah
he wants people testing 1.2.5
Well that's interesting
If anything I'd expect 1.2.5 to break that lol
I'll check it out
Just found it lmao
when something breaks, it's always mrov's fault xD
it's WeatherTweaks
Ah ok glad you figured it out
Tho that would mean I'd have to disable weathertweaks for your patches to work
Hm we're probably trying to modify the same function
i'll try stable WeatherTweaks to see if it has the same issue
Yeah same problem with stable
I can check what they're doing later to see if there's any way I can play well with it
With some mods like BetterItemScan, it's just not possible because we're touching the same code parts
Did you ever find out why ScannerFix causes stutters btw?
Not yet but it's a soon todo
What was the update the other day?
https://github.com/Shaosil/LethalCompanyMods-GeneralImprovements/blob/master/CHANGELOG.md
1.2.5 is today but unreleased on Thunderstore. You might be talking about 1.2.4
Btw you didn't document it but will 1.2.5 add InputUtils as a soft dependency for the Flashlight Keybinding?
that's a vanilla bug afaik, the clients don't ever finish a coroutine that's supposed to set the mimicked player
I'm a bit surprised if those mods don't fix it
Just joking haha
i love instigating
I mean the amount of times WeatherTweaks breaks shit in my pack lol
lol
https://clips.twitch.tv/LuckyRudeKittenNerfRedBlaster-8AZoFHZSn-Xk6u8D It's okay we have this now
oh what
Did it break completely or is it just the terminal issue?
Just the terminal
umm
hmm
can you check what happens on Stable when you toggle ForceTerminalPatch in the config?
(I don't remember what's the default value)
Turning it off fixes it !
hey the less mods i need to download the better, so if one mod has a lot of features that saves me some time scavenging for 100 different mods. I see it as a benefit
My friends and I found a couple bugs with the new beta update
- Clients don't see the Steam player names when ScanPlayers is on
- You can see your own scan node when looking straight up or down
Will fix
oh my fucking god
Mrov at it again breaking things smh smh
The MROV mark of stability strikes again!!!!
yeah, no
Did you get any console errors on Beta during startup?
Another suggestion to our lovely @broken crescent ๐
https://thunderstore.io/c/lethal-company/p/SylviBlossom/TerminalConflictFix/
Any good guesses on why the credit screen is completely white?
Is that on 1.2.4? That usually happens if the first render call never happens, which I break sometime shifting code around. Also, does it fix itself after you spend money?
And are there any errors?
Nope, no errors
nope, nothing changes. Will send the log soon
Probably some kind of incompatibility issue
Ok cool, thanks
thank you
Tried to change it from credits to something else (time) and that shows. So it seems to just affect credits
It looks like that log might not include the ship setup stuff that happens when you start a game, any chance you could send me one after hopping in and letting it try setting up the monitors and such?
aw I found a pic from when monitors were just a wee lad
Absolutely! I have some mods that reduces and/or removes unity logs that could maybe affect it? and also to be able to debug. Should i turn them off?
Those mods helped me from hard crashes on some moons so thats why. but i can turn them off temporary
Ah, no worries if it's trouble but sure if that's worth a try. No rush though I probably can't do any devving until later ha
hahaha how far you have come. 110% one of the best mods and a essential one
haha i understand! Thanks for the help anyways
Ok thanks. According to the log it never reaches the code that even attempts to update it, which appears can only happen if my "update timer" isn't running, but I don't see how that could happen since it's a postfix of StartOfRound.Update()
Hmm
Like, it creates the credits monitor successfully and there are no errors so I think everything else is ready to update
I guess hand me a profile code if you want and I'll see if I can track something down later
That would be really appreciated if you got the time and energy!
018f43f6-7a56-c3d4-a215-098e75d08e91
Other than that the modpack works almost flawlessly. The only other thing that is bugged on that modpack is the interior/exterior cam monitors were you can't see the players in it. But i don't think your mod is the root of that problem
v1.1.13 includes this change:
Improved the behavior of AlwaysShowNews when set to false.
this was done by settingGameNetworkManager.firstTimeInMenuto false, which does accomplish the goal of not displaying news when you launch the game, but it has the (unintended?) side effect of removing the "squash" animation and sound effect from opening the menu (after you launch the game for the first time, not when returning to title screen)
it would be nice if that could be addressed
for now i will probably just re-enable the news setting because i like that little immersive touch the animation/sounds provide
but it's taken like 3 weeks for me to realize what mod was causing that issue and why
right now, the setting doesn't even work as described, because by default the game only shows news when your save data is from a different version of the game you are currently playing
(if you go back and forth between having morecompany enabled/disabled, it can cause the news screen to pop up erroneously because morecompany changes the game's version number)
hmmph, "squash" animation"?
i will change my settings aswell
enabling the setting just restores this vanilla behavior, but doesnt force the pop-up to appear if you've already played the current update
aah, i think i understand
yeah, when you first open the game, there's the terminal boot-up screen, then the title screen animates and there's an sfx sorta like a light being turned on
right now the second part is missing so it goes straight from boot-up to the title screen
aaaaaaah gotcha, i didn't even noticed that
thanks for the info! Gonna check that too if my animation is gone
Huh I guess I need to look at how the news works more carefully, maybe I should remove that altogether. Originally I had it in there because it was popping up every time I opened the game
Oh good, I checked the code of MoreCompany and saw I only needed an additional 2 lines of code to have cosmetics work with my sneaky masked option
Sweet!
This has been updated to fix a few bugs that I found last night. I'll probably publish it to Thunderstore tomorrow if no one finds any big bugs with it today/tonight (including myself)
The mask option supports MoreCompany cosmetics with this release
https://github.com/Shaosil/LethalCompanyMods-GeneralImprovements/releases/tag/v1.2.5
@broken crescent I forget, do you grab the textures for the external and internal camera based on the monitor's MeshRenderer or finding the actual cameras?
looking to swap them around in OpenBodyCams and I don't want to change what your enums for BetterMonitors represent
Haha both actually.
For editing the post processing, fps, and resolution, I find it by:
var externalShipCamObj = StartOfRound.Instance.elevatorTransform.Find("Cameras/FrontDoorSecurityCam/SecurityCamera")?.GetComponent<Camera>();```
But for assigning the monitors, I use:
```case eMonitorNames.InternalCam: targetMat = _oldMonitorsObject.GetComponent<MeshRenderer>().materials.FirstOrDefault(m => m.name.StartsWith("ShipScreen")); break;
case eMonitorNames.ExternalCam: targetMat = _oldBigMonitors.GetComponent<MeshRenderer>().materials.FirstOrDefault(m => m.name.StartsWith("ShipScreen")); break;```
(sorry for bad formatting, on phone)
Sorry ๐
all good, I get why you'd need to do that
easier and better to use the vanilla material than to recreate it presumably
Hey my man can i come with a suggestion ๐ ๐
Of course! Best case is I love it so much it's in the next update, worst case is I'm like nah I'm good. Most likely case is it gets added to my backlog ๐
@broken crescent another question, with BetterMonitors enabled, do you make sure that any ship cameras not attached to a monitor are disabled (unless looking at the door screen)?
I'm gonna be screwing with the camera enabled conditions some more and I need to make sure it'll work correctly with BetterMonitors
Hmm I don't know that I manually disable ship cameras themselves. But I do hide the original monitors gameobject, (and reassign the ManualCameraRenderer meshes) if that's similar.
hm, I suppose it would have the desired effect, I think
since I'm assuming that any ManualCameraRenderer that you don't assign to a monitor will still be set to look at visibility of Cube.001, which will be invisible?
Yeah I think so
I think that'll be okay then
Technically no, they're separated into groups of 4 small, and each large one is its own
But yeah
// Assign our middle screen's mesh to the manual camera renderer script of the main screen and two cameras so they know when to render
var newMesh = newMonitorsObj.transform.Find("Monitors/BigMiddle").GetComponent<MeshRenderer>();
StartOfRound.Instance.mapScreen.mesh = newMesh;
StartOfRound.Instance.elevatorTransform.Find("Cameras/ShipCamera").GetComponent<ManualCameraRenderer>().mesh = newMesh;
StartOfRound.Instance.elevatorTransform.Find("Cameras/FrontDoorSecurityCam/SecurityCamera").GetComponent<ManualCameraRenderer>().mesh = newMesh;```
wait and bigmiddle is just the center column?
if so, how would that work when they're assigned to side monitors?
either way, it would be really good to make it not do that if they're not assigned, I'm looking to reduce the cameras that render when not using your monitors but it'd be nice to have the same functionality either way
I can look into only reassigning the mesh if they're in use, sure
And hm, yeah I'm pretty sure BigMiddle is just the single big screen that shows the map and planet info and stuff. Should that not work?
I mean, if the camera is assigned to one of the corner monitors, I would imagine it should be possible for that not to be visible while the camera's monitor is
ideally it's just a frustum check, but Unity's visibility flags are also affected by shadow maps, and that may be why it's still working for you
Huh yeah maybe I just got lucky
but yea it definitely shouldn't work taht way
I should redo that while I'm in there to use the mesh where the material is actually assigned
in OpenBodyCams, I set it up to override the visibility for the internal camera specifically because it was causing a visibility loop that made all the monitored cameras remain visible
it'd be really good to look into doing manual frustum checks
Although in theory you could set one of those cams to show up on every single screen lol
I guess I'd just use the first one found
yeah that'd be good
well
you could generate a bounding box for each camera in your own code and check that
that way it's only one frustum-bounding box intersection that you have to check, but it'll cover all the monitors that a camera is assigned to
Fancy
in fact, if you make some disabled colliders for each screen and assign them to a list, you could create some pretty accurate bounds to reduce the amount they render further
though that's not gonna have a huge effect in practice probably
that's what I had Plastered Crab set up in the Black Mesa mod
Yeah and I thought it went by some random mesh.isvisible code, would that even work for colliders?
but in that case it matters more because there are like 10 cameras lol
what I mean by a frustum-bounding box intersection is using GeometryUtility yourself
that way, you can exclude certain cameras from the check, as well as using whatever bounds you want
this is how I prevent the internal camera from making the cameras perma-enabled
as well as making sure that the door screen actually updates
Ok sorry I must have got lost somewhere along the way, lemme back up a bit
So let's say someone has 3 internal cams assigned to random monitors. I think all I'm doing is assigning that same existing render texture to the materials of those 3 monitor meshes.
And then assigning the internal cam's ManualCameraRenderer mesh to the big monitor in the middle, which just happens to work I guess.
I thought what you're saying is I should use the mesh where the render texture actually resides instead of that middle one, to ensure it stays visible when viewing the mesh in person.
I'm not connecting the dots to colliders
ah sorry
the colliders are just to make it easy to create a bounding box in the editor that you can reference in code
you just grab their bounds and throw them into a fixed array, then you can reuse those every frame for visibility testing
the main thing is just that when using GeometryUtility, you actually need to ensure that the bounds encompass the visible portions of the materials, since you won't get lucky with shadow maps when you use that lol
you can just use the bounds of your renderers if you don't want to go to all that trouble, which would be totally fine
Reference for what? ๐ถ How does that work for visibility testing in relation to ManualCameraRenderer
did you look at the code I linked? this doesn't really have anything to do with the vanilla class, it's just a way to determine if something is directly within the camera's frustum
the point is to use frustum tests to disable or enable the cameras that ManualCameraRenderer drives, but it has nothing to do with that class
Ah not yet, using my phone and about to put the kiddos to bed lol
Ok I think I see what you mean, I'll check that out when I can ๐๐ผ
sounds good
I'll look into what happens as it is currently while I'm testing if I break GI lol
Question, is this fix addressing what i posted here sometime back?
If so, ty for changing that!
I guess it does! lol, although I accidentally found it when it happened to me the other day ๐
Ahh i see i see, nice tho!
is this intended
actually, i don't even have the camera enabled, this is what it looks like with the monitors on
unsure if this is a bug relating to the new beta, but it's possible, so i will report it to be safe
we ran into a bug with the inverse teleporter where different clients were seeing it in different places every time it was taken out of storage
and no matter what, nobody could get it to work
it would do teleporter particles and everything and then just not warp
i was using the latest beta version as host and all the clients were using latest from thunderstore
Hey, did you find out what was the issue with WeatherTweaks? ๐ฅบ
Haha I totally forgot ๐ let me write it down now
Hmm the beta shouldn't change anything about the ship placement colliders from 1.2.4. I'm not sure why that would happen
Found it, since you're stripping out the text "[planetTime]" my code didn't realize there was anything to change.
I updated my end though and it will now work with WeatherTweaks directly as well as hide the weather in the terminal moons catalog (which in theory should work whether your TerminalForcePatch is true or not), while still allowing discovered moons and moon prices to work
It will be in the next update
yippee! ๐
I fixed and added a couple more things
https://github.com/Shaosil/LethalCompanyMods-GeneralImprovements/releases/tag/v1.2.5
I guess I'll release it tonight if I don't find anything else later
will my white credit screen be gone? C:
Oh that. Uhhh, maybe? I forget if I checked that or not already, I'll double check later if I remember
If not this release then next, but hopefully this one
No rush! Really appreciate it whenever it comes
Oh there's something weird going on with your profile. My Update() patch isn't getting called, because none of the animated monitors (fancy weather and sales), door monitor, or credits monitor are updating, all of which rely on that StartOfRound.Update() postfix. I'm trying to find out what's surpresssing it
Wait I think I found it
one sec
really???
happend recently and i have no idea why. Some update maybe. Think it's affecting other stuff aswell
Found it. ShipMeltdown is throwing an error in StartOfRound.Update(), which must occur before mine can be called and is preventing it from running completely.
Sadly with these mods, if one mod is throwing an exception on a particular function patch, it affects ALL other mods down the line that also hook into that function
Give me like 5 minutes and I'll get you the exact exception
Alright would never have guessed that!
I saw the error after I turned off the Unity log suppression mod
you could potentially sidestep the issue by creating your own component on StartOfRound, no?
Sure, there's ways around it, but I'd have to code preventatively for practically everything to avoid this situation altogether, which is kind of a time sink
StartOfRound is a bit of a hotspot though, it's always seemed weird to me to patch its update function
it runs for the duration of the round so it seems pointless to use that instead
Yeah, though I've had just as much trouble with other mods throwing random exceptions in lesser known classes, sadly. But if it keeps popping up I'll move things around
Here's the error log if their dev is interested
i will bring the message forward
yeah, I suppose with the sheer number of patches you use that becomes more likely
I'm surprised my mod works half the time when there's like 200 other mods in the pack ๐
I think the difference for me between StartOfRound and other things is that I feel like I normally need to patch its .Awake() or .Start() before I ever need run an update every frame that players are in a save
so there's hardly any difference imo between having a component and a patch
Yeah that's a safer way for sure too
This is way off topic but for the other modders in here, am I the only one that ever thinks "man I should make a game"?
Bonus points if you have several started, and then VERY unfinished projects
The main reasons I stop are one or more of:
- It gets boring
- It wasn't as fun as I thought
- I want to work on or play something else
- I get busy with something then it slips off my radar
- I run out of ideas for it
for me, I tend not to have big game ideas, so not so much I guess
I did try starting one at one point, but that was waay back and I didn't have nearly enough knowledge or resources then
but yeah, my interest is also pretty fleeting lol
if I did have ideas I probably would get sidetracked way too easily
Exactly..
Haha, yeah me and my friends are going to do a few rounds now and if I don't notice anything majorly wrong I'll deploy it right after
This is more curiosity & less a request because i imagine the work for it wouldnโt be simple, but any thoughts on the fancyweather monitor having weathertweaks compatibility?
Hmm good question. When I was skimming through his code I saw @misty swallow does have some sort of GI check in there and doing something with the monitors so that might also be a good thing for his input
what will 1.2.5 add?
will suit saving work if host doesn't have the suit?
Not the way I code it, I save it on the hosts side and associate Steam IDs to suit IDs. I'll double check I note that in the config description
ok
I may look into doing it both ways, we'll see ๐
:D
would be cool to have your suit display in other save files that are not yours
since modded suits won't work unless you are the host or host has 1 of the suit mods you have
The code he has is so the Fancy Weather display displays question marks for his custom weathers
Ok deploying this now, it should be live on Thunderstore shortly
Having an issue where the GI forcefully shows the console with no text inside then the game launches vanilla as soon as the console appears
@broken crescent Sorry for the ping, just thought you should know this
Yea
disabling betaweathertweaks it works as modded again
i dunno something breaks
i tried disabling GI with betaweathertweaks abled it runs as modded again
Damn
my logs with GI and BetaWeatherTweaks enabled
it works with the regular weathertweaks
but not beta
game runs vanilla if GI 1.2.5 + BetaWeatherTweaks
not beta?
i got mine running modded with GI + WeatherTweaks but not betaweathertweaks
ok yeah nvm regular WeatherTweaks is fine