KAZIK/src_graphics/charms.inc
Игорь Федосеев eaac8b861e feat: rework artifacts and tower relics
Extend profiles from 280 to 312 bytes with legacy compatibility.
Keep tower relics run-local and share the profile bankroll.
2026-10-30 23:22:19 +03:00

95 lines
2.4 KiB
PHP

include src_graphics\artifact_system.inc
DrawCharmsHUD PROC uses ebx esi edi, drawX:DWORD, drawY:DWORD
local curX:DWORD, tempBuf[16]:BYTE
cmp tournamentMode,0
jne hud_done
mov eax, charmCloverUses
or eax, charmHorseshoeUses
or eax, charmSkullUses
or eax, charmDevilUses
test eax, eax
jz hud_done
mov eax, drawX
mov curX, eax
; 1. Clover Badge
test charmEnabledMask3D,1
jz check_horse_hud
cmp charmCloverUses, 0
jle check_horse_hud
invoke DrawString8x8, curX, drawY, OFFSET badgeCloverPrefix, 0080FF80h
add curX, 32
invoke FormatNumber, charmCloverUses, ADDR tempBuf
invoke DrawString8x8, curX, drawY, ADDR tempBuf, 00FFFFFFh
cmp charmCloverUses, 10
jb @F
add curX, 8
@@:
add curX, 8
invoke DrawString8x8, curX, drawY, OFFSET badgeCloseBracket, 0080FF80h
add curX, 16
check_horse_hud:
; 2. Horseshoe Badge
test charmEnabledMask3D,2
jz check_skull_hud
cmp charmHorseshoeUses, 0
jle check_skull_hud
invoke DrawString8x8, curX, drawY, OFFSET badgeHorsePrefix, 00FFE060h
add curX, 32
invoke FormatNumber, charmHorseshoeUses, ADDR tempBuf
invoke DrawString8x8, curX, drawY, ADDR tempBuf, 00FFFFFFh
cmp charmHorseshoeUses, 10
jb @F
add curX, 8
@@:
add curX, 8
invoke DrawString8x8, curX, drawY, OFFSET badgeCloseBracket, 00FFE060h
add curX, 16
check_skull_hud:
; 3. Skull Badge
test charmEnabledMask3D,4
jz check_devil_hud
cmp charmSkullUses, 0
jle check_devil_hud
invoke DrawString8x8, curX, drawY, OFFSET badgeSkullPrefix, 0080FFFFh
add curX, 32
invoke FormatNumber, charmSkullUses, ADDR tempBuf
invoke DrawString8x8, curX, drawY, ADDR tempBuf, 00FFFFFFh
cmp charmSkullUses, 10
jb @F
add curX, 8
@@:
add curX, 8
invoke DrawString8x8, curX, drawY, OFFSET badgeCloseBracket, 0080FFFFh
add curX, 16
check_devil_hud:
; 4. Devil Contract Badge
test charmEnabledMask3D,8
jz hud_done
cmp charmDevilUses, 0
jle hud_done
invoke DrawString8x8, curX, drawY, OFFSET badgeDevilPrefix, 00FF6060h
add curX, 32
invoke FormatNumber, charmDevilUses, ADDR tempBuf
invoke DrawString8x8, curX, drawY, ADDR tempBuf, 00FFFFFFh
cmp charmDevilUses, 10
jb @F
add curX, 8
@@:
add curX, 8
invoke DrawString8x8, curX, drawY, OFFSET badgeCloseBracket, 00FF6060h
add curX, 16
hud_done:
ret
DrawCharmsHUD ENDP