EDGE-Classic 1.30
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
- Current options
-
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
- IMF songs must have a playlist entry type of 'IMF280', 'IMF560', or 'IMF700' to correctly
-
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".
- TTF_DEFAULT_SIZE = <int>, default (scaled to HUD) rendering size for this font. If not provided,
- Required parameters:
- New font type: TRUETYPE ("TYPE = TRUETYPE;", as opposed to IMAGE or PATCH)
-
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.
- CURSOR.POSITION = <string>, accepts "LEFT", "CENTER", "RIGHT", or "BOTH" to determine cursor position relative to menu item.
-
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 ;)
- JUMP_LIQUID(state:frame,xx%) similar to the normal jump action except that it will only trigger if
- 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
- Affects the PUSH_THINGS, SCROLL_FLOOR, SCROLL_CEILING, VECTOR_SCROLL, and TAGGED_OFFSET_SCROLL specials
- Matches Boom/MBF21 behavior (see https://github.com/kraflab/mbf21/blob/master/docs/spec.md under 'Linedef Types' for reference if needed)
- 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
- New LINE_EFFECT: TAGGED_OFFSET_SCROLL
-
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
- New SPECIAL: FORCE_PRECACHE
-
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