Skip to content

LZDoom07 v3.90.35-XP

Choose a tag to compare

@Darkcrafter07 Darkcrafter07 released this 11 Jul 09:19
7a22e4a

LZDoom07 v3.90.35-XP:
Improve line portals: fix line portals without edited height cuts values in the editor to disappear (HOTFIX). Pretty much, the same to the previous version v3.90.34:

  • implement 3D-floors driven heights cut;
  • implement line portals offsetting: useful in case there are multiple line portal entrances behind each other but different heights to simulate for 3D architecture like lower entrance below and a upper window above. The window linedef must be at least 36 units away from the lower one below but it's still pretty buggy, yet okayish. Some instruction notes I gave in portals.c:
  • add a test map in the root folder - you can learn how to do it from it!
  • software/polymost renderers are NOT still implemented with this feature, as I don't know how yet.

Here's my fork of GZDoom v4.10 - GZDoom07 that can do the same but doesn't have a GitHub repository yet. Why 4.10? It's the last stable GZDoom version that has a decent software renderer, modern, can be used as a base to backport to UZDoom and even be modernized later! https://drive.google.com/file/d/1Nu6g9BPUYBeLmgKKn-r_B0RB5bAmrb_P/view?usp=sharing

WHAT MAPPER SHOULD DO (HOW TO CONFIG IN ULTIMATE DOOM BUILDER):

  1. Assign a unique Line ID / Tag to your Entrance Window Portal line (e.g., Tag 4).
  2. Assign a unique Line ID / Tag to your Exit Street Portal line (e.g., Tag 5).
  3. Create your 3D-floors (lifts/borders) using Action 160 (Sector_Set3dFloor) inside a control dummy sector.
  4. On the CONTROL LINES of those 3D-floors, open the Custom UDMF fields tab and configure:
    • "user_lineportaltargetid" (Integer) = Set this to the Tag of your line portal tag (ID) (e.g., 4).
    • "user_lineportal3dfloortop" (Integer) = Set to 1 if this 3D-floor acts as the upper window trim/ceiling (104).
    • "user_lineportal3dfloorbot" (Integer) = Set to 1 if this 3D-floor acts as the lower window ledge/floor (24).
  5. On the portal line itself, you can configure custom offsets in the Custom UDMF fields tab:
    • "user_lineportaloffsetvisual" (Integer) = Distance to push the visual portal mesh inward to stop clipping.
    • "user_lineportaloffsetphysics" (Integer) = Multiplier for the physical clipping buffer zone.
  6. Edit args[1] (Floor Z) and args[4] (Ceiling Z) on the portal lines in the map editor.
    You may want to adjust them manually, in case when 3D-floors were detected they will expand-shrink window size,
    e.g. act as relative math offsets applied AFTER the engine extracts raw 3D-floor heights!

Some images and visual instruction: https://imgur.com/a/OiCe135