New Source port: Introducing EDGE-Classic v1.0 Nov 14, 2021 2:56:56 GMT -5
Post by Lobo on Nov 14, 2021 2:56:56 GMT -5
EDGE-Classic is a Doom source port that provides advanced features, ease of modding, and attractive visuals while keeping hardware requirements very modest.
Taking EDGE 1.35 as the base, the new fork has the aim of solving long-standing bugs and adding some quality of life features.
Also, one of our primary goals is to have an EDGE that will run well on older or less powerful hardware compared to the 2.x fork. Right now it runs perfectly on Raspberry Pi for example.
Major new features so far compared to EDGE 1.35:
- A soundfont-capable MIDI player (.sf2 support).
- Support for MP3 music and sound effects.
- Migration from SDL1 to SDL2 (longevity and potential new features).
- Improved support for gamepads.
- Expanded DDF, RTS, and COAL features.
- Full support for both HacX 1.2 and Harmony IWADs.
- Widescreen statusbar, intermission, and title screens.
- Replaced GLBSP with AJBSP as EDGE-Classic's internal nodebuilder.
- A load of longstanding bugs fixed (see full changelog).
*Dashodanger : coding.
*Lobo : coding.
*CeeJay: testing, feedback, ideas.
Grab it here: github.com/dashodanger/EDGE-classic/releases/tag/1.0
Github page: github.com/dashodanger/EDGE-classic
In-Game screen shots of EDGE-Classic in action:
Changelog since EDGE 1.35:
- TuttiFrutti effect. When the texture was shorter than the wall it was being applied to, the blank space was either filled with black or left invisible causing all sorts of graphical anomalies. Backported from EDGE 2.x branch.
- OUCH face on the hud was using incorrect damage value.
- Face on hud never looked left because random number was never > 1.
- Linetypes (Monster-only Silent Teleport W1 (Boom)) and (Monster-only Silent Teleport WR (Boom)) were incorrectly set as PUSH instead of WALK.
- Sliding doors activated by monsters now make the appropriate SFX.
- Crash-to-desktop bug when using WEAKNESS class finally fixed.
- Black screen after endgame: backported from 2.x branch.
- oof sfx behaviour now closer to original doom.
- Apple compilation now works, thanks to testing and PRs from atsb/Gibbon
- Dropping the console with a movement key held down would preserve that movement while in the console. Now toggling the console properly drops (movement) input
- Games with only one selectable episode will now skip episode selection and proceed directly to the skill choice menu. This prevents the "Hell on Earth" episode from appearing when it is not appropriate
- Fixed bug with valid skybox texture references being deleted when cycling between real and pseudo-skyboxes
- Downgraded textures without patches from being an error (ending the program) to a warning
- Fixed occasional bug where attempting to bind a key would map it to the wrong command
- Fixed bug where canceling out of an RTS Menu would instead select the first option; now it should exit with no result
- Fixed player being allowed to attempt to load a game from an empty slot
- Fixed inheritance for DDFWEAP
- Sloped sectors underneath an extrafloor will now actually use their slope instead of 0 (fix backported from EDGE 2.x)
+ Creating a new Save Game with a blank name will now generate a default name (gamepad users can now create new saves without a keyboard)
+ "Found Secret" message now uses DDFLANG.
+ Berserk colour tint is no longer hardcoded and can be modified via DDFCOLM.
+ Merged CeeJay's LINES DDF with ours to create the ULTIMATE LINES DDF
+ Replaced GLBSP with AJBSP as EDGE-Classic's internal nodebuilder
+ doom_ddf folder content merged into edge.wad and the folder removed. The past is the future...again
+ Migrated from SDL1 to SDL2 for longevity and potential new features
+ Allow for FRONT/BACK to be recognized as RIGHT/LEFT textures in the RTS CHANGE_TEX function to suit modder preferences
+ Added missing graphics for Harmony and HacX option menus (Sound, Mouse, Gameplay, etc.) so that they don't use the fallback/incorrectly paletted Doom menu graphics
+ Improved joystick/gamepad handling; added ability to map dpad (hat) buttons and analog triggers to actions
+ Added "Menu Navigation" option in Controls to bind Menu Open/Up/Down/Left/Right/Select/Cancel
+ Added cursor to navigate RTS menus and select options in addition to using the number keys.
+ Added ability to remap functions previously hardcoded to the function keys (Quicksave, Quickload, etc)
+ Added more ammotypes: Now we have from AMMO01 to AMMO24.
+ Ignore COAL bobbing commands "cam.set_vert_bob" and "cam.set_roll_bob"
+ Improved HUD:
-Added widescreen status bar courtesy of CeeJay.
-Revamped Overlay hud.
-Removed AIRBAR graphics from edge.wad and rewrote the coal function to not use them.
-Splash footsteps sfx when walking on liquid flats.
-Edited all Slider doors to use BDOPN sfx.
+ Removed #VERSION check for both DDF and RTS.
+ Made single option RTS MENUs respond to KEYD_JOY4 button.
+ Reduced Arachnotron width by 1. (Even though technically it is 64, this avoids issue with some pwads).
+ Reduced the lighting on several enemy attacks.
+ Default monitor ratio is set to 16:9 instead of 4:3 to accommodate most modern monitors.
+ Dynamic lighting, HQ2x, and Smoothing are now on by default to better highlight some of EDGE's rendering features.
+ Sliding doors now show on the Automap.
+ Quietly ignore music lumps which aren't MIDI/OGG/MP3 instead of erroring out to Desktop.
+ Reduced the red tint while using the berserk power up.
+ M_SKULL1 menu cursor now uses DDFANIM (instead of being hardcoded to 2 frames).
+ Much improved Doom skyboxes from forum.zdoom.org/viewtopic.php?f=46&t=53873&hilit=doom+skyboxes
-FALLING_SOUND for the player when they fall long distances. Backported from EDGE 2.x branch.
-SECRET_SOUND entry for the player which plays when he enters a sector marked SECRET. Backported from EDGE 2.x branch. DSSECRET SFX from K8vavoom.
-New SPECIAL flag: IMMORTAL. This thing never recieves damage from any attacks, but will go into pain states etc as usual.
-New SPECIAL flag: FLOOR_CLIP. This things sprites will always stick to the floor in the case that it's too tall for the sector it's in.
-Added several dynamic light sources:
-Added the relevant entries for FALLING_SOUND and SECRET_SOUND to player thing.
+ WEAPONS.DDF: new DJNE weapon action for more robust weapon reloading. Backported from EDGE 2.x branch.
Used just like JUMP(state_name:frame,xx%), but decrements the reload quantity for the specified attack and jumps if it's not zero. The jump chance is now interpreted as the attack specifier: 0% is the primary attack ammo, and non-zero percent is the secondary attack ammo.
-Edited all Slider doors to use BDOPN sfx.
-Added Hub Exit switches:  to 
-Added Transparent Thick Extrafloors (for glass effect): Most transparent to Least transparent
-Experimental floor offset: any linetype that uses the SPECIALs "ALIGN FLOOR" or "ALIGN CEILING", if the line has texture offsets applied then EDGE will use those to offset the floor flat.
-Added 2 new sector types: (Airless/Vacuum) and (Low Gravity)
-Added water splash sfx to EDGEs default SWIM sectors.
-New attack type: DOUBLE_SPAWNER to mimic the pain elemental in Doom64.
-TITLE.COLOURMAP, TITLE.SCALE and TITLE.FONT will now affect the Title in an RTS MENU (via the MENU_STYLE RTS command).
-TEXT.COLOURMAP, TEXT.SCALE and TEXT.FONT will now affect the Options in an RTS MENU (via the MENU_STYLE RTS command).
-BACKGROUND images are now centered and obey scaling defined either in styles.ddf or images.ddf.
- Text TIPs now accept a 4th parameter (like TIP_GRAPHICs) which is the scaling to apply.
- PLAYSOUND_BOSSMAN: sfx location now set on player.
- New Command "EXIT_GAME": exits out of the map and back to the main title screen.
+ COALHUDS: 12 new commands
-player.kills() returns how many enemies killed on the current map.
-player.secrets() returns how many secrets discovered on current map.
-player.items() returns how many items picked up on the current map.
-player.map_enemies() returns total enemies on current map.
-player.map_secrets() returns total number of secrets on current map.
-player.map_items() returns total items on current map.
-player.floor_flat() returns the floor flat of the current sector we are in.
-player.sector_tag() returns the tag of the current sector we are in.
-hud.draw_number(x, y, len, num, align_right). hud.draw_num2() always
starts drawing the numbers from right-to-left. This new function
allows left-to right if we pass 0 for the align_right parameter,
or the usual draw_num2() right-to-left if we pass 1.
-math.random2() returns a random number between 0 and 10.
-hud.game_paused() returns 1 if the game is currently paused or
on the title menu screen.
-strings.find(s,TextToFind): will find a sub-string at ANY position. Returns position it was found at or -1 if not found.
+ MP3 Music Support
+ MP3 Sound Effects Support
+ New MIDI Player
- Timidity has been replaced by TinySoundfont, with support for *.sf2 soundfont files instead of GUS patch sets
- A Roland Sound Canvas style default soundfont by Nando Florestan has been included (http://dev.nando.audio/pages/soundfonts.html).
Users with existing soundfonts can replace soundfont/default.sf2 with their own font if desired (must be named default.sf2; selector may be built in the future).
- TinySoundfont is now the default music player for both Linux and Window builds.
+ Titlescreen and intermission are now Widescreen compatible with forum.zdoom.org/viewtopic.php?f=46&t=67843
+ More game IWADs supported: HACX, Herectic, Harmony, Blasphemer
-HACX: Full support. Includes bug fixes and widescreen support by CeeJay. Some graphics credited to HACX 2 team.
-Harmony: Full support. May be some (hopefully) minor differences.
-Heretic: Partial support. Item inventory not implemented in the base engine yet.
-Blasphemer: Rudimentary support; less thorough compared to Heretic, but IWAD will now be recognized and launch.