Homebrew [Release] JFShadowWarrior for 3DS

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,591
Country
Netherlands
VfvlqYw.png

Shadow Warrior for 3DS

Info


This is an early build of JFShadowWarrior for 3DS.

Based on eDuke3D for 3DS developed by @MasterFeizz


Known issues:


- No midi support (ogg is supported)

Installation instructions:


Download: https://github.com/MrHuu/jfsw-3ds/releases/latest

- Create a folder 'JFSW' on your SD: 'sdmc:/3ds/JFSW/'
- Copy over 'SW.grp' and music files (.ogg)
- Run with the Homebrew launcher
- Or install and run .cia
- ???
- Profit!


Screenshots




Build instructions:


make -f Makefile.ctr
or
make -f Makefile.ctr clean


Sources:

https://github.com/MrHuu/jfsw-3ds

https://github.com/jonof/jfsw
https://github.com/masterfeizz/EDuke3D


Credits:

Jonathon Fowler (https://github.com/jonof) - For creating JFSW and updated 'Build' engine..
Masterfeizz (https://github.com/masterfeizz) - For creating eDuke3D (3DS) and porting the 'Build' engine.

Everyone involved with development of libctru and other 3ds libraries.
 
Last edited by MrHuu,

EvilJagaGenius

Well-Known Member
Member
Joined
May 27, 2020
Messages
110
Trophies
0
XP
341
Country
United States
Cool stuff. I have the Classic Complete version from GOG and my O3DS, will be giving it a shot with that.

Out of curiosity, and I don't mean to pile more work onto devs, but I've been playing Blood lately and loving it. With Duke 3D and now Shadow Warrior on the 3DS, would a port of Blood be feasible, maybe using NBlood as a base? I know it was one of the later games to use the Build engine and it certainly seems advanced.
 

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,591
Country
Netherlands
Out of curiosity, and I don't mean to pile more work onto devs, but I've been playing Blood lately and loving it. With Duke 3D and now Shadow Warrior on the 3DS, would a port of Blood be feasible, maybe using NBlood as a base? I know it was one of the later games to use the Build engine and it certainly seems advanced.

NBlood is based on recent versions of eDuke32. As long as older methods for rendering video / audio are still supported, it should be feasible. I would first try to get eDuke32 to run, then backport NBlood. But, time would be the biggest issue here.

Map on the bottom screen would be an useful addition. I don't know if it's possible at all.

That should be possible, but only after fixing game related bugs.
And i should probably work on DevilutionX's bottoms screen support first.
PR's are welcome tho!

If you're able to get MIDI music capability going, please share how.

If it's music you want, use .ogg for now. Any specific reason to use midi? I know the demo and some mods use midi. Otherwise use full version with .ogg. Support will be added eventually.
 

Deleted member 323844

Well-Known Member
Member
Joined
Feb 17, 2013
Messages
802
Trophies
1
XP
2,335
Country
Spain
That should be possible, but only after fixing game related bugs.
And i should probably work on DevilutionX's bottoms screen support first.
PR's are welcome tho!
Nice. Also inventory and weapons slots on the bottom screen would be more than welcome.

I have recorded a gameplay on the real hardware (New 3DS XL).



I boosted the brightness a little while editing since gamma bar in-game does not seem to work (maybe I'm wrong).
 
Last edited by Deleted member 323844,
  • Like
Reactions: MrHuu

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,591
Country
Netherlands
Nice. Also inventory and weapons slots on the bottom screen would be more than welcome.

I have recorded a gameplay on the real hardware (New 3DS XL).



I boosted the brightness a little while editing since gamma bar in-game does not seem to work (maybe I'm wrong).


Brightness and gamma do not affect rendering currently.
And you probably also noticed the music started playing after being saved (or loaded twice?).
I'll have a look at that.

Anyway, nice video!
 

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,591
Country
Netherlands
Ogg music is groovy. To be honest, I was thinking of the implications for other DOS game source ports.
Midi support would be game dependent. In most cases midi hardware has to be emulated, and not every game supports the same hardware. I haven't looked at midi support for jfsw, but i remember opentitus (for example) uses the OPL MIDI implementation from Chocolate Doom. https://www.chocolate-doom.org/wiki/index.php/OPL_MIDI

Maybe an Ion Fury port if possible? ; )
Maybe, Ion Fury does seem to run with the latest eduke32 with software rendering. Feel free to start porting the latest eduke32.

Is the bottom screen hud ever going to be like the duke nukem 3d port's bottom screen hud?
No, not like eduke3d. As much as i like Masterfeizzes implementation, I probably won't be adding a virtual keyboard or extra buttons.
Unless maybe if there's a good reason and a reasonable demand. But even than, i'm perfectly fine with the current control set.
I prefer the bottom screen to be turned off or maybe show the map or similar. Feel free to express suggestions though.
 
  • Like
Reactions: Wavy

Wavy

Splatana Stamper Enjoyer
Member
Joined
Aug 24, 2020
Messages
302
Trophies
0
Location
MAP13: Downtown
XP
1,572
Country
Australia
Maybe, Ion Fury does seem to run with the latest eduke32 with software rendering. Feel free to start porting the latest eduke32.
I'm not really a programmer, but I'll see what I can do.
Edit: IIRC 3D Realms had issues porting Ion Fury to the Switch, so it'd be a miracle if I made a 3DS port. =P
 
Last edited by Wavy,

MrHuu

Well-Known Member
OP
Member
Joined
Sep 19, 2015
Messages
562
Trophies
0
Age
37
XP
1,591
Country
Netherlands
What about for alt-fire?

As i said, personally i'm perfectly fine with the current control set.
If you want additional features, be a bit more descriptive.

I guess you want extra buttons on the bottom screen?
If you make a suggestion for a layout with buttons, it will give me something to consider.

I'm not really a programmer, but I'll see what I can do.
Edit: IIRC 3D Realms had issues porting Ion Fury to the Switch, so it'd be a miracle if I made a 3DS port. =P

I'm also not affiliated with software development in any way.
Other than playing around with some 3ds homebrew.
You can learn a lot from looking at working examples, modifying them and see how it behaves.

I havn't looked at eDuke32 at all, but the requirements to get eduke32 running should be quite similar to eduke3d and jfsw-3ds.

Also keep in mind 3DRealms probably didn't settle with software rendering for the switch, as i imagine most issues they encountered would have been with hardware rendering, using 'Polymost' and 'Polymer' (which isn't even supported now).
 
  • Like
Reactions: Wavy

Wavy

Splatana Stamper Enjoyer
Member
Joined
Aug 24, 2020
Messages
302
Trophies
0
Location
MAP13: Downtown
XP
1,572
Country
Australia
You can learn a lot from looking at working examples, modifying them and see how it behaves.
Forgot about those examples. I should check them out.

Also keep in mind 3DRealms probably didn't settle with software rendering for the switch, as i imagine most issues they encountered would have been with hardware rendering, using 'Polymost' and 'Polymer' (which isn't even supported now).
I checked this Digital Foundry video on the console ports of Ion Fury and it seems General Arcade (which I mistaked for being 3D Realms) made a lot of optimizations to the Polymost renderer, decreasing the amount of draw calls each frame from 3000+ to only ~100 (more info at 6:59 in the video). Though, I'll still probably just stick to the SW renderer.

I think one of the other major issues with the frame-rate is the use of CON scripts which Build games like Duke 3D and Shadow Warrior used for fairly simple features like AI, but Ion Fury heavily utilizes CON scripts and processing those scripts for Ion Fury alone used over 50% of the Switch's CPU (more info at 8:54). What I could do is move script processing to the 3DS's ARM9 CPU if possible and let ARM11 do everything else (if that's how it works).
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    S @ salazarcosplay: how are you doing @K3Nv2