win32 stuff, SIMPLE_WRITE_SOUND
[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() dprintf2("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 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 // LightCal.cpp\r
46 int LightCalReset();\r
47 int LightCalUpdate();\r
48 int LightCalRender();\r
49 \r
50 // Loop.cpp\r
51 extern char LoopQuit;\r
52 extern int LoopMode;\r
53 \r
54 int LoopInit();\r
55 void LoopExit();\r
56 int LoopCode();\r
57 //extern "C" int dprintf(char *format, ...);\r
58 extern "C" int dprintf2(char *format, ...);\r
59 \r
60 // Main.cpp\r
61 extern char *romname;\r
62 extern HWND FrameWnd;\r
63 extern RECT FrameRectMy;\r
64 extern int MainWidth,MainHeight;\r
65 extern void error(char *text);\r
66 \r
67 // Rom.cpp\r
68 extern unsigned char *RomData;\r
69 extern int RomLen;\r
70 extern char RomName[260];\r
71 int RomLoad();\r
72 void RomFree();\r
73 \r
74 // --------------------------------------------\r
75 // Direct.cpp\r
76 extern IDirect3DDevice8 *Device;\r
77 extern IDirect3DSurface8 *DirectBack; // Back Buffer\r
78 int DirectInit();\r
79 int DirectClear(unsigned int colour);\r
80 int DirectScreen();\r
81 int DirectPresent();\r
82 void DirectExit();\r
83 \r
84 // DSound.cpp:\r
85 int DSoundInit();\r
86 void DSoundExit();\r
87 int DSoundUpdate();\r
88 extern short *DSoundNext; // Buffer for next sound data to put in loop\r
89 //extern int DSoundSeg; // Seg length in samples\r
90 void DSoundMute();\r
91 void DSoundUnMute();\r
92 \r
93 // Font.cpp\r
94 int FontInit();\r
95 void FontExit();\r
96 int FontSetColour(unsigned int colour);\r
97 int FontText(WCHAR *,int,int);\r
98 \r
99 // TexScreen.cpp\r
100 extern IDirect3DTexture8 *TexScreen;\r
101 extern int TexWidth,TexHeight;\r
102 int TexScreenInit();\r
103 void TexScreenExit();\r
104 int TexScreenSwizzle();\r
105 int TexScreenLinear();\r