Jump to content

Eternity Engine 4.02.00 Forseti


Altazimuth

Recommended Posts

4 minutes ago, Edward850 said:

Right, and it is. As you didn't pull it from a git repository, you skip the parts related to git. Context awareness is important.

 

Let's see.

 

Quote

Building with CMake (Unix OSes and Visual Studio 2017+)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMake should be capable of generating build files for all platforms,
but it is most commonly used only for Unix OSes and Windows, and not
thoroughly tested outside of it.

. If you haven't already, extract the source *.zip file or clone the
Git repository, in the top-level directory you should see a
+CMakeLists.txt+ file. You should be in this directory.

. Create a new empty directory and change to it, eg: +mkdir build+
followed by +cd build+. You cannot do an in-tree build.

So far so good.

 

Quote

. Run CMake. Usually you will want to run +cmake ..+, but you might
want to change the generator with a special command, for example:
+
----
cmake .. -G "Unix Makefiles"
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=C:\sdk\x64 -G "NMake Makefiles"
cmake .. -DCMAKE_BUILD_TYPE=MinSizRel -G "Visual Studio 15 2017 Win64"
cmake .. -G "Visual Studio 16 2019" -A "x64"
----

$ cmake ..
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:39 (message):
  adlmidi not found.  Please install adlmidi submodule.

 

Share this post


Link to post

Okay, so that's your real issue, adlmidi isn't included in the source package. You could have just said that.

 

@Altazimuth will need to fix that or remember it for the next version to include the submodule's contents in the hard copy.

Share this post


Link to post
  • 2 weeks later...

Hi, thanks for all of the work you've put into this source port.

I've got a few issues with micro-stutter or frame persistence while running the latest version of Eternity (64bit). I'm playing on a 144hz G-Sync monitor and have the following settings set in Nvidia CP:

  • G-Sync on
  • max frame rate set to 141
  • V-Sync on

Every second or so I get a very slight hitch where the previous frame seems to linger, which causes a stutter. I have filmed this using slow-mo on my iphone to catch the stutter as it is very slight, but it creates headache inducing motion when playing for a while.

 

I've tried toggling the above settings on and off and I have V-Sync disabled in the Eternity Engine itself. I've also played around with the settings in the options menus in game too.

 

I don't get this issue in any other source port, or other games for that matter.

 

Any idea what I could try to fix this issue? 

Edited by nobleflame

Share this post


Link to post
On 2/23/2022 at 10:45 PM, nobleflame said:

Hi, thanks for all of the work you've put into this source port.

I've got a few issues with micro-stutter or frame persistence while running the latest version of Eternity (64bit). I'm playing on a 144hz G-Sync monitor and have the following settings set in Nvidia CP:

  • G-Sync on
  • max frame rate set to 141
  • V-Sync on

Every second or so I get a very slight hitch where the previous frame seems to linger, which causes a stutter. I have filmed this using slow-mo on my iphone to catch the stutter as it is very slight, but it creates headache inducing motion when playing for a while.

 

I've tried toggling the above settings on and off and I have V-Sync disabled in the Eternity Engine itself. I've also played around with the settings in the options menus in game too.

 

I don't get this issue in any other source port, or other games for that matter.

 

Any idea what I could try to fix this issue? 

At the moment the only thing you can do is to add eternity.exe to nvidia control panel, set monitor technology to "Fixed Refresh", turn off frame rate limiter, disable v-sync (in both ncp and in-game), and run the game at uncapped fps.

 

This won't fix the problem, but will make it less noticeable at very high framerates. If you can't get ~500+ fps however, you won't see much improvement.

 

The more details on the issue you can find in this topic:

 

 

That said, the issue described in that topic is slightly different from what you encounter in Eternity Engine. The difference is that unlike other SDL2 source ports which have mouse interpolation issues, Eternity Engine also has some movement and/or rendering interpolation issues.

 

 

Share this post


Link to post
7 hours ago, PKr said:

At the moment the only thing you can do is to add eternity.exe to nvidia control panel, set monitor technology to "Fixed Refresh", turn off frame rate limiter, disable v-sync (in both ncp and in-game), and run the game at uncapped fps.

 

This won't fix the problem, but will make it less noticeable at very high framerates. If you can't get ~500+ fps however, you won't see much improvement.

 

The more details on the issue you can find in this topic:

 

 

That said, the issue described in that topic is slightly different from what you encounter in Eternity Engine. The difference is that unlike other SDL2 source ports which have mouse interpolation issues, Eternity Engine also has some movement and/or rendering interpolation issues.

 

 

 

