Welcome! Log In Create A New Profile

Advanced

Help me with finishing a port of Hexen to the Wii

Posted by Arikado 
Help me with finishing a port of Hexen to the Wii
July 29, 2010 09:06PM
I've spent a couple of days porting Hexen over to the Wii. I'm rather new to porting (though thanks to scanff, desmume, and supertux, I do have a handful of experience) and this is a fairly challenging port compared to what I've already been exposed to (yes, I am saying that DeSmuME was more straightforward ;p ). I am stuck with some linker errors and hoping someone can help me to resolve them :)

I got the source from Hexen from here: [www.libsdl.org]

I also got the source to the NDS port of Hexen to give me a little inspiration along the way: [gtamp.com]

Note that you will need SDL-Wii installed to be able to work on this.

In my attempt at porting the game I've made very few changes to the original code aside from cutting out the use of the CD-Drive and a few optional libraries (this was also done in the NDS port). I changed the file paths so that hopefully loading the Hexen WAD and saving and loading the game should work when it compiles. I'm not sure if it input will work right off the bat (probably not) but it shouldn't be too hard to fix at all once the WAD can be run.

Once it actually loads and runs the Hexen WAD, I'd like to open up a SVN to better maintain the project as well as optimize the code and add in other things to make this a very solid, complete port to Wii. All I really need is to get this compiling. Even if it won't run the WAD once it compiles, I'm fairly certain I can handle finishing it from there (unless I've done something seriously wrong - which is possible with this being a complex port and one of my very firsts).

Anyways, you can grab what I have so far and the shareware WAD here: [www.mediafire.com]

I've always enjoyed Hexen and would be thrilled to be able to play it on the Wii as I'm sure a ton of other people would be as well.

Lastly, if you want to get in contact privately you can PM me on the forums or e-mail me: castlevania7689@yahoo.com
You can also /msg Arikado on EFNET or freenode



Edited 1 time(s). Last edit at 07/29/2010 09:15PM by Arikado.
Re: Help me with finishing a port of Hexen to the Wii
July 31, 2010 07:03PM
I finally had time to continue working on this today (still no responses from anyone btw).

I painstakingly took care of all the linking errors using the NDS and iPhone ports of Hexen for a little bit of inspiration to properly build the project. I had to make some major source changes in a few areas but I'm pretty sure I'm on the right track.

Now the program compiles. When I run it (using the full WAD, I haven't had time to test the shareware) I see something flash in the upper left hand corner of the screen and then the Wii freezes. My best guess is that the problem lies in the SDL initialization (It's very different from what was done on my other SDL port projects).

Unfortunately, I won't have any time to play around with this for the next couple days. However, if anyone else wants to, you can grab my latest build here: [www.mediafire.com]

As always, drop me a line if you make some progress.
Re: Help me with finishing a port of Hexen to the Wii
July 31, 2010 09:19PM
I got through half of the linking errors, but I see that you don't need me for that anymore. I'll try to help. Can't promise anything, though.

Edit: ...Wow that is different.



Edited 1 time(s). Last edit at 07/31/2010 09:25PM by dancinninja.
Re: Help me with finishing a port of Hexen to the Wii
July 31, 2010 09:44PM
I actually made a bunch of more changes because I ended up having some more time :P I imported in my usb gecko drivers and fixed up the sdl stuff. Now the problem lies in the W_AddFile function it seems. I'm literally running out the door as I write this, so I'll upload my next build with an edit to this post when I get home from my job.

Edit: [www.mediafire.com]



Edited 1 time(s). Last edit at 08/01/2010 05:36PM by Arikado.
Re: Help me with finishing a port of Hexen to the Wii
August 02, 2010 06:17PM
So I've written in some proper debugging code now and my USB Gecko gives me this output:
USB Gecko Initialized
FAT Initialized
SDL Initialized
SDL screen set-up
Global pointer values set
V_Init: allocate screens.
M_LoadDefaults: Load system defaults.
Create Savegame path
Checking to see if HEXEN.WAD exists on SD ...
sd:/HEXEN.WAD found.
W_Init: Init WADfiles.
Wad file sd:/HEXEN.WAD doesn't have IWAD or PWAD id
W_InitMultipleFiles: no files found
Z_Init: Init zone memory allocation daemon.
MN_Init: Init menu system.
W_GetNumForName: FONTA_S not found!
W_GetNumForName: FONTAY_S not found!
W_GetNumForName: FONTB_S not found!
W_GetNumForName: FBULA0 not found!
CT_Init: Init chat mode data.
W_GetNumForName: FONTA_S not found!
S_InitScript
W_GetNumForName: sndinfo not found!
W_CacheLumpNum: -1 >= numlumps

