Page 1 of 2

Duke Nukem 64 support for RedNukem

Posted: Sun Jul 05, 2020 9:04 am
by ReaperAA
The madman Nuke.YKT has done something great again. He has added DN64 support for his RedNukem port.

Raze supporting DN64 when :3:

Re: Duke Nukem 64 support for RedNukem

Posted: Sun Jul 05, 2020 9:16 am
by Graf Zahl
I wish he'd have done it as its own project. This essentially makes it impossible to fetch any updates from his repo again. The way he did it is simply not compatible with Raze at all, putting OpenGL 2.x code directly into the game.

Re: Duke Nukem 64 support for RedNukem

Posted: Sun Jul 05, 2020 9:44 am
by ReaperAA
Graf Zahl wrote:I wish he'd have done it as its own project. This essentially makes it impossible to fetch any updates from his repo again. The way he did it is simply not compatible with Raze at all, putting OpenGL 2.x code directly into the game.
Oh. Well its not a biggie for me as I can still play DN64 from RedNukem itself.

Re: Duke Nukem 64 support for RedNukem

Posted: Sun Jul 05, 2020 9:49 am
by Dynamo
ReaperAA wrote:
Graf Zahl wrote:I wish he'd have done it as its own project. This essentially makes it impossible to fetch any updates from his repo again. The way he did it is simply not compatible with Raze at all, putting OpenGL 2.x code directly into the game.
Oh. Well its not a biggie for me as I can still play DN64 from RedNukem itself.
By the looks of it, this seems to present a bigger issue than just being able to play Duke64 or not, in case you weren't aware.

Re: Duke Nukem 64 support for RedNukem

Posted: Sun Jul 05, 2020 9:49 am
by Enjay
From what Graf said, it sounds like a bigger problem than that for Raze development though. :(

[edit]Ninja'd by Dynamo[/edit]

Re: Duke Nukem 64 support for RedNukem

Posted: Sun Jul 05, 2020 10:12 am
by ReaperAA
Dynamo wrote:
ReaperAA wrote:
Graf Zahl wrote:I wish he'd have done it as its own project. This essentially makes it impossible to fetch any updates from his repo again. The way he did it is simply not compatible with Raze at all, putting OpenGL 2.x code directly into the game.
Oh. Well its not a biggie for me as I can still play DN64 from RedNukem itself.
By the looks of it, this seems to present a bigger issue than just being able to play Duke64 or not, in case you weren't aware.
Aw Sh*t. I only realized it now that it means that RedNukem's future updates/commits can no longer be incorporated into Raze. Big oof

Re: Duke Nukem 64 support for RedNukem

Posted: Sun Jul 05, 2020 11:51 am
by sinisterseed
Well, now that's one big plot twist if I ever saw one :(. I was sure we were going to backport the changes just fine but I guess that's no longer possible at all.

Worse yet, now backporting the changes from that codebase is no longer possible either? Oh man...

But I truly don't understand why he did it the way he did it. Why was the GL 2.x code mixed with the DN64 codebase?

Re: Duke Nukem 64 support for RedNukem

Posted: Sun Jul 05, 2020 11:55 am
by Graf Zahl
To clarify what I mean:

RedNukem's biggest problem has always been that the code tried as hard as possible to reduce any redundancy - leading to endless checks for the active game throughout the entire code base. This has been an issue from the start because it is virtually impossible to understand the program flow. It was bad with Duke, RR and RRRA, then Deer Huntin' got added by using the same approach and now again the same method for Duke 64. I grudgingly took Deer Huntin although I have no interest in that game but couldn't really go on without it - but this latest addition is simply too much. With this state of things I am entirely dependent on upstream for handling the game code which is not my idea of source port.
The new renderer is just the final straw on top of that. It's OpenGL compatibility profile with various modern additions and entirely incompatible with Raze's render backend. I'd have to rewrite this code from scratch to make use of it. I'm sorry but at some point it becomes too much work - and this Duke64 thing is that point. But since the additions to the game's core code are so invasive I'd rather pass on RedNukem as a whole from now on.
lowskill. wrote: But I truly don't understand why he did it the way he did it. Why was the GL 2.x code mixed with the DN64 codebase?
It's not mixed but it's a necessary prerequisite for running Duke64. Which means I cannot just drop in the code and make it work with Raze.

Re: Duke Nukem 64 support for RedNukem

Posted: Sun Jul 05, 2020 11:56 am
by Gez
lowskill. wrote:But I truly don't understand why he did it the way he did it. Why was the GL 2.x code mixed with the DN64 codebase?
The explanation is probably here:
oasiz wrote:From game play side there won't be major differences but this one instead aims to port over bigger parts like the rendering from N64 version.
In other words, this is a true port.

Re: Duke Nukem 64 support for RedNukem

Posted: Sun Jul 05, 2020 11:59 am
by Phredreeke
This is what NY00123 had to say about it on Discord
So far, the NBlood repository was more-or-less the same as the EDuke32 repo, except for having additional game trees and other small changes for most.
voidpoint.io won't have fully reverse-engineered games, and DN64 (including its renderer) looks like no exception to this.
So, I guess that DN64's renderer can either be a part of Rednukem (as it is right now), or sit in another directory, separate from the games, audiolib, mact and build.
Anyway, what about forking RedNukem to make a Raze-specific Duke module? I would have thought that was inevitable either way.

Re: Duke Nukem 64 support for RedNukem

Posted: Sun Jul 05, 2020 12:20 pm
by Graf Zahl
Interesting statement about the reverse engineered games and certainly understandable from a corporate standpoint.

But whether the renderer is part of RedNukem or sitting alone isn't really the issue here the issue is that getting this game to work looks like a lot more work than I am willing to invest.

Re: Duke Nukem 64 support for RedNukem

Posted: Sun Jul 05, 2020 12:29 pm
by Cacodemon345
Seems like I will be waiting for a very, very long time to play Duke64 on Raze, judging from the discussion here. Might as well abandon hope for it.

I don't really have anything against the decision to drop plans for Duke64 in Raze however, since Doom 64 EX exists as a faithful recreation of Doom 64.

Re: Duke Nukem 64 support for RedNukem

Posted: Sun Jul 05, 2020 12:35 pm
by sinisterseed
Especially since we just lack the manpower.

As it stands, I understand that it is technically possible to integrate it, but you will first have to basically rewrite the entire code base to make it compatible, and that simply cannot be done at this point in time, we have our plans too but also finite resources. The most active folks writing actual code for Raze are Graf himself and MJ for quite a while now - I'm a tester, not a programmer, sadly, if I knew, I would have contributed in that sense as well since day-1, but even if I would, backporting that stuff would be way out of my league.

So for as long as we're short-handed, Duke64 is not going to come to Raze.

Re: Duke Nukem 64 support for RedNukem

Posted: Sun Jul 05, 2020 12:40 pm
by Phredreeke
To bring context to my comment about a Raze-specific Duke module, I was talking about Duke, RR and RRRA, not Duke64.

Re: Duke Nukem 64 support for RedNukem

Posted: Mon Jul 06, 2020 3:34 am
by Dynamo
My apologies if this is a dumb question, but does it mean that current RedNukem support will be stripped outright as well? i.e. the current cvar used to enable RedNukem compatibility mode and all that? Not that I necessarily mind, I'm just curious.