📄 ui_pop_up_list.lst
字号:
\ 00FE DDB60C OR (IX+12)
\ 0101 2803 JR Z,?0013
\ 0103 ?0012:
144 callback(active);
\ 0103 CDF905 CALL LWRD ?0100
\ 0106 ?0013:
145
146 for(i=0; i<LIST_NUM_ONE_PAGE; i++)
\ 0106 AF XOR A
\ 0107 DD77E8 LD (IX-24),A
\ 010A DD77E9 LD (IX-23),A
\ 010D ?0015:
\ 010D 010680 LD BC,32774
\ 0110 DD6EE8 LD L,(IX-24)
\ 0113 DD66E9 LD H,(IX-23)
\ 0116 78 LD A,B
\ 0117 AC XOR H
\ 0118 67 LD H,A
\ 0119 ED42 SBC HL,BC
\ 011B D27C02 JP NC,?0014
\ 011E ?0016:
147 {
148 if(n+i >= list->total) break; //处理不足LIST_NUM_ONE_PAGE个的情况
\ 011E FD4E02 LD C,(IY+2)
\ 0121 FD4603 LD B,(IY+3)
\ 0124 DD6EE8 LD L,(IX-24)
\ 0127 DD66E9 LD H,(IX-23)
\ 012A DD5EF4 LD E,(IX-12)
\ 012D DD56F5 LD D,(IX-11)
\ 0130 19 ADD HL,DE
\ 0131 F680 OR 128
\ 0133 ED42 SBC HL,BC
\ 0135 E23901 JP PO,?0076
\ 0138 AC XOR H
\ 0139 ?0076:
\ 0139 F27C02 JP P,?0014
\ 013C ?0018:
\ 013C ?0019:
149 if(n+i==active)
\ 013C DD6EE8 LD L,(IX-24)
\ 013F DD66E9 LD H,(IX-23)
\ 0142 4B LD C,E
\ 0143 42 LD B,D
\ 0144 09 ADD HL,BC
\ 0145 DD4EE0 LD C,(IX-32)
\ 0148 DD46E1 LD B,(IX-31)
\ 014B A7 AND A
\ 014C ED42 SBC HL,BC
\ 014E C21002 JP NZ,?0021
\ 0151 ?0020:
150 {
151 //======================================//
152 ResShowPic(resID, 0, menu_pos_list[i]-1);
\ 0151 210000 LD HL,menu_pos_list
\ 0154 DD4EE8 LD C,(IX-24)
\ 0157 DD46E9 LD B,(IX-23)
\ 015A 09 ADD HL,BC
\ 015B 7E LD A,(HL)
\ 015C C6FF ADD A,255
\ 015E 5F LD E,A
\ 015F D5 PUSH DE
\ 0160 0E00 LD C,0
\ 0162 CDAD05 CALL LWRD ?0096
\ 0165 F1 POP AF
153 ResShowPic(MENUARR1, constX, menu_pos_list[i]-1);
\ 0166 210000 LD HL,menu_pos_list
\ 0169 DD4EE8 LD C,(IX-24)
\ 016C DD46E9 LD B,(IX-23)
\ 016F 09 ADD HL,BC
\ 0170 7E LD A,(HL)
\ 0171 C6FF ADD A,255
\ 0173 5F LD E,A
\ 0174 D5 PUSH DE
\ 0175 DD4EFC LD C,(IX-4)
\ 0178 11B300 LD DE,179
\ 017B CDB305 CALL LWRD ?0095
\ 017E F1 POP AF
154
155 SetPenColor(Color_WHITE_def);
\ 017F CDBB05 CALL LWRD ?0097
156 SetBackgdColor(0x00003358);
157 TextOutRect(&tregion ,1);
\ 0182 39 ADD HL,SP
\ 0183 EB EX DE,HL
\ 0184 CD0000 CALL LWRD TextOutRect
158 ResShowMultiString(list->strid[active], list->string_id,3, menu_pos_list[i]);
\ 0187 210000 LD HL,menu_pos_list
\ 018A DD4EE8 LD C,(IX-24)
\ 018D DD46E9 LD B,(IX-23)
\ 0190 09 ADD HL,BC
\ 0191 4E LD C,(HL)
\ 0192 C5 PUSH BC
\ 0193 0E03 LD C,3
\ 0195 C5 PUSH BC
\ 0196 FD4E08 LD C,(IY+8)
\ 0199 FD6E00 LD L,(IY+0)
\ 019C FD6601 LD H,(IY+1)
\ 019F E5 PUSH HL
\ 01A0 DD6EE0 LD L,(IX-32)
\ 01A3 DD66E1 LD H,(IX-31)
\ 01A6 29 ADD HL,HL
\ 01A7 EB EX DE,HL
\ 01A8 E1 POP HL
\ 01A9 19 ADD HL,DE
\ 01AA 5E LD E,(HL)
\ 01AB 23 INC HL
\ 01AC 56 LD D,(HL)
\ 01AD 3E00 LD A,BYTE3 ResShowMultiString
\ 01AF 210000 LD HL,LWRD ResShowMultiString
\ 01B2 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01B5 F1 POP AF
\ 01B6 F1 POP AF
159 TextOutRect(&tregion ,0);
\ 01B7 0E00 LD C,0
\ 01B9 210400 LD HL,4
\ 01BC 39 ADD HL,SP
\ 01BD EB EX DE,HL
\ 01BE CD0000 CALL LWRD TextOutRect
160
161 if(list->total > LIST_NUM_ONE_PAGE)
\ 01C1 FD4E02 LD C,(IY+2)
\ 01C4 FD4603 LD B,(IY+3)
\ 01C7 210600 LD HL,6
\ 01CA F680 OR 128
\ 01CC ED42 SBC HL,BC
\ 01CE E2D201 JP PO,?0077
\ 01D1 AC XOR H
\ 01D2 ?0077:
\ 01D2 F27002 JP P,?0027
\ 01D5 ?0022:
162 {
163 key = (list->total-LIST_NUM_ONE_PAGE-1)/LIST_NUM_ONE_PAGE;
\ 01D5 CD7005 CALL LWRD ?0094
164 tmp = 113-menuptr_height_list[key]; //注意,最多九级!!!
165 if(tmp%(list->total-1)>=active)
\ 01D8 E2DC01 JP PO,?0078
\ 01DB AC XOR H
\ 01DC ?0078:
\ 01DC FD4E02 LD C,(IY+2)
\ 01DF FD4603 LD B,(IY+3)
\ 01E2 0B DEC BC
\ 01E3 DD5EE2 LD E,(IX-30)
\ 01E6 DD56E3 LD D,(IX-29)
\ 01E9 CD0000 CALL LWRD ?SS_DIV_L02
\ 01EC 43 LD B,E
\ 01ED DD7EE0 LD A,(IX-32)
\ 01F0 FAFB01 JP M,?0025
\ 01F3 ?0024:
166 ResShowPic(MENUPTR1+key, 166, 19+active+(tmp/(list->total-1))*active);
\ 01F3 CD0000 CALL LWRD ?C_MUL_L01
\ 01F6 DD86E0 ADD A,(IX-32)
\ 01F9 1803 JR ?0087
167 else
\ 01FB ?0025:
168 ResShowPic(MENUPTR1+key, 166, 19+tmp%(list->total-1)+(tmp/(list->total-1))*active);
\ 01FB CD0B06 CALL LWRD ?0101
\ 01FE ?0087:
\ 01FE C613 ADD A,19
\ 0200 4F LD C,A
\ 0201 C5 PUSH BC
\ 0202 0EA6 LD C,166
\ 0204 DD5EFA LD E,(IX-6)
\ 0207 1600 LD D,0
\ 0209 21BA00 LD HL,186
\ 020C 19 ADD HL,DE
\ 020D EB EX DE,HL
\ 020E 185C JR ?0091
\ 0210 ?0026:
\ 0210 ?0023:
169 }
170 }
171 else
\ 0210 ?0021:
172 {
173 SetPenColor(Color_BLACK_def);
\ 0210 CDD305 CALL LWRD ?0098
174 SetBackgdColor(Color_MENU_def);
175 TextOutRect(&tregion ,1);
\ 0213 39 ADD HL,SP
\ 0214 EB EX DE,HL
\ 0215 CD0000 CALL LWRD TextOutRect
176 ResShowMultiString(list->strid[n+i], list->string_id,3, menu_pos_list[i]);
\ 0218 210000 LD HL,menu_pos_list
\ 021B DD4EE8 LD C,(IX-24)
\ 021E DD46E9 LD B,(IX-23)
\ 0221 09 ADD HL,BC
\ 0222 5E LD E,(HL)
\ 0223 D5 PUSH DE
\ 0224 1E03 LD E,3
\ 0226 D5 PUSH DE
\ 0227 FD4E08 LD C,(IY+8)
\ 022A FD6E00 LD L,(IY+0)
\ 022D FD6601 LD H,(IY+1)
\ 0230 E5 PUSH HL
\ 0231 DD6EE8 LD L,(IX-24)
\ 0234 60 LD H,B
\ 0235 DD5EF4 LD E,(IX-12)
\ 0238 DD56F5 LD D,(IX-11)
\ 023B 19 ADD HL,DE
\ 023C 29 ADD HL,HL
\ 023D EB EX DE,HL
\ 023E E1 POP HL
\ 023F 19 ADD HL,DE
\ 0240 5E LD E,(HL)
\ 0241 23 INC HL
\ 0242 56 LD D,(HL)
\ 0243 3E00 LD A,BYTE3 ResShowMultiString
\ 0245 210000 LD HL,LWRD ResShowMultiString
\ 0248 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 024B F1 POP AF
\ 024C F1 POP AF
177 TextOutRect(&tregion ,0);
\ 024D 0E00 LD C,0
\ 024F 210400 LD HL,4
\ 0252 39 ADD HL,SP
\ 0253 EB EX DE,HL
\ 0254 CD0000 CALL LWRD TextOutRect
178
179 ResShowPic(MENUARR, constX, menu_pos_list[i]-1);
\ 0257 210000 LD HL,menu_pos_list
\ 025A DD4EE8 LD C,(IX-24)
\ 025D DD46E9 LD B,(IX-23)
\ 0260 09 ADD HL,BC
\ 0261 7E LD A,(HL)
\ 0262 C6FF ADD A,255
\ 0264 4F LD C,A
\ 0265 C5 PUSH BC
\ 0266 DD4EFC LD C,(IX-4)
\ 0269 11B200 LD DE,178
\ 026C ?0091:
\ 026C CDB305 CALL LWRD ?0095
\ 026F F1 POP AF
\ 0270 ?0027:
\ 0270 DD34E8 INC (IX-24)
\ 0273 C20D01 JP NZ,?0015
\ 0276 DD34E9 INC (IX-23)
\ 0279 C30D01 JP LWRD ?0015
\ 027C ?0014:
180 }
181 }
182
183 need_draw = FALSE;
\ 027C DD36FB00 LD (IX-5),0
\ 0280 ?0008:
184 }//need draw
185 if(value_changed)
\ 0280 AF XOR A
\ 0281 DDB6FD OR (IX-3)
\ 0284 CA0304 JP Z,?0029
\ 0287 ?0028:
186 {
187 ///-show_active_list1(list,old_active,active);
188
189 //---------------------//
190 //清除旧的活动菜单项
191 tmp = old_active%6;
\ 0287 010600 LD BC,6
\ 028A DD5EF2 LD E,(IX-14)
\ 028D DD56F3 LD D,(IX-13)
\ 0290 CD0000 CALL LWRD ?SS_MOD_L02
\ 0293 DD73E2 LD (IX-30),E
\ 0296 DD72E3 LD (IX-29),D
192 if(list->total > LIST_NUM_ONE_PAGE)
\ 0299 FD4E02 LD C,(IY+2)
\ 029C FD4603 LD B,(IY+3)
\ 029F 210600 LD HL,6
\ 02A2 F680 OR 128
\ 02A4 ED42 SBC HL,BC
\ 02A6 E2AA02 JP PO,?0080
\ 02A9 AC XOR H
\ 02AA ?0080:
\ 02AA 210000 LD HL,menu_pos_list
\ 02AD 4B LD C,E
\ 02AE 42 LD B,D
\ 02AF 09 ADD HL,BC
\ 02B0 7E LD A,(HL)
\ 02B1 F2BF02 JP P,?0031
\ 02B4 ?0030:
193 ResShowPic(MENUBCK3, 0, menu_pos_list[tmp]-1);
\ 02B4 C6FF ADD A,255
\ 02B6 4F LD C,A
\ 02B7 C5 PUSH BC
\ 02B8 0E00 LD C,0
\ 02BA 11B700 LD DE,183
\ 02BD 1809 JR ?0088
194 else
\ 02BF ?0031:
195 ResShowPic(MENUBCK1, 0, menu_pos_list[tmp]-1);
\ 02BF C6FF ADD A,255
\ 02C1 4F LD C,A
\ 02C2 C5 PUSH BC
\ 02C3 0E00 LD C,0
\ 02C5 11B500 LD DE,181
\ 02C8 ?0088:
\ 02C8 CDB305 CALL LWRD ?0095
\ 02CB F1 POP AF
\ 02CC ?0032:
196
197 SetPenColor(Color_BLACK_def);
\ 02CC CDD305 CALL LWRD ?0098
198 SetBackgdColor(Color_MENU_def);
199
200 TextOutRect(&tregion ,1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -