Skip to content

EDGE-Classic 1.30

Compare
Choose a tag to compare
@dashodanger dashodanger released this 15 Jan 18:37
· 1943 commits to master since this release

Available Downloads

edge-classic-win64.zip - 64-bit MSVC build for Windows Vista and up. May require installing the Visual C++ Redistributable from Microsoft's download page.
edge-classic-win32.zip - 32-bit MinGW build suitable for Windows XP and up. Pentium 4 minimum CPU required. Has all required libraries included.

ModDB Addons Page

https://www.moddb.com/mods/edge-classic-add-ons/addons

CHANGELOG for EDGE-Classic 1.30 (since EDGE-Classic 1.21)

Bugs fixed

  • Fixed CHANGE_TEX SKY not working with skyboxes
  • Fixed alignment of flats when both ALIGN and SCALE are used
  • Doom episode 1 intermission screen animation speed was wrong
  • Single sector maps no longer give a nodebuilder error
  • Fixed a bug displaying tall patches with a non-zero Y Offset
  • Several old DEHACKED issues fixed (original AliensTC for example)
  • Conflicts between Doom graphics and PNGs causing errors are now
    fixed (the infamous "Error occurred scanning image: xxx")
  • Do not apply invisibility effect to a zoomed weapon
  • Fixed IDCLEV mistakenly identifying non-marker lumps as valid map markers
  • Fixed crash involving items without a map spawnpoint being added to the
    Deathmatch item respawn queue
  • Fixed incorrect parsing of keypad (10-key) scancodes
  • Fixed main menu cursor scaling/placement when all menu item images are empty
    (i.e., background image alone is used as the "menu")
  • Fixed weapons with animated ready states having jittery swaying/bobbing
  • Fixed Boom generalized ceilings using their sector's floors for movement targets
  • Fixed monsters being able to activate W1/WR lines at the edge of a dropoff that
    is too high for them to descend
  • Fixed Boom Set Friction lines with very short line lengths being ineffective

General Improvements

  • Replaced TinySoundFont with FluidLite, supporting a wider range of MIDI events and effects
  • Live soundfont (FluidLite)/instrument bank (OPL) selector
  • DEH_EDGE cleanup and improvements
  • Improved screen resolution and aspect modes
  • New Harmony base WAD assets
  • Auto-detect music type for DDFPLAY (with one exception: IMF, as detailed under New Features)
  • No longer need to press Up/JUMP or Down/CROUCH key to navigate ladders: Just mlook + forward is enough.
  • Tags assigned to map things are now supported
  • Allow multiple WAIT_UNTIL_DEAD scripts to trigger for the same object
  • Improved handling of in-game messages
  • ENDOOM screen now integrated into quit dialog (unless custom background image is defined in STYLES.DDF)
  • Added libYMFM for improved VGM music handling and format support; disabled Game Music Emu VGM support
  • Replaced Modplug with XMP (non-lite version) for module tracker music for better compatibility
    • Formats requiring prior depacking are still not supported
  • Multiple DDFANIM entries can now reference the same images (the entries themselves must still have unique names
    to prevent conflicts)
  • Borderless Fullscreen mode added to the Set Resolution menu; list of Windowed resolutions updated to accommodate
    displays up to 4K
  • Improved support for filepaths and program arguments with non-ASCII characters

