Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
kgsws

ACE Engine v2 - DOS Doom II [vanilla++?]

Recommended Posts

On 11/4/2023 at 8:27 AM, LuciferSam86 said:

Saw your project doesn't have a license, which might be an issue for people who want to fork it .

If it's ok for you I could make a PR for a GPL3 license , or you could just create a LICENSE file with the license text and commit it. GitHub should even help you with putting that file almost automatically. 

I will address that then. Well, once i figure out what license i should use.

 

On 11/4/2023 at 3:49 PM, Blzut3 said:

Given the project inherently links to non free code, GPL by itself is probably not a suitable license. You'd need at least a linking exception, LGPL, or something more permissive.

I am not sure what you mean. Just the fact that it runs in original DOOM memory and uses it's addresses?

This project does not require original EXE to compile, but i do indeed provide a list of "random" addresses that are based on original EXE. Is that the issue?

Share this post


Link to post

GPL doesn't allow run time linking to non-free code (outside of operating system stuff). While you could just slap the GPL on there, the end user wouldn't be allowed to jump to any of the code that was already loaded into memory as that would count as linking and would be a license violation.  You can add a linking exception to the license (look up the specifics but essentially you just say that linking against DMX and Doom is allowed as an exception to the normal GPL restrictions).  Of course this also means you can't use GPL code that wasn't granted that same linking exception.

 

I'm not a lawyer of course, but this looks exactly like dynamic linking to me.  So you could also just use the LGPL which allows dynamic linking to most things.

Share this post


Link to post
13 hours ago, Blzut3 said:

GPL doesn't allow run time linking to non-free code (outside of operating system stuff). While you could just slap the GPL on there, the end user wouldn't be allowed to jump to any of the code that was already loaded into memory as that would count as linking and would be a license violation.  You can add a linking exception to the license (look up the specifics but essentially you just say that linking against DMX and Doom is allowed as an exception to the normal GPL restrictions).  Of course this also means you can't use GPL code that wasn't granted that same linking exception.

 

I'm not a lawyer of course, but this looks exactly like dynamic linking to me.  So you could also just use the LGPL which allows dynamic linking to most things.

That sounds like a bit of gray area to me. I am not sure if i would call what am i doing "linking". But i am certainly jumping to existing code.

Well, i guess LGPL it is.

Share this post


Link to post

You can't go wrong with MIT or BSD licenses, they're excellent choices if you want clear credit for your project. They're also permissive for those looking to distribute game code. Hey even the Godot Engine uses the MIT license. Just passing along a suggestion to you. Whatever you're after is up to you.

Edited by ZNukem

Share this post


Link to post

Even at the current state of things here the source port is fucking wonderful, yet something I noticed:

 

oddities:
- cheat codes must be entered via prompt;
- some cheat codes like idbehold and idclev aren't there;
- killed monsters are passable immediately;
- torches, burning barrels, impaled zombies don't block actors and can be easily oversteped;

 

bugs:

- low detail mode isn't working;
- occasional cyan colored screen that occured during doom 2 map23 at berserk pick-up, only getting red when player receives damage;
- jumping doesn't work and there's no way to set it in the options;

 

features:

- optimizations from fastdoom like flat floors, flat skies, potato mode, VESA2 (fdoomvbr and fdoomvbd) are welcomed;
- 3d models, voxels and LODs are welcomed, like mdl, md2 and md3;
- stacked sectors are welcomed;
- eternity style stacked sectors and portals are welcomed;
- sloped terrain is welcomed;

- sloped 3d floors;

- shot through but monsters and players blocking 3d floors;

- angle floor and ceiling texture rotations like in gzdoom;

- texture skewing;
- crouching would be cool either to get implemented;
- crazy optimization technique, instead of fog use pre-rendered screens in the distance;
- lzdoom sprite and wall distance culling optimization;
- modern gzdoom 3d floors, so one can stack lots of different tags over one sector giving it more control;
- higher resolutions;

 

Spoiler

Thanks, I'm already running away from here really fast...

 

Edited by Darkcrafter07

Share this post


Link to post

 

I'm currently working on a random multiplayer WAD using the ACE Engine. Not sure if this is a bug or not but killing a player doesn't count as a frag for some odd reason.

 

Will provide the wad file if needed.

 

Also a feature suggestion I would like to bring up if it hasn't been implemented is the ability to change player class as a function. I recall my brother was able to turn the player into a monster as a powerup on an old mod he was working on.

 