Thanks for this advice. I really appreciate it. 

To be honest, even with my system, Heartland drops frames like crazy sometimes; I have resorted to dropping the resolution to 720p. I think the frame drops in Heartland has something to do with lots of maps being laid on top of each other via teleporters.

 

I will give your suggestion a go though.

 

Share this post


Link to post
  • 2 weeks later...

While I'm definitely not an expert on the inner workings of Doom, Boom, etc., I wanted to see if I could recreate the general gameplay rules of Prboom+ CL9 as allowed by Eternity's ingame compatibility options. I don't record demos or anything that really requires CL9 but it's a useful shorthand for "I'm probably playing this WAD as intended". This is all pretty new stuff to me but it's been fun trying to learn more about things.

 

In "Monster Options" under the "Enemies" menu, set to ON:

  • Monsters remember target
  • Monster infighting

All other enemy monster options set to OFF. I don't know anything about the friendly actor options and they're added by MBF so I left those alone.

 

In "Weapons" menu, set to ON:

  • Weapon hotkey cycling
  • Cycle when holding key

In the "Compatibility" menu, set to YES:

 

Players:

  • Sky is normal when invulnerable
  • Zombie players can exit levels
  • Disable unintended player jumping

Monster AI:

  • Monsters randomly walk off lifts (think preventing this was an MBF AI addition)
  • Monsters give up pursuit (confusing name, but otherwise there's a delay for infighting)

Simulation:

  • Actors never fall off ledges (this adds some kind of MBF torque physics simulation if set to NO... it's still possible to push a living enemy off a ledge by attacking as in CL9 when set to YES)
  • Spawncubes telefrag on MAP30 only (another unclear name... when YES allows both spawncubes and any other normal monster to telefrag you if it's MAP30, same as CL9. Setting to NO prevents normal monsters from telefragging you but still allows spawncubes)

  • Monsters can respawn outside map

  • Disable terrain types
  • Disable falling damage
  • Actors have infinite height
  • Doom actor heights are inaccurate
  • Bullets never hit floors & ceilings (EDIT: looks like this is a post-Boom 2.02 Eternity addition intended for mouselook and slopes)

In the "Compatibility" menu, set to NO:

 

Players:

  • God mode is not absolute
  • Powerup cheats are time limited

Monster AI:

  • Archviles can create ghosts (Boom 2.02 readme says it fixed this)
  • Pain elemental lost souls limited
  • Lost souls get stuck in walls 
  • Lost souls never bounce on floors
  • Monsters get stuck on door tracks

Simulation:

  • Actors get stuck over dropoffs (another confusing name for me, this controls whether attacks can push living enemies off a ledge as in CL9 and does NOT affect monsters getting stuck by standing on the edge of a rising lift or by being pushed to an edge)
  • Respawns are sometimes silent in DM (also not sure, but this one probably won't be relevant for my uses)

Maps:

  • Everything set to NO. I'm not sure about when "one-time line effects can break" was added or if it's a newer Eternity feature though. What is the use case for this?

Does this look about right in disambiguating between Boom 2.02 and later MBF/MBF21 fixes? I understand setting these options still won't match CL9 exactly (to whatever extent that matters), but it would be good peace of mind to keep this config around for all the CL9 WADs and use the "-vanilla" launch option (with "-warp", of course!) for CL2-4 WADs.

 

Other features I really like are turning off transparency for only stock Doom objects and the 180 degree turn keybind (saves a lot of wrist strain!). 

 

Edit: Made a few changes after some more reading. Mbfedit.wad was very useful for finally seeing "actors never fall off ledges" / "comp_falloff" in action. 

Edited by pantheon

Share this post


Link to post
  • 3 weeks later...
On 2/23/2022 at 9:45 PM, nobleflame said:

Hi, thanks for all of the work you've put into this source port.

I've got a few issues with micro-stutter or frame persistence while running the latest version of Eternity (64bit). I'm playing on a 144hz G-Sync monitor and have the following settings set in Nvidia CP:

  • G-Sync on
  • max frame rate set to 141
  • V-Sync on

Every second or so I get a very slight hitch where the previous frame seems to linger, which causes a stutter. I have filmed this using slow-mo on my iphone to catch the stutter as it is very slight, but it creates headache inducing motion when playing for a while.

 

I've tried toggling the above settings on and off and I have V-Sync disabled in the Eternity Engine itself. I've also played around with the settings in the options menus in game too.

 

I don't get this issue in any other source port, or other games for that matter.

 

Any idea what I could try to fix this issue? 

This issue was also present in PrBoom-Plus and DSDA-Doom until November 2021. It was fixed by making some tweaks to the interpolation code (I think, I'm not an expert):

DSDA-Doom https://github.com/kraflab/dsda-doom/pull/86/commits/17f1b84705d66a13be5d5d0a1e2416ec761f30a4

PrBoom-Plus https://github.com/coelckers/prboom-plus/commit/d6f2545bced66cb321e166f27dc62e3121dedb62

 

Edited by Kappa971

Share this post


Link to post

@Kappa971

Interesting... So, I've compiled version 0.22 of DSDA-Doom, and the issue is indeed fixed there. However the patch you mentioned in your post is absent in newer version of DSDA-Doom. That's why it stutters like crazy. 🤔

Share this post


Link to post
6 hours ago, PKr said:

@Kappa971

Interesting... So, I've compiled version 0.22 of DSDA-Doom, and the issue is indeed fixed there. However the patch you mentioned in your post is absent in newer version of DSDA-Doom. That's why it stutters like crazy. 🤔

I don't know, maybe in the latest versions of DSDA-Doom some features have been added that can cause stuttering.

For the Eternity Engine, someone could open a new issue in the GitHub repository to fix the stutter (linking the links above, maybe it could help the developers).

 

Edited by Kappa971

Share this post


Link to post
2 hours ago, Kappa971 said:

I don't know, maybe in the latest versions of DSDA-Doom some features have been added that can cause stuttering (attached DSDA-Doom compiled from the source).

Nevermind me... I forgot that I was messing around with DSDA-Doom mouse code while attempting to apply @mikeday's patch to fix the mouse issues (to no avail btw... it's working partially, but at times it simply ignores the patch for some odd reason, and that's when it's stuttering). So ignore my previous comment.

Share this post


Link to post
  • 7 months later...

Sorry for the bump but i'll need to know where screenshots are saved under eternity and i can't for the life of me find the info anywhere else.

Share this post


Link to post
5 minutes ago, Gregor said:

Sorry for the bump but i'll need to know where screenshots are saved under eternity and i can't for the life of me find the info anywhere else.

If you're on Windows or Linux, check the /user/ subfolder.

If you're on macOS, click "View Screenshots and Configs" in the launcher.

Share this post


Link to post
1 minute ago, esselfortium said:

If you're on Windows or Linux, check the /user/ subfolder.

If you're on macOS, click "View Screenshots and Configs" in the launcher.

Oh god. I didn't see the "shots" subfolder" under user....

Well, now i know; thank you very much!

Share this post


Link to post

Is there a way to set eternity to show undiscovered secrets in the automap? Even after using iddt it only shows discovered secret sectors, unlike in other sourceports like DSDA/Prboom+, Woof or GZDoom.

 

EDIT: I guess not. It wasn't in the original Doom, so it kinda makes sense.

Edited by Gregor

Share this post


Link to post
  • 2 weeks later...

Hello,

 

Thank you so much for creating this, honestly I think this is really really cool.  If you don't mind me asking for help: this was the first time I even tried to "build (in fortran days we just built a shitton of macros and crossed our fingers XDD and yes... I'm that old)" with source code. So far, I got it to run Doom II, but I get an error when I try to load KDiKDiZD, I'm not sure if it's permissions kind of thing with linux. I apologise if it's a very basic question, hadn't grabbed it for a long time.

 

Thank you!

 

 

image.png

Edited by pyo667

Share this post


Link to post
16 minutes ago, pyo667 said:

Hello,

 

Thank you so much for creating this, honestly I think this is really really cool.  If you don't mind me asking for help: this was the first time I even tried to "build (in fortran days we just built a shitton of macros and crossed our fingers XDD and yes... I'm that old)" with source code. So far, I got it to run Doom II, but I get an error when I try to load KDiKDiZD, I'm not sure if it's permissions kind of thing with linux. I apologise if it's a very basic question, hadn't grabbed it for a long time.

 

Thank you!

 

 

image.png

Can you show the command line you typed? For some reason, Eternity gives me this error when I try to run a file that is not in the current directory. So I run EE using the full path of the wad or change to same directory of the file

Share this post


Link to post
39 minutes ago, pyo667 said:

Hello,

 

Thank you so much for creating this, honestly I think this is really really cool.  If you don't mind me asking for help: this was the first time I even tried to "build (in fortran days we just built a shitton of macros and crossed our fingers XDD and yes... I'm that old)" with source code. So far, I got it to run Doom II, but I get an error when I try to load KDiKDiZD, I'm not sure if it's permissions kind of thing with linux. I apologise if it's a very basic question, hadn't grabbed it for a long time.

 

Thank you!

 

 

image.png

You could try this

eternity -iwad /home/poyo/DOOM/WADS/DOOM2.WAD -file /home/poyo/Doom/WADS/KDiKDi_A.wad /home/poyo/Doom/WADS/KDiKDi_B.wad

If you did not install with 'make install' it'd be something like this (first copy the binary and the relevant eternity folders to your Doom folder)

./eternity -iwad /home/poyo/DOOM/WADS/DOOM2.WAD -file /home/poyo/Doom/WADS/KDiKDi_A.wad /home/poyo/Doom/WADS/KDiKDi_B.wad

 

Share this post


Link to post

Hello again!

I tried running it both ways but got the same error, I used make install and cmake for this, but I'm not really sure where the bin file from eternity should be, tried the one in the "build" folder and the one in /usr/local/bin/eternity (this one runs doom II alright but can't load the KDi files). My guess so far is that I made a mistake building/installing and probably the bin files and wads and other info (cfg...) are not properly referenced/located (?), I'll keep you guys posted, thank you so much for your help

