rtx: read emissive texture params from rad files

Got rad files from https://github.com/MaestroFenix/Half-Life-Resized-Maps
These seem to work mostly fine and finally levels have recognizable appearance.
This commit is contained in:
Ivan 'provod' Avdeev 2021-04-17 12:33:46 -07:00
parent 7c02012c8d
commit 2f965b00d4
15 changed files with 1640 additions and 41 deletions

View File

@ -1,10 +1,7 @@
## 2021-04-14..16
- [x] rtx: grid-based light clusters
- [ ] rtx: radius-based light clusters visibility
# Next
- [ ] rtx: read rad file data
- [ ] rtx: hack: interpret textures with '~' or '{' as emissive
- [ ] rtx: light intensity-based light clusters visibility
- [ ] rtx: hack (rad): interpret textures with '~' or '{' as emissive
- [ ] rtx: restore studio models
- [ ] rtx: restore dynamic stuff like particles, beams, etc
- [ ] rtx: emissive particles
@ -191,3 +188,9 @@
- [x] rtx: "toilet error": attempting to get AS device address crashes the driver
- [x] rtx: fix blas destruction on exit
- [x] rtx: sometimes we get uninitialized models
## 2021-04-14..16
- [x] rtx: grid-based light clusters
## 2021-04-17
- [x] rtx: read rad file data

134
ref_vk/rad/lights.rad Normal file
View File

@ -0,0 +1,134 @@
//lights.rad for hl.wad ( By Hezus and D3ads )
//LIGHTS
halflife/+0~gymlight 255 251 129 1000
halflife/+0~light1 170 212 240 1500 //40 60 150
halflife/+0~light2a 255 251 129 1000
halflife/+0~light3a 180 180 230 1000
halflife/+0~light4a 200 190 130 100
halflife/+0~light5a 80 150 200 100
halflife/+0~light6a 150 5 5 1000
halflife/~light3a 190 20 20 1500
halflife/~light3b 192 192 240 1000
halflife/~light3c 255 248 192 1000 //200
halflife/~light3d 190 255 49 1000
halflife/~light3e 90 190 140 1000
halflife/~light3f 255 200 70 1000 //255 240 150
halflife/~light5a 210 246 255 1000
halflife/~light5c 149 255 199 1000
halflife/~light5d 165 255 149 1000
halflife/~light5e 232 63 65 1000
halflife/~light5f 237 233 178 1000 //232 225 122
//LIGHT PANELS
halflife/litepanel1 191 213 212 1000
halflife/panellite1 191 213 212 1000
halflife/skkylite 252 153 105 2500 //165 230 255 500
halflife/skkylite2 191 213 212 2500
halflife/skkylitedawn 213 178 196 2500
//FIFTIES LIGHTS
halflife/+0~fifts_lght01 208 214 245 1000
halflife/+0~fifts_lght06 232 232 232 1000
halflife/+0~fifts_lght3 250 234 184 1000
halflife/+0~fifts_lght4 160 170 220 2000
halflife/+0~fifts_lght5 189 219 240 1000
halflife/+0~fifties_lgt2 240 240 240 1000 //160 170 220 1000
halflife/+0~fifties_lgt3 232 232 232 1000
halflife/fifties_mon1b 100 100 180 30
//TUNNEL LIGHTS
halflife/+0~tnnl_lgt1 237 232 166 1000
halflife/+0~tnnl_lgt2 255 230 160 1000 //190 255 255
halflife/+0~tnnl_lgt3 210 210 236 2500 //150 150 210 1000
halflife/+0~tnnl_lgt4 255 208 160 1000
//LAB LIGHTS
halflife/+0lab1_w6 150 160 210 4400
halflife/+0lab1_w6b 165 230 255 2000
halflife/+0lab1_w7 245 240 210 2000
halflife/~lab_crt9a 225 150 150 100
halflife/~lab_crt9b 100 100 255 100
halflife/~lab_crt9c 100 200 150 100
halflife/+0~lab_crt8 50 50 255 100
//GENERIC
halflife/+0~generic65 255 255 255 200
halflife/+0~generic85 207 230 255 350 //110 140 235
halflife/+0~generic86 255 230 125 150
halflife/+0~generic86b 158 220 201 300
halflife/+0~generic86r 255 0 0 500
halflife/~generic87 200 230 250 250
//VENDING MACHINES FRONT PANELS
//halflife/gen_vend1 100 255 100 1000
//halflife/generic87a 100 255 100 1000
//halflife/generic89a 40 40 130 1000
//halflife/generic90a 200 255 200 1000
//halflife/generic106 100 255 100 1000
//halflife/generic88a 255 100 100 1000
//halflife/generic105 255 100 100 1000
//halflife/generic107 255 100 100 1000
//FLATBED LIGHTS
halflife/flatbed_hlite2 214 178 94 500
halflife/flatbed_lite1 214 178 94 500
halflife/flatbed_tlite2 214 0 3 500
//TECH LIGHTS
xeno/tech_lite1 255 236 162 50000
xeno/tech_lite2 231 126 20 5000
xeno/tech_lite3 59 213 25 5000
//COLOURS
halflife/+0~white 255 255 255 1000
//halflife/white 255 255 255 1000
halflife/red 255 0 0 100 //500
halflife/yellow 255 200 100 500
//SPOTS
halflife/~spotblue 61 194 255 100
halflife/~spotgreen 61 255 126 100
halflife/~spotred 255 26 29 100
halflife/~spotyellow 255 255 255 300 //255 248 138 100
//CRYSTALS
xeno/crys_1a 248 193 255 2000
xeno/crys_1b 248 193 255 2000
xeno/crys_1c 248 193 255 2000
xeno/crys_1top 248 193 255 2000
xeno/crys_2a 169 255 182 2000
xeno/crys_2b 169 255 182 2000
xeno/crys_2top 169 255 182 2000
xeno/crys_3a 255 152 79 2000
xeno/crys_3b 255 152 79 2000
xeno/crys_3top 255 152 79 2000
xeno/crys_4a 255 209 153 2000
xeno/crys_4b 255 92 92 150000
//MISC
halflife/+0~c2a4_lgt1 235 214 52 1000
halflife/+0~drkmtllgt1 235 194 98 1000
halflife/+0~drkmtls1 205 0 0 3000
halflife/+0~drkmtls2 150 120 20 2500 \\15000
halflife/+0~drkmtls2c 255 200 100 1000
halflife/+0drkmtl_scrn 60 80 255 5000
halflife/emerglight 255 200 100 400
halflife/subway_lights 255 248 202 50 \\250
halflife/+0buttonlite 235 22 22 1000
halflife/+abuttonlite 24 235 24 1000
halflife/c1a3c_map 100 100 255 100
halflife/elev2_ciel 255 200 100 400
halflife/fill1 142 191 176 10
halflife/fill2 247 164 124 5
halflife/fill3 90 100 180 10
halflife/~trn_lt1 240 236 199 70
halflife/+alab1_w6 150 160 210 3200
halflife/glassgreen 50 255 50 20
halflife/c3a2_light 234 193 0 250
halflife/crete3_wall02a 86 144 48 400
liquids/!radio 80 255 40 180
liquids/!greenslime 80 255 40 1800
xeno/c4a1a_spike1b 162 173 255 50000
xeno/xeno_18 15 129 255 600
halflife/drkmtl_scrn000 180 185 240 500

View File

@ -0,0 +1,134 @@
//lights.rad for hl.wad ( By Hezus and D3ads )
//LIGHTS
halflife/+0~gymlight 255 251 129 1000
halflife/+0~light1 170 212 240 250 //40 60 150
halflife/+0~light2a 255 251 129 1000
halflife/+0~light3a 180 180 230 1000
halflife/+0~light4a 200 190 130 100
halflife/+0~light5a 80 150 200 100
halflife/+0~light6a 150 5 5 1
halflife/~light3a 190 20 20 1500
halflife/~light3b 192 192 240 1000
halflife/~light3c 255 248 192 250 //200
halflife/~light3d 190 255 49 1000
halflife/~light3e 90 190 140 1000
halflife/~light3f 255 200 70 1000 //255 240 150
halflife/~light5a 210 246 255 1000
halflife/~light5c 149 255 199 1000
halflife/~light5d 165 255 149 1000
halflife/~light5e 232 63 65 1000
halflife/~light5f 237 233 178 1 //232 225 122
//LIGHT PANELS
halflife/litepanel1 191 213 212 1000
halflife/panellite1 191 213 212 1000
halflife/skkylite 252 153 105 2500 //165 230 255 500
halflife/skkylite2 191 213 212 2500
halflife/skkylitedawn 213 178 196 2500
//FIFTIES LIGHTS
halflife/+0~fifts_lght01 208 214 245 1000
halflife/+0~fifts_lght06 232 232 232 1000
halflife/+0~fifts_lght3 250 234 184 1000
halflife/+0~fifts_lght4 160 170 220 2000
halflife/+0~fifts_lght5 189 219 240 500
halflife/+0~fifties_lgt2 240 240 240 1000 //160 170 220 1000
halflife/+0~fifties_lgt3 232 232 232 250
halflife/fifties_mon1b 100 100 180 30
//TUNNEL LIGHTS
halflife/+0~tnnl_lgt1 237 232 166 1000
halflife/+0~tnnl_lgt2 255 230 160 1000 //190 255 255
halflife/+0~tnnl_lgt3 210 210 236 2500 //150 150 210 1000
halflife/+0~tnnl_lgt4 255 208 160 1000
//LAB LIGHTS
halflife/+0lab1_w6 150 160 210 4400
halflife/+0lab1_w6b 165 230 255 2000
halflife/+0lab1_w7 245 240 210 2000
halflife/~lab_crt9a 225 150 150 100
halflife/~lab_crt9b 100 100 255 100
halflife/~lab_crt9c 100 200 150 100
halflife/+0~lab_crt8 50 50 255 100
//GENERIC
halflife/+0~generic65 255 255 255 150
halflife/+0~generic85 207 230 255 350 //110 140 235
halflife/+0~generic86 255 230 125 150
halflife/+0~generic86b 158 220 201 150
halflife/+0~generic86r 255 0 0 500
halflife/~generic87 200 230 250 250
//VENDING MACHINES FRONT PANELS
//halflife/gen_vend1 100 255 100 1000
//halflife/generic87a 100 255 100 1000
//halflife/generic89a 40 40 130 1000
//halflife/generic90a 200 255 200 1000
//halflife/generic106 100 255 100 1000
//halflife/generic88a 255 100 100 1000
//halflife/generic105 255 100 100 1000
//halflife/generic107 255 100 100 1000
//FLATBED LIGHTS
halflife/flatbed_hlite2 214 178 94 1
halflife/flatbed_lite1 214 178 94 500
halflife/flatbed_tlite2 214 0 3 500
//TECH LIGHTS
xeno/tech_lite1 255 236 162 50000
xeno/tech_lite2 231 126 20 5000
xeno/tech_lite3 59 213 25 5000
//COLOURS
halflife/+0~white 255 255 255 1000
//halflife/white 255 255 255 1000
halflife/red 255 0 0 100 //500
halflife/yellow 255 200 100 500
//SPOTS
halflife/~spotblue 61 194 255 100
halflife/~spotgreen 61 255 126 100
halflife/~spotred 255 26 29 100
halflife/~spotyellow 255 255 255 150 //255 248 138 100
//CRYSTALS
xeno/crys_1a 248 193 255 2000
xeno/crys_1b 248 193 255 2000
xeno/crys_1c 248 193 255 2000
xeno/crys_1top 248 193 255 2000
xeno/crys_2a 169 255 182 2000
xeno/crys_2b 169 255 182 2000
xeno/crys_2top 169 255 182 2000
xeno/crys_3a 255 152 79 2000
xeno/crys_3b 255 152 79 2000
xeno/crys_3top 255 152 79 2000
xeno/crys_4a 255 209 153 2000
xeno/crys_4b 255 92 92 150000
//MISC
halflife/+0~c2a4_lgt1 235 214 52 1000
halflife/+0~drkmtllgt1 235 194 98 1000
halflife/+0~drkmtls1 205 0 0 3000
halflife/+0~drkmtls2 150 120 20 2500 //15000
halflife/+0~drkmtls2c 255 200 100 1000
halflife/+0drkmtl_scrn 60 80 255 5000
halflife/emerglight 255 200 100 400
halflife/subway_lights 255 248 202 50 //250
halflife/+0buttonlite 235 22 22 1
halflife/+abuttonlite 24 235 24 1
halflife/c1a3c_map 100 100 255 100
halflife/elev2_ciel 255 200 100 400
halflife/fill1 142 191 176 10
halflife/fill2 247 164 124 5
halflife/fill3 90 100 180 10
halflife/~trn_lt1 240 236 199 70
halflife/+alab1_w6 150 160 210 3200
halflife/glassgreen 50 255 50 20
halflife/c3a2_light 234 193 0 250
halflife/crete3_wall02a 86 144 48 400
liquids/!radio 80 255 40 180
liquids/!greenslime 80 255 40 1800
xeno/c4a1a_spike1b 162 173 255 50000
xeno/xeno_18 15 129 255 600
halflife/drkmtl_scrn000 180 185 240 500

View File

@ -0,0 +1,134 @@
//lights.rad for hl.wad ( By Hezus and D3ads )
//LIGHTS
halflife/+0~gymlight 255 251 129 1000
halflife/+0~light1 170 212 240 1500 //40 60 150
halflife/+0~light2a 255 251 129 1000
halflife/+0~light3a 180 180 230 1000
halflife/+0~light4a 200 190 130 100
halflife/+0~light5a 80 150 200 100
halflife/+0~light6a 150 5 5 1000
halflife/~light3a 190 20 20 1500
halflife/~light3b 192 192 240 1000
halflife/~light3c 255 248 192 1000 //200
halflife/~light3d 190 255 49 1000
halflife/~light3e 90 190 140 1000
halflife/~light3f 255 200 70 1000 //255 240 150
halflife/~light5a 210 246 255 1000
halflife/~light5c 149 255 199 1000
halflife/~light5d 165 255 149 1000
halflife/~light5e 232 63 65 1000
halflife/~light5f 237 233 178 1000 //232 225 122
//LIGHT PANELS
halflife/litepanel1 191 213 212 1000
halflife/panellite1 191 213 212 1000
halflife/skkylite 252 153 105 2500 //165 230 255 500
halflife/skkylite2 191 213 212 2500
halflife/skkylitedawn 213 178 196 2500
//FIFTIES LIGHTS
halflife/+0~fifts_lght01 208 214 245 1000
halflife/+0~fifts_lght06 232 232 232 1000
halflife/+0~fifts_lght3 250 234 184 1000
halflife/+0~fifts_lght4 160 170 220 2000
halflife/+0~fifts_lght5 189 219 240 1000
halflife/+0~fifties_lgt2 240 240 240 1000 //160 170 220 1000
halflife/+0~fifties_lgt3 232 232 232 250
halflife/fifties_mon1b 100 100 180 30
//TUNNEL LIGHTS
halflife/+0~tnnl_lgt1 237 232 166 100
halflife/+0~tnnl_lgt2 255 230 160 1000 //190 255 255
halflife/+0~tnnl_lgt3 210 210 236 2500 //150 150 210 1000
halflife/+0~tnnl_lgt4 255 208 160 1000
//LAB LIGHTS
halflife/+0lab1_w6 150 160 210 4400
halflife/+0lab1_w6b 165 230 255 2000
halflife/+0lab1_w7 245 240 210 2000
halflife/~lab_crt9a 225 150 150 100
halflife/~lab_crt9b 100 100 255 100
halflife/~lab_crt9c 100 200 150 100
halflife/+0~lab_crt8 50 50 255 100
//GENERIC
halflife/+0~generic65 255 255 255 20
halflife/+0~generic85 207 230 255 350 //110 140 235
halflife/+0~generic86 255 230 125 150
halflife/+0~generic86b 158 220 201 300
halflife/+0~generic86r 255 0 0 500
halflife/~generic87 200 230 250 250
//VENDING MACHINES FRONT PANELS
//halflife/gen_vend1 100 255 100 1000
//halflife/generic87a 100 255 100 1000
//halflife/generic89a 40 40 130 1000
//halflife/generic90a 200 255 200 1000
//halflife/generic106 100 255 100 1000
//halflife/generic88a 255 100 100 1000
//halflife/generic105 255 100 100 1000
//halflife/generic107 255 100 100 1000
//FLATBED LIGHTS
halflife/flatbed_hlite2 214 178 94 500
halflife/flatbed_lite1 214 178 94 500
halflife/flatbed_tlite2 214 0 3 500
//TECH LIGHTS
xeno/tech_lite1 255 236 162 50000
xeno/tech_lite2 231 126 20 5000
xeno/tech_lite3 59 213 25 5000
//COLOURS
halflife/+0~white 255 255 255 1000
//halflife/white 255 255 255 1000
halflife/red 255 0 0 100 //500
halflife/yellow 255 200 100 500
//SPOTS
halflife/~spotblue 61 194 255 100
halflife/~spotgreen 61 255 126 100
halflife/~spotred 255 26 29 100
halflife/~spotyellow 255 255 255 300 //255 248 138 100
//CRYSTALS
xeno/crys_1a 248 193 255 2000
xeno/crys_1b 248 193 255 2000
xeno/crys_1c 248 193 255 2000
xeno/crys_1top 248 193 255 2000
xeno/crys_2a 169 255 182 2000
xeno/crys_2b 169 255 182 2000
xeno/crys_2top 169 255 182 2000
xeno/crys_3a 255 152 79 2000
xeno/crys_3b 255 152 79 2000
xeno/crys_3top 255 152 79 2000
xeno/crys_4a 255 209 153 2000
xeno/crys_4b 255 92 92 150000
//MISC
halflife/+0~c2a4_lgt1 235 214 52 1000
halflife/+0~drkmtllgt1 235 194 98 1000
halflife/+0~drkmtls1 205 0 0 3000
halflife/+0~drkmtls2 150 120 20 2500 \\15000
halflife/+0~drkmtls2c 255 200 100 1000
halflife/+0drkmtl_scrn 60 80 255 5000
halflife/emerglight 255 200 100 400
halflife/subway_lights 255 248 202 50 \\250
halflife/+0buttonlite 235 22 22 1000
halflife/+abuttonlite 24 235 24 1000
halflife/c1a3c_map 100 100 255 100
halflife/elev2_ciel 255 200 100 400
halflife/fill1 142 191 176 10
halflife/fill2 247 164 124 5
halflife/fill3 90 100 180 10
halflife/~trn_lt1 240 236 199 70
halflife/+alab1_w6 150 160 210 3200
halflife/glassgreen 50 255 50 20
halflife/c3a2_light 234 193 0 250
halflife/crete3_wall02a 86 144 48 400
liquids/!radio 80 255 40 180
liquids/!greenslime 80 255 40 1800
xeno/c4a1a_spike1b 162 173 255 50000
xeno/xeno_18 15 129 255 600
halflife/drkmtl_scrn000 180 185 240 500

View File

@ -0,0 +1,134 @@
//lights.rad for hl.wad ( By Hezus and D3ads )
//LIGHTS
halflife/+0~gymlight 255 251 129 1000
halflife/+0~light1 170 212 240 1500 //40 60 150
halflife/+0~light2a 255 251 129 1000
halflife/+0~light3a 180 180 230 1000
halflife/+0~light4a 200 190 130 100
halflife/+0~light5a 80 150 200 100
halflife/+0~light6a 150 5 5 1000
halflife/~light3a 190 20 20 1500
halflife/~light3b 192 192 240 100
halflife/~light3c 255 248 192 100 //200
halflife/~light3d 190 255 49 1000
halflife/~light3e 90 190 140 100
halflife/~light3f 255 200 70 1000 //255 240 150
halflife/~light5a 210 246 255 1000
halflife/~light5c 149 255 199 1000
halflife/~light5d 165 255 149 1000
halflife/~light5e 232 63 65 1000
halflife/~light5f 237 233 178 1000 //232 225 122
//LIGHT PANELS
halflife/litepanel1 191 213 212 1000
halflife/panellite1 191 213 212 1000
halflife/skkylite 252 153 105 2500 //165 230 255 500
halflife/skkylite2 191 213 212 2500
halflife/skkylitedawn 213 178 196 2500
//FIFTIES LIGHTS
halflife/+0~fifts_lght01 208 214 245 1000
halflife/+0~fifts_lght06 232 232 232 1000
halflife/+0~fifts_lght3 250 234 184 1000
halflife/+0~fifts_lght4 160 170 220 2000
halflife/+0~fifts_lght5 189 219 240 1000
halflife/+0~fifties_lgt2 240 240 240 1000 //160 170 220 1000
halflife/+0~fifties_lgt3 232 232 232 50
halflife/fifties_mon1b 100 100 180 30
//TUNNEL LIGHTS
halflife/+0~tnnl_lgt1 237 232 166 1000
halflife/+0~tnnl_lgt2 255 230 160 1000 //190 255 255
halflife/+0~tnnl_lgt3 210 210 236 2500 //150 150 210 1000
halflife/+0~tnnl_lgt4 255 208 160 1000
//LAB LIGHTS
halflife/+0lab1_w6 150 160 210 4400
halflife/+0lab1_w6b 165 230 255 2000
halflife/+0lab1_w7 245 240 210 2000
halflife/~lab_crt9a 225 150 150 100
halflife/~lab_crt9b 100 100 255 100
halflife/~lab_crt9c 100 200 150 100
halflife/+0~lab_crt8 50 50 255 100
//GENERIC
halflife/+0~generic65 255 255 255 200
halflife/+0~generic85 207 230 255 350 //110 140 235
halflife/+0~generic86 255 230 125 150
halflife/+0~generic86b 158 220 201 300
halflife/+0~generic86r 255 0 0 500
halflife/~generic87 200 230 250 250
//VENDING MACHINES FRONT PANELS
//halflife/gen_vend1 100 255 100 1000
//halflife/generic87a 100 255 100 1000
//halflife/generic89a 40 40 130 1000
//halflife/generic90a 200 255 200 1000
//halflife/generic106 100 255 100 1000
//halflife/generic88a 255 100 100 1000
//halflife/generic105 255 100 100 1000
//halflife/generic107 255 100 100 1000
//FLATBED LIGHTS
halflife/flatbed_hlite2 214 178 94 500
halflife/flatbed_lite1 214 178 94 500
halflife/flatbed_tlite2 214 0 3 500
//TECH LIGHTS
xeno/tech_lite1 255 236 162 50000
xeno/tech_lite2 231 126 20 5000
xeno/tech_lite3 59 213 25 5000
//COLOURS
halflife/+0~white 255 255 255 1000
//halflife/white 255 255 255 1000
halflife/red 255 0 0 100 //500
halflife/yellow 255 200 100 500
//SPOTS
halflife/~spotblue 61 194 255 100
halflife/~spotgreen 61 255 126 100
halflife/~spotred 255 26 29 100
halflife/~spotyellow 255 255 255 300 //255 248 138 100
//CRYSTALS
xeno/crys_1a 248 193 255 2000
xeno/crys_1b 248 193 255 2000
xeno/crys_1c 248 193 255 2000
xeno/crys_1top 248 193 255 2000
xeno/crys_2a 169 255 182 2000
xeno/crys_2b 169 255 182 2000
xeno/crys_2top 169 255 182 2000
xeno/crys_3a 255 152 79 2000
xeno/crys_3b 255 152 79 2000
xeno/crys_3top 255 152 79 2000
xeno/crys_4a 255 209 153 2000
xeno/crys_4b 255 92 92 150000
//MISC
halflife/+0~c2a4_lgt1 235 214 52 1000
halflife/+0~drkmtllgt1 235 194 98 1000
halflife/+0~drkmtls1 205 0 0 3000
halflife/+0~drkmtls2 150 120 20 2500 \\15000
halflife/+0~drkmtls2c 255 200 100 1000
halflife/+0drkmtl_scrn 60 80 255 5000
halflife/emerglight 255 200 100 400
halflife/subway_lights 255 248 202 50 \\250
halflife/+0buttonlite 235 22 22 1000
halflife/+abuttonlite 24 235 24 1000
halflife/c1a3c_map 100 100 255 100
halflife/elev2_ciel 255 200 100 400
halflife/fill1 142 191 176 10
halflife/fill2 247 164 124 5
halflife/fill3 90 100 180 10
halflife/~trn_lt1 240 236 199 70
halflife/+alab1_w6 150 160 210 3200
halflife/glassgreen 50 255 50 20
halflife/c3a2_light 234 193 0 250
halflife/crete3_wall02a 86 144 48 400
liquids/!radio 80 255 40 180
liquids/!greenslime 80 255 40 1800
xeno/c4a1a_spike1b 162 173 255 50000
xeno/xeno_18 15 129 255 600
halflife/drkmtl_scrn000 180 185 240 500

View File

@ -0,0 +1,134 @@
//lights.rad for hl.wad ( By Hezus and D3ads )
//LIGHTS
halflife/+0~gymlight 255 251 129 1000
halflife/+0~light1 170 212 240 1500 //40 60 150
halflife/+0~light2a 255 251 129 1000
halflife/+0~light3a 180 180 230 1000
halflife/+0~light4a 200 190 130 100
halflife/+0~light5a 80 150 200 100
halflife/+0~light6a 150 5 5 1000
halflife/~light3a 190 20 20 1500
halflife/~light3b 192 192 240 1000
halflife/~light3c 255 248 192 1000 //200
halflife/~light3d 190 255 49 1000
halflife/~light3e 90 190 140 1000
halflife/~light3f 255 200 70 1000 //255 240 150
halflife/~light5a 210 246 255 1000
halflife/~light5c 149 255 199 1000
halflife/~light5d 165 255 149 1000
halflife/~light5e 232 63 65 1000
halflife/~light5f 237 233 178 1000 //232 225 122
//LIGHT PANELS
halflife/litepanel1 191 213 212 1000
halflife/panellite1 191 213 212 1000
halflife/skkylite 191 213 212 2500 //165 230 255 500
halflife/skkylite2 191 213 212 2500
halflife/skkylitedawn 213 178 196 2500
//FIFTIES LIGHTS
halflife/+0~fifts_lght01 208 214 245 1000
halflife/+0~fifts_lght06 232 232 232 1000
halflife/+0~fifts_lght3 250 234 184 1000
halflife/+0~fifts_lght4 160 170 220 2000
halflife/+0~fifts_lght5 189 219 240 1000
halflife/+0~fifties_lgt2 240 240 240 500 //160 170 220 1000
halflife/+0~fifties_lgt3 232 232 232 1000
halflife/fifties_mon1b 100 100 180 30
//TUNNEL LIGHTS
halflife/+0~tnnl_lgt1 237 232 166 1000
halflife/+0~tnnl_lgt2 255 230 160 1000 //190 255 255
halflife/+0~tnnl_lgt3 210 236 227 1000 //150 150 210 1000
halflife/+0~tnnl_lgt4 255 208 160 1000
//LAB LIGHTS
halflife/+0lab1_w6 150 160 210 4400
halflife/+0lab1_w6b 165 230 255 2000
halflife/+0lab1_w7 245 240 210 2000
halflife/~lab_crt9a 225 150 150 100
halflife/~lab_crt9b 100 100 255 100
halflife/~lab_crt9c 100 200 150 100
halflife/+0~lab_crt8 50 50 255 100
//GENERIC
halflife/+0~generic65 255 255 255 200
halflife/+0~generic85 207 230 255 350 //110 140 235
halflife/+0~generic86 255 230 125 150
halflife/+0~generic86b 158 220 201 300
halflife/+0~generic86r 255 0 0 500
halflife/~generic87 200 230 250 250
//VENDING MACHINES FRONT PANELS
//halflife/gen_vend1 100 255 100 1000
//halflife/generic87a 100 255 100 1000
//halflife/generic89a 40 40 130 1000
//halflife/generic90a 200 255 200 1000
//halflife/generic106 100 255 100 1000
//halflife/generic88a 255 100 100 1000
//halflife/generic105 255 100 100 1000
//halflife/generic107 255 100 100 1000
//FLATBED LIGHTS
halflife/flatbed_hlite2 214 178 94 500
halflife/flatbed_lite1 214 178 94 500
halflife/flatbed_tlite2 214 0 3 500
//TECH LIGHTS
xeno/tech_lite1 255 236 162 30000
xeno/tech_lite2 231 126 20 1000
xeno/tech_lite3 59 213 25 1000
//COLOURS
halflife/+0~white 255 255 255 1000
//halflife/white 255 255 255 1000
halflife/red 255 0 0 500 //500
halflife/yellow 255 200 100 500
//SPOTS
halflife/~spotblue 61 194 255 100
halflife/~spotgreen 61 255 126 100
halflife/~spotred 255 26 29 100
halflife/~spotyellow 255 255 255 300 //255 248 138 100
//CRYSTALS
xeno/crys_1a 248 193 255 1000
xeno/crys_1b 248 193 255 1000
xeno/crys_1c 248 193 255 1000
xeno/crys_1top 248 193 255 1000
xeno/crys_2a 169 255 182 1000
xeno/crys_2b 169 255 182 1000
xeno/crys_2top 169 255 182 1000
xeno/crys_3a 255 152 79 1000
xeno/crys_3b 255 152 79 1000
xeno/crys_3top 255 152 79 1000
xeno/crys_4a 255 209 153 1000
xeno/crys_4b 255 160 128 20000
//MISC
halflife/+0~c2a4_lgt1 235 214 52 1000
halflife/+0~drkmtllgt1 235 194 98 1000
halflife/+0~drkmtls1 205 0 0 3000
halflife/+0~drkmtls2 150 120 20 2500 \\15000
halflife/+0~drkmtls2c 255 200 100 1000
halflife/+0drkmtl_scrn 60 80 255 5000
halflife/emerglight 255 200 100 400
halflife/subway_lights 255 248 202 50 \\250
halflife/+0buttonlite 235 22 22 1000
halflife/+abuttonlite 24 235 24 1000
halflife/c1a3c_map 100 100 255 100
halflife/elev2_ciel 255 200 100 400
halflife/fill1 142 191 176 10
halflife/fill2 247 164 124 5
halflife/fill3 90 100 180 10
halflife/~trn_lt1 240 236 199 70
halflife/+alab1_w6 150 160 210 3200
halflife/glassgreen 50 255 50 20
halflife/c3a2_light 234 193 0 250
halflife/crete3_wall02a 86 144 48 400
//halflife/drkmtlt_wall08b 60 80 255 100
liquids/!radio 80 255 40 180
liquids/!greenslime 80 255 40 100
xeno/c4a1a_spike1b 162 173 255 25000
xeno/xeno_18 15 129 255 600

View File

@ -0,0 +1,134 @@
//lights.rad for hl.wad ( By Hezus and D3ads )
//LIGHTS
halflife/+0~gymlight 255 251 129 1000
halflife/+0~light1 170 212 240 1500 //40 60 150
halflife/+0~light2a 255 251 129 1000
halflife/+0~light3a 255 255 255 500
halflife/+0~light4a 245 240 220 500
halflife/+0~light5a 80 150 200 500
halflife/+0~light6a 150 5 5 1000
halflife/~light3a 190 20 20 1500
halflife/~light3b 192 192 240 1000
halflife/~light3c 255 248 192 1000 //200
halflife/~light3d 190 255 49 1000
halflife/~light3e 90 190 140 1000
halflife/~light3f 255 200 70 1000 //255 240 150
halflife/~light5a 210 246 255 1000
halflife/~light5c 149 255 199 1000
halflife/~light5d 165 255 149 1000
halflife/~light5e 232 63 65 1000
halflife/~light5f 237 233 178 1000 //232 225 122
//LIGHT PANELS
halflife/litepanel1 191 213 212 1000
halflife/panellite1 191 213 212 1000
halflife/skkylite 252 153 105 2500 //165 230 255 500
halflife/skkylite2 191 213 212 2500
halflife/skkylitedawn 213 178 196 2500
//FIFTIES LIGHTS
halflife/+0~fifts_lght01 208 214 245 1000
halflife/+0~fifts_lght06 232 232 232 1000
halflife/+0~fifts_lght3 250 234 184 1000
halflife/+0~fifts_lght4 160 170 220 2000
halflife/+0~fifts_lght5 189 219 240 1000
halflife/+0~fifties_lgt2 255 255 255 1000 //160 170 220 1000
halflife/+0~fifties_lgt3 240 240 240 400
halflife/fifties_mon1b 100 100 180 30
//TUNNEL LIGHTS
halflife/+0~tnnl_lgt1 237 232 166 1000
halflife/+0~tnnl_lgt2 255 230 160 1000 //190 255 255
halflife/+0~tnnl_lgt3 210 210 236 2500 //150 150 210 1000
halflife/+0~tnnl_lgt4 255 208 160 1000
//LAB LIGHTS
halflife/+0lab1_w6 150 160 210 4400
halflife/+0lab1_w6b 165 230 255 2000
halflife/+0lab1_w7 245 240 210 400
halflife/~lab_crt9a 225 150 150 100
halflife/~lab_crt9b 100 100 255 100
halflife/~lab_crt9c 100 200 150 100
halflife/+0~lab_crt8 50 50 255 100
//GENERIC
halflife/+0~generic65 255 255 255 300
halflife/+0~generic85 207 230 255 1 //110 140 235
halflife/+0~generic86 255 230 125 150
halflife/+0~generic86b 158 220 201 300
halflife/+0~generic86r 255 0 0 1
halflife/~generic87 200 230 250 250
//VENDING MACHINES FRONT PANELS
//halflife/gen_vend1 100 255 100 1000
//halflife/generic87a 100 255 100 1000
//halflife/generic89a 40 40 130 1000
//halflife/generic90a 200 255 200 1000
//halflife/generic106 100 255 100 1000
//halflife/generic88a 255 100 100 1000
//halflife/generic105 255 100 100 1000
//halflife/generic107 255 100 100 1000
//FLATBED LIGHTS
halflife/flatbed_hlite2 214 178 94 500
halflife/flatbed_lite1 214 178 94 500
halflife/flatbed_tlite2 214 0 3 500
//TECH LIGHTS
xeno/tech_lite1 255 236 162 30000
xeno/tech_lite2 231 126 20 1000
xeno/tech_lite3 59 213 25 1000
//COLOURS
halflife/+0~white 255 255 255 1000
//halflife/white 255 255 255 1000
halflife/red 255 0 0 100 //500
halflife/yellow 255 200 100 500
//SPOTS
halflife/~spotblue 61 194 255 300
halflife/~spotgreen 61 255 126 100
halflife/~spotred 255 26 29 100
halflife/~spotyellow 255 255 255 1 //255 248 138 100
//CRYSTALS
xeno/crys_1a 248 193 255 1000
xeno/crys_1b 248 193 255 1000
xeno/crys_1c 248 193 255 1000
xeno/crys_1top 248 193 255 1000
xeno/crys_2a 169 255 182 1000
xeno/crys_2b 169 255 182 1000
xeno/crys_2top 169 255 182 1000
xeno/crys_3a 255 152 79 1000
xeno/crys_3b 255 152 79 1000
xeno/crys_3top 255 152 79 1000
xeno/crys_4a 255 209 153 1000
xeno/crys_4b 255 160 128 20000
//MISC
halflife/+0~c2a4_lgt1 235 214 52 1000
halflife/+0~drkmtllgt1 235 194 98 1000
halflife/+0~drkmtls1 205 0 0 3000
halflife/+0~drkmtls2 150 120 20 2500 \\15000
halflife/+0~drkmtls2c 255 200 100 1000
halflife/+0drkmtl_scrn 60 80 255 5000
halflife/emerglight 255 200 100 400
halflife/subway_lights 255 248 202 50 \\250
halflife/+0buttonlite 235 22 22 1000
halflife/+abuttonlite 24 235 24 1
halflife/c1a3c_map 100 100 255 100
halflife/elev2_ciel 255 200 100 400
halflife/fill1 142 191 176 10
halflife/fill2 247 164 124 5
halflife/fill3 90 100 180 10
halflife/~trn_lt1 240 236 199 70
halflife/+alab1_w6 150 160 210 1
halflife/glassgreen 50 255 50 20
halflife/c3a2_light 234 193 0 1000
halflife/crete3_wall02a 86 144 48 400
//halflife/drkmtlt_wall08b 60 80 255 100
liquids/!radio 80 255 40 180
liquids/!greenslime 80 255 40 200
xeno/c4a1a_spike1b 162 173 255 25000
xeno/xeno_18 15 129 255 600

View File

@ -0,0 +1,133 @@
//lights.rad for hl.wad ( By Hezus and D3ads )
//LIGHTS
halflife/+0~gymlight 255 251 129 1000
halflife/+0~light1 170 212 240 400 //40 60 150
halflife/+0~light2a 255 251 129 1000
halflife/+0~light3a 180 180 230 1000
halflife/+0~light4a 200 190 130 100
halflife/+0~light5a 80 150 200 100
halflife/+0~light6a 150 5 5 1000
halflife/~light3a 190 20 20 60
halflife/~light3b 192 192 240 1000
halflife/~light3c 255 248 192 1000 //200
halflife/~light3d 190 255 49 1000
halflife/~light3e 90 190 140 1000
halflife/~light3f 255 200 70 1000 //255 240 150
halflife/~light5a 210 246 255 1000
halflife/~light5c 149 255 199 1000
halflife/~light5d 165 255 149 60
halflife/~light5e 232 63 65 1000
halflife/~light5f 237 233 178 1000 //232 225 122
//LIGHT PANELS
halflife/litepanel1 191 213 212 1000
halflife/panellite1 191 213 212 1000
halflife/skkylite 252 153 105 2500 //165 230 255 500
halflife/skkylite2 191 213 212 2500
halflife/skkylitedawn 213 178 196 2500
//FIFTIES LIGHTS
halflife/+0~fifts_lght01 208 214 245 1000
halflife/+0~fifts_lght06 232 232 232 1000
halflife/+0~fifts_lght3 250 234 184 1000
halflife/+0~fifts_lght4 160 170 220 2000
halflife/+0~fifts_lght5 189 219 240 1000
halflife/+0~fifties_lgt2 240 240 240 1000 //160 170 220 1000
halflife/+0~fifties_lgt3 232 232 232 1000
halflife/fifties_mon1b 100 100 180 30
//TUNNEL LIGHTS
halflife/+0~tnnl_lgt1 237 232 166 1000
halflife/+0~tnnl_lgt2 255 230 160 1000 //190 255 255
halflife/+0~tnnl_lgt3 210 210 236 2500 //150 150 210 1000
halflife/+0~tnnl_lgt4 255 208 160 1000
//LAB LIGHTS
halflife/+0lab1_w6 150 160 210 4400
halflife/+0lab1_w6b 165 230 255 2000
halflife/+0lab1_w7 245 240 210 2000
halflife/~lab_crt9a 225 150 150 100
halflife/~lab_crt9b 100 100 255 100
halflife/~lab_crt9c 100 200 150 100
halflife/+0~lab_crt8 50 50 255 100
//GENERIC
halflife/+0~generic65 255 255 255 200
halflife/+0~generic85 207 230 255 350 //110 140 235
halflife/+0~generic86 255 230 125 150
halflife/+0~generic86b 158 220 201 300
halflife/+0~generic86r 255 0 0 500
halflife/~generic87 200 230 250 250
//VENDING MACHINES FRONT PANELS
//halflife/gen_vend1 100 255 100 1000
//halflife/generic87a 100 255 100 1000
//halflife/generic89a 40 40 130 1000
//halflife/generic90a 200 255 200 1000
//halflife/generic106 100 255 100 1000
//halflife/generic88a 255 100 100 1000
//halflife/generic105 255 100 100 1000
//halflife/generic107 255 100 100 1000
//FLATBED LIGHTS
halflife/flatbed_hlite2 214 178 94 500
halflife/flatbed_lite1 214 178 94 500
halflife/flatbed_tlite2 214 0 3 500
//TECH LIGHTS
xeno/tech_lite1 255 236 162 50000
xeno/tech_lite2 231 126 20 5000
xeno/tech_lite3 59 213 25 5000
//COLOURS
halflife/+0~white 255 255 255 1000
//halflife/white 255 255 255 1000
halflife/red 255 0 0 100 //500
halflife/yellow 255 200 100 500
//SPOTS
halflife/~spotblue 61 194 255 100
halflife/~spotgreen 61 255 126 100
halflife/~spotred 255 26 29 100
halflife/~spotyellow 255 255 255 300 //255 248 138 100
//CRYSTALS
xeno/crys_1a 248 193 255 2000
xeno/crys_1b 248 193 255 2000
xeno/crys_1c 248 193 255 2000
xeno/crys_1top 248 193 255 2000
xeno/crys_2a 169 255 182 2000
xeno/crys_2b 169 255 182 2000
xeno/crys_2top 169 255 182 2000
xeno/crys_3a 255 152 79 2000
xeno/crys_3b 255 152 79 1
xeno/crys_3top 255 152 79 2000
xeno/crys_4a 255 209 153 2000
xeno/crys_4b 255 92 92 150000
//MISC
halflife/+0~c2a4_lgt1 235 214 52 1000
halflife/+0~drkmtllgt1 235 194 98 1000
halflife/+0~drkmtls1 205 0 0 3000
halflife/+0~drkmtls2 150 120 20 2500 \\15000
halflife/+0~drkmtls2c 255 200 100 1000
halflife/+0drkmtl_scrn 60 80 255 5000
halflife/emerglight 255 200 100 400
halflife/subway_lights 255 248 202 50 \\250
halflife/+0buttonlite 235 22 22 1000
halflife/+abuttonlite 24 235 24 1000
halflife/c1a3c_map 100 100 255 100
halflife/elev2_ciel 255 200 100 400
halflife/fill1 142 191 176 10
halflife/fill2 247 164 124 5
halflife/fill3 90 100 180 10
halflife/~trn_lt1 240 236 199 70
halflife/+alab1_w6 150 160 210 3200
halflife/glassgreen 50 255 50 20
halflife/c3a2_light 234 193 0 250
halflife/crete3_wall02a 86 144 48 400
liquids/!radio 80 255 40 180
liquids/!greenslime 80 255 40 1800
xeno/c4a1a_spike1b 162 173 255 50000
xeno/xeno_18 15 129 255 600