EDIT : Also a couple of recommendations for the multiplayer menu, would be to have the ability to force disable cheats wiht ACE_CONF and allow certain command lines like -deathmatch and -warp because that can be essential to launchers like NukemNet and Classic Gaming Arena.

Edited by THEBaratusII

Share this post


Link to post
14 hours ago, Darkcrafter07 said:

- cheat codes must be entered via prompt

That's intentional. It was kinda easier than using old system.

14 hours ago, Darkcrafter07 said:

some cheat codes like idbehold and idclev aren't there

Yeah. These specifically are replaced with give and map cheats. Since maps can use any name (not just MAP01) and powerups use decorate names.

It would be possible to add these cheats though.

14 hours ago, Darkcrafter07 said:

killed monsters are passable immediately

That's what GZDoom does. This is emulating GZDoom.

14 hours ago, Darkcrafter07 said:

torches, burning barrels, impaled zombies don't block actors and can be easily oversteped

That's kinda what GZDoom does. But GZDoom does modify heights in definitions.

This is possible to address but requires some considerations, like use of DEHACKED and ProjectilePassHeight property.

14 hours ago, Darkcrafter07 said:

low detail mode isn't working

Not a bug. It's removed. Intentionally - like in Hexen and Heretic. These both use linear framebuffer like i do. Low detail mode is no longer CPU efficient.

14 hours ago, Darkcrafter07 said:

occasional cyan colored screen

That was a bug i have already fixed in source code. I have yet to make binary release.

14 hours ago, Darkcrafter07 said:

jumping doesn't work

You have to create new player class that has Player.JumpZ value set. Default DoomPlayer has zero, thus no jumping.

14 hours ago, Darkcrafter07 said:

features

Some of those are reasonable but not quick to code ...

 

10 hours ago, THEBaratusII said:

Not sure if this is a bug or not but killing a player doesn't count as a frag for some odd reason.

Actually yes. A bug. I have removed frag counting to get free space in player_t structure.

But then i have never got to re-implement it again.

10 hours ago, THEBaratusII said:

Also a feature suggestion I would like to bring up if it hasn't been implemented is the ability to change player class as a function.

Yeah, that's PowerMorph in GZDoom. I did not have time to implement this as it reached some limitations of my DECORATE handling.

 

 

So. I am gonna try to make bugfix release this weekend which will address frags and already patched berserk palette.

Share this post


Link to post
On 11/9/2023 at 11:42 AM, kgsws said:

Actually yes. A bug. I have removed frag counting to get free space in player_t structure.

 

But then i have never got to re-implement it again.

Yeah, that's PowerMorph in GZDoom. I did not have time to implement this as it reached some limitations of my DECORATE handling.

 

 

So. I am gonna try to make bugfix release this weekend which will address frags and already patched berserk palette.

 

That's unfortunate about the PowerMorph thing, and thanks for the response. Also one more thing for now, I think it's a good idea to have Enable Cheats toggled off by default in the multiplayer menu, sometimes when I test it with people it gets left on by mistake.

 

UPDATE : Looks like I found another thing missing in multiplayer, which is the ability to type messages. Could that be added back?

Edited by THEBaratusII

Share this post


Link to post

Ok, netgame bugfix is done: https://github.com/kgsws/doom_ace/releases/tag/v3

 

 

On 11/9/2023 at 8:14 PM, THEBaratusII said:

I think it's a good idea to have Enable Cheats toggled off by default

Done

On 11/9/2023 at 8:14 PM, THEBaratusII said:

Looks like I found another thing missing in multiplayer, which is the ability to type messages. Could that be added back?

Done. You have type message as "cheat" and it will be sent as a message. There is no new "chat" key, there is only "cheat" key.

If you want cheats in multiplayer (useful for testing), use ! as a first character.

 

Also one extra thing. I have added support for colored player background to intermission. Original background is too dark though.

If you are making a custom WAD, i recommend you to change patch STPB0 to something brighter. Just remember, it has to use player base color (green in default).

