# AGENTS.md ## Project identity Single-file x86 assembly (MASM32) Windows console casino game. Source: `poker.asm` (~8500 lines). Python scripts are only for previewing animations — not part of the game itself. ## Build - **Assembler**: `ml /c /coff /Cp /nologo poker.asm` - **Link**: `link /SUBSYSTEM:CONSOLE /RELEASE /VERSION:4.0 /LIBPATH:"\lib" poker.obj kernel32.lib winmm.lib user32.lib ws2_32.lib gdi32.lib` - **IDE project**: `poker.wap` (Pelles C/Windows) - **Libraries**: `kernel32.lib`, `winmm.lib`, `user32.lib`, `ws2_32.lib`, `gdi32.lib` - **Build script**: `build.bat` (uses MASM32 from `D:\MASM32\masm32`) Requires MASM32 toolchain (`ml.exe`, `link.exe` from e.g. `F:\MASM32\masm32\bin`). ## Encoding - Source strings, `dealer_phrases.txt`: **CP1251** (Windows-1251). Do not re-save as UTF-8. - `.ans` animation files: ANSI escape codes + CP1251, frames separated by form feed (`\f`, 0x0C). - Preview scripts run `chcp 65001` before printing. ## Assets | File | Purpose | |------|---------| | `casino_intro.ans` | Animated intro (skippable with Enter, loops at `@@LOOP@@` marker) | | `hakari_dance.ans` | Animated dance on jackpot win | | `dealer_phrases.txt` | CP1251, each line prefixed `W|` (win), `L|` (loss), `D|` (draw) | ## Workflow - **Git remote**: `https://git.silverstone.crazedns.ru/Billi_Bob/KAZIK.git` (branch `main`). - Backups in `backups/` follow: `poker_before__.{asm,exe}` - **No tests**. Manually verify by running `poker.exe`. - Preview animations: `preview_hakari.bat` / `preview_intro.bat` (or `python preview_hakari.py` directly). ## Games (menu) 1=21/Blackjack, 2=Poker, 3=CloverPit (slots 5×3), 4=Russian Roulette, 5=Skulls & cups, 6=Coin, 7=Dice, 8=Roulette, 9=Slot machine, 10=Durak, 11=Training, 12=Observer AI vs AI, 0=Exit Cheat codes: `MONEYRAIN`, `SEVENS`, `WINNEXT`, `GODMODE`, `FAIRPLAY`, `GOAL`, `RESETBANK`, `EASYAI`/`NORMALAI`/`HARDAI`, `JACKPOT`, `HIGHROLLER`, `DOUBLECASH`, `ONEBUCK` (entered at main menu).