Back to Basics
<i>This post was originally made by <b>skyjake</b> on the dengDevs blog. It was posted under the categories: Beta 6, Engine, Mac OS X.</i>
It's been a while since I've done any serious work on Doomsday. I find that there is a number of things slightly broken at the moment, and I'll be focusing on fixing the very basics of the game: the game controls.
I plugged in my USB gamepad to the PowerMac and to my delight found out that it's quite well supported by SDL. Soon after I found out that the code in <tt>sys_input.c</tt> and <tt>dd_input.c</tt> is being a bit sloppy about joystick axis handling, range conversions, and dead-zoning. I improved the code so that all the axes and buttons (and even multiple hats, potentially) that SDL recognizes can be read by the engine, and fixed the range conversions so that they actually work.
It looks likely that I'll be doing some revamping of the basic data structures related to input devices and events, to clean things up and prepare for the new <a href="http://dengine.net/dew/index.php?title=Player_controls">player controls</a> system.
I think I'll commit my changes so far. Because the player controls are not working anyway at the moment, it won't really matter if I've unintentionally broken something.
It's been a while since I've done any serious work on Doomsday. I find that there is a number of things slightly broken at the moment, and I'll be focusing on fixing the very basics of the game: the game controls.
I plugged in my USB gamepad to the PowerMac and to my delight found out that it's quite well supported by SDL. Soon after I found out that the code in <tt>sys_input.c</tt> and <tt>dd_input.c</tt> is being a bit sloppy about joystick axis handling, range conversions, and dead-zoning. I improved the code so that all the axes and buttons (and even multiple hats, potentially) that SDL recognizes can be read by the engine, and fixed the range conversions so that they actually work.
It looks likely that I'll be doing some revamping of the basic data structures related to input devices and events, to clean things up and prepare for the new <a href="http://dengine.net/dew/index.php?title=Player_controls">player controls</a> system.
I think I'll commit my changes so far. Because the player controls are not working anyway at the moment, it won't really matter if I've unintentionally broken something.
Comments
** everyone looks at danij **
At this moment I can't offer my machine as a buildbot though. Whenever it is on, I'm using it anyway and I get immediate notification of changes in svn.
Given the work that is required for the 1.9.0-beta6 release I'm not surprised in the slightest that there are many things that need to be fixed. We know that the trunk needs a lot of refinement still and many features are currently broken completely.
I think it would be most helpful if everyone were to add all issues they find that need to be addressed to the "work planned" section of the <a href="http://dengine.net/dew/index.php?title=Version_1.9.0-beta6">1.9.0-beta6 release article at the DEW</a>