#Open Body Cams
1 messages ยท Page 6 of 1
Honestly I took the whole thing as a sign that I need to clean stuff up and removed like a dozen mods and ran the game for a bit
And I don't think anything bad happened
first step: checking the heavy bois
LethalFixes already fixes this
idk if it's true, but most mods that i played that tweaked masked behavior could cause lag too
also, why did you add Wesley moon by moon instead of the whole pack
you could add CleanerLogs and LessLogs too, also disable Unity Logs in BepInEx cfg if you're just going to play instead of testing
if you have baaaad internet speeds thunderstore kills the download before it finishes if filesize is too large
thats good to know
didn't know that, i normally use r2modman
It doesn't matter cause you're still downloading off thunderstore
never happened to me then 
probably good enough connection 
I'm only using the hide radar function of this one so I'd assume it's not doing anything
radar function?
alrighty, thanks for the heads up
general improvements has this option
why do you use LethalSettings & LethalConfig together?
don't they do the same thing

don't know what happened here
let me check other cfg then
is scoppy's variety mod even working on your modpack?
BetterMonitors from GeneralImprovements are kinda heavy too, if your pc is good then it's fine i guess
also doesn't need OrbitRecharge
didn't see anything big that could cause lag spikes (aside from the moons)
strange
is that gi?
yeah, General Improvements has a lot of features
aha, ic
could be some scary network issue or some stuff like that
AdditionalNetworking?
do the clients have a better pc than you?
its not a pc or performance issue, the game itself runs fine
but maybe GI doesn't have a good compatiblity with Terminal Formatter ๐ค
i do have the option to show planets after travelling but never appear on the moons catalogue
DiscJockey could also be the cause of some lag spikes i think?
It's more heavy to the host compared to the clients
enemies aren't so heavy compared to moons
(as you can see here)
it wouldnt really matter size wise if its something that breaks and spams logs to the point of the game pretty much dying
so idk
some of them i already checked, like ColorfulEnemyVarietyWIP, LethalThings, ScoopysVariety, LategameUpgrades, GiantSpecimens. They aren't performance* heavy as they look, so you can chill with them
Lategame Upgrades can cause some incompatibilities, but i don't think it would spam logs
you should take Imperium and go to some mod moons and spawn enemies or take a walk around while monitoring the FPS
you have Steam Overlay?
this option is very useful
yeah as i said before its not a performance issue, the game itself is running fine, its the moving objects that look like they teleport
F
@raven arrow https://cdn.discordapp.com/attachments/1094597789872304129/1232704772407300146/IMG_1214.mov?ex=666efb48&is=666da9c8&hm=1676b7c2ec4f58d7096f4618ca81746b951c1cc7e4f3ea7ac2513c2029263b05& is this similar to what youre experiencing?
i cant remember the exact fix, but it was a mix of vsync + gsync im pretty sure, try disabling vsync in game
it could be HAGS too i cant remember
oh shiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
thanks a lot for the tip!
the weirdest thing for me was recording with any software, OBS, discord screenshare removed it LMAO
its why i had to record with my phone hahaha, but yea i think it was an issue with vsync
๐ vsync moment
almost never saw a situation that vsync helped, why do that even exist
OrbitRecharge is actually better than the GI one imo
Lol, why? Isn't just a recharge
can confirm GI works just fine
Did I say GI has issues?
I said Mrov's mod imo is better, it goes the extra mile so to speak
Idk what you said you literally gave no context lol
does this mod conflict with general improvements? Notice that the bodycam doesnt show up
Do you have LethalLib?
ya
ohh okay
you can disable it on the cfg if you want
hey @vital steeple quick question as an API user. Having some issues with my mirror implementations using OpenBodyCams for the camera. I only see the "thisPlayerModelArms" of my playermodel and nothing else. I thought maybe I'd need to update the perspective to third person using the methods in OpenBodyCams.Utilities ViewPerspective class but they dont seem to be doing what I'd like. Am I missing a super obvious attribute or something like that?
hmm, how are you setting it up? I would expect that if you're telling it to attach the camera to a non-player, it would set the third person perspective on the local player autiomatically
let me try and screengrab what i'm working on with suitsTerminal
the published version in the latest version of terminal stuff has the same issue but is also a bit more complex with the regular bodycam being in the mix
the ViewPerspective class isn't intended to be used by users of BodyCamComponent, it's if you want to reimplement part of that component for yourself essentially
does the latest released version use a regular camera for the mirror?
I thought that was somewhat working previously
actually here, have a pastebin https://pastebin.com/LyuVwbbF
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
i took the viewperspective stuff out, but basically i was creating a fresh playermodelstate off the local player and then running the apply static method
if you're talking about terminalstuff, I just posted an update to get the mirror command to start using obc and noticed the issue while trying to port it over to suitsTerminal
huh.. so it works in TerminalStuff but not in suitsTerminal?
uh no
and this pastebin is from suitsTerminal?
both have the same issue where you only see the playermodel hands
for the mirror type camera
sorry for the confusion lol
and yeah the pastebin is from suitsTerminal
sent you that since it's the more up-to-date code im working with
hmm, that's odd
if you can send me a build where it's not working (probably just TerminalStuff since presumably that's all that's required) then I can reboot and look at it
sure yeah the latest version of terminalstuff on thunderstore is a good place for you to look
the code isnt that different
๐ hold on
I was thinking the issue might be because the camera is targeting the player regardless of it being synced to any specific map renderer in this line
whatever you set the target to after that should override it, so hopefully that's not the issue
ahhhh gotcha
this is the terminalstuff implementation, slightly different and you'll have to sift through the regular bodycam stuff https://github.com/darmuh/TerminalStuff/blob/3.1.0/DarmuhsTerminalCommands/Compatibility/OpenBodyCamsCompatibility.cs
theres also some unnecessary stuff in there that I planned on taking out once I was happy with my suitsTerminal update
I guess another minor bug I can report, but not sure if it's something on my end, is that running a terminal command would suddenly reset the camera position/transform back to a default bodycam
I noticed it in terminalstuff when having the mirror active and running the "randomsuit" command. And then again with my dev version of suitsTerminal when I would equip a suit in the menus
again, not sure if it's an OBC problem. Still t/s that one
what commands should I try?
oh wait you mentioned randomsuit sorry
doesn't seem to change the camera position here on the current release of terminalStuff though at least
oh thats good, it was something i noticed last night
one thing I'd be wary of is putting two of the same component on an object
I haven't really designed it with two adjacent BodyCamComponents in mind, so I'm not sure if there might be issues related to that
ahhh hadn't thought of that
also, this is what I'm seeing, is the arms showing up alongside the third person model what you were referring to?
my initial impression was that only the first person arms were there
odd, in my test profile i'm not getting that at all
as in you're not getting the third-person model?
ignore me
I was gonna ask you to check your config and found mine was using the wrong option 
ah, so it was the default cam that was doing it?
this is what decides whether to use OBC or my homebrew
yeah think so, double checking
the arms showing up is still an issue though
yeah this is with OBC

is the link you sent for the code the live version?
wonder if it's one of the dev mods
for terminalstuff yeah
let me try a fresh profile
testing with this fresh profile now
019051d0-2336-4190-d10f-8e98004bc955
yeah see myself fine now

