@@ -2657,6 +2657,7 @@ gfx_TransparentSprite:
2657
2657
pop iy
2658
2658
push ix
2659
2659
ld ixh , a
2660
+ .transparent_color := $ + 1
2660
2661
ld a , TRASPARENT_COLOR
2661
2662
smcByte _TransparentColor
2662
2663
wait_quick
@@ -3573,6 +3574,7 @@ smcByte _TextBGColor
3573
3574
smcByte _TextFGColor
3574
3575
.bgcolor:
3575
3576
cp a , TEXT_TP_COLOR ; check if transparent
3577
+ gfx_PrintChar.transparent_color := $ - 1
3576
3578
smcByte _TextTPColor
3577
3579
jr z , .transparent
3578
3580
ld (de) , a
@@ -3679,6 +3681,13 @@ smcByte _TextHeight
3679
3681
ld iyh , a ; ixh = char width
3680
3682
ld (_TmpCharSprite) , a ; store width of character we are drawing
3681
3683
call _GetChar ; store the character data
3684
+
3685
+ ld hl , gfx_TransparentSprite.transparent_color
3686
+ ld a , (hl)
3687
+ push af
3688
+ ld a , (gfx_PrintChar.transparent_color)
3689
+ ld (hl) , a
3690
+
3682
3691
ld bc , (_TextYPos)
3683
3692
push bc
3684
3693
ld bc , (_TextXPos) ; compute the new locations
@@ -3696,6 +3705,9 @@ smcByte _TextHeight
3696
3705
pop bc
3697
3706
pop bc
3698
3707
3708
+ pop af
3709
+ ld (gfx_TransparentSprite.transparent_color) , a
3710
+
3699
3711
pop hl ; restore hl and stack pointer
3700
3712
ret
3701
3713
@@ -3912,7 +3924,7 @@ smcByte _TextTPColor
3912
3924
ret
3913
3925
.transparent:
3914
3926
ld a , 0
3915
- smcByte _TransparentColor
3927
+ smcByte _TextTPColor
3916
3928
ld (de) , a
3917
3929
inc de ; move to next pixel
3918
3930
djnz .nextpixel
0 commit comments