Obligatory Legacy of Rust/ Nightdive Doom Port thread

If it's not ZDoom, it goes here.
User avatar
scalliano
Posts: 2856
Joined: Tue Jun 21, 2005 1:16 pm
Location: Ireland

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by scalliano »

Xterra wrote: Sun Aug 25, 2024 6:57 am It's certainly doable, on both fronts; the DEC conversion I've got with SilentZorah has the head spawn and fall correctly. I don't know how SZ did it at the moment, as I haven't looked at the code as of writing.
The issue for me is translating the speed/direction values from A_SpawnObject to A_SpawnItemEx, and the fact that DECORATE doesn't appear to have an equivalent to the +LOGRAV flag, dunno if that's going to end up requiring ZScript
or not.

EDIT: Scratch that second part, it's controlled by the Gravity property. My bad.

Double EDIT: See below.
Last edited by scalliano on Sun Aug 25, 2024 9:14 am, edited 2 times in total.
Gez
 
 
Posts: 17936
Joined: Fri Jul 06, 2007 3:22 pm

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Gez »

You can always look at how GZDoom handles DEHACKED... In this case, the flag corresponds to a gravity property of 0.125.
User avatar
scalliano
Posts: 2856
Joined: Tue Jun 21, 2005 1:16 pm
Location: Ireland

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by scalliano »

Yeah, turns out I was looking at the wrong wiki page. That one's on me.
yum13241
Posts: 853
Joined: Mon May 10, 2021 8:08 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): EndeavorOS (basically Arch)
Graphics Processor: Intel with Vulkan/Metal Support

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by yum13241 »

Gez wrote: Sun Aug 25, 2024 9:11 am You can always look at how GZDoom handles DEHACKED... In this case, the flag corresponds to a gravity property of 0.125.
We're still keeping Boom jank alive? Wow. (+LOGRAV was one of many properties you could set back in Boom Extended DeHackEd (BEX) in a friggin BITFIELD.)
Oh, that's to be expected, because A_RailWait exists. Rail fucking Wait.
User avatar
Clayman_Colony
Posts: 12
Joined: Fri Aug 16, 2024 11:59 pm

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Clayman_Colony »

Lol, I see clearly now how they made the Calamity blade:

See attached image and links for some related info. You can clearly see BFG and Calamity blade are both made from the same toy, legendary!


https://doomwiki.org/wiki/BFG9000
https://doomwiki.org/wiki/BFG9000
You do not have the required permissions to view the files attached to this post.
Professor Hastig
Posts: 256
Joined: Mon Jan 09, 2023 2:02 am
Graphics Processor: nVidia (Modern GZDoom)

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Professor Hastig »

That "Boom jank' is needed to play some old mods that happen to use these features - not that any of the two you mention create any actual baggage that may turn into a problem later.
Gez
 
 
Posts: 17936
Joined: Fri Jul 06, 2007 3:22 pm

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Gez »

yum13241 wrote: Sun Aug 25, 2024 12:35 pm We're still keeping Boom jank alive? Wow. (+LOGRAV was one of many properties you could set back in Boom Extended DeHackEd (BEX) in a friggin BITFIELD.)
Jank isn't too bad when it's contained in something like the DEHACKED parser where it can be safely handled during initialization and ignored afterwards.

The problem is when jank escapes the confines of containment and has to be pulled back into the core mechanics of the game.
yum13241
Posts: 853
Joined: Mon May 10, 2021 8:08 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): EndeavorOS (basically Arch)
Graphics Processor: Intel with Vulkan/Metal Support

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by yum13241 »

What I was trying to say was that in ID24, they should've turned +LOGRAV into a scalar quantity like ZDoom did back in the day. Otherwise, it becomes a smidge better than A_RailWait.
The problem is when jank escapes the confines of containment and has to be pulled back into the core mechanics of the game.
Spoiler: Jank
The whole point of a standard is to make stuff better, not keep around old stuff because we're used to it. Otherwise, we'd still use VGA! Expanding DeHackEd today is like playing your GameCube games with a GameCube, or like designing maps around (to exploit) the MBF three-key bug today. (I will never play your map ever, and will tell people not to do so)
Image
Professor Hastig
Posts: 256
Joined: Mon Jan 09, 2023 2:02 am
Graphics Processor: nVidia (Modern GZDoom)

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Professor Hastig »

yum13241 wrote: Mon Aug 26, 2024 5:23 am Or the whole "rocket jumping" Randi added to ZDoom with no real way of turning it off. We all know what the euphemism Randi-style "improvement", invented by Graf, means.
There's two compatibility flags for this now so this one can be considered solved - thank God! :P
yum13241 wrote: Mon Aug 26, 2024 5:23 am The whole point of a standard is to make stuff better, not keep around old stuff because we're used to it. Otherwise, we'd still use VGA! Expanding DeHackEd today is like playing your GameCube games with a GameCube, or like designing maps around (to exploit) the MBF three-key bug today. (I will never play your map ever, and will tell people not to do so)
True, but you cannot expect people with deep investments into the old tech to leave it behind. Dehacked is here to stay so it gets expanded because doing so is the path of least resistance. It's not unlike the financial industry hanging on to COBOL and expanding it - migrating away would incur some high short term costs - and we all know that these always overshadow the long term ramifications.
yum13241
Posts: 853
Joined: Mon May 10, 2021 8:08 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): EndeavorOS (basically Arch)
Graphics Processor: Intel with Vulkan/Metal Support

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by yum13241 »

