Russian-Doom / russian-doom

A limit-removing source port of Doom, Heretic and Hexen. It has numerous vanilla bug fixes, enhanced 640x400 and 1280x800 rendering resolutions, improved game palettes and offers many optional aesthetic game enhancements along with the maximum possible translation to the Russian language.
GNU General Public License v2.0
80 stars 14 forks source link

Russian Doom 2.3 release plan #21

Closed JNechaevsky closed 6 years ago

JNechaevsky commented 6 years ago

Arrival date: 25.11.2017

Releasing version 2.3 on my 32th birthday should be an interesting move.

Step 1: Remaining stuff

Step 2: Release

Step 3: Web

Notable new features

Couple of further ideas.

Just for the record. Not all of them should be implemented! Need to write 'em down, until they are still in my head.

fabiangreffrath commented 6 years ago

Signed Crispy HUD.

What does that mean?

Need to understand why my R_ApplyWeaponFiringBob desyncs some demos and and crashing network games randomly

The vertical position of the weapon sprite determines how many tics it requires to lower the weapon upon weapon change. I have fixed this in Crispy by calculating the rendered position of the weapon sprite separately.

JNechaevsky commented 6 years ago

Signed Crispy HUD

It's a standard Crispy HUD but with names of the sections:

The vertical position of the weapon sprite determines how many tics it requires to lower the weapon upon weapon change. I have fixed this in Crispy by calculating the rendered position of the weapon sprite separately.

A-aaa-aaa-rgh, that's it. Thanks! I was not able to figure this out, but better will not try to fix it until 2.3 release. :)

JNechaevsky commented 6 years ago

Meanwhile... I have successfully extracted the IWAD file from Atari Doom ROM file using a HEX editor. It starts from 0004:0000 (from IWAD marker) and ends in the end of the ROM file: http://screenshot.ru/upload/images/2017/11/16/hex6134d.png

All exploded faces are on place, but the whole iwad structure is kinda interesting: http://screenshot.ru/upload/images/2017/11/16/574344f0bc54789396297.png

JNechaevsky commented 6 years ago

Okay, got i686-w64-mingw32-gcc 7.2.0 working fine, no performance issues as it was with 6.3.0. Yeah!

JNechaevsky commented 6 years ago

Got unpacked IWAD file from PlayStation Doom, an exploded face is different here:

It seems to be just more bloody, but less maniacal. Hmm, let's think why - PSX Doom was released on November 16, 1995, while Atari Doom was released on November 1, 1994. My theory have two possible ways:

Probably we will never know, and probably my theory is completely wrong. :(

Speaking about my project, I think I prefer to stay with Atari version, but will use last exploded face from PSX for player's crushed state (S_GIBS). Maybe not, just need to experiment and decide something.

JNechaevsky commented 6 years ago

Pssst! Binaries are here!

Not sure I will be able to do a full release tomorrow, since I have, ahem, some plans for birthday celebration. Anyway, announce will be made today after midnight.

Version for Windows: russian-doom-2.3-win32.zip Version for DOS: russian-doom-dos-1.1.zip Source code snapshot: russian-doom-2.3-source.zip

Full changelog in Russian and in Russian English :) Updated PNG font atlases: russian-doom-fonts-png.zip

Some screenshots

fabiangreffrath commented 6 years ago

@JNechaevsky Happy Birthday My Friend, I wish you all the best for the next year and all the years to follow, stay around and stay healthy!

JNechaevsky commented 6 years ago

@fabiangreffrath, mein lieber und gütiger Freund! Thank you very much for all your kind words and wishes, for all your help and kindness, and.. for everything, actually. :)

Good things and suggestions will happen soon!

I just need some antifreeze now - today we was having an eight hour picnic on fresh air with -6 C°. :snowflake: But I'm okay and will be back in the deal tomorrow!

JNechaevsky commented 6 years ago

I must be honest: this version is a bullshit already, and does not require any remaining release activity. Very soon I will be ready to show to the World this:

And this...

And of course this... :grin:

fabiangreffrath commented 6 years ago

I have to admit I am a bit jealous of your brightmaps... ;)

JNechaevsky commented 6 years ago

Thank you! I can't believe I have solved performance issue, and as always, proper solution was right before my eyes - current implementation using the same idea as with pre-loading sky textures (R_InitSkyMap). So yeah, as I though before, real performance problem was with texture look-up.

There are still one small problem, though. B-maps are applied as walllights, and the walllights itself are affecting whole wall segment (upper/middle/lower textures). From one side, this meaning that lookup can be probably optimized even more (i.e. not by checking midtexture/toptexture/bottomtexture, but the whole "line"), from another... For example, if lower texture have redonly b-map, and upper texture have some red pixels, those red pixels will be also in full brightness.

For my hugest luck, vanilla levels does not have this problem. Well, there was only one place, but I knew it and fixed it by making special blueonly b-map. In PWADs this may have very bad aftermath -- but, I'm never interested in supporting any kind of PWADs, my primary interest is making everything perfect only in vanilla levels/series. So I'm not planning to make any further big activity on b-maps. They are looking fine, they are working fine, and that's all I needed. :)

Hey, no need to jealous of! We just need an idea, how they can by applied in Crispy without any kind of pwad. I see few ways already:

  1. Hardcoded right in the executable. This will require some obvious compatibility definitions, though.
  2. Hardcoded right in the executable, but using a PLAYPAL approach, like in Doom Retro. This way is more technically smarter and will not require editing COLORMAPs (roughly saying, just need to define what colors should be always bright in PLAYPAL lump). But it also gives a little less flexibility like support for some diminished lightning. Probably I'm wrong here, and this is also can be achieved, and just some additional code work should be done.
  3. You are probably remember my thought about "some kind of modding standard using custom COLORMAPs"? I have a feeling that PrBoom+ already have something like this, at least for sectors... I can't say for sure, since I'm not very familiar with all BOOM editing features.

P.S. Ah yes, excuse me for being too quiet last days, now you see for real what I was making. :)