Wampa842 on DeviantArthttps://www.deviantart.com/wampa842/art/PMX-Editor-keyboard-shortcuts-663691867Wampa842

Deviation Actions

Wampa842's avatar

PMX Editor keyboard shortcuts

By
Published:
12.5K Views1 Collected Privately

Description

docs.google.com/spreadsheets/d…



Concerning the bug mentioned in row 85:
#85 is definitely a bug in the editor[s], and can be really annoying when you have a large materials list to work with. To blow through it, right-click the material and manually move it up or down just once, after which the KB shortcut will work the way it's supposed to.
Note: This sometimes has to be done multiple times during an editing session, but it "unlocks" it every time. Hope it helps.
- Maddoktor2 

Do you enjoy digging through myriads of lines of code? I certainly do.
Unfortunately PMX's developer isn't big on providing support to English users. I'm actually breaching the TaC by publishing this document because most of it came from a disassembled PmxEditorCore.dll assembly, but considering how many empty catch blocks and return-on-errors* I had to endure, I don't give a shit. Serves you right for being unilingual.

As I said, I had to decompile the PmxEditorCore and PmxEditorLib assemblies. I used JetBrains dotPeek to view the C# code, although it had a bit of a meltdown every time it came across lambda expressions. I was looking for KeyDown event handlers and anything that references the System.Windows.Forms.Keys enumeration. Unfortunately, most class names were cryptic and I still haven't found one.

Copy me! www.kopimi.com/
I've made this chart for the benefit of the public. I encourage everyone to share, copy and redistribute it freely and without restriction because it belongs to the users.

*On the subject of return on error: if PMX just refuses to work with no apparent cause, it's because the first thing it does, literally the first instruction after the entry point inside the Main() function, is to check whether SlimDX can be loaded, and if not, it ends the execution there. Main(){ if(!SlimDX.Loaded) return; {...}} or something like that. If SlimDX is loaded, control falls through and starts the actual application. If not, control is returned to where Main() was called, and since it's the entry point, execution ends. Also, catch(Exception ex){}? It is fucking horseshit.
Image size
1280x1024px 401.13 KB
© 2017 - 2024 Wampa842
Comments18
Join the community to add your comment. Already a deviant? Log In