kolibrios-gitea/programs/games/megamaze/trunk/nolt.inc
Andrew 0cdd2189aa Update programs to support new locale codes
- Update language codes and add comments.
- Correct some en_US translations.
- White space sanitation, including EOL.
2024-06-10 22:27:47 +01:00

95 lines
2.0 KiB
PHP
Raw Blame History

; Language support for locales: ru_RU (CP866), en_US.
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' ; FIXME: Check link works
else ; Default to en_US
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' ; FIXME: Why are links different?
end if