ui_play_menu.s01

来自「炬力方案176*132软件源码,适用于AK1025」· S01 代码 · 共 1,505 行 · 第 1/3 页

S01
1,505
字号
	LD	(list_playmenu),HL
; 232.	
; 233.	        list_playmenu.strid= eq_string;
; 234.	        list_playmenu.total = 7;
	LD	HL,7
	LD	(list_playmenu+2),HL
; 235.	     if(g_music_vars.eq_type>8)
	LD	A,(g_music_vars+2)
	LD	B,A
	LD	A,8
	CP	B
	JR	NC,?0035
?0034:
; 236.	     {
; 237.	       list_playmenu.active= 0;
	LD	L,H
	LD	(list_playmenu+4),HL
; 238.	       eq_callback(0);
	EX	DE,HL
	LD	A,BYTE3 eq_callback
	LD	HL,LWRD eq_callback
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 239.	     }
; 240.	     else
	JR	?0036
?0035:
; 241.	      {
; 242.	        list_playmenu.active = g_music_vars.eq_type;
	LD	C,B
	LD	B,H
	LD	(list_playmenu+4),BC
?0036:
; 243.	      }
; 244.	        list_playmenu.string_id = g_comval.langid;
	LD	A,(g_comval+12)
	LD	(list_playmenu+8),A
; 245.	        list_playmenu.headid=MPLAY2;
	LD	HL,467
	LD	(list_playmenu+6),HL
; 246.	        g_result = ui_popup_list(&list_playmenu, eq_callback);
	LD	C,BYTE3 eq_callback
	PUSH	BC
	LD	HL,LWRD eq_callback
	PUSH	HL
	CALL	LWRD ?0157
	POP	AF
	POP	AF
	LD	(g_result),HL
; 247.	        StartIntro(FALSE);
	XOR	A
	LD	(g_introCntMode),A
	LD	A,(g_music_vars+79)
	LD	(g_OldSecTempBackup),A
	XOR	A
	LD	(g_introCNT),A
; 248.	
; 249.	        if (g_result == RESULT_IGNORE)return 0;
	LD	A,52
	XOR	L
	OR	H
	JR	Z,?0040
?0037:
?0038:
; 250.	
; 251.	        if (g_result != 0)return g_result;
	LD	A,L
	OR	H
	JR	NZ,?0041
?0039:
?0040:
; 252.	
; 253.	        return 0;
	LD	L,A
	LD	H,A
; 254.	    
; 255.	}
?0041:
	POP	DE
	POP	BC
	JP	LWRD ?BANK_FAST_LEAVE_L08
