fabiangreffrath / crispy-doom

Crispy Doom is a limit-removing enhanced-resolution Doom source port based on Chocolate Doom.
https://fabiangreffrath.github.io/crispy-homepage
GNU General Public License v2.0
806 stars 132 forks source link

Add brightmaps for HACX #252

Closed JNechaevsky closed 6 years ago

JNechaevsky commented 6 years ago

Map for testing (MAP01)

All the textures, flats and sprites are here.

Textures

TEXTURE1 bank (one and only)

Texture Name Brightmap Comment
1-4 BFALL1-4 redonly Red eyes are prerry dimmed, not sure that redonly will work. Also please try redandgreen.
5 BRNSMALR greenonly1
6 DOORRED greenonly1 Or maybe redandgreen?
7 SLADWALL redonly Or notgrayorbrown? Hm.
8 SW1BRCOM redonly? Probably not safe for handset. See below for SW2BRCOM.
9 SW1BRN1 redandgreen
10 SW1BRN2 notgrayorbrown
11 SW1BRNGN notgrayorbrown
12 SW1BROWN notgrayorbrown
13 SW2BRCOM greenonly
14 SW2BRN1 redandgreen
15 SW2BRN2 notgrayorbrown
16 SW2BROWN notgrayorbrown
17 COMPSPAN greenonly
18 COMPSTA1 notgrayorbrown
19 COMPSTA2 notgrayorbrown
20 HD5 redandgreen Or maybe just a redonly, there is one green pixel in small right monitor.
21 HD8 redandgreen Probably not safe for the top part
22 HD9 redandgreen Probably not safe for the top part
23 BLAKWAL2 redandgreen Probably not safe at all!
24 CEMENT7 greenonly1
25 ROCK4 redonly Probably not needed for this one. Only one pixel in a small button is colored red.
26 SLOPPY1 notgrayorbrown
27 SPCDOOR4 notgrayorbrown Probably not needed at all!
28 ZZZFACE1 greenonly1
29 ZZZFACE2 redandgreen Probably not safe for wires
30 HW166 redandgreen Probably not safe for wires
31 HW510 notgrayorbrown
32 HW511 notgrayorbrown
33 HW512 notgrayorbrown

Floors and Ceilings

Flat Name Brightmap Comment
1 FLOOR1_1 notgrayorbrown
2 FLOOR1_7 notgrayorbrown
3 FLOOR3_3 notgrayorbrown
4-6 NUKAGE1-3 notgrayorbrown Animation sequence: NUKAGE1, NUKAGE2, NUKAGE3
7-9 BLOOD1-3 greenonly1 Animation sequence: BLOOD1, BLOOD2, BLOOD3
10 SLIME13 notgrayorbrown
11 SLIME14 notgrayorbrown
12 SLIME15 notgrayorbrown

World sprites

Sprite Thing name Brightmap
MT_MISC26 (Chainsaw) redonly
MT_MISC27 (Rocket launcher) redandgreen
MT_MISC28 (Plasmagun) redonly
MT_MISC2 (Health Bonus) notgrayorbrown (or redandgreen)
MT_MISC10 (Stimpack) notgrayorbrown (or redandgreen)
MT_MISC20 (Cell Charge) redonly
MT_MISC21 (Cell Charge Pack) redonly

HUD sprites

Needed your implementation of support for brightmaps in HUD.

fabiangreffrath commented 6 years ago

As always, thank you very much!

Needed your implementation of support for brightmaps in HUD.

This can be done quickly. What would you highlight?

JNechaevsky commented 6 years ago

It's my pleasure. :)

This can be done quickly. What would you highlight?

Here we go. I may be a little wrong with states, they are slightly different from Doom, but I have verified with info.c and hope that everything will be okay. I haven't touched fullbright states, so there are no any necessary fallbacks.

HUD sprites

Weapon Sprite State Brightmap
SAWGA0 S_SAW2 lightning
SAWGB0 S_SAW3 lightning
SAWGC0 S_SAW redonly
SAWGD0 S_SAWB redonly
MISGA0 S_MISSILE redandgreen (or redonly)
PLSGA0 S_PLASMA redonly
PLSGB0 S_PLASMA2 redonly

Brightmap lightning:

static byte hacxlightning[256] =
{
    0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};

In case you are wondering, here's how I'm calculating colors: screenshot. Colors that selected as squares are represented in the table above. Absolutely designer's solution!