djcev.com

//









Adding airsteps to Ironwail 0.8.1

In Quake if the player runs into and is blocked by any sufficiently vertical plane the movement code will re-try the move with the starting position one stepheight up then move the player one stepheight down in an attempt to step over the obstruction. Quake 1 as shipped in 1996 only attempts this stepped move if the player is on the ground. This means that if you jump into a set of stairs and hit the vertical part of a step without landing on ground first you lose your momentum as though you'd run into a wall.

Later Quake games allow the player to step up even if they're in the air. Some Quake 1 sourceports implement this feature as well, often disabled by default. The feature is called an "airstep" in these engines and is typically enabled by setting the pm_airstep cvar to 1. The Quakespasm lineage of Quake engines (notably: Ironwail) do not, from what I can tell, implement airsteps.

That's an issue for me because I'd like to play the new cool singleplayer Quake mods but I don't want to get stuck on stairs. Fortunately this is easy to fix. Ironwail is used for most of these new mods & it's just a couple lines of code. Here's a quick patch for Ironwail 0.8.1 that adds rudimentary good-enough airsteps:


ironwail-0.8.1-airsteps.patch

diff --exclude Makefile -Nru ironwail-0.8.1-orig/Quake/sv_phys.c ironwail-0.8.1-hacked/Quake/sv_phys.c
--- ironwail-0.8.1-orig/Quake/sv_phys.c 2026-01-01 13:04:04.000000000 -0800
+++ ironwail-0.8.1-hacked/Quake/sv_phys.c   2026-01-20 19:17:37.866332969 -0800
@@ -865,9 +865,6 @@
    if ( !(clip & 2) )
        return;     // move didn't block on a step

-   if (!oldonground && ent->v.waterlevel == 0)
-       return;     // don't stair up while jumping
-
    if (ent->v.movetype != MOVETYPE_WALK)
        return;     // gibbed by a trigger

@@ -888,7 +885,6 @@
    VectorCopy (vec3_origin, upmove);
    VectorCopy (vec3_origin, downmove);
    upmove[2] = STEPSIZE;
-   downmove[2] = -STEPSIZE + oldvel[2]*host_frametime;

 // move up
    SV_PushEntity (ent, upmove);    // FIXME: don't link?
@@ -914,16 +910,26 @@
    if ( clip & 2 )
        SV_WallFriction (ent, &steptrace);

+   downmove[2] -= ent->v.origin[2] - oldorg[2];
+
 // move down
    downtrace = SV_PushEntity (ent, downmove);  // FIXME: don't link?

-   if (downtrace.plane.normal[2] > 0.7)
+   if (downtrace.allsolid)
+   {
+       VectorCopy (nosteporg, ent->v.origin);
+       VectorCopy (nostepvel, ent->v.velocity);
+   }
+   else if (downtrace.plane.normal[2] > 0.7)
    {
        if (ent->v.solid == SOLID_BSP)
        {
            ent->v.flags =  (int)ent->v.flags | FL_ONGROUND;
            ent->v.groundentity = EDICT_TO_PROG(downtrace.ent);
        }
+
+       if (oldvel[2] > 0)
+           ent->v.velocity[2] = oldvel[2];
    }
    else
    {



2025 Morrowind Mod List

After about 6 (!) months I recently finished a streamed playthrough of Morrowind. As finished as TES III can get anyway - the main quests of the base game and the two expansions complete. I played with around 85 mods, mostly sourced from the lists on Modding OpenMW.

After the cut you'll find a list of the mods I used with links back to nexusmods where they can be downloaded. Like the other modded game I played in 2025 I don't recommend this list. It's a better idea to pick one from modding-openmw.com and start from there.


bsd.network/@cev/115895702201464746

@cev@bsd.network's avatar image

@cev@bsd.network // / 115895702201464746 Origin link. Source file.
Tags: , , .

Continuing Outward (PC, 2019) today at twitch.tv/andreaen. Will be exploring the starting area & gathering some equipment so my character will have an easier time.

exploring, gathering (Outward first playthrough pt. 2)

Steve continues to have bad days

Twitch


bsd.network/@cev/115884018456294489

@cev@bsd.network's avatar image

@cev@bsd.network // / 115884018456294489 Origin link. Source file.
Tags: , , .

I'm starting a game of Outward (PC, 2019) today over at twitch.tv/andreaen. Outward is a third-person open world fantasy RPG where you start the game as a relatively normal person, a commoner, struggling to survive.

the return of Steve (Outward first playthrough pt. 1)

saving Steve's house, Steve has several bad days

Twitch


bsd.network/@cev/115878072340415426

@cev@bsd.network's avatar image

@cev@bsd.network // / 115878072340415426 Origin link. Source file.
Tags: , .

got my second amdgpu driver "flip_done timed out" crash last night. Same behavior as before, the graphics driver goes into an unrecoverable state requiring the system to be powered off and back on. No video until the power is cycled. The system can still be accessed via SSH though and seems to be fine outside of the lack of video.

It's definitely a known issue at this point judging by the volume of reports on the freedesktop gitlab. Here's hoping there'll be a good fix for it soon.


bsd.network/@cev/115866636489977924

@cev@bsd.network's avatar image

@cev@bsd.network // / 115866636489977924 Origin link. Source file.
Tags: , , .

Picking up Morrowind (PC, 2002) again today over at twitch.tv/andreaen. This session: more Bloodmoon main quest in the Skaal village.

tested by the Skaal (modded Morrowind pt. 27)

Bloodmoon main quest complete

Twitch