anjenthedog Posted October 28, 2021 Share Posted October 28, 2021 So.... my player continues to suffer from routine, repeatable, almost automagical scale changes to her hands from normal to freakishly large. Lately from religiously watching for it and fixing it on-the-fly, I've noticed a clear pattern at least in one aspect of where it's happening. In third-person view mode, I have lobster hands, so I have to fix it. (hand scale appears to be around 1.15 - 1.25 just checked again...and adjusted one hand until it matched the displayed size of the other at a whopping scale value of 1.3 ) I use racemenu (in either third or first person mode) to reset the correct size (open, adjust L and R hand scale, ie increment the correctly *displayed value of 1.00 by one click to 1.01 and then one back to 1.00, close applet) If in third person mode, I then zoom (mousewheel or first/third person hotkey) to first person mode (otherwise I'm already in 1st person) I then zoom back to third person mode (I can either use the wheel or the first-person/third-person hotkey, same result) my hands are now lobsterhands once again.Repeatedly From viewing the Camera.psc script source, I see it declares a function UpdateThirdPerson(), ostensibly a routine (I can't see the code in the raw) that either directly re-assembles the body/hands/feet/head (a well as any clothing/armor, visible buffs, etc) and re-renders the player avatar on return to third person mode or calls some global "update player" routine using the proxy of UpdateFirstPerson() correction : UpdateThirdPerson() /data/scripts/source/camera.psc int Function GetCameraState() global native ; Updates the camera when changing Shoulder positions Function UpdateThirdPerson() global native ; Returns the player's camera FOV float Function GetWorldFieldOfView() global native float Function GetWorldFOV() global return GetWorldFieldOfView() EndFunction ; Sets the player's camera FOV Function SetWorldFieldOfView(float fov) global native Function SetWorldFOV(float fov) global SetWorldFieldOfView(fov) EndFunction ; Returns the player's camera FOV float Function GetFirstPersonFieldOfView() global native float Function GetFirstPersonFOV() global return GetFirstPersonFieldOfView() EndFunction ; Sets the player's camera FOV Function SetFirstPersonFieldOfView(float fov) global native Function SetFirstPersonFOV(float fov) global SetFirstPersonFieldOfView(fov) EndFunction This leads me to believe that whatever code underlying that function declaration is either not capturing and retaining the original hand scale values (hands are the only items affected in this case), OR it captured the values upon triggering but for some reason is incorrectly writing something else to the variable prior to re-rendering. It also happens consistently when performing a cell change, and when equipping weapons (which is its own bag of crap due to weapon resizing, but for another day), and often out of the blue while standing in one place too long, so it appears to be some global function being called that's in question. I'm really stumped. Is it the camera mod? Anyone happen to know what mod controls player screen updating (ie when switching view modes)? Or has seen or can view the code? Something's screwy. Link to comment Share on other sites More sharing options...
Recommended Posts