This commit is contained in:
2025-02-03 04:15:00 +01:00
parent b62aedda72
commit 57212b3450

View File

@@ -145,8 +145,6 @@ main PROC
mov rbp, rsp mov rbp, rsp
sub rsp, 120h sub rsp, 120h
; mov rax, OFFSET TETRO_0
;mov qword ptr [TETRO_SHAPE_POOL], rax
mov byte ptr [pointsBuf], '0' mov byte ptr [pointsBuf], '0'
call InitPlayField call InitPlayField
@@ -378,7 +376,7 @@ LoadTetromino PROC
mov r8, 8 mov r8, 8
mul r8 ; rax = rcx * 8 mul r8 ; rax = rcx * 8
lea r8, TETRO_SHAPE_POOL ; lea r8, TETRO_SHAPE_POOL
add r8, rax ; r8 = (byte*)TETRO_SHAPE_POOL[rcx] add r8, rax ; r8 = (byte*)TETRO_SHAPE_POOL[rcx]
mov r8, [r8] mov r8, [r8]
; r8 now points to the desired tetromino ; r8 now points to the desired tetromino
@@ -453,7 +451,6 @@ _loopX:
pop rdx pop rdx
pop rcx pop rcx
_loopX_continue: _loopX_continue:
inc r10b inc r10b
jmp _loopX jmp _loopX
@@ -487,6 +484,7 @@ _loop:
cmp rax, rbx cmp rax, rbx
je _loop_break je _loop_break
jmp _loop jmp _loop
_loop_break: _loop_break:
pop rbx pop rbx
ret ret
@@ -502,6 +500,7 @@ _loop:
cmp rax, rbx cmp rax, rbx
je _loop_break je _loop_break
jmp _loop jmp _loop
_loop_break: _loop_break:
pop rbx pop rbx
ret ret
@@ -701,7 +700,7 @@ SetTetroState PROC
mul r8 ; rax *= GRID_SIZE_X mul r8 ; rax *= GRID_SIZE_X
add rax, rcx ; rax += X add rax, rcx ; rax += X
lea r8, tetroBuffer ; lea r8, tetroBuffer
add rax, r8 ; rax += &playField add rax, r8 ; rax += &playField
pop rdx pop rdx
@@ -879,7 +878,6 @@ loop_x:
draw_single_block: draw_single_block:
push r8 push r8
push rcx push rcx
;mov r8, 00FF0000h
mov cl, al mov cl, al
call GetColor call GetColor
mov r8, rax mov r8, rax
@@ -936,7 +934,6 @@ _loopX:
; inner loop body ; inner loop body
; check if player tetro block is set ; check if player tetro block is set
push rcx push rcx
push rdx push rdx
mov rcx, rax mov rcx, rax
@@ -966,9 +963,7 @@ _loopX:
call GetColor call GetColor
pop rcx pop rcx
mov r8, rax ; Todo state to color mov r8, rax ; Todo state to color
;pop rax
;push rax
call RenderBlock call RenderBlock
pop rax pop rax
pop r8 pop r8
@@ -1045,7 +1040,6 @@ _loop:
cmp rdx, GRID_SIZE_X cmp rdx, GRID_SIZE_X
je _loop_break je _loop_break
; read state ; read state
push rcx ; rn Y push rcx ; rn Y
dec rcx ; rn Y-1 dec rcx ; rn Y-1
@@ -1065,7 +1059,6 @@ _loop:
pop rdx pop rdx
pop rcx pop rcx
inc rdx inc rdx
jmp _loop jmp _loop
_loop_break: _loop_break:
@@ -1090,34 +1083,6 @@ _loop_break:
ret ret
MoveAllRowsDown ENDP MoveAllRowsDown ENDP
; (in) rcx row to clear
; ClearRow PROC
; push r8
; xor r8, r8
; _loop:
; cmp r8, GRID_SIZE_X
; je _loop_break
;
; push rcx
; push rdx
; push r8
; mov rdx, rcx
; mov rcx, r8
; mov r8, 0
; call SetFieldState
; pop r8
; pop rdx
; pop rcx
;
; inc r8
; jmp _loop
;
; _loop_break:
; pop r8
;
; ret
; ClearRow ENDP
UpdatePointsString PROC UpdatePointsString PROC
push rsi push rsi
push rax push rax
@@ -1165,7 +1130,6 @@ loop_continue:
jmp _loop jmp _loop
loop_break: loop_break:
pop r8 pop r8
pop rdx pop rdx
ret ret
@@ -1238,7 +1202,6 @@ IsPlayerJammedInPlayfield PROC
xor rax, rax xor rax, rax
push rcx push rcx
push rdx push rdx
;xor rcx, rcx ; x = 0
xor rdx, rdx ; y = 0 xor rdx, rdx ; y = 0
push r8 push r8
push r9 push r9
@@ -1258,7 +1221,6 @@ loopX:
jz loopX_continue jz loopX_continue
; check if there is a block in playfield at [x + playerPosX, y + playerPosY] ; check if there is a block in playfield at [x + playerPosX, y + playerPosY]
; if yes, do loopY_break and set rax to 1 ; if yes, do loopY_break and set rax to 1
add cl, byte ptr [playerPosX] add cl, byte ptr [playerPosX]
add dl, byte ptr [playerPosY] add dl, byte ptr [playerPosY]
call GetFieldState call GetFieldState
@@ -1274,13 +1236,13 @@ noEarlyReturn:
loopX_continue: loopX_continue:
inc cl inc cl
jmp loopX jmp loopX
loopX_break: loopX_break:
loopY_continue: loopY_continue:
inc dl inc dl
jmp loopY jmp loopY
loopY_break: loopY_break:
pop r9 pop r9
pop r8 pop r8
pop rdx pop rdx
@@ -1309,7 +1271,6 @@ IsPlayerJammedInBounds PROC
cmp bl, cl cmp bl, cl
jge return_true jge return_true
jmp return_false jmp return_false
return_true: return_true:
@@ -1371,13 +1332,13 @@ loopX:
loopX_continue: loopX_continue:
inc cl inc cl
jmp loopX jmp loopX
loopX_break: loopX_break:
loopY_continue: loopY_continue:
inc dl inc dl
jmp loopY jmp loopY
loopY_break: loopY_break:
pop r9 pop r9
pop r8 pop r8
pop rdx pop rdx