mhwlng / streamdeck-starcitizen

Elgato Stream Deck button plugin for Star Citizen
https://robertsspaceindustries.com/spectrum/community/SC/forum/50264/thread/streamdeck-plugin
MIT License
181 stars 10 forks source link

Manual Convergence Distance missing #25

Closed dopeghoti closed 2 months ago

dopeghoti commented 2 months ago

I'd love to be able to adjust manual convergence with buttons or a dial on my Stream Deck, but the plugin does not seem to be picking these up from Vehicles/Weapons:

image

image

mhwlng commented 2 months ago

I don't see a key binding in your screenshot ? Did you add them ?

mhwlng commented 2 months ago

I added a key to one of these and I see the line appear

(you may need to exit the keybinding screens in the game and restart streamdeck.exe after adding the key)

image

image

if you don't see the key appear, make sure that you put the correct path in

%appdata%\Elgato\StreamDeck\Plugins\com.mhwlng.starcitizen.sdPlugin\appsettings.config

can I close this ticket?

dopeghoti commented 2 months ago

I've double-checked that I have bindings and confirmed they exist in the actionmaps.xml:

image

I've also double-checked that the app config is correct and it appears to be (though I had to re-set the settings after I tried uninstalling and re-installing the plugin):

image

I believe you that the key binds should be coming up but I'm not sure why they aren't.

I do see this in com.mhwlng.starcitizen.process0.log:

Unhandled Exception: System.IO.IOException: The process cannot access the file 'E:\Program Files\Star Citizen\StarCitizen\LIVE\USER\Client\0\Profiles\default\actionmaps.xml' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize, Boolean checkHost)
   at System.IO.StreamReader..ctor(String path)
   at SCJMapper_V2.SC.SCDefaultProfile.ActionMaps()
   at starcitizen.Program.GetKeyBindings(Object threadContext)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at starcitizen.WorkItem.Execute()
   at starcitizen.FifoExecution.ProcessQueuedItems(Object ignored)
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

However, when I check with Process Explorer, nothing has that file open. I've even tried closing out of Star Citizen and the launcher entirely before restarting the Stream Deck software.

Any ideas?

mhwlng commented 2 months ago

are you 100% sure that 'E:\Program Files\Star Citizen\StarCitizen\LIVE\USER\Client\0\Profiles\default\actionmaps.xml is the correct path ?

try starting streamdeck.exe with run as administrator or change the access rights to that directory

otherwise I have no idea...

dopeghoti commented 2 months ago

About as sure as I can be:

image

On an a lark, I did see I have some pending OS updates to install, so I'm going to use that as a nudge to try a good old-fashioned reboot (which honestly I should have tried first, Windows being Windows) in addition to the options you just mentioned.

dopeghoti commented 2 months ago

Sure enough, that did the trick; sorry to have sent you on a wild goose chase. Thanks again for your work on this; it's very useful!