⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamecommand.pas

📁 大名鼎鼎的BLUE M2源码,非了好大的劲搞来的,修改日期是080514,需要的朋友可以拿去研究,呵呵,M2界的领头老大.
💻 PAS
📖 第 1 页 / 共 2 页
字号:
(*
005613E4   55                     push    ebp
005613E5   8BEC                   mov     ebp, esp
005613E7   83C4E4                 add     esp, -$1C
005613EA   33C9                   xor     ecx, ecx
005613EC   894DE4                 mov     [ebp-$1C], ecx
005613EF   894DE8                 mov     [ebp-$18], ecx
005613F2   894DEC                 mov     [ebp-$14], ecx
005613F5   8955F0                 mov     [ebp-$10], edx
005613F8   8945FC                 mov     [ebp-$04], eax
005613FB   33C0                   xor     eax, eax
005613FD   55                     push    ebp
005613FE   68EC145600             push    $005614EC

***** TRY
|
00561403   64FF30                 push    dword ptr fs:[eax]
00561406   648920                 mov     fs:[eax], esp
00561409   8B45FC                 mov     eax, [ebp-$04]
0056140C   8B8000030000           mov     eax, [eax+$0300]
00561412   8B802C020000           mov     eax, [eax+$022C]
00561418   8945F8                 mov     [ebp-$08], eax
0056141B   8B4DF8                 mov     ecx, [ebp-$08]
0056141E   33D2                   xor     edx, edx
00561420   8B45FC                 mov     eax, [ebp-$04]
00561423   8B8000030000           mov     eax, [eax+$0300]

* Reference to: Grids.TStringGrid.GetObjects(TStringGrid;Integer;Integer):TObject;
|           or: QGrids.TStringGrid.GetObjects(TStringGrid;System.Integer;System.Integer):System.TObject;
|
00561429   E80E5AFBFF             call    00516E3C
0056142E   8945F4                 mov     [ebp-$0C], eax
00561431   837DF400               cmp     dword ptr [ebp-$0C], +$00
00561435   0F8486000000           jz      005614C1
0056143B   8D45EC                 lea     eax, [ebp-$14]
0056143E   8B55F4                 mov     edx, [ebp-$0C]

* Reference to: System.@LStrFromString(String;String;ShortString;ShortString);
|           or: System.@WStrFromString(WideString;WideString;ShortString;ShortString);
|
00561441   E83E3EEAFF             call    00405284
00561446   8B55EC                 mov     edx, [ebp-$14]
00561449   8B45FC                 mov     eax, [ebp-$04]
0056144C   8B8014030000           mov     eax, [eax+$0314]

* Reference to: Controls.TControl.SetText(TControl;TCaption);
|
00561452   E8217CF0FF             call    00469078
00561457   8B45F4                 mov     eax, [ebp-$0C]
0056145A   8B501C                 mov     edx, [eax+$1C]
0056145D   8B45FC                 mov     eax, [ebp-$04]
00561460   8B8018030000           mov     eax, [eax+$0318]

* Reference to : TTimerSpeedButton._PROC_0051A218()
|
00561466   E8AD8DFBFF             call    0051A218
0056146B   8D45E8                 lea     eax, [ebp-$18]
0056146E   50                     push    eax
0056146F   8B4DF8                 mov     ecx, [ebp-$08]
00561472   BA02000000             mov     edx, $00000002
00561477   8B45FC                 mov     eax, [ebp-$04]
0056147A   8B8000030000           mov     eax, [eax+$0300]

* Reference to: Grids.TStringGrid.GetCells(TStringGrid;Integer;Integer):AnsiString;
|
00561480   E87359FBFF             call    00516DF8
00561485   8B55E8                 mov     edx, [ebp-$18]
00561488   8B45FC                 mov     eax, [ebp-$04]
0056148B   8B8028030000           mov     eax, [eax+$0328]

* Reference to: Controls.TControl.SetText(TControl;TCaption);
|
00561491   E8E27BF0FF             call    00469078
00561496   8D45E4                 lea     eax, [ebp-$1C]
00561499   50                     push    eax
0056149A   8B4DF8                 mov     ecx, [ebp-$08]
0056149D   BA03000000             mov     edx, $00000003
005614A2   8B45FC                 mov     eax, [ebp-$04]
005614A5   8B8000030000           mov     eax, [eax+$0300]

* Reference to: Grids.TStringGrid.GetCells(TStringGrid;Integer;Integer):AnsiString;
|
005614AB   E84859FBFF             call    00516DF8
005614B0   8B55E4                 mov     edx, [ebp-$1C]
005614B3   8B45FC                 mov     eax, [ebp-$04]
005614B6   8B8024030000           mov     eax, [eax+$0324]

* Reference to: Controls.TControl.SetText(TControl;TCaption);
|
005614BC   E8B77BF0FF             call    00469078
005614C1   33D2                   xor     edx, edx
005614C3   8B45FC                 mov     eax, [ebp-$04]
005614C6   8B8020030000           mov     eax, [eax+$0320]
005614CC   8B08                   mov     ecx, [eax]
005614CE   FF5164                 call    dword ptr [ecx+$64]
005614D1   33C0                   xor     eax, eax
005614D3   5A                     pop     edx
005614D4   59                     pop     ecx
005614D5   59                     pop     ecx
005614D6   648910                 mov     fs:[eax], edx

****** FINALLY
|
005614D9   68F3145600             push    $005614F3
005614DE   8D45E4                 lea     eax, [ebp-$1C]
005614E1   BA03000000             mov     edx, $00000003

* Reference to: System.@LStrArrayClr(void;void;Integer);
|
005614E6   E8593BEAFF             call    00405044
005614EB   C3                     ret


* Reference to: System.@HandleFinally;
|
005614EC   E98734EAFF             jmp     00404978
005614F1   EBEB                   jmp     005614DE

****** END
|
005614F3   8BE5                   mov     esp, ebp
005614F5   5D                     pop     ebp
005614F6   C3                     ret

*)
end;

