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_RU
|
||
NLT_help mstr \
|
||
'‚ è § ¤ ç - ¯à®¢¥á⨠§¥«¥ë© ª¢ ¤à â ª ªà ᮬã',\
|
||
'¡¥§ ¯®¢®à®â «¥¢® ¨ ¤¢¨¦¥¨ï § ¤. <20>â® âà㤥¥',\
|
||
'祬 ª ¦¥âáï. ‚¨¬ ¨¥: ¥á«¨ ‚ë ¯à¨¬¥â¥ ¯«®å®¥',\
|
||
'à¥è¥¨¥, ¬®¦¥â¥ ¯®¯ áâì ¢ â㯨ª ¨ ¡ã¤¥â¥',\
|
||
'¢ë㦤¥ë ç âì á ç « .','',\
|
||
'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
|