#General Improvements
1 messages ยท Page 7 of 1
all of my friends except for 1 have the setting disabled (including myself and i was host)
whenever he pulled the lever it would just get stuck in the down position and nothing would happen
rerouting the ship made it usable again and if i pulled the lever the game started fine
maybe its possible he hadnt updated on his end
not sure
i can confirm it's broken even with synced configs and latest update
Ugh ok thanks for the info
I will say I did have a couple occasions where I had clients pull the lever and it crashed their games for them
@timber vale and @short frost both had this happen
Interestingly enough when it happened to Xu though they got an error from LethalThings
hello
Hello ๐
nice purple role
Thank you ๐

one day your modpack will be stable Lunxara ๐
Haha for the most part it is stable now tbh
The only time we broke it yesterday was when 2 people joined at the same time, I think Mirage broke from it cus dissonance went nuts and started hogging up ping and spamming errors
Lmfao
time to increase yet again the delay ๐
I blame @proper quarry for Mirage breaking there, he wanted us to use experimental ๐
time for me to push async experimental as i'm not getting any feedback anyways :/
I'll have to check what the current changes are compared to stable
on user side basically none XD
other than the mod beeing entierly preloader so it will not even show in the list for things like LobbyCompatibility
well we might continue on this here https://discord.com/channels/1168655651455639582/1217111718224728165
let's keep other threads clear
it's not even from mirage :(
What if and hear me out it was DissonanceLagFix breaking inside of Mirage?
Lol
If that's possible ofc
Well what other mod in the pack could do that?
Honestly maybe LethalNetworkAPI? It is using an older version of Eba's netcode patcher
@cinder kettle any plans to update LethalNetworkAPI soon to update Eba's Netcode Patcher that's implemented into it?
it's not high on my plans; the netcode patcher version doesn't really matter, the whole 4.0 thing was to support ngo versions after 1.5.2, which is not that useful for lc, since it uses 1.5.2
so there is no difference in how it would behave, since the actual patching for the api will be the exact same
are you sure this isn't normal vanilla behavior? wouldn't really know, but seems plausible with how the vanilla game is coded
you happen to have the logs from it?
Sadly no, but I saved this error, this is what was thrown when I tried to back out of the lobby and it didn't let me
I might take a deeper look at that later, but it does seem like a potential vanilla thing
Yeah it very well could be
wait if the issue comes from 2 ppl joining at the same time, thats a vanilla bug
happened a lot in the superlobby event
mirage catching strays again just cuz of the word dissonance there ๐ญ
@broken crescent Hi, can you make monitors to update when player is inside the ship? Plus, why are you reading the texture on the main thread?
The monitors are updating when the player is nowhere near the ship? . _.
obviously makes sense o -o
GI monitors don't take that system of auto-disabling? o, o
but with better monitors makes the monitor to update even if you're not in the ship
can we not just copy and paste how the default monitors work . ,.?
or is that section of code hidden from modders
(Questioning this cause I'd assume if someone made a mod for monitors, they'd copy the code for the monitors first and work around it)
(but if they're not disabling when leaving ship's radius, then they didn't copy/paste)
it's not hidden
it would be a bit more work to set up and position canvases on each monitor I suppose, but I think that would be worth it probably
then it'll get frustum culled like any other object
it would probably improve things significantly to also not render in the update loop, but to do that it would have to use a coroutine to switch the camera's position and target texture in a coroutine to update each texture which seems like more work than just creating duplicate canvases
I've been wishing there was an option to disable all monitor changes (including on the vanilla monitors) as well, I want to see if it's affecting performance on some of my saves
would it be difficult to disable? . ,.
I have the uh... what mod is it..
Helmet_Cameras
it simply disables itself when you're not on the ship afaik
it shouldn't be too hard to disable then when the player leaves the ship, no
but it would probably require a bit of work to make things update after re-entering the ship, since at present I think GI relies on the fact that it updates those textures all the time based on game events rather than querying them when needed
I may be wrong though
just out of curiosity, anybody played with v50 and noticed any issues with GI?
been just playing vanilla to experience the new stuff but im probably about to start fooling around with mods
@sour rain it's compatible with v50
ah cool
my appreciation for whoever is organizing this
don't use most of these mods, but that's a lot of compat checks in a very short period of time
oh it's a collective effort, but gotta thank LethalMatt for starting it ๐
This isn't easy, but after a long consideration, I've decided that it isn't fair to my users to never receive updates anymore, after a sudden development burn out. So I'm going to remove my mod from thunderstore until further notice
Thanks to everyone for their support
๐ญ It still works perfectly though even on V50
fr
There's just something about today, I can't put my finger on it...
oh yea
Lol let's gooo you really had us ^^
It seriously works in v50? That's surprising with all the code changes I have
Yeah V50 honestly didn't break that many mods, I was using it last night when trying out the V50 beta
nice
Hmm I just tested this and I was able to pull the lever as a client to start the game without softlocking. Any change you have an error log for me?
It's been fine for me lately too
I think it was just LethalThings those times it happened for me
ok I'll keep an eye on it
i dont use lethalthings
it is possible it is a mod conflict for sure
though
my best guess for what it could be is loadstone
im not sure i have anything else installed that touches the lever -> startup sequence
I recommend against using loadstone
It causes more issues than it's worth
๐คทโโ๏ธ works fine with all the stuff i use
and it helps my friend to not crash when we land on titan
Longer time to take to land in multiplayer isn't worth it, I've also heard it causes problems with custom moons and interiors
we dont play with custom moons or custom interiors
and the longer load times are definitely better than one of us crashing and having to completely rehost to get them back in the game
Small update for today
would it be possible to make the monitors visible specifically for spectators instead of just always active
I have to do a similar thing in OpenBodyCams, it's just another field in StartOfRound or PlayerControllerB
I check it in BodyCamComponent.LateUpdate
I'll add that if I remember next time - I figured the performance boost was already pretty minimal since each monitor only renders a single frame when necessary. I'd actually be curious to see if there's any FPS boost at all when leaving the ship (and disabling rendering).
Most monitors don't even update/render during gameplay except some like time, doors, or animated weather, etc
setting up the render inside the update loop is very costly though
in that profile it looks like it almost doubles the frametime
1.5x on average I guess
14 ms in one frame is an insane cost
Yeah that's a fair point
that's why I'd recommend reworking the system tbh
Well in the meantime @sly jolt let me know if the latest update improves your profiling/FPS next time you check ๐
ok ๐ Will check the profiler tomorrow
Side note I wonder if all of that is coming from my mod. Could some of it be from ManualCameraRenderer vanilla stuff?
nope, it's your mod, especially Better Monitors option
Turning it off I was able to remove stutters
Gotcha
Render + reading from GPU is too much in main thread
plus probably GC will kick in after some time
creating new texture is not that cheap
I'm not super familiar with the render pipeline, I'm not even sure offhand how I'd typically do that in another thread as far as Unity is concerned. I tried to optimize it as much as possible in other ways, like rendering a single frame, only when necessary, and keeping the resolution of a monitor pretty small
you can't do it off the main thread
I would tend to think it's better to just make canvases for each screen that has text displayed and update those whenever changes need to be made
just let the frustum culling do its work
if you'd really rather keep the cameras, though, I think the way to do it would be to do this in a coroutine
- cycle to the next screen to render
- set the camera's render texture to the texture that screen (don't recreate them if you are currently)
- update the camera view matrix
- enable the camera if it's not already enabled (in case you don't render them every single frame)
I do want to keep the cameras so it can be part of the object's material (I really only like to use canvases if it's a true flat surface)
But the coroutine idea might be good, I'll have to play with that
yeah, I get wanting it to fit perfectly into the mesh
cameras are almost definitely going to inherently have more overhead than drawing it directly in the main camera though
we'll have to see how that approach fares
shit u got me lmfao
I don't really care either way but does anyone know how licensing works when someone forks and distributes my code?
https://github.com/MatrixDJ96/MatrixDJ96-GeneralImprovements
if you don't have a LICENSE file or any info about that in README it automatically has All rights reserved
If you publish your source code in a public repository on GitHub, according to the Terms of Service, other users of GitHub.com have the right to view and fork your repository.
so they can fork your code, but when they'll try to publish it you can take preventive action
because it's 100% yours
Ok normally I'd understand that but in this case it's a mod of someone else's code already, so might there be something in laws or the game's eula that makes any mods public domain? I think Minecraft does something like that
doesn't Minecraft do that for the game creators only?
also: write to modmail about https://thunderstore.io/c/lethal-company/p/MatrixDJ96/GeneralImprovementsFork/ this
I actually don't know, someone quoted this to me apparently from their Eula:
If you make any content available on or through our Game, you must give us permission to use, copy, modify and adapt that content. This permission must be irrevocable, and you must also let us permit other people to use, copy, modify and adapt your content. If you donโt want to give us this permission, do not make content available on or through our Game. Please think carefully before you make any content available, because it will be made public and might even be used by other people in a way you donโt like.
oh, that's nice then
because you have all the rights to GI and i'm assuming they didn't get in touch with you about it it's 100% illegal to do this kind of shit
and with the LLL/AC stuff there's a precedent that they will care about infringing copyrights
I see. There's a couple people I've rudely ignored that have asked me to add an open source license (I've been out of development and too lazy to look into that lol)
Honestly I'm not sure if I should care about this ๐
Yeah that part does bother me a bit.
But giving them the benefit of the doubt they probably just wanted to expand on it a bit
Though I guess they could just make their own mod for that
Shrug
i mean - i would be livid if that happened to me, honestly
personally if I wanted that kind of minor change, I would just make a PR
the baseline is that: the entirety of your code is uploaded under someone else's name, without your knowledge&approval, which is required
also this
this is not a diff warranting a separate mod listing
i too can fork someone's work, remove half the files, move the other half and consider it improved
when it's fucking not
Hm. Did they even change the guid?
Ah they just prefixed it with their name
Lol
Well without being too much of a.. "that guy", what should I do here? If anything
message @tardy notch explaining your situation
i will never understand people who redistribute forks without permission from the author
forking a repo is completely normal, but why not just make a PR for small changes
otherwise just distribute it to friends locally
so the quick recap:
- your code is
All rights reserved, so it's 100% yours and nobody else's - they didn't contact you (no Github issue/pull request/discord message/carrier pigeon/anything else)
- they copied the entirety of your code
- they slapped their name on it
- they uploaded that to Thunderstore
"disgusting" doesn't cover the half of it
sloppy fucking shit
if only they sent that pigeon carrier ๐
true
lol
what do you want to bet those parts are copy-pasted as well?
it's making my blood boil
Good old copy and paste development
๐ค fingers crossed for you
your mod is a bloody good piece of work, so it's no wonder someone wants it
it's a shame that's the way it's being used
Eh it's not too big of a deal to me if someone wants to fork it and make some modifications to it, it's just a bit odd to publish it that way. But I kinda get it. I'm assuming there's no I'll intent
I did dm modmail though and they're looking into it
that's what i'm saying: a github issue/pull request with the message "hey, i would love to have config options for this stuff because i want to change it for <x reason>, could you do it?" would probably be enough
They sent a takedown request already
I should really choose a license though lol
(if you want to do open-source)
gotta be careful of what license you choose though, don't want to have a license that's too permissive if that's not what aligns with your goals
I assume I'll choose one that's fairly permissive, I just don't want people using my name and brand
you should talk in modmail to confirm the license would be fine with what you expect
originally i was using gpl-v3, because for me i don't really care what someone does with the source code, as long as they don't redistribute it via official channels (rn that'd just be thunderstore)
and when i originally chose my license, i asked about what would happen if someone uploaded a fork of my mod to TS
i was originally told that nobody the license, they'll still take it down if that's what you (the mod author) asks for
but that was kinda changed it seems after the recent incidentโข๏ธ
and when i talked in modmail, i was suggested with this: https://creativecommons.org/licenses/by-nd/4.0/deed.en
no derivatives = you can't distribute though AFAIK
tbh though @broken crescent it might be easier to just keep it as all rights reserved to not have to think about this mumbo jumbo
Right? Lol I will look into that soon though. Thanks for helping guys
at least if i understand the license right, it's more or less what i personally wanted, where people can do anything with the source code as long as they don't redistribute via official means
you can't freely distibute derivatives and modifications
which means they can distribute an exact copy right? that's not exactly a problem on TS anyways since they still take down re-uploads
yes
at this point do i just go all rights reserved ๐ญ
like all i want is to just let people do whatever they want as long as they don't upload it on TS
there's a special place in my heart (and repositories) for https://creativecommons.org/licenses/by-nc-nd/4.0/deed.en
wait i think that's the one im using, i might've linked the wrong one... oops.......
also: it's completely yours, so you're not bound by the license ๐คญ
im pretty sure im using the same one as weathertweaks, and im assuming that's the one ur using
yes
oh no, i'm using the more restrictive one (no commercial usage)
which means you actually can distribute different licenses to different people
good point, but the main thing of picking a license for me at least is just for my repo at least
would be even easier if i just closed source it but i kinda wanna keep it up for resume purposes
that's absolutely fair tbh
I personally use all rights reserved because its the easiest option that let's me tell people they're not allowed to take it (though with my mod, that's not really a thing people would do)
i think the main benefit of using opensource in modding is that the projects get abandoned
and it allows for others to pick up the torch
without the original author's intervention basically
because if someone wants to continue the projects in all rights reserved case, they **have to ** get permission to do that
but with something like MIT it's automatically given right
The problem is that all rights reserved is scary even with permission
Cuz u can still get shut down later down the line
Afaik
I'd prolly make mine MIT if I do quit
if i ever quit (i hope not) it's gonna be changed to the most open one
but when i'm actively developing it i'd rather have the power to shut down any reuploaders
same
the only reason i don't wanna go all rights reserved right now is
i don't want it to be too restrictive where it makes people not want to contribute if they were thinking of making a pull request or something
For me I havent noticed a detriment in that regard
I've had people dm me to animate my enemy better, provide better textures, give ideas, fix configs, etc
i know some people who refuse to contribute in any repo that doesn't have a license
I do get that yeah
im probably just gonna change my license to the one mrov's using
i've managed to kill development of a mod because there weren't any license
wdym ๐
i've messaged the author with "hey, what about the license?"
and it's still not there ๐คญ
LOL
yeah
I keep having an issue where shop items from LethalThings that are disabled keep displaying on sale on the Sales monitor (Also showing on DiscountAlert). What do you thing the issue is? The only mods I have installed are LethalThings, GeneralImprovements, and LethalThings
Pretty sure the issue is LT itself
Disabling things on LethalThings just doesnt do anything lol
I really wanted to just have the teleport trap mines, but found this out
The only workaround I used to have for that was AC
since disabling items in there actually worked
I will say the removal of LethalThings was a great idea on my part, it not only fixed the networking issues and hudmanager spikes that DiFFoZ noted but also noted a pretty big performance boost, I no longer can recommend the mod to anyone tbh
it's open source, hit it with a little profiler action!
Performance gains? That is interesting.
I keep the mod because Remote Radar is the best-modelled of all similar items from other mods. Hacking tool plausible with a good mechanics. None-silly stuff is p good.
I wish there was a way to make notes in modmanger. Actually what can I say I wish there are like 15 more features to help us. Categories/groups. Redundancy indicators. Conflict alerts. Version control. Dependency alternatives.
any chance the disco ball could be synced on joining the game ๐
when my friends join they see me dancing but don't get to party with the disco ball until we retoggle it
It's so sad that it isn't already networked
@proper quarry get on it!!!
b b-ut i love that mod
Love the mod. I have a simple but I think worthwhile feature request. Iโd like a setting to where I could hold down the button to scan continuously every 1-2 seconds or so (or configurable). Currently we have to use a separate mod to do so, but I figure it might be the kind of thing that could be incorporated into GI that others would be interested in
I think we use this at the moment, but itโd be nice to declutter the modlist, as GI helped with that in the past with removing other one-function mods we were using https://thunderstore.io/c/lethal-company/p/FutureSavior/Hold_Scan_Button/
is there a bug in quota rollover feature in v50? the quota always go higher per day when we have over 1k rollover
Not sure if this has been mentioned before, tried to do a search and didn't get any results.
It would be really cool if the extra monitors could be a purchasable ship upgrade. Something you opt-in to through the configs of course.
Im also facing the same issue
I'm having a bug where the lightning warning on the hotbar is going off inside the facility
do you hear the zapping sound effect as well? if so, then that's not a bug
or at least not GI's bug
as far as I know, items that were on the ship when it landed will always be able to be hit
ohhhh this makes a lot of sense and yeah I was getting the zapping sound as well
think it's just a vanilla bug that happens when something is about to be struck and then u go inside?
Do you mean the sound of the lightning? Or do you get hit by it as well?
The sound is vanilla
I reported friends being hit by it as well but am not sure what causes that
oh
Hey look another update
nice
i have a suggestion: perhaps a monitor that can automatically calculate & display overtime based on what's already sold?
oooh that's nice
easy +1
im used to doing the calculations manually but i'd love to have an automatic calculator do it for me
Good idea
qualitycompany has an option to do this but it unfortunately breaks w/ generalimprovement's monitors, so something native in generalimprovements would be nice
overtime is just floor(money over quota / 5) + 15x where x is # of days left minus 1
it's really easy to remember on the first quota because you just subtract 205 and then divide by 5
after that it gets more annoying
possibly a coincidence, but that means items sold for overtime go for 120% their usual rate on the last day (just like sigurd mentioned in one of his logs)
a monitor that shows life status would be interesting as well (it could list names & be color-coded based on status: green for alive, yellow for injured, and red for dead)
openmonitors has something like that though also breaks with generalimprovements
Yeeah thats been buried in my ideas backlog for a while lol
ahhh i see
i second that this is a really sick idea. I have no idea how difficult it would be to make, but a dedicated big monitor to have this on would also be really cool. Like Phasmaphobia's monitor (maybe it could even include sanity like Phas' monitor).
though I don't think the average sanity would be necessary
AAAAAAAAAAA
@broken crescent
Jesus christ
Turned on the "Sync Monitor Host setting"
and then all my clients had horrific frame drops
dropping from 140+ to around 3 frames
Oh? That setting shouldn't affect clients, as it's a per-client setting. It seemed fine in my tests (although it may have other bugs, it's not SUPER tested)
@broken crescent
for some reason the deadline screen got replaced by a second quota screen that is reflecting the wrong quota
clients are seeing "profit quota 509" and me (the host) is getting 228 (our previous quota)
none of us are using the monitor sync setting
I probably screwed that up with the old style stuff ๐ will fix in next update
Hope that update is soon I really like that deadline monitor ๐ฅบ
Weirdly enough
The deadline monitor is working without issues for me?
Maybe it just breaks if you don't make a new save after updating
@sour rain
it happened after playing a quota
I just created a new run and I still have the issue
That bug only happens when you're not using the extra monitors on the left
Also also also,
It would be very neat if GI's Health text was compatiable with ShyHud
Does Trey's health text work with it? That one is the next best besides GI's
rip
i know it for fact maybe 100% i remember testing all of them but not the results but since I dont have it must mean it didnt work
ay
You should add Pinya
Its a scarp made by Kitten that is unique
jesus christ my brain is slowing down
Should be fixed in v1.1.14
My friends were giving me absolute crap for overwriting the monitor position config values on the client side when syncing from the host ๐คฃ which, to be fair, was probably a bad decision. So I made sure to fix that in v1.1.14 as well
the ultimate motivator ๐คญ
W friends
New update who dis

||a nice addon would be to show hidden moons option in config defaulted to false||
That'd be great
Oh that would be sick
Could potentially even ||lock it behind progression or something, if you could somehow check for it||
||Embrion only unlocks if you view the terminal entry for the Old Bird, and Artifice only unlocks if you go inside the cabin||
Or just ||if you type them in once itโll โunlockโ them on the moons screen||
Would be nice to ||not need to manually check the weather for Artifice||
It would be so awesome...
It would be so cool...
If GI's Health system worked with Shyhud, the way it should...
better using this is for health
https://thunderstore.io/c/lethal-company/p/Nilaier/NilsHUD/
I actually like the idea of NilsHud, the numbers kind of clip anyways
So you're confirming it works with ShyHud right?
yes
@broken crescent Now that you've implemented the ability to remove the Storage cabinet doors, maybe this could be implemented as well? https://thunderstore.io/c/lethal-company/p/ViViKo/TwoHandedStorage/
Is it possible to add a config to set the percent chance for Easter Eggs to explode when thrown (preferably defaults to 100% if thrown)? And by default sets Easter Eggs to never explode when dropped?
I know there's already a separate mod for that on TS (I think that one is server-sided), but I think it's still a nice QoL improvement if it can be implemented here as well
Idk if it's from this mod but exiting the facility with fire exits makes me look left instead of forward
Hmm, it's possible, but I don't think I'm modifying anything when a player exits the building. Some of the vanilla exits may actually do that? I'm not sure
I'll go try vanilla and tell you
You're right it's actually vanilla
don't remember it being like that before tho, maybe added in latest v50 patch?
Well, can you add a config so it make us always look foward when exiting with a fire exit in your mod? lol
A better QOL/Fix would be to actually make easter eggs explode based on chance and not on locations on the map
huh? there's a config setting for facing outward when you leave a fire exit
You're thinking of FixInternalFireExits, which only rotates players as they enter the facility, not leave it
A rather big update today, I finally pulled all of the code from the (now deprecated) FlashlightFix mod into GI.
Users of FlashlightFix will now have a hard dependency on GI after they update, as the latest version no longer contains any code.
GI is also coded to avoid conflicts if someone is on an older version of FlashlightFix
the consumption
Pull up a chair, it's a feast of mods
Honestly I wanted to do that a long time ago but I had to make sure both mods were stable enough, I didn't want to suddenly break a bunch of people's games
Tbf I might still end up angering people who may be avoiding GI for some legit reason but used flashlight fix.. oh well
it's already happened lol
I'm less bothered by it than others, but personally I'm still on the fence about GI since it has some nice fixes in it, but some non-optional code that may affect performance as well
I hadn't gotten around to profiling it, but I probably should now
I cant live without GI
There are certain mods that I have hooked into my IV
GI is one of them
I mean... that's probably because it integrates so many features, that doesn't surprise me
it's not really relevant to whether it should all be in one place or not, since you would have those features regardless
at least if the maintenance burden didn't overwhelm Shaosil
its a lot of good stuff, im just personally of the opinion too that having too much under one roof can get dicey
Im curious about what non optional GI things you are holding back from
if one feature gets added that is untoggleable and either buggy or incompatible with something you want to use, you lose everything at once instead of selectively removing the source of the problem
for the most part GI is configurable enough and plays nice with most external mods, but in the case it doesnt, it really sucks toggling that all off
Indeedy, although that whole bit is only going to happen if you turn on UseBetterMonitors, which is disabled by default
Does it cause a performance hit?
it causes a huge performance hit when it is called, yes
if it gets called multiple times in a frame, you'll most likely notice a microstutter or worse
I doubt it, but I don't know for sure
it only renders periodically, so it's not as big a deal to most people I'm sure, but I value my frame time consistency
and it'll only happen when on the ship if it's working properly
I will say, though, I couldn't figure out via reading the code that the screens don't update without BetterMonitors, but it doesn't appear to show up on the profile at least
my impression was that it replaced the functionality of the default text screens, but I suppose the main reason I thought that was because it changes the background
looks like this line is allocating because you used Linq lol https://github.com/Shaosil/LethalCompanyMods-GeneralImprovements/blob/master/Utilities/MonitorsHelper.cs#L690
pretty negligible even on a deep profile though
AnimateSpecialMonitors shows up as a big chunk for every call to StartOfRound.Update() though
ah, looks like you're using Linq .Any() in quite a few places actually
Hmm I wonder if the call to .Any() is causing that. I figured it would be just as fast as checking the length but possibly not
Linq allocates an enumerator
and then it calls MoveNext() and if that succeeds it throws out that memory immediately
True. I need to use that less often in frame calls
HUDManagerPatch.SetClock() is showing up because of that as well
Years of using Linq in business code often makes me take its lack of performance for granted lol
yeah, I only like to use it in run-once functions
at least if I won't need to use an enumerator regardless
although even then, it might be better to avoid it since I believe it chains allocations for each action
Unity isn't good at cleaning up memory
Yeah. I'll have to go through and clean up Linq calls where they may affect performance
another thing that seems suspicious, in this profile I don't even have UnlockDoorsFromInventory enabled and yet I see DoorLockPatch.Update() on the profile
I don't want to imagine what happens when all those calls are also doing raycasts
Oh I'm surely not doing raycasts if it's disabled ๐
no you're not
Oh good I see what you mean
it's pretty negligible with it off, but raycasts aren't nearly as cheap as calling get_Value()
I wonder if there's a better way to handle this patch though
wouldn't vanilla be seeing these interact prompts somewhere as well?
a transpiler could make the prompt appear I would expect
I could always put it on a timer or something, though I think vanilla uses a ton of those raycasts per frame (it probably shouldn't)
right, I'm just thinking that this probably doesn't need to have any impact, it's just an extra condition for whether the prompt should appear
Man I hate writing transpilers though unless explicitly necessary, it's just so prone to errors if the game updates
Fair enough
understandable I suppose
I have a few utilities that make that less likely but obviously it could still happen
I still prefer transpilers, though, since I can know exactly what kind of impact it has
it doesn't add overhead for function calls unless I tell it to
I had a fun time trying to transpile something today and finding the ES3.Load<T>(string, string, T) method via reflection.. there's so many overloads for it
Yeah it's certainly better for performance
well, I shouldn't say "prefer", but in cases where I can use it to get away with doing no extra work and achieve what I want, I'll do it
if you wanted to yoink some of my utilities you could though
especially the one to find the instructions that push a certain value to the stack, that one helps a lot with compatibility
Nice
they're kinda haphazardly tossed into this file which I duplicate across my projects https://github.com/Zaggy1024/LC_OpenBodyCams/blob/master/OpenBodyCams/Patches/Common.cs
Tbh I didn't remember most about IL stuff until I had to refresh my memory on it because of transpilers. They're a bit harder to read than C# lol
yeah, I had a head start from working with ASM to hack on Java bytecode in Minecraft
Oh nice
stack machines aren't bad to understand though as long as you know what the instructions mean
much easier than registers to me
Have you played Shenzhen.IO? Good stuff
oh, I haven't
I've thought about playing games like that but then I go play my competitive shooters instead lol
I really should though
They're well made but not for everyone. Good mind bogglers though. Really forces you to optimize things.
I actually printed out the manual and put it in a binder ๐
lmao you're starting to sound like more of a nerd than I am
๐ it's possible
wait a minute
why does your DoorLock patch even act on Update()?
the disabledHoverTip is shown to the player only if the interactable is being pointed at, right?
why not just set it on Start()?
or perhaps after RoundManager sets whether doors are locked I suppose may be necessary if that's done there
I forget if something else vanilla may potentially be updating the disabledHoverTip every frame, but regardless, I do need to check if the mouse was clicked
you could hook into PlayerControllerB.ActivateItem_performed() for that
you're not taking into account the control mapping anyway, if you're using Mouse.current.leftButton, right?
I'm not sure that particular function would work since this is checking for something not currently being used/held by the player
it would, it calls it on the currently held object
And yeah I sometimes let laziness win for hardcoding controls ๐
it's directly hooked up to the input system
Yeah the point of the door patch is to allow NON held objects (keys) to be used
I mean that the function I mentioned calls UseItemOnClient() on currentlyHeldObjectServer.gameObject.GetComponent<GrabbableObject>()
so in other words, you can just check first whether there is a key in the inventory and unlock the door and return
I partially follow. How would I know they're looking at a locked door? Aka, where do I check that they've pressed the use key etc
well, I suppose you could hack it and check whether the key was consumed
the key item itself checks whether it has a door to unlock
it wouldn't do anything if not
Only when it's being held though, I thought
ah, true
wait
no
whether it's in a player's inventory, not whether it's held
it will despawn the held object though, I guess
which... doesn't work with your patch does it? you're not setting the current item in your update patch?
Yeah basically I have to put code somewhere that checks whether the player is looking at a door and has a key in their inventory, I couldn't find that in vanilla code, though of course I may have missed it.
I also had to transpile the key activate code IIRC because it was trying to despawn the held object instead of destroy the item in slot N
ah, I see, then it works
it's essentially the same thing but activated by game events instead of just polling every lock every frame
I don't recommend this right now, gonna guess it was this mod that caused it for me but I got a bug earlier where the exp popup was being super buggy, so I ended up removing NilsHud and ShyHud and that fixed it
I need to check the code for the 2 mods and see which one was responsible
currently your complexity is [number of door locks] * [number of item slots] every frame
in a way, anyway
this patch should be free is the point
Sorry yeah I'm just still confused on where you suggest I put the code
well, for the tooltip I would transpile DoorLock.Update(), since that's where it looks like it sets the disabledHoverTip, you can just hook into the if statement and make it set it if there is any key in the item slots
and then hook the beginning of PlayerControllerB.ActivateItem_performed() just after if (!context.performed) return; and call a function to use any key present and check if it is used
I'll check if that works when I get a chance ๐๐ผ
can also use PlayerControllerB.hoveringOverTrigger to get the current DoorLock that is being looked at if there's a key
that way, you can check if the key should try to do something and return
or alternatively check if it was used by checking !isLocked
this way you also can't throw a flashbang while unlocking a door
It would be so awesome
it would be so cool
but there probably is no good way of syncin the colors without destroying the monitor
Hi, just leaving feedback that I'm not terribly pleased with FlashlightFix being deprecated in favor of GeneralImprovements; while I understand that for code maintenance purposes this is likely simpler, I find that GeneralImprovements does a lot more than I wish it would with no option to actually disable its improvements rather than just setting them. For example, for the teleporter settings, I already have a mod that does that (among messing with other teleporter functions which is why I don't want to remove it in favor of GeneralImprovements), and since there's no clear option to disable the changes GI is making, I can't reliably tell whether or not it'll conflict with the other mod.
i think stripping code from flashlightfix was kind of unnecessary
i think it's totally fair to integrate into generalimprovements and maintain it there
but rather than removing code from flashlightfix, i think it should've just been deprecated with an obvious warning "this mod is no longer maintained, use generalimprovements instead if you have issues" in the description or smth
and then generalimprovements would just override and prevent loading of flashlightfix if it's installed
This is also the case for more settings than the teleporter, and I actually don't want the vast majority of the features that GI offers, and given the way that the config is laid out I am inclined to believe that GI will either conflict with some of my mods that also change similar values or it will override them when that isn't what I want
For my part I've downgraded FlashlightFix to 1.1.2 and intend to continue using that as it worked fine, I don't have any intention to use GI in its current state
Yeah, I don't have a specific issue with that contingent on GI being a good home for it, which I don't think it is right now for the above reasons
Hey I hear you! I know the decision to deprecate the latest version of FlashlightFix is odd to some. My reasoning is I'm done maintaining that repo and I want to (selfishly) make more people aware of GI. But staying below 1.2.0 is totally valid and supported by GI.
It's a bit of a controversial opinion, just like the fact that I want to make one giant mod instead of separate some things out. Thanks for your understanding guys, it's just my preferred coding and maintenance methodology
From what I understand Rhapsody would be happy if a bool toggle were added to let the mod they prefer handle the Teleporter changes, that's the big complaint I've seen from other people too after the FlashlightFix merge, they want an option to have GI not control teleporters
Ah yeah that's fair, I'll look into that
I personally was happy about FlashlightFix being merged since I've used GI for a while, but I can see where people are coming from
Definitely
imo it's important to be mindful of whether hooks will incur any overhead and make sure those hooks are disabled with the options that they are needed for
I know there's at least a couple hooks that are active regardless of the options being enabled, I saw some of the hooks that call through to update the text of the screens in various places are always patched
mainly concerning is when those hooks run every Update() though
If GI had a bool to enable or disable every individual action or group of actions (such as touching the teleporters) that would be a way to keep everyone happy?, some people might only want to use 10% of what GI does, can the rest of the mod be disabled gracefully?, Or is the programming too complex to have that?
@narrow oriole Btw have you checked what the difference is with Shaosil's new saving item rotations patch to the one you have in OpenBodyCams?
OpenBodyCams doesn't mess with saves, so I'm guessing that's different
but also that patch probably won't work for clients without OpenBodyCams fixing the dropped item rotation
Yeah knowing that makes me wonder if the patch is good to have enabled or not lol, since messing with saves is always kind of ehhhh
I guess you could check the github code though
yeah
the commits are chonkers it's not really easy to do that
but from what I can tell looking at the diff it is what I thought
Concerning the teleporter code - I'm considering changing the default cooldown values to be whatever vanilla has, then just simply not modifying any code if the values are left at default. I'm trying to avoid adding more config options for old features since there are already so many.
Would that be an acceptable solution? I would also state in the config description that leaving it on vanilla would not modify the cooldown code.
I'm already doing similar things with the keep items code - it just doesn't transpile anything if it's set to the default "none" value
I noticed you mentioned helmet lamps in 1.2.0 changelog.. does that mean the flashlightfix code is compatible with AdvancedCompany? It also has code that tries to sync flashlight states iirc
Honestly I haven't tested it with AdvancedCompany but I haven't heard anyone report an incompatibility yet
ok. I'm gonna try and see
I think that would work fine yeah, I was always surprised it didn't work that way already
Is there a way to make the electricity warning effect thingy also work for Reserved slots?
Or are they just completely incompat?
It's probably doable, I'll put it on the backlog to investigate
@narrow oriole I updated the DoorLockPatch to transpile the existing update function for the hovertip (learned a bit about using labels instead of line number jumps, sigh ๐ )
And now using a postfix in PlayerControllerB.ActivateItem_performed to attempt using any key found every time it's called (if they can use an item). It should be a bit more performant next update
Well in dnSpy I could do something like brfalse 39, but in Harmony everything uses labels to avoid needing to update line numbers
GI Monitors don't work with last update...
Oh? They did when I played last night. Any error logs?
oh I assume you mean the IL offsets then, yeah
I guess the offsets are probably the raw representation but it's definitely good we use labels lol
Definitely
Man I don't mind learning IL, it's kind of interesting, but I just hate using transpilers because they're so prone to breaking with any game update or other mod that transpiles the same function
yeah, I don't know if my utilities help with that but I think being able to analyze the code makes things a bit better in that regard
I've hardly had to change any of my transpilers
Not really but looks like GI completely doesn't work for me at version 1.20
Fine at previous
but then again, updates haven't really touched my code much except when Zeekers fixed the bugs that NutcrackerFixes touched
imo it's better to use transpilers for bug fixes for just that reason though
Yeah
it lets you know when your patch is obsolete whereas if you use prefixes or postfixes you'll never know
until someone asks you "do I still need this on v50" I suppose anyway
another argument in favor of transpilers is that if you have to duplicate behavior from vanilla, you may not know if you stop matching it in a later version, but that doesn't apply so much in the case of your door lock patch
right now I'm using transpilers to copy pieces of vanilla code out of this function to choose which branch to take
would not recommend unless you want to write/copy a bunch of helpers to analyze bytecode
Haha yeah that's a sensitive bit of code
Ugh that's strange. I guess give me a profile code and I'll check it out when I can
Anyone else having GI completely broke as of 1.2.0?
018efc3a-4fa2-cb4a-25c2-45146b334752
The monitors seem fine for me
I only had some jankiness with the item rotation feature tbh
like dead bodies being in different places for everyone
Hm. I did notice the teleporter no longer marks dead bodies as collected. I plan on fixing that in the next update
That could do it, yeah for me someone saw a dead body on the ship but the body was laying outside for me
XD
That's vanilla
ragdoll bodies aren't synced
to add on to this, there was a bug with previous versions where collected dead bodies would add to the "scrap on ship" counter but wouldn't be deducted after they got cleaned up at the end of the round, leading to the number being inflated and not 100% accurate until you reset the session
i haven't noticed that issue happening anymore with manually collected dead bodies
so it seems like that was a bug with the specific way teleported bodies were collected
not sure if you'd be aware of what caused that to happen
Ah yeah I'll have to make sure it doesn't count those as scrap in the calculation, it's probably marked as scrap in vanilla or something
yeah, they count as scrap because you can sell them for $5 at the company
paycheck only works for items marked as scrap (which is why keys show value 3 in vanilla but sell for $0 for example)
they are just a special case because they also get removed from the ship in between rounds, so you can only sell people that get murdered after landing at the company
Yeah that's probably worth a hard check, not sure I could easily apply a logic case that includes them without breaking something else.
@broken crescent The rotation fix seems to not work, stuff on the ship gets incredibly desynced for clients when they rejoin the lobby after rebooting the game
I disabled it for now
Hmm it seemed to be working for my friends when they joined. In what way did they desync for you?
Teleporter in incorrect location, items under the ship, etc
It was fine for me, bugged for them
My only other guess would be it was @narrow oriole's fix in OpenBodyCams
Huh, I didn't change how the unlockables (or even items) were positioned, unless something errored on their side and prevented some of the loading code. I'll peek at my code to see if there's something I may have missed
Do you also have item clipping and rotation fix Matty's Fixes enabled?
But they said their fix should be paired with yours
I had rotate on spawn disabled.
I just reverted back to Matty's Fixes implementation
that shouldn't affect items' positions
it only changes the rotation that the items lerp to when they are falling
Yeah so it wasn't your mod
Still having the issue, I wonder if it's just a GI bug as a whole tbh
If that's disabled it shouldn't be modifying the save/load functionality at all. Does it fix the problem when you disable GI?
Idk if it's GI for sure, probably some other mod doing weird shit it shouldn't
Why were you asking this btw?
I thought it could cause problems
I can't get item rotation to save no matter what mod I use
they always look to the right
I'm starting to believe it's just LethalThings giving me trouble again tbh
Did you find a fix for the toy hammer going up?
I tried spawning one with DevMode and it just went up to the ceiling
Modding is hard lol. I keep seeing posts on reddit complaining about enemies not spawning. I think sometimes that might be caused by the MaskedOverhaul mod or something, since I keep seeing that mentioned. I think v50 might have broke it
masked overhaul non-fork and scopophobia yeah
You need to set an offset for it, Matty suggests 0.2
I disabled the toy hammer though because it doesn't delete properly when dying or getting fired
Ah I shouldn't have this problem anymore then, I disabled everything related to items in matty's fixes
except the lightning fix
if those posts are from modded users then it's likely something that a log would clear up pretty quickly
I wish that people would generally just send a full log even if they have a snippet they think is the issue, because it happens so often that someone sends the symptomatic errors instead of the root one
Yeah idk no matter what I try items always rotate the same way
No "fix" fixes it
At all
@broken crescent Are you sure your new item rotating fix works?
It seems to do nothing for me
@broken crescent we seem to have figured it out, your item rotation fix doesn't work if the falling through floor fix is disabled
Oh that would make sense, awesome catch! It would still save and load the data but I think when the item spawns I accidentally put the final rotation code alongside the floor fix configuration
Lol you can thank @proven moth for finding it ๐
Woo thanks tumbleweed
You planning to get a new update out soon?
Within a day or two hopefully, trying to fix a few bugs at once
You got this
would it be easy to implement a config option that automatically activates "view monitor" each round?
You mean like once per day?
Like the first time a player uses the terminal each day?
I'll look into it
cool
since the bestiary videos interrupt view monitor that's why i suggested once-per-round
otherwise i feel like it'd get kinda funky auto-activating all the time
yeah
might just be because i do all our ordering at the company right after overtime
but i pretty much exclusively use terminal for cams mid-round
and always have to retoggle
can you add a setting to leave monitorbackgroundcolor blank
and it will use the default blue during normal games and the default lavendar during challenge moons
right now the challenge moon color gets completely overwritten with blue using default settings
Using this code, I confirmed that disabling JetpackFallFix makes GI 1.2.0 work again. I noticed errors from that mod in the log, which must be cascading up and preventing some of my code from running.
Thanks, since Zeekers fixed the jetpack fall dmg bug this mod is not relevant anyways
Awesome
this is what i was referring to, took some time to get a screenshot
also yeah, at least for right now jetpackfallfix is basically obsolete
Hm I thought somewhere I had code that makes my monitors use the lavender color on challenge moons but maybe not
looks like the only place challenge moon gets checked is for the auto-adjust money per player setting
Huh ok I'll check it out
Bugfixes and optimiations coming through
i forgot this mod also lets you change teleporter cooldown tbh
close enough lol
also what does this mean?
Basically if you use these, make sure everyone else does too
Because vanilla doesn't know when slots get shifted
i see i have those disabled which is why i didn't see
could the teleporter changes be the cause of this issue i had yesterday ? #help-and-troubleshooting message
asking just in case
Hmm I don't think so, I haven't seen it outright stop working. Possible but maybe unlikely

me also wonder why i keep my items during teleport
i turned it off and forgot lol
lol that will do it
im 100% sure this is the only mod with teleport features that don't effect clients or desync when teleported with the items
Oh? It should though, I even have the warning in there
maybe i havn't tested it sense as client it works fine
i just make sure to drop and repickup the items just incase on other peoples screen my items did drop
yeah that might help
pretty sure i had cases of someone picking up my dropped items causing them to get removed from my inventory and put into theres
yoink
love the betterterminals
i made the ship into a security station
combined with openbodycams on the big right moniter too
Yeah I do the same thing
What am I supposed to do with reports like this lol
https://github.com/Shaosil/LethalCompanyMods-GeneralImprovements/issues/155
Like, I've never seen any of those apart from some random vanilla glitch
It's almost certainly from mod conflicts
sounds like a classic case of "hmm what mod should I blame? oh this one does a lot of stuff, time to FLAME THE AUTHOR"
also
where logs???
only bug i experience and im pretty sure its not this mod
And it disappears after they disable mine, which could be true but doesn't mean it's my mod causing it. Mods are complicated
oh, I missed that part
but yeah there should be logs
for some reason people seem to think that issues are totally localized to one mod when they go away without it so they just provide no way to reproduce it
it's very frustrating
Pretty much
||jk||
if I had a nickel for every time
someone said monsters are not spawning-
my usual response to issues like that is just to ask for logs and a profile code and then half the time I get no reply lol
here's a good one from just yesterday https://github.com/Zaggy1024/LC_PathfindingLagFix/issues/2
Works on my machine lol
pathfinding lag fix my beloved
tbf, though, I haven't actually played v50 all that much, but I haven't once seen a stutter from the AI
i have it on a list of mods to always download when i delete my modpack and remake it
hell yea
Ugh I have to mow the grass and I just don't want to
last modpack i deleted was one with 187 mods
v50 made me delete sense it can't work
time to buy a goat
i need to make an issue template someday
it's gonna ask for the important things before the actual dev contact
I should too but I'm too damn lazy for that
Right?
don't distract me from my coding!!
i found this https://github.com/stevemao/github-issue-templates/blob/master/simple/ISSUE_TEMPLATE.md yesterday, and it's a good starting point
yeah, that's a pretty standard one
a fucking form ๐ณ
I'm not always the biggest fan of it but for the average bug report it's totally fine
this thread was dead like 4 days ago
sudden increase in activity sense this thread was gone from my followed page
im also trying to find my last message before that happened
shaosil is just the life of the party
i like how my first message in this server is an error message of a mod incompatablity ๐ญ
i can somewhat see what mod is client sided and server sided now tho
I hadn't touched the mod for a long time and the old coding mood hit again so here we are
anyways i hibernate now
time to be inactive for hours again!
Have a good hibernation
new weather!
๐ณ
Ear
Lol I need to tweak the offset for that monitor
i got so scared by that message ๐
why lol
i try to keep up with the latest weather innovations
and i thought i was caught off guard lmaoo
lol
I think GeneralImprovements may be broken on my end. Not sure if it's an incompatibility or something else.
[21:15:37.8504550][Error:GeneralImprovements] Could not transpile SaveItemsInShip! Unexpected IL code found.
Doesn't seem to be loading the mod when I get into the game.
yep i can confirm, the mod stopped working for me
heres the logs
ignore what i said, lobbycontrol was the problem
@polar junco you might wanna downgrade lobbycontrol
They must be transpiling that function as well and before my mod does. That's kind of my fault for searching for a specific line number and stuff, but yeah if you found a temporary workaround that's great
yup, at least matty is aware of the issue
Can confirm that's the issue, thanks @magic garden
I'll just temporarily disable it for now until it's patched.
I'm just doing testing for a mod loadout for the group I host, not an immediate issue. Won't be playing seriously til next week.
Also I don't know how r2modman handles rollbacks, will need to look into it.
@broken crescent is this going to break stuff?
comes from this check not passing anymore
as it uses specific IL indexes and LobbyControl removes some lines
Haha yeah that was my lazy way of checking the code was identical. I need to fix how it checks for things
It won't break anything, it just means one of my features won't be available. I'll try to fix it in the next update
up to before this update i was always trying to keep the il indexes the same to avoid issues ( setting to NOP instead of deleting stuff ) but this time i decided to not care anymore and just report errors ๐ soo... sry for giving you more work
Lol not your fault, it's a good chance to make me code it the right way
Something else to report that I've noticed as well is I've been getting the following errors for ShipTeleporter.beamUpPlayer:
[22:28:22.0435110] [Error :GeneralImprovements] Unexpected code - Could not transpile ShipTeleporter.beamUpPlayer to keep items!```
I have NonScrap as the designated attribute for what's acceptable to beam up.
Yeahhh I'm working on those too lol I'll try to update my transpilers to be more supportive of other mods that might modify them
(that's likely also caused by clashing with another mod)
I don't have another mod that affects teleporters, but I do use mods like ReservedItemSlots and EnhancedRadarBooster that might affect what's detected as an teleportable item?
It's gotta be something that's also transpiling that same beamUpPlayer function or it should detect the same code, I don't know offhand which mods would do that though
I'll see if I can find it in one of the thunderstore sources or github sources, probably some rogue code in one of the mods based on what you're describing.
After my next update, hopefully the only time my transpiler doesn't work is if another mod actually changes or removes a line I'm looking for
my guess is enhancedradarbooster
enhancedradarbooster lets you use the teleporter/inverse teleporter on radar boosters

told you they existed ๐
I am pain
enhanced radar booster is probably the one changing it
Yeah that's my guess as well @sour rain @narrow oriole since it hasn't been updated in a while.
Turned off the mod and launched the game, those errors disappeared.
Yeah since I use LobbyControl I had to disable your rotation saving stuff for now to get rid of that error XD
@broken crescent Btw have you thought of adding InputUtils as a soft dependency so the Flashlight binding can be changed in settings?
i might be wrong but it seems like easter eggs are counted on the "scrap in ship" total even when they explode after being dropped or thrown into the ship
It probably does that til you pick an item up and drop it
Hmm no, I've been assuming that I couldn't do both at once. A soft dependency might be the way to go though, I'll have to look into it
Ah, yeah I imagine the explosion happens after the calculation does. I'll mark it down
Oh yeah my transpilers are going to be way more flexible next update
Yeah good, for now I just swapped to SmartItemSaving lol
For the rotation stuff
It is enhanced radar booster. Which is a shame because Iโd like to use both mods
Btw @broken crescent A request, please add the Knife you get from the Butler as an item that gets excluded when Tools Don't Attract Lightning is set to true XD
my friends having extreme fps drop in the ship and when we disable GI, it got fixed. i dont have logs
It's probably a feature you have enabled
Like Auto Charge in Orbit
CozyImprovements also will cause ship lag if you use that
i see we'll try it later
what else may cause fps drop in ship thats a feature in GI?
Shaosil is fixing it so it won't be long before you can
Better Monitors might
But I've not really experienced a fps loss from it
yea they still fps drop in ship even autocharge is disabled
Huh that error is definitely causing the lag spike. Is it consistent, and if so can you share your profile code?
Also mental note, knife and extension ladder should not attract lightning with that setting ๐๐ผ
profile code 018f0b08-dfe1-161e-c162-d988c2540044
Booted up the ship and not seeing the error - does it typically happen after coming back from a level or something?
clients the one suffers from fps drop
@mossy mortar A temp fix that might help is using a mod like FixRPCLag or UncaughtExceptionCatcher alongside GI. Not really ideal for troubleshooting GI itself as those error logs you posted above won't show up (especially with UncaughtExceptionCatcher), but if your friends just want to play without lag those are some options that may help.
we'll try next time we play
FixRPCLag is already in my profile so I'll add UncaughtExceptionCatcher
Has anyone had an issue with general improvements where enemies are invisible but scannable after an inverse teleport
Itโs the only mod I have that messes with teleports. I have it so you can teleport with all items. Just trying to figure out if itโs a vanilla glitch or not
Any chance you have the whole error log file? The null exception there doesn't make much sense unless something farther up the line caused something else to break I'm not aware of
I don't see anything unusual with that log - what are you experiencing?
For some reason, sometimes when we inverse teleport enemies will be invisible, but scannable/interactable. I can't figure out why
Ahh that, yeah I haven't seen that yet personally (or seen it reported here), but I'll keep an eye out for it
Thanks, any help would be greatly appreciated
Hi, just found out a lot of mods have threads on Discord. Just wanted to say that I love your mod. It's one of about 5 that I can't play without.
I'm going to send some support your way on Ko-fi. Keep up the great work!
Haha wow thanks! It's just a growing project I keep adding on to as I see or hear about problems or potential improvements lol.
Happy to hear you like it so much, and of course support is never required or even encouraged, but definitely appreciated! โค๏ธ
Just wanted to say thank you to the creator for making the mod. I use this in almost every one of my packs. โค๏ธ A cool idea I've been thinking about for months with this mod is to maybe allow the option to have more monitor display configurations? Some examples
โข if used with GhostCodes, they would all flare up the same message or glitch out ๐ป
โข having each monitor enable their own buttons! Hear me out. it could allow different players' perspective for each monitor, toggle between text and person, etc ๐บ
โข have the tv play on one of the monitors ๐
Let me know if these sre too complicated, but I just thought that they were cooll
Those are cool ideas, though tbh I'm mayyyybe not the best person to complete things like that. Actually it would probably be easier for the ghostcodes developer to do that by using a soft dependency on my mod. I wouldn't be sure how to do some of those also
I just saw this btw, I thought I remembered the scanner fix causing a performance hit before
Hmm I wonder if it still is
I imagine is, it looks like from Zaggy's test it causes hudmanager spikes
What all in GI is using the UpdateScanNode function anyways?
Would that be this?
๐
my guess is fixpersonalscanner
Same
Yeah it's FixPersonalScanner - that basically entirely recodes how items are added to the UI when scanning. There's probably some optimizations I could do for it eventually, but I don't think it's causing massive FPS drops or anything
yeah, it's not super serious since it only does it when you scan
it wouldn't hurt to though, it apparently is calling that hook a few times per scap or something
I'm pretty sure it wasn't calling it when no scan was happening, but I'm not absolutely sure, so might be worth checking that with the profiler
seems this error logs appear when we try earlier version of GI
I thought something broke with the latest update so we did that
but they still experiencing fps drop
here is one of my friends logs
dunno what causing it to fps drop
@broken crescent @narrow oriole any idea why this error always throws for clients?
my hook there just wraps the function, so I don't think it should have anything to do with that
Shaosil may need more of that log I'm guessing
That's so weird, I don't see any errors or spam messages in that log that would cause the FPS drop. But disabling GI fixes it?
yes we only disabled GI but I dont know if other mod is conflicting causing the fps drop
Is it the sync terminals with host config
On release of that config option the fps drop was nasty but you said youโve patched that (I think) and I havenโt tested it since
Hmm I thought I may have fixed that but I actually didn't test it either, good question
FINALLY solved the problem I was having. It's a minor one but I've been trying to fix the romantic table being crooked for snap building for two solid days lol.
It ended up being overcomplicated because all furniture is NOT parented to the ship, and actually has their positions and rotations set via offset variables every single frame, so I couldn't just rotate it a few degrees on spawn and call it a day.
Ended up having to store the mesh's transform local rotation offset on spawn and use that during snap turning, as well as adjust its initial rotation offset.
Many other small things coming in the next update
hooray now we can have non crooked romantic dinners
Right? Total OCD nightmare
"It ended up being overcomplicated because all furniture is NOT parented to the ship, and actually has their positions and rotations set via offset variables every single frame"
WAT? That's an interesting design choice ๐
Yeah... This is the first time I've read his code and been like.. well that's dumb
i mean no offense to zeekers but this really is just an undertale situation where somehow the game is great but behind the scenes its held up with a really good stick he found
I mean, there are other debatable choices in the game but - I don't feel like being extra critical about code standards/issues/design.
Yup, this. Pretty much this ^^
Exactly, I'm not super critical of other people's code, actually I've been fairly impressed with most of his since he's a single dev and did it all in a few short years
But once in a while it's like, huh
By the way @broken crescent , I was answering in the general chat about which values could be put in the monitors. I - thought they were in the wiki, but I could only find them in the source code available in the store page?
I had a look here: https://thunderstore.io/c/lethal-company/p/ShaosilGaming/GeneralImprovements/wiki/1280-config-referenceextra-monitors/
its a very good and strong
stick
The config file itself lists the values for each setting, so if you use r2modman, or even LethalConfig these days, it should show the options
But I should probably include default values in the wiki
I kinda reminded that but someone asked in general and I thought I should have probably mentioned that to you.
The user was using LethalConfig so maybe he didn't notice.
More accessible info -> less queries ๐
Good point
lethalconfig cuts off all the available values
Ah boo I thought they implemented dropdowns
Your LethalConfig dropdowns show the full values for monitor options? (I haven't used it)
oh, I just meant that it has dropdowns, do you mean it doesn't implement scrollbars?
Hmm I'm curious too. @sour rain?
lethalconfig doesnt have a dropdown
it has just a string entry
and you cant scroll through the description, to my knowledge
Ah. They closed an issue I opened about not implementing acceptable values so I assumed they did the dropdowns I suggested
You guys using the same version? Getting some conflicting messages lol
i havent configured my monitor settings in forever
so if they updated it to add dropdowns at some point
then it's possible my info is just outdated, yeah
nvm
im playing right now
here's a fresh screenshot
Huh. Ok your turn @narrow oriole ๐
I think it might not be a matter of the acceptable values list
are you using an enum?
I'm passing an AcceptableValueList to Config.Bind since that's what BepinEx supports. I'm not even sure how I'd pass an enum to that offhand
Well it's an AcceptableValueList<string>, unless they mean they work with the generic type being an enum. But that's just numeric under the hood
I mean the type of the underlying value of the config entry
all the ones I've made have been enums, I don't know if I ever tried an acceptable value list on a non-enum
it does seem like it would make sense to use the value list, but it seems possible that it's just coded to get the possible values of the enum instead
Hum. I should probably look at LC and try to support it then
New release coming shortly!
@neat stone the new update going live soon (v1.2.2) should fix the transpiler errors you were getting
Fixed new save files always using 0 for a map seed before starting the game
Yesss
did you confirm that this syncs in multiplayer
i feel like the last time i tried doing this myself, it caused weather to desync on day 1
but that could've just been a mistake on my part
Destroying keys is huge. Maybe i can finally make my friends start taking lockpickers.
I didn't actually test that, but it should in theory work because it sets the randomMapSeed as soon as StartOfRound.Start() is called, which would then be synced down to joining clients
i see
i tried doing that and it didnt seem to work right
but i might be misremembering
to be fair
@broken crescent looks like the latest update broke AllowLookDownMore
Yeah @broken crescent Looking down more isn't working
bleh I see it, thanks. I refactored every transpiler I had and I accidentally look for an int value instead of a float now. Will fix
Ok I have it fixed locally. I'll wait until tomorrow to deploy though in case I broke anything else
@narrow oriole this could be mine, or yours, or something else altogether but it might be worth letting you know
https://github.com/Shaosil/LethalCompanyMods-GeneralImprovements/issues/158
I'd have to guess it's a conflict between GI's latest update and another mod, but they'll need to provide a full log since this error is normally caused by something else causing hooks at game start to fail
iirc, that black screen can happen in the current version of OpenBodyCams due to the static init failing, but it's just an illegal game state that I didn't think to handle
should have a fix for that part, but there's probably another issue here
The scream isn't working?
screen,sorry
Should I need to make any changes to the config?
try use OpenBodyCams instead of Helmet_Camera
thanks,bro
are you using a fresh save? looks like this might just be a corrupted save
Exactly,I tried the new save,it works!
this would be good
but,it's a pity that the old one just be threw away

๐
I have the same issue, but making a new save didn't fix anything for me. It happen with ShipWindow too
Latest update of the mod causes items to not be saved at all:
Config:
No, changing these values doesn't fix the issue
I can confirm it, downgrading fixed the problem.
Actually nearly nothing works in the new version, like destroying keys or looking down fully
Removing large portions of code always come up with new issues 
๐ฑ I always test things like that don't happen and I have no errors on my end.
Hmm, do any of you guys use LLL, and if so, can you test if there was a new update to it? Just a random thought.
I'm not actually sure why the transpiler refactor would cause issues like that, technically it should be doing the same thing as before, it just finds where to do it more reliably ๐ค
I do know looking down is broke though, that will be fixed in the next update
I tried with only GI and LethalConfig, it's broken too
What broke for you exactly (apart from looking down)?
I have yet to play the new GI
Wait is there anything new?
Bugs!
Oh shit
I mean
What version is the stable one?
Allegedly
Can I use the classic "works on my machine"? ๐ Dang it
Thunderstore needs a beta channel
I love it when they say that
But most times Iโve discovered
Is something breaks on configuration changes
When โit works on my machineโ
Yeah usually it's something I missed and doesn't have an error, or another mod is clashing that I don't use, or like you said, specific config combinations have something wrong
I the chief bug hunter will look at this in 9 hours when I get home
I am trying different options right now. For now:
- objects are not saved/recovered when loading a save
lb to kgkeys have infinite uses
All with a totally clean profile + LC + GI + clean save
Huh I know lb to kg and infinite keys worked for sure when I tested it, did you restart the game after changing those config settings? It will need to be set at boot up so it transpiles the code as expected
The saves thing is another problem though, I'll try to figure out why that's happening
My bad yeah, it works with a complete restart of the game (except the saves)
Ok I'm able to replicate the loading bug - looking into that now
I think I have a fix - going to deploy a hotfix asap
This one's completely on me, I was using the wrong ES3.Load override in one of my transpilers. It compiled, but would always throw an exception when loading things. No idea how I missed it
was just about to ask why I couldn't look down further lol
In my rush I left a debug "error message" in the logs during startup that shows a method type - just ignore that for now
Next update will FINALLY work with LethalConfig, and without a dependency
:D
Ahem. I've just updated while still on the hype train and... this new error popped up? Maybe it's innocuous?
[Info : BepInEx] Loading [GeneralImprovements 1.2.3] [Info :GeneralImprovements] Loading assets... [Error :GeneralImprovements] UnityEngine.Vector3[] Load[Vector3[]](System.String, System.String, UnityEngine.Vector3[]) [Info :GeneralImprovements] GeneralImprovements v1.2.3 fully loaded.

