forked from KolibriOS/kolibrios
Rusty Earth
1) two demo level 2) screen for "game stage", "game over" and "game win" 3) NOSO boot parameter to start without sound and sound files git-svn-id: svn://kolibrios.org@5292 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
1043a1aa9f
commit
7cadd5ef29
@ -101,7 +101,9 @@ save_new_and_clear_old_position:
|
|||||||
ret
|
ret
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
harvest_of_death:
|
harvest_of_death:
|
||||||
mov [death_of_protagonist],0
|
xor eax,eax
|
||||||
|
mov [death_of_protagonist],al
|
||||||
|
mov [npc_alive],al
|
||||||
mov esi,plan_level
|
mov esi,plan_level
|
||||||
mov ecx,LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y
|
mov ecx,LEVEL_MAP_SIZE_X*LEVEL_MAP_SIZE_Y
|
||||||
cld
|
cld
|
||||||
@ -117,6 +119,11 @@ harvest_of_death:
|
|||||||
|
|
||||||
cmp al,BASE_WATER
|
cmp al,BASE_WATER
|
||||||
je .base_water
|
je .base_water
|
||||||
|
|
||||||
|
cmp ah,OBJECT_FINAL_MONSTER
|
||||||
|
ja .counter
|
||||||
|
|
||||||
|
mov [npc_alive],1
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
.counter:
|
.counter:
|
||||||
dec ecx
|
dec ecx
|
||||||
|
@ -1,51 +0,0 @@
|
|||||||
;---------------------------------------------------------------------
|
|
||||||
death_of_protagonist_start:
|
|
||||||
mov esi,map_level_game_over
|
|
||||||
call map_level_to_plan_level
|
|
||||||
.red:
|
|
||||||
call draw_window
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
.still:
|
|
||||||
mcall 10
|
|
||||||
|
|
||||||
cmp eax,1
|
|
||||||
je .red
|
|
||||||
|
|
||||||
cmp eax,2
|
|
||||||
je .key
|
|
||||||
|
|
||||||
cmp eax,3
|
|
||||||
je .button
|
|
||||||
|
|
||||||
jmp .still
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
.key:
|
|
||||||
mcall 2
|
|
||||||
cmp [extended_key],1
|
|
||||||
je .extended_key
|
|
||||||
|
|
||||||
test al,al
|
|
||||||
jnz .still
|
|
||||||
|
|
||||||
cmp ah,0xE0
|
|
||||||
jne .menu_still ; start_level_0
|
|
||||||
|
|
||||||
mov [extended_key],1
|
|
||||||
jmp .still
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
.extended_key:
|
|
||||||
mov [extended_key],0
|
|
||||||
jmp .menu_still ; start_level_0
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
.menu_still:
|
|
||||||
mcall 5,200
|
|
||||||
jmp menu_still
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
.button:
|
|
||||||
mcall 17
|
|
||||||
|
|
||||||
cmp ah,1
|
|
||||||
jne .still
|
|
||||||
|
|
||||||
jmp button.exit
|
|
||||||
;--------------------------------------
|
|
@ -1,5 +1,9 @@
|
|||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
draw_font:
|
draw_font:
|
||||||
|
; in:
|
||||||
|
; ebx - X*65536 + Y
|
||||||
|
; edx - text ASCII
|
||||||
|
;
|
||||||
pusha
|
pusha
|
||||||
xor ebp,ebp
|
xor ebp,ebp
|
||||||
mov esi,edx
|
mov esi,edx
|
||||||
|
@ -256,11 +256,13 @@ background_music_file_name db 'walking_with_poseidon.wav',0
|
|||||||
stone_kick_sound_file_name db 'flaunch.wav',0
|
stone_kick_sound_file_name db 'flaunch.wav',0
|
||||||
menu_sound_file_name db 'misc_menu.wav',0
|
menu_sound_file_name db 'misc_menu.wav',0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
protagonist_route dd 2
|
protagonist_route dd 2
|
||||||
protagonist_position:
|
protagonist_position:
|
||||||
.x dd 4
|
.x dd 4
|
||||||
.y dd 4
|
.y dd 4
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
main_menu_text_pointers:
|
main_menu_text_pointers:
|
||||||
dd menu_game_label
|
dd menu_game_label
|
||||||
dd menu_settings_label
|
dd menu_settings_label
|
||||||
@ -269,6 +271,7 @@ main_menu_text_pointers:
|
|||||||
dd menu_exit_label
|
dd menu_exit_label
|
||||||
dd 0
|
dd 0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
menu_credits_text_pointers:
|
menu_credits_text_pointers:
|
||||||
dd menu_credits_text.1
|
dd menu_credits_text.1
|
||||||
dd menu_credits_text.2
|
dd menu_credits_text.2
|
||||||
@ -278,6 +281,7 @@ menu_credits_text_pointers:
|
|||||||
dd menu_credits_text.6
|
dd menu_credits_text.6
|
||||||
dd 0
|
dd 0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
menu_help_text_pointers:
|
menu_help_text_pointers:
|
||||||
dd menu_help_text.1
|
dd menu_help_text.1
|
||||||
dd menu_help_text.2
|
dd menu_help_text.2
|
||||||
@ -285,9 +289,16 @@ menu_help_text_pointers:
|
|||||||
dd menu_help_text.4
|
dd menu_help_text.4
|
||||||
dd 0
|
dd 0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
settings_menu_text_pointers:
|
settings_menu_text_pointers:
|
||||||
dd menu_settings_sound_label
|
dd menu_settings_sound_label
|
||||||
dd menu_settings_music_label
|
dd menu_settings_music_label
|
||||||
dd menu_setting_exit
|
dd menu_setting_exit
|
||||||
dd 0
|
dd 0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
|
map_level_pointer:
|
||||||
|
dd map_level_0
|
||||||
|
dd map_level_1
|
||||||
|
dd 0
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
@ -7,7 +7,33 @@
|
|||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
map_level_0:
|
map_level_game_over:
|
||||||
|
dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h
|
||||||
|
dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h
|
||||||
|
dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h
|
||||||
|
dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h
|
||||||
|
dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h
|
||||||
|
dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h
|
||||||
|
dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h
|
||||||
|
dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h
|
||||||
|
dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h
|
||||||
|
dd 000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h,000002h
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
|
map_level_game_stage:
|
||||||
|
dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h
|
||||||
|
dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h
|
||||||
|
dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h
|
||||||
|
dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h
|
||||||
|
dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h
|
||||||
|
dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h
|
||||||
|
dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h
|
||||||
|
dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h
|
||||||
|
dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h
|
||||||
|
dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
|
map_level_1:
|
||||||
dd 030100h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h
|
dd 030100h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h
|
||||||
dd 000000h,001001h,001001h,000001h,000001h,000001h,001001h,001001h,001001h,000000h
|
dd 000000h,001001h,001001h,000001h,000001h,000001h,001001h,001001h,001001h,000000h
|
||||||
dd 010200h,001001h,000002h,000002h,000000h,000000h,000000h,000000h,001001h,000000h
|
dd 010200h,001001h,000002h,000002h,000000h,000000h,000000h,000000h,001001h,000000h
|
||||||
@ -20,15 +46,15 @@ map_level_0:
|
|||||||
dd 030300h,000000h,000000h,000000h,000000h,020400h,000000h,000000h,000003h,000003h
|
dd 030300h,000000h,000000h,000000h,000000h,020400h,000000h,000000h,000003h,000003h
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
map_level_game_over:
|
map_level_0:
|
||||||
dd 000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h
|
dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h
|
||||||
dd 000000h,000002h,000002h,000000h,000000h,000002h,000000h,000002h,000002h,000000h
|
dd 000001h,001001h,001001h,000001h,000001h,000001h,000001h,001101h,001101h,000001h
|
||||||
dd 000000h,000002h,000000h,000002h,000000h,000002h,000000h,000002h,000000h,000002h
|
dd 000001h,001001h,000001h,000001h,000001h,000001h,000001h,000001h,001101h,000001h
|
||||||
dd 000000h,000002h,000000h,000002h,000000h,000002h,000000h,000002h,000000h,000002h
|
dd 000001h,001101h,030101h,001101h,001101h,001001h,001001h,000001h,001001h,000001h
|
||||||
dd 000000h,000002h,000000h,000002h,000000h,000002h,000000h,000002h,000000h,000002h
|
dd 000001h,001101h,000001h,001101h,000f01h,000001h,001001h,000001h,001001h,010301h
|
||||||
dd 000000h,000002h,000002h,000000h,000000h,000002h,000000h,000002h,000002h,000000h
|
dd 000001h,001001h,000001h,001001h,000001h,000001h,001101h,000001h,001101h,000001h
|
||||||
dd 000000h,000002h,000000h,000002h,000000h,000002h,000000h,000002h,000000h,000000h
|
dd 000001h,001001h,000001h,001001h,001001h,001101h,001101h,000001h,001101h,000001h
|
||||||
dd 000000h,000002h,000000h,000002h,000000h,000002h,000000h,000002h,000000h,000000h
|
dd 000001h,001101h,000001h,000001h,000001h,000001h,000001h,000001h,001001h,000001h
|
||||||
dd 000000h,000002h,000000h,000002h,000000h,000002h,000000h,000002h,000000h,000000h
|
dd 000001h,001101h,001101h,000001h,000001h,000001h,000001h,001001h,001001h,000001h
|
||||||
dd 000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h,000000h
|
dd 000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h,000001h
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
@ -1,6 +1,6 @@
|
|||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
title:
|
title:
|
||||||
db 'Rusty Earth (Prototype 1.8) 28.12.2014',0
|
db 'Rusty Earth (Prototype 1.9) 30.12.2014',0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
menu_game_label:
|
menu_game_label:
|
||||||
db 'GAME',0
|
db 'GAME',0
|
||||||
@ -32,6 +32,16 @@ text_on_label:
|
|||||||
menu_setting_exit:
|
menu_setting_exit:
|
||||||
db 'EXIT',0
|
db 'EXIT',0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
stage_text:
|
||||||
|
db 'LEVEL '
|
||||||
|
.1: db '00',0
|
||||||
|
;--------------------------------------
|
||||||
|
game_win_text:
|
||||||
|
db 'YES! YOU WIN!',0
|
||||||
|
;--------------------------------------
|
||||||
|
protagonist_death_text:
|
||||||
|
db 'REST IN PEACE',0
|
||||||
|
;---------------------------------------------------------------------
|
||||||
menu_credits_text:
|
menu_credits_text:
|
||||||
.1: db 'Hello KolibriOS Team!',0
|
.1: db 'Hello KolibriOS Team!',0
|
||||||
.2: db 'The game used graphics and sound material',0
|
.2: db 'The game used graphics and sound material',0
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
; Code page - Cyrillic OEM866
|
; Code page - Cyrillic OEM866
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
title:
|
title:
|
||||||
db '<27>¦ Ά ο ‡¥¬«ο (<28>ΰ®β®β¨― 1.8) 28.12.2014',0
|
db '<27>¦ ¢ ï ‡¥¬«ï (<28>à®â®â¨¯ 1.9) 30.12.2014',0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
menu_game_label:
|
menu_game_label:
|
||||||
db 'ˆƒ<CB86>€',0
|
db 'ˆƒ<CB86>€',0
|
||||||
@ -34,6 +34,16 @@ text_on_label:
|
|||||||
menu_setting_exit:
|
menu_setting_exit:
|
||||||
db '‚›•Ž„',0
|
db '‚›•Ž„',0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
stage_text:
|
||||||
|
db '“<>Ž‚…<E2809A>œ '
|
||||||
|
.1: db '00',0
|
||||||
|
;--------------------------------------
|
||||||
|
game_win_text:
|
||||||
|
db '“<>€! <20>Ž<EFBFBD>…„€!',0
|
||||||
|
;--------------------------------------
|
||||||
|
protagonist_death_text:
|
||||||
|
db '<27>’Ž <20>›‹ ŠŽ<C5A0>…–',0
|
||||||
|
;---------------------------------------------------------------------
|
||||||
menu_credits_text:
|
menu_credits_text:
|
||||||
.1: db '<27>ਢ¥â ãç á⨪ ¬ ª®¬ ¤ë KolibriOS Team!',0
|
.1: db '<27>ਢ¥â ãç á⨪ ¬ ª®¬ ¤ë KolibriOS Team!',0
|
||||||
.2: db 'ƒà ä¨ç¥áª¨¥ ¨ §¢ãª®¢ë¥ ¬ â¥à¨ «ë ¯®¤',0
|
.2: db 'ƒà ä¨ç¥áª¨¥ ¨ §¢ãª®¢ë¥ ¬ â¥à¨ «ë ¯®¤',0
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
dd IM_END
|
dd IM_END
|
||||||
dd I_END
|
dd I_END
|
||||||
dd stacktop
|
dd stacktop
|
||||||
dd 0x0
|
dd bootparam
|
||||||
dd path
|
dd path
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
include 'lang.inc'
|
include 'lang.inc'
|
||||||
@ -65,10 +65,10 @@ OBJECT_DEATH = 1
|
|||||||
OBJECT_SKELETON = 2
|
OBJECT_SKELETON = 2
|
||||||
OBJECT_IFRIT = 3
|
OBJECT_IFRIT = 3
|
||||||
OBJECT_BARRET = 4
|
OBJECT_BARRET = 4
|
||||||
OBJECT_FINAL_MONSTER = 14
|
OBJECT_FINAL_MONSTER = 14 ; 0Eh
|
||||||
OBJECT_PROTAGONIST = 15
|
OBJECT_PROTAGONIST = 15 ; 0Fh
|
||||||
OBJECT_RED_BRICK = 16
|
OBJECT_RED_BRICK = 16 ; 10h
|
||||||
OBJECT_WHITE_BRICK = 17
|
OBJECT_WHITE_BRICK = 17 ; 11h
|
||||||
RED_BRICK_CRASH_1 = 0x80
|
RED_BRICK_CRASH_1 = 0x80
|
||||||
RED_BRICK_CRASH_2 = 0x81
|
RED_BRICK_CRASH_2 = 0x81
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
@ -93,6 +93,10 @@ load_libraries l_libs_start,end_l_libs
|
|||||||
mov [deflate_unpack],eax
|
mov [deflate_unpack],eax
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
call load_and_convert_all_icons
|
call load_and_convert_all_icons
|
||||||
|
|
||||||
|
cmp [bootparam],dword 'NOSO'
|
||||||
|
je menu_still
|
||||||
|
|
||||||
call load_all_sound_files
|
call load_all_sound_files
|
||||||
|
|
||||||
mov eax,[background_music]
|
mov eax,[background_music]
|
||||||
@ -111,15 +115,69 @@ load_libraries l_libs_start,end_l_libs
|
|||||||
menu_still:
|
menu_still:
|
||||||
jmp main_menu_start
|
jmp main_menu_start
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
show_game_stage:
|
||||||
|
mov esi,map_level_game_stage
|
||||||
|
call map_level_to_plan_level
|
||||||
|
call draw_window
|
||||||
|
mov eax,[level_counter]
|
||||||
|
inc eax
|
||||||
|
mov ebx,stage_text.1
|
||||||
|
call decimal_string_2
|
||||||
|
mov edx,stage_text
|
||||||
|
mov ebx,SPRITE_SIZE_X*3 shl 16 + SPRITE_SIZE_Y*5
|
||||||
|
call draw_font
|
||||||
|
mcall 5,300
|
||||||
|
ret
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
show_game_win:
|
||||||
|
mov esi,map_level_game_stage
|
||||||
|
call map_level_to_plan_level
|
||||||
|
call draw_window
|
||||||
|
mov edx,game_win_text
|
||||||
|
mov ebx,SPRITE_SIZE_X*2 shl 16 + SPRITE_SIZE_Y*5
|
||||||
|
call draw_font
|
||||||
|
mcall 5,1000
|
||||||
|
ret
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
death_of_protagonist_show:
|
||||||
|
mov esi,map_level_game_over
|
||||||
|
call map_level_to_plan_level
|
||||||
|
call draw_window
|
||||||
|
mov edx,protagonist_death_text
|
||||||
|
mov ebx,SPRITE_SIZE_X*2 shl 16 + SPRITE_SIZE_Y*5
|
||||||
|
call draw_font
|
||||||
|
mcall 5,500
|
||||||
|
jmp main_menu_start
|
||||||
|
;---------------------------------------------------------------------
|
||||||
start_level_0:
|
start_level_0:
|
||||||
|
xor eax,eax
|
||||||
|
mov [level_counter],eax
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
start_level:
|
||||||
|
mov esi,[level_counter]
|
||||||
|
shl esi,2
|
||||||
|
mov esi,[esi+map_level_pointer]
|
||||||
|
test esi,esi
|
||||||
|
jnz @f
|
||||||
|
|
||||||
|
call show_game_win
|
||||||
|
jmp main_menu_start
|
||||||
|
;--------------------------------------
|
||||||
|
@@:
|
||||||
|
call show_game_stage
|
||||||
mov eax,[stone_kick_sound]
|
mov eax,[stone_kick_sound]
|
||||||
mov [sounds_sample],eax
|
mov [sounds_sample],eax
|
||||||
|
; xor eax,eax
|
||||||
|
; mov [level_counter],eax
|
||||||
mov [death_of_protagonist],0
|
mov [death_of_protagonist],0
|
||||||
mov [protagonist_route],2
|
mov [protagonist_route],2
|
||||||
mov [protagonist_position.x],4
|
mov [protagonist_position.x],4
|
||||||
mov [protagonist_position.y],4
|
mov [protagonist_position.y],4
|
||||||
|
|
||||||
mov esi,map_level_0
|
mov esi,[level_counter]
|
||||||
|
shl esi,2
|
||||||
|
mov esi,[esi+map_level_pointer]
|
||||||
|
; mov esi,map_level_0
|
||||||
call map_level_to_plan_level
|
call map_level_to_plan_level
|
||||||
call generate_objects_id
|
call generate_objects_id
|
||||||
call copy_plan_level_to_plan_level_old
|
call copy_plan_level_to_plan_level_old
|
||||||
@ -145,8 +203,15 @@ still:
|
|||||||
call harvest_of_death
|
call harvest_of_death
|
||||||
call show_tiles_one_iteration
|
call show_tiles_one_iteration
|
||||||
cmp [death_of_protagonist],1
|
cmp [death_of_protagonist],1
|
||||||
je death_of_protagonist_start
|
je death_of_protagonist_show
|
||||||
|
|
||||||
|
cmp [npc_alive],0
|
||||||
|
jne @f
|
||||||
|
|
||||||
|
inc byte [level_counter]
|
||||||
|
jmp start_level
|
||||||
|
;--------------------------------------
|
||||||
|
@@:
|
||||||
mov eax,[protagonist_position.y]
|
mov eax,[protagonist_position.y]
|
||||||
imul eax,LEVEL_MAP_SIZE_X*4
|
imul eax,LEVEL_MAP_SIZE_X*4
|
||||||
mov ebx,[protagonist_position.x]
|
mov ebx,[protagonist_position.x]
|
||||||
@ -155,7 +220,7 @@ still:
|
|||||||
add eax,plan_level
|
add eax,plan_level
|
||||||
mov eax,[eax]
|
mov eax,[eax]
|
||||||
cmp ah,OBJECT_PROTAGONIST
|
cmp ah,OBJECT_PROTAGONIST
|
||||||
jne death_of_protagonist_start
|
jne death_of_protagonist_show
|
||||||
|
|
||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
@ -193,6 +258,46 @@ draw_window:
|
|||||||
mcall 12,2
|
mcall 12,2
|
||||||
ret
|
ret
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
; <20>…<EFBFBD>…‚Ž„ 10-<2D>›• —ˆ‘…‹ ‘Ž ‡<>€ŠŽŒ ‚ ‘’<E28098>ŽŠŽ‚›‰ ‚ˆ„
|
||||||
|
; ‚室:
|
||||||
|
; AX - ç¨á«®
|
||||||
|
; EBX - ¤à¥á áâப¨
|
||||||
|
; ‚ë室:
|
||||||
|
; áâப ᮤ¥à¦¨â ç¨á«®, ª®¥æ ®â¬¥ç¥ ª®¤®¬ 0
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
decimal_string_2:
|
||||||
|
push eax ebx ecx edx
|
||||||
|
xor ecx,ecx
|
||||||
|
mov [ebx],byte '0'
|
||||||
|
inc ebx
|
||||||
|
;--------------------------------------
|
||||||
|
.p3:
|
||||||
|
xor edx,edx
|
||||||
|
push ebx
|
||||||
|
mov ebx,10
|
||||||
|
div ebx
|
||||||
|
pop ebx
|
||||||
|
add edx,48
|
||||||
|
push edx
|
||||||
|
inc ecx
|
||||||
|
cmp ax,0
|
||||||
|
jne .p3
|
||||||
|
|
||||||
|
cmp ecx,1
|
||||||
|
jbe .p4
|
||||||
|
|
||||||
|
mov ecx,2
|
||||||
|
dec ebx
|
||||||
|
;--------------------------------------
|
||||||
|
.p4:
|
||||||
|
pop edx
|
||||||
|
mov [ebx],dl
|
||||||
|
inc ebx
|
||||||
|
loop .p4
|
||||||
|
pop edx ecx ebx eax
|
||||||
|
ret
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
|
;---------------------------------------------------------------------
|
||||||
memory_free_error:
|
memory_free_error:
|
||||||
mov [N_error],3
|
mov [N_error],3
|
||||||
jmp button.exit
|
jmp button.exit
|
||||||
@ -205,7 +310,6 @@ include 'key.inc'
|
|||||||
include 'show_tiles.inc'
|
include 'show_tiles.inc'
|
||||||
include 'show_base.inc'
|
include 'show_base.inc'
|
||||||
include 'show_object.inc'
|
include 'show_object.inc'
|
||||||
include 'death_protagonist.inc'
|
|
||||||
include 'load.inc'
|
include 'load.inc'
|
||||||
include 'icon_convert.inc'
|
include 'icon_convert.inc'
|
||||||
include 'error_window.inc'
|
include 'error_window.inc'
|
||||||
|
@ -5,6 +5,7 @@ extended_key rb 1
|
|||||||
draw_all_level rb 1
|
draw_all_level rb 1
|
||||||
current_cell_NPC rb 1
|
current_cell_NPC rb 1
|
||||||
death_of_protagonist rb 1
|
death_of_protagonist rb 1
|
||||||
|
npc_alive rb 1
|
||||||
target_detected rb 1
|
target_detected rb 1
|
||||||
sound_flag rb 1
|
sound_flag rb 1
|
||||||
sounds_flag rb 1
|
sounds_flag rb 1
|
||||||
@ -52,6 +53,8 @@ target_action_cell_y rd 1
|
|||||||
menu_text_pointers rd 1
|
menu_text_pointers rd 1
|
||||||
text_step_Y rd 1
|
text_step_Y rd 1
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
level_counter rd 1
|
||||||
|
;------------------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
version rd 1 ; версия интерфейса, текущая 0x0101
|
version rd 1 ; версия интерфейса, текущая 0x0101
|
||||||
; snd_format одна из констант вида PCM_X_Y_Z где
|
; snd_format одна из констант вида PCM_X_Y_Z где
|
||||||
@ -115,10 +118,11 @@ align 4
|
|||||||
file_info:
|
file_info:
|
||||||
rb 40
|
rb 40
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
;align 4
|
align 4
|
||||||
|
bootparam:
|
||||||
;procinfo:
|
;procinfo:
|
||||||
;process_info:
|
;process_info:
|
||||||
; rb 1024
|
rb 1024
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
; sound thread
|
; sound thread
|
||||||
|
Loading…
Reference in New Issue
Block a user