raSystem  1.0 bata
raMain.h
Go to the documentation of this file.
1 /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2  Philipp " phil175 " Schröck
3  raSystem eine Grafik Engine mit DirectX 11 , FMOD
4  Diese Engine steht unter der EUPL
5 
6 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
7 
8 #ifdef RASYSTEM_EXPORT
9 #define RAPI __declspec(dllexport)
10 #else
11 #define RAPI __declspec(dllimport)
12 #endif
13 
14 #ifndef WINVER
15 #define WINVER 0x0700
16 #endif
17 
18 #ifndef _WIN32_WINNT
19 #define _WIN32_WINNT 0x0700
20 #endif
21 
22 #define _CRT_SECURE_NO_WARNINGS
23 #define _WIN32_DCOM
24 
25 #ifndef WIN32_LEAN_AND_MEAN
26 #define WIN32_LEAN_AND_MEAN
27 #endif
28 
29 #pragma warning (disable:4018)
30 #pragma warning (disable:4251)
31 #pragma warning (disable:4244)
32 #pragma warning (disable:4793)
33 #pragma warning (disable:4835)
34 
35 #define RASYSTEMVERSION 10805 // VV.RR.PP
36 #define RASYSTEMVERSIONSTRING "01.0805"
37 
38 #include <windows.h>
39 #include <Windowsx.h>
40 #include <D3D11.h>
41 #include <d3dCompiler.h>
42 #include <d3dx11.h>
43 #include <d3dx10math.h>
44 #include <DXErr.h>
45 #include <DXGI.h>
46 #include <DXFile.h>
47 #include <rmxfguid.h>
48 #include <shellapi.h>
49 #include "..\3rd-path\D3Dx11EffectFramework\d3dx11effect.h"
50 #include <DXFile.h>
51 #include <Commctrl.h>
52 
53 #include <d3dx9xof.h>
54 #include <d3dx9mesh.h>
55 #include <rmxfguid.h>
56 
57 #include <d2d1.h>
58 #include <d2d1helper.h>
59 #include <dwrite.h>
60 #include <wincodec.h>
61 
62 #include <winsock2.h>
63 #include <ws2tcpip.h>
64 #include <Mmsystem.h>
65 
66 #ifndef WIN64
67 #define RADLL (GetModuleHandle("raSystem.dll"))
68 #else
69 #define RADLL (GetModuleHandle("raSystemx64.dll"))
70 #endif
71 
72 #define RASIZE_HACK(x, y) {if (((x) <= 0) && ( (y) <= 0)) return 0; }
73 #define RA_IFAKTIVE return raIsAktive()
74 #define RARENDER_HACK { if(raIsAktive() == false) return; }
75 #define RAMAX_DRAWODER 6
76 
77 #include <stdio.h>
78 #include <stdlib.h>
79 #include <string.h>
80 #include <string>
81 #include <vector>
82 #include <map>
83 #include <math.h>
84 #include <time.h>
85 #include <Sys\\Stat.h>
86 #include <stdarg.h>
87 #include <iostream>
88 #include <fstream>
89 #include <cstdio>
90 #include <conio.h>
91 #include <ctype.h>
92 #include <direct.h>
93 #include <io.h>
94 #include <fcntl.h>
95 #include <assert.h>
96 #include <list>
97 #include <usp10.h>
98 #include <dimm.h>
99 #include <sstream>
100 #include <limits.h>
101 #include <ppl.h>
102 
103 #include <omp.h>
104 //#include <Ws2tcpip.h>
105 
106 typedef float raFloat;
107 typedef std::string raString;
108 typedef int raInt;
109 
110 void RAPI RWRITE(raString x);
111 void RAPI ROK(raString x);
112 void RAPI RINFO(raString x);
113 void RAPI RWARNING(raString x);
114 void RAPI RERROR(raString x);
117 void RAPI RERROR_OUTOFMEM();
118 void RAPI RERROR_FILE(raString f);
119 void RAPI RERROR_DX11(raString x, HRESULT h);
120 void RAPI RERROR_INPUT(raString x, HRESULT h);
121 //void RAPI RERROR_FMOD(FMOD_RESULT fr);
122 
123 #define SAFE_DELETE(x) {if((x)) {delete (x); (x) = NULL;}} // Sicheres Löschen
124 #define SAFE_DELETE_ARRAY(x) {if((x)) {delete[] (x); (x) = NULL;}} // Sicheres Löschen eines Arrays
125 #define SAFE_RELEASE(x) {if((x)) {(x)->Release(); (x) = NULL;}} // Sicheres Releasen eines COM-Objekts
126 #define SAFE_MEMFREE(x) {if((x)) {free((x)); (x) = NULL;}} // Sicheres Freigeben von Speicher
127 #define RAMIN(a, b) ((a) < (b) ? (a) : (b)) // Minimum
128 #define RAMAX(a, b) ((a) > (b) ? (a) : (b)) // Maximum
129 #define PI (3.1415926535897932384626433832795f) // Pi
130 #define DEG2RAD(x) ((x) * 0.0174532925199432957692369076848f) // Grad -> Bogenmaß#define RAD2DEG(x) ((x) * 57.295779513082320876798154814105f) // Bogenmaß -> Grad #define COLOR_XRGB(r, g, b) System::raColor(r, g, b) #define COLOR_RGB(r, g, b) COLOR_XRGB(r, g, b) #define COLOR_ARGB(a, r, g, b) System::raColor(r, g, b, a) #define VECTOR2_2F(x, y) System::raVector2(x, y) #define VECTOR2_1F(f) System::raVector2(f) #define VECTOR3_3F(x, y, z) System::raVector3(x,y,z) #define VECTOR3_1F(f) System::raVector3(f) #define VECTOR4_4F(x,y,z,w) System::raVector4(x,y,z,w) #define VECTOR4_1F(f) System::raVector4(f) #define RM_CREATED WM_USER+3 #define RM_ENTERLOOP WM_USER+4 #define RM_EXITLOOP WM_USER+5 #define RM_ERRORLOOP WM_USER+6 #define RM_CONSOLE WM_USER+7 namespace System { struct RAANIMATION_FRAME_DATA; }; typedef void* raHandle; typedef std::map<LPCSTR, System::RAANIMATION_FRAME_DATA*> raFrameMap; namespace System { #include "raProperties.h" #include "IRAUnknown.h" #include "raSmartPointer.h" #include "IRASection.h" #include "raCriticalSection.h" #include "raMap.h" #include "IRASingleton.h" #include "IConfigFile.h" #include "raArray.h" #include "raIni.h" #include "IRADelegate.h" #include "raEvent.h" #include "raThread.h" #include "raInputMap.h" #include "raVector2.h" #include "raVector3.h" #include "raVector4.h" #include "raColor.h" #include "raMatrix.h" #include "raLight.h" #include "raPlane.h" #include "raRECT.h" #include "raTimer.h" #include "raQuaternion.h" #include "raConfigLoader.h" #include "raList.h" #include "raLog.h" #include "raVectexType.h" #include "raGrafikDriver.h" #include "raDirectX.h" #include "raResource.h" #include "raSDKmesh.h" #include "raMaterial.h" #include "raProceduralMaterial.h" #include "raUtility.h" #include "IRAMesh.h" #include "IRAImage.h" #include "raIBMP.h" #include "raISGI.h" #include "raPostID.h" #include "raSocket.h" #include "raClient.h" #include "raServer.h" #include "raRender.h" #include "raVisual.h" #include "raNode.h" #include "raCamera.h" #include "raOrthoCamera.h" #include "raSceneManager.h" #include "raTexturedMaterial.h" #include "raAnimation.h" #include "raAnimated.h" #include "raPhysik.h" #include "raCollide.h" #include "raEntity.h" #include "raModel.h" #include "raEntitySDKMesh.h" #include "raGSEntity.h" #include "raOctree.h" #include "raBasics.h" #include "raBillboard.h" #include "raHoehenfeld.h" #include "raSkyBox.h" #include "raSkyDome.h" #include "raParticleSystem.h" #include "raRenderScreen.h" #include "raRTTMaterial.h" #include "raCMaterial.h" #include "raMinimap.h" #include "raComputeShaderObject.h" #include "raCSRessource.h" #include "raCSIOBuffer.h" #include "raGPUParticleSystem.h" #include "raRFMaterial.h" #include "raGPUHeightmap.h" #include "raTesselatinObject.h" #include "raRain.h" #include "raFractal.h" #include "raTree.h" #include "raWater.h" #include "raGroupe.h" #include "raGame.h" #include "raGameCharakter.h" #include "raLocation.h" #include "IRARawDevice.h" #include "raInput.h" #include "raRawKeyboard.h" #include "raThreadManager.h" extern raString RASYSTEMPATH; }
131 #define RAD2DEG(x) ((x) * 57.295779513082320876798154814105f) // Bogenmaß -> Grad
132 
133 #define COLOR_XRGB(r, g, b) System::raColor(r, g, b)
134 #define COLOR_RGB(r, g, b) COLOR_XRGB(r, g, b)
135 #define COLOR_ARGB(a, r, g, b) System::raColor(r, g, b, a)
136 
137 #define VECTOR2_2F(x, y) System::raVector2(x, y)
138 #define VECTOR2_1F(f) System::raVector2(f)
139 
140 #define VECTOR3_3F(x, y, z) System::raVector3(x,y,z)
141 #define VECTOR3_1F(f) System::raVector3(f)
142 
143 #define VECTOR4_4F(x,y,z,w) System::raVector4(x,y,z,w)
144 #define VECTOR4_1F(f) System::raVector4(f)
145 
146 #define RM_CREATED WM_USER+3
147 #define RM_ENTERLOOP WM_USER+4
148 #define RM_EXITLOOP WM_USER+5
149 #define RM_ERRORLOOP WM_USER+6
150 #define RM_CONSOLE WM_USER+7
151 
152 namespace System
153 {
154  struct RAANIMATION_FRAME_DATA;
155 };
156 typedef void* raHandle;
157 typedef std::map<LPCSTR, System::RAANIMATION_FRAME_DATA*> raFrameMap;
158 
159 namespace System
160 {
161  #include "raProperties.h"
162  #include "IRAUnknown.h"
163  #include "raSmartPointer.h"
164  #include "IRASection.h"
165  #include "raCriticalSection.h"
166  #include "raMap.h"
167  #include "IRASingleton.h"
168  #include "IConfigFile.h"
169  #include "raArray.h"
170  #include "raIni.h"
171  #include "IRADelegate.h"
172  #include "raEvent.h"
173  #include "raThread.h"
174  #include "raInputMap.h"
175  #include "raVector2.h"
176  #include "raVector3.h"
177  #include "raVector4.h"
178  #include "raColor.h"
179  #include "raMatrix.h"
180  #include "raLight.h"
181  #include "raPlane.h"
182  #include "raRECT.h"
183  #include "raTimer.h"
184  #include "raQuaternion.h"
185  #include "raConfigLoader.h"
186  #include "raList.h"
187  #include "raLog.h"
188  #include "raVectexType.h"
189  #include "raGrafikDriver.h"
190  #include "raDirectX.h"
191  #include "raResource.h"
192  #include "raSDKmesh.h"
193  #include "raMaterial.h"
194  #include "raProceduralMaterial.h"
195  #include "raUtility.h"
196  #include "IRAMesh.h"
197  #include "IRAImage.h"
198  #include "raIBMP.h"
199  #include "raISGI.h"
200  #include "raPostID.h"
201  #include "raSocket.h"
202  #include "raClient.h"
203  #include "raServer.h"
204  #include "raRender.h"
205  #include "raVisual.h"
206  #include "raNode.h"
207  #include "raCamera.h"
208  #include "raOrthoCamera.h"
209  #include "raSceneManager.h"
210  #include "raTexturedMaterial.h"
211  #include "raAnimation.h"
212  #include "raAnimated.h"
213  #include "raPhysik.h"
214  #include "raCollide.h"
215  #include "raEntity.h"
216  #include "raModel.h"
217  #include "raEntitySDKMesh.h"
218  #include "raGSEntity.h"
219  #include "raOctree.h"
220  #include "raBasics.h"
221  #include "raBillboard.h"
222  #include "raHoehenfeld.h"
223  #include "raSkyBox.h"
224  #include "raSkyDome.h"
225  #include "raParticleSystem.h"
226  #include "raRenderScreen.h"
227  #include "raRTTMaterial.h"
228  #include "raCMaterial.h"
229  #include "raMinimap.h"
230  #include "raComputeShaderObject.h"
231  #include "raCSRessource.h"
232  #include "raCSIOBuffer.h"
233  #include "raGPUParticleSystem.h"
234  #include "raRFMaterial.h"
235  #include "raGPUHeightmap.h"
236  #include "raTesselatinObject.h"
237  #include "raRain.h"
238  #include "raFractal.h"
239  #include "raTree.h"
240  #include "raWater.h"
241  #include "raGroupe.h"
242  #include "raGame.h"
243  #include "raGameCharakter.h"
244  #include "raLocation.h"
245  #include "IRARawDevice.h"
246  #include "raInput.h"
247  #include "raRawKeyboard.h"
248  #include "raThreadManager.h"
249 
250  extern raString RASYSTEMPATH;
251 }
void * raHandle
Definition: raMain.h:155
#define RAPI
Definition: raMain.h:11
void RAPI RERROR_DX11(raString x, HRESULT h)
Definition: raMain.cpp:156
float raFloat
Definition: raMain.h:106
std::map< LPCSTR, System::RAANIMATION_FRAME_DATA * > raFrameMap
Definition: raMain.h:157
void RAPI RERROR_FILE(raString f)
Definition: raMain.cpp:149
void RAPI RERROR_INVALIDVALUE(raString x)
Definition: raMain.cpp:139
void RAPI RERROR_NULLPOINTER(raString x)
Definition: raMain.cpp:134
std::string raString
Definition: raMain.h:107
void RAPI ROK(raString x)
Definition: raMain.cpp:114
void RAPI RERROR_INPUT(raString x, HRESULT h)
Definition: raMain.cpp:161
void RAPI RWRITE(raString x)
Definition: raMain.cpp:109
int raInt
Definition: raMain.h:108
void RAPI RINFO(raString x)
Definition: raMain.cpp:119
void RAPI RERROR_OUTOFMEM()
Definition: raMain.cpp:144
void RAPI RWARNING(raString x)
Definition: raMain.cpp:124
void RAPI RERROR(raString x)
Definition: raMain.cpp:129