Projects that alter game functions but do not include new maps belong here.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
I AM NO LONGER INVOLVED IN DOOM MODDING, YOU MAY USE ZMOVEMENT AS YOU PLEASE, DO WHATEVER YOU WANT WITH IT, JUST WRITE SOMEWHERE "THANK YOU MY MAN IVORY" OR SIMILAR.
PATCHES WILL NEVER BE UPDATED, IF YOU WANT THAT YOU'LL HAVE TO FIGURE IT OUT ON YOUR OWN.
YOU ARE FREE TO POPULATE THE COMMENTS WITH PATCHES OF YOUR MAKING.
ZMovement is a mod whose goal is providing players with extensive movement customization.
Furthermore, in the main release there are extra txt files containing the different movement modes separated for modders who are looking to plug one of them into their mods. GZDOOM 3.8.0 OR HIGHER IS REQUIRED
How does it work?
- chose a movement style, and decide how tight/slidey you want the friction to be. You can choose between Build Engine, Dusk, Painkiller, Quake, and UT;
- turn on whatever optional feature you want to add. We have double jumps, Quake 2 style ramp jumps, ground dashes, air dashes, crouchslides (traditional or Quake style), UT style elevator jumps, walljumps, wallslides, and grappling hooks;
- best of all, all of these are customizable through the extensive menu options and sliders.
IMPORTANT: this mod ignores whatever are the jumping, crouching, and mouselook settings of the mapset you are going to load with it and makes them on by default.
Be responsable and do not sequence break map. Cool kidz play maps the way their creator intended them to be played.
All of the included movement modes are not meant to be an 100% identical to the original games. Of course this is not an excuse for whatever behaviors I might have missed to port and/or whichever bugs you might run into.
When using Painkiller movement it is possible to execute trick jump like in the original. Although they are really hard to pull off.
Check the spoiler for a video of a pro player showcasing them.
Spoiler:
BOBBING NOTES:
Spoiler:
ZMovement uses a custom made bobbing logic based on more modern FPS games.
The player code also includes 4 new bobbing animations (Bob_Build, Bob_Dusk, Bob_Painkiller, Bob_UT).
To use them you will need to replace one of the standard GZDoom bobbings with one of those.
For example to apply Bob_UT replace
case Bob_Normal:
XBob = BobXMulti * cos(BobAngle);
YBob = BobYMulti * abs(sin(BobAngle));
with
case Bob_Normal:
XBob = 1.5 * BobXMulti * cos(BobAngle);
YBob = BobYMulti * sin(2 * BobAngle);
And choose Normal as BobStyle in your weapon code
RESET TO DEFAULT VALUES THROUGH THE DEDICATED BIND AFTER UPDATING! DOWNLOAD HERE
As mentioned in the title this is most likely the final version of ZMovement unless other non minor bugs are discovered (which you are free to report without hesitation).
Since this is where people are most likely to actually read what I write I take the opportunity to thank everybody who has been following and supported this project of mine. Being featured in the DoomWorld Minimod safari was a very welcome surprise.
If you want to use ZMovement with your mod you are free to do so but please do not just copy paste the files for two reasons:
1 - it's never good to blindly copy-paste code you have little to no understanding of;
2 - many decisions that have been made in coding this mod are a consequence of the fact that I had to allow customization of almost all of its components. A focused rewrite of the code into a customization free version that reflects your desired vision will be much more lightweight and efficent than just using it as is. That said I do not take responsibilities if things break due to your editing.
3.2.1
Changes:
- lowered Doom air control (by a lot) to be more faithful to both Doom 2 and 4 (sorry Doom 3, once again nobody cares about you even if you were a decent horror fps);
- slightly reworked the dash cooling logic to allow air dash shortly after a wall jump;
- you can no longer double jump right when you dash, and at least 5 tics have to pass after a jump or dash before you can execute a double jump;
- rewritten the speedometer to be always displayed near the center of the screen and not show up during Titlemaps;
- the menu tooltip now disappears for 2 seconds after you click the mouse or keys to change the option value.
Bugfixes:
- fixed automatically double jumping after dropping off a ledge if auto jump is turned off and if jump is pressed;
- fixed being unable to use AirDash if WallJump is turned on as well;
- fixed ledge grabbing glitching out when trying to back out of thin ledges (partial logic rewrite);
- fixed Quake ground movement having abnormal circle jumping acceleration with certain friction values;
- fixed weapon sprites sway and offset glitching out with certain weapons.
3.2
New Features:
- added option to have a more Quake like wall friction;
- new-ish option menu, now the tooltip is displayed near your mouse pointer after it has been on top of the option label for a second.
Changes:
- general optimization, partly thanks to functions I previously did not know existed (SetPos(), SetXYZ(), CheckMove() etc. etc.) but mostly because of generally improved knowledge;
- total rework of the bobbing logic to be more lightweight and not behave differently depending on the framerate;
- removed a few redundant or useless cvars.
Bugfixes:
- fixed jumping acting janky on 3D slopes less steep than 45 degress;
- fixed crouch toggle not working;
- fixed AirDash not granting speed boost for Dusk, Painkiller, and Quake movement modes;
- fixed player being shot in a bottomless black void when using Quake Movement when releasing all directional inputs after moving against a convex corner.
Where is the universal addon Ivory? You said you would make it! You are a liar! A cheater and a liar!
It will be released eventually, when I have time to properly work on it and when I am happy with the result.
In the meantime GET MOD PATCHES HERE
Mod patches are standalone and do not require ZMovement to be loaded together.
D4T, TrailBlazer (currently not updated to the new 1.5 version, wait a few days for that), GMOTA, High Noon Drifter, Smooth Doom, QC:DE.
QC:DE gets an extra patch marked "accurate" cause I added my Crosshair accurate codebase to the weapons.
Sad your favorite mod is not among the patches I have made? Learn how to make your own patch with this guide. GUIDE ON HOW TO CREATE A PATCH
Feel free to ask me for help if you can't make things happen.
CREDITS:
Spoiler:
- Ivory Duke: all coding;
- ijon: endless source of inspiration and motivation;
- New Blood, People Can Fly, id Software: sounds;
- Michaelis, DoomKrakken: answering my ZScript related questions.
Old changelogs
Spoiler:
CHANGELOG 3.1
New features:
Added an option to set which direction the weapon sprites offset vertically when in the air (same or opposite direction you are moving).
Changes:
- final round of code cleanup and optimization;
- increased Doom, Dusk, and Quake movements authenticity;
- removed strafe speed customization cause its implementation was half assed and a proper one would have required many extra lines of code.
Fixes:
- fixed an auto jump related issue;
- fixed bobbing looking like trash during/right after a ground dash;
- fixed bobbing looking glitchy if direction was changed repeatedly in short amounts of time with certain movement modes;
- fixed an issue where sometimes player morph could make the engine crash;
- fixed an issue where you could not double jump after a dash with UT movement (that's a bruh moment right there);
- fixed an issue where if you air dashed and then ledge grabbed upon landing on the ground movement would act weird;
- other minor fixes.
Mod patches specific stuff:
when you morph into a demon in QCDE, HND, and D4T you will no longer be able to use dashes, ledge grabbing, hooks, etc etc (I still have to address the Spectre morph issue where you cannot use the ram attack)
CHANGELOG 3.0
New features:
- grappling hook. Pick between pull or pendulum physics;
- added vanilla Doom movement mode;
- water and air movements tailored to each movement mode.
Changes:
- Painkiller movement will not lose speed going up stairs, for the most part;
- improved jump behavior on slopes. When going up hill jump height will be scaled up according to how steep is the slope, going down usual jump height is applied;
- the Build Engine landing animation code is not a broken hunk of junk anymore, now it just works (TM);
- added a check for ledgegrabbing that scans environment for solid actors right above players. If there are, ledge grab will not be initiated;
- slightly changed the air dash behavior of Build, UT, and Dusk air movements;
- improved the way the dash cooler works;
- swimming upward will not cause players to dolphin jump out of water when reaching the surface anymore;
- added slider to adjust the weapons' bobbing;
- reorganized a bit the options menu;
- optimization stuff, most notably the regular crouch slide code looks much cleaner now.
Fixes:
- fixed corpse of dead players sliding endlessly;
- fixed an issue that caused Valiant MAP07 performance to degrade each second until it became unplayable;
- fixed an issue where executing a crouchslide under certain circumstances would shoot you into a bottomless black void.
CHANGELOG 2.4.1
Changes:
- improved ledge grab maps compatibility;
- slightly changed the way the viewpoint lock is handled during a ledge grab to reduce the ugly jittering effect. Pitch is now unlocked but horizontal angle is clamped in between two values, just because it doesn't make sense to be able to lift yourself up a ledge and freely rotate all around;
- added a climbing sound;
- in Build and UT movements during the landing (Build) and the post dash (UT) recoveries you will not be able to jump and cheese out of them;
- further simplified WallJump and WallSlide to do without a couple abs(acos(Vector1 dot Vector2))) stuff, replaced with AbsAngle();
- changed name of Speedometer Event Handler to avoid conflicts with mods;
- other minor tweaks.
Fixes:
- fixed sometimes having no velocity dropping down from heights when using PK movement;
- fixed sometimes being able to ledge grab monsters;
- fixed sometimes not grabbing ledges which are totally ok to latch on to;
- fixed rarely being able to grab onto ledges that are crowded by monsters;
- fixed being able to walljump off of monsters.
CHANGELOG 2.4:
New Features:
- ledge grabbing, grab all the ledges!;
- an as faithful as possible rendition of Painkiller movement without source code (but with the harnessed power of a speedometer). Ground Singleplayer behavior and Air MP behavior because I say so. Now with 100% less spaghetti western code;
- a togglable drop prevention script: if you are near a drop, while not pressing directional inputs or walking, and moving, when too close to the edge your velocity will be nullified.
Changes:
- improved the customizable landing animation to not make your viewpoint drop to the knees after a few consecutive jumps;
- bobbing range and speed are now proportional to your movement speed and the transition is smooth and warping free;
- jumping and dashing is now forbidden on slopes steeper than 45 degrees and in sector with height equal to or lower than Player height (big thanks to ijon's function QA_CheckIfJumpable() from his Quake Movement mod);
- simplified wall sliding code;
- the Build jump animation feels better now.
Fixes:
- fixed an issue where when selecting Quake movement the UT ground movement would be used;
- fixed weapon bobbing looking hideous while walking against walls at low speed;
- fixed player gaining Elevator Jump Boost when walking up slopes;
- fixed jump being blocked when walking up slopes when Elevator Jumps are off;
- fixed PK air movement glitching out coming out of water.
- other minor fixes.
To do:
- scale jump height on slopes;
- apply improved slopes behavior on 3D slopes as well.
CHANGELOG 2.3.1:
Changes:
- applied a small optimization on the Build air movement to do without an intermediary Vector2 variable;
- since I have been porting more Ground movements air and ground movement choices have been merged. I have not yet brought over Painkiller Ground movement so in the meantime Dusk ground movement is used (high friction values are recommended for PK feel);
- removed the Dusk accel bonus past a certain speed cause I cannot find any trace of it in the game code (it must have been my false impression). At this point Dusk has most likely reached the final and most authentic rendition, except a small difference due to personal preference which is highlighted in the code.
Fixes:
- fixed an issue where the viewbob would not be as notable anymore with certain movebob values after landing post jump/drop.
CHANGELOG 2.3:
New Feature:
- Build Engine ground movement (big shutout to the Eduke32 team for translating the Build Engine code to a more modern terminology);
- Build Engine air movement is now a faithful rendition, not the lousy approximation I included in the previous versions.
Changes:
- rework of the view bob logic: when you are not on the ground your viewheight will realign to the center (cause you know, people do not walk in the air) and will smoothly restart bobbing after landing (if you are moving), maximum bobbing range is proportional to user set maximum ground speed, and you can only get really significant amount of view bobbing if you pick high values on the dedicated slider;
- the Build Jump delay has been reduced to 2 tics, values of the jump animation height variation slider have been increased to ensure the height change is notable within the shorter time frame.
Fixes:
- fixed an issue where sometimes a correctly executed Painkiller trick jump would still give the results of a failed one.
CHANGELOG 2.2
New Features:
- added UT style ground movement (thank you UT4 open source code very cool);
- added a slider to adjust the strafing speed (how fast you can move left or right, ex. in Quake strafing and moving forward are 1:1 but in UT that is not the case);
- completely rewritten the bobbing code. It looks better, it requires a lot less lines of code, it uses the weapon properties to determine the range and speed, and you can use the new animations with your mod! (Bob_Build, Bob_Dusk, Bob_Painkiller, Bob_UT);
Changes:
- tweaked air control for Dusk and UT;
- improved Dusk Air Movement to do without a few ugly lines of code leftover of past code bases;
- renamed MoveVec variable to Acceleration because that is what it is;
- minor tweak to the way code limits the maximum moving speed, it works exactly the same I just prefer the way it looks (thank you UT4 open source code very cool).
CHANGELOG 2.1
New Features:
- added Air Dashing, press Dash key in the air to get a speed boost. Boost decays over time until speed is slightly higher than it was before dash. Be careful with the direction you boost cause you might screw your momentum;
- added a menu option to display velocity on speedometer in Quake units instead of Doom's;
- added a slider to adjust the duration of the Q4 crouchslide.
Changes:
- revised Q4 crouch sliding: slide duration is proportional to landing Vel.Z and it lasts less if you take tight turns;
- revised jump-landing animation to be proportional to the landing Vel.Z instead of the Z axis position differential. Values of the landing sensitivity slider have been adjusted accordingly;
- revisited and improved the way the necessary movement is picked. Now it is all grouped in HandleMovement() for easier understanding and editing;
- dashing and walljumping trigger functions have been separated into Dash() and WallJump() and their logic has been partially reworked;
- logic of crouchslide and wallsliding has been improved as well;
- removed the universal DashMovePlayer(), now each movement mode will use its dedicated XXXAirMove() function for a more distinguished dashing behavior;
- improved Painkiller air movement by doing without a few lines of code I always hated myself for employing (functionality-wise it's the same, it's just that the code is cleaner). Also failed jump behavior has been modified to be closer to the original game;
- all water movement stuff has been grouped in WaterMovePlayer(); likewise, all fly movement stuff has been grouped in FlyMovePlayer();
- the thing where you would forcefully slow down for a few tics after touching ground following a dash/walljump has been confined to UT Movement since it is a characteristic of that movement type only;
- reinstated the ramp jumps multiplier, this time with 100% less unexpected behaviors;
- the amount of dash + walljumps required for walljumps to not grant a height boost has been raised from 2 to 3 (fun things are fun);
- the amount of tics of the Build movement jump animation has been decreased from 4 to 3 tics;
- converted variables that did not need extra precision from doubles to floats;
- made nomenclature consistent throughout the entire code;
- removed a bunch of unnecessary variables;
- removed a few leftover lines of code that had no purpose anymore;
- other stuff I forgot (sooooooooorrrrrrrrrrrryyyyyyyyyyyyyyy).
Bugfixes:
- fixed an issue where Painkiller air movement would glitch out coming out of a Q4 style crouch slide;
-fixed an issue where weapon sprites would warp while using custom bobbing animations if you quickly tapped opposite directional keys.
CHANGELOG 2.0:
- added Quake style movement (Q1, Q2/3, CPMA, Q4 crouchslide);
- reorganized player code to remove doubled lines of code common to all movement modes;
- partially reworked Wall Jumping to make sure the output speed would not be too strong at times;
- optimized some lines of code (oh hi AngleToVector() nice to meet you!);
- fixed an issue where the mandatory Build land animation would play for the wrong movement mode;
- fixed Dusk bobbing acting jerky a few tics after stopping hopping;
- removed the ramp jumps multipler cause it was causing me problems. May be reinstated in the future.
2.0.1 HOTFIX:
- fixed an issue where some users depending on their .ini file could possibly not be able to move.
2.0.2 HOTFIX:
- fixed a couple issues with Painkiller air movement, most notably the fact that movement was broken when dropping down from heights without having jumped.
CHANGELOG 1.3.2:
- Included 4 separate text files one per each of the movement modes. My suggestion is to play ZMovement, see what you like best, then grab the movement modes you want to implement and replace the CVars with your desired fixed values;
- reverted a change in 1.3.1 that accidentally made executing consecutive walljumps much harder;
- fixed an issue where Build jumping would always be lower than expected and the jump animation would only last 1 tic instead of 4;
- removed a few useless lines of code, leftover of testings;
- other minor changes that do not change functionality.
NOTE: You may notice weabon bobbing on the custom animation is smoother with Dusk and Build, that is because they use Doom friction and long story short I can do a thing that I have not figured out how to do with Quake friction yet.
Also, to calibrate the maximum ground speed in these two you have to do it manually.
Go to PlayerGroundMove() and balance out the Vel.XY and MoveVec multipliers to accomplish the desired speed (and edit value MaximumGroundSpeed at the top of PlayerThink()).
If you need to find in the code where to replace CVars with values search in the files EDIT_HERE.
CHANGELOG 1.3.1:
- Significantly simplified Painkiller code as prosimed;
- Applied flag +NOFRICTION so that only my coded friction slows down player instead of combining effects with the native engine one (the more you know). You will surely need to recalibrate your friction settings;
- now when hopping weapon sprites will go up and down depending on the Vertical Velocity just like in Ion Fury (speed and maximum range can be customized). Right now this feature is only available for my custom bobbing animations but it will probably be applied to regular Doom bobbing as well from the next version;
- after some thought I decided to allow use of dashing and walljuping to increase speed while hopping in Dusk and Painkiller modes. However the maximum speed gain that the ground dash can give has been capped at 150% the maximum ground speed;
- crouchslide movement is now its own code subsection. Before it shared space with walljumping and dashing but since you cannot do either while crouchsliding there is no reason why those calculations should be run at the same time;
- slightly increased movement control while crouchsliding;
- Painkiller jumping is now a separate entity to save on some calculations;
- fixed an issue where after stopping bobbing weapon sprites would realign to the center before hitting the ground;
- other under the hood changes and optimizations that do not change functionality.
CHANGELOG 1.3:
- added Build Engine style movement. Something something Ion Fury (it's a great game you should definitively buy it);
- added Ion Fury style bobbing (a tweaked Alpha Doom bobbing). Next update all custom bobbing anims will have the cool Vel.Z proportional mid air vertical sprite offset from Ion Fury;
- hopping bob cooler is now a non UT bobbing specific variables to fix the janky animations that would occur when you jump up stairs;
- added customizable landing viewheight animation from Build Engine for all movement modes. "B-But Ivory GZDoom already has a viewheight animation!" yes but it is not customizable. This animation can be turned off for all movement modes except Build Engine since it is a very characteristic thing of that engine's movement;
- rearranged movement modes selection by alphabetical order;
- wildly simplified Dusk Air Movement code, Painkiller will undergo the same treatment in the next update;
- Painkiller trick jumps have been made easier but the punishment for failing one is more severe, emulating the PK MP behavior. Air Movement behavior when you are not pressing any directional keys or are in Pain state has also been tweaked;
- for the sake of authenticity the jump input buffer has been removed from UT movement mode, if autojump is off you can only input jump when you hit the ground (the same goes for Build Engine);
- fixed a bug where even if Auto Jump was off you would still auto jump;
- fixed an issue where bobbing weapon sprites would warp going from running to walking or crouching. The bobbing speed of the custom animations will still be proportional to the player speed but not the bobbing range;
- removed vertical flips due to the increasing complexity of the code and the difficulty of maintaining a non essential feature;
- removed jump sound customization, again code more complex - non essential feature;
- SPECIAL NOTE: Build Engine jumping has a short delay because an animation plays emulating player bending its knees and then jumping. Also if you try to rejump while the landing animation is playing your jump height will be lower
CHANGELOG 1.2:
- Added customizable friction: choose between Doom and Quake style friction and set how strong the friction is;
- Yet another rework of the crouchslide, now you will be forced to stay crouched until the end of the crouch boost for extra commitment and you can minimally change direction with your WASD (or whatever else you use) but not the speed;
- water and fly movement are now independent code subsections (like in Quake) for behavior optimization, they use uneditable Quake style friction;
- ease of execution of walljumps has been significantly increased, therefore after 2 consecutive successful walljumps you will not get an height boost to avoid spam;
- increased code polish.
- NOTE: if you do not use the reset to default bind you may not be able to move after updating from older versions
CHANGELOG 1.1.1:
Acceleration:
- Slight rework of PK movement: when you are hopping but are not pressing direction inputs your speed will decrease proportionally to your mouse yaw (PK Multiplayer behavior) instead of being de-multiplied by a fixed value (previous coded behavior);
- Dusk and PK now have a different behavior for when player is taking damage. Specifically, it will lose some speed but will never slow down below the maximum ground speed and air control is left untouched;
- now Dusk and PK hopping accelerations are proportional to the player's Speed values;
- Fixed an issue where if you slowed down while hopping in Dusk movement and sped back up regaining speed would be not smooth;
- fixed an issue where PK movement would act wonky going down a set of stairs.
CrouchSlide:
- Normalized crouch slide behavior across all movement modes, now when you execute any kind of acrobatics (slides, dashing) they will all reference the same subsection of the movement code so your settings will give the same results regardless of wherever you pick Dusk/PK/UT;
- crouchslide now allows for a limited amount of directional control on the ground;
- crouchslide speed boost now ends earlier if you collide with a wall/monster/thing/whatever forcefully slows you down (as it should have always been);
- Improved the mid-air behavior of the crouch slide;
- removed the mid air penalization slider as it is no longer needed.
Dash:
- you cannot dash anymore while crouching (wops!);
- increased walljump reliability;
- added WallSlide sound.
Weapon Bobbing:
- improved weapon sprites sway code and added an option to customize how quickly they will tend to realign to the center (zm_yawswayfriction);
- optimized custom bobbing animation code;
- made still sprite bobbing available to Dusk style as well, therefore the two still bobbing sliders have been made universal instead of per-bobbing mode.
CHANGELOG 1.1:
New Features:
- added UT style movement.
Movement:
- straferunning speed multiplier slider is now a global variable. If you so desire you can now increase your ground speed by straferunning with all movement modes;
- the value of the slider used to increase/decrease base ground speed now reflects the actual speed change in all 3 movement modes;
Jumping:
- added an option to renew double jumping per each successful wall jump. Simply put: if you have already wall jumped but execute a wall jump you get the double jump back. Renewals do not stack up;
- removed Ramp Jumps tics threshold, It was just bloating the code and options while not being particularly useful;
- added a jump sound cooler to avoid HO-HO-HO-HO-HO-HOP when for ex. going up a set of stairs;
- you can now get an elevator jump boost even on ground dashes;
- if elevator jumps are off you cannot perform a dash on a raising elevator to avoid ugly jump spam (just like with regular jumping);
WallJumping/Sliding:
- made wall slide not automatically activate when colliding against a wall, instead it now has its dedicated required input. When you press the input to activate wall sliding code will scan environment for 10 tics looking for the necessary wallsliding conditions. To ensure wallslide will succeed make sure you press the button sometimes before you are going to hit a wall;
- wall slides and walljumps distance-from-wall checks are now dynamically adjusted according to the player's radius instead of using a fixed value;
- you can now continue slides on walls that change angle as long as the angle variation is less than 45;
- you now need to "lead" wall slides with your aim and directional inputs. If there is an angle greater than 90 between the direction you are sliding and the intended direction of your inputs the wall slide will stop. You can leave a wall slide at any angle using a wall jump;
BugFixes:
- fixed an issue where you would not be able to wall slide if you hit the wall during a double jump;
- fixed an issue where you would not be able to wall slide if moving west and trying to slide on a wall oriented west-east, but only if you were norther than the wall...bruuuuuuh. Changed the trigger function to one that reliably functions in all situations
CHANGELOG 1.0.4:
- reworked dashing/walljumping/wallsliding. Now when these are engaged movement code uses a dedicated movement subsection that acts like UT: you cannot go faster than the speed you had at the beginning of the dash and have some although limited air control;
- wall slide now consistently works in all situations it is supposed to work;
- thanks to a trick I learned when writing the UT-like subsection many parts of the code have been reworked and optimized for the best. It is highly suggested to reset default values through the dedicated bind.
CHANGELOG 1.0.3b:
- actually fixing the issue where you would not be able to walljump under all expected circumstances. I truly apologize for two hotfixes in such a shot time.
CHANGELOG 1.0.3a:
- hotfix to address not being able to walljump off a wall behind player's back.
CHANGELOG 1.0.3:
- added walljumping, wall sliding, and double tap dash trigger;
- extended the range of some sliders. For example now you can lower the base speed down to 10 u/s (requested feature);
- general code cleanup and optimization;
- fixed an issue where sometime weapon sprites would warp when using UT style bobbing;
- renamed all sv_ and cl_ CVars to zm_ to avoid mod compatibility issues;
- included all variables I had forgotten to add in the reset to default bind;
- some bugfixes I forgot, I am sorry I have been away a few days for work in between mod improvements and did not write down the changes.
CHANGELOG 1.0.2:
- added UT2004 style weapon bobbing
- improved the way code distinguish between ground and hopping movement
- fixed an issue with Dusk movement where you would speed up out of control when jumping out of water
- elevator jumps can now be executed at any time while going up an elevator. Upon replaying UT2004 I realized this is how it functions, it is really my fault for assuming a game would respect real life physics
- when elevator jumps are off, jumping is not allowed on raising elevators to avoid annoying jump spamming
- complete rework of the crouchslide. Now the code is much cleaner and it feels better
- now you can double jump when you execute a dash
CHANGELOG 1.0.1:
- Fixed a bug where if you use Painkiller movement and drop on the ground without having jumped once since the beginning of the level you would lose all your Velocity until you hit the ground again
- unified ground speed modifier into one CVar, now both movement modes have a minimum ground running speed of 12u/s and a maximum of 15u/s
- minor optimization of Painkiller hopping code
- changed organization of a couple of menu sliders
- Added mod patch for QC:DE. Play as the Painkiller guy with the Painkiller movement
Last edited by Ivory Duke on Mon Jan 24, 2022 11:50 am, edited 116 times in total.
Vertical acrobatic flipping in doom? No freaking way! :O
Gosh darn, I wish I had time to add smooth slow movement during slomo to my mod, because vertical flips + slomo + trickshooting demons in midair would be the coolest thing ever in doom.
affandede : a friend of mine who' extremely talented at creating weapon sprites from screen rips said he intends to recreate the Dusk's arsenal as soon as the the upcoming Dawn DSK is released.
He asked the devs if they would be cool with that and they said it's all good.
Spaceman333: That would be really cool indeed. If it can be of any help there is very extensive annotation all throughout the code so if you would like to use the vertical flipping feel free to take it out. Most of it is in CheckPitch() but there are a few other related things in other spots. It should not be difficult to find them since at the beginning I have clearly stated which variables concern Vertical Flipping
thedeathrunner123 wrote:Can't wait for the universal patch, I'm hyped. Also vertical flips are kinda fucked for me... but only in GMOTA?
I have just tested GMOTA patch and I can't seem to find anything wrong with the vertical flips.
I did remove the vertical flips from the Trailblazer patch cause there is something in the original mod's code that causes severe conflicts and I could not find the source of the issue.
If you can describe what happened with the GMOTA patch i can look into it and address the problem.
Since I do not know when I'll manage to make the mod work plug & play (or if it is even possible for that matter I am investigating) I plan to create a small tutorial on how to make your own patches by the end of the week.
Thanks to the changes I made in 1.3 it only requires copy-pasting some text files from DuskMovement and minimal editing of the player code of the mod you mean to patch. As long as you carefully follow what will be in the guide it should be pretty straight forward.
Shadez12 wrote:When I use this with the QCDE patch I get
Script error, "QCDE_DuskMovement_1.3.pk3:cvarinfo.dsk" line 29:
cvar 'cl_speedometer' already exists
On GZDoom 4.1.3
That was a dumb mistake on my end.
QCDE already has its own speedometer which by coincidence uses the same cvar I have picked for my speedometer.
I have fixed it by removing such Cvar from my patch.
Just to make sure you saw what I wrote in the post: when playing with QCDE increase Acceleration to the max to get a decent speed increase while hopping.
I have been too busy today to address why that is the case but will soon get to figure out what the issue is
thedeathrunner123 wrote:my problem is instead of smooth camera movement it just jerks up and then down, not like a flip.
I just tested it on a clean GZDoom install and do not see anything out of order but I will inquire further when I get a chance.
In the meantime I will point out a couple of things that perhaps I should have written in the main post:
- when you reach top or bottom viewpoint for one tic you view is not interpolated making it slightly jerky for a split second, because otherwise due to the way I had to code the flip code you would see a very displeasing screen woosh (afaik GZDoom does not allow true 360 degrees of freedom so I had to "cheat" a bit to make it possible);
- when you fall on the ground having failed to complete a flip your view is automatically realigned starting from bottom of top viewpoint depending on which one is the closest. That is because even if the view is not interpolated at top/bottom, when it is the code to do it and not your mouse input it is still very displeasing to see it happen.
So if you try to do flips just by hopping on the ground it will always be rather underwhelming due to this limitation. There is no height restriction on when you can attempt a flip but it will always be easier and more satisfying to do them when you are at a significant enough height that allows you to succeed in making one. You can make flips easier by using the mouse pitch multiplier I added as an option in the menu.
Something that really bothered me about jumping in gzdoom is the fact it takes like 0.1 second before you actually jump once you press the jump key on your keyboard. Although playing too much Jump Maze back in time get me pretty used to it. Does this mod removes the delay before jump?
MaxRideWizardLord wrote:Something that really bothered me about jumping in gzdoom is the fact it takes like 0.1 second before you actually jump once you press the jump key on your keyboard. Although playing too much Jump Maze back in time get me pretty used to it. Does this mod removes the delay before jump?
Unfortunately I think that cannot be changed.
The amount of times per second the engine updates its variables and stuff (tics) is hardcoded at 35 so I cannot change that.
More modern games have higher tic counts so the jump delay is lower and I guess Jump Maze as well.
If what I have written is wrong and I have no idea what I am talking about feel free to correct me passing by stranger.