Help - Search - Members - Calendar
Full Version: Odamex
Scenyx Entertainment Community > Xbox1 Forums > Software Forums > Homebrew & Ported Games
Pages: 1, 2, 3
Hyper_Eye
This is a work in progress. I wanted to post about it here because posts in this section of the forum are far and few between. I hope some people will be happy to see something announced in here.

Anyway, I have been in this community for a long time and I love Xbox and everything about modding them. I have also been in the Doom community for a long time. One thing that Xbox has always lacked is a Doom port that could be considered complete. I know there are some projects that work but there are things that are lacking. Well I am a member of the Odamex development team. Ever since joining the team it has been my ambition to produce an Xbox port. Odamex is a perfect source port to use because its stated goals are to be open and portable. For anyone that doesn't know what Odamex is it is a classic Doom port with a particular focus on multiplayer. It is a client/server based port in the same vain as CSDoom or ZDaemon. It is highly portable and it utilizes SDL to achieve this. It currently runs on Windows, Linux, OS X, FreeBSD, Solaris, and pretty much any other SDL supported OS. It supports single-player, deathmatch, coop, and capture the flag. For more information on Odamex please visit the Odamex site: http://www.odamex.net.

I finally have found the time to start working on the port. While it is early I have achieved some major milestones and the game does start and run demos. What else it is able to do at the moment is hard to tell because Odamex does not have code to support joysticks so the controller does not work but I do have the console code compiling so I believe I could pull up the console but I'm not willing to speculate beyond that. I have ordered some adapters so that I can plug in a USB keyboard and mouse so if I don't have joystick code done by then I will be able to work with those.

The major tasks on my list are:

Joystick support using SDL (should work for all platforms including Xbox)
Possibly adding to the network code
An SDL launcher interface - This will allow you to pick wads for a single-player game or browse and connect to servers reported by the offical master servers.
Possibly add an on-screen keyboard
High-Definition resolution support

Anyway, on to the video footage:

http://www.youtube.com/watch?v=4OCyy_SGx1o
ultimate509
This looks promising best of luck to you, Id love to remove my DoomX setup to replace with this.
Likklebaer
This is exciting news. More Doom is always a good thing. happy.gif

About the joystick code; Doom-X maps the mouse's x-axis to the right thumbstick (giving analogue turning) and all the other controls are mapped via the keyboard controls. So is joystick support even necessary?
Hyper_Eye
QUOTE(Likklebaer @ Feb 9 2010, 11:56 AM) *

This is exciting news. More Doom is always a good thing. happy.gif

About the joystick code; Doom-X maps the mouse's x-axis to the right thumbstick (giving analogue turning) and all the other controls are mapped via the keyboard controls. So is joystick support even necessary?


Well joystick support is good for a few reasons. First, we want to support joysticks on all platforms and since we use SDL_Input I can add joystick support through SDL API and tackle all platforms, including XBox, in one swoop. This will allow me to add a joystick menu where you can do a few cool things including changing the function of the analog axis (for example you could switch the option "Left Analog Y Axis: Move vs. Look", etc.), sensitivity of the individual analog sticks, selecting the active controller, and a big one... enabling rumble.

Rumble? Hell yes. What I intend to do is implement a rumble API in the input code where we can call a strong rumble or soft rumble function with values for length and strength. Then within that code I will differentiate between Xbox and everything else. For Xbox I will use the API provided by the xdk for triggering rumble and on everything else I will be implementing rumble using the new forced feedback support within SDL 1.3 (the feature is support on Windows, Linux, and OS X.) I would love to use the same API for Xbox but obviously SDL 1.3 is not going to be quickly available. I will probably implement Xbox support first because SDL 1.3 is still in development.

Ultimately this port is being done as a branch of our code but once it is in a reasonable state it will be added to our trunk. The intention is for the Xbox port to be just another supported platform within our code. I have no intention of adding things like split-screen play as that is something that isn't really a reasonable objective for Odamex overall. What I want is to be able to provide an identical experience on the Xbox that you would get on any of the other platforms Odamex runs on. That means support for wad downloading, all the multiplayer types, joining games with players on the other platforms using the servers reported by the master servers, etc. So almost anything I implement in the advancement of the Xbox port is going to be usable on other platforms. I intend for that to be true even of the SDL launcher interface. I think this will be a pleasing port for the Xbox community.

Already today I have achieved two big goals. First the game is now truly running at 640x480 (the video shows the game running at 320x200) and the midi music is playing in all its glory!

Thanks for the support!
neil222
Great news on the port smile.gif
As Likklebaer said, more Doom is always good to hear. Keep going dude.
Hyper_Eye
QUOTE(Likklebaer @ Feb 9 2010, 11:56 AM) *

This is exciting news. More Doom is always a good thing. happy.gif

About the joystick code; Doom-X maps the mouse's x-axis to the right thumbstick (giving analogue turning) and all the other controls are mapped via the keyboard controls. So is joystick support even necessary?


