KAZIK/tools/generators/patch_poker_asm.py
Artvasil09 881a0061dc Add native NPC visitors with contracts, Clover slots, Pyramid, and party table scenes
Implement 32x32 BFS visitor navigation and daily contracts system with companion .npc journals; add native assembly scenes for Clover slots, Pyramid cards, Blackjack Party and Russian Party; package animation and sprite packs; add comprehensive offline test suites and rebuild shipping binaries.
2026-10-13 09:47:33 +03:00

46 lines
1.3 KiB
Python

# -*- coding: utf-8 -*-
with open('poker.asm', 'r', encoding='cp1251') as f:
text = f.read()
target_str = 'pokerTitle db 13,10,"--- Poker ---",13,10,0\n'
new_str = target_str + '''pokerModeMenuText db "1. Классический покер 1 на 1 (против Дилера)",13,10
db "2. Стол на 4 персоны (Вы против посетителей казино)",13,10
db "0. Выход в главное меню",13,10
db "Выбор: ",0
'''
target_proc = 'GamePoker PROC\nstart_poker:\n'
new_proc = '''GamePoker PROC
poker_choose_mode:
call ClearView
invoke PrintTitleColor, OFFSET pokerTitle
invoke PrintStr, OFFSET pokerModeMenuText
call ReadKey
cmp al, '1'
je start_poker
cmp al, '2'
je poker_launch_multitable
cmp al, '0'
je poker_mode_exit
jmp poker_choose_mode
poker_launch_multitable:
call GameMultiPoker
ret
poker_mode_exit:
ret
start_poker:
'''
if target_str not in text:
print("ERROR: target_str not found")
elif target_proc not in text:
print("ERROR: target_proc not found")
else:
text = text.replace(target_str, new_str, 1)
text = text.replace(target_proc, new_proc, 1)
with open('poker.asm', 'w', encoding='cp1251') as f:
f.write(text)
print("poker.asm patched successfully")