New Features

  • New Video Options menu item: Framerate Target

    • Can cycle between 35/70 FPS
    • Default framerate target is now 70 FPS
  • New Video Options menu item: Overlay

    • Can cycle through various pseudo-CRT/scanline effects
    • Current options: None, Lines 1X, Lines 2X, Checkered, Vertical, and Grill
  • New Gameplay Options menu item: MBF21 Map compatibility

    • Can toggle to enable/disable MBF21 line and sector types/flags/specials
    • Default is "Off"
  • New Gameplay Options menu item: Bobbing

    • Controls if view/weapon are bobbed while moving
    • Options are "Full", "Head Only", "Weapon Only", "None"
    • Default is "Full"
  • New Gameplay Options menu item: Erraticism

    • Time will only advance when the player moves or fires ("SuperHot")
    • Player's momentum will be preserved if in mid-air/jumping,
      otherwise it will be lost when the movement keys are released
    • Can hold the Use key to advance time without having to move or fire
      (helpful when waiting for lifts, etc)
  • New Performance Options menu

    • Current options
      • Reduce Draw Distance: Will cull rendering at a set distance
      • Slow Thinkers Over Distance: Helps alleviate performance hit from extreme
        monster/missile counts. Not recommended for normal gameplay
      • Dynamic Light Limit: Set maximum number of dynamic lights to render at once
  • Vastly improved Deathbot navigation and combat

  • New console command: showmaps

    • Will show the warp name and level description for accessible maps
  • New console variable: r_forceflatlighting

    • When set to 1, will use a flat lighting formula versus Doom's traditional distance-based light banding calculations
    • Overrides any lighting settings in an episode's DDFGAME definition
    • Default is 0, "traditional" Doom behavior
  • Support OPL emulated playback of MUS and MIDI music lumps via YMFM.

    • Can use GENMIDI lumps (Default) or external instrument bank files
    • *.wopl, *.op2, *.opl, *.ad, and *.tmb external banks supported
    • External banks must be placed in the /soundfont directory prior to startup
  • Support OPNA emulated playback of MUS and MIDI lumps via FMMIDI

  • New music formats supported: FLAC, VGZ (compressed VGM), IMF, XMI/RMI/GMF/EA MIDI Formats

    • IMF songs must have a playlist entry type of 'IMF280', 'IMF560', or 'IMF700' to correctly
      set the song's playback rate
  • SF3 formatted soundfonts are now supported in addition to SF2

    • Loading times for SF3 fonts are typically longer due to the need for decompression
  • DSDHACKED support.

  • FONTS.DDF

    • New font type: TRUETYPE ("TYPE = TRUETYPE;", as opposed to IMAGE or PATCH)
      • Required parameters:
        • TTF = <string>, TTF/OTF file or lump
      • Optional parameters:
        • TTF_DEFAULT_SIZE = <int>, default (scaled to HUD) rendering size for this font. If not provided,
          a default value of 7 will be used.
        • TTF_SMOOTHING = "ALWAYS", "NEVER", or "ON_DEMAND". Affects behavior of the font when the Smoothing
          option in the Video Options menu is adjusted. Defaults to "ON_DEMAND".
  • STYLES.DDF

    • New property: ENTRY_ALIGNMENT = <string>, accepts "LEFT", "CENTER", or "RIGHT" to set text/image alignment for menu item names
    • New CURSOR customization options:
      • CURSOR.POSITION = <string>, accepts "LEFT", "CENTER", "RIGHT", or "BOTH" to determine cursor position relative to menu item.
        "BOTH" will drawn the cursor in both LEFT/RIGHT positions. Defaults to "LEFT".
      • CURSOR.BORDER = <bool>, only has an effect when the cursor position is set to CENTER. Will scale up to the dimensions of the tallest
        menu item. Good for highlights/frames/border style cursors
      • CURSOR.TRANSLUCENCY = <percentage>, controls cursor image translucency
      • CURSOR.IMAGE = <string>, image to use instead of the default for this menu's cursor
      • CURSOR.STRING = <string>, if present, will use these characters from the style's font as the cursor instead of an image
      • CURSOR.SCALING = <bool>, will set whether or not the cursor scales proportionally to menu item heights. Defaults to true.
  • THINGS.DDF

    • New property: SIGHT_DISTANCE=<number> which is how far a thing can see in map units.
    • New property: HEAR_DISTANCE=<number> which is how far a thing can hear the player in map units.
    • 3 new actions:
      • JUMP_LIQUID(state:frame,xx%) similar to the normal jump action except that it will only trigger if
        the thing is in contact with a floor flat indicated as LIQUID in DDFFLATS.
      • JUMP_SKY(state:frame,xx%) similar to the normal jump action except that it will only trigger if
        the thing is in an outdoor sector i.e. ceiling is sky.
      • NOISE_ALERT will cause nearby monsters to be alerted. Add it to a monsters death states so his
        final groan will warn nearby monsters to expect trouble ;)
    • New pickup benefit: POWERUP_TIMESTOP
      • Player can move and fire normally
      • Projectiles will remain at the point at which they were fired until time resumes; hitscan or melee
        attacks will damage an enemy but they won't react/"die" until time resumes
      • Switches/doors/lifts can be activated during time stop, but will not move until time resumes
  • LINES.DDF

    • New LINE_EFFECT: TAGGED_OFFSET_SCROLL
      • Matches MBF21 behavior; all lines with the same tag will use this line's offsets for offset scrolling
      • Target lines can still use their own offsets for texture alignment
      • Scrolling speed is divided by 8 for fine tuning
    • New property: SCROLL_TYPE = DISPLACE or ACCEL
    • Improved GLASS=TRUE functionality: LINE_PARTS= can now be used to define what the "broken" mid-texture will be.
      LINE_PARTS accepts the following arguments: LEFT_LOWER, LEFT_UPPER, RIGHT_LOWER, RIGHT_UPPER.
      (back of linedef is right, front of linedef is left).
    • Added 4 new BREAKABLE wall line types (similar behaviour to glass):
      [835] Breakable: when shot, midtex will change to back lower texture
      [836] Breakable: when shot, midtex will change to back upper texture
      [837] Breakable: when shot, midtex will change to front lower texture
      [838] Breakable: when shot, midtex will change to front upper texture
  • IMAGES.DDF

    • New SPECIAL: FORCE_PRECACHE
      • Will force image to be precached on startup regardless of other settings
    • New SPECIAL: GRAYSCALE
      • Will force image (for this definition) to be in grayscale even if the original lump/file isn't
  • REKKR added as a recognized IWAD

  • COALHUDS: new commands
    -mapobject.count(thingID): returns number of objects of this type on the map
    -player.query_object(MaxDistance, WhatInfo): returns information about the currently targetted thing.
    MaxDistance is the limit to how far we can query an object.
    WhatInfo is a number from 1 to 5 and can be:
    1 (NAME)
    2 (CURRENT_HEALTH)
    3 (SPAWN_HEALTH)
    4 (PICKUP_BENEFIT)
    5 (KILL_BENEFIT)
    -mapobject.query_tagged(ThingMapTag, WhatInfo): returns information about the thing with the tag we specified. WhatInfo is the same as player.query_object()
    -player.query_weapon(MaxDistance, Whatinfo, [secAttackInfo]): returns information about the currently targetted weapon.
    MaxDistance is the limit to how far we can query an object.
    Using the optional [secAttackInfo] we can get information about the weapons secondary attack.
    WhatInfo and SecAttackInfo are a number from 1 to 9 and can be:
    1 (NAME)
    2 (ZOOM FACTOR)
    3 (AMMOTYPE)
    4 (AMMOPERSHOT)
    5 (CLIPSIZE)
    6 (DAMAGE Nominal)
    7 (DAMAGE Max)
    8 (RANGE)
    9 (AUTOMATIC)
    -hud.erraticism_active() and hud.time_stop_active(): Check Time Stop/Erraticism state from within COALHUDS

  • No longer necessary to specify an image type in DDFIMAGE i.e. "IMAGE_DATA=LUMP:FOOBAR;" is now permitted.

  • Improved Boom Support

    • Line 254 vector scrolling will use the appropriate direction instead of only scrolling vertically
    • Implemented Lines 245-249: Displace scroll/push
    • Implemented Lines 214-218: Accel scroll/push
    • Improved Line 242 compatibility (colormaps/invisible platforms/etc)
    • Implemented light level changes for tagged manual door sectors
    • Implemented BEX-specific keycard/skull strings
    • Implemented OB_* DEHACKED string replacements (not strictly BEX, but Freedoom 1/2 use them)
  • Improved MBF Support

    • Implemented A_Mushroom
    • MBF Dog is back! Rocking new sprites and sounds, credits to gzdoom(original sprites: Nash Muhandes, original sfx: Kinsie)
      New CVAR: dogs which will spawn 1-3 friendly helper dogs at coop spawn points.
  • Initial MBF21 Support

    • Implemented Lines 1024-1026: Tagged offset scrolling (Normal/Displace/Accel)
    • Implemented "Block land monsters" and "Block players" linedef flags
    • Implemented "Alternate damage mode" and "Kill grounded monsters" sector types