diff --git a/programs/games/Tupfile.lua b/programs/games/solitaires/Tupfile.lua similarity index 79% rename from programs/games/Tupfile.lua rename to programs/games/solitaires/Tupfile.lua index 1d55488e1..2aa8e1401 100644 --- a/programs/games/Tupfile.lua +++ b/programs/games/solitaires/Tupfile.lua @@ -4,4 +4,4 @@ tup.include(HELPERDIR .. "/use_fasm.lua") add_include(tup.getvariantdir()) tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en_US" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"}) -tup.rule("solitare.asm", FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "solitare") +tup.rule("solitares.asm", FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "solitares") diff --git a/programs/games/solitare.asm b/programs/games/solitaires/solitaires.asm similarity index 96% rename from programs/games/solitare.asm rename to programs/games/solitaires/solitaires.asm index b0d670485..b6d1d0957 100644 --- a/programs/games/solitare.asm +++ b/programs/games/solitaires/solitaires.asm @@ -10,7 +10,7 @@ dd mem_end dd stacktop dd 0, 0 -; --- STAŁE --- +; --- CONSTANTS --- CARD_W equ 50 CARD_H equ 70 STACK_OFFSET equ 22 @@ -191,7 +191,7 @@ on_redraw: int 0x40 jmp event_loop -; --- PROCEDURY RYSOWANIA --- +; --- DRAWING PROCEDURES --- draw_char_to_buf: pushad @@ -266,7 +266,7 @@ draw_card_to_buffer: .is_red: push edx push esi - ; --- LEWY GÓRNY RÓG (Margines 3px) --- + ; --- TOP-LEFT CORNER (3px margin) --- movzx eax, byte [esi] dec eax mov esi, eax @@ -277,32 +277,32 @@ draw_card_to_buffer: push esi movzx eax, byte [esi+1] add eax, 13 - add ebx, 6 ; Ikona obok rangi + add ebx, 6 ; Suit icon next to rank mov esi, eax call draw_char_to_buf - ; --- PRAWY DOLNY RÓG (Symetryczny Margines 3px) --- + ; --- BOTTOM-RIGHT CORNER (symmetric 3px margin) --- pop esi pop edx push edx push esi movzx ebx, word [esi+4] - add ebx, CARD_W - 8 ; (50 - 3 marginesu - 5 szerokości fontu = 42, czyli add 42) + add ebx, CARD_W - 8 ; (50 - 3 margin - 5 font width = 42, so add 42) movzx ecx, word [esi+6] - add ecx, CARD_H - 10 ; (70 - 3 marginesu - 7 wysokości fontu = 60, czyli add 60) + add ecx, CARD_H - 10 ; (70 - 3 margin - 7 font height = 60, so add 60) - ; Ranga na dole (najbardziej wysunięta w prawo) + ; Rank at the bottom (furthest to the right) movzx eax, byte [esi] dec eax mov esi, eax call draw_char_to_buf - ; Ikona koloru obok rangi na dole + ; Suit icon next to the bottom rank pop esi push esi movzx eax, byte [esi+1] add eax, 13 - sub ebx, 6 ; Ikona 6px na lewo od rangi + sub ebx, 6 ; Icon 6px to the left of rank mov esi, eax call draw_char_to_buf @@ -365,7 +365,7 @@ draw_slots: popad ret -; --- LOGIKA GRY --- +; --- GAME LOGIC --- is_card_active: push eax @@ -1001,7 +1001,7 @@ layout_tableau: jmp .sf .fin: ret -; --- DANE --- +; --- DATA --- title db 'Solitaire Symmetric Corner', 0 score dd 0 game_won db 0 @@ -1030,10 +1030,10 @@ db 10111000b,10101000b,10101000b,10101000b,10101000b,10101000b,10111000b ; 9:10 db 00011000b,00001000b,00001000b,00001000b,00001000b,10001000b,01110000b ; 10:J db 01110000b,10001000b,10001000b,10001000b,10101000b,10010000b,01101000b ; 11:Q db 10001000b,10010000b,10100000b,11000000b,10100000b,10010000b,10001000b ; 12:K -db 01010000b,11111000b,11111000b,01110000b,00100000b,00000000b,00000000b ; 13:Kier -db 00100000b,01110000b,11111000b,11111000b,01110000b,00100000b,00000000b ; 14:Karo -db 00100000b,00100000b,11111000b,11111000b,00100000b,00100000b,01110000b ; 15:Trefl -db 00100000b,01110000b,11111000b,11111000b,01110000b,00100000b,01110000b ; 16:Pik +db 01010000b,11111000b,11111000b,01110000b,00100000b,00000000b,00000000b ; 13:Hearts +db 00100000b,01110000b,11111000b,11111000b,01110000b,00100000b,00000000b ; 14:Diamonds +db 00100000b,00100000b,11111000b,11111000b,00100000b,00100000b,01110000b ; 15:Clubs +db 00100000b,01110000b,11111000b,11111000b,01110000b,00100000b,01110000b ; 16:Spades db 01111000b,10000000b,01110000b,00001000b,00001000b,11110000b,00000000b ; 17:S db 01110000b,10001000b,10000000b,10000000b,10000000b,10001000b,01110000b ; 18:C db 01110000b,10001000b,10001000b,10001000b,10001000b,10001000b,01110000b ; 19:O