forked from KolibriOS/kolibrios
Rusty Earth - some code optimization for background music
git-svn-id: svn://kolibrios.org@5263 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
49aa2adc78
commit
5936066957
@ -1,6 +1,6 @@
|
|||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
title:
|
title:
|
||||||
db 'Rusty Earth (Prototype 1.6) 23.12.2014',0
|
db 'Rusty Earth (Prototype 1.6) 24.12.2014',0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
menu_game_label:
|
menu_game_label:
|
||||||
db 'GAME',0
|
db 'GAME',0
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
; Code page - Cyrillic OEM866
|
; Code page - Cyrillic OEM866
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
title:
|
title:
|
||||||
db '<27>¦ Ά ο ‡¥¬«ο (<28>ΰ®β®β¨― 1.6) 23.12.2014',0
|
db '<27>¦ Ά ο ‡¥¬«ο (<28>ΰ®β®β¨― 1.6) 24.12.2014',0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
menu_game_label:
|
menu_game_label:
|
||||||
db 'ˆƒ<CB86>€',0
|
db 'ˆƒ<CB86>€',0
|
||||||
|
@ -71,6 +71,7 @@ main_menu_start:
|
|||||||
cmp [main_menu_pointer],0
|
cmp [main_menu_pointer],0
|
||||||
je .still
|
je .still
|
||||||
|
|
||||||
|
call snd_kick_action
|
||||||
call clear_old_pointer
|
call clear_old_pointer
|
||||||
dec [main_menu_pointer]
|
dec [main_menu_pointer]
|
||||||
call draw_new_pointer
|
call draw_new_pointer
|
||||||
@ -80,6 +81,7 @@ main_menu_start:
|
|||||||
cmp [main_menu_pointer],4
|
cmp [main_menu_pointer],4
|
||||||
je .still
|
je .still
|
||||||
|
|
||||||
|
call snd_kick_action
|
||||||
call clear_old_pointer
|
call clear_old_pointer
|
||||||
inc [main_menu_pointer]
|
inc [main_menu_pointer]
|
||||||
call draw_new_pointer
|
call draw_new_pointer
|
||||||
@ -176,10 +178,12 @@ clear_screen:
|
|||||||
ret
|
ret
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
menu_credits:
|
menu_credits:
|
||||||
|
call snd_kick_action
|
||||||
mov [menu_text_pointers],menu_credits_text_pointers
|
mov [menu_text_pointers],menu_credits_text_pointers
|
||||||
jmp menu_help.1
|
jmp menu_help.1
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
menu_help:
|
menu_help:
|
||||||
|
call snd_kick_action
|
||||||
mov [menu_text_pointers],menu_help_text_pointers
|
mov [menu_text_pointers],menu_help_text_pointers
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
.1:
|
.1:
|
||||||
@ -239,6 +243,7 @@ menu_help:
|
|||||||
jmp button.exit
|
jmp button.exit
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
settings_menu_start:
|
settings_menu_start:
|
||||||
|
call snd_kick_action
|
||||||
mov al,[main_menu_pointer]
|
mov al,[main_menu_pointer]
|
||||||
mov [settings_menu_pointer],al
|
mov [settings_menu_pointer],al
|
||||||
xor al,al
|
xor al,al
|
||||||
@ -314,6 +319,7 @@ settings_menu_start:
|
|||||||
cmp [main_menu_pointer],0
|
cmp [main_menu_pointer],0
|
||||||
je .still
|
je .still
|
||||||
|
|
||||||
|
call snd_kick_action
|
||||||
call clear_old_pointer
|
call clear_old_pointer
|
||||||
dec [main_menu_pointer]
|
dec [main_menu_pointer]
|
||||||
call draw_new_pointer
|
call draw_new_pointer
|
||||||
@ -323,6 +329,7 @@ settings_menu_start:
|
|||||||
cmp [main_menu_pointer],2
|
cmp [main_menu_pointer],2
|
||||||
je .still
|
je .still
|
||||||
|
|
||||||
|
call snd_kick_action
|
||||||
call clear_old_pointer
|
call clear_old_pointer
|
||||||
inc [main_menu_pointer]
|
inc [main_menu_pointer]
|
||||||
call draw_new_pointer
|
call draw_new_pointer
|
||||||
@ -348,6 +355,7 @@ settings_menu_start:
|
|||||||
cmp [main_menu_pointer],2 ; exit
|
cmp [main_menu_pointer],2 ; exit
|
||||||
jne .still
|
jne .still
|
||||||
|
|
||||||
|
call snd_kick_action
|
||||||
mov al,[settings_menu_pointer]
|
mov al,[settings_menu_pointer]
|
||||||
mov [main_menu_pointer],al
|
mov [main_menu_pointer],al
|
||||||
|
|
||||||
|
@ -114,8 +114,11 @@ wave_out:
|
|||||||
cmp eax,-1
|
cmp eax,-1
|
||||||
popa
|
popa
|
||||||
je snd_wave_out_fail
|
je snd_wave_out_fail
|
||||||
|
|
||||||
|
ret
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
.exit:
|
.exit:
|
||||||
|
popa
|
||||||
ret
|
ret
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
snd_init_fail:
|
snd_init_fail:
|
||||||
@ -145,17 +148,61 @@ snd_wave_out_fail:
|
|||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
snd_background_music_thread_start:
|
snd_background_music_thread_start:
|
||||||
cmp [music_flag],1
|
cmp [music_flag],1
|
||||||
je @f
|
je .start
|
||||||
|
|
||||||
mcall 5,50
|
mcall 5,50
|
||||||
mcall 68,1
|
mcall 68,1
|
||||||
jmp snd_background_music_thread_start
|
jmp snd_background_music_thread_start
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
@@:
|
.start:
|
||||||
mov eax,[background_music]
|
mov eax,[background_music]
|
||||||
mov ebp,[hBuff1]
|
; call wave_out
|
||||||
call wave_out
|
; pusha
|
||||||
jmp snd_background_music_thread_start
|
; DEBUGF 1, "Wave out\n"
|
||||||
|
; check for correct data_offset
|
||||||
|
push eax
|
||||||
|
add eax,[data_offset]
|
||||||
|
sub eax,4
|
||||||
|
cmp [eax],dword 'data'
|
||||||
|
pop eax
|
||||||
|
je @f
|
||||||
|
|
||||||
|
mov [wav_for_test],eax
|
||||||
|
mov ebx,eax
|
||||||
|
add ebx,1024
|
||||||
|
mov [wav_for_test_end],ebx
|
||||||
|
call find_data_offset
|
||||||
|
cmp [sound_flag],0
|
||||||
|
jz snd_background_music_thread_start ;.exit
|
||||||
|
;--------------------------------------
|
||||||
|
@@:
|
||||||
|
add eax,[data_offset]
|
||||||
|
mov ebx,[eax]
|
||||||
|
add eax,4
|
||||||
|
mov ebp,eax
|
||||||
|
; DEBUGF 1, "src EAX: %x size EBX: %x\n",eax,ebx
|
||||||
|
;--------------------------------------
|
||||||
|
.loop:
|
||||||
|
cmp [music_flag],0
|
||||||
|
je snd_background_music_thread_start
|
||||||
|
; DEBUGF 1, "src EAX: %x size EBX: %x\n",eax,ebx
|
||||||
|
; stdcall _WaveOut@12,[hBuff],eax,ebx
|
||||||
|
stdcall _WaveOut@12,[hBuff1],ebp,8192
|
||||||
|
; DEBUGF 1, "return EAX: %x\n",eax
|
||||||
|
cmp eax,-1
|
||||||
|
; popa
|
||||||
|
je snd_wave_out_fail
|
||||||
|
|
||||||
|
add ebp,8192*2
|
||||||
|
cmp ebx,ebp
|
||||||
|
jae .start
|
||||||
|
|
||||||
|
sub ebp,8192
|
||||||
|
jmp .loop
|
||||||
|
;--------------------------------------
|
||||||
|
;.exit:
|
||||||
|
; popa
|
||||||
|
; jmp snd_background_music_thread_start
|
||||||
; mcall -1
|
; mcall -1
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
snd_kick_action:
|
snd_kick_action:
|
||||||
|
Loading…
Reference in New Issue
Block a user