Hey... through some searches I came to realize you were the main force behind DoomX. I was messing with it this evening and I was reminded that it really is well done. There are some things about DoomX that I am not aiming to duplicate like "System Link" and named control schemes. Those are things that will leave DoomX with a more "retail Xbox" feel than what Odamex will provide. But looking through some of the release posts for DoomX I am thinking about some of the same things you had to think about like analogue running. I have already made a lot of progress. Today I was actually in game and loaded a few different maps with Doom.wad and Doom2.wad, the console is working, and hearing the music was great. I don't think I am going to have too much trouble when it comes to the core port but working on the launcher interface is going to be interesting as I have never done a UI without some high-level toolkit (Gtk+, wxWidgets, etc.) There are a number of really nice ports on the Xbox that have great interfaces so I'm hoping to find some tips on that. I have also run into some pitfalls of the SDL port as well. If I have trouble during the course of the port I might like to pick your brain if you are open to it.

A question that I have for anyone who might know the answer: Can SDL provide HDTV resolutions on the Xbox? SDL_ListModes() currently returns a number of resolutions but 800x600 is the highest with 640x480 being the only one that is not scaled. I don't see any widescreen resolutions returned.
Likklebaer
Carcharius did all the coding on DoomX, I just basically helped out on the design side and complained at him a lot. happy.gif

We found that analog running didn't really work well. It felt much more natural (and more Doom-like) to have to have a run button mapped to the left trigger. Interestingly, when Doom 3 was released for the Xbox, id implemented the exact same control system in the unlockable classic Doom games as we had in DoomX. I don't know if they actually played it or if it was just coincidence, but I'd like to think it was the former.

If I can be of any help I'd be more than happy to. It's great to be talking about Doom on the Xbox again and also nice to see a developer taking the system seriously as a platform to port to.
Hyper_Eye
QUOTE(Likklebaer @ Feb 10 2010, 03:59 AM) *

Carcharius did all the coding on DoomX, I just basically helped out on the design side and complained at him a lot. happy.gif

We found that analog running didn't really work well. It felt much more natural (and more Doom-like) to have to have a run button mapped to the left trigger. Interestingly, when Doom 3 was released for the Xbox, id implemented the exact same control system in the unlockable classic Doom games as we had in DoomX. I don't know if they actually played it or if it was just coincidence, but I'd like to think it was the former.

If I can be of any help I'd be more than happy to. It's great to be talking about Doom on the Xbox again and also nice to see a developer taking the system seriously as a platform to port to.


I am one of those people that can't let things go. I own a bunch of consoles going way back and one of the consoles I have development hardware for is the Atari Jaguar! Anyway, I think Xbox is probably one of the best systems to port to and if we were to only support one I think it is the one that makes sense considering how cheap they are, how easily they mod (with softmods being so strong now), and with how much functionality a modded Xbox provides.

Anyway, I made more progress last night. I got in-game, loaded a bunch of maps, and I added support for three different modes of overscan: "Off, Low (93.75%), High (87.5%)". It seems sensible to me that on consoles when you go into the video modes instead oh having the "Fullscreen" option you get the "Overscan" option.

For the run issue... I am going to try analog running and see how I feel. I am more inclined to do what DoomX did. Keep in mind that while DoomX didn't want an "Always Run", because it was trying to adhere closely to classic Doom, Odamex already has an "Always Run" option. I would like to make the left trigger perform which ever action is not automatic based on the "Always Run" option.

I will do a new video with the current progress in it in the next few days. Odamex development is open and so I would like to somewhat journal the progress on the Xbox.
moonmaster1
I really like where this is going, I sometimes bust out doomx every once in a while. Good to see xbox is getting one last port.

Dumb question though. Will this new version of doom be able to play some of the maps from Doom X (not related to the xbox port).

This map in particular.
http://www.doomx.net/?p=5

I wanna say no as Doom X is its own project but I don't see what makes it different from regular doom.
Hyper_Eye
There isn't really a lot of information there. I can't go through his videos right now but it looks to me like he may be doing a port as opposed to just a wad.

Take a look at this link to get more details on what Odamex is and what it supports: http://odamex.net/wiki/Odamex

In particular you may want to look at the map compatibility section.
Likklebaer
QUOTE(Hyper_Eye @ Feb 10 2010, 06:04 PM) *

Anyway, I made more progress last night. I got in-game, loaded a bunch of maps, and I added support for three different modes of overscan: "Off, Low (93.75%), High (87.5%)". It seems sensible to me that on consoles when you go into the video modes instead oh having the "Fullscreen" option you get the "Overscan" option.

For the run issue... I am going to try analog running and see how I feel. I am more inclined to do what DoomX did. Keep in mind that while DoomX didn't want an "Always Run", because it was trying to adhere closely to classic Doom, Odamex already has an "Always Run" option. I would like to make the left trigger perform which ever action is not automatic based on the "Always Run" option.

I will do a new video with the current progress in it in the next few days. Odamex development is open and so I would like to somewhat journal the progress on the Xbox.

The overscan option sounds good. I know with DoomX, even though we reduced the screen size somewhat, people still complained about being unable to read the text at the top of the screen and such. It would be nice to have an option for widescreen displays as well which would require reducing the horizontal overscan to 75% so you'd get a proportional 4:3 image on a 16:9 TV.

