experimental ddraw code
[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 #define LOGFAIL() dprintf2("fail: %s %s:%i\n", __FUNCTION__, __FILE__, __LINE__)\r
17 \r
18 \r
19 // Emu.cpp\r
20 extern unsigned short *EmuScreen;\r
21 extern int EmuWidth,EmuHeight;\r
22 int EmuInit();\r
23 void EmuExit();\r
24 int EmuRomLoad(char *name);\r
25 int EmuFrame();\r
26 \r
27 // Input.cpp\r
28 struct Input\r
29 {\r
30   short axis[4];\r
31   unsigned char button[16];\r
32   unsigned char held[16]; // How long has the button been held\r
33   char repeat[16]; // Auto-repeat\r
34 };\r
35 extern struct Input Inp;\r
36 int InputInit();\r
37 void InputExit();\r
38 int InputUpdate();\r
39 int InputLightCal(int cx,int cy,int ux,int uy);\r
40 \r
41 // LightCal.cpp\r
42 int LightCalReset();\r
43 int LightCalUpdate();\r
44 int LightCalRender();\r
45 \r
46 // Loop.cpp\r
47 extern char LoopQuit;\r
48 extern int LoopMode;\r
49 \r
50 int LoopInit();\r
51 void LoopExit();\r
52 int LoopCode();\r
53 //extern "C" int dprintf(char *format, ...);\r
54 extern "C" int dprintf2(char *format, ...);\r
55 \r
56 // Main.cpp\r
57 extern char *romname;\r
58 extern HWND FrameWnd;\r
59 extern int MainWidth,MainHeight;\r
60 extern void error(char *text);\r
61 \r
62 // Rom.cpp\r
63 extern unsigned char *RomData;\r
64 extern int RomLen;\r
65 extern char RomName[260];\r
66 int RomLoad();\r
67 void RomFree();\r
68 \r
69 // --------------------------------------------\r
70 // Direct.cpp\r
71 extern IDirect3DDevice8 *Device;\r
72 extern IDirect3DSurface8 *DirectBack; // Back Buffer\r
73 int DirectInit();\r
74 int DirectClear(unsigned int colour);\r
75 int DirectScreen();\r
76 int DirectPresent();\r
77 void DirectExit();\r
78 \r
79 // DSound.cpp:\r
80 int DSoundInit();\r
81 void DSoundExit();\r
82 int DSoundUpdate();\r
83 extern short *DSoundNext; // Buffer for next sound data to put in loop\r
84 //extern int DSoundSeg; // Seg length in samples\r
85 void DSoundMute();\r
86 void DSoundUnMute();\r
87 \r
88 // Font.cpp\r
89 int FontInit();\r
90 void FontExit();\r
91 int FontSetColour(unsigned int colour);\r
92 int FontText(WCHAR *,int,int);\r
93 \r
94 // TexScreen.cpp\r
95 extern IDirect3DTexture8 *TexScreen;\r
96 extern int TexWidth,TexHeight;\r
97 int TexScreenInit();\r
98 void TexScreenExit();\r
99 int TexScreenSwizzle();\r
100 int TexScreenLinear();\r