the randomsuit thing still happened tho
might be an issue on my end for that one if it happens without OBC tho
yeah, I'd have to guess you're doing something weird with the camera but hard to say
i'm willing to bet it's the extra stuff i want to remove
are you keeping a reference to the OBC camera in the same field where you would store your homebrew mirror cam?
trying to figure out if there's anything that I'm missing here for your live impl, I'm not sure where you're attaching it to the terminal
im more concerned about the first person view models at this point
right, but it matters for that since I'm not seeing any code that sets the target yet
im like 80% certain the camera flipping is my own issue
it should be attaching to the terminal game object
where does it do that on the GitHub link?
note that calling CreateBodyCam doesn't set the target to what you pass to it, it creates the controller component there
I save a reference of the terminal instance on my plugin at the awake method
that doesn't set the body cam target, see above
oh i see what you mean now
you did it correctly in the snippet you sent from suitsTerminal
thats where this comes in, which is what I want to remove in favor of the suitsTerminal method
oh yeah you're still leaving the current player as the target and moving the camera, that won't work
it thinks it's in first person
yeppp
thats probably the issue
whats weird is I was getting it with the dev branch of suitsterminal too
the reason I still see the third person body is because the resolution of the mirror is low enough to where the engine thinks it should use LOD1 instead of LOD0 and that one doesn't get hidden based on perspective since it's not normally used in first person
so this is the code I can reproduce the model issue 019051d7-684d-812e-102e-b28cfc101053
i'm wondering if it has to do with one of the mods that replaces player models (i just downloaded a bunch for testing)
probably not if you're not using them?
and wait, is the suitsTerminal change live too?
hmm 
nah i wanted to fix this before pushing
well, if you didnt respond I was just gonna recommend not using the OBC camera for now 
hmm
im gonna test my dev branch of suits terminal against this code give me a sec
then don't I need you to send a build?
yeah I can send the WIP
there's some other stuff besides this I still need to fix up tho
doesnt have to do with the camera though
and I can toss this in with the live version of TerminalStuff I assume
I forget, how do I get the suitsTerminal-specific mirror?
you just run suits command
it should be good to go with terminalstuff, but for testing I usually start out with suitsTerminal by itself
oh, I thought it had a dependency on TerminalStuff
lemme try that, that's probably best
nah no dependency, trying to get all my mods to be dependency free
hold on, whatever i did in the latest dev branch broke the obc cam completely
oh god, the default key for toggle cam is the steam screenshot key
and it doesn't toggle the cam
sorry about that, i dont use that key
(seemingly)
yeah let me get a working version for you
one sec
oh yeah i think i know why it isnt working lol
terminalMirrorCam.SetTargetToTransform(suitsTerminal.Terminal.gameObject.transform);
This doesnt work
oh how so?
i added that while trying to fix the player model thing
i have another method that places the camera and attaches it to the terminal transform
the ideal thing to do would be to create an object that you position where you want the camera to be
this is the method that should do it, i pass the obc camera object to it
yeah I agree simpler would be better. I just remembered I added that line while testing trying to fix the player arms thing last night
let me double check the cam works again and i'll send you a new build
it makes sense to do some of that to set up the ortho mode, but a lot of that should be in the target object
also:
reflection probes are a different thing, I don't think you need/want to set that
fair enough, i think that was something else I was just kind of experimenting with
also I use the same method for my homebrew cam which is why I point the obc cam to that method rather than putting some of it in the obc creation method itself
here we go
gotcha
well it's fine to do it that way if you set the target correctly, but you have to make sure to do it every time the camera is recreated
yeah my plan for this was to delete the camera when I hide it. I figured this way im not hindering any performance when the camera is not in use
doesn't really hurt to have the camera exist but be disabled, but that's fine too yeah
im realizing now though that the camera is not being deleted like I thought it would be
wuh oh
targeting the wrong object to delete maybe?
ah, you're destroying the component, not the object
yeah
i'm guessing i need to do the opposite of this
get the camera and delete it
you can just delete Component.gameObject
of the monobehaviour?
oh wait
i think i see it
I just needed to modify it to Object.Destroy(TerminalMirrorCam.gameObject); right?
yeah
oh yeah, still seeing the weird issue where i press enter to select a suit and the camera position adopts my own pov
and this is with the profile that we just confirmed worked with terminalstuff
๐ต
maybe it's due to the multiple cams attached to the same object
it doesn't look like this build is calling SetTargetToTransform
nvm, still seing the issue on fresh load with one cam. And what's weird is pressing enter a second time fixes it
yeah i mentioned that was what caused the cam to not show up for some reason
it's very possible that the reason the camera moves is because of some hook I use to update targets when the map changes, although I wouldn't have expected it to affect one that doesn't have a synchronizer component
was it throwing an exception? that's not really optional
then what was happening? you never said
the camera just doesnt display anything to the render texture
im not sure why
that was the first build i sent you
commenting it out is what gets the camera to display on the texture again lol
my guess is I'm either calling the function too early or too late, since I am modifying the position with my own method too
hmmm
it looks like it doesn't like the target for some reason
it's blanking the display
if you hook up OnBlankedSet it would be called with true
gotcha, i'll play with it
you think that method will fix the first person hands issue?
it might be an issue on my side, I'll look into it too
setting the target will, yeah
or it should if everything else is working
gotcha, i figured it was something like that i needed to do on my end
oh, it is on my side
I wonder why I had it set up like this 
it'll only display output if its non-player target is a radar booster
oh LOL
probably just an oversight on my part, since that code path shouldn't be hit without API users
yeah i mean, its not something you'd think of without trying to use the camera in a unique way
had to be an api user to find it
im just glad to hear it's not the terminal transform being an issue
yeah it should be fine to use that, though I think you'd have a better time with that other issue if you create an object to attach to
gives you a place to put the component where it'll actually have a relevant name as well
yeah the hidden output was the issue, returning false instead fixes it
also, do you do anything more than fiddle with the near plane distance to prevent the terminal from showing up in the mirror? and if just that, does that mean that the hands get cut off?
I'm thinking it would be nice to add an event to let you override the models that are hidden for the current attachment target
at the moment that is all I do, especially when using your cams. With my homebrew my patchwork solution has been to literally hide the first person pov hands 
oh I don't mean the first person hands
like if you look down, the hands are gone
what I mean is that I would expect the terminal keyboard to show up on the mirror
yeah the regular player model hands do get cut off a bit, the nearplane i have was kind of the best i could do
or that the hands wouldb e cut off
ah
you could skip that with this feature when using OBC
if you provide an array of all the renderers that need to be hidden
im down for that, if you think it's possible
it's ez
would probably just need an example for usage
I do appreciate like usage examples in the documentation, like the one you have in your readme
yeah, I should honestly set up a wiki
i mean, my documentation for my mods could use some work too
its time consuming lol
definitely would appreciate it tho
the idea is basically:
bodyCam.GetRenderersToHide += originalRenderers => [ .. Terminal.GetComponentsInChildren<Renderer>() ];
(if it can infer the return type anyway)
sounds good, i'll look out for the feature when you have it ready ๐
im gonna go back to trying to make the menu in suitsTerminal less of a mess 
hmm, pressing backspace closes the suits menu, that's a bit annoying
trying to use UnityExplorer in the foreground doesn't work so well with that
if you have better ideas for default controls im all ears
definitely seemed like backspace made the most sense since i was using enter to select a suit
if i remember right you can also change that in the config
I suppose it does make sense, I just would've hoped that UnityExplorer would intercept it like it does for alphanumerics
not sure how it even does that, though, so 
yeah definitely annoying that unityexplorer still picks up input lol
just pushed the update that adds all that
the fixes and the event
hopefully it'll function as you need now
not sure if it's actually doing anything, but I implemented the new feature in my latest update
im guessing my implementation could use some work, let me know what you think when you can take a look ๐ https://github.com/darmuh/suitsTerminal/blob/dfd09fc9ba2a722313ca0c97874bb3133c55945f/Visual Stuff/OpenBodyCams.cs#L85
LMAO so funny issue
My friend with a model replacer has my cosmetics copied onto him
@vital steeple think this might be a conflict with TME and OBC?
XD
Yeah it was TooManyEmotes
@golden kindle you may wanna look into this XD
Log if it helps
found the part in your vod where it happened, no idea what could be causing that issue ๐ตโ๐ซ https://www.twitch.tv/videos/2182268777?t=0h10m47s
lunxara went live on Twitch. Catch up on their Lethal Company VOD now.
It was definitely TME
I think an interaction with TME and MRAPI or TME and OBC
TME worked for the longest time in this regard, though, right? did something change?
@compact niche on this line: https://github.com/darmuh/suitsTerminal/blob/dfd09fc9ba2a722313ca0c97874bb3133c55945f/Visual Stuff/OpenBodyCams.cs#L85
your function signature should match the delegate's signature, then you just add it to the event without calling it
in GetRenderersForOBC(Renderer original), the Renderer original parameter is unused, and shadowed by the lambda's original parameter
it should be private static Renderer[] GetRenderersForOBC(Renderer[] original), or just append that lambda directly to the event
also, did using the OnCameraCreated callback solve the issue with the camera teleporting? I suspect that it could still happen
it did not, for whatever reason when changing suits the camera position would get transformed to some odd position no matter what transform I assigned it. So I put together a hotfix as seen here -> https://github.com/darmuh/suitsTerminal/blob/dfd09fc9ba2a722313ca0c97874bb3133c55945f/Terminal Stuff/AdvancedMenu.cs#L394
basically from the user perspective the camera flickers when choosing a suit and then resets position to the default starting position (not changing the zoom level)
I figured I was doing it wrong, sorry about that. So just to clarify, the method I create should have a parameter but not be used?
TME has always had the cosmetic duplicating bug but it was only while emoting
yeah, if you're not appending to the array it can be unused
Today it happened regardless lol
as in when you emoted it would display someone else's cosmetics?
Yeah usually if someone was wearing no cosmetics they would show up while I was emoting, I think they were always being duplicated though just hidden
and when SuitsTerminal updated today the duplication being hidden just stopped being hidden while not emoting lol
It's a longstanding issue that @golden kindle has needed to fix, I think this just gives more reason for him to finally fix it
yeah so making my method with this format gives me issues. lambdas and delegates confuse me unfortunately ๐
if you could explain how I can append the lambda directly to the event without visual studio throwing me errors I can try that lol
ok nvm im dumb, i fixed 2/3 of those errors
only issue I still have is the lambda at line 98
the function is an alternative for the lambda, they both can be converted to the delegate
you're returning a lambda from your function that returns an array
you want to do either a lambda passed directly to the OnRenderersToHideChanged event, or a function reference passed there instead, not both
I had this working in one of my previous updates, and I could not reproduce it no matter how hard I tried lol. I'm not really sure why the issue comes up again when other mods apply the patch, at least that's what I think is causing it for you guys?
I definitely do not have as much time as I used to. I'm currently prioritizing game breaking bugs, but I honestly want to look into this when I'm not so busy with work ๐ฆ
Yeah I don't think it's your fault necessarily, you said you fixed it on your end I think it's breaking due to a compat issue with OpenBodyCams or ModelReplacementAPI
You can probably find the issue with MRAPI, OBC, and SuitsTerminal
I got a lot of respect for you and I know you'll fix it when you can
^^
oh with regard to this part, you would do exactly what I said here, but change GetRenderersToHide to OnRenderersToHideChanged: #1199570032196333648 message
also, it's worth noting that the terminal's keyboard is not a child of the terminal script's object, so you would have to get that separately
you can find it with UnityExplorer, it's in the parent of the terminal script
Terminal.003 iirc
might set up an array to include this
@vital steeple Any plans to add the fox to PathfindingLagFix? I notice it seems to cause lag when moving around quite a bit and it likes to throw errors
what kind of errors? and I haven't noticed that lag yet, but if it's the same sort of issue then it's likely I will
[05:29:59.8024448] [Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
BushWolfEnemy.Update () (at <5d9e37d270a145d8b8da189629d118bc>:IL_007bf)
it spams this
if it's happening in Update(), then it's likely zeekers will fix that soon enough
I don't intend to fix bugs before the beta is over
as far as the lag, if it's the same thing, then it's been a long-standing issue and is unlikely to be fixed, so that's different
Ye
if you have an idea of when this lag occurs, though, that would be helpful
there are a number of places where it was possible for choosing a path to take longer than the frame budget for previous enemies, but in practice there were only a few culprits
It was when it was just moving around, I saw it moving around on Summit and it was lagging like it was having pathing trouble
Possible
@vital steeple Is it possible you could implement a fix somehow for the External Cam Monitor and Internal Cam Monitors duplicating the main display when setting the External and Internal cams as disabled with Lethal Pipe Removal? Sometimes it's like OBC kicks in properly and fixes it but 99.9% of the time the Main display gets duplicated
When it works properly it looks like this XD
Yeah it'll duplicate everything
Routing
Map
Lol
does Lethal Pipe Removal duplicate it by default when no other mods are included?
It might
because OBC only cares about what's on that right monitor, so it seems very strange for it to do that
it may be caused by inconsistent execution order of patches, but it's hard to say
That would make the most sense tbh
Had the same problem, i remember sending a print in Ship Windows thread once
if they wanted to disable the screens, though, I would tend to say they should use the screen off material instead of copying the material from the map screen
but @dense dune if you make a GitHub issue for this, it'll help remind me to take a look, I haven't been actively modding for a bit
I'm gonna report it on the LPR Github and suggest they use the screen off material for them
except making a mod for my friends to make the ||cruiser steering recenter gradually||
I think 1A3 just implemented that to be possible with ||BetterVehicleControls' new update that released earlier||
if you report it there, I would recommend they look into using Harmony patch priorities to make execution consistent
I use my mod GUID as the patch identifier, so they can put that in the annotations
Also, quick question, why/how does OBC uses volumetric material even through i tried to disable it on HDLC 
I could link you the report so you can add your recommendations to it c;
I just use the gameplay camera's settings, I'm not sure what you mean
I have a low end pc that can't handle volumetric material and keeps spamming on the console and lagging my game when the game renders it, HDLC has some magic that allows me to disable all volumetric material by disabling the fog, but for some reason the OBC keeps spamming "hardware not supported for volumetric materials" on the console when i'm looking to the big monitor on the ship
It doesn't spam when i'm looking away or out of the ship
And i thought it was weird, idk why it does that
So i keep the camera disabled on my side and enabled on my friends side
I'd have to check what they do with the camera settings specifically, but I think if they run their patches before I create the OBC camera, then it should work
you're talking about https://thunderstore.io/c/lethal-company/p/Sligili/HDLethalCompany/?
which setting specifically fixes your problem for the gameplay camera?
wait how do you mean? what's dumb?
and now i was going to get the error in the console and give you
but it isn't happening...
but i didn't add many mods this week, there's only one mod that i added that "fixes" things...
Yeah that fixes Transpilers having inconsistent behavior, it's gonna be a dependency for Lethal Performance tomorrow
well, it indeed fixed something i didn't expect XD
or maybe i'm dumb and the problem still exists but my console decided to not cooperate with me today
Yeah I think on top of fixing Harmony issues it also updates the version of Harmony to BepInEx 5.4.22's I believe it uses that as a base so there's some benefits there as well even though 5.4.22 was a minor update
well, as far as the disabling of the volumetrics, OpenBodyCams is set up to copy the relevant settings from the gameplay camera, so it definitely should be working. It even seems like HDLC does it before my code runs, so I don't know why it wouldn't work
@vital steeple Just out of curiousity which of these sounds the best to you? I almost wonder if Inactive would be better than Renderer
I would tend to say inactive, but it may depend on the object
tbh I think it would be nice if this option didn't exist and it just did one configuration that works for what people need, but barring that, inactive is what I would choose if I were you
๐
@vital steeple Had this get logged earlier when the Terminal broke
Idk why OBC is touching the Terminal anyways I don't have PIP enabled
it prefixes the terminal methods regardless, but it's not supposed to do anything if the option isn't enabled
do you have a profile code? and what are you typing in?
It just randomly broke once when I tried to get on the terminal
I got off and it couldn't be interacted with anymore
Haven't been able to repro it though

I don't really see how it's possible for this to occur unless you changed the options in-game
obviously it is, but I don't know if some other mod is screwing something up
oh wait
lmao I think I have a pretty good guess what's causing this
or at least the symptom
I think someone is calling LoadNewNode(null)
which judging by that stack trace, is TerminalStuff
I'll put out a quick patch to handle this case, but I feel like other mods might make the same assumption that the node is not null
Yeah I guess we'll see
when a player is revived with BunkbedRevive their bodycam is disabled for the rest of the round
I've reported this here, and in the BunkbedRevive post
hey Zaggy
TwoRadarMaps and TeleportDecline doesn't work together
just leaving the note here so i don't forget

Strange I have them together and they work out
I was wondering if the tp command might've been causing it but it isn't
Idk which mods are causing, i just disabled TRM and it worked ๐
My case was disabling ButteryFixes and it worked, it's just strange that standalone ButteryFixes doesn't have a problem with it
Cause I started off with any mods in my pack that does affect the teleporter, which in my case was GeneralImprovements and TwoRadarMaps
Neither of which caused it for me as I incrementally re-added back mods
how so exactly? declining doesn't function when TwoRadarMaps is present?
not exactly, i misinterpreted, it seems that is more than 2 mods conflicting, as Violet stated with ButteryFixes, TwoRadarMaps and TeleportDecline
right, but what exactly happens and how can I reproduce it?
Get Teleported with TeleportDecline installed. There will be no popup and hold H doesn't do anything
I also noticed this issue in my pack, but I have no idea the cause (I haven't tried to narrow it down yet)
as long as it's confirmed that those three mods together are all it takes to repro, I could take a look later
I found it, the issue is involved with 4 mods, not 3 in my case
In my case it's when you mix GeneralImprovements, TwoRadarMap, ButteryFixes, and TeleportDecline
Disabling any of the 3 that isn't TeleportDecline makes it work again
i didn't have GeneralImprovements, but i have many others in my modpack
so it's possible that another mod may cause it too
I'll get logs compiled and stuff like that but here's the most barebones mod list I was able to conjure up to reproduce this issue:
(It's safe to edit configs for stuff like TwoRadarMaps's tp command & disabling one of the two FireExitFixes)
BepInEx-BepInExPack-5.4.2100
ShaosilGaming-GeneralImprovements-1.3.6
ButteryStancakes-ButteryFixes-1.6.0
Zaggy1024-TwoRadarMaps-1.4.1
Rune580-LethalCompany_InputUtils-0.7.7
MasterAli2-TeleportDecline-0.1.0
whatโs the difference between this mod and helmet cameras?
this one is supported and compatible
Hm but you do have ButteryFixes in the pack by any chance?
the other was updated 8 moths ago, so it may not work as intended or conflict with newer mods
TwoRadarMap, ButteryFixes, and TeleportDecline was on my modpack
i removed TeleportDecline for other reasons
Gotcha
Gotcha, thanks
mainly because it desynced sometimes the radar, made the items drops even through the player didn't teleport and the player was immune to maskeds
Oof, even with those issues I'm ok with shouldering that since well...
Let's just say the other person that commonly mans the terminal has had a fair few times of erroneously TPing someone that was perfectly fine in the scenario
well
i've had some problems with TPing when didn't need, but it was mainly because of lack of communication
so i'm fine with disabling that mod
Any one looking for a modder
Don't think this is the right place to ask such a question lols
@vital steeple Okay so apologies for a ping out of nowhere but I've bumped into some rather complicated issue involving your mod.
There appears to be an incompatibility with the TeleportDecline mod that shows up when multiple mods are mixed together, in my case it's with ButteryFixes, TwoRadarMaps, and GeneralImprovements. The incompatibility causes TeleportDecline to no longer work. The fix seems to be just disabling one of the 3 mods I listed above that are mixed together.
I did these steps:
- Boot up the game and select a save
- Obtain a teleporter and interact with it (either via the button or if applicable, TwoRadarMaps's "tp" command is fine)
- See if a popup occurs that tells you to hit H to decline the teleport
I'll have multiple subsequent posts include logs that showcase this issue and label them accordingly, but here's the list of mods that I had for the profile when I tested:
BepInEx-BepInExPack-5.4.2100
ShaosilGaming-GeneralImprovements-1.3.6
ButteryStancakes-ButteryFixes-1.6.0
Zaggy1024-TwoRadarMaps-1.4.1
Rune580-LethalCompany_InputUtils-0.7.7
MasterAli2-TeleportDecline-0.1.0
Config edits doesn't seem to influence the outcome of this issue
just to confirm, you are sure you've tested with the button, not using the tp command, and it exhibited the issue the same?
Here's logs #1, this one has all 3 of ButteryFixes, GeneralImprovements, and TwoRadarMaps active:
Both exhibited the same issue as shown in the footage
Logs #2 + video. This one is with a mod disabled (in this case, GeneralImprovements):
And here's logs #3 + video, this one is with TwoRadarMaps disabled:
But yeah, as you can see I tested with both the button and the "tp" command
I'm gonna spend a bit to forward the info over to Buttery and Shaosil as well
Actually, would it just be easier to ping them here as well? . < .
Speaking of which here's log #4 + video, this one is without ButteryFixes:
@vital steeple Looks like a Bracken didn't wanna behave lol
that error should be harmless, but I just put out a patch to fix it
thank you
i was burning out my brain juice and u saved me
this bug is bizarre, I have no idea why but the beamUpPlayer prefix in TeleportDecline appears to never get called with all three mods
if ButteryFixes' GitHub is up to date, it doesn't even patch ShipTeleporter, so I have no clue why removing that mod would make things start functioning

also, TwoRadarMaps doesn't patch beamUpPlayer, GeneralImprovements is the only one that does
I'm wondering if this is a BepInEx bug, but updating it to the latest from GitHub didn't do anything
@crude parrot @meager shore not sure if Violet sent this to you yet, but I would welcome your input on #1199570032196333648 message
I'm a bit lost as to what could be causing this at the moment, and given that TeleportDecline's prefix isn't called I'm not sure where to go from here
I do kind of wonder if all our patches are taking effect other than that one
the only patch i have for the teleporter is this
You've confirmed disabling one of the other 3 mods also allows the decline popup to show?
That's bizarre
yeah, disabling any one mod makes it work
did you mean to post a link or something?
oh i had to open my project file and i completely forgot woopsy
oh I see lol
yeah, I thought you must not, since it doesn't show up searching on GitHub
[HarmonyPatch(typeof(DeadBodyInfo), nameof(DeadBodyInfo.SetRagdollPositionSafely))]
[HarmonyPostfix]
static void PostSetRagdollPositionSafely(DeadBodyInfo __instance, Vector3 newPosition)
{
if (__instance.grabBodyObject != null && StartOfRound.Instance.shipInnerRoomBounds.bounds.Contains(newPosition))
{
if (!__instance.grabBodyObject.isInElevator && !__instance.grabBodyObject.isInShipRoom)
StartOfRound.Instance.currentShipItemCount++;
__instance.grabBodyObject.isInElevator = true;
__instance.grabBodyObject.isInShipRoom = true;
RoundManager.Instance.CollectNewScrapForThisRound(__instance.grabBodyObject);
}
}
setragdollpositionsafely is called when you warp a body into the ship
so this just collects bodies when you teleport them
gotcha
I think that is called from within beamUpPlayer, so it shouldn't be relevant
then again, nothing in TwoRadarMaps seems like it should be either, so no clue what's gone wrong
looks like the GeneralImprovements beamUpPlayer transpiler applies correctly, and the TwoRadarMaps RPC transpilers also
@fallow anchor I think it would be good for you to bring this issue up with the TeleportDecline dev to see if they can find a workaround, I'm not sure what sort of interaction is causing it but reworking the patch to ShipTeleporter may help
beamUpPlayer() is an iterator method, so if I had to guess, using an enumerator transpiler like GeneralImprovements does might help, though obviously that's a bit trickier to accomplish
hopefully the author knows how enumerator methods work, or can figure it out using ILSpy with its "Decompile enumerators (yield return)" option disabled
essentially the idea is they would want to find the instruction that this switch statement jumps to in the IL code when <>1__state is 0:
then they can insert their code there, and hopefully BepInEx won't disappear it that way
https://github.com/BepInEx/HarmonyX/issues/55
it may be caused by this issue, but then the only mod that should actually be causing it to happen in GeneralImprovements, and I'm not sure why the combination of the three seems to be required
Will do, I'll get on it in just a moment as I'm working on smth rq
Ok sent the info over to Ali (dev of TeleportDecline), linked the discussion from today regarding the issue to them as well
And funny enough, GI is fixing that issue so that's even stranger
The only explanation is either the patch dosent patch or the if statment at the start of the patch dosent get triggered
I havent looked at the sources of the other mods yet
So the mods conflict resulting the change of target player or local player instance
I did see 2 maps did patch the press button server rpc might be that
I dont have access to my pc but the possibilities are the following
- Target player or localplayer gets changed
- The patch dosent apply due to bug with harmony
- The patched command dosent get executed
Mostlikly the number 3
I dont have access to my pc rn so i cant do much but il try.
If you guys have time create a mod that transpiles beamup (without it doing anything) to see if its a problem with harmony
oh, I thought the issue you were fixing was related to try/finally
the patch doesn't patch, as far as I can tell
I used UnityExplorer to hook into your hook method and it was never called
not a bad idea, I can try to do that later hopefully
Biggest concern shuld be why when these 3 mods are together they create a problem
Maybe? Lol I saw #55 and it looked like a familiar number ๐
is this a valid transpiler?
[HarmonyPatch(typeof(ShipTeleporter), "beamUpPlayer")]
[HarmonyTranspiler]
static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
{
return instructions;
}
i tried it and the mod works correctly
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using System.Collections.Generic;
namespace TestTrans
{
[BepInPlugin(MyPluginInfo.PLUGIN_GUID, MyPluginInfo.PLUGIN_NAME, MyPluginInfo.PLUGIN_VERSION)]
public class TestTrans : BaseUnityPlugin
{
public static TestTrans Instance { get; private set; } = null!;
internal new static ManualLogSource Logger { get; private set; } = null!;
internal static Harmony? Harmony { get; set; }
private void Awake()
{
Logger = base.Logger;
Instance = this;
Patch();
Logger.LogInfo($"{MyPluginInfo.PLUGIN_GUID} v{MyPluginInfo.PLUGIN_VERSION} has loaded!");
}
internal static void Patch()
{
Harmony ??= new Harmony(MyPluginInfo.PLUGIN_GUID);
Logger.LogDebug("Patching...");
Harmony.CreateAndPatchAll(typeof(TestTrans));
Logger.LogDebug("Finished patching!");
}
[HarmonyTranspiler]
[HarmonyPatch(typeof(ShipTeleporter), nameof(ShipTeleporter.beamUpPlayer))]
public static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
{
return instructions;
}
}
}
i could try to mke beamUpplayer use a transpiler rather than a prefix
๐ค
don't forget to add the MethodType.Enumerator parameter for the HarmonyPatch annotation
without that, as I understand it, the transpiler will cause no issues
Transpiler didnt work i will try the prefix with prority
to reproduce the issue, or to implement your patch in TeleportDecline?
Im proritising the perfix to try and fix the issue
I'll be interested to see if that works, you should try lowest and highest both to see if either helps
I have a feeling that it won't matter though
the enumerator transpiler definitely should work
hmmm, looks like using an enumerator transpiler alongside TeleportDecline doesn't actually break it in and of itself
very weird
[HarmonyPatch(typeof(ShipTeleporter), "beamUpPlayer")]
[HarmonyPrefix]
[HarmonyPriority(6942069)]
static void beamUpPlayerPrefix(ShipTeleporter __instance)
{
if (StartOfRound.Instance.mapScreen.targetedPlayer == StartOfRound.Instance.localPlayerController && !StartOfRound.Instance.localPlayerController.isPlayerDead)
{
string[] keys = TeleportDeclineInputClass.instance.DeclineKey.GetBindingDisplayString().Split("|");
HUDManager.Instance.DisplayTip("Teleporting!", "Press " + keys[0] + "to stop teleport");
TeleportDeclineBase.instance.isTeleporting = true;
}
}
this dosent work
dosent work with 0 priority
dosent even work with postfix.
I blame harmonyX
[HarmonyPatch(typeof(ShipTeleporter), "beamUpPlayer", MethodType.Enumerator)]
[HarmonyPrefix]
static void beamUpPlayerPrefix(ShipTeleporter __instance)
{
if (!TeleportDeclineBase.instance.isTeleporting && StartOfRound.Instance.mapScreen.targetedPlayer == StartOfRound.Instance.localPlayerController && !StartOfRound.Instance.localPlayerController.isPlayerDead)
{
string[] keys = TeleportDeclineInputClass.instance.DeclineKey.GetBindingDisplayString().Split("|");
HUDManager.Instance.DisplayTip("Teleporting!", "Press " + keys[0] + "to stop teleport");
TeleportDeclineBase.instance.isTeleporting = true;
}
}
Try this
do i add proprity?
congrats
it worked
๐
try it
cannot test it
github desktop refuses to open i cant update the mod
note that that version will execute at the start of the enumerator method and after every yield return, so you may want to do something to prevent it spamming several tip popups and/or getting stuck with the teleporting flag true
that's why I suggested using a transpiler for this
the key there is the MethodType parameter
if you open ILSpy and disable decompiling enumerator methods, you can see what the method is actually doing
thats not happening, it seems thats theres only 1 popup
that may be because it doesn't allow multiple tip popups to be queued
point isn't that the multiple tip popups would necessarily be a problem, but I don't know that the tracking of whether someone is teleporting is going to be accurate with that
up to you, though
i mean by the time that the first popup finished the corountine finished so it can only break with a game update, but it may not be the best thing for performance
@meager pagoda re #1200144261333659729 message:
do you have a profile code and steps I can use to try to reproduce the issue? I assume it requires two players at least, but if you know whether it will happen consistently if I do something particular, that should help greatly
I wouldn't tend to expect it to be able to teleport two players at once unless another mod is messing with the ship teleporters
could it perhaps be related to #1180739684654121091 message?
I'm pretty sure it is related. As I mentioned, I was using darmuh's Terminal Stuff's cams while teleporting. I switched up the commands and it seems that darmuh has a built-in compatibility on his end, although that has uncovered another issue with LC_Vega's teleport command as it desyncs the monitor and sometimes leads to the monitor to become unresponsive, specifically while using all 3 mods at once, haven't tried mixing it up yet
hmm, well keep me posted if there's anything I may need to do on my end
it does sound like the issues lie with those mods from what I can infer
oh interesting
PathfindingLagFix threw a fit
do we have a diff yet?
well I'll try to take a look at that tomorrow
Yeah I suppose for now it's best to disable PathfindingLagFix
Looks like it just dies
Oh shit
Looks like PathfindingLagFix is able to be deprecated
eeenteresting
that would be cool
I hope it's the blanket fix that I wish I could make instead of targeted at those specific AI
Me too
so do u know if that lag fix is needed or not now?
not yet, just don't use it for now
#modding-general message
this is what albino said about it
so maybe pathfinding is no longer needed, but centipede is
looks like the fix for pathfinding lag is... only kinda complete
I was hoping zeekers just turned all of the methods that do multiple pathfinds into enumerators, or at least used the new functionality for all of them, but it looks like that's not the case
I'm not sure this is a BodyCam issue or what, but with BodyCam enabled we are getting the "An error occurred" trying to join eachother. Disabling BodyCams solves the issue and I went thru all our mods 1 by 1 to narrow it down. The only error message in console is a connection rejected message. If you need the exact text I can get it for you.
is this with v60?
v61
ah, sure
well, logs from both host and client would possibly be helpful, but I haven't gotten to testing it yet
so centipede lag fix instead?
oh alright. so youll like update urs or something
oh lol
ok cool
for the initial update, I think I'll have it continue using my original patch for the snare flea, but hopefully I can also make it work with the new system without too much work
ah damn, nope, I can't make it work with the new system lol
zeekers didn't make it work with the offset parameter to make snare fleas go an arbitrary distance from the main entrance
unfortunate
oh boy, looks like there's gonna be a bit of null reference spam in vanilla if a Bracken's pathfinding operation takes too long never mind, that's old code
try clearing your mod manager cache and reinstalling the mod. my friends were able to get into a game on v60 fine with OBC. unless v61 broke something which i kinda doubt
PathfindingLagFix update is going out now
new icon just dropped, since the bracken changes were no longer relevant:
https://gcdn.thunderstore.io/live/repository/icons/Zaggy1024-PathfindingLagFix-1.3.1.png
woop
has anyone noticed any issues with TwoRadarMaps yet since the update?
just tested OpenBodyCams on LAN, everything seemed fine. Did you have it working before v60? Got any logs or a mod list I can work off of?
Sorry, I haven't had a chance to reinstall OBC and play yet. We got done playing v56 an hour or so before the v60 update and OBC was working. It had been working for a week. After the v60/61 update we started getting the "an error occurred" message when trying to join eachother. Removing OBC from the modlist allowed us to play again.
We are unable to recreate the issue with OBC. The working theory is that another mod updated and caused a funky interaction. Now that more mods have updated, and we have no surviving log files from the issue, it is likely that this issue is undiagnosable. I'm sorry for wasting your time.
no worries, glad to hear that it's resolved itself
things are undoubtedly going to be in flux for a bit with such a significant update
Glad to say OBC have been working great for us. Only issues we get are when SCP Plague Doctor kills someone their Cams go green, others are fine though. Once alive you their OBC works again. Not a major concern. Just gives away there's a Plague Doctor running around tbh
hmm, what does the plague doctor do to players when it kills them? and could you link the mod?
#1243808011223437324
idk what it does code wise but i think you could compare it to masked in a sense
It turns the player into a zombie enemy. It's different from mimics.
Can't teleport them either like with mimics.
Looks like the issue is mostly on that mod's side, I'm assuming that the radar doesn't follow these zombies any more than the body cam does?
Wasn't anything I was entirely concerned with. It fixes its self after going back into orbit.
I launched bodycam after a long time, and the camera did not turn on :ั
default settings @vital steeple
I havenโt gotten to GeneralImprovements yet, Iโm afraid I might ruin everything there ๐
probably because you have LethalLib installed, if you upgrade an existing install it would show a tip telling you about it becoming a ship upgrade
if you buy the body cam in the store, it'll show
I had been suggested to add some text to the screen that notifies people they can buy body cams, but I forgor about it
I'd been in maintenance mode for a while
Is there a setting in the config to make it active right away?
just replaced the screen on the right with bodycam
not sure if anyone has noticed it yet, but during some testing on Grand Armory, I noticed that I get a lag spike with the bracken still, which is due to me removing the PathfindingLagFix patch for pathing away from the main entrance
my mistake on that one, I forgot there were two patches for the bracken, so I'll have to bring that back real quick
it'd be nice if I could use the new async system for this too, but unfortunately it's not really designed in a way that allows me to just patch it in easily
it's extremely statey
it would've been so nice if zeekers had just gone the full mile and made every caller of ChooseFarthestNodeFromPosition use it async...... I'm so sad
PathfindingLagFix 1.4.0 is up now with the fix for that lag reintroduced
do i just ignore this? idk what this mean
System.IO.FileNotFoundException: Could not find file "D:\Gale\lethal-company\profiles\SoLethalEssence\BepInEx\plugins\Zaggy1024-OpenBodyCams\openbodycams"
File name: 'D:\Gale\lethal-company\profiles\SoLethalEssence\BepInEx\plugins\Zaggy1024-OpenBodyCams\openbodycams'
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0019e] in <787acc3c9a4c471ba7d971300105af24>:IL_019E
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options) [0x00000] in <787acc3c9a4c471ba7d971300105af24>:IL_0000
at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions)
at BepInExFasterLoadAssetBundles.Patcher.LoadAssetBundleFromFileFast (System.String& path) [0x0000b] in ./Patcher.cs:81
[11:38:36.7990475] [Error :OpenBodyCams] Failed to load the asset bundle, some features may be missing.```
ohh maybe I should go to Diffoz thread
might be a Gale issue honestly, idk
it's looking at the right path for the bundle, I believe
maybe it doesn't like that it's got no extension (iirc)
Hey @vital steeple do you know of anyway to produce a better image on the monitor? I normally use RemoveCameraFilter mod, but would rather find a different way to make it look nicer without that mod. I've seen people with it displaying a very clear image.
for OpenBodyCams, you can change the emission color to gray or black
Looks like me and Shaosil stumbled upon a solution to the volumetric light flickering that would happen on the body cams when they are framerate-limited
it caused about a 4% regression in performance with the body cam capped at 70fps on my machine, but I'd say that's worth it given how distracting the flicker is
actually, the 4% regression is a lie, looks like it's an across the board improvement
fps limiting should now be a viable option to improve game framerates on the ship, it should scale as you would expect in the next update
@latent palm
oh what, that's sick
i just wanted a low framerate cap for immersion but better performance is a nice bonus
for example, I go from ~193 to ~224 by limiting the body cam to 100fps
holy, that's awesome
ah and I forgot to mention, the fps with a body cam framerate of 100 before setting this flag was was hanging around 198-205
so limiting the body cam to half framerate was already improving things a little bit, but this brings it up much higher
Version 2.3.0 is uploaded to Thunderstore:
- Reduced overhead when applying framerate limit to the body cam. There is no longer a downside to setting a framerate limit instead of letting the camera render every frame, and performance will scale as expected.
- Fixed light flickering that could occur on body cams when their framerate is limited.
- Added API functionality to track when body cams are created and destroyed.
- Added an API flag to body cams to determine whether they should be considered wirelessly connected to the ship.
That's fairly big, nice! For the longest time we assumed it was always better to let the game render instead
yeah, I figured the overhead of switching the camera off and on was something out of our control, and I also didn't expect it to be specific to HDRP
I'm glad it turned out to be so easy, seems like something that zeekers might want to know about considering that ManualCameraRenderer has unused functionality for limiting framerate
So @vital steeple What would you recommend to cap the framerate to now? Since I imagine capping it will reduce overhead compared to it always rendering
whatever works for you :^)
anything under 75% of your fps in the ship is probably going to improve your overall performance, but what you set it to entirely depends on how much performance your particular machine is losing due to the cameras and how much you want to gain back
Fair
what I would do to find out what kind of performance range you have to work with is set the fps limit to 1, then see what fps you get
can't get better performance than that, so if it's not a huge difference on your machine then you don't have much reason to change it
if it is significant, then you can choose a value somewhere between 1 and your ship fps
I only ever really notice performance dips in the ship if I use GI's Better Monitors above all else
So I'm looking forward to them being optimized lol
I'm not sure how much of a difference you'll notice, unless what you're talking about is stutters rather than overall fps reduction
Stutters yeah
It's been a long time coming, with lots of encouragement from Zaggy lol. I hope it'll be noticable at least
I've even tested it
I would expect the old version to cause jittery frame times rather than overall low fps
When I turn the monitors off it's smooth
gotcha then I think it'll be pretty significant
I'm sure it'll still have slightly variant fps but not nearly as bad as before
ah yeah
Tbf I could probably reduce most of the overhead I get from them atm by removing the Time Display and Door Power ones with the current Better Monitors implementation
I assume they affect it the most
At least for the time being til Shaosil updates it in a few days
I'm sure it will be, since you plan to make all the static monitors not update as often and you showed the graph of how much that helped lol
I think the monitors don't update if text doesn't change in the live version
maybe I'm misunderstanding you though
Well, some don't. But in the next update I'm making sure none ever do
btw just to let you know, the upcoming update for MoreCompany will break your compatibility for cosmetics (not sure when swipez is gonna release it tho)
The basic summary of changes are:
- Cosmetics are synced using named messages instead of chat so if you want a method to patch when a player's cosmetics are updated use
MoreCompany.CosmeticSyncPatch.UpdateCosmeticsForPlayer(https://github.com/notnotnotswipez/MoreCompany/blob/master/MoreCompany/ChatPatches.cs#L33) - Cosmetics can be updated mid-game (it'll still trigger the above method though)
gotcha, I'll look into this today, thanks
I have OpenBodyCams set to being a purchaseable upgrade for the ship, but for some reason it's not working. Using GI with BetterMonitors.
Also tested without BetterMonitors, still had the same result.
I'll check if I can reproduce this on my test profile in a bit, but I think it's possible I'll need a profile code
GI better monitors did change recently so it's possible someone broke, but besides that I'm pretty sure it was functional last time I ran my test profile with that enabled
Sure, here's the code I was using: ||0191bb13-4ad5-03d3-6173-97a20da6d1b4||
I've been noticing an odd desync happening. When a player dies clients can't see anything on the body cams only host can. Normally not a problem except for when someone is a Mimic cause then the clients will know for sure they are dead. Host still sees body cams of dead players though.
dying to a mimic is different than dying, which do you mean?
the dying to a mimic thing is a vanilla bug, if you check the radar map at the same time, it doesn't follow the mimic that is spawned either
Yeah clients don't see them on the radar either. Only me the host does.
It use to work though which is weird.
if it worked previously then that was probably some mod fixing the bug
iirc it might require some networking to do so, though, so I have never tried myself
maybe I'll take another look soon tm though
I'm assuming that by "not working" you meant that the body cams are enabled upon loading a save? I should've asked initially
You have to install LethalLib or you won't get the ship upgrade
Good to know, didn't realize that was a dependency for the ship upgrade.
yeah, I thought about implementing it without a dependency, but loading assets just gets very gross so I didn't bother
I forget how I wrote the readme, but it should be there somewhere
for some reason I'm getting ctd specifically when this mod is turned on
here's my log if you wanna see why that might be
@vital steeple Dropped item rotations finally got fixed natively
You can remove it from OBC
oh nice
logs don't tell me much when the game ctds unfortunately, you'd want to go to %temp%\ZeekersRBLX to grab your .dmp file
okey
tbf its not really ctd its more just nonresponsive have to quit
idk why i said ctd
could you send a profile code then?
it's possible the issue is related to a corrupted save though, I did just find a stack overflow that can happen if the save doesn't load correctly
I have the same issue
the bodycam is not apearing on the monitor
has it worked before recently? do you also have a profile code for me to reproduce this issue on?
well
my modpack has 205 mods
idc
I tested it with just the bodycam mod and it worked
so its a mod conflict
it might be GI
yes
do you have the ship upgrade enabled on your big profile?
if you have LethalLib and the ship upgrade is enabled, you won't see the bodycam until you buy it
then you're gonna have to give me a profile code, my internet will live
I can send you the modpack link
I'm the owner of it
a profile code is more convenient, but that's fine I suppose
as long as the configs will all be consistent
Just a heads up it does require the latest version of advance company if you comfortable with that. The download link is in the installation section on the modpack readme page.
And you do have to import it as a local mod
could you confirm that it happens without Advanced Company for me? I have no idea how to install it and don't really intend to learn
the modpack breaks without it
because some mods depend on it? can't those also be disabled?
its easy you just import it as a local mod
No its configured with it and there is a mod built in to not allow you to continue unless you install it.
I could send logs though
that may help
how long has OpenBodyCams been part of this pack? it's not clear to me if this is a recent issue
it was working a week ago
but recently I think another mod updated and broke it
@vital steeple
oh hm, you have DisableCameraOnSmallMonitor enabled? I wonder if the update changed the monitors
I hadn't checked that
did it start happening after installing v64?
I think
but it works alone
when I go out of the ship this also happens [23:09:19.6686434] [Error :UnityDebuggerAssistant]
--- Exception Handler ---
Exception Caught: System.NullReferenceException
Assembly: OpenBodyCams
Plugin Info
GUID: Zaggy1024.OpenBodyCams
NAME/VER: [email protected]
LOCATION: \plugins\Zaggy1024-OpenBodyCams\OpenBodyCams.dll
Message: Object reference not set to an instance of an object
Source: OpenBodyCams
--- Begin Frames ---
--FRAME 1:
In Assembly: OpenBodyCams
Target Method: PatchManualCameraRenderer.MeetsCameraEnabledConditionsPostfix
--FRAME 2:
In Assembly: LethalThings
Source: O:\github\LethalThings\LethalThings\MonoBehaviours\HandheldRadar.cs:38,13
Target Method: HandheldRadar.ManualCameraRenderer_Update
--- End Frames ---
--- End Exception Handler ---
[23:09:19.6701503] [Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
OpenBodyCams.Patches.PatchManualCameraRenderer.MeetsCameraEnabledConditionsPostfix (ManualCameraRenderer __instance, System.Boolean& __result, GameNetcodeStuff.PlayerControllerB player) (at <a6afc2be41264bdcb132fb8ad4911490>:IL_0057)
(wrapper dynamic-method) ManualCameraRenderer.DMDManualCameraRenderer::MeetsCameraEnabledConditions(ManualCameraRenderer,GameNetcodeStuff.PlayerControllerB)
(wrapper dynamic-method) ManualCameraRenderer.DMDManualCameraRenderer::Update(ManualCameraRenderer)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.TrampolineManualCameraRenderer::Update?-1216414742(ManualCameraRenderer)
LethalThings.MonoBehaviours.HandheldRadar.ManualCameraRenderer_Update (On.ManualCameraRenderer+orig_Update orig, ManualCameraRenderer self) (at O:/github/LethalThings/LethalThings/MonoBehaviours/HandheldRadar.cs:38)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.HookManualCameraRenderer::Update?-343362444(ManualCameraRenderer)
with the config copied over?
no
I did regenerate the config
in the big one
and it still did not work
hmm, curious
the only error I saw in there should have been avoided if DisableCameraOnSmallMonitor was disabled
what should I do
still trying to figure out what's causing it
if you have any idea what mods changed, then it would be helpful if you could try disabling some of htem
good lordy, this pack uses 17 gigabytes of RAM?
yeah
which version of the game are you running with this?
I'm seeing a whole lot of spam from CruiserImproved, so I don't think this pack is working too well
lots of exception spam that your logs don't seem to have
okay...
I'm pretty sure you didn't try resetting the config, because turning DisableCameraOnSmallMonitor off does fix this issue
your GI config tells it to replace the small monitor, but you're still having OpenBodyCams try to change it
I'll make it soft fail though so this doesn't happen again
newest
where in the config is this
I did delete the bodycam config and regenerate though
under the Ship section
the default is false, so if you regenerated the config, it definitely should not have stayed true
That mod broke with the newest update I believe.
indeed, it's just odd it wasn't in their logs
[22:17:36.3293725] [Error : Unity Log] NullReferenceException
Stack trace:
OpenBodyCams.Utilities.ViewPerspective.Restore (GameNetcodeStuff.PlayerControllerB player, OpenBodyCams.Utilities.PlayerModelState state) (at <7a1ca423a97e4df1b689b2449686ffad>:IL_0056)
OpenBodyCams.BodyCamComponent.ResetCameraRendering () (at <7a1ca423a97e4df1b689b2449686ffad>:IL_003F)
OpenBodyCams.BodyCamComponent.BeginAnyCameraRendering (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera camera) (at <7a1ca423a97e4df1b689b2449686ffad>:IL_0000)
UnityEngine.Rendering.RenderPipelineManager.BeginCameraRendering (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera camera) (at <e27997765c1848b09d8073e5d642717a>:IL_000A)
UnityEngine.Rendering.RenderPipeline.BeginCameraRendering (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera camera) (at <e27997765c1848b09d8073e5d642717a>:IL_0001)
UnityEngine.Rendering.HighDefinition.HDRenderPipeline.TryCull (UnityEngine.Camera camera, UnityEngine.Rendering.HighDefinition.HDCamera hdCamera, UnityEngine.Rendering.ScriptableRenderContext renderContext, UnityEngine.Rendering.HighDefinition.SkyManager skyManager, UnityEngine.Rendering.ScriptableCullingParameters cullingParams, UnityEngine.Rendering.HighDefinition.HDRenderPipelineAsset hdrp, UnityEngine.Rendering.HighDefinition.HDRenderPipeline+HDCullingResults& cullingResults) (at <b8abf62aeac646cea5c5cde032ff9314>:IL_005D)
UnityEngine.Rendering.HighDefinition.HDRenderPipeline.PrepareAndCullCamera (UnityEngine.Camera camera, UnityEngine.Experimental.Rendering.XRPass xrPass, System.Boolean cameraRequestedDynamicRes, System.Collections.Generic.List1[T] renderRequests, UnityEngine.Rendering.ScriptableRenderContext renderContext, UnityEngine.Rendering.HighDefinition.HDRenderPipeline+RenderRequest& renderRequest, UnityEngine.CubemapFace cubemapFace) (at <b8abf62aeac646cea5c5cde032ff9314>:IL_0104) UnityEngine.Rendering.HighDefinition.HDRenderPipeline.Render (UnityEngine.Rendering.ScriptableRenderContext renderContext, System.Collections.Generic.List1[T] cameras) (at <b8abf62aeac646cea5c5cde032ff9314>:IL_02B9)
UnityEngine.Rendering.RenderPipeline.InternalRender (UnityEngine.Rendering.ScriptableRenderContext context, System.Collections.Generic.List`1[T] cameras) (at <e27997765c1848b09d8073e5d642717a>:IL_001C)
UnityEngine.Rendering.RenderPipelineManager.DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset pipe, System.IntPtr loopPtr, UnityEngine.Object renderRequest) (at <e27997765c1848b09d8073e5d642717a>:IL_0046)
This is spamming and just froze my entire game.
with 2.3.1 I assume?
also, I'm guessing there was probably an error in ViewPerspective.Apply first, a full log would be helpful
ah, it's a cosmetics issue it looks like
are you able to reproduce the bug, and could you provide a profile code?
I can later. Also sorry im streaming right now.
Finally got this working after months of thinking about doing it and then like a week of fighting Unity 
what is that supposed 2b
currently it has a few states it displays, including the one above:
the text on the monitor to make it clear the reason the body cam is not visible
I had wanted to do this way back when SourceShard mentioned it, so that people don't get confused after installing OpenBodyCams alongside LethalLib, but it is incredibly difficult to add text to these monitors while supporting GeneralImprovements
oh thats neat
it would be vastly easier if HDRP supported rendering to transparent render textures with the r11g11b10 color format that LC uses
currently, this is limited to one flat color for all of the text unfortunately
i sometimes got the side eye recommending this cuz the default is must buy first lol
yeah, if I could go back and change the default I probably would
more like they think it doesnt work until i explained or when they actually read stuff in the store
the poll here had people saying they wanted the ship upgrade but it definitely was confusing to people
yeah
also works on GI small monitors
(I hadn't tested this until just now)
legibility not guaranteed
this may be a me-issue but I was wondering if you've received any reports of static cameras created from OBC having their view angles updated when the player goes to change their suit from the rack? I've noticed this with both mirror cameras in suitsTerminal and terminalstuff (which is why I think it could just be something I'm doing wrong on my end). It's just weird because I cant even tell what exactly is updating when the player equips a suit. The transform position/rotation were not changing from what I could tell trying to debug it from suitsTerminal.
hmm, that's curious, it definitely is possible for it to be a me issue
I haven't heard anything about that though, I don't know that many people are aware of the compatibility code you use
Yeah I only noticed messing with a profile tonight that it affects terminalstuff too
if you have steps to repro, I can try to find out what's goin on
yeah one sec i'll give you some steps
yeah it's basically guaranteed after switching suits
let me make sure it happens with as bare a profile as possible
ok yeah happens with a profile with the following modlist:
darmuh-darmuhsTerminalStuff
darmuh-OpenLib
BepInEx-BepInExPack
Zaggy1024-OpenBodyCams
x753-More_Suits
ManiaBania-1000_Quota_Stare```
was also able to confirm issue is present in a profile without moresuits after buying one of the vanilla ones
- Launch Game via profile with TerminalStuff & OpenBodyCams
- Host a lobby
- Move terminal next to suits rack (optional but helps you see it change on suit change)
- Type Mirror in terminal (default terminalstuff config should let you keep seeing mirror when you leave terminal)
- Equip suit from rack, mirror will now be offset to a new position/rotation
before/after
again, wouldn't be surprised if it is something wrong with my implementation but would appreciate some help in figuring out why it's happening lol
wait, is it looking at another player?
does your camera setup follow players or is it locked to the terminal?
It should be locked to the terminal
When I set itโs initial rotation I use the inverse of the playerโs. But after that it is childed to the terminals transform
And yeah itโs the same player in both screenshots I just switched from default suit to green suit
oh wait, maybe it's the angle of the terminal that's confusing me
I assume this isn't the default position
@compact niche I think you'd be better off creating a GameObject (can be a child of Terminal) and putting it in the position you want the camera to be, then setting that as the target of the body cam instead of the terminal itself
the issue here is that as soon as the target's status changes, it resets the transform to that target transform
since the local player changing suits requires the body cam to re-collect cosmetics, I take the lazy approach and trigger the SetTarget code again
for me to retain the transform, I'd have to store and then restore the local transform of the camera which is a bit screwy
perhaps I should add a callback to get a local position and quaternion for a target though...
it is kind of a shame to not allow overriding the position of the camera on radar boosters
gotcha, i'll give it a try at some point and let you know how it goes ๐ซก
think I should also move my OBC methods to OpenLib so it's standardized between suitsTerminal and Terminalstuff lol
the Bodycam displaying the state it's in is awesome, but it's very hard to read in the small monitor... althrough i doubt anyone uses OBC on the small monitors
That made me remember something, when the player enter a lobby the first thing it appears is "System Online", when the player dies it appears "Life Support: Offline", you could just use Online or Offline to indicate if the player is alive or dead
I haven't implemented state to indicate if they're alive in my current prototype, but I can definitely make it an option
given that the radar shows dead players as if they're alive, I don't really want to make it easy to tell on the body cam either by default
oh ok
oh, I forgot to reply to this, but I can definitely make the font size adjustable
The downside is that you'll likely get word wrap on all the default texts

finally got around to pushing this out:
Version 2.4.0
- Added an overlay that indicates the reason the body cam is not visible. The supported states are:
- The ship upgrade is enabled, but the body cam antenna has not been bought yet.
- The antenna is bought but stored, preventing body cams from being used.
- The body cam's target is invalid, e.g. when the targeted player has been eaten and has no corpse.
- The body cam is disabled due to its target being safe on the ship.
- Fixed the body cam not appearing when the GeneralImprovements option for extra monitors was enabled while the mesh it depends on is disabled.
- Disabled the body cam view when it is attached to a radar booster in a belt bag to avoid seeing the items stacked in the void.
- API changes:
- Added the static
BodyCam.MainBodyCamproperty to get the body cam displayed on the ship monitors. - Improved organization of the
BodyCamComponentmembers, moving API to the top and adding comments.
- Added the static
The font size should exactly match the moon description, and the font size will appear smaller when placed on the smaller monitors in GeneralImprovements, but with the option to adjust the font size, that should be fixable for those fiddling with configs
it also supports rich text in the config if that gives anyone any funky ideas
nice
Fairly minor little update, but it does change how the mod initializes upon creating/loading a save, so lemme know if you encounter any issues with that.
Version 2.4.1
- Hid the overlay when the body cam's screen is powered off.
- Added an option to set the text displayed when the body cam is rendering normally. This is currently independent of whether a player is living or dead.
- Switched initialization to use a different hook to (hopefully) avoid broken saves causing the body cam not to function.
What do you think about having the radar booster camera follow any creatures or players that it sees within a certain distance from it?
and maybe a way to control it with the terminal?
You reset the emissive color with this update
๐ฆ
Okay so it wasn't reset, it just seems like the external cam emissive color values are no longer applying
is it intended to be blank there?
I didn't change anything with the emissive though
Yeah cus I have the inside and external cameras disabled with LethalPipeRemoval, the emissive still applies though
Weird
You think it's the initialization change?
Cus the emissive definitely is no longer applying
oh wait, yeah probably
Even to the door monitor
lemme check into it
I was initially thinking of the body cam emissive which definitely shouldn't have been affected, but external cam emissive definitely could have
Yeah
@dense dune hum, looks like it's working in my test profile, could you profile code me?
0192136c-b468-b1d8-be47-175e99577bb9
Do you think it breaks if ship cam post processing is disabled with GI now?
Let me check
I wouldn't have expected so
I wouldn't either but even if I disable LPR it still isn't applying so it's strange lol
yeah LethalPipeRemoval shouldn't have done anything by this point afaik
2.4.1 broke terminal:
there's no stack trace there 
is that the BepInEx log? do you have something disabled in there?
interesting... hold on
Terminal broken for me as well but not the emissive thing
Your external cam emissive is applying?

yeah
I mean
Idk what would be messing with the emissive for me
lol
Maybe VoxxWeathers?
it's GI better monitors apparently
the camera's mesh is already replaced by the time I'm initializing
hopefully a quick fix
Hopefully you can fix the Terminal too
what is it doing to the terminal? you can't enter it?
Scrolling seems to be broken
is that with darmuhs?
Yeah I have Darmuh's and SuitsTerminal
oh yeah it's terminalformatter actually
(It's More Better Monitors)
wdym? it should occur as long as the monitors mesh is replaced, regardless of whether the extras are present
It only seems to be breaking when the extra ones are there
that seems very strange
I will check that
@dense dune is the external camera disabled in this profile?
Yeah in LPR's settings
gotcha, I was wondering why there was nothing happening on the screen
I believe I have fixed it, but lemme check into what's going on with non-extra monitors
oh god
More ship fps
That monitor also still likes to randomly duplicate if the screen is set to none which is fun
XD
It will dupe one of the other screens, for me it usually likes to dupe Total Deaths
lol
anyone else experience issues with view bodycam not working btw
the bodycams themselves work but the actual bodycam never appears on the terminal
๐ญ
likely due to the errors above
I shall be fixing them soon
oo alr alr
I assume you have GeneralImprovements?
yeah we do
we have a few custom monitors set up but we don't have the actual setting to add more enabled
yeah, it does apear to happen regardless of that setting
Unfortunately it seems like Shaosil has went on a sudden hiatus again so the few bugs GI has atm won't be fixed til he comes back
good luck on the fix โผ๏ธ
He has a habit of doing this
๐คญ
At least it's in a much better state than last time though
fix is already on its way, just doing a final test and then it will be ๐ข
awesome to hear, we'll be using it tomorrow for our next session so it'll be awesome LOL
it's going out now as 2.4.2
I don't think there's anything particularly pressing thankfully
Yeah
just the issue with OBC 2.3.1 where GI was lying about whether the better monitors were present, but I have an easy enough workaround
It's not like last time where we had issues like the teleporter causing that bug where the ui would glitch out and stuff
lol
oh boy, I may have missed the part about the UI