I guess an "Always Run" option makes more sense to have in Odamex since it's more multiplayer focused than DoomX and I know a lot of players use it in DMs.
lawdawg0931
Really looking forward to this as well.... very nice to see a Doom port with a particular focus on multiplayer. Always nice to see anything new for the original Xbox. Thanks for the updates on your progress.
Mega Man (?)
This is awesome news, I love doom! single-player, deathmatch, coop, and capture the flag would be great!
Good luck Hyper Eye. smile.gif

flux2k
Would there be splitscreen multiplayer?
Hyper_Eye
QUOTE(flux2k @ Feb 10 2010, 10:09 PM) *

Would there be splitscreen multiplayer?


QUOTE(Hyper_Eye @ Feb 9 2010, 12:34 PM) *

I have no intention of adding things like split-screen play as that is something that isn't really a reasonable objective for Odamex overall. What I want is to be able to provide an identical experience on the Xbox that you would get on any of the other platforms Odamex runs on.


Thanks for your interest.
weinerschnitzel
I remember how nuts those zDaemon games got... I'm glad to see some more development on the xbox with such a great game! Good luck, I can't wait to see how it all turns out.
Likklebaer
QUOTE(flux2k @ Feb 11 2010, 06:09 AM) *

Would there be splitscreen multiplayer?

Carcharius' Doom Legacy port has split-screen multiplayer for 2 players, and the classic Doom that comes with Doom 3 has it for 4 players. Legacy doesn't have proper analog control like DoomX though, not sure about the D3 ports.
Clockface
This is fantastic news! DoomX (XBox) is already brilliant, and to me it only lacks three things;

- the ability to play some maps, such as the Aliens mod, and other Dehacked stuff (or whatever it's called, I'm not up on the technicalities),

- an option to make the text larger, as in high resolution mode the text is hard to read as it stays in low resolution so it's very small,

and

- the ability for the program to use different save slots for each map. As it is, all save slots for any one Doom version are used for every map for that Doom version, so that (for example), Doom 2, Doomed to Die, and any Doom 2 maps all save to the Doom 2 save slots. So you have to manually remember which save slot is for which user made level you saved it in, which is very impractical.

It would be fantastic if your version of Doom when you add it to the XBox could either have different save slots for each map file that was loaded, or if every save slot was automatically named in the format:

[map name] + [date] + [time]

so that, for example, if the date and time was 20/12/2010 and the time was 5:17, then for a save done in a map that came as part of Doom 2, the the save name would be:

20-12-1010--05-17

but if the map loaded was a user made map called, say, Marsatt, then the save file would be called:

Marsatt 20-12-1010--05-17

etc.

Please consider these requests, as they would make the game much better on the XBox.
Hyper_Eye
QUOTE(Clockface @ Feb 12 2010, 06:55 AM) *

This is fantastic news! DoomX (XBox) is already brilliant, and to me it only lacks three things;

- the ability to play some maps, such as the Aliens mod, and other Dehacked stuff (or whatever it's called, I'm not up on the technicalities),


Odamex supportes dehacked and boom maps. I just loaded AliensTC to see if those specific wads work and they worked fine.

QUOTE(Clockface @ Feb 12 2010, 06:55 AM) *
- an option to make the text larger, as in high resolution mode the text is hard to read as it stays in low resolution so it's very small,


Odamex already has this option. You can enable or disable the scaling of text. I like the text small so I don't scale it but it will be scaled in my next video.

QUOTE(Clockface @ Feb 12 2010, 06:55 AM) *
and

- the ability for the program to use different save slots for each map. As it is, all save slots for any one Doom version are used for every map for that Doom version, so that (for example), Doom 2, Doomed to Die, and any Doom 2 maps all save to the Doom 2 save slots. So you have to manually remember which save slot is for which user made level you saved it in, which is very impractical.

It would be fantastic if your version of Doom when you add it to the XBox could either have different save slots for each map file that was loaded, or if every save slot was automatically named in the format:

[map name] + [date] + [time]

so that, for example, if the date and time was 20/12/2010 and the time was 5:17, then for a save done in a map that came as part of Doom 2, the the save name would be:

20-12-1010--05-17

but if the map loaded was a user made map called, say, Marsatt, then the save file would be called:

Marsatt 20-12-1010--05-17

etc.

Please consider these requests, as they would make the game much better on the XBox.


I have been thinking about this myself. First, I will be automatically inserting the date into the save slot. I can add the name of the wad as well but I will probably have to limit it to the name of the first wad loaded only. You can stack wads and were I to insert them all it could get messy.

Also, I plan to implement an onscreen keyboard so you will be able to insert your own text into the field. If someone happened to have a USB adapter to plug into their controller port (which can be had for a couple bucks) you would also be able to use a regular keyboard. You could use a keyboard and mouse to play if that is what suites you. It is important that you be able to insert text though as people playing on other platforms may talk to you while you are playing online. We wouldn't to appear to be rude by not responding. tongue.gif

Currently Odamex uses the same save slots no matter what you have loaded (even between different iwads.) This is something I think the Odamex team could consider.

