#169170 - (sniper) 109 - Mon Jun 22, 2009 5:20 pm
Hi! I'd like to announce that Fisk and I are recompiling the current dsdoom, here's what have in store
- Better controls
- Fixed saving
- removal of doom shadow fading for an increase in FPS
- Iwad and Pwad selector
- Better user interface
Here is a small spoiler screenshot ;)
[Images not permitted - Click here to view it]
It May not look much different but, the doom shadow fading is gone! It may have looked fairly decent but... The new rendering (without doom shadow fading) increases FPS up to 35fps, Gives a more OpenGL feel to the software rendering and for detailed wads will look much clearer and cleaner, not to mention it will run REALLY fast!
More info at
http://dsdoommods.freeforums.org/index.php
_________________
1987 bmw 750il 2003 bmw m3 csl
#169173 - elhobbs - Mon Jun 22, 2009 6:14 pm
so... what is doom shadow fading?
#169175 - (sniper) 109 - Mon Jun 22, 2009 6:43 pm
This is shadow fading [Images not permitted - Click here to view it]
This is the new rendering without shadow fading
[Images not permitted - Click here to view it]
With shadow fading if you were to move away from a wall the wall's hue would get darker. Where as the removal of this code just keeps a solid brightness. Which is why screenshot #2 appears darker.
_________________
1987 bmw 750il 2003 bmw m3 csl
#169181 - elhobbs - Mon Jun 22, 2009 8:35 pm
those are some tiny screen shots! why the tiny/weird resolutions? it makes it hard to see your point.
is the source code available anywhere?
#169183 - (sniper) 109 - Mon Jun 22, 2009 9:39 pm
#169184 - elhobbs - Mon Jun 22, 2009 10:10 pm
I was looking to see your modified source code - not the previously released 1.1.0 code. I am curious to see what you are changing for the "doom shadow fading" removal.
#169185 - (sniper) 109 - Mon Jun 22, 2009 11:23 pm
I'd rather keep it between fisk and I. but you could always alter the source code yourself here's how you do it.
Look for R_draw.c in the ARM9, then cut this code out of the source code.
Code: |
// R_DrawColumn
// Source is the top of the column to scale.
//
lighttable_t *dc_colormap;
int dc_x;
int dc_yl;
int dc_yh;
fixed_t dc_iscale;
fixed_t dc_texturemid;
int dc_texheight; // killough
byte *dc_source; // first pixel in a column (possibly virtual)
//
// A column is a vertical slice/span from a wall texture that,
// given the DOOM style restrictions on the view orientation,
// will always have constant z depth.
// Thus a special case loop for very fast rendering can
// be used. It has also been used with Wolfenstein 3D.
//
void R_DrawColumn (void) |
[/code]
_________________
1987 bmw 750il 2003 bmw m3 csl
#169186 - Badablek - Mon Jun 22, 2009 11:32 pm
elhobbs wrote: |
those are some tiny screen shots! why the tiny/weird resolutions? it makes it hard to see your point.
is the source code available anywhere? |
just remove .th to the url to see full size images.
http://img151.imageshack.us/img151/8598/doom0038.png
http://img151.imageshack.us/img151/2306/doom0039.png
#169187 - elhobbs - Mon Jun 22, 2009 11:44 pm
(sniper) 109 wrote: |
I'd rather keep it between fisk and I. but you could always alter the source code yourself here's how you do it.
Look for R_draw.c in the ARM9, then cut this code out of the source code.
Code: | // R_DrawColumn
// Source is the top of the column to scale.
//
lighttable_t *dc_colormap;
int dc_x;
int dc_yl;
int dc_yh;
fixed_t dc_iscale;
fixed_t dc_texturemid;
int dc_texheight; // killough
byte *dc_source; // first pixel in a column (possibly virtual)
//
// A column is a vertical slice/span from a wall texture that,
// given the DOOM style restrictions on the view orientation,
// will always have constant z depth.
// Thus a special case loop for very fast rendering can
// be used. It has also been used with Wolfenstein 3D.
//
void R_DrawColumn (void) | [/code] |
the source is under gnu so if you release anything you will need to release the source code as well. not really an issue if you do not release anything though it is against the spirit of making doom opensource in the first place.
your code snippet only includes declarations - no actual code. so, removing would just make the source code unable to compile.
#169188 - elhobbs - Mon Jun 22, 2009 11:58 pm
thanks for the larger images. why do the ceiling and floor in doom0039.png look so dithered?
#169190 - (sniper) 109 - Tue Jun 23, 2009 2:13 am
Because the top one has shadow fading and the other one doesn't. It also effects the walls as well.
_________________
1987 bmw 750il 2003 bmw m3 csl
#169319 - gamefreaks - Thu Jul 02, 2009 11:12 pm
The shading was done using multiple pallete lookups IIRC.
The bit that does the drawing in R_DrawColumn()
Quote: |
*dest = colormap[source[frac >> FRACBITS]];
|
By not drawing the fading, you save a lookup per pixel.
#169320 - Lazy1 - Thu Jul 02, 2009 11:49 pm
Are you rendering at 256x192 or 320x200 and scaling using the hardware?
#169438 - gamefreaks - Fri Jul 10, 2009 8:32 pm
320x200 and scaled down by the looks of it to me.
Its actually quite difficult to make Doom render to less than 320 across. Its hard-coded in quite a few places, and stuff like the status screen are all drawn in 320.
#169443 - Lazy1 - Fri Jul 10, 2009 11:01 pm
There is an easy way around that though.
What I did for Wolfenstein was have 2 background layers, 1 512x256 for the UI and any other 320x200 elements and 1 256x256 for the game window.
That way you get a bit more performance, the game looks nicer and you don't really screw up those hardcoded screens.