Duke4.net Forums: ReDuke: Duke Nukem 1 for Windows - Duke4.net Forums

Jump to content

Hide message Show message
Welcome to the Duke4.net Forums!

Register an account now to get access to all board features. After you've registered and logged in, you'll be able to create topics, post replies, send and receive private messages, disable the viewing of ads and more!

  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

ReDuke: Duke Nukem 1 for Windows  "by K1n9_Duk3"

User is offline   K1n9_Duk3 

  • 75

#31

Lessen learned here: Abandon you project if you want to get people to use its potential. :rolleyes:

But seriously, thanks for posting this. It's nice to see that people actually care about Duke 1.

I would have changed Duke's skin color, though. The red shirt makes him look even more sunburned than usual.

Hail to the K1n9, baby!
3

User is offline   enderandrew 

  • 2

#32

I just discovered this project and it is very exciting. I have a few questions.

hrp.ini talks about a bunch of replacement files such as:

hq_credits.png

But they are not included in the package, only hq_border.png and hq_sprites.png. Where can I find all the other replacement files?

I copied in folders for Duke1, Duke2, and Duke3. I added the games and they were detected. But when I go to launch the games, it see a load screen briefly and then it crashes immediately.

Posted Image

http://pastebin.com/SATYBbJP - log file

Any suggestions on how to get this to work?
0

User is offline   K1n9_Duk3 

  • 75

#33

View Postenderandrew, on 11 January 2017 - 01:20 PM, said:

hrp.ini talks about a bunch of replacement files such as:

hq_credits.png

But they are not included in the package, only hq_border.png and hq_sprites.png. Where can I find all the other replacement files?

I'm sorry, you can't. I only created some quick hi-res placeholders for testing (as seen in the HD test video). Those images were never supposed to be released to the public. The filenames are in hrp.ini simply because they used to be hard-coded in earlier versions and I wanted to make things easier just in case someone created hi-res graphics using the earlier versions.

View Postenderandrew, on 11 January 2017 - 01:20 PM, said:

But when I go to launch the games, it see a load screen briefly and then it crashes immediately.

Any suggestions on how to get this to work?

I can see from the log file that the game crashes while loading the sounds from DUKE1.DN1. I can't say why that happens from here. Maybe your file is corrupted? For reference, DUKE1-B.DN? should be 6158 bytes with a CRC32 of B5AEF346 and DUKE1.DN? should be 5692 bytes with a CRC32 of FE6562BA (the files are identical for all three episodes). The game detection in the front-end only checks if all files are present, it doesn't check the actual contents of the files.

Try running ReDuke with the "debug" parameter, that will put additional information in the log file while loading the sounds. That should help me figure out when the crash happens.
You can also try the "export" parameter. That will save all the individual sound effects as wave files, which could also be used to determine which sound effect causes the crash.

Edit: fixed file names

Hail to the K1n9, baby!

This post has been edited by K1n9_Duk3: 11 January 2017 - 03:28 PM

0

User is offline   enderandrew 

  • 2

#34

I'd have to download a hash tool to check the CRC32 of the file, but it is 5,692 bytes. I grabbed the copy initially from my DOSBOX folder, where the game loads in DOSBOX just fine. Then I grabbed a copy from my Steam version, and both crash. All 3 episodes crash for me.

Here is a log file with /debug /export

http://pastebin.com/ZYEGn623

Edit: And while you said you're done with this, controller support would be nice if you did decide to pick it back up again. xBRZ support for the sprites might be nice as well.

https://sourceforge.net/projects/xbrz/

This post has been edited by enderandrew: 11 January 2017 - 02:44 PM

0

User is offline   K1n9_Duk3 

  • 75

#35

Okay, so the program can't even read the first sound (there are 24 sounds in each file, so 48 sounds total). Did it create a wave file called "000-PLAYERDEATH.wav" and if so, does that file contain the entire sound (the wave file should be about 44 kB)?

If the file exists and contains sound, your system is unable to load audio samples and that causes the crash. I have encountered similar issues on Windows 10 when I didn't have any speakers or headphones connected.

If the file does not exists, then my PC speaker to wave converting code contains an error (which I doubt since the code worked perfectly fine on any machine I ever tested this on).

By the way, if you have 7-Zip installed, you can just compress files into a zip file, open the zip file with 7-Zip and it shows you the CRC(32) of all the files. The same might apply to other zip programs as well.

Hail to the K1n9, baby!

This post has been edited by K1n9_Duk3: 11 January 2017 - 03:07 PM

0

User is offline   enderandrew 

  • 2

#36

It did extract and make a playable 000-PLAYERDEATH.wav file, but I don't see any other wav files.

Posted Image

This post has been edited by enderandrew: 11 January 2017 - 03:11 PM

0

User is offline   K1n9_Duk3 

  • 75

#37

Yes, your log file tells me that ReDuke crashed after reading the first sound from DUKE1.DN1, which is called PLAYERDEATH. All sounds are converted one at a time, exported as a wave file (if "export" was used) and then loaded as a sound object using a function called LoadSound(). If it crashes at that point, it can't convert and export any of the other sounds.