ui_SRS_menu:
; 256.	int ui_SRS_menu( void )
; 257.	{
	PUSH	BC
	PUSH	DE
	LD	HL,srs_string
	LD	(list_playmenu),HL
; 258.	       list_playmenu.strid = srs_string;
; 259.	       list_playmenu.total = 3; 
	LD	HL,3
	LD	(list_playmenu+2),HL
; 260.	       list_playmenu.active = SRSModeFlag;
	LD	BC,(SRSModeFlag)
	LD	B,H
	LD	(list_playmenu+4),BC
; 261.	       list_playmenu.string_id = g_comval.langid;
	LD	A,(g_comval+12)
	LD	(list_playmenu+8),A
; 262.	       list_playmenu.headid=play_string[list.active];            
	LD	HL,(list+4)
	ADD	HL,HL
	LD	BC,play_string
	ADD	HL,BC
	LD	B,(HL)
	INC	HL
	LD	H,(HL)
	LD	L,B
	LD	(list_playmenu+6),HL
; 263.	       g_result = ui_popup_list(&list_playmenu, srs_callback);
	LD	C,BYTE3 srs_callback
	PUSH	BC
	LD	HL,LWRD srs_callback
	PUSH	HL
	CALL	LWRD ?0157
	POP	AF
	POP	AF
	LD	(g_result),HL
; 264.	       if(g_result == 0)
	LD	A,L
	OR	H
	JR	NZ,?0050
?0042:
; 265.	       {       
; 266.	        if(list_playmenu.active==0)  
	LD	HL,(list_playmenu+4)
	LD	A,L
	OR	H
	JR	NZ,?0045
?0044:
; 267.	        {  
; 268.	          srs_default_set();  
	LD	A,BYTE3 srs_default_set
	LD	HL,LWRD srs_default_set
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 269.	          SRSModeFlag=0;          
	XOR	A
	LD	(SRSModeFlag),A
; 270.	          return NULL; 
	JR	?0054
; 271.	        }
?0045:
; 272.	        else if(list_playmenu.active == 1)
	LD	A,1
	XOR	L
	OR	H
	JR	NZ,?0047
?0046:
; 273.	        { 
; 274.	         g_result=ui_SRSUSER_menu();
	LD	A,BYTE3 ui_SRSUSER_menu
	LD	HL,LWRD ui_SRSUSER_menu
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	(g_result),HL
; 275.	         SRSModeFlag=1;
	LD	A,1
	LD	(SRSModeFlag),A
	JR	?0050
?0047:
; 276.	        }
; 277.	        else if(list_playmenu.active==2)
	LD	A,2
	XOR	L
	OR	H
	JR	NZ,?0050
?0049:
; 278.	        {
; 279.	          eq_callback(0);    
	LD	E,A
	LD	D,A
	LD	A,BYTE3 eq_callback
	LD	HL,LWRD eq_callback
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 280.	          return NULL;  
	JR	?0054
; 281.	        }
?0050:
?0048:
?0043:
; 282.	       }
; 283.	    if (g_result == RESULT_IGNORE)return 0;
	LD	HL,(g_result)
	LD	A,52
	XOR	L
	OR	H
	JR	Z,?0054
?0051:
?0052:
; 284.	    if (g_result != 0)return g_result;
	LD	A,L
	OR	H
	JR	NZ,?0055
?0053:
?0054:
; 285.	    return 0;
	LD	HL,0
; 286.	}
?0055:
	POP	DE
	POP	BC
	JP	LWRD ?BANK_FAST_LEAVE_L08