(Now that i think about it, it's not exactly the best solution. It will break if you use more player classes with different base color.)

Share this post


Link to post
3 minutes ago, kgsws said:

Ok, netgame bugfix is done: https://github.com/kgsws/doom_ace/releases/tag/v3

  

 

Done

 Done. You have type message as "cheat" and it will be sent as a message. There is no new "chat" key, there is only "cheat" key.

 If you want cheats in multiplayer (useful for testing), use ! as a first character.

 

Also one extra thing. I have added support for colored player background to intermission. Original background is too dark though.

 If you are making a custom WAD, i recommend you to change patch STPB0 to something brighter. Just remember, it has to use player base color (green in default).

 (Now that i think about it, it's not exactly the best solution. It will break if you use more player classes with different base color.)

Does this also fix the frag counter?

Share this post


Link to post
3 hours ago, kgsws said:

Ok, netgame bugfix is done: https://github.com/kgsws/doom_ace/releases/tag/v3

 

 

Done

Done. You have type message as "cheat" and it will be sent as a message. There is no new "chat" key, there is only "cheat" key.

If you want cheats in multiplayer (useful for testing), use ! as a first character.

 

Also one extra thing. I have added support for colored player background to intermission. Original background is too dark though.

If you are making a custom WAD, i recommend you to change patch STPB0 to something brighter. Just remember, it has to use player base color (green in default).

(Now that i think about it, it's not exactly the best solution. It will break if you use more player classes with different base color.)

 

Thanks, but however I tested it and while the frag counts in the intermission screen, it doesn't in the status bar. Not only that but the text messaging is a bit finicky with some letters not registering correctly.

 

image.png.b0860be131cd1cc82d60cad41f807171.png

 

Also off-topic but is implementing +BOUNCEONWALLS possible for ACE Engine? Could help a bit with grenades and a few other weapons I thought about for my mod.

Share this post


Link to post

Another bugfix release https://github.com/kgsws/doom_ace/releases/tag/v4

 

 

17 hours ago, THEBaratusII said:

it doesn't in the status bar

Yeah, sorry. I totally forgot about that. Now it works, but it can't show negative frags ... due to other changes i did in the past.

 

17 hours ago, THEBaratusII said:

text messaging is a bit finicky

Again, fixed. The issue was that if you used text without any space, last letter would get removed.

 

Now i hope that's all. But still, report anything you find out broken.

 

17 hours ago, THEBaratusII said:

implementing +BOUNCEONWALLS

It is. But it is not gonna be as quick as these bugfixes. I might add this in the future though.

Share this post


Link to post
4 hours ago, kgsws said:

Now it works, but it can't show negative frags ... due to other changes i did in the past.

Are there still plans to fix this?

Share this post


Link to post
49 minutes ago, OpenRift said:

Are there still plans to fix this?

Can't speak for him, but perhaps he could color negative frags in a different color or something, if he can't display a negative sign.

Share this post


Link to post
21 hours ago, Dark Pulse said:

Can't speak for him, but perhaps he could color negative frags in a different color or something, if he can't display a negative sign.

That would require either dedicated sprites or a new colormap for that, I think, which isn't a very elegant solution imo.

Share this post


Link to post
On 11/12/2023 at 7:22 PM, OpenRift said:

Are there still plans to fix this?

Eventually yes, i guess. It kinda seems to be a low priority thing since how many players are gonna try to "collect" negative frags.

 

On 11/12/2023 at 8:12 PM, Dark Pulse said:

Can't speak for him, but perhaps he could color negative frags in a different color or something, if he can't display a negative sign.

Once i can detect negative numbers, it does not really matter if i use minus sign or change colors. So, minus sign is a better choice.

Share this post


Link to post
12 minutes ago, kgsws said:

Eventually yes, i guess. It kinda seems to be a low priority thing since how many players are gonna try to "collect" negative frags.

Depends on how badly they're getting dominated in deathmatch and how clumsy they are ;)

Share this post


Link to post
29 minutes ago, kgsws said:

Once i can detect negative numbers, it does not really matter if i use minus sign or change colors. So, minus sign is a better choice.

Okay, I offered that solution because I thought you might have removed the minus sign graphic/logic to display it to gain some space or something. :P

Share this post


Link to post

@kgsws,

 

Is a map like this could be ever made into ACE? It seems like even GZDoom's software renderer can not handle it in all the glory as some bugs show up like when a sidedef mid texture gets scaled it doesn't get rendered anymore. It's UDMF only unfortunately and works in GZDoom/LZDoom hardware renderer the best.

 

Would be really cool if you implemented more features and still kept it DOS. I'd be really glad to make maps like this.

D2_M23_intensified.zip

Edited by Darkcrafter07

Share this post


Link to post
On 12/4/2023 at 10:58 PM, Darkcrafter07 said:

Is a map like this could be ever made into ACE? It seems like even GZDoom's software renderer can not handle it in all the glory as some bugs show up like when a sidedef mid texture gets scaled it doesn't get rendered anymore. It's UDMF only unfortunately and works in GZDoom/LZDoom hardware renderer the best.

I'm not sure what part are you referring to. Yes, software renderer in GZDoom is broken when 3D floors are used.

I did not really see anything extreme that is not possible in ACE Engine already. Maybe i was not looking well.

Can you post screenshot of the issue?

Share this post


Link to post
36 minutes ago, kgsws said:

I'm not sure what part are you referring to. Yes, software renderer in GZDoom is broken when 3D floors are used.

I did not really see anything extreme that is not possible in ACE Engine already. Maybe i was not looking well.

Can you post screenshot of the issue?


It's visplane overflow issue being the #1 then it's a fact ACE doesn't support UDMF? I have not figured a way to load GZDoom UDMF maps into ACE yet and with it I can assign multiple tags over a sector and there's no support for sloped terrain unfortunately.

https://imgur.com/a/JzXBgx8

 

Btw, could you please provide a complete ACE cfg file that can be put in a WAD so noobs like me could use it easier instead of reading the manual?

Share this post


Link to post
On 12/12/2023 at 10:15 PM, Darkcrafter07 said:

That is GZdoom bug. This should work in ACE engine.

 

On 12/12/2023 at 10:15 PM, Darkcrafter07 said:

I have not figured a way to load GZDoom UDMF maps into ACE

ACE Engine does not support UDMF. It only supports Hexen and original Doom format.

 

On 12/12/2023 at 10:15 PM, Darkcrafter07 said:

It's visplane overflow issue being the #1 then it's a fact ACE doesn't support UDMF?

Visplane limit can be raised in WAD config lump.

 

On 12/12/2023 at 10:15 PM, Darkcrafter07 said:

I can assign multiple tags over a sector

Yeah, that is not supported in ACE Engine. Hexen map format does not allow it.

 

On 12/12/2023 at 10:15 PM, Darkcrafter07 said:

Btw, could you please provide a complete ACE cfg file that can be put in a WAD so noobs like me could use it easier instead of reading the manual?

That's a bit tricky as it depends on what you actually want to do.
You could start by using config lump from demo i released. It even has render limits risen.

Share this post


Link to post
23 hours ago, kgsws said:

You could start by using config lump from demo i released. It even has render limits risen.

Thank you, I didn't think about it! Btw, do you have any plans on adding UDMF support though?

 

Added: I think GZDoom's software renderer supports sloped terrain, well, 3D models in the near sight too, maybe that helps. What GZDoom doesn't support is sloped 3D-floors in software mode, a workaround for this could be rendering them as 3D-models.

Edited by Darkcrafter07

Share this post


Link to post
On 12/15/2023 at 3:07 PM, Darkcrafter07 said:

you have any plans on adding UDMF support though?

 

I'm not even sure it's possible. Remember this is an upgrade of the original Doom Engine, not the entirely new engine based on the idtech1 source codes.

 

UDMF is absolutely different beast.

Share this post


Link to post
On 12/15/2023 at 11:07 AM, Darkcrafter07 said:

Thank you, I didn't think about it! Btw, do you have any plans on adding UDMF support though?

No. UDMF as a format is one thing but various features are other thing.

 

On 12/17/2023 at 11:47 AM, Dexiaz said:

I'm not even sure it's possible.

It is possible.

At one point i had UDMF loader working. But it still only supported features of Hexen map format. So at that point UDMF was ... pointless ... and slower to load.

Oh, and collisions were not working as UDMF does not provide BLOCKMAP.

 

 

But yeah, no UDMF in ACE Engine.

Share this post


Link to post
4 minutes ago, kgsws said:

No. UDMF as a format is one thing but various features are other thing.

 

It is possible.

At one point i had UDMF loader working. But it still only supported features of Hexen map format. So at that point UDMF was ... pointless ... and slower to load.

Oh, and collisions were not working as UDMF does not provide BLOCKMAP.

 

 

But yeah, no UDMF in ACE Engine.

Alright, thanks anyway, works really great even this way!

Share this post


Link to post

I need help with launching  it on dosbox, it gives an error "Texture OVERADDR is missing patch"

Share this post


Link to post
Posted (edited)
2 hours ago, I6g9o5r1 said:

I need help with launching  it on dosbox, it gives an error "Texture OVERADDR is missing patch"


You can load only one of ACE wads at the time. Loading both ace.wad and ademo1.wad or any other wad that contains the same stuff original "ace.wad" does is wrong.

 

Correct: Doom2.exe -file ace.wad

Correct: Doom2.exe -file ademo1.wad

Wrong: Doom2.exe -file ace.wad ademo1.wad

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×