home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / LordLucifer / win32asm / files / TasmD3DRMdemo.ZIP / include.inc < prev    next >
Encoding:
Text File  |  1999-08-09  |  7.9 KB  |  245 lines

  1. ;###############################################################################
  2. ;#                                  MACROS                                     #
  3. ;###############################################################################
  4. ;===============================================================================
  5. ; pushrtol
  6. ; pushes the arguments of the macro onto the stack right to left
  7. ; uses recursion...
  8. ;-------------------------------------------------------------------------------
  9. pushrtol MACRO v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12
  10.         IFNB <v1>
  11.                 pushrtol <v2>,<v3>,<v4>,<v5>,<v6>,<v7>,<v8>,<v9>,<v10>,<v11>,<v12>
  12.                 push v1
  13.         ENDIF
  14. ENDM
  15. ;================================================================================
  16. ; mcall
  17. ; used to call the DirectDraw methods. Pointer to object first, then offset into
  18. ; method table, then parameters.... e.g.
  19. ;               mcall [lpDD], DDSETCOOPERATIVELEVEL, [hWnd], DDSCL_NORMAL
  20. ;-------------------------------------------------------------------------------
  21. mcall MACRO ObjectPtr, MethodName, v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12
  22.         pushrtol <v1>,<v2>,<v3>,<v4>,<v5>,<v6>,<v7>,<v8>,<v9>,<v10>,<v11>,<v12>
  23.         mov eax, ObjectPtr
  24.         push eax
  25.         mov eax, [eax]
  26.         call DWORD PTR [eax+MethodName]
  27. ENDM
  28. ;================================================================================
  29. ; return0
  30. ; used to return to windows whit false
  31. ;-------------------------------------------------------------------------------
  32. return0 MACRO
  33.         xor eax, eax
  34.         ret
  35. ENDM
  36. ;================================================================================
  37. ; return1
  38. ; used to return to windows whit true
  39. ;-------------------------------------------------------------------------------
  40. return1 MACRO
  41.         xor eax, eax
  42.         inc eax
  43.         ret
  44. ENDM
  45.  
  46. ;╒══════════════════════════════════════════════════════════════════════════╕
  47. ;│          S T A N D A R D    E Q U A T E S    A N D    D E F S        │
  48. ;╘══════════════════════════════════════════════════════════════════════════╛
  49. NULL        equ 0h
  50. FALSE       equ 0h
  51. TRUE        equ 1h
  52.  
  53. BOOL        TYPEDEF SDWORD
  54.  
  55.  
  56. ;╒══════════════════════════════════════════════════════════════════════════╕
  57. ;│                           PROTOTYPES ...
  58. ;└──────────────────────────────────────────────────────────────────────────┘
  59.  
  60. MessageBoxA         PROCDESC    STDCALL :DWORD, :DWORD, :DWORD, :DWORD
  61. WaitMessage         PROCDESC    STDCALL
  62. RtlZeroMemory       PROCDESC    STDCALL :DWORD, :DWORD
  63. LoadCursorA         PROCDESC    STDCALL :DWORD, :DWORD
  64. LoadIconA           PROCDESC    STDCALL :DWORD, :DWORD
  65. GetStockObject      PROCDESC    STDCALL :SDWORD             ;used to get a brush
  66. RegisterClassA      PROCDESC    STDCALL :DWORD
  67. CreateWindowExA     PROCDESC    STDCALL :DWORD, :DWORD, :DWORD, :DWORD, :SDWORD,:SDWORD, :SDWORD, :SDWORD, :DWORD, :DWORD, :DWORD, :DWORD
  68. GetCommandLineA     PROCDESC    STDCALL
  69. GetModuleHandleA    PROCDESC    STDCALL :DWORD
  70. ExitProcess         PROCDESC    STDCALL :DWORD
  71. ShowWindow          PROCDESC    STDCALL :DWORD, :SDWORD
  72. UpdateWindow        PROCDESC    STDCALL :DWORD
  73. SetFocus            PROCDESC    STDCALL :DWORD
  74. ShowCursor          PROCDESC    STDCALL :DWORD
  75. PeekMessageA        PROCDESC    STDCALL :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
  76. GetMessageA         PROCDESC    STDCALL :DWORD, :DWORD, :DWORD, :DWORD
  77. TranslateMessage    PROCDESC    STDCALL :DWORD
  78. DispatchMessageA    PROCDESC    STDCALL :DWORD
  79. ExitProcess         PROCDESC    STDCALL :DWORD
  80. PostMessageA        PROCDESC    STDCALL :DWORD, :DWORD, :DWORD, :DWORD
  81. DefWindowProcA      PROCDESC    STDCALL :DWORD, :DWORD, :DWORD, :DWORD
  82. BeginPaint          PROCDESC    STDCALL :DWORD,  :DWORD
  83. EndPaint            PROCDESC    STDCALL :DWORD,  :DWORD
  84. PostQuitMessage     PROCDESC    STDCALL :SWORD
  85. ExitProcess         PROCDESC    STDCALL :DWORD
  86.  
  87.  
  88. GUID STRUCT
  89.     Data1   dd ?
  90.     Data2   dw ?
  91.     Data3   dw ?
  92.     Data4   db ?
  93.     Data5   db ?
  94.     Data6   db ?
  95.     Data7   db ?
  96.     Data8   db ?
  97.     Data9   db ?
  98.     Data10  db ?
  99.     Data11  db ?
  100. GUID ENDS
  101.  
  102.  
  103. UCHAR   EQU <db>
  104. USHORT  EQU <dw>  ; used only if we really need 16 bits
  105. UINT    EQU <dd>  ; 32 bits for WIN32
  106. ULONG   EQU <dd>
  107.  
  108.  
  109. RECT    struc
  110.      Left          UINT ?
  111.      Top           UINT ?
  112.      Right         UINT ?
  113.      Bottom        UINT ?
  114. RECT    ends
  115.  
  116. WNDCLASS struc
  117.   style          UINT  ? ; class style
  118.   lpfnWndProc    ULONG ?
  119.   cbClsExtra     UINT  ?
  120.   cbWndExtra     UINT  ?
  121.   hInstance      UINT  ? ; instance handle
  122.   hIcon          UINT  ? ; class icon handle
  123.   hCursor        UINT  ? ; class cursor handle
  124.   hbrBackground  UINT  ? ; class background brush
  125.   lpszMenuName   ULONG ? ; menu name
  126.   lpszClassName  ULONG ? ; far ptr to class name
  127. WNDCLASS ends
  128.  
  129. MSGSTRUCT struc
  130.    msg_HWND          UINT    ?
  131.    msg_MESSAGE       UINT    ?
  132.    msg_wParam        UINT    ?
  133.    msg_lParam        ULONG   ?
  134.    msg_TIME          ULONG   ?
  135.    msg_PT            ULONG   ?
  136. MSGSTRUCT ends
  137.  
  138. PAINTSTRUCT STRUC
  139.     hdc         UINT             ?
  140.     fErase      UINT             ?
  141.     rcPaint     UCHAR            size RECT dup(?)
  142.     fRestore    UINT             ?
  143.     fIncUpdate  UINT             ?
  144.     rgbReserved UCHAR            32 dup(?)
  145. PAINTSTRUCT ENDS
  146.  
  147.  
  148.  
  149.  
  150.  
  151. CW_USEDEFAULT   equ 80000000h
  152. WS_EX_TOPMOST   equ 8h
  153. IDC_ARROW       equ 32512
  154. IDI_APPLICATION equ 32512
  155. CS_DBLCLKS      equ 8h
  156. VK_ESCAPE       equ 1Bh
  157. WM_KEYDOWN      equ 0100h
  158. WM_CREATE       equ 0001h
  159. WM_DESTROY      equ 0002h
  160. WM_SIZE         equ 0005h
  161. WM_SETTEXT      equ 000Ch
  162. WM_PAINT        equ 000Fh
  163. WM_CLOSE        equ 0010h
  164. WM_ERASEBKGND       equ 0014h
  165. WM_NOTIFY       equ 004Eh
  166. WM_HELP         equ 0053h
  167. WM_CHAR         equ 0102h
  168. WM_INITDIALOG       equ 0110h
  169. WM_COMMAND      equ 0111h
  170. WM_TIMER        equ 0113h
  171. WM_HSCROLL      equ 0114h
  172. WM_VSCROLL      equ 0115h
  173. WM_MENUSELECT       equ 011Fh
  174. WM_CTLCOLORDLG      equ 0136h
  175. WM_MOUSEMOVE        equ 0200h
  176. WM_LBUTTONDOWN      equ 0201h
  177. WM_LBUTTONUP        equ 0202h
  178. WM_LBUTTONDBLCLK    equ 0203h
  179. WM_RBUTTONDOWN      equ 0204h
  180. WM_RBUTTONUP        equ 0205h
  181. WM_RBUTTONDBLCLK    equ 0206h
  182. WM_CUT          equ 0300h
  183. WM_COPY         equ 0301h
  184. WM_PASTE        equ 0302h
  185. WM_CLEAR        equ 0303h
  186. WM_UNDO         equ 0304h
  187. WM_USER         equ 0400h
  188.  
  189. WS_POPUP        equ 080000000h
  190. WS_CHILD        equ 040000000h
  191. WS_MINIMIZE     equ 020000000h
  192. WS_VISIBLE      equ 010000000h
  193. WS_MAXIMIZE     equ 001000000h
  194. WS_CAPTION      equ 000C00000h
  195. WS_BORDER       equ 000800000h
  196. WS_DLGFRAME     equ 000400000h
  197. WS_VSCROLL      equ 000200000h
  198. WS_HSCROLL      equ 000100000h
  199. WS_SYSMENU      equ 000080000h
  200. WS_SIZEBOX      equ 000040000h
  201. WS_MINIMIZEBOX      equ 000020000h
  202. WS_MAXIMIZEBOX      equ 000010000h
  203. WS_OVERLAPPEDWINDOW equ 000CF0000h
  204. WS_EX_NOPARENTNOTIFY    equ 000000004h
  205. WS_EX_WINDOWEDGE    equ 000000100h
  206. WS_EX_CLIENTEDGE    equ 000000200h
  207. WS_EX_OVERLAPPEDWINDOW  equ WS_EX_WINDOWEDGE + WS_EX_CLIENTEDGE
  208.  
  209. CS_VREDRAW      equ 00001h
  210. CS_HREDRAW      equ 00002h
  211. CS_PARENTDC     equ 00080h
  212. CS_BYTEALIGNWINDOW  equ 02000h
  213.  
  214. PM_NOREMOVE     equ 00h
  215. PM_REMOVE       equ 01h
  216. PM_NOYIELD      equ 02h
  217.  
  218. SWP_NOSIZE      equ 001h
  219. SWP_NOMOVE      equ 002h
  220. SWP_NOZORDER        equ 004h
  221. SWP_FRAMECHANGED    equ 020h
  222. SWP_DRAWFRAME       equ SWP_FRAMECHANGED
  223. HWND_TOP        equ 000h
  224.  
  225. WHITE_BRUSH     equ 00h
  226. LTGRAY_BRUSH        equ 01h
  227. GRAY_BRUSH      equ 02h
  228. DKGRAY_BRUSH        equ 03h
  229. BLACK_BRUSH     equ 04h
  230.  
  231. SW_HIDE         equ 00h
  232. SW_SHOWNORMAL       equ 01h
  233. SW_SHOWMINIMIZED    equ 02h
  234. SW_SHOWMAXIMIZED    equ 03h
  235. SW_SHOW         equ 05h
  236. SW_RESTORE      equ 09h
  237. SW_SHOWDEFAULT      equ 0Ah
  238. MB_OK                   = 0
  239.  
  240.  
  241. ;┌──────────────────────────────────────────────────────────────────────────┐
  242. ;│                       END OF THE WINDOWS.INC FILE                │
  243. ;╘══════════════════════════════════════════════════════════════════════════╛
  244. ;END OF FILE
  245.