It's not unlike the financial industry hanging on to COBOL and expanding it - migrating away would incur some high short term costs - and we all know that these always overshadow the long term ramifications.
Changing out COBOL costs money. Developing something for Doom modding doesn't, except bills you are paying anyway, unless you're that poor, in that case, Doom modding is the least of your concerns, and I hope you can get better.
True, but you cannot expect people with deep investments into the old tech to leave it behind
A DEHACKED to DECORATE converter is feasible, a COBOL to C++ converter is not.
User avatar
scalliano
Posts: 2856
Joined: Tue Jun 21, 2005 1:16 pm
Location: Ireland

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by scalliano »

yum13241 wrote: Mon Aug 26, 2024 5:23 am like playing your GameCube games with a GameCube
This will be a weird statement to anyone not versed in emulation.

For the record I still use my Gamecube, and I use Dolphin for the stupidly expensive games.
yum13241
Posts: 853
Joined: Mon May 10, 2021 8:08 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): EndeavorOS (basically Arch)
Graphics Processor: Intel with Vulkan/Metal Support

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by yum13241 »

This will be a weird statement to anyone not versed in emulation.
What I meant is that even that old Wii lying around in your grandma's basement is probably a better way to play your old GameCube games, just like how literally any source port in existence will be better for playing Doom than your grandpa's 386.

(Almost) no one plays DOOM.EXE on period-accurate hardware, and even less as their main way of playing. Just like how no-one uses MBF.EXE anymore, which is why no one bothers to check for the 3 key bug.

There's clearly a lot of baggage that exists within Doom modding standards, let's eliminate some.
User avatar
Rachael
Posts: 13836
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Rachael »

I don't agree with eliminating DEHACKED entirely. I am just against expanding it. DEHACKED is a standard that was once required in order to do any custom actors at all, and it was quite novel for its use during its time. Now we have better ways to do this and everything is abstracted, so there is really no need to stick to the old ways. In fact, a standard that was created 12 years later (DECORATE) works perfectly fine. And for those who are exceptionally averse to ZDoom-related stuff for whatever reason, alternatives exist, such as EDGE's DDF or Eternity Engine's EDF.

The reason why I won't advocate for the use of ZScript is because that one goes too deep into the engine's internals, and it's far too unreasonable to expect any non-GZDoom based port to support it.
User avatar
Xterra
Posts: 69
Joined: Thu Feb 24, 2011 3:20 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Win7 SP1 / Tiny10 dualboot
Graphics Processor: nVidia with Vulkan support
Location: The ragged edge of disaster ('Bama)

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Xterra »

Rachael wrote: Tue Aug 27, 2024 6:24 am I don't agree with eliminating DEHACKED entirely. I am just against expanding it. DEHACKED is a standard that was once required in order to do any custom actors at all, and it was quite novel for its use during its time. Now we have better ways to do this and everything is abstracted, so there is really no need to stick to the old ways. In fact, a standard that was created 12 years later (DECORATE) works perfectly fine. And for those who are exceptionally averse to ZDoom-related stuff for whatever reason, alternatives exist, such as EDGE's DDF or Eternity Engine's EDF.

The reason why I won't advocate for the use of ZScript is because that one goes too deep into the engine's internals, and it's far too unreasonable to expect any non-GZDoom based port to support it.
That, and quite frankly-- sorry Graf-- ZScript is, for whatever reason, a *nightmare* for me to navigate, even though it's just combo DEC+ACS with more functions.
It's like C++ vs Java for me...I can comprehend C++ code kinda-sorta OK, but Java? Fuck outta here.

That's...primarily my autism speaking, I'll be real, but...man, it really fucks with me.
User avatar
Rachael
Posts: 13836
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: Obligatory Legacy of Rust/ Nightdive Doom Port thread

Post by Rachael »

In the nitty gritty ZScript is very simple.

(just as an example):

Code: Select all

void MyFunction()
{
  let impdude = AwesomeImpDude(Spawn("AwesomeImpDude"));
  impdude.dosomething();
}
C syntax is very common and it is worth getting used to. If you work with it on a daily basis it gets easier. I have seen complete programming novices (in their 50's no less) pick up similar languages very quickly and understand them and be able to do things with them. It's just a matter of working with it enough that it becomes native to your workflow.

Beyond that, there are a number of references that will help.

https://zdoom.org/wiki/ZScript
https://jekyllgrim.github.io/ZScript_Basics/
https://zdoom-docs.github.io/staging/

Failing all of that, there's the internal engine ZScript that can be got by extracting the ZScript folder from GZDoom.pk3.

And any games that make extensive use of ZScript, feel free to peek at them, too.

Return to “Off-Topic”