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 + -
显示快捷键?