Share this post


Link to post
13 hours ago, pyo667 said:

Hello again!

I tried running it both ways but got the same error, I used make install and cmake for this, but I'm not really sure where the bin file from eternity should be, tried the one in the "build" folder and the one in /usr/local/bin/eternity (this one runs doom II alright but can't load the KDi files). My guess so far is that I made a mistake building/installing and probably the bin files and wads and other info (cfg...) are not properly referenced/located (?), I'll keep you guys posted, thank you so much for your help

Can you post the output of the terminal? Maybe there's something in the output that can help us with this problem. May I also ask what distro you're running? (Should be the same for all distros but just in case)

Share this post


Link to post

Isn't there a DeHackEd file that should be loaded too, with -deh parameter? 

When I played KDiKDiZD on Eternity, I used this for the Bat file:

(Path)\eternity.exe -iwad (Path)\DOOM2.WAD -file (Path)\KDiKDi_A.wad (Path)\KDiKDi_B.wad -deh (Path)\kdikdizd.deh

It worked completely fine for me.

Without it, I encountered a bunch of Error.gif throughout the map! 

Share this post


Link to post
  • 1 month later...

Has anyone managed to compile a new Windows version based on latest code? Last official release is almost two years old now and nobody knows when there's gonna be the next one.

Share this post