View File

@ -0,0 +1,134 @@
//lights.rad for hl.wad ( By Hezus and D3ads )
//LIGHTS
halflife/+0~gymlight 255 251 129 1000
halflife/+0~light1 170 212 240 1500 //40 60 150
halflife/+0~light2a 255 250 190 1000
halflife/+0~light3a 180 180 230 1000
halflife/+0~light4a 200 190 130 100
halflife/+0~light5a 80 150 200 100
halflife/+0~light6a 150 5 5 1000
halflife/~light3a 190 20 20 1500
halflife/~light3b 192 192 240 1000
halflife/~light3c 255 248 192 1000 //200
halflife/~light3d 190 255 49 1000
halflife/~light3e 90 190 140 1000
halflife/~light3f 255 200 70 1000 //255 240 150
halflife/~light5a 210 246 255 1000
halflife/~light5c 149 255 199 1000
halflife/~light5d 165 255 149 1000
halflife/~light5e 232 63 65 1000
halflife/~light5f 237 233 178 1000 //232 225 122
//LIGHT PANELS
halflife/litepanel1 191 213 212 1000
halflife/panellite1 191 213 212 1000
halflife/skkylite 252 153 105 2500 //165 230 255 500
halflife/skkylite2 191 213 212 2500
halflife/skkylitedawn 213 178 196 2500
//FIFTIES LIGHTS
halflife/+0~fifts_lght01 208 214 245 1000
halflife/+0~fifts_lght06 232 232 232 1
halflife/+0~fifts_lght3 250 234 184 1000
halflife/+0~fifts_lght4 160 170 220 2000
halflife/+0~fifts_lght5 189 219 240 1000
halflife/+0~fifties_lgt2 240 240 240 200 //160 170 220 1000
halflife/+0~fifties_lgt3 232 232 232 1000
halflife/fifties_mon1b 100 100 180 30
//TUNNEL LIGHTS
halflife/+0~tnnl_lgt1 237 232 166 500
halflife/+0~tnnl_lgt2 230 255 255 1000
halflife/+0~tnnl_lgt3 196 200 215 100
halflife/+0~tnnl_lgt4 255 208 160 1000
//LAB LIGHTS
halflife/+0lab1_w6 150 160 210 4400
halflife/+0lab1_w6b 165 230 255 2000
halflife/+0lab1_w7 245 240 210 2000
halflife/~lab_crt9a 225 150 150 100
halflife/~lab_crt9b 100 100 255 100
halflife/~lab_crt9c 100 200 150 100
halflife/+0~lab_crt8 50 50 255 100
//GENERIC
halflife/+0~generic65 255 255 255 200
halflife/+0~generic85 207 230 255 350 //110 140 235
halflife/+0~generic86 250 245 220 150
halflife/+0~generic86b 158 220 201 300
halflife/+0~generic86r 255 0 0 500
halflife/~generic87 200 230 250 250
//VENDING MACHINES FRONT PANELS
//halflife/gen_vend1 100 255 100 1000
//halflife/generic87a 100 255 100 1000
//halflife/generic89a 40 40 130 1000
//halflife/generic90a 200 255 200 1000
//halflife/generic106 100 255 100 1000
//halflife/generic88a 255 100 100 1000
//halflife/generic105 255 100 100 1000
//halflife/generic107 255 100 100 1000
//FLATBED LIGHTS
halflife/flatbed_hlite2 214 178 94 500
halflife/flatbed_lite1 214 178 94 500
halflife/flatbed_tlite2 214 0 3 500
//TECH LIGHTS
xeno/tech_lite1 255 236 162 50000
xeno/tech_lite2 231 126 20 5000
xeno/tech_lite3 59 213 25 5000
//COLOURS
halflife/+0~white 255 255 255 1000
//halflife/white 255 255 255 1000
halflife/red 255 0 0 100 //500
halflife/yellow 255 200 100 500
//SPOTS
halflife/~spotblue 61 194 255 100
halflife/~spotgreen 61 255 126 100
halflife/~spotred 255 26 29 100
halflife/~spotyellow 255 255 255 300 //255 248 138 100
//CRYSTALS
xeno/crys_1a 248 193 255 2000
xeno/crys_1b 248 193 255 2000
xeno/crys_1c 248 193 255 2000
xeno/crys_1top 248 193 255 2000
xeno/crys_2a 169 255 182 2000
xeno/crys_2b 169 255 182 2000
xeno/crys_2top 169 255 182 2000
xeno/crys_3a 255 152 79 2000
xeno/crys_3b 255 152 79 2000
xeno/crys_3top 255 152 79 2000
xeno/crys_4a 255 209 153 2000
xeno/crys_4b 255 92 92 150000
//MISC
halflife/+0~c2a4_lgt1 235 214 52 1000
halflife/+0~drkmtllgt1 235 194 98 1000
halflife/+0~drkmtls1 205 0 0 3000
halflife/+0~drkmtls2 150 120 20 2500 \\15000
halflife/+0~drkmtls2c 255 200 100 1000
halflife/+0drkmtl_scrn 60 80 255 5000
halflife/emerglight 250 245 220 400
halflife/subway_lights 255 248 202 50 \\250
halflife/+0buttonlite 235 22 22 1000
halflife/+abuttonlite 24 235 24 1000
halflife/c1a3c_map 100 100 255 100
halflife/elev2_ciel 255 200 100 400
halflife/fill1 142 191 176 10
halflife/fill2 247 164 124 5
halflife/fill3 90 100 180 10
halflife/~trn_lt1 240 236 199 70
halflife/+alab1_w6 150 160 210 3200
halflife/glassgreen 50 255 50 20
halflife/c3a2_light 234 193 0 250
halflife/crete3_wall02a 86 144 48 400
liquids/!radio 80 255 40 180
liquids/!greenslime 80 255 40 1800
xeno/c4a1a_spike1b 162 173 255 50000
xeno/xeno_18 15 129 255 600
halflife/drkmtl_scrn000 180 185 240 500

View File

