PDA

View Full Version : It's been ported to Windows


Ultima
02-10-2001, 11:55 PM
The build engine, that is. See, someone HAS done it. Now where's our WinDUKE? http://www.3drealms.com/ubb/images/icons/smile.gif

------------------
The Rules Have Changed...Get Paid to Surf the Web! (http://www.alladvantage.com/go.asp?refid=QNO-362)

My web pages:
www.game-master.com/ultima/ (http://www.game-master.com/ultima/)
ultima.drunkencoon.com/ (http://ultima.drunkencoon.com/)

Megazoid.com
02-11-2001, 12:12 AM
GRRrrrr, give us the link then dude.

------------------

cyborg
02-11-2001, 10:18 AM
Originally posted by MegaNerd:
GRRrrrr, give us the link then dude.


Yes Ultima what can I say but monumentally stupid.

You should know by now that you should have gone straight to Matteus and told him - not come here, have a final bitch about winduke and then not even leave a clue as to where this port is.

------------------
Duke Nukem Resources for Totalconversions and Modifications (http://dukertcm.totalconversions.com)
Mapster - The Build editor replacement (http://dukertcm.totalconversions.com/mapster/) - RTCM Build Game Store (http://dukertcm.totalconversions.com/store.html) - Community Reviews and Interviews (http://dukertcm.totalconversions.com/knowledge-base/reviews-interviews/) - Build Games List (http://dukertcm.totalconversions.com/knowledge-base/base-build-games.html) - Playing Online (http://dukertcm.totalconversions.com/knowledge-base/base-game-connection.html) - Sound Card Setup (http://dukertcm.totalconversions.com/knowledge-base/documents-online/setup-sound-duke3d.html) - Running in Windows (http://dukertcm.totalconversions.com/knowledge-base/documents-online/setup-windows-buildgames.html) - Advanced Configuration (http://dukertcm.totalconversions.com/knowledge-base/documents-online/setup-duke-cfg-controllers.html)

Matteus
02-11-2001, 11:03 PM
Originally posted by Ultima:
The build engine, that is. See, someone HAS done it. Now where's our WinDUKE? http://www.3drealms.com/ubb/images/icons/smile.gif



Um..

So where is it?



------------------
Matt Saettler
-The Last Person on Earth who can compile Duke(TM)

Superczar
02-11-2001, 11:18 PM
I did it...

http://www.3drealms.com/ubb/images/icons/tongue.gif
------------------
[Your ad here]

[This message has been edited by superczar (edited 02-11-2001).]

Ultima
02-11-2001, 11:21 PM
I wasn't bitching, cyborg http://www.3drealms.com/ubb/images/icons/smile.gif

Oh, I can't believe I forgot the link! Here it is:

http://icculus.org/BUILD/

I really doubt it's 100% complete, but just check out the screenies. Looks like some real work has been done here...

http://icculus.org/BUILD/screenshots/win32.jpg
http://icculus.org/BUILD/screenshots/duke3d_data_files/0003.jpg
http://icculus.org/BUILD/screenshots/duke3d_data_files/0016.jpg

------------------
The Rules Have Changed...Get Paid to Surf the Web! (http://www.alladvantage.com/go.asp?refid=QNO-362)

My web pages:
www.game-master.com/ultima/ (http://www.game-master.com/ultima/)
ultima.drunkencoon.com/ (http://ultima.drunkencoon.com/)


[This message has been edited by Ultima (edited 02-11-2001).]

Matteus
02-12-2001, 12:43 AM
Originally posted by Ultima:
Oh, I can't believe I forgot the link! Here it is:

http://icculus.org/BUILD/

I really doubt it's 100% complete, but just check out the screenies. Looks like some real work has been done here...



Yes, some real work has been done on a LINUX port.

There is still lots to do on their TODO list, but it is a good start.

It does not yet have any Windows compatiblity in the current source (despite the one screen shot).

One of the items on their TODO list is to "merge cyqwin changes".

But also note that nothing has been updated on the project for about five months.

Is the project really abandonded half-finished?


------------------
Matt Saettler
-The Last Person on Earth who can compile Duke(TM)

peter_m_green
02-12-2001, 03:17 PM
where can i get netwize assembler then

------------------
e-mail me ( peter_m_green@zyworld.com )
contact me on icq no 107767391
join the gnutella file shareing and distribution network now get the client from http://all.at/gnutella

Matteus
02-12-2001, 03:54 PM
Originally posted by peter_m_green:
where can i get netwize assembler then



The CVS source of the code is :
http://linux.ucla.edu/cgi-bin/cvsweb/

It says:

You NEED gcc 2.95.2 (or maybe later) to compile this code correctly.
You'll also need Netwide Assembler (NASM). Get it at:

http://nasm.sourceforge.net/



------------------
Matt Saettler
-The Last Person on Earth who can compile Duke(TM)

cyborg
02-12-2001, 05:45 PM
That URL is dead though - when I tried search for alternate locations for it they all were dead too. So if anyone finds a location that works post it.

------------------
Duke Nukem Resources for Totalconversions and Modifications (http://dukertcm.totalconversions.com)
Mapster - The Build editor replacement (http://dukertcm.totalconversions.com/mapster/) - RTCM Build Game Store (http://dukertcm.totalconversions.com/store.html) - Community Reviews and Interviews (http://dukertcm.totalconversions.com/knowledge-base/reviews-interviews/) - Build Games List (http://dukertcm.totalconversions.com/knowledge-base/base-build-games.html) - Playing Online (http://dukertcm.totalconversions.com/knowledge-base/base-game-connection.html) - Sound Card Setup (http://dukertcm.totalconversions.com/knowledge-base/documents-online/setup-sound-duke3d.html) - Running in Windows (http://dukertcm.totalconversions.com/knowledge-base/documents-online/setup-windows-buildgames.html) - Advanced Configuration (http://dukertcm.totalconversions.com/knowledge-base/documents-online/setup-duke-cfg-controllers.html)

Matteus
02-12-2001, 07:10 PM
Originally posted by cyborg:
That URL is dead though - when I tried search for alternate locations for it they all were dead too. So if anyone finds a location that works post it.



Bummer.


------------------
Matt Saettler
-The Last Person on Earth who can compile Duke(TM)

theoddone33
02-12-2001, 10:03 PM
I feel the need to comment, since I spent so much time on Linux BUILD. The last thing we did was get it compiling under Windows. Ryan and I both lost motivation when 3DR expressed a desire to not pursue a Linux port of Duke and when emails to Matt Saettler (saying things like "It works now!") went unanswered.

In Ryan's words, this project is finis
hed without the hope of a port of any commercial game. This would be the reason that there have been no changes for five months. When we both lost interest, Ken's test game ran under Linux quite well aside from one mysterious crash. I never compiled it under Windows, though Ryan did. (There is cygwin stuff in the Makefile)

Aside from no Linux or Windows Duke3D yet, I do find this rather funny. This forum takes forever to notice things. http://www.3drealms.com/ubb/images/icons/smile.gif

Go here for NASM:
http://www.kernel.org/pub/software/devel/nasm/binaries/

Some more stuff added after I read the thread again:

Matt, regarding your comments...

Yes, there is Windows compatibility in the current source, thanks to the magic of cross-platform libraries.

No, we did not abandon the project halfway through. We abandoned it 95% of the way through. I can't speak for Ryan, but I know I'd gladly pick it up again in a second if I knew that something would come out of it.


[This message has been edited by theoddone33 (edited 02-12-2001).]

Matteus
02-13-2001, 11:27 AM
Originally posted by theoddone33:
We abandoned it 95% of the way through. I can't speak for Ryan, but I know I'd gladly pick it up again in a second if I knew that something would come out of it.


So let me say it again.

If(when) there is a working WinBuild (as demonstrated by Ken's game.c working under Windows), I will start a port of Duke to use that engine.

I will also work with 3DR to see if they want to relesae it.

I don't see any email in my inbox from you. If the email said "Linux Port", I might have ignored it....



------------------
Matt Saettler
-The Last Person on Earth who can compile Duke(TM)

icculus
02-13-2001, 08:36 PM
Oh my god, I'm famous.

As theoddone33 said, we pretty much abandoned the project once several companies told us they weren't interested in seeing new versions of the old Build games.

After having read this thread, I took the time to finish the Windows port from my Linux codebase, and committed those changes to the CVS repository this morning. There is also a new zipfile up on icculus.org.

Will this work witrh Duke or Shadow Warrior or Redneck Rampage or your toaster? Probably, but not without some elbow grease. There were minor API changes (such as the need to call _platform_init() in your mainline), and other things that are missing. Here are the major TODOs:

1) The timer issue. Build expects an interrupt to fire 120 times per second (every 8.3-repeating milliseconds), but the fastest I can get one to fire under Linux is 100 times per second (every 10 ms). Perhaps Windows has a similiar problem...if nothing else, there is the latency of a multitasking kernel that DOS never had to deal with. This is the most annoying bug, but it can be dealt with...probably in the code of individual games.

2) There's no sound support. Duke uses .VOC and .MID files...KenBuild does not, so this wasn't worth the time to implement just to scrap it again.

3) Networking. Obviously, both KenBuild's and Duke3D's solutions would have to be replaced in a modern operating system.

4) Due to a few obnoxious clauses in the GPL, I need to get the thing to build on Windows without using Cygwin...otherwise, binaries couldn't be distributed. This is relatively simple, but just hasn't been done.

None of these are horrible problems beyond hope, but they probably aren't worth taking care of unless the code is going to be used for Duke or whatnot.

Matt, if you have an interest in this, please email me. The only show stopping problem is that this is going to be very difficult to do if I can't see the Duke code. If you are willing to work around this (or get me an NDA of some sorts), then we can get this working, I feel, very quickly.

Now, for the rest of you:

I have talked with Scott and George about this before, and they didn't want to persue a Linux or Win32 Duke3D at this time. You need to understand right from the start that 3DRealms is BUSY with Duke Forever. I am a professional game developer, and I understand their position in this...please do NOT flood their mailboxes with harrassing emails demanding this port. It's not only unproductive, it's also rude.

At any rate, anyone that has questions or comments or hate mail or whatnot, feel free to drop me a line.

--ryan. (icculus@lokigames.com)

Matteus
02-13-2001, 09:34 PM
Originally posted by icculus:
Oh my god, I'm famous.

As theoddone33 said, we pretty much abandoned the project once several companies told us they weren't interested in seeing new versions of the old Build games.

After having read this thread, I took the time to finish the Windows port from my Linux codebase, and committed those changes to the CVS repository this morning. There is also a new zipfile up on icculus.org.

Will this work witrh Duke or Shadow Warrior or Redneck Rampage or your toaster? Probably, but not without some elbow grease. There were minor API changes (such as the need to call _platform_init() in your mainline), and other things that are missing. Here are the major TODOs:

1) The timer issue. Build expects an interrupt to fire 120 times per second (every 8.3-repeating milliseconds), but the fastest I can get one to fire under Linux is 100 times per second (every 10 ms). Perhaps Windows has a similiar problem...if nothing else, there is the latency of a multitasking kernel that DOS never had to deal with. This is the most annoying bug, but it can be dealt with...probably in the code of individual games.

2) There's no sound support. Duke uses .VOC and .MID files...KenBuild does not, so this wasn't worth the time to implement just to scrap it again.

3) Networking. Obviously, both KenBuild's and Duke3D's solutions would have to be replaced in a modern operating system.

4) Due to a few obnoxious clauses in the GPL, I need to get the thing to build on Windows without using Cygwin...otherwise, binaries couldn't be distributed. This is relatively simple, but just hasn't been done.

None of these are horrible problems beyond hope, but they probably aren't worth taking care of unless the code is going to be used for Duke or whatnot.

Matt, if you have an interest in this, please email me. The only show stopping problem is that this is going to be very difficult to do if I can't see the Duke code. If you are willing to work around this (or get me an NDA of some sorts), then we can get this working, I feel, very quickly.

Now, for the rest of you:

I have talked with Scott and George about this before, and they didn't want to persue a Linux or Win32 Duke3D at this time. You need to understand right from the start that 3DRealms is BUSY with Duke Forever. I am a professional game developer, and I understand their position in this...please do NOT flood their mailboxes with harrassing emails demanding this port. It's not only unproductive, it's also rude.

At any rate, anyone that has questions or comments or hate mail or whatnot, feel free to drop me a line.

--ryan. (icculus@lokigames.com)



I will email you.

If you can get Ken's game running (game.c), then I can do the rest.



------------------
Matt Saettler
-The Last Person on Earth who can compile Duke(TM)

Ultima
02-13-2001, 11:33 PM
sweet!! Now, if i had never posted this thread.... http://www.3drealms.com/ubb/images/icons/wink.gif

------------------
The Rules Have Changed...Get Paid to Surf the Web! (http://www.alladvantage.com/go.asp?refid=QNO-362)

My web pages:
www.game-master.com/ultima/ (http://www.game-master.com/ultima/)
ultima.drunkencoon.com/ (http://ultima.drunkencoon.com/)

Superczar
02-13-2001, 11:39 PM
Godamn there goes my summer project...

------------------
[Your ad here]

Superczar
02-14-2001, 02:50 PM
Originally posted by icculus:
...I accept patches. http://www.3drealms.com/ubb/images/icons/smile.gif

--ryan. (icculus@lokigames.com)



Nah I still intend on doing it for myself, it would be a good project to improve by knowledge. Cuz it looks like I am gonna have a lot of free time over the summer...


------------------
ALL YUOR POSTS ARE BELONG TO SUPERCZAR
http://www.imsa.edu/~dank/AYB2.swf

theoddone33
02-14-2001, 11:37 PM
Doing it yourself? You have no idea the pain and suffering you are signing up for. I spent 4-5 hours yesterday looking for one bug that turned out to be a change of 2 bytes to one of the source files, and that one was quick for a bug fix, considering some of the problems we'd had along the way.

Have fun.

icculus
02-15-2001, 12:12 AM
Originally posted by superczar:
Godamn there goes my summer project...



...I accept patches. http://www.3drealms.com/ubb/images/icons/smile.gif

--ryan. (icculus@lokigames.com)

Superczar
02-15-2001, 11:17 AM
Originally posted by theoddone33:
Doing it yourself? You have no idea the pain and suffering you are signing up for. I spent 4-5 hours yesterday looking for one bug that turned out to be a change of 2 bytes to one of the source files, and that one was quick for a bug fix, considering some of the problems we'd had along the way.

Have fun.

Programs do not cause pain and suffering, real life does, and I Have had plenty of that for the last 5 months, I rather look forward to this as a break from the real world... I am gonna become a hermit and spend all my time on this project... except for when I have to goto work...


------------------
ALL YUOR POSTS ARE BELONG TO SUPERCZAR
http://www.imsa.edu/~dank/AYB2.swf

icculus
02-19-2001, 10:44 PM
Originally posted by peter_m_green:
any more progress made
is ther a win32 version of build for me to download and look for bugs in



Okay, you webmonkeys. Ask and ye shall receive.

Seek and ye shall find at:

http://icculus.org/BUILD/BUILD-win32bins-02192001.zip


It runs. Note that there isn't much to see; it's not Duke or anything, and it looks like it's moving way too slow (see my dissertation in a previous post). Although I would appreciate if people would try this on various windows platforms and let me know if (for example) Windows NT throws up all over your floor when you run these binaries.

Source code is in the same place as the binaries, in case you're concerned about trojans, etc.

If anyone wants Linux binaries; build your own. http://www.3drealms.com/ubb/images/icons/smile.gif

AND READ THE README. Or all your base are belong to me (or something).

Ok, bedtime.

--ryan. (icculus@lokigames.com)

peter_m_green
02-20-2001, 12:53 AM
any more progress made
is ther a win32 version of build for me to download and look for bugs in

------------------
e-mail me ( peter_m_green@zyworld.com )
contact me on icq no 107767391
join the gnutella file shareing and distribution network now get the client from http://all.at/gnutella

Megazoid.com
02-20-2001, 01:40 AM
Eeek. I have to wait 8 hours before I can get home and try this.

Damn, I am really excited (although prepared not to see much). Nice one Icculus.




------------------

Usurper
02-20-2001, 06:59 PM
Game.exe works for the most part in WinME. Can't change the screen res with F4 (360x200 seems to be the only available res). Doesn't fill the whole screen either.

Build.exe seems fine, except for some mouse speed issues. The res change works fine in it. The end key crashed the prog though. It was buggy in the original though.

------------------
Usurper
DN3D RTCM (http://dukertcm.totalconversions.com)
The slacker has awakened!

TerminX
02-20-2001, 08:21 PM
It doesn't work on Windows NT. What's the point of a Windows port if it doesn't work on NT? http://www.3drealms.com/ubb/images/icons/smile.gif

If it works in Win9x only there is absolutely no point, as they can just use a DOS box..

Otherwise, good job.

-TX

------------------
Project X TC - http://www.dukeworld.com/projectx
Mapster - http://dukertcm.totalconversions.com/mapster

theoddone33
02-20-2001, 10:57 PM
About the res changing....

When I run game.exe in linux, I have to switch to windowed mode to change res, then switch back to fullscreen when I'm at the res I want. However, apparently SDL_WM_ToggleFullscreen() and friends only work on Linux. In Windows, I'm also locked to 360x240 as you are, with the exception that I'm running Windows 95. I looked at the issue briefly a few days ago, but I'll endeavor to fix it later this week.

Little Dukie
02-21-2001, 02:28 AM
(aka zirhc in #loki)

i confirm that it doesn't work on nt (nt4, w2k)

by the way, i think it would be a good idea trying to merge openduke and build (somehow ;-)



------------------

Matteus
02-21-2001, 10:08 AM
Status:

I compiled the source and everything is working.

I started getting Duke to compile. The new makefile turns on actual 'checking' options so that Duke's source throws lots of errors.

As Ryan can tell us, there were lots of modifications to game.c/build source to get it to not give tons of errors warnings. Lots of things like not declaring routines before they are defined, etc. The Duke source is even more 'messed up' than the Build source....

I'd rather not turn off those warnings/errors as getting rid of them is needed to have any hope of being cross-platform.

So it will take lots of time to catch all the errors and then modify the source to be 'up to snuff'.

I don't want to do this at the same time I'm trying to get an EDuke release out (which is getting close). So I'll need to concentrate on getting EDuke out before making all of the source mods for WinDuke.



------------------
Matt Saettler
-The Last Person on Earth who can compile Duke(TM)

icculus
02-22-2001, 09:11 AM
More updates on the engine side of things:

1) There are new Windows binaries available. The timer problem that made the game run like a fight scene in The Matrix is fixed (thanks to Mr. Saettler), so you can play the game at full speed.

http://icculus.org/BUILD/BUILD-win32bins-02222001.zip

2) There are DOS binaries available, too. I've got the code backported to the dos4gw environment. Mostly this is to make Matt's upgrade path to Windows easier...this way, he can get it running on the ported codebase as a small step before taking a big leap to Win32. Nonetheless, I'd appreciate if y'all could give feedback on it.

http://icculus.org/BUILD/BUILD-dosbins-02222001.zip

3) Of course, there is source code available. Latest snapshot:

http://icculus.org/BUILD/BUILD-engine-02222001.zip


Next on my list is finding a WinNT box to see what the problem is there, if theoddone33 hasn't already smashed that problem.

Comments, requests, complaints, and well-endowed women named "Cassandra" are, of course, always welcome.

--ryan. (icculus@lokigames.com)

Matteus
02-23-2001, 10:49 AM
I asked Joe to move it to this forum since it is now clearly Build and EDuke related.



------------------
Matt Saettler
-The Last Person on Earth who can compile Duke(TM)

icculus
02-26-2001, 10:40 PM
Engine update: Watcom produces strange PE headers in the EXEs it generates, and WinNT/2K doesn't like them. That explains the crashes on NT.

Not sure if there is an incorrect compile/link option, or what, but I have a tool to edit PE headers, and that seems to be doing the trick.

Comically, the only place I could find a tool to fix my legitimate binaries was on a cracking tutorial site. http://www.3drealms.com/ubb/images/icons/smile.gif

At any rate, binaries that should work on NT and Win2000 are available at:

http://icculus.org/BUILD/BUILD-win32bins-02262001.zip

DOS/386 binaries:

http://icculus.org/BUILD/BUILD-dosbins-02262001.zip

Unified source code for all platforms:

http://icculus.org/BUILD/BUILD-engine-02262001.zip

Some dude in a Star Trek uniform:

http://somethingawful.efront.com/cliff/ihateyou/page53-03.jpg


Comments, complaints, and tips:

--ryan. (icculus@lokigames.com)

TerminX
02-27-2001, 03:03 PM
It kinda-sorta works on NT. It crashes way too much, and it almost brought down my NT box once.

-TX

------------------
Project X TC - http://www.dukeworld.com/projectx
Mapster - http://dukertcm.totalconversions.com/mapster