Link to post
29 minutes ago, NightFright said:

Has anyone managed to compile a new Windows version based on latest code? Last official release is almost two years old now and nobody knows when there's gonna be the next one.

There are devbuilds at https://devbuilds.drdteam.org/eternity/. I wonder what the plan is for a "stable" release, even if it makes little practical difference to me.

Share this post


Link to post
  • 5 weeks later...

"FOV shading" isn't common terminology, and I'm not unconvinced you just made it up. You'll need to describe what you're talking about.

Edited by Edward850

Share this post


Link to post
2 hours ago, Edward850 said:

"FOV shading" isn't common terminology, and I'm not unconvinced you just made it up. You'll need to describe what you're talking about.

Light levels. Or something like that.

Share this post


Link to post
8 minutes ago, Grieferus said:

Light levels. Or something like that.

FOV has nothing to do with light levels. Please explain in more detail what you want, be very descriptive.

 

Are you perhaps trying to ask about something to do with diminished lighting?

Edited by Edward850

Share this post


Link to post
6 minutes ago, Edward850 said:

FOV has nothing to do with light levels. Please explain in more detail what you want, be very descriptive.

Diminished lighting from player's perspective. I hope that's descriptive enough.

Share this post


Link to post
  • 3 months later...

I have an interesting question. 

How realistic is it for the Eternity Engine to implement color sector lighting like in Doom PSX? (Or if it's already there, how do I make it work? Mark, I'm not talking about Boom's COLORMAP middle texture simulation.)
 

I know that the renderer is limited by colormap and pallete in terms of colors, but even if it works the same way as in the ZDoom software renderer with little "color artifacts", it would already be a breakthrough feature, which would greatly expand the possibilities for visual mapping.
ColoredLighting_01.png


And maybe analogues of Boom's actions (261 (Change ceiling brightness) and 213 (Change floor brightness)) for transferring the color of lighting on the ceiling or floor of another sector. Or maybe it can be done differently with UDMF stuff (for example as it was done under GZDoom, where you can set up separate colors for floor, ceiling, upper, middle, lower textures). 
 

I expect this to be a tricky thing to implement, but if you take a course on it in the future, that would be very very cool.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...