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