diff --git a/Manuals/MANUAL_EN.bin b/Manuals/MANUAL_EN.bin index 85e82ce..ff02c72 100644 Binary files a/Manuals/MANUAL_EN.bin and b/Manuals/MANUAL_EN.bin differ diff --git a/Manuals/MANUAL_EN.md b/Manuals/MANUAL_EN.md index 326872e..2931283 100644 --- a/Manuals/MANUAL_EN.md +++ b/Manuals/MANUAL_EN.md @@ -338,6 +338,7 @@ The game has 8 difficulty levels of computer-controlled opponents. Or actually 7 * **Unknown** - Before firing each shot, he randomly chooses a course of action from **Poolshark** to **Cyborg** and applies his tactics. However, the tactics of weapon purchases are always identical to **Tosser**. +### AI weapon purchase Buying a weapon (offensive or defensive) works as follows: First, one of the weapons is drawn (among all possible offensive or defensive weapons). Then a check is performed to see if the drawn weapon is in the list of weapons possible for purchase by the tank. If not, no weapon is bought in this trial, and if so, its price is checked. If the tank has that much money, the weapon is bought, otherwise the trial ends without making a purchase. diff --git a/Manuals/MANUAL_PL_A800.bin b/Manuals/MANUAL_PL_A800.bin index 2336301..e824b44 100644 Binary files a/Manuals/MANUAL_PL_A800.bin and b/Manuals/MANUAL_PL_A800.bin differ diff --git a/Manuals/MANUAL_PL_A800.md b/Manuals/MANUAL_PL_A800.md index 193b0df..3f0c1bb 100644 --- a/Manuals/MANUAL_PL_A800.md +++ b/Manuals/MANUAL_PL_A800.md @@ -340,8 +340,8 @@ Gra posiada 8 poziomów trudności przeciwników sterowanych przez komputer. A w * **Unknown** - Przed oddaniem każdego strzału losowo wybiera sposób działania od **Poolsharka** do **Cyborga** i stosuje jego taktykę. Taktyka zakupów broni jest jednak zawsze identyczna jak **Tosser** +### AI idzie na zakupy Próba zakupu broni (ofensywnej lub defensywnej) wygląda następująco: - Na początku losowana jest jedna z broni (wśród wszystkich możliwych ofensywnych lub defensywnych). Następnie wykonywane jest sprawdzenie, czy wylosowana broń jest na liście broni możliwych do zakupu przez czołg. Jeśli nie, to w tej próbie żadna broń nie jest kupowana, a jeśli tak, to sprawdzana jest jej cena. Jeśli czołg ma tyle pieniędzy, broń jest kupowana, w przeciwnym wypadku próba kończy się bez dokonania zakupu. Tabela broni kupowanych przez **Shooter**, **Poolshark**, **Tosser** i **Chooser** diff --git a/Manuals/manual.asm b/Manuals/manual.asm index c10e0e3..88e05fd 100644 --- a/Manuals/manual.asm +++ b/Manuals/manual.asm @@ -8,6 +8,8 @@ screen_height = 26 screen_width = 40 screen = $1000 ; start - 40*screen_height +KeyRepeatSpeed = 15 ; (max 127 !!!) + STEREOMODE equ 0 @@ -160,7 +162,7 @@ prev_letter jmp prev_letter prev_chapter_found mwa temp top_src - + jsr WaitForKeyRelease jmp main_loop next_chapter @@ -180,6 +182,7 @@ next_letter jmp next_letter next_chapter_found mwa temp top_src + jsr WaitForKeyRelease jmp main_loop ;-------------------------------------------------- .proc MakeScreenCopy @@ -324,9 +327,33 @@ Check2button rts .endp +;-------------------------------------------------- +.proc WaitForKeyRelease +;-------------------------------------------------- + mva #128-KeyRepeatSpeed pressTimer ; tricky +StillWait + bit pressTimer + bmi KeyReleased + lda STICK0 + and #$0f + cmp #$0f + bne StillWait + lda STRIG0 + beq StillWait + lda SKSTAT + cmp #$ff + bne StillWait + lda CONSOL + and #%00000110 ; Select and Option only + cmp #%00000110 + bne StillWait +KeyReleased + rts +.endp ;-------------------------------------------------- .proc VBLANK ;vertical blank interrupt ;-------------------------------------------------- + lda ticksPerSecond cmp #60 bne PALMusic @@ -335,6 +362,7 @@ Check2button and #%00000111 beq skipSoundFrame PALMusic + bit:smi:inc pressTimer ; timer halted if >127. max time measured 2.5 s ;lda ticks ;and #%00000011 ;beq skipSoundFrame @@ -407,11 +435,12 @@ joyToKeyTable .by $ff ;0f -escflag .byte 0 +escflag .byte 0 paddlestate .byte 0 -ticks .byte 0 +ticks .byte 0 ticksPerSecond .byte 0 -fake_pokey :9 .byte 0 +fake_pokey :9 .byte 0 +pressTimer .byte 0 man_text diff --git a/Manuals/manual_en.xex b/Manuals/manual_en.xex index 6d067af..1a11ea2 100644 Binary files a/Manuals/manual_en.xex and b/Manuals/manual_en.xex differ diff --git a/Manuals/manual_pl.xex b/Manuals/manual_pl.xex index 7346118..2a8e815 100644 Binary files a/Manuals/manual_pl.xex and b/Manuals/manual_pl.xex differ