Post by Creelien on Aug 15, 2020 12:17:41 GMT
Hello dudes, i wrote a small mod for vanilla DMC3SE PC port (1.3). I mainly did this for myself, but maybe someone else will find it useful. It hooks D3D and draws a window on top of the game, this window shows inputs, stats and has some other features. Also i added camera hack/FOV adjust in real-time/Camera lerp that make up poor man's photo mode.
List of features:
-Input display
-Stats display
-Camera override/ Camera target override
-Time stop
-Always walk toggle
-FPS-style camera navigation
-Camera rotation everywhere using camera target as pivot
-Camera linear interpolation
-FOV adjust
-Overlay toggle
-Always launch on DMD
To run this drop d3d9.dll, guidx.dll and font folder to the root of your DMC3 install where dmc3se.exe is located. Then start your game with LEFT SHIFT pressed and it should work.
Video demo:
DOWNLOAD
Created by ddfs
List of features:
-Input display
-Stats display
-Camera override/ Camera target override
-Time stop
-Always walk toggle
-FPS-style camera navigation
-Camera rotation everywhere using camera target as pivot
-Camera linear interpolation
-FOV adjust
-Overlay toggle
-Always launch on DMD
To run this drop d3d9.dll, guidx.dll and font folder to the root of your DMC3 install where dmc3se.exe is located. Then start your game with LEFT SHIFT pressed and it should work.
Video demo:
DOWNLOAD
{Readme}
+INSTALATION+
Just drop d3d9.dll and guidx.dll font folder in root of your DMC3SE (where dmc3se.exe is located).
+RUNNING+
Start your game while holding down LEFT SHIFT key. You should see Imgui window popup with all keys glowing.
+REMOVING+
To uninstall just remove d3d9.dll and guidx.dll and font folder.
+ERRORS+
If you get errors about msvcp120.dll or mscrt.dll please install c++ 2013 redistributable. download
+FEATURES+
=Input Display=
Displays your inputs in the overlay window. Input is grabbed from the game, so it will show both keyboard and gamepad inputs here. Stick rotation overlay is shown over L3 button when stick is rotated or WASD buttons are pressed. From my tests input display is accurate at least for DirectInput gamepad that i use, compared to OBS gamepad display (the one that uses CLRBrowser plugin) which is always late by 2 frames for some reason.
=Stats=
Shows stats about current Enemy HP, Enemy Stun value and how much knockback last move did. Text will flash red if using moves with same knockback value would launch enemy. I use this feature to learn about how stun mechanics work with DT enemies. It's on by default, you can disable it in options menu.
=Camera override/Camera Target override=
Allows you to specify coordinates for Camera location/Camera Target location. You can control camera using
NUMPAD6/4 to move camera along X axis. Hold SPACE+NUMPAD6/4 to move camera target along X axis.
NUMPAD8/2 to move camera along Y axis. Hold SPACE+NUMPAD8/2 to move camera target along Y axis.
NUMPAD9/3 to move camera along Z axis. Hold SPACE+NUMPAD9/3 to move camera target along Z axis.
You can press ALT to speed up and CTRL to slow down.
This control scheme is somewhat awkward WIP thing i did to test things. Quake-style camera option greatly improves camera controls.
=Time stop=
Pressing LCTRL will stop time, press LCTRL again to resume. This feature assumes you play on turbo mode (1.2 gamespeed). Press '.' key (VK_PERIOD) while time is stopped to advance game state by 1 frame increments
=Always walk toggle=
Always walk toggle. Works for keyboard and gamepad input. You can also press L3 on gamepad or RSHIFT on keyboard to toggle.
=Quake-style camera navigation=
This mode makes camera control similar to a spectator mode in a FPS game.
-W moves FORWARD according to view direction;
-S moves BACK;
-A moves LEFT;
-D moves RIGHT;
-Q moves UP;
-E moves DOWN;
-Hold LEFT CLICK and DRAG mouse to look around.
-You can press ALT to speed up camera and CTRL to slow down.
=Camera rotation=
Allows to rotate camera anywhere. Rotation is done using Camera Target location as pivot. Rotation is done at constant speed, positive values rotate counter-clockwise, negative- clockwise
=Camera linear interpolation=
This feature let's you define a number of points based on camera location and linearly interpolate between them. To use this feature first you'll need to position camera where you want it to start, then press Add Point button. Afterwards, move your camera to a point where you would like camera to end up and press Add Point button again. After you've added at least 2 points you can press Start Interpolating button. Don't forget to set camera speed or else it will be stuck.
Various easing modes can be set with easing dropdown menu. These control how the value changes over time. To check out what different easing modes do you can look at easings.net
=FOV adjust=
Allows you to control Cameras Field Of View in realtime. This feature requires StyleSwitcher mod installed. I looked at FOV offset in serpentiem's mod, sorry i was lazy. Attempting to change FOV in unmodded 1.3 game will probably cause a crash. I will fix it ASAP for unmodded 1.3 because i want to support that.
=Overlay Toggle=
Toggles rendering of ImGui overlay window. Press DELETE key to toggle.
=Always launch on DMD=
Always launch/knockback enemies when standing on the ground in DMD mode. I use this feature to practice arial combos because i drop them often and launching again requies some setup like a helmbreaker before enemy can be launched again. This option saves a little bit of time when practicing.
+CHANGELOG+
-*Improved Camera controls
-*Camera rotation
-*Camera interpolation
-*FOV adjust
-*Overlay toggle
-*Added always launch on DMD
-Added Camera controls
-Added walk modifier
-Added Left Stick rotation display.
-Added cusom button font.
-Grid layout using imgui columns.
-Fixed missing dll error thanks for bug report to Blowhard.
+INSTALATION+
Just drop d3d9.dll and guidx.dll font folder in root of your DMC3SE (where dmc3se.exe is located).
+RUNNING+
Start your game while holding down LEFT SHIFT key. You should see Imgui window popup with all keys glowing.
+REMOVING+
To uninstall just remove d3d9.dll and guidx.dll and font folder.
+ERRORS+
If you get errors about msvcp120.dll or mscrt.dll please install c++ 2013 redistributable. download
+FEATURES+
=Input Display=
Displays your inputs in the overlay window. Input is grabbed from the game, so it will show both keyboard and gamepad inputs here. Stick rotation overlay is shown over L3 button when stick is rotated or WASD buttons are pressed. From my tests input display is accurate at least for DirectInput gamepad that i use, compared to OBS gamepad display (the one that uses CLRBrowser plugin) which is always late by 2 frames for some reason.
=Stats=
Shows stats about current Enemy HP, Enemy Stun value and how much knockback last move did. Text will flash red if using moves with same knockback value would launch enemy. I use this feature to learn about how stun mechanics work with DT enemies. It's on by default, you can disable it in options menu.
=Camera override/Camera Target override=
Allows you to specify coordinates for Camera location/Camera Target location. You can control camera using
NUMPAD6/4 to move camera along X axis. Hold SPACE+NUMPAD6/4 to move camera target along X axis.
NUMPAD8/2 to move camera along Y axis. Hold SPACE+NUMPAD8/2 to move camera target along Y axis.
NUMPAD9/3 to move camera along Z axis. Hold SPACE+NUMPAD9/3 to move camera target along Z axis.
You can press ALT to speed up and CTRL to slow down.
This control scheme is somewhat awkward WIP thing i did to test things. Quake-style camera option greatly improves camera controls.
=Time stop=
Pressing LCTRL will stop time, press LCTRL again to resume. This feature assumes you play on turbo mode (1.2 gamespeed). Press '.' key (VK_PERIOD) while time is stopped to advance game state by 1 frame increments
=Always walk toggle=
Always walk toggle. Works for keyboard and gamepad input. You can also press L3 on gamepad or RSHIFT on keyboard to toggle.
=Quake-style camera navigation=
This mode makes camera control similar to a spectator mode in a FPS game.
-W moves FORWARD according to view direction;
-S moves BACK;
-A moves LEFT;
-D moves RIGHT;
-Q moves UP;
-E moves DOWN;
-Hold LEFT CLICK and DRAG mouse to look around.
-You can press ALT to speed up camera and CTRL to slow down.
=Camera rotation=
Allows to rotate camera anywhere. Rotation is done using Camera Target location as pivot. Rotation is done at constant speed, positive values rotate counter-clockwise, negative- clockwise
=Camera linear interpolation=
This feature let's you define a number of points based on camera location and linearly interpolate between them. To use this feature first you'll need to position camera where you want it to start, then press Add Point button. Afterwards, move your camera to a point where you would like camera to end up and press Add Point button again. After you've added at least 2 points you can press Start Interpolating button. Don't forget to set camera speed or else it will be stuck.
Various easing modes can be set with easing dropdown menu. These control how the value changes over time. To check out what different easing modes do you can look at easings.net
=FOV adjust=
Allows you to control Cameras Field Of View in realtime. This feature requires StyleSwitcher mod installed. I looked at FOV offset in serpentiem's mod, sorry i was lazy. Attempting to change FOV in unmodded 1.3 game will probably cause a crash. I will fix it ASAP for unmodded 1.3 because i want to support that.
=Overlay Toggle=
Toggles rendering of ImGui overlay window. Press DELETE key to toggle.
=Always launch on DMD=
Always launch/knockback enemies when standing on the ground in DMD mode. I use this feature to practice arial combos because i drop them often and launching again requies some setup like a helmbreaker before enemy can be launched again. This option saves a little bit of time when practicing.
+CHANGELOG+
-*Improved Camera controls
-*Camera rotation
-*Camera interpolation
-*FOV adjust
-*Overlay toggle
-*Added always launch on DMD
-Added Camera controls
-Added walk modifier
-Added Left Stick rotation display.
-Added cusom button font.
-Grid layout using imgui columns.
-Fixed missing dll error thanks for bug report to Blowhard.
Created by ddfs