Thank you for your interest.
Hyper_Eye
I have a new video for you all... Progress Report #1: http://www.youtube.com/watch?v=HhThAQ7Ms6k

In this video you are going to see:

- A working console
- Working music
- Working menus
- Increased Resolution (640x480 vs. the 320x200 that was displayed in the previous video)
- The Overscan option which replaces the Fullscreen option on consoles. I implemented this the night I shot the video.
- Mouse and keyboard working
- The control binding menu
- Actual gameplay footage!

This will be the last video for a little bit as I am now working working on a branch with planned implementation. When I have something significant to show I will do another video.

Odamex!
Likklebaer
Lovin the video! Any plans for some kind of aspect ratio correction? Things look a little squashed there on a widescreen TV. No problem if not, my TV has a button somewhere that fixes it.

Being able to play with people using other platforms is a great idea though when playing with a controller will probably mean getting butt-raped by people using mouse and keyboard.

You should have left your little girl talking loudly in the vid. Sooooo cute! happy.gif
Hyper_Eye
QUOTE(Likklebaer @ Feb 12 2010, 03:02 PM) *
Lovin the video! Any plans for some kind of aspect ratio correction? Things look a little squashed there on a widescreen TV. No problem if not, my TV has a button somewhere that fixes it.


At this moment Odamex only supports changing FOV. So that is one step towards widescreen support but obviously there is more that is needed. It is not an immediate goal but if you use the minimal HUD and set your FOV (100 for 16:10 or 106 for 16:9) you will find that it is not as bad. The other option is to hit the button on your remote that changes your display to 4:3 like you said. While current SDLx does not support HDTV resolutions I fully intend on supporting HDTV resolutions in the future. At that point there will need to be a lot more consideration as to how we want to approach widescreen.

QUOTE(Likklebaer @ Feb 12 2010, 03:02 PM) *
Being able to play with people using other platforms is a great idea though when playing with a controller will probably mean getting butt-raped by people using mouse and keyboard.


I would imagine that there are some people who are good enough with the controller to be competitive. I know I have watched videos where people demonstrate great accuracy with a controller. But there is no doubt that a controller is more than acceptable for playing coop no matter what platform your teammates are on. Keyboard and mouse support will be there so anybody who wants to go that route can. I got those two adapters, which are very nice quality, from a discount shop on ebay and both adapters + shipping cost me less than $10.

Allowing Xbox players to play with people on other platforms really was never a question though. I don't think about what I am doing as porting a Doom source port to Xbox. I think about it as porting the Odamex client to Xbox. One of the main purposes of the Odamex client is to connect to Odamex servers. These servers are the same regardless of your platform. I think when you consider the fact that Xbox Live is shutting down for the original Xbox it seems even more important to have ports like this where the online aspect of the game is a primary consideration during porting. I have some ports that you can play online with but it is obvious that this wasn't the primary focus during porting. When this port is ready it will be able to do everything that the PC, Linux, OS X, etc. ports can do. And I hope there are people who choose to actively play Odamex on Xbox.

QUOTE(Likklebaer @ Feb 12 2010, 03:02 PM) *
You should have left your little girl talking loudly in the vid. Sooooo cute! happy.gif


Thank you for that.
Pulsemasta
I'm so glad to see this and hope you don't run into many roadblocks while porting :-) Would love to play Doom online from the box!
Hyper_Eye
QUOTE(Pulsemasta @ Feb 14 2010, 09:15 PM) *

I'm so glad to see this and hope you don't run into many roadblocks while porting :-) Would love to play Doom online from the box!


I was playing some coop with it today. It is coming along nicely. The work I had done up to the point of my second video was pretty hacky to more proof it than anything else. I am now doing proper implementation so I spent the last couple of days reimplementing the original stuff and this allowed me to get some stuff I didn't already have in. That includes the network support, more thorough handling of paths which led to working saving/loading, passing command-line params and more. Overscan is the only thing that hasn't gone back in yet but there is a lot there that wasn't in the proof version and it has been a lot more stable along the way. I started the proper development by creating a branch in our svn and you can follow the development there. You can see a short log immediately on the odamex.net homepage and you can select a more detailed changelog or even browse the svn if you would like.

Thanks for your interest and support!
weinerschnitzel
Nice work, Ill checkout that source and see whats up smile.gif
Hyper_Eye
I want to let you guys know that this is still progressing. You can follow the progress on our svn. Currently I have most of the multi-platform joystick support in. What remains to make the Xbox controller fully functional is hat support (which will enable the use of the d-pad) and using a joystick for menu navigation. As it is you need a keyboard plugged in to navigate to the joystick menu and enable/configure the controller, to the customize controls menu for setting the button bindings, and for starting a new game. The game is fully playable with the controller minus the d-pad.

The controls are analog. When auto-run is enabled you will run at full speed when pushing the analog stick to an extreme. When you hold the run/walk button the character will move at the full walk speed when the analog control is pushed to an extreme. In either case the speed is adjusted over the full range of analog control. So if you are "walking" and you barely push the analog control you will move very slowly and the speed will increase as you push the analog control further. If you are running the same thing holds true and the speed can be instantly changed by pressing the run/walk button. When auto-run is disabled the same things apply except that the run/walk button will have the opposite affect and you will walk by default.