So basically, even though the file exists, it's not initializing it properly. My best guess at this point is to apply some sort of offset when opening the WAD file in W_AddFile(). Thats what the DS and iPhone ports do. I also looked at WiiDOOMs WAD code and it's completely different (of course, it's not based on the native DOOM engine) and doesn't seem applicable to this engine.

Any ideas would be greatly appreciated.

Here's the latest build for anyone who wants it: [www.mediafire.com]



Edited 1 time(s). Last edit at 08/02/2010 07:32PM by Arikado.
Re: Help me with finishing a port of Hexen to the Wii
August 03, 2010 09:01AM
One of the first thing to take care when you port some existing code is the endianness. If the information in files header (id for example) is larger than one byte , you might need to do some byte swapping first.



Edited 1 time(s). Last edit at 08/03/2010 09:01AM by ekeeke.
Re: Help me with finishing a port of Hexen to the Wii
August 03, 2010 11:36PM
Thanks ekeeke!

Going off of your suggestion, I updated my w_wad.c file to the following: [pastie.org]

Not it actually detects an IWAD ID in the WAD header.

My current problem with the file is that lump_p->name in W_CheckNumForName() is complete garbage and isn't anything close to it's parameter name that is trying to find in the WAD.

I would greatly appreciate any suggestions you may have. Hopefully, everything should be smooth sailing (or maybe even completely working) after this is resolved :)
Re: Help me with finishing a port of Hexen to the Wii
August 05, 2010 05:33AM
Good luck as I would love this (And a Zdoom - esque port). Isn't the wiidoom port based off of PrBoom? I only mention this because maybe to ease workflow you could ask those devs if they have any ideas. Just putting my two cents in sorry it wasn't what you were looking for but i thought the encouragment would help :)

I can't believe we don't have Blood, Strife and duke nukem ports yet :(
These games were made to be played ALA Call of duty: Modern warfare with the wiimotes.

Good Luck
Re: Help me with finishing a port of Hexen to the Wii
August 07, 2010 06:20PM
Thanks reroshaggy, I appreciate the support.

I've cleaned up the source a bit more and added more debugging info and incorporated a few suggestions from friends. Unfortunately though, I'm really not much farther along from where I was when I began this thread. With that in mind, I truly feel that I've taken this project as far is it can go now without some help from someone. Sorry, I'm not usually one to abandon projects in this fashion but I've spent several days working on this and I'm truly stumped.

Build 5:
[www.mediafire.com]
Re: Help me with finishing a port of Hexen to the Wii
August 12, 2010 09:38PM
Brand new from Hermes:

Quote
Hermes
HHexen for Wii by Hermes / www.elotrolado.net (based in HHexen 1.6.1)
----------------------------------------------------------------------

Preparation
-----------

- Copy hexen.wad (shareware or otherwise) in apps/HHexenen

- Copy the folder 'apps' on SD

- NOTE: HHexen needs space in the SD to write files during the game.

Beginning
---------

- Uses Wiimote and Nunchuk

- Press button '2' to see the wiimote+nunchuk aid option at any time

Hexen Menu
----------

- Press 'HOME' to enter in the menu

- Use the analog stick (nunchuk) to move on options

- Hold 'B' and press 'A' to select in menu

Playing
-------

- Use the analog stick (nunchuk) to move in the game

- Press 'B' to fire

- Press 'A' (double-click) to open doors, etc.

- Press 'C' to jump (used also for special option Fly)

- Press 'Z' to run (used also for special option Weapon)

- Press 'MINUS / PLUS' to select ITEMS

- Hold 'B' and press 'A' to use ITEM

- Use Wiimote 'LEFT / RIGHT' to move laterally

- Use Wiimote 'UP / DOWN' to watch

- Press '1' to see map

- Press '2' to display wiimote+nunchuk aid option

Select Weapon
----------------

- Hold 'Z' and click on Wiimote 'LEFT' = 1, 'UP' = 2, 'RIGHT' = 3, 'DOWN' = 4

Fly
-----

- Hold 'C' and click on Wiimote 'UP /DOWN' for flying or 'A' to cancel

Cheats
------

- Press '2' to display wiimote+nunchuk aid option

- Press 'B' 5 times until the background color changes

- Hold 'B' and press 'A' for All Weapons

- Hold 'B' and press 'MINUS' for Full Health

- Hold 'B' and press 'PLUS' for God Mode

- Hold 'B' and press '1' for obtain All Keys

- Hold 'B' and press '2' for obtain All Artifacts

Download link (source code is included):
[mods.elotrolado.net]
Re: Help me with finishing a port of Hexen to the Wii
August 12, 2010 10:07PM
It's interesting he used HHexen as a base. I was actually using the pure Hexen base but used the WAD function calls of HHexen. I probably should've just swapped bases and maybe that would have solved my problem xD

As far as I can tell, none of my code is in there. So kudos to Hermes (I wonder if his build supports shareware and full ware Hexen as well as the HEXDD expansion?). I'm personally thrilled that someone accomplished this! I (and I'm sure everyone else) would greatly appreciate it if someone would add this to the wiibrew wiki btw ;-)