ui_SRSUSER_menu:
; 287.	int ui_SRSUSER_menu(void)
; 288.	{
	CALL	LWRD ?ENT_AUTO_DIRECT_L09
	DEFW	-14
; 289.	    char save_active=0;
	LD	(IX-14),0
?0057:
; 290.	    char i;
; 291.	    char temp[3];           
; 292.	    slider_t slider_playmenu; 
; 293.	    while(1)
; 294.	    {
; 295.	        list_playmenu.strid = srsuser_string;
	LD	HL,srsuser_string
	LD	(list_playmenu),HL
; 296.	        list_playmenu.total = 4;
	LD	HL,4
	LD	(list_playmenu+2),HL
; 297.	        list_playmenu.active= save_active;
	LD	C,(IX-14)
	LD	B,H
	LD	(list_playmenu+4),BC
; 298.	        list_playmenu.string_id = g_comval.langid;
	LD	A,(g_comval+12)
	LD	(list_playmenu+8),A
; 299.	        list_playmenu.headid=SRSUSER;              //play_string[menu.active];
	LD	HL,623
	LD	(list_playmenu+6),HL
; 300.	        g_result = ui_popup_list(&list_playmenu, NULL);
	LD	C,B
	PUSH	BC
	PUSH	BC
	CALL	LWRD ?0157
	POP	AF
	POP	AF
	LD	(g_result),HL
; 301.	        if(g_result==RESULT_IGNORE)
	LD	A,52
	XOR	L
	OR	H
	JR	NZ,?0060
?0059:
; 302.	        {
; 303.	           return 0;
	LD	L,C
	LD	H,B
; 304.	        }
	JP	LWRD ?0070
?0060:
; 305.	        if(g_result !=0) return g_result;
	LD	A,L
	OR	H
	JP	NZ,?0070
?0061:
?0062:
; 306.	        switch(list_playmenu.active)
	LD	DE,(list_playmenu+4)
	CALL	LWRD ?S_S_SWITCH_L06
	DEFW	0
	DEFW	4
	DEFW	?0063
	DEFW	?0064
	DEFW	?0065
	DEFW	?0066
	DEFW	?0067
?0064:
; 307.	        {
; 308.	        case 0:  
; 309.	               slider_playmenu.max = 10;
	LD	(IX-8),10
	LD	(IX-7),B
; 310.	               slider_playmenu.min = 0;
	LD	(IX-10),A
	LD	(IX-9),A
; 311.	               slider_playmenu.step = 1; 
	LD	(IX-4),1
	LD	(IX-3),B
; 312.	               slider_playmenu.value = g_music_vars.SRSMod.Wow;
	LD	BC,(g_music_vars+83)
	LD	B,A
	LD	(IX-6),C
	LD	(IX-5),B
; 313.	               slider_playmenu.string_id = g_comval.langid;
	LD	A,(g_comval+12)
	LD	(IX-2),A
; 314.	               slider_playmenu.title=srsuser_string[list_playmenu.active];
	EX	DE,HL
	ADD	HL,HL
	LD	BC,srsuser_string
	ADD	HL,BC
	LD	B,(HL)
	LD	(IX-12),B
	INC	HL
	LD	H,(HL)
	LD	(IX-11),H
; 315.	               g_result = ui_slider(& slider_playmenu, wow_user_callback);    
	LD	C,BYTE3 wow_user_callback
	PUSH	BC
	LD	HL,LWRD wow_user_callback
	PUSH	HL
	LD	HL,6
	ADD	HL,SP
	EX	DE,HL
	LD	A,BYTE3 ui_slider
	LD	HL,LWRD ui_slider
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
	POP	AF
	LD	(g_result),HL
; 316.	               save_active =0;
	LD	(IX-14),0
; 317.	               break;
	JP	LWRD ?0063
?0065:
; 318.	             
; 319.	        case 1: 
; 320.	              {
; 321.	               slider_playmenu.max = 10;
	LD	(IX-8),10
	LD	(IX-7),B
; 322.	               slider_playmenu.min = 0;
	LD	(IX-10),A
	LD	(IX-9),A
; 323.	               slider_playmenu.step = 1;
	LD	(IX-4),1
	LD	(IX-3),B
; 324.	               slider_playmenu.value =g_music_vars.SRSMod.Bass;
	LD	BC,(g_music_vars+84)
	LD	B,A
	LD	(IX-6),C
	LD	(IX-5),B
; 325.	               slider_playmenu.string_id =  g_comval.langid;
	LD	A,(g_comval+12)
	LD	(IX-2),A
; 326.	               slider_playmenu.title=srsuser_string[list_playmenu.active]; 
	EX	DE,HL
	ADD	HL,HL
	LD	BC,srsuser_string
	ADD	HL,BC
	LD	B,(HL)
	LD	(IX-12),B
	INC	HL
	LD	H,(HL)
	LD	(IX-11),H
; 327.	               g_result = ui_slider(& slider_playmenu, bass_user_callback);    
	LD	C,BYTE3 bass_user_callback
	PUSH	BC
	LD	HL,LWRD bass_user_callback
	PUSH	HL
	LD	HL,6
	ADD	HL,SP
	EX	DE,HL
	LD	A,BYTE3 ui_slider
	LD	HL,LWRD ui_slider
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
	POP	AF
	LD	(g_result),HL
; 328.	               save_active =1;
	LD	(IX-14),1
; 329.	              } 
; 330.	               break;  
	JR	?0063
?0066:
; 331.	        case 2:
; 332.	              {
; 333.	               slider_playmenu.max = 10;
	LD	(IX-8),10
	LD	(IX-7),B
; 334.	               slider_playmenu.min = 0;
	LD	(IX-10),A
	LD	(IX-9),A
; 335.	               slider_playmenu.step = 1;
	LD	(IX-4),1
	LD	(IX-3),B
; 336.	               slider_playmenu.value = g_music_vars.SRSMod.Srs;
	LD	BC,(g_music_vars+85)
	LD	B,A
	LD	(IX-6),C
	LD	(IX-5),B
; 337.	               slider_playmenu.string_id =  g_comval.langid;
	LD	A,(g_comval+12)
	LD	(IX-2),A
; 338.	               slider_playmenu.title=srsuser_string[list_playmenu.active];
	EX	DE,HL
	ADD	HL,HL
	LD	BC,srsuser_string
	ADD	HL,BC
	LD	B,(HL)
	LD	(IX-12),B
	INC	HL
	LD	H,(HL)
	LD	(IX-11),H
; 339.	               g_result = ui_slider(& slider_playmenu, srs_user_callback);    
	LD	C,BYTE3 srs_user_callback
	PUSH	BC
	LD	HL,LWRD srs_user_callback
	PUSH	HL
	LD	HL,6
	ADD	HL,SP
	EX	DE,HL
	LD	A,BYTE3 ui_slider
	LD	HL,LWRD ui_slider
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
	POP	AF
	LD	(g_result),HL
; 340.	               save_active =2;
	LD	(IX-14),2
; 341.	              }
; 342.	              break;
	JR	?0063
?0067:
; 343.	              
; 344.	            
; 345.	        case 3:
; 346.	            g_result=RESULT_IGNORE;     
	LD	HL,52
	LD	(g_result),HL
; 347.	            return g_result;     
; 348.	        default:
	JR	?0070
?0068:
; 349.	               break;      
?0063:
; 350.	        }
; 351.	         
; 352.	        if((g_result ==0)||(g_result==RESULT_IGNORE)) 
	LD	A,L
	OR	H
	JR	Z,?0073
	LD	A,52
	XOR	L
	OR	H
	JR	Z,?0073
?0071:
?0072:
?0069:
; 353.	         ;
; 354.	         else
?0070:
; 355.	         return g_result;
; 356.	    }
?0074:
	JP	LWRD ?BANK_LEAVE_DIRECT_L08
?0073:
; 357.	}
	JP	LWRD ?0057