For those that do not want to use analog controls I plan on adding an option to disable analog control. At that point you will be able to bind analog controls in the "Customize Controls" menu as if they were buttons which will affectively make them act as digital controls. You will also be able to assign the d-pad the same way if that is what you prefer. I think the analog controls feel great and I would not prefer two-step control over analog control but I do like options and I know there are some out there who will choose to bind their controls this way. I can't guarantee that this option will be ready for the 0.5 release of Odamex but it is on my list of things.

Obviously with the analog controls implemented and working I want to move to the next priority and knock things out in order of importance. I would say that order at this point is menu navigation, hat support, launcher interface, anything else. At this point the game is fully playable (both Ultimate Doom and Doom 2 have been extensively played by me), wads can be loaded, connecting to servers works, a usb keyboard is now fully functional including working with the console and chatting with other players, games can be saved and loaded, original demos are working without de-synching, and I would probably be getting this done faster if I wasn't having such a blast playing it. The biggest piece left to do is the launcher but I realize how crucial it is to calling an Xbox port complete. I am really enjoying the work and I expect things to continue to progress at a good speed.

Don't let anyone tell you the Xbox homebrew scene is dead. There are good things coming. Ask me. Ask SirLemonhead (who has been hard at work. wink.gif )
Likklebaer
Thanks for the update. It's exciting to hear how well this progressing! Please keep them coming. Sounds like this is going to be the perfect excuse for some serious Doom playing.

Would love to see some more projects like this in the Xbox's future. happy.gif
lawdawg0931
Agreed....really looking forward to this. Doom is still one of my fav's....cutting edge when it came out. Keep the updates coming please, thanks
rubarb
thanks hyper eye this sounds great.

One thing though, if you are adding rumble, please can you have an option to turn it OFF, thanks. wink.gif
this is the only thing that I didn't like about doomx, I use doom legacy at the moment instead.
Koooi
First off!
Hyper Eye, you are one of these guys that shows that the Xbox is not dead!
Great great Work you make there!

I have a few questions about this port:

1. I another Xbox Doom-Port (donīt know which was it), there was a Xbox Option to add Bots in the Multiplayer, so you can play it also alone with Computer Enemys. It would be so cool to bring this in your Port!

2. Will there be MP3 or WAV Support? I mean, so that you can change the Background music or other Sounds!
Or is it Midi?

3. Will there be also a deh-Support from the Wads? So that i can play finally Goldeneye. Because i know all Wads with a deh in it donīt working in the Doom-Ports before!

Hope you can answering all my questions!
Have a nice Day and good Luck on the Port!
Likklebaer
QUOTE(rubarb @ Feb 26 2010, 03:39 PM) *

One thing though, if you are adding rumble, please can you have an option to turn it OFF, thanks. wink.gif
this is the only thing that I didn't like about doomx, I use doom legacy at the moment instead.

Seriously? I always thought the rumble in DoomX made using the weapons so much more satisfying.
Hyper_Eye
QUOTE(rubarb @ Feb 26 2010, 07:39 AM) *

thanks hyper eye this sounds great.

One thing though, if you are adding rumble, please can you have an option to turn it OFF, thanks. wink.gif
this is the only thing that I didn't like about doomx, I use doom legacy at the moment instead.


There will be an option to enable or disable rumble. Pretty much anything that was not found in classic Doom is optional in Odamex. Being able to have that classic feel is important to the Odamex team. That is why I will leave the ability to change the resolution in even though SDLx only truly displays 640x480 and scales anything else. If I were porting something else I would just set the resolution to 640x480 and leave the option out (until I get around to supporting HD resolutions which will require changing SDLx.) With Odamex I want you to be able to select 320x200 so that you can get that classic feel if you want it. As with many options I like playing with higher resolutions but the option will be used by somebody.

QUOTE(Likklebaer @ Feb 26 2010, 01:48 PM) *

Seriously? I always thought the rumble in DoomX made using the weapons so much more satisfying.


I agree. Rumble feels good in DoomX.
Hyper_Eye
QUOTE(Koooi @ Feb 26 2010, 10:38 AM) *

First off!
Hyper Eye, you are one of these guys that shows that the Xbox is not dead!
Great great Work you make there!

I have a few questions about this port:

1. I another Xbox Doom-Port (donīt know which was it), there was a Xbox Option to add Bots in the Multiplayer, so you can play it also alone with Computer Enemys. It would be so cool to bring this in your Port!


Bots have been mentioned among the Odamex team in the past but it is not something we are currently working on. This might be a consideration in the future but it will not be in the 0.5 release of Odamex.

QUOTE(Koooi @ Feb 26 2010, 10:38 AM) *
2. Will there be MP3 or WAV Support? I mean, so that you can change the Background music or other Sounds!
Or is it Midi?


This is from the Odamex wiki which I encourage you guys to look at here: http://odamex.net/wiki/Odamex

