Files
TeslaRel410/sda4/DPL3/VRENDER/PXPL5SUP/SMOKE.TXT
T
CydandClaude Fable 5 db7745fcd0 sda4: commit the Glaze developer hard-drive dump
Un-ignored: the dev drive is the ground truth the restoration and
emulator work constantly reference (DPL3/LIBDPL + VRENDER i860 renderer
source, BT/RP live+dev game trees, VGL_LABS pod boot, scene/audio
content). Kept in-repo for the pod-owner community.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 19:41:15 -05:00

75 lines
2.7 KiB
Plaintext

the smoke stuff uses the triangle function 'circle_darken' -
all opaque surfaces must have been scan-converted into pixel memory.
then, the circles can be painted using a dark airbrush.
the trick is, scan-convert the circle using
TREEltZERO_Q6, then z-compare to determine visibility
TREEltMEM_L3 and push away enable flag
ENABintoMEM (inside_circle) now, are we a 24-bit pixel?
ENABandeqMEM (pxltype) if so, darken r,g,b
ENABintoMEM (inside_and_24) save away
// now for each of r, g and b
MEMgtSCA (brightness) set enable if we can proceed with subtract
MEMpluseqSCA NB add on -darkness
ENABINV ()
ENABandeqMEM (inside_24)
CLEAR
MEMgtSCA (brightness) set enable if we can proceed with subtract
MEMpluseqSCA NB add on -darkness
ENABINV ()
ENABandeqMEM (inside_24)
CLEAR
MEMgtSCA (brightness) set enable if we can proceed with subtract
MEMpluseqSCA NB add on -darkness
ENABINV ()
ENABandeqMEM (inside_24)
CLEAR
MEMintoENAB (inside_circle) now, are we a 24-bit pixel?
ENABandeqMEMBAR (pxltype) if so, darken r,g,b
ENABintoMEM (inside_and_8) save away
// now for each of diff and spec
MEMgtSCA (brightness) set enable if we can proceed with subtract
MEMpluseqSCA NB add on -darkness
ENABINV ()
ENABandeqMEM (inside_24)
CLEAR
MEMgtSCA (brightness) set enable if we can proceed with subtract
MEMpluseqSCA NB add on -darkness
ENABINV ()
ENABandeqMEM (inside_24)
CLEAR
Note that if pixel map is arranged for diffuse and spec to inhabit r and g
// cycle count
TREEltZERO_Q6, 40
TREEltMEM_C1 40
ENABintoMEM (inside_circle) 1
// now for each of r, g and b
MEMgtSCA (brightness) 16
MEMpluseqSCA 16
ENABINV () 1
ENABandeqMEM (inside_circle) 1
CLEAR 8
MEMgtSCA (brightness) 16
MEMpluseqSCA 16
ENABINV () 1
ENABandeqMEM (inside_circle) 1
CLEAR 8
MEMintoENAB (inside_circle) 1
ENABandeqMEM (pxltype) 1
ENABintoMEM (inside_24) 1
MEMgtSCA (brightness) 16
MEMpluseqSCA 16
ENABINV () 1
ENABandeqMEM (inside_24) 1
CLEAR 8