Homebrew Who wants Duke Nukem 3D (JFDuke?) on the DSi?

Would you like to play Duke Nukem 3D on DSi, in a version with good quality graphics and sound?

  • Yes, certainly, I have always dreamed of it and I can't wait!

    Votes: 36 90.0%
  • No. I don't care. Duke is too vulgar and violent. And it's too difficult for me. I'm not up to it.

    Votes: 4 10.0%

  • Total voters
    40

mrparrot2

Well-Known Member
Member
Joined
Nov 29, 2021
Messages
110
Trophies
0
Age
29
Location
SP, Brazil
XP
588
Country
Brazil
there are submodules that need to be pulled down after you clone -
git submodule update --init
Nevermind, I found the issue:
diff --git a/arm9/Makefile b/arm9/Makefile index 527bd2f..cabec35 100644 --- a/arm9/Makefile +++ b/arm9/Makefile @@ -51,18 +51,18 @@ ENGINE_SRC = \ $(ENGINEROOT)/src/smalltextfont.c AUDIOLIB_SRC = \ - $(AUDIOLIBROOT)/src\drivers.c \ - $(AUDIOLIBROOT)/src\fx_man.c \ - $(AUDIOLIBROOT)/src\cd.c \ - $(AUDIOLIBROOT)/src\multivoc.c \ - $(AUDIOLIBROOT)/src\mix.c \ - $(AUDIOLIBROOT)/src\mixst.c \ - $(AUDIOLIBROOT)/src\pitch.c \ - $(AUDIOLIBROOT)/src\vorbis.c \ - $(AUDIOLIBROOT)/src\music.c \ - $(AUDIOLIBROOT)/src\midi.c \ - $(AUDIOLIBROOT)/src\driver_nosound.c \ - $(AUDIOLIBROOT)/src\asssys.c + $(AUDIOLIBROOT)/src/drivers.c \ + $(AUDIOLIBROOT)/src/fx_man.c \ + $(AUDIOLIBROOT)/src/cd.c \ + $(AUDIOLIBROOT)/src/multivoc.c \ + $(AUDIOLIBROOT)/src/mix.c \ + $(AUDIOLIBROOT)/src/mixst.c \ + $(AUDIOLIBROOT)/src/pitch.c \ + $(AUDIOLIBROOT)/src/vorbis.c \ + $(AUDIOLIBROOT)/src/music.c \ + $(AUDIOLIBROOT)/src/midi.c \ + $(AUDIOLIBROOT)/src/driver_nosound.c \ + $(AUDIOLIBROOT)/src/asssys.c JMACT_SRC= \ lines 1-35/35 (END)

----

Edit:

I was able to launch the game and enter in the first level if I disable sounds in the menu. I cannot redefine any key though, as it softlocks expecting something. I can also not shoot anything. So far performance seems quite OK on the top of the roof (even better than my patched Duke3DS).

Keep up the good work! If you need help with anything please message me.
 
Last edited by mrparrot2,
  • Like
Reactions: Nikokaro

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,470
Trophies
3
XP
29,180
Country
United States
I was able to compile it:

1659148712818.png
 
  • Like
Reactions: Nikokaro

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
1,044
Trophies
1
XP
3,035
Country
United States
Nevermind, I found the issue:
diff --git a/arm9/Makefile b/arm9/Makefile index 527bd2f..cabec35 100644 --- a/arm9/Makefile +++ b/arm9/Makefile @@ -51,18 +51,18 @@ ENGINE_SRC = \ $(ENGINEROOT)/src/smalltextfont.c AUDIOLIB_SRC = \ - $(AUDIOLIBROOT)/src\drivers.c \ - $(AUDIOLIBROOT)/src\fx_man.c \ - $(AUDIOLIBROOT)/src\cd.c \ - $(AUDIOLIBROOT)/src\multivoc.c \ - $(AUDIOLIBROOT)/src\mix.c \ - $(AUDIOLIBROOT)/src\mixst.c \ - $(AUDIOLIBROOT)/src\pitch.c \ - $(AUDIOLIBROOT)/src\vorbis.c \ - $(AUDIOLIBROOT)/src\music.c \ - $(AUDIOLIBROOT)/src\midi.c \ - $(AUDIOLIBROOT)/src\driver_nosound.c \ - $(AUDIOLIBROOT)/src\asssys.c + $(AUDIOLIBROOT)/src/drivers.c \ + $(AUDIOLIBROOT)/src/fx_man.c \ + $(AUDIOLIBROOT)/src/cd.c \ + $(AUDIOLIBROOT)/src/multivoc.c \ + $(AUDIOLIBROOT)/src/mix.c \ + $(AUDIOLIBROOT)/src/mixst.c \ + $(AUDIOLIBROOT)/src/pitch.c \ + $(AUDIOLIBROOT)/src/vorbis.c \ + $(AUDIOLIBROOT)/src/music.c \ + $(AUDIOLIBROOT)/src/midi.c \ + $(AUDIOLIBROOT)/src/driver_nosound.c \ + $(AUDIOLIBROOT)/src/asssys.c JMACT_SRC= \ lines 1-35/35 (END)
I am not sure what you mean. I was able to clone to a new directory and update the submodules and it was able to compile.
 