I have never seen the LoadSound() function cause a crash (it usually just returns a Null pointer if something goes wrong), and that function is part of the language ReDuke was written in, so I can't really do anything about it. It isn't really documented what the LoadSound() function actually does, but it might do some low level audio stuff that causes a crash with your audio hardware and/or its drivers.

Try updating your sound drivers, maybe that can fix the problem.

PS: Your DUKE1.DN1 file appears to be the same one I have, so that's definitely not the problem.

Edit:
I could try to catch the crash when LoadSound() is called, but if there are issues with your audio hardware, all the other audio stuff could cause crashes, too, so you still might not be able to to play. But I really don't want to release any new versions of ReDuke, since the project could be considered illegal and I don't want any trouble with Gearbox.

Hail to the K1n9, baby!

This post has been edited by K1n9_Duk3: 11 January 2017 - 03:51 PM

0

User is offline   enderandrew 

  • 2

#38

View PostK1n9_Duk3, on 11 January 2017 - 03:27 PM, said:

Yes, your log file tells me that ReDuke crashed after reading the first sound from DUKE1.DN1, which is called PLAYERDEATH. All sounds are converted one at a time, exported as a wave file (if "export" was used) and then loaded as a sound object using a function called LoadSound(). If it crashes at that point, it can't convert and export any of the other sounds.

I have never seen the LoadSound() function cause a crash (it usually just returns a Null pointer if something goes wrong), and that function is part of the language ReDuke was written in, so I can't really do anything about it. It isn't really documented what the LoadSound() function actually does, but it might do some low level audio stuff that causes a crash with your audio hardware and/or its drivers.

Try updating your sound drivers, maybe that can fix the problem.

PS: Your DUKE1.DN1 file appears to be the same one I have, so that's definitely not the problem.

Edit:
I could try to catch the crash when LoadSound() is called, but if there are issues with your audio hardware, all the other audio stuff could cause crashes, too, so you still might not be able to to play. But I really don't want to release any new versions of ReDuke, since the project could be considered illegal and I don't want any trouble with Gearbox.

Releasing a new version isn't any different from already having one out in the wild.

And it isn't illegal to make Duke mods, or engines that can read game files.

Gearbox has been putting in their patch notes for Duke Nukem 3D World Tour that they're working to make their game files work even better in source ports. They're openly embracing fan-made engines to play their game files.

Audio is working on my computer, and I can play the .wav file that export produced.
0

User is offline   K1n9_Duk3 

  • 75

#39

The situation with Duke Nukem 3D is different. Its source code has been released to the public under the GPL, Duke 1's source code hasn't. ReDuke is not a source port.

Let's see if we can isolate the problem. I will write a simple tool that converts and plays all the sound effects from Duke 1. That would allow you to test things.

Meanwhile, you can try some other programs created with the same programming tools as ReDuke:

Duke Nukem 2 Editor
KEENGINE

The editor allows you to edit and play the sound effects from Duke2 (among other things). Select "AudioT Editor" from the main menu, then "Load AudioT". In the list of sounds, use arrow keys to select one of the PC Speaker sounds and press the space bar to load and play that sound.

KEENGINE is a game engine that comes with a small tech demo. It loads some sounds at startup, so it might crash right away.

Hail to the K1n9, baby!
1

User is offline   TerminX 

  • el fundador
  • 4,566

  #40

View Postenderandrew, on 11 January 2017 - 04:22 PM, said:

Gearbox has been putting in their patch notes for Duke Nukem 3D World Tour that they're working to make their game files work even better in source ports. They're openly embracing fan-made engines to play their game files.

Yep, I have a decent relationship with Gearbox now and specifically requested the DUKE3D.GRP file be fixed so that we could make use of it, and they obliged. They're actually pretty cool guys. The other day I was extremely frustrated by a dispute with one of the companies we (Voidpoint) contract with. I asked Randy what he thought and he took enough time out of his day to write a couple pages worth of replies, containing viewpoints I hadn't considered that ultimately helped solve the problem I was having. I think people forget that the guy is first and foremost an entertainer, and part of that, in the context of representing Gearbox, is to do and say things that will get people talking. The real guy is just that... a real guy. Completely different.

EDuke32 • wiki • svn builds • bugs
Join us in #eduke32 on irc.freenode.net!
7

User is offline   enderandrew 

  • 2

#41

So it ended up being something really weird.

The game will not run if my headphones are plugged in, even though audio works fine through my headphones. But the game will run if I unplug my headphones and put audio through my desktop speakers.

@t800 made new splash screens where Duke has sunglasses and a red shirt. But he didn't replace Duke on the end screen. Here are a full set of hq replacement graphics, including Duke on the end screen with a red shirt and sunglasses.

https://drive.google...UkQxRXRvYldqb2c
1

User is offline   enderandrew 

  • 2

#42

