diff --git a/polymer/eduke32/package/samples/a.m32 b/polymer/eduke32/package/samples/a.m32 index 3642270f1..6a1e653d5 100644 --- a/polymer/eduke32/package/samples/a.m32 +++ b/polymer/eduke32/package/samples/a.m32 @@ -37,6 +37,8 @@ gamevar use_notebook_keys 0 0 // Whether RESPAWN sprites show the respawned sprite picnum unconditionally instead of // only when aimed at (and locked onto) the RESPAWN sprite in 3D mode. gamevar showrespawn_always 0 0 +// When set to 1, previewed sprites are 66% translucent instead of 33%: +gamevar showrespawn_fulltrans 0 0 gamevar move_by_one 0 0 @@ -1130,6 +1132,11 @@ defstate respawnpreview set pic sprite[ow].hitag ifge pic 0 ifl pic MAXTILES set tsprite[k].picnum pic + + and tsprite[k].cstat 0xfffffdff // clear bit 512 (reverse translucency) + or tsprite[k].cstat 2 // set bit 2 (33% translucency) + ifvarn showrespawn_fulltrans 0 + or tsprite[k].cstat 512 } } } diff --git a/polymer/eduke32/source/m32structures.c b/polymer/eduke32/source/m32structures.c index e7c5a0059..54b42274f 100644 --- a/polymer/eduke32/source/m32structures.c +++ b/polymer/eduke32/source/m32structures.c @@ -389,7 +389,7 @@ static int32_t __fastcall VM_AccessTsprite(int32_t how, int32_t lVar1, int32_t l int32_t lightp = (lLabelID >= LIGHT_X); int32_t i = (how&ACCESS_USEVARS) ? vm.g_i : lVar1; spritetype *datspr = NULL; - const memberlabel_t *dalabel = lightp ? &LightLabels[lLabelID-LIGHT_X] : SpriteLabels; + const memberlabel_t *dalabel = lightp ? &LightLabels[lLabelID-LIGHT_X] : &SpriteLabels[lLabelID]; if ((how&ACCESS_USEVARS) && lVar1 != M32_THISACTOR_VAR_ID) i = Gv_GetVarX(lVar1);