mrparrot2

Well-Known Member
Member
Joined
Nov 29, 2021
Messages
110
Trophies
0
Age
29
Location
SP, Brazil
XP
588
Country
Brazil
I am not sure what you mean. I was able to clone to a new directory and update the submodules and it was able to compile.

The problem is that Windows folder separators is '\', whereas Unix folder separators are '/'. Somehow Makefile is able to interpret '/' correctly as a folder separator on Windows but can't interpret '\' as a folder separator on Linux.

Changing '\' to '/' there made Makefile correctly parse stuff on Linux.
 
  • Like
Reactions: godreborn

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
1,044
Trophies
1
XP
3,035
Country
United States
Nevermind, I found the issue:
diff --git a/arm9/Makefile b/arm9/Makefile index 527bd2f..cabec35 100644 --- a/arm9/Makefile +++ b/arm9/Makefile @@ -51,18 +51,18 @@ ENGINE_SRC = \ $(ENGINEROOT)/src/smalltextfont.c AUDIOLIB_SRC = \ - $(AUDIOLIBROOT)/src\drivers.c \ - $(AUDIOLIBROOT)/src\fx_man.c \ - $(AUDIOLIBROOT)/src\cd.c \ - $(AUDIOLIBROOT)/src\multivoc.c \ - $(AUDIOLIBROOT)/src\mix.c \ - $(AUDIOLIBROOT)/src\mixst.c \ - $(AUDIOLIBROOT)/src\pitch.c \ - $(AUDIOLIBROOT)/src\vorbis.c \ - $(AUDIOLIBROOT)/src\music.c \ - $(AUDIOLIBROOT)/src\midi.c \ - $(AUDIOLIBROOT)/src\driver_nosound.c \ - $(AUDIOLIBROOT)/src\asssys.c + $(AUDIOLIBROOT)/src/drivers.c \ + $(AUDIOLIBROOT)/src/fx_man.c \ + $(AUDIOLIBROOT)/src/cd.c \ + $(AUDIOLIBROOT)/src/multivoc.c \ + $(AUDIOLIBROOT)/src/mix.c \ + $(AUDIOLIBROOT)/src/mixst.c \ + $(AUDIOLIBROOT)/src/pitch.c \ + $(AUDIOLIBROOT)/src/vorbis.c \ + $(AUDIOLIBROOT)/src/music.c \ + $(AUDIOLIBROOT)/src/midi.c \ + $(AUDIOLIBROOT)/src/driver_nosound.c \ + $(AUDIOLIBROOT)/src/asssys.c JMACT_SRC= \ lines 1-35/35 (END)

----

Edit:

I was able to launch the game and enter in the first level if I disable sounds in the menu. I cannot redefine any key though, as it softlocks expecting something. I can also not shoot anything. So far performance seems quite OK on the top of the roof (even better than my patched Duke3DS).

Keep up the good work! If you need help with anything please message me.
you needed to disable the sound? I have tested using the demo version and the atomic version and sound is working fine for me. which version are you using?

also make sure you are not using a cfg file from a pc version or a different port. the sound will only work as 8bit mono 11025hz.
 
  • Like
Reactions: Nikokaro

Nikokaro

Lost philosopher... searching for a way out...
OP
Member
Joined
Feb 3, 2020
Messages
2,207
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
6,894
Country
Italy
Very good. Apparently the most interesting things happen here while I am asleep. And I was afraid that this thread was already dead and buried. This possible collaboration between two (or more) developers makes me very, very happy. It will mean that the end result will be even more satisfying. :)

Edit: @mrparrot2 Thanks to your changes, the frame rate has improved greatly. And now you can aim at enemies more accurately: so the problem of the overly sensitive dpad depended on this, but no one bothered to explain it to me .... I am very annoyed by this snobbish attitude...:angry:
I am joking, of course. :)