procedure TfrmGameCmd.EditUserCmdNameChange(Sender : TObject);
begin
(*
005614F8   55                     push    ebp
005614F9   8BEC                   mov     ebp, esp
005614FB   83C4F8                 add     esp, -$08
005614FE   8955F8                 mov     [ebp-$08], edx
00561501   8945FC                 mov     [ebp-$04], eax
00561504   B201                   mov     dl, $01
00561506   8B45FC                 mov     eax, [ebp-$04]
00561509   8B8020030000           mov     eax, [eax+$0320]
0056150F   8B08                   mov     ecx, [eax]
00561511   FF5164                 call    dword ptr [ecx+$64]
00561514   B201                   mov     dl, $01
00561516   8B45FC                 mov     eax, [ebp-$04]
00561519   8B8034030000           mov     eax, [eax+$0334]
0056151F   8B08                   mov     ecx, [eax]
00561521   FF5164                 call    dword ptr [ecx+$64]
00561524   59                     pop     ecx
00561525   59                     pop     ecx
00561526   5D                     pop     ebp
00561527   C3                     ret

*)
end;

procedure TfrmGameCmd.EditUserCmdPerMissionChange(Sender : TObject);
begin
(*
00561528   55                     push    ebp
00561529   8BEC                   mov     ebp, esp
0056152B   83C4F8                 add     esp, -$08
0056152E   8955F8                 mov     [ebp-$08], edx
00561531   8945FC                 mov     [ebp-$04], eax
00561534   B201                   mov     dl, $01
00561536   8B45FC                 mov     eax, [ebp-$04]
00561539   8B8020030000           mov     eax, [eax+$0320]
0056153F   8B08                   mov     ecx, [eax]
00561541   FF5164                 call    dword ptr [ecx+$64]
00561544   B201                   mov     dl, $01
00561546   8B45FC                 mov     eax, [ebp-$04]
00561549   8B8034030000           mov     eax, [eax+$0334]
0056154F   8B08                   mov     ecx, [eax]
00561551   FF5164                 call    dword ptr [ecx+$64]
00561554   59                     pop     ecx
00561555   59                     pop     ecx
00561556   5D                     pop     ebp
00561557   C3                     ret

*)
end;