ui_loop_menu:
; 358.	
; 359.	int ui_loop_menu( void )
; 360.	{
	PUSH	BC
	PUSH	DE
	LD	HL,repeat_string
	LD	(list_playmenu),HL
; 361.	
; 362.	        list_playmenu.strid = repeat_string;
; 363.	        list_playmenu.total = MaxRepeatMod;
	LD	HL,7
	LD	(list_playmenu+2),HL
; 364.	        list_playmenu.active = g_music_vars.repeat_mode;
	LD	BC,(g_music_vars+1)
	LD	B,H
	LD	(list_playmenu+4),BC
; 365.	        list_playmenu.string_id = g_comval.langid;
	LD	A,(g_comval+12)
	LD	(list_playmenu+8),A
; 366.	
; 367.	        list_playmenu.headid=MPLAY1;
	LD	HL,466
	LD	(list_playmenu+6),HL
; 368.	        g_result = ui_popup_list(&list_playmenu, loop_callback);
	LD	C,BYTE3 loop_callback
	PUSH	BC
	LD	HL,LWRD loop_callback
	PUSH	HL
	CALL	LWRD ?0157
	POP	AF
	POP	AF
	LD	(g_result),HL
; 369.	
; 370.	
; 371.	        StartIntro(FALSE);
	XOR	A
	LD	(g_introCntMode),A
	LD	A,(g_music_vars+79)
	LD	(g_OldSecTempBackup),A
	XOR	A
	LD	(g_introCNT),A
; 372.	
; 373.	        if (g_result == RESULT_IGNORE)return 0;
	LD	A,52
	XOR	L
	OR	H
	JR	Z,?0078
?0075:
?0076:
; 374.	        if (g_result != 0)return g_result;
	LD	A,L
	OR	H

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?