Edit2: Even the problem of faulty textures when activating the orange light switch (the one in the photo I had posted) is amazingly solved.
 
Last edited by Nikokaro,

Nikokaro

Lost philosopher... searching for a way out...
OP
Member
Joined
Feb 3, 2020
Messages
2,207
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
6,894
Country
Italy
Look what a strange bug I found at the end of level 3 episode 1 (Death Row): I can't destroy the second cracked wall, which is supposed to reveal a hidden passage. How come?
Naaah, I'm not using the demo, but the Atomic Edition. Does anyone have an explanation for this fact? Please watch this clip:

 

mrparrot2

Well-Known Member
Member
Joined
Nov 29, 2021
Messages
110
Trophies
0
Age
29
Location
SP, Brazil
XP
588
Country
Brazil
Usually bugs like this commes from a PC Port is likely to be ARM's behavior on unaligned accesses. It is very hard to fix those without having the same code running on a PC. Since elhobbs is working on a JFDuke Port It would be wisely to wait for It to be on a playable state.

Then If the bug is still there we can use ubsan to look for unaligned accesses on x86 and Port the fix for DS.

As for overly sensitive DPAD and touch screen, that is mostly like that the movement Speed and precision is tied with FPS. On Very early versions of my C&C Port that ran like crap I improved the cursor precision by updating its position on VBlank interrupts. That giarantees a 60fps pooling ratio.

But I would also state that Duke3D mouse precision wasnt particularly great even on the original version.
 

elhobbs

Well-Known Member
Member
Joined
Jul 28, 2008
Messages
1,044
Trophies
1
XP
3,035
Country
United States
I did update the jfduke3d and tried to fix the activated cameras. This version can be put in its own folder with duke nukem 3d grp, con, and rts file without if you want to keep both. Separate directories are recommended as I don’t think save files are interchangeable. I also put an nds file directly in the repository.
 

CrashMidnick

Well-Known Member
Member
Joined
Jul 22, 2015
Messages
737
Trophies
0
Age
41
XP
2,882
Country
France
I did update the jfduke3d and tried to fix the activated cameras. This version can be put in its own folder with duke nukem 3d grp, con, and rts file without if you want to keep both. Separate directories are recommended as I don’t think save files are interchangeable. I also put an nds file directly in the repository.

I have no word how to say thank you. Oustanding release !

EDIT : I was expecting this but crashes on older hardware :

g.jpg
 
Last edited by CrashMidnick,

CrashMidnick

Well-Known Member
Member
Joined
Jul 22, 2015
Messages
737
Trophies
0
Age
41
XP
2,882
Country
France
If I may, what is outstanding about this version compared to the last one with improved frames of Duke3d.nds. To call it in that way, I assume you have tested it, or am I wrong?

Of course I did test it. Check by yourself :

C.jpg



We need control mapping but I am pretty sure it will come later.

As I explained in one of my posts, JFDuke3D requires more static RAM to run. It will require patches to reduce it.

Yes I now. I thought it woulld boot but with graphic glitches or memory problems. That why I said "as expected" ;)
 

CrashMidnick

Well-Known Member
Member
Joined
Jul 22, 2015
Messages
737
Trophies
0
Age
41
XP
2,882
Country
France
I just see that one is too bright and the other is too dark. So what is outstanding in jfduke, once the brightness is adjusted ?

I prefer the control mapping of JFDUKE, textures and colours look more closed to the original, framerate is very good (maybe lower than the lastest release of the old port but very good). But most important thing : it is less buggy as far as I can see. Many times enemies disapear when you shoot at them (their cadaver are not laying on the ground, I did see black walls as well and you see that a wall did not break... It seems more precise).

Better that writing words here, check by yourself and make your own opinion ;)
 

JhulkerCraft

Active Member
Newcomer
Joined
Jul 19, 2022
Messages
33
Trophies
0
Age
17
Location
Lara
XP
73
Country
Venezuela
I did update the jfduke3d and tried to fix the activated cameras. This version can be put in its own folder with duke nukem 3d grp, con, and rts file without if you want to keep both. Separate directories are recommended as I don’t think save files are interchangeable. I also put an nds file directly in the repository.
Incredible work elhobbs this version already supports the atomic edition with the weapon and the enemies that it adds, the movies and user maps
 
  • Like
Reactions: Nikokaro

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: https://youtube.com/shorts/FdYTKAVSsXY?si=9E-2AU0JN-4hRZi3