procedure TfrmGameCmd.EditUserCmdOKClick(Sender : TObject);
begin
(*
00561558   55                     push    ebp
00561559   8BEC                   mov     ebp, esp
0056155B   81C4E4FEFFFF           add     esp, $FFFFFEE4
00561561   33C9                   xor     ecx, ecx
00561563   894DE4                 mov     [ebp-$1C], ecx
00561566   894DF0                 mov     [ebp-$10], ecx
00561569   8955E8                 mov     [ebp-$18], edx
0056156C   8945FC                 mov     [ebp-$04], eax
0056156F   33C0                   xor     eax, eax
00561571   55                     push    ebp
00561572   685B165600             push    $0056165B

***** TRY
|
00561577   64FF30                 push    dword ptr fs:[eax]
0056157A   648920                 mov     fs:[eax], esp
0056157D   8D55E4                 lea     edx, [ebp-$1C]
00561580   8B45FC                 mov     eax, [ebp-$04]
00561583   8B8014030000           mov     eax, [eax+$0314]

* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
00561589   E8BA7AF0FF             call    00469048
0056158E   8B45E4                 mov     eax, [ebp-$1C]
00561591   8D55F0                 lea     edx, [ebp-$10]

* Reference to: SysUtils.Trim(AnsiString):AnsiString;overload;
|
00561594   E8EF9AEAFF             call    0040B088
00561599   8B45FC                 mov     eax, [ebp-$04]
0056159C   8B8018030000           mov     eax, [eax+$0318]

* Reference to : TTimerSpeedButton._PROC_0051A158()
|
005615A2   E8B18BFBFF             call    0051A158
005615A7   8945EC                 mov     [ebp-$14], eax
005615AA   837DF000               cmp     dword ptr [ebp-$10], +$00
005615AE   752B                   jnz     005615DB
005615B0   6A10                   push    $10

* Possible String Reference to: '提示信息'
|
005615B2   B968165600             mov     ecx, $00561668

* Possible String Reference to: '命令名称不能为空'
|
005615B7   BA74165600             mov     edx, $00561674
005615BC   A1D0B36500             mov     eax, dword ptr [$0065B3D0]
005615C1   8B00                   mov     eax, [eax]

* Reference to: Forms.TApplication.MessageBox(TApplication;PChar;PChar;Longint):Integer;
|
005615C3   E8A47AF2FF             call    0048906C
005615C8   8B45FC                 mov     eax, [ebp-$04]
005615CB   8B8014030000           mov     eax, [eax+$0314]
005615D1   8B10                   mov     edx, [eax]
005615D3   FF92C4000000           call    dword ptr [edx+$00C4]
005615D9   EB62                   jmp     0056163D
005615DB   8B45FC                 mov     eax, [ebp-$04]
005615DE   8B8000030000           mov     eax, [eax+$0300]
005615E4   8B802C020000           mov     eax, [eax+$022C]
005615EA   8945F8                 mov     [ebp-$08], eax
005615ED   8B4DF8                 mov     ecx, [ebp-$08]
005615F0   33D2                   xor     edx, edx
005615F2   8B45FC                 mov     eax, [ebp-$04]
005615F5   8B8000030000           mov     eax, [eax+$0300]

* Reference to: Grids.TStringGrid.GetObjects(TStringGrid;Integer;Integer):TObject;
|           or: QGrids.TStringGrid.GetObjects(TStringGrid;System.Integer;System.Integer):System.TObject;
|
005615FB   E83C58FBFF             call    00516E3C
00561600   8945F4                 mov     [ebp-$0C], eax
00561603   837DF400               cmp     dword ptr [ebp-$0C], +$00
00561607   742C                   jz      00561635
00561609   8D85E4FEFFFF           lea     eax, [ebp+$FFFFFEE4]
0056160F   8B55F0                 mov     edx, [ebp-$10]
00561612   B9FF000000             mov     ecx, $000000FF

* Reference to: System.@LStrToString;
|
00561617   E8A03CEAFF             call    004052BC
0056161C   8D95E4FEFFFF           lea     edx, [ebp+$FFFFFEE4]
00561622   8B45F4                 mov     eax, [ebp-$0C]
00561625   B119                   mov     cl, $19

* Reference to: System.@PStrNCpy(PShortString;PShortString;Byte);
|
00561627   E81822EAFF             call    00403844
0056162C   8B45F4                 mov     eax, [ebp-$0C]
0056162F   8B55EC                 mov     edx, [ebp-$14]
00561632   89501C                 mov     [eax+$1C], edx
00561635   8B45FC                 mov     eax, [ebp-$04]

|
00561638   E82FEDFFFF             call    0056036C
0056163D   33C0                   xor     eax, eax
0056163F   5A                     pop     edx
00561640   59                     pop     ecx
00561641   59                     pop     ecx
00561642   648910                 mov     fs:[eax], edx

****** FINALLY
|

* Possible String Reference to: '嬪]

⌨️ 快捷键说明

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