QUOTE
ODAMEX supports multiple music and sound formats, for example:
WAVE/RIFF
AIFF
VOC
MOD XM S3M 669 IT MED and more (using included mikmod)
MIDI (using timidity or native midi hardware)
OggVorbis (requiring ogg/vorbis libraries on system)
MP3 (requiring SMPEG library on system)
Basically any music format that SDL_mixer supports!


So any of those formats can be used in maps. What is not supported is the user changing the music in-game. You will not be able to pick a song from the music you have stored on the Xbox. Again, this could be a future consideration but it is not something we have considered or are working on.

QUOTE(Koooi @ Feb 26 2010, 10:38 AM) *
3. Will there be also a deh-Support from the Wads? So that i can play finally Goldeneye. Because i know all Wads with a deh in it donīt working in the Doom-Ports before!

Hope you can answering all my questions!
Have a nice Day and good Luck on the Port!


I answered this question earlier when someone asked about Alien TC. This is also from the wiki:

QUOTE
Patch support includes (loaded from command line or DEHACKED lump)
DEHACKED (DEH)
Boom EXtensions (BEX)
BOOM map format support.


Just to be certain I went ahead and tested the GoldenEye TC deh version and it worked great. It is also really awesome.

Thanks for the questions.
weinerschnitzel
Its nice to hear your progress. I have a couple questions:

What do you have planned for the launcher, a Doom style interface with an xmv video in the background, or something like an emulator launcher? I'm hoping it will be better than DoomLegacy's launcher smile.gif

Will you include look inversion or any up/down looking?

I'm pretty excited for this; keep up the good work!
Hyper_Eye
QUOTE(weinerschnitzel @ Feb 27 2010, 09:46 PM) *

Its nice to hear your progress. I have a couple questions:

What do you have planned for the launcher, a Doom style interface with an xmv video in the background, or something like an emulator launcher? I'm hoping it will be better than DoomLegacy's launcher smile.gif


I have not done much in the way of designing the launcher yet but it will be minimalist. I am less concerned with appearance than I am with providing the necessary components. Those major pieces would be a way to select iwads and pwads for a single player game or browse the odamex servers to start a multiplayer game. With that in mind the interface will probably be similar to the look that is typical of emulators. That would be a static background with viewpanes for the interface. There doesn't need to be a whole lot on the launcher because the client options are all contained within the game where the menu system will remain intact and all the options will be available.

Download Odamex for whatever OS you use on your PC. Check out the launcher and look around Odamex. Now think about something that provides similar functionality to the launcher launching on the Xbox followed by the same Odamex client. That is what it is going to be. There are some things being added to support the effort but those things are being added in a cross-platform way. So if you were to grab the odameXbox branch from our SVN and try it you will be able to see the state of it. I developed the joystick support in Linux and I have further tested it in OS X and Windows followed by the Xbox. So you can check out the new joystick support on any of those platforms.

QUOTE(weinerschnitzel @ Feb 27 2010, 09:46 PM) *
Will you include look inversion or any up/down looking?

I'm pretty excited for this; keep up the good work!


Here is what the joystick configuration menu looks like so far except I used the "Mouse Setup" graphic temporarily. We already have the "Joystick Setup" graphic done. Obviously more will be added to this, such as the rumble option, before it is completed.

IPB Image

Here is the new "Customize Controls" menu where you set your bindings. This is not the whole thing as it is now scrollable and it has been broken into categories. You assign the joystick buttons here the same as you do with keyboard and mouse.

IPB Image

Those screenshots were taken in Linux but it looks exactly the same on Xbox.
Likklebaer
Glad to see the freelook is optional. If you're looking up and down it just isn't Doom.
weinerschnitzel
No, but if your playing a mod it often feels right to have freelook.

Thanks for the timely response. I see a vc9 file in there I'm guessing that is just leftovers from the trunk. I keep getting an error looking for 'SDL.h' Do we need to get the sdlx libs on our own to build this?
weinerschnitzel
Well I put SDL.h and SDL_main.h from SDLx in the xbox folder and added libSDLx.lib and libSmpegX.lib and noticed it looks for libSDLxd.lib and libSmpegXd.lib If I rename them I get the warning:
CODE
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library

and the xbe fails to enter debug mode. Do you have your own sdlx libs?
Hyper_Eye
QUOTE(weinerschnitzel @ Feb 28 2010, 10:23 AM) *

No, but if your playing a mod it often feels right to have freelook.


Again, we like to have options in Odamex. I personally never enable freelook. I don't consider it to be functionally necessary in Doom and I also agree with Likklebaer that Doom just doesn't feel like Doom with freelook. I also never use jump but the option is there for anyone who wants it. If you want freelook it is there for you to use and if we are going to provide freelook we also need to provided inverting it for completions sake.

QUOTE(weinerschnitzel @ Feb 28 2010, 10:23 AM) *
Thanks for the timely response. I see a vc9 file in there I'm guessing that is just leftovers from the trunk.


There is no such thing as a leftover from tunk as odameXbox is a branch from trunk and while the branch was created for the purpose of supporting the Xbox it is all being done in a multiplatform way. I keep the odameXbox branch updated with the trunk changes. I have already merged from trunk twice with the most recent being only a couple days ago. As with any branch when the effort is complete the branch will be merged back into trunk and removed. Then the Xbox build can be built right from trunk and it will be maintained there.

