Dooom version 0.7 by the_wub
----------------------------

Dingoo Native OS port of Doom based on the Chocolate Doom source port.

I compiled this so I could play through Final Doom on the Dingoo!
There is no native os version of Doom available (as far as I am aware) so I thought I would have a go!

This was only possible because of the amazingly good Dingoo SDK by flatmush et al with SDL support by Harteex.  Many thanks to them!

A huge, "THANK YOU!!" goes out to Simon Howard a.k.a Fraggle who put together Chocolate Doom and who has patiently read and replied to my rambling emails about texture problems!!

Chocolate Doom is a really nice source port with lots of useful comments and built-in tools for pretty much everything you could want/need.      



Installation.
-------------

Copy the Dooom folder to GAME.  It should contain the Music folder, the Dooom.APP and your wad file/s.

The app will create savegame folders based on the name of any wad files found in the Dooom directory so you don't have to manage saves for different wads yourself.  NOTE!  Doom1.wad(shareware) and Doom.wad(retail/Ultimate) share a folder even though the episode 1 savegames are not compatible between versions.  This is normal behaviour but I might try to do something about it for a later release.

The Keys are:

D-PAD	-	movement and control in menus
A	-	Fire and move forward/yes in menus
B	-	open doors and move back/no in menus
Y	-	run
x	-	next weapon
Power	-	Select shotgun (weapon 3)

Start	-	pause/activate menu
Select	-	toggle automap

The left/right shoulder buttons strafe accordingly.



KNOWN ISSUES
------------

Some demo games play back incorrectly due to an occasional, but not random, difference in enemy AI.

Still a few vanilla bugs to remove, for example, TNT will crash after playing the last demo game with WGetNumForName not found.


Please let me know if you find anything else going wrong!


Version 0.7 notes
-----------------

Added music via Impulse Tracker mods.  OpenMPT's built-in general midi soundfont gives a pretty authentic sounding result.  I tried several alternative soundfonts and none could beat it. An error file will be created (errorm.wub) if a music track can not be found but the game will not exit; it will just continue without the music.  You can easily replace these music mods with your own to create a custom soundtrack.

Added overclocking, accessed with the left shoulder button at the front-end screen.

Mapped select weapon 3(shotgun/supershotgun) to the Power switch, it was the only button left so I'll add a re-define controls option to version 0.8 as I can see this not being popular!

Added gamma adjustment, use the right shoulder button to toggle gamma level when the game menu is active.

Fixed vanilla bug, "Doom2 sky never changes" 


Version 0.6 notes
-----------------

Replaced the source file z_native.c with Z_zone.c from the orginal Chocolate Doom source which uses a different verison of Z_init.  This means that memory is now being properly allocated with the effect that the game seems to run with much less slowdown and without random hanging in-game. 



Version 0.4 notes
-----------------

The Dooom folder can now (must!) be put in the GAME directory.

Console text has been added along with some credits on the front-end screen.

Game ram increased to 14MB, conflicting advice abounds so this is a compromise for now.

Compiled with -funroll-loops for, possibly, a bit more speed..

Removed the "Loading from disc" icon to reduce in-game workload.

Fixed Doom1 ending screens.

All gfx are precached at the start of each level.

Texture reading bug has been fixed, although it hasn't made a noticeable difference.. the fix should work for other things that are going wrong though so stay tuned!

Seems a bit more stable in Plutonia but does still hang now and then, particularly in TNT :(   



Version 0.3c notes
------------------

Game ram lowered to 10MB 

Un-rolled versions of R_DrawColumn and R_DrawSpan now being used.



Version 0.3b notes
------------------

Just a quick update to remove the Vanilla limits.  I made these changes based on the following table taken from the prboom-plus source port:

limit		old	new	factor

MAXVISPLANES 	128 	1024 	*8
MAXVISSPRITE 	128 	1024 	*8
MAXDRAWSEGS 	256 	2048 	*8
MAXPLATS 	30 	7680 	*256
SAVEGAMESIZE 	180224 	2883584 *16
MAXLINEANIMS 	64 	16384 	*256


This is so I can seperate actual bugs in the Dingoo port from Vanilla bugs that Chocolate Doom emulates.



Version 0.3 notes
-----------------

Doom registered/Ultimate now works.

All map textures appear to be fixed...  let me know if you find something wrong though!

Multiple wads are now supported through a front-end selector, use D-pad up and down to select a wad and then START to load.  You can exit back to the native os with SELECT.

Level description is being drawn in the correct place on the auto-map screen.

Quit game messages are now being drawn.



Version 0.2 notes
-----------------

I've hacked in a full screen display and you can no longer alter the screen size.
This causes a glitch with sky textures being too short so I need to either find a better way of doing full screen or find a way to stretch sky textures in game.

Some missing sound fx have been restored.

The "Loading from disc" icon is now working.

I've found the cause of a few bugs but the fix creates another one or two problems elsewhere.  Dooms "boolean" functions don't always return the expected result.  Watch the first shareware demo being played in version 0.1 to see this in action: the player kills a trooper at the start of the demo and then collect the shotgun that was dropped.  This gives the player 8 shells instead of 4 because the "dropped" boolean has been set incorrectly.  I've fixed this by using a better definition of boolean and the first shareware demo now plays almost to the end.  Another bug makes two imps attack each other which mucks things up right at the end!  Same problem for the second Doom2 demo.. The other two shareware demos work perfectly, I'm not sure if they did before..

Fixed the missing "Time" texture on intermission screens.  The line of code that loads the texture is commented out of the Chocolate Doom source (with no comment as to why!).  The "splat" texture was also commented out (again with no comment) but this does actually cause a crash so there's a deeper problem to unravel there.  

Seems to be more stable but does hang in-game still sometimes... this is now my priority as everything else, even missing textures, is trivial until this is fixed. 



Version 0.1 notes
-----------------

This is the first release so there are a lot of bugs/things missing.

There is no wad selector yet so just one at a time for now.  You can have more than one wad in the Dooom folder but the app will only run the last one it finds.

The registered version of Doom/Ultimate Doom does not load at all! :(
Doom1.wad (shareware), Doom2.wad and Final Doom (tnt.wad and plutonia.wad) all load ok, I haven't tested any others yet.

There are texture errors and gfx glitches here and there, particularly on the shareware version.  Switches are drawn multiple times vertically above and below a switch.  The switch still works but it looks weird! 

The status bar and intermission screens have a couple of textures missing as well!

The first store demo plays back ok but the ones after this glitch out!  Fun to watch I guess, but if you let it keep going round playing the demos it will crash the app eventually!

The X button can be held down for a few seconds while playing to bring up the quit dialogue.  This isn't my doing, I just can't track down where the assignment is being made for this!

Configuration/response/default files are not read or saved yet - sorry!

Sound FX are not pre-cached yet, so if you walk into a room with tons of daemons in there will be slowdown when they all growl at the same time!  I've lowered the sample rate to help with this, and it seems to have made a big difference.  I would rather get the caching working than reduce it any more.

No music yet, the Chocolate Doom source has a built-in convertor to make general midi tracks from the music data in the wad.  This is working perfectly but I don't think the Dingoo SDK has SDL midi support.  I will look for a suitable open source solution.

It hung a couple of times playing TNT early on but I haven't been able to make it do it again so I'm hoping that's a non-issue.

There are probably more bugs that I can't remember but if you find anything else that's broken let me know!


the_wub@gmail.com	11/4/13
