标题:
场景显示函数
[打印本页]
作者:
砖家叫兽
时间:
2011-3-31 21:11
标题:
场景显示函数
总结 这么大个场景就是8X8这样一小块一小块贴出来的
横向80次 纵向50次
00427FF2 /$ 55 PUSH EBP ; 绘图
00427FF3 |. 8BEC MOV EBP,ESP
00427FF5 |. 83EC 20 SUB ESP,20
00427FF8 |. E8 7AFEFFFF CALL Ekd5.00427E77
00427FFD |. E8 35FCFFFF CALL Ekd5.00427C37
00428002 68 B8010000 PUSH 1B8
00428007 68 80020000 PUSH 280
0042800C |. 6A 28 PUSH 28
0042800E |. 6A 00 PUSH 0
00428010 |. E8 6C520500 CALL Ekd5.0047D281 ; 设定大小
00428015 |. 83C4 10 ADD ESP,10
00428018 |. A1 A4CE4900 MOV EAX,DWORD PTR DS:[49CEA4]
0042801D |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
00428020 |. 66:8B0D F0CE4>MOV CX,WORD PTR DS:[49CEF0]
00428027 |. 66:894D F0 MOV WORD PTR SS:[EBP-10],CX
0042802B |. 66:C745 EC 28>MOV WORD PTR SS:[EBP-14],28
00428031 |. C745 FC C0F14>MOV DWORD PTR SS:[EBP-4],Ekd5.0049F1C0 ; UNICODE " "
00428038 |. 6A 00 PUSH 0
0042803A |. E8 A44A0500 CALL Ekd5.0047CAE3
0042803F |. 83C4 04 ADD ESP,4
00428042 |. 6A 00 PUSH 0 ; /Arg3 = 00000000
00428044 |. 6A 00 PUSH 0 ; |Arg2 = 00000000
00428046 |. 6A 00 PUSH 0 ; |Arg1 = 00000000
00428048 |. E8 A4510500 CALL Ekd5.0047D1F1 ; \Ekd5.0047D1F1
0042804D |. 83C4 0C ADD ESP,0C
00428050 |. 66:C745 E8 00>MOV WORD PTR SS:[EBP-18],0
00428056 |. EB 0C JMP SHORT Ekd5.00428064
00428058 66:8B55 E8 MOV DX,WORD PTR SS:[EBP-18]
0042805C 66:83C2 01 |ADD DX,1
00428060 66:8955 E8 |MOV WORD PTR SS:[EBP-18],DX
00428064 |> 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
00428067 |. 25 FFFF0000 |AND EAX,0FFFF
0042806C |. 83F8 32 |CMP EAX,32 ; 400
0042806F |. 0F8D CC000000 |JGE Ekd5.00428141
00428075 |. 8B4D F8 |MOV ECX,DWORD PTR SS:[EBP-8]
00428078 |. 894D F4 |MOV DWORD PTR SS:[EBP-C],ECX
0042807B |. 66:C745 E4 00>|MOV WORD PTR SS:[EBP-1C],0
00428081 |. EB 21 |JMP SHORT Ekd5.004280A4
00428083 |> 66:8B55 F0 |/MOV DX,WORD PTR SS:[EBP-10]
00428087 |. 66:83C2 08 ||ADD DX,8
0042808B |. 66:8955 F0 ||MOV WORD PTR SS:[EBP-10],DX
0042808F |. 66:8B45 E4 ||MOV AX,WORD PTR SS:[EBP-1C]
00428093 |. 66:05 0100 ||ADD AX,1
00428097 |. 66:8945 E4 ||MOV WORD PTR SS:[EBP-1C],AX
0042809B |. 8B4D F4 ||MOV ECX,DWORD PTR SS:[EBP-C]
0042809E |. 83C1 02 ||ADD ECX,2
004280A1 |. 894D F4 ||MOV DWORD PTR SS:[EBP-C],ECX
004280A4 |> 8B55 E4 | MOV EDX,DWORD PTR SS:[EBP-1C]
004280A7 81E2 FFFF0000 ||AND EDX,0FFFF
004280AD |. 83FA 50 ||CMP EDX,50 ; 640
004280B0 |. 7D 61 ||JGE SHORT Ekd5.00428113
004280B2 |. 8B45 FC ||MOV EAX,DWORD PTR SS:[EBP-4]
004280B5 |. 66:8B08 ||MOV CX,WORD PTR DS:[EAX]
004280B8 |. 66:894D E0 ||MOV WORD PTR SS:[EBP-20],CX
004280BC |. 8B55 FC ||MOV EDX,DWORD PTR SS:[EBP-4]
004280BF |. 83C2 02 ||ADD EDX,2
004280C2 |. 8955 FC ||MOV DWORD PTR SS:[EBP-4],EDX
004280C5 |. 8B45 E0 ||MOV EAX,DWORD PTR SS:[EBP-20]
004280C8 25 FFFF0000 ||AND EAX,0FFFF
004280CD |. 83E0 03 ||AND EAX,3
004280D0 |. 85C0 ||TEST EAX,EAX
004280D2 |. 74 3A ||JE SHORT Ekd5.0042810E
004280D4 |. 6A 04 ||PUSH 4 ; /Arg3 = 00000004
004280D6 |. 6A 00 ||PUSH 0 ; |Arg2 = 00000000
004280D8 |. 8B4D F4 ||MOV ECX,DWORD PTR SS:[EBP-C] ; |
004280DB |. 33D2 ||XOR EDX,EDX ; |
004280DD |. 66:8B11 ||MOV DX,WORD PTR DS:[ECX] ; |
004280E0 |. C1E2 06 ||SHL EDX,6 ; |
004280E3 |. 52 ||PUSH EDX ; |Arg1
004280E4 |. B9 80AB4A00 ||MOV ECX,Ekd5.004AAB80 ; |
004280E9 |. E8 52790500 ||CALL Ekd5.0047FA40 ; \寻找指针
004280EE |. 50 ||PUSH EAX
004280EF |. 6A 08 ||PUSH 8 ; 大小
004280F1 |. 6A 08 ||PUSH 8
004280F3 |. 8B45 EC ||MOV EAX,DWORD PTR SS:[EBP-14]
004280F6 |. 25 FFFF0000 ||AND EAX,0FFFF
004280FB |. 50 ||PUSH EAX
004280FC |. 8B4D F0 ||MOV ECX,DWORD PTR SS:[EBP-10]
004280FF |. 81E1 FFFF0000 ||AND ECX,0FFFF
00428105 |. 51 ||PUSH ECX
00428106 |. E8 905F0500 ||CALL Ekd5.0047E09B ; 绘图显示
0042810B |. 83C4 14 ||ADD ESP,14
0042810E |>^ E9 70FFFFFF |\JMP Ekd5.00428083
00428113 |> 66:8B15 F0CE4>|MOV DX,WORD PTR DS:[49CEF0]
0042811A |. 66:8955 F0 |MOV WORD PTR SS:[EBP-10],DX
0042811E |. 66:8B45 EC |MOV AX,WORD PTR SS:[EBP-14]
00428122 |. 66:05 0800 |ADD AX,8
00428126 |. 66:8945 EC |MOV WORD PTR SS:[EBP-14],AX
0042812A |. 33C9 |XOR ECX,ECX
0042812C |. 66:8B0D B0CE4>|MOV CX,WORD PTR DS:[49CEB0]
00428133 |. 8B55 F8 |MOV EDX,DWORD PTR SS:[EBP-8]
00428136 |. 8D044A |LEA EAX,DWORD PTR DS:[EDX+ECX*2]
00428139 |. 8945 F8 |MOV DWORD PTR SS:[EBP-8],EAX
0042813C |.^ E9 17FFFFFF \JMP Ekd5.00428058
00428141 |> E8 4EF9FFFF CALL Ekd5.00427A94
00428146 |. 68 B8010000 PUSH 1B8
0042814B |. 68 80020000 PUSH 280
00428150 |. 6A 28 PUSH 28
00428152 |. 6A 00 PUSH 0
00428154 |. E8 28510500 CALL Ekd5.0047D281 ; 设定大小
00428159 |. 83C4 10 ADD ESP,10
0042815C |. 8BE5 MOV ESP,EBP
0042815E |. 5D POP EBP
0042815F \. C3 RETN
作者:
砖家叫兽
时间:
2011-3-31 21:12
修改修改,可以让大地图活起来
作者:
cswaccz
时间:
2011-4-4 18:31
标题:
回复 #2 砖家叫兽 的帖子
战场地图显示也是这个嘛?那修改一下能不能把战场变大?
作者:
砖家叫兽
时间:
2011-4-5 15:21
战场原则上也应该是这个函数上一层的另一个子函数
欢迎光临 轩辕春秋文化论坛 (http://xycq.org.cn/forum/)
Powered by Discuz! 5.0.0