@ -0,0 +1,133 @@
//lights.rad for hl.wad ( By Hezus and D3ads )
//LIGHTS
halflife/+0~gymlight 255 251 129 1000
halflife/+0~light1 170 212 240 1500 //40 60 150
halflife/+0~light2a 200 200 200 1000
halflife/+0~light3a 180 180 230 1000
halflife/+0~light4a 200 190 130 100
halflife/+0~light5a 80 150 200 100
halflife/+0~light6a 150 5 5 1000
halflife/~light3a 190 20 20 1500
halflife/~light3b 192 192 240 100
halflife/~light3c 255 248 192 150 //200
halflife/~light3d 190 255 49 1000
halflife/~light3e 90 190 140 1000
halflife/~light3f 255 200 70 1000 //255 240 150
halflife/~light5a 210 246 255 1000
halflife/~light5c 149 255 199 1000
halflife/~light5d 165 255 149 1000
halflife/~light5e 232 63 65 1000
halflife/~light5f 237 233 178 1000 //232 225 122
//LIGHT PANELS
halflife/litepanel1 191 213 212 1000
halflife/panellite1 191 213 212 1000
halflife/skkylite 252 153 105 2500 //165 230 255 500
halflife/skkylite2 191 213 212 2500
halflife/skkylitedawn 213 178 196 2500
//FIFTIES LIGHTS
halflife/+0~fifts_lght01 208 214 245 3000
halflife/+0~fifts_lght06 232 232 232 1000
halflife/+0~fifts_lght3 250 234 184 1000
halflife/+0~fifts_lght4 160 170 220 2000
halflife/+0~fifts_lght5 189 219 240 300
halflife/+0~fifties_lgt2 240 240 240 1000 //160 170 220 1000
halflife/+0~fifties_lgt3 232 232 232 1000
halflife/fifties_mon1b 100 100 180 30
//TUNNEL LIGHTS
halflife/+0~tnnl_lgt1 237 232 166 1000
halflife/+0~tnnl_lgt2 255 230 160 1000 //190 255 255
halflife/+0~tnnl_lgt3 210 210 236 2500 //150 150 210 1000
halflife/+0~tnnl_lgt4 255 208 160 1000
//LAB LIGHTS
halflife/+0lab1_w6 150 160 210 4400
halflife/+0lab1_w6b 165 230 255 2000
halflife/+0lab1_w7 245 240 210 2000
halflife/~lab_crt9a 225 150 150 100
halflife/~lab_crt9b 100 100 255 100
halflife/~lab_crt9c 100 200 150 100
halflife/+0~lab_crt8 50 50 255 100
//GENERIC
halflife/+0~generic65 255 255 255 200
halflife/+0~generic85 207 230 255 350 //110 140 235
halflife/+0~generic86 255 230 125 80
halflife/+0~generic86b 158 220 201 500
halflife/+0~generic86r 255 0 0 500
halflife/~generic87 200 230 250 250
//VENDING MACHINES FRONT PANELS
//halflife/gen_vend1 100 255 100 1000
//halflife/generic87a 100 255 100 1000
//halflife/generic89a 40 40 130 1000
//halflife/generic90a 200 255 200 1000
//halflife/generic106 100 255 100 1000
//halflife/generic88a 255 100 100 1000
//halflife/generic105 255 100 100 1000
//halflife/generic107 255 100 100 1000
//FLATBED LIGHTS
halflife/flatbed_hlite2 214 178 94 500
halflife/flatbed_lite1 214 178 94 500
halflife/flatbed_tlite2 214 0 3 500
//TECH LIGHTS
xeno/tech_lite1 255 236 162 30000
xeno/tech_lite2 231 126 20 1000
xeno/tech_lite3 59 213 25 1000
//COLOURS
halflife/+0~white 255 255 255 1000
//halflife/white 255 255 255 1000
halflife/red 255 0 0 100 //500
halflife/yellow 255 200 100 500
//SPOTS
halflife/~spotblue 61 194 255 100
halflife/~spotgreen 61 255 126 100
halflife/~spotred 255 26 29 100
halflife/~spotyellow 255 255 255 80 //255 248 138 100
//CRYSTALS
xeno/crys_1a 248 193 255 1000
xeno/crys_1b 248 193 255 1000
xeno/crys_1c 248 193 255 1000
xeno/crys_1top 248 193 255 1000
xeno/crys_2a 169 255 182 1000
xeno/crys_2b 169 255 182 1000
xeno/crys_2top 169 255 182 1000
xeno/crys_3a 255 152 79 1000
xeno/crys_3b 255 152 79 1000
xeno/crys_3top 255 152 79 1000
xeno/crys_4a 255 209 153 1000
xeno/crys_4b 255 160 128 20000
//MISC
halflife/+0~c2a4_lgt1 235 214 52 1000
halflife/+0~drkmtllgt1 235 194 98 1000
halflife/+0~drkmtls1 205 0 0 3000
halflife/+0~drkmtls2 150 120 20 2500 \\15000
halflife/+0~drkmtls2c 255 200 100 1000
halflife/+0drkmtl_scrn 60 80 255 5000
halflife/emerglight 255 200 100 400
halflife/subway_lights 255 248 202 50 \\250
halflife/+0buttonlite 235 22 22 1000
halflife/+abuttonlite 24 235 24 1000
halflife/c1a3c_map 100 100 255 100
halflife/elev2_ciel 255 200 100 400
halflife/fill1 142 191 176 10
halflife/fill2 247 164 124 5
halflife/fill3 90 100 180 10
halflife/~trn_lt1 240 236 199 70
halflife/+alab1_w6 150 160 210 3200
halflife/glassgreen 50 255 50 20
halflife/c3a2_light 234 193 0 250
halflife/crete3_wall02a 86 144 48 400
liquids/!radio 80 255 40 180
liquids/!greenslime 80 255 40 1800
xeno/c4a1a_spike1b 162 173 255 25000
xeno/xeno_18 15 129 255 600

View File

@ -0,0 +1,133 @@
//lights.rad for hl.wad ( By Hezus and D3ads )
//LIGHTS
halflife/+0~gymlight 255 251 129 1000
halflife/+0~light1 170 212 240 1500 //40 60 150
halflife/+0~light2a 200 200 200 1000
halflife/+0~light3a 180 180 230 1000
halflife/+0~light4a 230 225 195 800
halflife/+0~light5a 80 150 200 1000
halflife/+0~light6a 150 5 5 1000
halflife/~light3a 190 20 20 1500
halflife/~light3b 192 192 240 100
halflife/~light3c 255 248 192 100 //200
halflife/~light3d 190 255 49 1000
halflife/~light3e 90 190 140 1000
halflife/~light3f 255 200 70 1000 //255 240 150
halflife/~light5a 210 246 255 1000
halflife/~light5c 149 255 199 1000
halflife/~light5d 165 255 149 1000
halflife/~light5e 232 63 65 1000
halflife/~light5f 237 233 178 1000 //232 225 122
//LIGHT PANELS
halflife/litepanel1 191 213 212 1000
halflife/panellite1 191 213 212 1000
halflife/skkylite 191 213 212 2500 //165 230 255 500
halflife/skkylite2 191 213 212 2500
halflife/skkylitedawn 213 178 196 2500
//FIFTIES LIGHTS
halflife/+0~fifts_lght01 208 214 245 1000
halflife/+0~fifts_lght06 232 232 232 1000
halflife/+0~fifts_lght3 250 234 184 1000
halflife/+0~fifts_lght4 160 170 220 2000
halflife/+0~fifts_lght5 160 135 55 1000
halflife/+0~fifties_lgt2 208 214 245 500 //160 170 220 1000
halflife/+0~fifties_lgt3 232 232 232 1000
halflife/fifties_mon1b 100 100 180 30
//TUNNEL LIGHTS
halflife/+0~tnnl_lgt1 237 232 166 1000
halflife/+0~tnnl_lgt2 255 230 160 1000 //190 255 255
halflife/+0~tnnl_lgt3 210 210 236 2500 //150 150 210 1000
halflife/+0~tnnl_lgt4 255 208 160 1000
//LAB LIGHTS
halflife/+0lab1_w6 225 225 240 4400
halflife/+0lab1_w6b 165 230 255 2000
halflife/+0lab1_w7 225 225 240 4000
halflife/~lab_crt9a 225 150 150 100
halflife/~lab_crt9b 100 100 255 100
halflife/~lab_crt9c 100 200 150 100
halflife/+0~lab_crt8 50 50 255 100
//GENERIC
halflife/+0~generic65 255 255 255 200
halflife/+0~generic85 207 230 255 350 //110 140 235
halflife/+0~generic86 255 245 210 100
halflife/+0~generic86b 158 220 201 400
halflife/+0~generic86r 255 0 0 500
halflife/~generic87 200 230 250 250
//VENDING MACHINES FRONT PANELS
//halflife/gen_vend1 100 255 100 1000
//halflife/generic87a 100 255 100 1000
//halflife/generic89a 40 40 130 1000
//halflife/generic90a 200 255 200 1000
//halflife/generic106 100 255 100 1000
//halflife/generic88a 255 100 100 1000
//halflife/generic105 255 100 100 1000
//halflife/generic107 255 100 100 1000
//FLATBED LIGHTS
halflife/flatbed_hlite2 214 178 94 500
halflife/flatbed_lite1 214 178 94 500
halflife/flatbed_tlite2 214 0 3 500
//TECH LIGHTS
xeno/tech_lite1 255 236 162 30000
xeno/tech_lite2 231 126 20 1000
xeno/tech_lite3 59 213 25 1000
//COLOURS
halflife/+0~white 255 255 255 1000
//halflife/white 255 255 255 1000
halflife/red 255 0 0 100 //500
halflife/yellow 1 1 1 1
//SPOTS
halflife/~spotblue 61 194 255 100
halflife/~spotgreen 61 255 126 100
halflife/~spotred 255 26 29 100
halflife/~spotyellow 255 255 255 50 //255 248 138 100
//CRYSTALS
xeno/crys_1a 248 193 255 1000
xeno/crys_1b 248 193 255 1000
xeno/crys_1c 248 193 255 1000
xeno/crys_1top 248 193 255 1000
xeno/crys_2a 169 255 182 1000
xeno/crys_2b 169 255 182 1000
xeno/crys_2top 169 255 182 1000
xeno/crys_3a 255 152 79 1000
xeno/crys_3b 255 152 79 1000
xeno/crys_3top 255 152 79 1000
xeno/crys_4a 255 209 153 1000
xeno/crys_4b 255 160 128 20000
//MISC
halflife/+0~c2a4_lgt1 235 214 52 1000
halflife/+0~drkmtllgt1 235 194 98 1000
halflife/+0~drkmtls1 1 1 1 1
halflife/+0~drkmtls2 150 120 20 2500 \\15000
halflife/+0~drkmtls2c 255 200 100 500
halflife/+0drkmtl_scrn 60 80 255 5000
halflife/emerglight 255 235 200 1200
halflife/subway_lights 255 248 202 50 \\250
halflife/+0buttonlite 235 22 22 1000
halflife/+abuttonlite 24 235 24 1000
halflife/c1a3c_map 100 100 255 100
halflife/elev2_ciel 255 200 100 400
halflife/fill1 142 191 176 10
halflife/fill2 247 164 124 5
halflife/fill3 90 100 180 10
halflife/~trn_lt1 240 236 199 70
halflife/+alab1_w6 150 160 210 3200
halflife/glassgreen 50 255 50 20
halflife/c3a2_light 234 193 0 250
halflife/crete3_wall02a 86 144 48 400
liquids/!radio 80 255 40 180
liquids/!greenslime 80 255 40 1800
xeno/c4a1a_spike1b 162 173 255 25000
xeno/xeno_18 15 129 255 600

View File

@ -0,0 +1,134 @@
//lights.rad for hl.wad ( By Hezus and D3ads )
//LIGHTS
halflife/+0~gymlight 255 251 129 1000
halflife/+0~light1 12 128 243 500 //40 60 150
halflife/+0~light2a 255 251 129 1000
halflife/+0~light3a 180 180 230 1000
halflife/+0~light4a 200 190 130 100
halflife/+0~light5a 80 150 200 100
halflife/+0~light6a 150 5 5 1000
halflife/~light3a 190 20 20 1500
halflife/~light3b 192 192 240 1000
halflife/~light3c 255 248 192 1000 //200
halflife/~light3d 190 255 49 1000
halflife/~light3e 90 190 140 1000
halflife/~light3f 255 200 70 1000 //255 240 150
halflife/~light5a 210 246 255 1000
halflife/~light5c 149 255 199 1000
halflife/~light5d 165 255 149 1000
halflife/~light5e 232 63 65 1000
halflife/~light5f 237 233 178 1000 //232 225 122
//LIGHT PANELS
halflife/litepanel1 191 213 212 1000
halflife/panellite1 191 213 212 1000
halflife/skkylite 252 153 105 2500 //165 230 255 500
halflife/skkylite2 191 213 212 2500
halflife/skkylitedawn 213 178 196 2500
//FIFTIES LIGHTS
halflife/+0~fifts_lght01 208 214 245 1000
halflife/+0~fifts_lght06 232 232 232 1000
halflife/+0~fifts_lght3 250 234 184 1000
halflife/+0~fifts_lght4 160 170 220 2000
halflife/+0~fifts_lght5 189 219 240 1000
halflife/+0~fifties_lgt2 240 240 240 1000 //160 170 220 1000
halflife/+0~fifties_lgt3 232 232 232 1000
halflife/fifties_mon1b 100 100 180 30
//TUNNEL LIGHTS
halflife/+0~tnnl_lgt1 237 232 166 1000
halflife/+0~tnnl_lgt2 255 230 160 1000 //190 255 255
halflife/+0~tnnl_lgt3 210 210 236 2500 //150 150 210 1000
halflife/+0~tnnl_lgt4 255 208 160 1000
//LAB LIGHTS
halflife/+0lab1_w6 150 160 210 4400
halflife/+0lab1_w6b 165 230 255 2000
halflife/+0lab1_w7 245 240 210 2000
halflife/~lab_crt9a 225 150 150 100
halflife/~lab_crt9b 100 100 255 100
halflife/~lab_crt9c 100 200 150 100
halflife/+0~lab_crt8 50 50 255 100
//GENERIC
halflife/+0~generic65 255 255 255 200
halflife/+0~generic85 207 230 255 350 //110 140 235
halflife/+0~generic86 255 230 125 150
halflife/+0~generic86b 158 220 201 300
halflife/+0~generic86r 255 0 0 500
halflife/~generic87 200 230 250 250
//VENDING MACHINES FRONT PANELS
//halflife/gen_vend1 100 255 100 1000
//halflife/generic87a 100 255 100 1000
//halflife/generic89a 40 40 130 1000
//halflife/generic90a 200 255 200 1000
//halflife/generic106 100 255 100 1000
//halflife/generic88a 255 100 100 1000
//halflife/generic105 255 100 100 1000
//halflife/generic107 255 100 100 1000
//FLATBED LIGHTS
halflife/flatbed_hlite2 214 178 94 500
halflife/flatbed_lite1 214 178 94 500
halflife/flatbed_tlite2 214 0 3 500
//TECH LIGHTS
xeno/tech_lite1 255 236 162 50000
xeno/tech_lite2 231 126 20 5000
xeno/tech_lite3 59 213 25 5000
//COLOURS
halflife/+0~white 255 255 255 1000
//halflife/white 255 255 255 1000
halflife/red 255 0 0 10 //500
halflife/yellow 255 200 100 500
//SPOTS
halflife/~spotblue 61 194 255 100
halflife/~spotgreen 61 255 126 100
halflife/~spotred 255 26 29 100
halflife/~spotyellow 255 255 255 300 //255 248 138 100
//CRYSTALS
xeno/crys_1a 248 193 255 2000
xeno/crys_1b 248 193 255 2000
xeno/crys_1c 248 193 255 2000
xeno/crys_1top 248 193 255 2000
xeno/crys_2a 169 255 182 2000
xeno/crys_2b 169 255 182 2000
xeno/crys_2top 169 255 182 2000
xeno/crys_3a 255 152 79 2000
xeno/crys_3b 255 152 79 2000
xeno/crys_3top 255 152 79 2000
xeno/crys_4a 255 209 153 2000
xeno/crys_4b 255 92 92 150000
//MISC
halflife/+0~c2a4_lgt1 235 214 52 1000
halflife/+0~drkmtllgt1 235 194 98 1000
halflife/+0~drkmtls1 205 0 0 3000
halflife/+0~drkmtls2 150 120 20 2500 \\15000
halflife/+0~drkmtls2c 255 200 100 1000
halflife/+0drkmtl_scrn 60 80 255 5000
halflife/emerglight 255 200 100 400
halflife/subway_lights 255 248 202 50 \\250
halflife/+0buttonlite 235 22 22 1000
halflife/+abuttonlite 24 235 24 1000
halflife/c1a3c_map 100 100 255 100
halflife/elev2_ciel 255 200 100 400
halflife/fill1 142 191 176 10
halflife/fill2 247 164 124 5
halflife/fill3 90 100 180 10
halflife/~trn_lt1 240 236 199 70
halflife/+alab1_w6 150 160 210 3200
halflife/glassgreen 50 255 50 20
halflife/c3a2_light 234 193 0 250
halflife/crete3_wall02a 86 144 48 400
liquids/!radio 80 255 40 180
liquids/!greenslime 80 255 40 1800
xeno/c4a1a_spike1b 162 173 255 50000
xeno/xeno_18 15 129 255 600
halflife/drkmtl_scrn000 180 185 240 500

1
ref_vk/rad/source.txt Normal file
View File

@ -0,0 +1 @@
These files are originally taken from https://github.com/MaestroFenix/Half-Life-Resized-Maps

View File