The project files available for the Windows build include a VC9 (MSVC++ 2008 Express is what is generally used with it), VC6 (for those who like this old non-standards compliant compiler), Codeblocks (our multi-platform project file), and the standard Makefile which works cross-platform with gcc. Mingw gcc is used to build the Windows build for release and during development by the devs that work in Windows almost 100% of the time but we maintain the other project files to provide choice. So none of these would be leftovers anymore than the Xbox project files will be a leftover when it is merged to trunk. If someone wants to try the new joystick support in Windows they can load the vc9 project inside the odameXbox branch and compile it. Then they will have the changes I have made to support the Xbox effort including the new multi-platform joystick support.

QUOTE(weinerschnitzel @ Feb 28 2010, 10:23 AM) *
I keep getting an error looking for 'SDL.h' Do we need to get the sdlx libs on our own to build this?


The SDLx package is required (the source code is not but the libs/headers package is) just as SDL is require to build on any other platform.

QUOTE(weinerschnitzel @ Feb 28 2010, 12:56 PM) *

Well I put SDL.h and SDL_main.h from SDLx in the xbox folder and added libSDLx.lib and libSmpegX.lib and noticed it looks for libSDLxd.lib and libSmpegXd.lib If I rename them I get the warning:
CODE
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library


Let me give you some directions. You do not need to place the includes and libs into the Xbox project directory. Simply unpack the SDLx package somewhere. Then you need to configure your compiler to find the SDLx package as described for compiling in Visual Studio on the Odamex wiki: http://odamex.net/wiki/Compiling_using_Mic...t_Visual_Studio

Those directions are a bit outdated so let me tell you exactly what you want to do to setup your compiler for compiling Odamex.

Select Tools->Options.
Click Projects.
Click "VC++ Directories".
In the "Platform:" pulldown select "Xbox".
In the "Show directories for:" pulldown select "Include Files".
Add the path to the SDLx include directory.
Then in the "Show directories for:" pulldown select "Library Files".
Add the directories for the SDLx debug libs and another one for the SDLx release libs.
After that you are finished with that dialog.

That should be all you need to get Odamex to compile. Once it is compiled and it has been transferred to your Xbox you will need to transfer a few things yourself. These need to go in the Odamex directory and you can copy them there using "Xbox Neighborhood".

Odamex.wad (Found in the toplevel directory of the branch. Do not use the one from trunk. It does not have everything you need in it.)
Doom.wad or Doom2.wad
For music you need eawpatches configured to work on Xbox. That is available here: http://www.huntsvegas.org/files/Timidity-odameXbox.rar (23M compressed)

For the timidity files put them in the Odamex directory as they are in the archive. So at the toplevel of the Odamex directory you should have a timidity.cfg and a Timidity directory. The game will start without this but it will not be able to initialize the music subsystem and there will only be sound effects. With those files in place you should be able to start Odamex. You will only need to copy them into place once unless something in odamex.wad changes.

Once the game is started you will need a keyboard plugged in to navigate the menus to set your resolution, overscan, joystick settings, map your buttons etc as I have not yet implemented menu navigation using the joystick. As SDLx scales all resolutions to 640x480 I recommend setting that as your resolution. If you are seeing a mouse cursor in the menus you can get rid of it by pulling down the console and typing "vid_fullscreen 1" and then restarting the client. In the future this will be forced on the Xbox. Do not do a warm reboot from your PC, stop the game with the debugger, or turn off your Xbox without quitting if you made any configuration changes you want saved. Quit the game through the menu as that is when your configuration file will be saved. As of the most recent 2 commits the game should properly return to your dashboard when you quit.

If you would like to try connecting to a server get the hostname or ip address and port and connect on the console with "connect address:port". Since the branch is based on trunk all recent changes are present and you will find that item pickup has a huge lag when playing on a 0.4.4 server. We changed the way item pickup works and so only svn servers are compatible and they will not exhibit the pickup lag. When we bump to 0.5 that will not be an issue.

Extra Note: If you do not have the debug version of the libraries then you will only be able to build the "Release" build. In MSVC++ pull down the "Solution Configurations" an select "Release". Then it will look for the release libs instead of the debug ones. If you don't plan on doing any debugging it will be better to use "Release" anyway as the performance will be better and it will reflect the performance that would be experienced with an actual release. The resulting xbe will also be smaller.

QUOTE(weinerschnitzel @ Feb 28 2010, 12:56 PM) *
and the xbe fails to enter debug mode. Do you have your own sdlx libs?