I found the problem and it is on my end. I am in the Windows 10 Insiders Program and I get test builds.

This latest build which installed yesterday breaks Razer Chroma. It is an API handler which injects into games and listens for calls from compatible games to change the lighting on Chroma devices. At first I didn't suspect it because I have a Razer Chroma mouse and mousepad as well. And it isn't crashing with them plugged in. But now all of a sudden the Chroma software (Synapse) is only detecting my headphones. I killed that sotware and now I can Reduke even with my headphones.
0

User is offline   K1n9_Duk3 

  • 75

#43

View Postenderandrew, on 11 January 2017 - 10:29 PM, said:

@t800 made new splash screens where Duke has sunglasses and a red shirt. But he didn't replace Duke on the end screen.


He didn't need to. The image in END.DN3 is just a beta version of the title screen. The END.DN? screens are only shown when Dr. Proton ecapes after being defeated by Duke in the final level of the episode. But Dr. Proton doesn't escape in episode 3, he explodes at the end of the boss battle. So you never get to see END.DN3 in the game, unless you use modified levels.

Trivia: END.DN3 isn't the only leftover from earlier versions. The file MAN4.DN? contains older versions of the Duke sprite that make up a "James Bond"-style animation. The original game doesn't even read that file, so it's a mystery to me why this was included in the release. If you want to see that animation, use ReDuke to celebrate Duke's anniversary.

Hail to the K1n9, baby!
1

User is offline   Master O 

  • 6

#44

On a semi-related note, couldn't Duke Nukem 1 and 2 be reverse engineered from their respective .exes the way Strife was? I'm merely curious.
0

User is online   Hendricks266 

  • EDuke32 Senior Developer
  • 4,725

#45

Yes, they could. Anything is possible.
0

User is offline   Kawa 

  • 203

#46

View PostHendricks266, on 12 March 2017 - 11:19 AM, said:

Yes, they could. Anything is possible.

If you smell like a man and not a lady.

I'm on a horse.

“Laugh it up, fuzzball.” — Han Solo
0

User is online   Hendricks266 

  • EDuke32 Senior Developer
  • 4,725

#47


0

User is offline   K1n9_Duk3 

  • 75

#48

View PostMaster O, on 11 March 2017 - 10:49 PM, said:

On a semi-related note, couldn't Duke Nukem 1 and 2 be reverse engineered from their respective .exes the way Strife was? I'm merely curious.

They could, but I think my approach with ReDuke was slightly less illegal than disassembling the original games without getting permission from whoever owns the rights to the software.

By the way, somebody appears to be working on a high resolution pack for ReDuke:


Hail to the K1n9, baby!
0

User is offline   MissingNO 

  • 9

#49

Hello guys,

I know, that project is discontinued, but I am working on high resolution pack for Reduke.

You can download my progress here (hq_tiles, hq_sprites):
http://leteckaposta.cz/938254909


Thanks K1n9_Duk3 for your post about my project ;)

This post has been edited by MissingNO: 13 March 2017 - 12:11 AM

3

User is offline   Master O 

  • 6

#50

View PostK1n9_Duk3, on 12 March 2017 - 06:37 PM, said:

They could, but I think my approach with ReDuke was slightly less illegal than disassembling the original games without getting permission from whoever owns the rights to the software.

By the way, somebody appears to be working on a high resolution pack for ReDuke:



I thought Gearbox owned all of Duke's IP rights? I doubt they'd care about anyone reverse engineering it anyway, as the source code for Duke 1 and 2 are lost to history?
0

User is online   MusicallyInspired 

  • 2,112

#51

Yes, Gearbox now owns everything.
0

User is offline   MissingNO 

  • 9

#52

Here is my progress on HRP:
Posted Image
Posted Image

Native resolution for this pack is 2560x1440 :)

This post has been edited by MissingNO: 18 March 2017 - 01:36 PM

6

User is offline   Duke Legacy 

  • 826

#53

Really Nice Man me would like to play it when it ready

Duke4 Supporter
0

User is offline   MrFlibble 

  • 380

#54

I think it would be nice to update the first post to link to the download of the latest version at the HRP page, considering that the project doesn't have a home page of its own.
0

User is offline   icecoldduke 

  • 784

#55

View PostMaster O, on 14 March 2017 - 05:15 PM, said:

I thought Gearbox owned all of Duke's IP rights? I doubt they'd care about anyone reverse engineering it anyway, as the source code for Duke 1 and 2 are lost to history?

I thought I read that somewhere that the original source code to Duke 1 and 2 are indeed lost to history.

"PolymerNG" - EDuke32 port to the Xbox 1
Forum Topic: https://forums.duke4...and-windows-10/
Source Code(Milestone 6.2 Rev 509): https://github.com/j...PolymerNGPublic
0

Share this topic:


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks are property of their respective owners and all comments are owned by their posters. Yes, our forum uses cookies. © 2004-2017 Duke4.net and Voidpoint, LLC

Enter your sign in name and password


Sign in options