the old-new win32 port
[picodrive.git] / platform / win32 / GenaDrive / app.h
1 \r
2 #include <stdio.h>\r
3 \r
4 #define WIN32_LEAN_AND_MEAN\r
5 #include <windows.h>\r
6 #include <d3d8.h>\r
7 \r
8 #include <d3dx8.h>\r
9 \r
10 #include <pico/pico.h>\r
11 \r
12 #define RELEASE(x) if (x) x->Release();  x=NULL;\r
13 \r
14 #ifndef __FUNCTION__\r
15 #define __FUNCTION__ ""\r
16 #endif\r
17 \r
18 #define LOGFAIL() lprintf("fail: %s %s:%i\n", __FUNCTION__, __FILE__, __LINE__)\r
19 \r
20 \r
21 // Emu.cpp\r
22 extern unsigned short *EmuScreen;\r
23 extern int EmuWidth,EmuHeight;\r
24 extern RECT EmuScreenRect;\r
25 extern int PicoPadAdd;\r
26 int EmuInit();\r
27 void EmuExit();\r
28 int EmuRomLoad(char *name);\r
29 int EmuFrame();\r
30 \r
31 // Input.cpp\r
32 struct Input\r
33 {\r
34   short axis[4];\r
35   unsigned char button[16];\r
36   unsigned char held[16]; // How long has the button been held\r
37   char repeat[16]; // Auto-repeat\r
38 };\r
39 extern struct Input Inp;\r
40 int InputInit();\r
41 void InputExit();\r
42 int InputUpdate();\r
43 int InputLightCal(int cx,int cy,int ux,int uy);\r
44 \r
45 // Loop.cpp\r
46 extern char LoopQuit,LoopWait,LoopWaiting;\r
47 extern int LoopMode;\r
48 \r
49 int LoopInit();\r
50 void LoopExit();\r
51 int LoopCode();\r
52 //extern "C" int dprintf(char *format, ...);\r
53 extern "C" int lprintf(char *format, ...);\r
54 \r
55 // Main.cpp\r
56 extern char *romname;\r
57 extern HWND FrameWnd;\r
58 extern RECT FrameRectMy;\r
59 extern int MainWidth,MainHeight;\r
60 extern int lock_to_1_1;\r
61 extern void error(char *text);\r
62 \r
63 // --------------------------------------------\r
64 // Direct.cpp\r
65 extern IDirect3DDevice8 *Device;\r
66 extern IDirect3DSurface8 *DirectBack; // Back Buffer\r
67 int DirectInit();\r
68 int DirectClear(unsigned int colour);\r
69 int DirectScreen();\r
70 int DirectPresent();\r
71 void DirectExit();\r
72 \r
73 // DSound.cpp:\r
74 int DSoundInit();\r
75 void DSoundExit();\r
76 int DSoundUpdate();\r
77 extern short *DSoundNext; // Buffer for next sound data to put in loop\r
78 \r
79 // TexScreen.cpp\r
80 extern IDirect3DTexture8 *TexScreen;\r
81 extern int TexWidth,TexHeight;\r
82 int TexScreenInit();\r
83 void TexScreenExit();\r
84 int TexScreenSwizzle();\r
85 int TexScreenLinear();\r