I am not using custom SDLx libraries. In the future I am going to have to make some changes to them as they do not support HD resolutions. I have every intention of supporting HD resolutions. I have also found a bug that I had to work around in the joystick code in SDLx. I would like to fix it. Any changes that I make to SDLx will be released. It is obvious to me that SDLx is currently dead. I am considering taking over SDLx development so that Xbox development can continue into the future. If I do this the project will be made available on sourceforge. One of the biggest reasons I am considering this is because of the upcoming release of SDL 1.3. I would like to take SDLx to 1.3. The most immediate benefit there is that SDL 1.3 will support multi-platform forced-feedback/rumble and it would be great if multi-platform rumble implementation would work on Xbox. Anyway, these are things I am considering and I have not decided for sure that this is something I want to do. I am seriously leaning towards it though.
weinerschnitzel
Thanks for your help, I now have it running. I wasn't sure if you had started your work on SDLx for HDTV support, as I didn't recognize any lib's ending in d, but I see that you refer to the debug library. I'll have some more fun with this later in the week smile.gif
Hyper_Eye
QUOTE(weinerschnitzel @ Feb 28 2010, 07:13 PM) *

Thanks for your help, I now have it running. I wasn't sure if you had started your work on SDLx for HDTV support, as I didn't recognize any lib's ending in d, but I see that you refer to the debug library. I'll have some more fun with this later in the week smile.gif


I added this in an edit. You may have not caught it.

QUOTE(Hyper_Eye @ Feb 28 2010, 05:24 PM) *
Extra Note: If you do not have the debug version of the libraries then you will only be able to build the "Release" build. In MSVC++ pull down the "Solution Configurations" an select "Release". Then it will look for the release libs instead of the debug ones. If you don't plan on doing any debugging it will be better to use "Release" anyway as the performance will be better and it will reflect the performance that would be experienced with an actual release. The resulting xbe will also be smaller.


Selecting the "Release" build eliminates the "d" libraries you refer to. Those are the debug libraries which contain debugging symbols for effectively using the debugger. The regular libraries don't contain those symbols and may be optimized which provides for good performance and a smaller size. The debug version can get choppy depending on whats going on especially if the debugger is actively running. I have not experienced any choppiness with the release build.
Pulsemasta
Did this get released or are people just beta testing it? I hadn't checked the thread in a while, don't know if I missed something smile.gif
Hyper_Eye
QUOTE(Pulsemasta @ Mar 10 2010, 06:19 AM) *

Did this get released or are people just beta testing it? I hadn't checked the thread in a while, don't know if I missed something smile.gif


It has not been released. All the work being done for this effort is committed into our repository though and as I work I continue to make commits. It can all be found in the odameXbox branch of the odamex svn repository. Weinerschnitzel wanted to build it so above I gave him instructions on how to build it and make his resulting xbe work. Anybody who wants to build it and try it is welcome to.
Pulsemasta
oh, that's cool. Thanks for filling me in! :-)
Finker282
Thank you so much. You are an inspiration. Doom is and will always be my favorite game of all time. All I ever wanted was to play an updated cross platform port on the Xbox where I could use a keyboard and mouse and connect to internet servers. Until now Legacy got the job done for me... albeit not really what I was looking for. Now THIS... this is golden. Perhaps I will start working on some ctf maps, as that is my favorite multiplayer mode. Thank you so much! You have no idea what this means to me.
Clockface
Any progress, or any idea when a release version will be available?

Thanks for any answers.
Hyper_Eye
I have not done any work directly on Odamex since the last time I posted but progress has been made in other areas as can be seen in this thread: http://forums.xbox-scene.com/index.php?showtopic=708542

I can't really speculate as to when a release will be ready. I would like to have the Xbox port ready for release to coincide with the 0.5 release of Odamex but the likeliness of that is lessened as the Odamex team starts to want to focus more and more on the 0.5 release. 0.5 will not be held back for a platform that was not previously supported. If the Xbox port is not released with the 0.5 release I will try to make the release a 0.5-compatible release so that Xbox players will be able to play on the 0.5 servers and can get in the action the moment the port is available.
Clockface
OK mate, thanks for answering.

I'm really looking forward to this one!
weinerschnitzel
For those interested, Hyper_Eye added the xbox controller functionality. So those that want to build it on their own can now play without a keyboard.
Hyper_Eye, I can't wait to see the launcher and be able to play online. Keep up the good work!
Hyper_Eye
QUOTE(weinerschnitzel @ Mar 25 2010, 07:29 PM) *

For those interested, Hyper_Eye added the xbox controller functionality. So those that want to build it on their own can now play without a keyboard.
Hyper_Eye, I can't wait to see the launcher and be able to play online. Keep up the good work!


You are fast to notice Weinerschnitzel. Are you subscribed to the svn RSS feed? I put the final change that allows people to setup and play without a keyboard today. Since I last posted I have made the following changes in an effort to get passed the need for a keyboard:

QUOTE
1593 2010-03-23 Hypereye Implement hat (and in turn d-pad) support.
1594 2010-03-23 Hypereye Implement joystick menu navigation.
1595 2010-03-24 Hypereye On Xbox do not allow the start button to be bound and display the menu when it is pressed.
1598 2010-03-25 Hypereye - When saving to an empty slot insert a timestamp by default.
- Default vid_fullscreen to true on Xbox.
- Default use_joystick to true and don't allow it to be disabled on Xbox.
- Make a full copy of an SDL_Event when adding it to the joystick event list.


BTW, you might notice that another branch being actively developed by "Mike" is odaraven. That is our effort to support Heretic. happy.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2013 Invision Power Services, Inc.