@ -69,9 +69,6 @@ struct Kusok {
uint index_offset;
uint vertex_offset;
uint triangles;
uint leaf;
uint num_dlights;
uint num_surface_lights;
uint is_emissive;
//vec4 emissive;
};
@ -95,7 +92,7 @@ struct Light {
// FIXME what should this be?
const float dlight_attenuation_const = 20000.;
// TODO specialize in vk_rtx.c
layout (constant_id = 1) const uint max_dlights = 32;
layout (constant_id = 0) const uint max_dlights = 32;
layout(set=0,binding=6) uniform UBODLights {
uint num_lights;
Light lights[max_dlights];
@ -106,29 +103,39 @@ struct EmissiveKusok {
vec3 emissive_color;
};
layout (constant_id = 2) const uint max_lighttextures = 256;
layout (constant_id = 1) const uint MAX_EMISSIVE_KUSOCHKI = 256;
layout (set = 0, binding = 7/*, align=4*/) uniform UBOEmissiveKusochki {
uint num_kusochki;
EmissiveKusok kusochki[256];
EmissiveKusok kusochki[MAX_EMISSIVE_KUSOCHKI];
} emissive_kusochki;
layout(binding = 8, set = 0, rgba8) uniform readonly image2D previous_frame;
// FIXME shader specialization constants
#define MAX_VISIBLE_DLIGHTS 15
#define MAX_VISIBLE_SURFACE_LIGHTS 15
struct LightLeaf {
layout (constant_id = 2) const uint MAX_VISIBLE_DLIGHTS = 15;
layout (constant_id = 3) const uint MAX_VISIBLE_SURFACE_LIGHTS = 31;
const uint LIGHT_CLUSTER_SIZE = 2 + MAX_VISIBLE_DLIGHTS + MAX_VISIBLE_SURFACE_LIGHTS;
const uint LIGHT_CLUSTER_NUM_DLIGHTS_OFFSET = 0;
const uint LIGHT_CLUSTER_NUM_EMISSIVE_SURFACES_OFFSET = 1;
const uint LIGHT_CLUSTER_DLIGHTS_DATA_OFFSET = 2;
const uint LIGHT_CLUSTER_EMISSIVE_SURFACES_DATA_OFFSET = 3 + MAX_VISIBLE_DLIGHTS;
struct LightCluster {
uint8_t num_dlights;
uint8_t num_slights;
uint8_t num_emissive_surfaces;
uint8_t dlights[MAX_VISIBLE_DLIGHTS];
uint8_t slights[MAX_VISIBLE_SURFACE_LIGHTS];
uint8_t emissive_surfaces[MAX_VISIBLE_SURFACE_LIGHTS];
};
// FIMXE specialize
layout (constant_id = 3) const uint max_light_leaves = 8192;
layout (set = 0, binding = 9, align = 1) readonly buffer UBOLightLeaves {
LightLeaf light_leaves[max_light_leaves];
};
layout (constant_id = 4) const float LIGHT_GRID_CELL_SIZE = 256.;
layout (constant_id = 5) const uint MAX_LIGHT_CLUSTERS = 32768;
const uint HACK_OFFSET = 0;
layout (set = 0, binding = 9, align = 1) readonly buffer UBOLightClusters {
ivec3 grid_min, grid_size;
//uint8_t clusters_data[MAX_LIGHT_CLUSTERS * LIGHT_CLUSTER_SIZE + HACK_OFFSET];
LightCluster clusters[MAX_LIGHT_CLUSTERS];
} light_grid;
layout (push_constant) uniform PC {
float t;
@ -137,6 +144,7 @@ layout (push_constant) uniform PC {
} pc;
//uint picked_light = 76;//uint(mod(pc.t * 4., emissive_kusochki.num_kusochki));
int time_off = int(pc.t * 8.);
float printText(in vec2 p) {
#define PIXSZ 4.
@ -159,16 +167,39 @@ float printText(in vec2 p) {
#define _ PUTC(0.);
if (false) {
const Kusok kusok = kusochki[idx];
PUTN(idx); PUTC(0.); PUTN(kusok.leaf); PUTC(0.); PUTN(kusok.num_surface_lights); PUTC(0.);
PUTN(kusok.num_dlights);
PUTN(idx);
//PUTN(kusok.index_offset); PUTC(0.); PUTN(kusok.vertex_offset); PUTC(0.); PUTN(kusok.triangles);
} else if (false) {
PUTN(idx);
_ PUTN(float(int(light_leaves[idx].num_slights)));
_ PUTN(float(int(light_leaves[idx].slights[0])));
_ PUTN(float(int(light_leaves[idx].slights[1])));
_ PUTN(float(int(light_leaves[idx].slights[2])));
_ PUTN(float(int(light_leaves[idx].slights[3])));
if (idx == 0) {
PUTN(light_grid.grid_min.x); _
PUTN(light_grid.grid_min.y); _
PUTN(light_grid.grid_min.z); _
PUTN(light_grid.grid_size.x); _
PUTN(light_grid.grid_size.y); _
PUTN(light_grid.grid_size.z);
} else {
const int index = int(mod(idx - 1 /* + time_off*/, 500));
PUTN(index);
// const uint cluster_offset = index * LIGHT_CLUSTER_SIZE + HACK_OFFSET;
// const int num_dlights = int(light_grid.clusters_data[cluster_offset + LIGHT_CLUSTER_NUM_DLIGHTS_OFFSET]);
// const int num_emissive_surfaces = int(light_grid.clusters_data[cluster_offset + LIGHT_CLUSTER_NUM_EMISSIVE_SURFACES_OFFSET]);
// const uint emissive_surfaces_offset = cluster_offset + LIGHT_CLUSTER_EMISSIVE_SURFACES_DATA_OFFSET;
// _ PUTC(C_D); PUTN(num_dlights);
// _ PUTC(C_S); PUTN(num_emissive_surfaces);
// _ PUTN(float(int(light_grid.clusters_data[emissive_surfaces_offset + 0])));
// _ PUTN(float(int(light_grid.clusters_data[emissive_surfaces_offset + 1])));
// _ PUTN(float(int(light_grid.clusters_data[emissive_surfaces_offset + 2])));
// _ PUTN(float(int(light_grid.clusters_data[emissive_surfaces_offset + 3])));
_ PUTC(C_D); PUTN(int(light_grid.clusters[index].num_dlights));
_ PUTC(C_S); PUTN(int(light_grid.clusters[index].num_emissive_surfaces));
_ PUTN(float(int(light_grid.clusters[index].emissive_surfaces[0])));
_ PUTN(float(int(light_grid.clusters[index].emissive_surfaces[1])));
_ PUTN(float(int(light_grid.clusters[index].emissive_surfaces[2])));
_ PUTN(float(int(light_grid.clusters[index].emissive_surfaces[3])));
}
} else if (false)
{
PUTN(emissive_kusochki.num_kusochki);
@ -179,7 +210,6 @@ float printText(in vec2 p) {
_ PUTN(emissive_kusochki.kusochki[idx].emissive_color.b*255.);
const uint kidx = emissive_kusochki.kusochki[idx].kusok_index;
_ PUTN(kusochki[kidx].leaf);
_ PUTN(kusochki[kidx].triangles);
} else if (true) {
//PUTN(picked_light);
@ -254,9 +284,9 @@ void main() {
const int geom_index = rayQueryGetIntersectionGeometryIndexEXT(rayQuery, true);
const int kusok_index = instance_kusochki_offset + geom_index;
const Kusok kusok = kusochki[kusok_index];
const uint leaf = kusochki[kusok_index].leaf-1;
//const uint leaf = kusochki[kusok_index].leaf-1;
//C = fract(pos / 100.);
//C = fract(pos / 256.); break;
//C = vec3(hash(float(geom_index)), hash(float(geom_index)+15.43), hash(float(geom_index)+34.));
//C = vec3(hash(float(leaf)), hash(float(leaf)+15.43), hash(float(leaf)+34.));
//C = vec3(hash(float(leaf)), float(kusok.num_surface_lights) / 63., float(kusok.is_emissive));
@ -280,17 +310,35 @@ void main() {
const vec2 bary = rayQueryGetIntersectionBarycentricsEXT(rayQuery, true);
const vec3 normal = normalize(transpose(inverse(mat3(transform))) * (n1 * (1. - bary.x - bary.y) + n2 * bary.x + n3 * bary.y));
pos += normal * normal_offset_fudge;
//C = normal * .5 + .5; break;
// TODO read from texture
const vec3 baseColor = vec3(1.);
const ivec3 light_cell = ivec3(floor(pos / LIGHT_GRID_CELL_SIZE)) - light_grid.grid_min;
const uint cluster_index = uint(dot(light_cell, ivec3(1, light_grid.grid_size.x, light_grid.grid_size.x * light_grid.grid_size.y)));
if (any(greaterThanEqual(light_cell, light_grid.grid_size)) || cluster_index >= MAX_LIGHT_CLUSTERS) {
C = vec3(1., 0., 0.);
break;
} else
#if 1
if (kusok.leaf != 0xffffffff) {
const uint num_emissive_kusochki = uint(light_leaves[kusok.leaf].num_slights);
{
// const uint cluster_offset = cluster_index * LIGHT_CLUSTER_SIZE + HACK_OFFSET;
// const int num_dlights = int(light_grid.clusters_data[cluster_offset + LIGHT_CLUSTER_NUM_DLIGHTS_OFFSET]);
// const int num_emissive_surfaces = int(light_grid.clusters_data[cluster_offset + LIGHT_CLUSTER_NUM_EMISSIVE_SURFACES_OFFSET]);
// const uint emissive_surfaces_offset = cluster_offset + LIGHT_CLUSTER_EMISSIVE_SURFACES_DATA_OFFSET;
//C = vec3(float(num_emissive_surfaces));
//C = vec3(float(int(light_grid.clusters[cluster_index].num_emissive_surfaces)));
//C += .3 * fract(vec3(light_cell) / 4.);
//break;
const uint num_emissive_kusochki = uint(light_grid.clusters[cluster_index].num_emissive_surfaces);
//const uint num_emissive_kusochki = emissive_kusochki.num_kusochki;
for (uint i = 0; i < num_emissive_kusochki; ++i) {
const uint index_into_emissive_kusochki = uint(light_leaves[kusok.leaf].slights[i]);
const uint index_into_emissive_kusochki = uint(light_grid.clusters[cluster_index].emissive_surfaces[i]);
//const uint index_into_emissive_kusochki = i;
const uint emissive_kusok_index = emissive_kusochki.kusochki[index_into_emissive_kusochki].kusok_index;
const Kusok ekusok = kusochki[emissive_kusok_index];
@ -343,13 +391,13 @@ void main() {
const float light_dist = length(light_dir);
light_dir /= light_dist;
if (shadowed(pos + normal_offset_fudge * normal, light_dir, light_dist - shadow_offset_fudge)) {
if (shadowed(pos, light_dir, light_dist - shadow_offset_fudge)) {
//C = vec3(0., 1., 0.);
continue;
}
// TODO
const float brightness_fudge = 100.;
const float brightness_fudge = 5.;
C += brightness_fudge * kc * baseColor * emissive * dot(light_dir, normal) / (light_dist * light_dist);
// Sample just one triangle

View File

@ -107,6 +107,77 @@ static struct {
"~LAB1_COMP7", 255, 255, 255, 20,
};
typedef struct {
const char *name;
int r, g, b, intensity;
} vk_light_texture_rad_data;
static void loadRadData( const model_t *map, const char *filename ) {
fs_offset_t size;
const byte *data, *buffer = gEngine.COM_LoadFile( filename, &size, false);
memset(g_emissive_texture_table, 0, sizeof(g_emissive_texture_table));
if (!buffer) {
gEngine.Con_Printf(S_ERROR "Couldn't load rad data from file %s, the map will be completely black\n", filename);
return;
}
data = buffer;
for (;;) {
string name;
float r, g, b, scale;
int num = sscanf(data, "%s %f %f %f %f", name, &r, &g, &b, &scale);
if (num == 2) {
r = g = b;
} else if (num == 5) {
scale /= 255.f;
r *= scale;
g *= scale;
b *= scale;
} else if (num == 4) {
// Ok, rgb only, no scaling
} else {
gEngine.Con_Printf( "skipping rad entry %s\n", num ? name : "" );
num = 0;
}
if (num != 0) {
gEngine.Con_Printf("rad entry: %s %f %f %f\n", name, r, g, b);
{
const char *tex_name_without_prefix = Q_strchr(name, '/');
if (!tex_name_without_prefix)
tex_name_without_prefix = name;
else
tex_name_without_prefix += 1;
// TODO we also have textures in format Q_sprintf(name, "halflife.wad/%s.mip", hack_valve_rad_table[i].name);
string texname;
Q_sprintf(texname, "#%s:%s.mip", map->name, tex_name_without_prefix);
const int tex_id = VK_FindTexture(texname);
if (tex_id) {
ASSERT(tex_id < MAX_TEXTURES);
g_emissive_texture_table[tex_id].emissive[0] = r;
g_emissive_texture_table[tex_id].emissive[1] = g;
g_emissive_texture_table[tex_id].emissive[2] = b;
g_emissive_texture_table[tex_id].set = true;
}
}
}
data = Q_strchr(data, '\n');
if (!data)
break;
while (!isalnum(*data)) ++data;
}
Mem_Free(buffer);
}
// TODO load from .rad file
static void initHackRadTable( void ) {
memset(g_emissive_texture_table, 0, sizeof(g_emissive_texture_table));
@ -491,9 +562,9 @@ static void buildStaticMapLightsGrid( void ) {
// 3.3 Add it to those cells
// TODO radius
for (int x = -1; x <= 1; ++x)
for (int y = -1; y <= 1; ++y)
for (int z = -1; z <= 1; ++z) {
for (int x = -2; x <= 2; ++x)
for (int y = -2; y <= 2; ++y)
for (int z = -2; z <= 2; ++z) {
const int cell[3] = { light_cell[0] + x, light_cell[1] + y, light_cell[2] + z};
// TODO culling, ...
// 3.1 Compute light size and intensity (?)
@ -535,6 +606,8 @@ static void buildStaticMapLightsGrid( void ) {
}
void VK_LightsLoadMap( void ) {
const model_t *map = gEngine.pfnGetModelByIndex( 1 );
parseStaticLightEntities();
g_lights.num_emissive_surfaces = 0;
@ -542,7 +615,10 @@ void VK_LightsLoadMap( void ) {
memset(g_lights.grid.size, 0, sizeof(g_lights.grid.size));
// FIXME ...
initHackRadTable();
//initHackRadTable();
// Load RAD data based on map name
loadRadData( map, "rad/lights_anomalous_materials.rad" );
buildStaticMapEmissiveSurfaces();
buildStaticMapLightsGrid();