Wolfenstein 3D SDL

This is a forum for discussing the feasibility of getting emulators, games, or other applications that have had their source released ported to the Dreamcast. Please read the Porting FAQ before starting a topic in this forum!
bender
Mental DCEmu
Mental DCEmu
Posts: 399
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Sun May 12, 2002 4:18 pm
Has thanked: 0
Been thanked: 0

Post by bender »

LyingWake wrote:Not much. OneThirty8 is busy with school and I'm sure he has some other plans on his mind, not just Wolfenstein 3D. Though, for those that are interested, there was a new release of LoneWolf which is a pretty darn good Wolfenstein 3D port with SDL in it.

http://www.users.globalnet.co.uk/~brlow ... _win32.zip
http://www.users.globalnet.co.uk/~brlowe/LW086_src.zip
Edited: I posted the same link as you. There're pretty nice TC's there ;-)
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

*cough*

During break from school, I decided to play with this source again. I just this minute got it compiled for Wolf3D Shareware, and have the PC Speaker sounds (those which are mapped in the source--I think there are more) pretty much working. Music and AdLib sound effects are going to be a bit of a bitch, because there are one or two functions which cause the program to hang/crash. I managed to short-circuit those and get the PC Speaker sounds to work alright using my hackish SDL sound driver (really, it's pretty ugly). Getting around those for the AdLib sounds/music is probably going to be a little more difficult.

So, no binary releases at the moment (I have to work in a few minutes, and I still have to get joystick and saving working) but it's being worked on, and some progress has been made, for anyone interested. (I know LyingWake is on a hiatus, so if anyone catches him on AIM, I think he might like to hear this. We were chatting/exchanging ideas a while back.)
User avatar
Quzar
Dream Coder
Dream Coder
Posts: 7499
Joined: Wed Jul 31, 2002 12:14 am
Location: Miami, FL
Has thanked: 4 times
Been thanked: 10 times
Contact:

Post by Quzar »

if you want i'll send you my partial ports of LW and that other wolf mod. All that was left to do was port libglob or get rid of it.
"When you post fewer lines of text than your signature, consider not posting at all." - A Wise Man
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

Quzar wrote:if you want i'll send you my partial ports of LW and that other wolf mod. All that was left to do was port libglob or get rid of it.
Sorry it took so long to reply to this. I am interested in looking at what you've done, but at the same time I'm trying to challenge myself to see what I can do on my own... which is why I didn't say "yeah, send it over," or "no thanks."

libglob really isn't needed for anything. In the SetupControPanel function, it's just looking for anything named savegam?.wl6 (for Wolf3d full), so just open up /vmu/a1 or /ram or wherever your game saves are, and look for anything named savgam0.wl6 through savgam9.wl6. In the CheckForEpisodes function, I just ripped the stuff out that actually looks for files. If the files aren't there, the program isn't going to do anything interesting. If we checked to see that the files are there and they aren't, the program quits. Same thing, really, as far as the user is concerned, no?

On the other hand, the glob_t struct is simple enough. So are the glob function and the globfree function, at least from the point of view of understanding what they do. ? is a one-character wildcard, * is a wildcard that can be any number of characters. I just didn't feel like dealing with the case of the * wildcard because it would make me think too much, and I'm on a break from school.

I did take a look at LoneWolf, though. He changed a lot. His SDL sound driver is much nicer than mine, but his changes make implementing his a bit more difficult than just dropping it in, I think.
User avatar
Quzar
Dream Coder
Dream Coder
Posts: 7499
Joined: Wed Jul 31, 2002 12:14 am
Location: Miami, FL
Has thanked: 4 times
Been thanked: 10 times
Contact:

Post by Quzar »

it was mostly lyingwake trying to get me to port those things, so i didn't spend very long working on it =P.
"When you post fewer lines of text than your signature, consider not posting at all." - A Wise Man
LyingWake
DCEmu Super Poster
DCEmu Super Poster
Posts: 1342
Joined: Thu Aug 26, 2004 4:05 am
Has thanked: 0
Been thanked: 0
Contact:

Post by LyingWake »

in addition to just a port of wolf 3d, adding full strafing support would simply own.
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

Do you have a GP32? If I understand what you mean by "full strafing", that port has it. I'll probably try to make the controls similar to that version.
LyingWake
DCEmu Super Poster
DCEmu Super Poster
Posts: 1342
Joined: Thu Aug 26, 2004 4:05 am
Has thanked: 0
Been thanked: 0
Contact:

Post by LyingWake »

OneThirty8 wrote:Do you have a GP32? If I understand what you mean by "full strafing", that port has it. I'll probably try to make the controls similar to that version.
by full strafing, i mean being able to turn while strafing and being able to strafe diagonally.
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

Turning while strafing works on the GP32. You strafe with the shoulder buttons, and turn with the joystick, so you can do both at the same time. I'm sure that won't be a problem on the DC.
LyingWake
DCEmu Super Poster
DCEmu Super Poster
Posts: 1342
Joined: Thu Aug 26, 2004 4:05 am
Has thanked: 0
Been thanked: 0
Contact:

Post by LyingWake »

do you have a link to the gp32 version handy? and perhaps the emulator?
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

LyingWake wrote:do you have a link to the gp32 version handy?
http://sourceforge.net/projects/gp32wolf3d/
and perhaps the emulator?
Do you mean GeePee32? If so, you may find this handy. I actually played it on a real GP32, and I don't think that emu is full speed. (I've never used it.)
Last edited by OneThirty8 on Thu Jan 12, 2006 7:38 pm, edited 1 time in total.
LyingWake
DCEmu Super Poster
DCEmu Super Poster
Posts: 1342
Joined: Thu Aug 26, 2004 4:05 am
Has thanked: 0
Been thanked: 0
Contact:

Post by LyingWake »

Thanks, I'll try that now. (After testing it: that rocks :lol:)

Also, you might wanna fix the link for the GP32 Wolfenstein (g and p are switched up).
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

LyingWake wrote:Thanks, I'll try that now. (After testing it: that rocks :lol:)

Also, you might wanna fix the link for the GP32 Wolfenstein (g and p are switched up).
Oops... it's fixed now. :wink:
LyingWake
DCEmu Super Poster
DCEmu Super Poster
Posts: 1342
Joined: Thu Aug 26, 2004 4:05 am
Has thanked: 0
Been thanked: 0
Contact:

Post by LyingWake »

OneThirty8 sent me 2 builds to test. Wow. It's awesome. Sound, nice controls, just as close as you can get to the original.

OneThirty8 - Somethings I noticed was that it lagged on the main menu a little bit. Other than that, full strafing, controller support, complete keyboard support, and saving support it's absolutely perfect. Exactly how I would have done it if I done it myself. Good job!
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

LyingWake wrote:OneThirty8 sent me 2 builds to test. Wow. It's awesome. Sound, nice controls, just as close as you can get to the original.

OneThirty8 - Somethings I noticed was that it lagged on the main menu a little bit. Other than that, full strafing, controller support, complete keyboard support, and saving support it's absolutely perfect. Exactly how I would have done it if I done it myself. Good job!
You mean the keys are a bit non-responsive and sometimes they stick? If so, it's probably because of how the SDL keyboard-handling stuff was done by the guy who did the Linux version. It works fine on Linux and Windows, but not so well on the Dreamcast. That's low on my list of priorities at the moment (but it is on the list) because I'm more concerned with getting saving working, and I'd ideally like to replace my SDL sound driver with one that allows more than one digitized sound to play at a time.
LyingWake
DCEmu Super Poster
DCEmu Super Poster
Posts: 1342
Joined: Thu Aug 26, 2004 4:05 am
Has thanked: 0
Been thanked: 0
Contact:

Post by LyingWake »

:bow:
User avatar
Christuserloeser
Moderator
Moderator
Posts: 5948
Joined: Thu Aug 28, 2003 12:16 am
Location: DCEvolution.net
Has thanked: 10 times
Been thanked: 0
Contact:

Post by Christuserloeser »

What fackue said, what fackue said!

I would love to have a beta too, but I'm not even having damn a single second to play it until saturday/sunday.

I was hoping for Wolfenstein coming to DC since 2002, I can wait a few more days until you are happy with your work and decide to go for a public release :wink:


Thank you soooooo much :kiss)
Insane homebrew collector.
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

Christuserloeser wrote:What fackue said, what fackue said!

I would love to have a beta too, but I'm not even having damn a single second to play it until saturday/sunday.

I was hoping for Wolfenstein coming to DC since 2002, I can wait a few more days until you are happy with your work and decide to go for a public release :wink:


Thank you soooooo much :kiss)
At the moment, saving is not working for some reason... if I could get that working, I'd throw in some makeshift controller code and release binaries right away.
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

OK. . . I have good news, and I have bad news.
Bad News
I have to work in the morning, and we've got the bigwigs visiting so I can't exactly roll out of bed and stumble in to work, so I have to stop hacking on Wolfenstein 3D for this evening. Also, last time I checked in the BIOS menu with one of my corrupted saves, they took up 54 blocks. Fixed saves will be just as big, as the only difference was I forgot to swap the bytes around the right way when writing 32-bit integers. Also, my KOS sound driver needs to be fixed, and as LyingWake will tell you, the SDL sound is pretty decent, but also leaves a bit to be desired. It plays the music OK (really, I was surprised at how alright it sounds at 11025 Hz), but it will only play one digitized sound at a time, so you don't always get to hear the guy say "Mein Leben!" when you shoot him... I also need to write Joystick code. I had cheated on that and just mapped Joystick buttons to the keyboard and then hit a roadblock and started the whole port over, and I'd like to do a better job than I had done anyway. I'll probably use the GP32 port as an example if I decide to actually write "real" joystick code, which is the ideal I'm shooting for. Otherwise, mapping it to the internal keyboard was dead simple, and was really easy to do.

Good News
I'm pretty sure I have saves working. I only tested it on the full version of Spear of Destiny, but I don't think there's going to be any difference with the Shareware versions or the full Wolf 3D. Cool. I just need to figure out how to compress the saves so they don't take 54 blocks. Sound works. I have working sound with SDL, which is probably "good enough," and my KOS version of the sound system is almost working how I want it to. I actually *don't* have the PC speaker sounds working (when I said I did, I meant the Digitized sounds, which was a silly mistake on my part), but I have the AdLib sound effects, music, and the Digitized sounds. I think I know how to make the PC speaker sounds work (I stole some code from the GP32 port), but since the rest works I'm going to save that until after I write the controller code. They sortakinda work, but they're all distorted and ugly sounding and literally hurt my ears.

Anyway... good night. I hope to have a release out soon, but school starts Monday. If I don't get anything out this weekend, I will as soon as I possibly can since I know at least two people are eagerly waiting, but I'm not going to rush out something that's half-assed.
User avatar
Christuserloeser
Moderator
Moderator
Posts: 5948
Joined: Thu Aug 28, 2003 12:16 am
Location: DCEvolution.net
Has thanked: 10 times
Been thanked: 0
Contact:

Post by Christuserloeser »

Two people ? I count like a dozen people and fackue does too - that makes almost a hundred :wink:

Can't wait for more news. Do you think you could get save state compression implemented somehow - like in NesterDC ? On the other hand: 54 blocks ? - I can live with that :)
Insane homebrew collector.
Post Reply