forked from KolibriOS/kolibrios
93 lines
1.9 KiB
PHP
93 lines
1.9 KiB
PHP
|
NLT_levelp:
|
|||
|
mov eax,OR_strip
|
|||
|
call need_image
|
|||
|
xor eax,eax
|
|||
|
lodsb
|
|||
|
lodsb
|
|||
|
mov [fx],eax
|
|||
|
lodsb
|
|||
|
mov [fy],eax
|
|||
|
lodsw
|
|||
|
mov [player],eax
|
|||
|
mov dword[area],5
|
|||
|
lodsw
|
|||
|
mov [finish],eax
|
|||
|
call get_xy_sf.count
|
|||
|
mov [levptr],esi
|
|||
|
call unpack_level
|
|||
|
ret
|
|||
|
|
|||
|
NLT_key:
|
|||
|
mov [jump],still
|
|||
|
cmp eax,176
|
|||
|
jb .ex
|
|||
|
cmp eax,179
|
|||
|
ja .ex
|
|||
|
lea ebx,[eax-176]
|
|||
|
mov eax,[player]
|
|||
|
call check_move
|
|||
|
jc .ex
|
|||
|
mov ecx,ebx
|
|||
|
mov edx,ebx
|
|||
|
movzx ecx,byte[dir_rotate+ecx]
|
|||
|
cmp ecx,dword[area]
|
|||
|
je .ex
|
|||
|
xor edx,11b
|
|||
|
cmp edx,dword[area]
|
|||
|
je .ex
|
|||
|
add eax,[dirs+ebx*4]
|
|||
|
mov dword[area],ebx
|
|||
|
mov [player],eax
|
|||
|
cmp eax,[finish]
|
|||
|
jne .nowin
|
|||
|
mov [win_flag],1
|
|||
|
.nowin:
|
|||
|
mov [jump],drw
|
|||
|
.ex:
|
|||
|
ret
|
|||
|
|
|||
|
NLT_drawm:
|
|||
|
push [sq_size]
|
|||
|
mov [sq_size],0
|
|||
|
mov eax,[finish]
|
|||
|
mov ebx,6
|
|||
|
call out_image
|
|||
|
; mcall 13,[lx],[ly],0xff0000
|
|||
|
mov ebx,dword[area]
|
|||
|
cmp ebx,5
|
|||
|
jne .skip
|
|||
|
mov eax,[player]
|
|||
|
mov edi,eax
|
|||
|
pop [sq_size]
|
|||
|
call get_xy
|
|||
|
mcall 13,[lx],[ly],0x8000
|
|||
|
jmp .ex
|
|||
|
.skip:
|
|||
|
add ebx,8
|
|||
|
mov eax,[player]
|
|||
|
call out_image
|
|||
|
pop [sq_size]
|
|||
|
.ex:
|
|||
|
ret
|
|||
|
|
|||
|
NLT_level:
|
|||
|
file 'nolt.bin'
|
|||
|
|
|||
|
if lang eq ru
|
|||
|
NLT_help mstr \
|
|||
|
'<27><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>᭮<EFBFBD><E1ADAE>',\
|
|||
|
'<27><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><>㤭<EFBFBD><E3A4AD>',\
|
|||
|
'祬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20> <20><> <20>ਬ<EFBFBD><E0A8AC><EFBFBD> <20><><EFBFBD>宥',\
|
|||
|
'<27><>襭<EFBFBD><E8A5AD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>㯨<EFBFBD> <20> <20>㤥<EFBFBD><E3A4A5>',\
|
|||
|
'<27><><EFBFBD>㦤<EFBFBD><E3A6A4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᭠砫<E1ADA0>.','',\
|
|||
|
'http://puzzleprograms.narod.ru'
|
|||
|
else
|
|||
|
NLT_help mstr \
|
|||
|
'Your challenge is to manouvre the green dot to',\
|
|||
|
'the red square without ever turning left, or',\
|
|||
|
'making a U-turn. Harder than it looks. Beware, if',\
|
|||
|
'you make a bad decision in this maze you may get',\
|
|||
|
'completely stuck and have to restart.','',\
|
|||
|
'http://www.clickmazes.com'
|
|||
|
end if
|