Edited 2 time(s). Last edit at 08/12/2010 10:16PM by Arikado.
Re: Help me with finishing a port of Hexen to the Wii
August 13, 2010 03:24AM
Quote
Arikado
I (and I'm sure everyone else) would greatly appreciate it if someone would add this to the wiibrew wiki btw ;-)

Done (I think). It's my very first article so I really apreciate it if somebody could chek it out:

[wiibrew.org]

Thanks in advance.
Re: Help me with finishing a port of Hexen to the Wii
August 14, 2010 01:55AM
Wow how long has this been available for testing? i have been searching for ports of dos games to wii forever (I'm a nostalgia slut). And this is Hermes (ios ninja)?

Also you should keep going with your hexen as there's multiple quake and quake 2 ports and between them all there's almost a fully functional one XD not that they aren't all great but ones controls are better and the others graphics run smoother so what can you do lol.
Maybe you and Herme's can collab on one cohesive port.



Edited 1 time(s). Last edit at 08/14/2010 01:58AM by reroshaggy.
Re: Help me with finishing a port of Hexen to the Wii
August 14, 2010 03:27AM
Actually, by stealing some of his code, I have Heretic running on my Wii now xD

Also, I finally tried out his Hexen port, and I can't stand the controls. So I was thinking of modifying it a bit and seeing if I could be a second author to the project. Or, like you said, maybe just finish my port since now I know where I went wrong.
Re: Help me with finishing a port of Hexen to the Wii
August 14, 2010 06:52PM
Oh thank you for saying it first Arikado. Now I'm not saying that in time his port will not be perfect but at this time it's to me unplayable.
I know this isn't the right thread for it but list of issues are:
No wiimote pointer support..at all, it's like playing with nothing but the keyboard.
To activate anything you have to press B - hold it - then press A......doesn't work the other way around.
Graphics don't use any filtering so when you stretch this game that was probably intended for resolution 300 something on a tv it's unviewable.
Lastly the sound is clipped and fuzzy sounding.

I know this is new and knowing him everything will be upto snuff but ATM i'm dissapointed.
I hope if he ever does wiimote support he doesn't try and do the Q2, turn to a certain degree then have to press a button to hold the view while you swing back the other way...those of you who played it know.
Quake 1's aiming is perfect.

I'm gonna find if there's any forum of his to discuaa his project and the rest of my rants will be directed there :)

Please keep up with yours and i'll be here with whatever help i can offer, also please try and be the first person to implement effects like lighting bloom and highres textures like most pc port lol
Re: Help me with finishing a port of Hexen to the Wii
August 14, 2010 10:28PM
Basically everything you said I was thinking too (right down to the aiming rant about Q2rev ;-) ). Unfortunately, a few of those complaints can also be applied to Heretic (like the input) since I used some of his code. However, I modified his video code a bit and I'm using my own sound driver via SDL so I don't think there are any problems with my Heretic port beyond the controls (which I hope to correct very soon). Also, I haven't added cheats into Heretic yet, but I promise I'll use a much better cheat activation scheme when I do. Probably after Heretic looks and works really good I'll go back and start working on Hexen. I like Heretic a little more anyways ;P
Re: Help me with finishing a port of Hexen to the Wii
August 16, 2010 05:07AM
Definatly all that lol. I have been really trying to do a new project since my HL2 mod Belle Isle Asylum [www.moddb.com] has gone into coma status.
If either of you would like to persue some sort of gui, hud or other re-texture of either game i'd be willing to help out in that respect as i'm a texture artist and modeler. I'm also a musician with digital mixing, composing and mastering skills so even a song or two for your Customization of the ports i'd do. There is out there a couple re-texture and 3d model versions of the game like done with shadow warrior so maybe someday that could be implemented

I like seeing people keep these old games alive and these ports could end up on future console ports and i'd like to be a part of that.
Unfortunatly i'm not a coder yet, just learning python ATM.

Lemme know my email is reroshaggy@yahoo.com
random gallery 1 [forums.3dtotal.com]
random gallery 2 [2k8brothergrimm.deviantart.com]
I am taking some web development course to make a good web portfolio and add ALL my works to one site, there are plenty more than this.
Sorry if it's off topic but you did say HELP with hexen (or heretic) port.

P.s. I think light corona's and particles are a big improvement in these games to look towards.



Edited 1 time(s). Last edit at 08/16/2010 05:11AM by reroshaggy.
Re: Help me with finishing a port of Hexen to the Wii
August 18, 2010 05:28AM
So Arikado any way we can try out ur Heretic?
Re: Help me with finishing a port of Hexen to the Wii
August 18, 2010 02:40PM
Quote
reroshaggy
So Arikado any way we can try out ur Heretic?
Euhm .... It's been out here [code.google.com] for almost a week now

Also, I'll give your previous post a proper response later ...
Re: Help me with finishing a port of Hexen to the Wii
August 26, 2010 07:18AM
Hey Arikado the Heretic ports coming along great GJ. Be the first to allow the hd texture .pk3's and i'll give ya a cookie lol.
Sorry, only registered users may post in this forum.

Click here to login