RuntimeLib: Disable debug checks if not compiled for debug

You need to make sure that all your calls are valid now.
This commit is contained in:
Michael Fabian Dirks
2017-04-09 05:40:31 +02:00
parent 6980081f57
commit 4ce6f52085
2 changed files with 1312 additions and 1163 deletions
+184 -107
View File
@@ -10,7 +10,7 @@
#include "../blitz3d/camera.h" #include "../blitz3d/camera.h"
#include "../blitz3d/sprite.h" #include "../blitz3d/sprite.h"
#include "../blitz3d/meshmodel.h" #include "../blitz3d/meshmodel.h"
#include "../blitz3d/loader_x.h" //#include "../blitz3d/loader_x.h"
#include "../blitz3d/loader_3ds.h" #include "../blitz3d/loader_3ds.h"
#include "../blitz3d/loader_b3d.h" #include "../blitz3d/loader_b3d.h"
#include "../blitz3d/md2model.h" #include "../blitz3d/md2model.h"
@@ -37,11 +37,11 @@ static Listener *listener;
static bool stats_mode; static bool stats_mode;
//converts 0...255 color to 0...1 //converts 0...255 color to 0...1
static const float ctof=1.0f/255.0f; static const float s_colorToFloat = 1.0f / 255.0f;
//degrees to radians and back //degrees to radians and back
static const float dtor=0.0174532925199432957692369076848861f; static const float s_degreesToRadians = 0.0174532925199432957692369076848861f;
static const float rtod=1/dtor; static const float s_radiansToDegrees = 1 / s_degreesToRadians;
static Vector projected, tformed; static Vector projected, tformed;
@@ -49,99 +49,171 @@ static ObjCollision picked;
extern float stats3d[10]; extern float stats3d[10];
static Loader_X loader_x; //static Loader_X loader_x;
static Loader_3DS loader_3ds; static Loader_3DS loader_3ds;
static Loader_B3D loader_b3d; static Loader_B3D loader_b3d;
static map<string, Transform> loader_mat_map; static map<string, Transform> loader_mat_map;
static inline void debug3d() { static inline void debug3d() {
#ifdef DEBUG
if (debug && !gx_scene) ThrowRuntimeException("3D Graphics mode not set"); if (debug && !gx_scene) ThrowRuntimeException("3D Graphics mode not set");
#else
return;
#endif
} }
static inline void debugTexture(Texture *t) { static inline void debugTexture(Texture *t) {
#ifdef DEBUG
if (debug && !texture_set.count(t)) ThrowRuntimeException("Texture does not exist"); if (debug && !texture_set.count(t)) ThrowRuntimeException("Texture does not exist");
#else
return;
#endif
} }
static inline void debugBrush(Brush *b) { static inline void debugBrush(Brush *b) {
#ifdef DEBUG
if (debug && !brush_set.count(b)) ThrowRuntimeException("Brush does not exist"); if (debug && !brush_set.count(b)) ThrowRuntimeException("Brush does not exist");
#else
return;
#endif
} }
static inline void debugEntity(Entity *e) { static inline void debugEntity(Entity *e) {
#ifdef DEBUG
if (debug && !entity_set.count(e)) ThrowRuntimeException("Entity does not exist"); if (debug && !entity_set.count(e)) ThrowRuntimeException("Entity does not exist");
#else
return;
#endif
} }
static inline void debugParent(Entity *e) { static inline void debugParent(Entity *e) {
#ifdef DEBUG
if (debug) { if (debug) {
debug3d(); debug3d();
if (e && !entity_set.count(e)) ThrowRuntimeException("Parent entity does not exist"); if (e && !entity_set.count(e)) ThrowRuntimeException("Parent entity does not exist");
} }
#else
return;
#endif
} }
static inline void debugMesh(MeshModel *m) { static inline void debugMesh(MeshModel *m) {
#ifdef DEBUG
if (debug) { if (debug) {
debugEntity(m); if (!m->getMeshModel()) ThrowRuntimeException("Entity is not a mesh"); debugEntity(m); if (!m->getMeshModel()) ThrowRuntimeException("Entity is not a mesh");
} }
#else
return;
#endif
} }
static inline void debugObject(Object *o) { static inline void debugObject(Object *o) {
#ifdef DEBUG
if (debug) { if (debug) {
debugEntity(o); if (!o->getObject()) ThrowRuntimeException("Entity is not an object"); debugEntity(o); if (!o->getObject()) ThrowRuntimeException("Entity is not an object");
} }
#else
return;
#endif
} }
static inline void debugColl(Object *o, int index) { static inline void debugColl(Object *o, int index) {
#ifdef DEBUG
if (debug) { if (debug) {
debugObject(o); debugObject(o);
if (index<1 || index>o->getCollisions().size()) ThrowRuntimeException("Collision index out of range"); if (index<1 || index>o->getCollisions().size()) ThrowRuntimeException("Collision index out of range");
} }
#else
return;
#endif
} }
static inline void debugCamera(Camera *c) { static inline void debugCamera(Camera *c) {
#ifdef DEBUG
if (debug) { if (debug) {
debugEntity(c); if (!c->getCamera()) ThrowRuntimeException("Entity is not a camera"); debugEntity(c); if (!c->getCamera()) ThrowRuntimeException("Entity is not a camera");
} }
#else
return;
#endif
} }
static inline void debugLight(Light *l) { static inline void debugLight(Light *l) {
#ifdef DEBUG
if (debug) { if (debug) {
debugEntity(l); if (!l->getLight()) ThrowRuntimeException("Entity is not a light"); debugEntity(l); if (!l->getLight()) ThrowRuntimeException("Entity is not a light");
} }
#else
return;
#endif
} }
static inline void debugModel(Model *m) { static inline void debugModel(Model *m) {
#ifdef DEBUG
if (debug) { if (debug) {
debugEntity(m); if (!m->getModel()) ThrowRuntimeException("Entity is not a model"); debugEntity(m); if (!m->getModel()) ThrowRuntimeException("Entity is not a model");
} }
#else
return;
#endif
} }
static inline void debugSprite(Sprite *s) { static inline void debugSprite(Sprite *s) {
#ifdef DEBUG
if (debug) { if (debug) {
debugModel(s); if (!s->getSprite()) ThrowRuntimeException("Entity is not a sprite"); debugModel(s); if (!s->getSprite()) ThrowRuntimeException("Entity is not a sprite");
} }
#else
return;
#endif
} }
static inline void debugMD2(MD2Model *m) { static inline void debugMD2(MD2Model *m) {
#ifdef DEBUG
if (debug) { if (debug) {
debugModel(m); if (!m->getMD2Model()) ThrowRuntimeException("Entity is not an MD2 Model"); debugModel(m); if (!m->getMD2Model()) ThrowRuntimeException("Entity is not an MD2 Model");
} }
#else
return;
#endif
} }
static inline void debugBSP(Q3BSPModel *m) { static inline void debugBSP(Q3BSPModel *m) {
#ifdef DEBUG
if (debug) { if (debug) {
debugModel(m); if (!m->getBSPModel()) ThrowRuntimeException("Entity is not a BSP Model"); debugModel(m); if (!m->getBSPModel()) ThrowRuntimeException("Entity is not a BSP Model");
} }
#else
return;
#endif
} }
static inline void debugTerrain(Terrain *t) { static inline void debugTerrain(Terrain *t) {
#ifdef DEBUG
if (debug) { if (debug) {
debugModel(t); if (!t->getTerrain()) ThrowRuntimeException("Entity is not a terrain"); debugModel(t); if (!t->getTerrain()) ThrowRuntimeException("Entity is not a terrain");
} }
#else
return;
#endif
} }
static inline void debugSegs(int n) { static inline void debugSegs(int n) {
#ifdef DEBUG
if (debug) { if (debug) {
debug3d(); debug3d();
if (n < 3 || n>50) ThrowRuntimeException("Illegal number of segments"); if (n < 3 || n>50) ThrowRuntimeException("Illegal number of segments");
} }
#else
return;
#endif
} }
static inline void debugVertex(Surface *s, int n) { static inline void debugVertex(Surface *s, int n) {
#ifdef DEBUG
if (debug) { if (debug) {
debug3d(); debug3d();
if (n < 0 || n >= s->numVertices()) ThrowRuntimeException("Vertex index out of range"); if (n < 0 || n >= s->numVertices()) ThrowRuntimeException("Vertex index out of range");
} }
#else
return;
#endif
} }
static inline void debugVertex(Surface *s, int n, int t) { static inline void debugVertex(Surface *s, int n, int t) {
#ifdef DEBUG
if (debug) { if (debug) {
debug3d(); debug3d();
if (n < 0 || n >= s->numVertices()) ThrowRuntimeException("Vertex index out of range"); if (n < 0 || n >= s->numVertices()) ThrowRuntimeException("Vertex index out of range");
if (t < 0 || t>1) ThrowRuntimeException("Texture coordinate set out of range"); if (t < 0 || t>1) ThrowRuntimeException("Texture coordinate set out of range");
} }
#else
return;
#endif
} }
static Entity *loadEntity(string t, int hint) { static Entity *loadEntity(string t, int hint) {
@@ -150,10 +222,15 @@ static Entity *loadEntity( string t,int hint ){
string ext = t.substr(n + 1); string ext = t.substr(n + 1);
MeshLoader *l; MeshLoader *l;
if( ext=="x" ) l=&loader_x; if (ext == "x") {
else if( ext=="3ds" ) l=&loader_3ds; //l = &Loader_X;
else if( ext=="b3d" ) l=&loader_b3d; } else if (ext == "3ds") {
else return 0; l = &loader_3ds;
} else if (ext == "b3d") {
l = &loader_b3d;
} else {
return 0;
}
const Transform &conv = loader_mat_map[ext]; const Transform &conv = loader_mat_map[ext];
@@ -164,12 +241,12 @@ static Entity *loadEntity( string t,int hint ){
} }
static void collapseMesh(MeshModel *mesh, Entity *e) { static void collapseMesh(MeshModel *mesh, Entity *e) {
while( e->children() ){ while (e->GetChildren()) {
collapseMesh( mesh,e->children() ); collapseMesh(mesh, e->GetChildren());
} }
if (Model *p = e->getModel()) { if (Model *p = e->getModel()) {
if (MeshModel *t = p->getMeshModel()) { if (MeshModel *t = p->getMeshModel()) {
t->transform( e->getWorldTform() ); t->transform(e->GetWorldTransform());
mesh->add(*t); mesh->add(*t);
} }
} }
@@ -178,22 +255,22 @@ static void collapseMesh( MeshModel *mesh,Entity *e ){
static void insert(Entity *e) { static void insert(Entity *e) {
if (debug) entity_set.insert(e); if (debug) entity_set.insert(e);
e->setVisible(true); e->SetVisible(true);
e->setEnabled(true); e->SetEnabled(true);
e->getObject()->reset(); e->getObject()->reset();
for( Entity *p=e->children();p;p=p->successor() ){ for (Entity *p = e->GetChildren(); p; p = p->GetSuccessor()) {
insert(p); insert(p);
} }
} }
static Entity *insertEntity(Entity *e, Entity *p) { static Entity *insertEntity(Entity *e, Entity *p) {
e->setParent( p ); e->SetParent(p);
insert(e); insert(e);
return e; return e;
} }
static void erase(Entity *e) { static void erase(Entity *e) {
for( Entity *p=e->children();p;p=p->successor() ){ for (Entity *p = e->GetChildren(); p; p = p->GetSuccessor()) {
erase(p); erase(p);
} }
if (e->getListener()) listener = 0; if (e->getListener()) listener = 0;
@@ -202,7 +279,7 @@ static void erase( Entity *e ){
static Entity *findChild(Entity *e, const string &t) { static Entity *findChild(Entity *e, const string &t) {
if (e->getName() == t) return e; if (e->getName() == t) return e;
for( Entity *p=e->children();p;p=p->successor() ){ for (Entity *p = e->GetChildren(); p; p = p->GetSuccessor()) {
if (Entity *q = findChild(p, t)) return q; if (Entity *q = findChild(p, t)) return q;
} }
return 0; return 0;
@@ -254,7 +331,7 @@ void bbWireFrame( int enable ){
void bbAmbientLight(float r, float g, float b) { void bbAmbientLight(float r, float g, float b) {
debug3d(); debug3d();
Vector t( r*ctof,g*ctof,b*ctof ); Vector t(r*s_colorToFloat, g*s_colorToFloat, b*s_colorToFloat);
gx_scene->setAmbient(&(t.x)); gx_scene->setAmbient(&(t.x));
} }
@@ -296,8 +373,7 @@ void bbRenderWorld( float tween ){
world->render(tween); world->render(tween);
tri_count = gx_scene->getTrianglesDrawn() - tri_count; tri_count = gx_scene->getTrianglesDrawn() - tri_count;
return; return;
#endif #else
int tris = gx_scene->getTrianglesDrawn(); int tris = gx_scene->getTrianglesDrawn();
int render_ms = gx_runtime->getMilliSecs(); int render_ms = gx_runtime->getMilliSecs();
world->render(tween); world->render(tween);
@@ -335,6 +411,7 @@ void bbRenderWorld( float tween ){
string t = "FPS:" + t_fps + " UPS:" + t_ups + " RPS:" + t_rps + " TRIS:" + t_tris; string t = "FPS:" + t_fps + " UPS:" + t_ups + " RPS:" + t_rps + " TRIS:" + t_tris;
bbText(0, bbGraphicsHeight() - bbFontHeight(), new BBStr(t), 0, 0); bbText(0, bbGraphicsHeight() - bbFontHeight(), new BBStr(t), 0, 0);
#endif
} }
int bbTrisRendered() { int bbTrisRendered() {
@@ -406,7 +483,7 @@ void bbScaleTexture( Texture *t,float u_scale,float v_scale ){
void bbRotateTexture(Texture *t, float angle) { void bbRotateTexture(Texture *t, float angle) {
debugTexture(t); debugTexture(t);
t->setRotation( -angle*dtor ); t->setRotation(-angle*s_degreesToRadians);
} }
void bbPositionTexture(Texture *t, float u_pos, float v_pos) { void bbPositionTexture(Texture *t, float u_pos, float v_pos) {
@@ -477,7 +554,7 @@ void bbTextureFilter( BBStr *t,int flags ){
Brush * bbCreateBrush(float r, float g, float b) { Brush * bbCreateBrush(float r, float g, float b) {
debug3d(); debug3d();
Brush *br = new Brush(); Brush *br = new Brush();
br->setColor( Vector( r*ctof,g*ctof,b*ctof ) ); br->setColor(Vector(r*s_colorToFloat, g*s_colorToFloat, b*s_colorToFloat));
brush_set.insert(br); brush_set.insert(br);
return br; return br;
} }
@@ -501,7 +578,7 @@ void bbFreeBrush( Brush *b ){
void bbBrushColor(Brush *br, float r, float g, float b) { void bbBrushColor(Brush *br, float r, float g, float b) {
debugBrush(br); debugBrush(br);
br->setColor( Vector( r*ctof,g*ctof,b*ctof ) ); br->setColor(Vector(r*s_colorToFloat, g*s_colorToFloat, b*s_colorToFloat));
} }
void bbBrushAlpha(Brush *b, float alpha) { void bbBrushAlpha(Brush *b, float alpha) {
@@ -609,7 +686,7 @@ void bbScaleMesh( MeshModel *m,float x,float y,float z ){
void bbRotateMesh(MeshModel *m, float x, float y, float z) { void bbRotateMesh(MeshModel *m, float x, float y, float z) {
debugMesh(m); debugMesh(m);
m->transform( rotationMatrix(x*dtor,y*dtor,z*dtor) ); m->transform(rotationMatrix(x*s_degreesToRadians, y*s_degreesToRadians, z*s_degreesToRadians));
} }
void bbPositionMesh(MeshModel *m, float x, float y, float z) { void bbPositionMesh(MeshModel *m, float x, float y, float z) {
@@ -668,7 +745,7 @@ void bbUpdateNormals( MeshModel *m ){
void bbLightMesh(MeshModel *m, float r, float g, float b, float range, float x, float y, float z) { void bbLightMesh(MeshModel *m, float r, float g, float b, float range, float x, float y, float z) {
debugMesh(m); debugMesh(m);
MeshUtil::lightMesh( m,Vector(x,y,z),Vector(r*ctof,g*ctof,b*ctof),range ); MeshUtil::lightMesh(m, Vector(x, y, z), Vector(r*s_colorToFloat, g*s_colorToFloat, b*s_colorToFloat), range);
} }
float bbMeshWidth(MeshModel *m) { float bbMeshWidth(MeshModel *m) {
@@ -697,19 +774,19 @@ int bbCountSurfaces( MeshModel *m ){
} }
Surface * bbGetSurface(MeshModel *m, int index) { Surface * bbGetSurface(MeshModel *m, int index) {
#ifdef DEBUG
if (debug) { if (debug) {
debugMesh(m); debugMesh(m);
if( index<1 || index>m->getSurfaces().size() ){ if ((size_t)index<1 || index>m->getSurfaces().size()) {
ThrowRuntimeException("Surface Index out of range"); ThrowRuntimeException("Surface Index out of range");
} }
} }
#endif
return m->getSurfaces()[index - 1]; return m->getSurfaces()[index - 1];
} }
void bbMeshCullBox(MeshModel *m, float x, float y, float z, float width, float height, float depth) { void bbMeshCullBox(MeshModel *m, float x, float y, float z, float width, float height, float depth) {
if( debug ){
debugMesh(m); debugMesh(m);
}
m->setCullBox(Box(Vector(x, y, z), Vector(x + width, y + height, z + depth))); m->setCullBox(Box(Vector(x, y, z), Vector(x + width, y + height, z + depth)));
} }
@@ -821,19 +898,19 @@ float bbVertexNZ( Surface *s,int n ){
} }
float bbVertexRed(Surface *s, int n) { float bbVertexRed(Surface *s, int n) {
debugVertex(s, n); debugVertex(s, n);
return (s->getVertex(n).color&0xff0000)>>16; return (float)((s->getVertex(n).color & 0xff0000) >> 16);
} }
float bbVertexGreen(Surface *s, int n) { float bbVertexGreen(Surface *s, int n) {
debugVertex(s, n); debugVertex(s, n);
return (s->getVertex(n).color&0xff00)>>8; return (float)((s->getVertex(n).color & 0xff00) >> 8);
} }
float bbVertexBlue(Surface *s, int n) { float bbVertexBlue(Surface *s, int n) {
debugVertex(s, n); debugVertex(s, n);
return s->getVertex(n).color&0xff; return (float)(s->getVertex(n).color & 0xff);
} }
float bbVertexAlpha(Surface *s, int n) { float bbVertexAlpha(Surface *s, int n) {
debugVertex(s, n); debugVertex(s, n);
return ((s->getVertex(n).color&0xff000000)>>24)/255.0f; return (float)(((s->getVertex(n).color & 0xff000000) >> 24) / 255.0f);
} }
float bbVertexU(Surface *s, int n, int t) { float bbVertexU(Surface *s, int n, int t) {
debugVertex(s, n, t); debugVertex(s, n, t);
@@ -875,7 +952,7 @@ void bbCameraRange( Camera *c,float nr,float fr ){
void bbCameraClsColor(Camera *c, float r, float g, float b) { void bbCameraClsColor(Camera *c, float r, float g, float b) {
debugCamera(c); debugCamera(c);
c->setClsColor( Vector( r*ctof,g*ctof,b*ctof ) ); c->setClsColor(Vector(r*s_colorToFloat, g*s_colorToFloat, b*s_colorToFloat));
} }
void bbCameraClsMode(Camera *c, int cls_color, int cls_zbuffer) { void bbCameraClsMode(Camera *c, int cls_color, int cls_zbuffer) {
@@ -900,7 +977,7 @@ void bbCameraFogRange( Camera *c,float nr,float fr ){
void bbCameraFogColor(Camera *c, float r, float g, float b) { void bbCameraFogColor(Camera *c, float r, float g, float b) {
debugCamera(c); debugCamera(c);
c->setFogColor( Vector( r*ctof,g*ctof,b*ctof ) ); c->setFogColor(Vector(r*s_colorToFloat, g*s_colorToFloat, b*s_colorToFloat));
} }
void bbCameraFogMode(Camera *c, int mode) { void bbCameraFogMode(Camera *c, int mode) {
@@ -910,7 +987,7 @@ void bbCameraFogMode( Camera *c,int mode ){
int bbCameraProject(Camera *c, float x, float y, float z) { int bbCameraProject(Camera *c, float x, float y, float z) {
debugCamera(c); debugCamera(c);
Vector v=-c->getWorldTform()*Vector(x,y,z); Vector v = -c->GetWorldTransform()*Vector(x, y, z);
const Frustum &f = c->getFrustum(); const Frustum &f = c->getFrustum();
if (c->getProjMode() == Camera::PROJ_ORTHO) { if (c->getProjMode() == Camera::PROJ_ORTHO) {
int vp_x, vp_y, vp_w, vp_h; int vp_x, vp_y, vp_w, vp_h;
@@ -973,10 +1050,10 @@ Entity * bbCameraPick( Camera *c,float x,float y ){
Line l; Line l;
if (c->getProjMode() == Camera::PROJ_ORTHO) { if (c->getProjMode() == Camera::PROJ_ORTHO) {
l=c->getWorldTform() * Line( Vector(x,y,0),Vector(0,0,fr) ); //x,y,fr) ); l = c->GetWorldTransform() * Line(Vector(x, y, 0), Vector(0, 0, fr)); //x,y,fr) );
} else { } else {
x /= nr; y /= nr; x /= nr; y /= nr;
l=c->getWorldTform() * Line( Vector(),Vector( x*fr,y*fr,fr ) ); l = c->GetWorldTransform() * Line(Vector(), Vector(x*fr, y*fr, fr));
} }
return doPick(l, 0); return doPick(l, 0);
@@ -993,7 +1070,7 @@ Entity * bbLinePick( float x,float y,float z,float dx,float dy,float dz,float r
Entity * bbEntityPick(Object *src, float range) { Entity * bbEntityPick(Object *src, float range) {
debugEntity(src); debugEntity(src);
Line l( src->getWorldPosition(),src->getWorldTform().m.k * range ); Line l(src->GetWorldPosition(), src->GetWorldTransform().m.k * range);
return doPick(l, 0); return doPick(l, 0);
} }
@@ -1001,7 +1078,7 @@ Entity * bbEntityPick( Object *src,float range ){
int bbEntityVisible(Object *src, Object *dest) { int bbEntityVisible(Object *src, Object *dest) {
if (debug) { debugObject(src); debugObject(dest); } if (debug) { debugObject(src); debugObject(dest); }
return world->checkLOS( src,dest ) ? 1 : 0; return world->CheckLineOfSight(src, dest) ? 1 : 0;
} }
int bbEntityInView(Entity *e, Camera *c) { int bbEntityInView(Entity *e, Camera *c) {
@@ -1009,7 +1086,7 @@ int bbEntityInView( Entity *e,Camera *c ){
if (Model *p = e->getModel()) { if (Model *p = e->getModel()) {
if (MeshModel *m = p->getMeshModel()) { if (MeshModel *m = p->getMeshModel()) {
const Box &b = m->getBox(); const Box &b = m->getBox();
Transform t=-c->getWorldTform() * e->getWorldTform(); Transform t = -c->GetWorldTransform() * e->GetWorldTransform();
Vector p[] = { Vector p[] = {
t*b.corner(0),t*b.corner(1),t*b.corner(2),t*b.corner(3), t*b.corner(0),t*b.corner(1),t*b.corner(2),t*b.corner(3),
t*b.corner(4),t*b.corner(5),t*b.corner(6),t*b.corner(7) t*b.corner(4),t*b.corner(5),t*b.corner(6),t*b.corner(7)
@@ -1017,7 +1094,7 @@ int bbEntityInView( Entity *e,Camera *c ){
return c->getFrustum().cull(p, 8); return c->getFrustum().cull(p, 8);
} }
} }
Vector p[]={ -c->getWorldTform() * e->getWorldPosition() }; Vector p[] = { -c->GetWorldTransform() * e->GetWorldPosition() };
return c->getFrustum().cull(p, 1); return c->getFrustum().cull(p, 1);
} }
@@ -1072,7 +1149,7 @@ Entity * bbCreateLight( int type,Entity *p ){
void bbLightColor(Light *light, float r, float g, float b) { void bbLightColor(Light *light, float r, float g, float b) {
debugLight(light); debugLight(light);
light->setColor( Vector(r*ctof,g*ctof,b*ctof) ); light->setColor(Vector(r*s_colorToFloat, g*s_colorToFloat, b*s_colorToFloat));
} }
void bbLightRange(Light *light, float range) { void bbLightRange(Light *light, float range) {
@@ -1082,8 +1159,8 @@ void bbLightRange( Light *light,float range ){
void bbLightConeAngles(Light *light, float inner, float outer) { void bbLightConeAngles(Light *light, float inner, float outer) {
debugLight(light); debugLight(light);
inner*=dtor; inner *= s_degreesToRadians;
outer*=dtor; outer *= s_degreesToRadians;
if (inner < 0) inner = 0; if (inner < 0) inner = 0;
else if (inner > PI) inner = PI; else if (inner > PI) inner = PI;
if (outer < inner) outer = inner; if (outer < inner) outer = inner;
@@ -1127,7 +1204,7 @@ Entity * bbLoadSprite( BBStr *file,int flags,Entity *p ){
void bbRotateSprite(Sprite *s, float angle) { void bbRotateSprite(Sprite *s, float angle) {
debugSprite(s); debugSprite(s);
s->setRotation( angle*dtor ); s->setRotation(angle*s_degreesToRadians);
} }
void bbScaleSprite(Sprite *s, float x, float y) { void bbScaleSprite(Sprite *s, float x, float y) {
@@ -1212,7 +1289,7 @@ Entity * bbLoadBSP( BBStr *file,float gam,Entity *p ){
void bbBSPAmbientLight(Q3BSPModel *t, float r, float g, float b) { void bbBSPAmbientLight(Q3BSPModel *t, float r, float g, float b) {
debugBSP(t); debugBSP(t);
t->setAmbient( Vector( r*ctof,g*ctof,b*ctof ) ); t->setAmbient(Vector(r*s_colorToFloat, g*s_colorToFloat, b*s_colorToFloat));
} }
void bbBSPLighting(Q3BSPModel *t, int lmap) { void bbBSPLighting(Q3BSPModel *t, int lmap) {
@@ -1224,8 +1301,8 @@ void bbBSPLighting( Q3BSPModel *t,int lmap ){
// TERRAIN COMMANDS // // TERRAIN COMMANDS //
////////////////////// //////////////////////
static float terrainHeight(Terrain *t, float x, float z) { static float terrainHeight(Terrain *t, float x, float z) {
int ix=floor(x); int ix = (int)floor(x);
int iz=floor(z); int iz = (int)floor(z);
float tx = x - ix, tz = z - iz; float tx = x - ix, tz = z - iz;
float h0 = t->getHeight(ix, iz); float h0 = t->getHeight(ix, iz);
float h1 = t->getHeight(ix + 1, iz); float h1 = t->getHeight(ix + 1, iz);
@@ -1237,8 +1314,8 @@ static float terrainHeight( Terrain *t,float x,float z ){
} }
static Vector terrainVector(Terrain *t, float x, float y, float z) { static Vector terrainVector(Terrain *t, float x, float y, float z) {
Vector v=-t->getWorldTform() * Vector( x,y,z ); Vector v = -t->GetWorldTransform() * Vector(x, y, z);
return t->getWorldTform() * Vector( v.x,terrainHeight( t,v.x,v.z ),v.z ); return t->GetWorldTransform() * Vector(v.x, terrainHeight(t, v.x, v.z), v.z);
} }
Entity * bbCreateTerrain(int n, Entity *p) { Entity * bbCreateTerrain(int n, Entity *p) {
@@ -1358,14 +1435,14 @@ void bbFreeEntity( Entity *e ){
void bbHideEntity(Entity *e) { void bbHideEntity(Entity *e) {
debugEntity(e); debugEntity(e);
e->setEnabled(false); e->SetEnabled(false);
e->setVisible(false); e->SetVisible(false);
} }
void bbShowEntity(Entity *e) { void bbShowEntity(Entity *e) {
debugEntity(e); debugEntity(e);
e->setVisible(true); e->SetVisible(true);
e->setEnabled(true); e->SetEnabled(true);
e->getObject()->reset(); e->getObject()->reset();
} }
@@ -1385,11 +1462,11 @@ void bbEntityParent( Entity *e,Entity *p,int global ){
if (e->getParent() == p) return; if (e->getParent() == p) return;
if (global) { if (global) {
Transform t=e->getWorldTform(); Transform t = e->GetWorldTransform();
e->setParent( p ); e->SetParent(p);
e->setWorldTform( t ); e->SetWorldTransform(t);
} else { } else {
e->setParent( p ); e->SetParent(p);
e->getObject()->reset(); e->getObject()->reset();
} }
} }
@@ -1397,14 +1474,14 @@ void bbEntityParent( Entity *e,Entity *p,int global ){
int bbCountChildren(Entity *e) { int bbCountChildren(Entity *e) {
debugEntity(e); debugEntity(e);
int n = 0; int n = 0;
for( Entity *p=e->children();p;p=p->successor() ) ++n; for (Entity *p = e->GetChildren(); p; p = p->GetSuccessor()) ++n;
return n; return n;
} }
Entity * bbGetChild(Entity *e, int index) { Entity * bbGetChild(Entity *e, int index) {
debugEntity(e); debugEntity(e);
Entity *p=e->children(); Entity *p = e->GetChildren();
while( --index && p ) p=p->successor(); while (--index && p) p = p->GetSuccessor();
return p; return p;
} }
@@ -1457,9 +1534,9 @@ void bbAnimate( Object *o,int mode,float speed,int seq,float trans ){
void bbSetAnimKey(Object *o, int frame, int pos_key, int rot_key, int scl_key) { void bbSetAnimKey(Object *o, int frame, int pos_key, int rot_key, int scl_key) {
debugObject(o); debugObject(o);
Animation anim = o->getAnimation(); Animation anim = o->getAnimation();
if( pos_key ) anim.setPositionKey( frame,o->getLocalPosition() ); if (pos_key) anim.setPositionKey(frame, o->GetLocalPosition());
if( rot_key ) anim.setRotationKey( frame,o->getLocalRotation() ); if (rot_key) anim.setRotationKey(frame, o->GetLocalRotation());
if( scl_key ) anim.setScaleKey( frame,o->getLocalScale() ); if (scl_key) anim.setScaleKey(frame, o->GetLocalScale());
o->setAnimation(anim); o->setAnimation(anim);
} }
@@ -1521,7 +1598,7 @@ void bbPaintEntity( Model *m,Brush *b ){
void bbEntityColor(Model *m, float r, float g, float b) { void bbEntityColor(Model *m, float r, float g, float b) {
debugModel(m); debugModel(m);
m->setColor( Vector( r*ctof,g*ctof,b*ctof ) ); m->setColor(Vector(r*s_colorToFloat, g*s_colorToFloat, b*s_colorToFloat));
} }
void bbEntityAlpha(Model *m, float alpha) { void bbEntityAlpha(Model *m, float alpha) {
@@ -1570,37 +1647,37 @@ void bbEntityOrder( Object *o,int n ){
////////////////////////////// //////////////////////////////
float bbEntityX(Entity *e, int global) { float bbEntityX(Entity *e, int global) {
debugEntity(e); debugEntity(e);
return global ? e->getWorldPosition().x : e->getLocalPosition().x; return global ? e->GetWorldPosition().x : e->GetLocalPosition().x;
} }
float bbEntityY(Entity *e, int global) { float bbEntityY(Entity *e, int global) {
debugEntity(e); debugEntity(e);
return global ? e->getWorldPosition().y : e->getLocalPosition().y; return global ? e->GetWorldPosition().y : e->GetLocalPosition().y;
} }
float bbEntityZ(Entity *e, int global) { float bbEntityZ(Entity *e, int global) {
debugEntity(e); debugEntity(e);
return global ? e->getWorldPosition().z : e->getLocalPosition().z; return global ? e->GetWorldPosition().z : e->GetLocalPosition().z;
} }
float bbEntityPitch(Entity *e, int global) { float bbEntityPitch(Entity *e, int global) {
debugEntity(e); debugEntity(e);
return quatPitch( global ? e->getWorldRotation() : e->getLocalRotation() ) * rtod; return quatPitch(global ? e->GetWorldRotation() : e->GetLocalRotation()) * s_radiansToDegrees;
} }
float bbEntityYaw(Entity *e, int global) { float bbEntityYaw(Entity *e, int global) {
debugEntity(e); debugEntity(e);
return quatYaw( global ? e->getWorldRotation() : e->getLocalRotation() ) * rtod; return quatYaw(global ? e->GetWorldRotation() : e->GetLocalRotation()) * s_radiansToDegrees;
} }
float bbEntityRoll(Entity *e, int global) { float bbEntityRoll(Entity *e, int global) {
debugEntity(e); debugEntity(e);
return quatRoll( global ? e->getWorldRotation() : e->getLocalRotation() ) * rtod; return quatRoll(global ? e->GetWorldRotation() : e->GetLocalRotation()) * s_radiansToDegrees;
} }
float bbGetMatElement(Entity *e, int row, int col) { float bbGetMatElement(Entity *e, int row, int col) {
debugEntity(e); debugEntity(e);
return row<3 ? e->getWorldTform().m[row][col] : e->getWorldTform().v[col]; return row < 3 ? e->GetWorldTransform().m[row][col] : e->GetWorldTransform().v[col];
} }
void bbTFormPoint(float x, float y, float z, Entity *src, Entity *dest) { void bbTFormPoint(float x, float y, float z, Entity *src, Entity *dest) {
@@ -1609,8 +1686,8 @@ void bbTFormPoint( float x,float y,float z,Entity *src,Entity *dest ){
if (dest) debugEntity(dest); if (dest) debugEntity(dest);
} }
tformed = Vector(x, y, z); tformed = Vector(x, y, z);
if( src ) tformed=src->getWorldTform() * tformed; if (src) tformed = src->GetWorldTransform() * tformed;
if( dest ) tformed=-dest->getWorldTform() * tformed; if (dest) tformed = -dest->GetWorldTransform() * tformed;
} }
void bbTFormVector(float x, float y, float z, Entity *src, Entity *dest) { void bbTFormVector(float x, float y, float z, Entity *src, Entity *dest) {
@@ -1619,8 +1696,8 @@ void bbTFormVector( float x,float y,float z,Entity *src,Entity *dest ){
if (dest) debugEntity(dest); if (dest) debugEntity(dest);
} }
tformed = Vector(x, y, z); tformed = Vector(x, y, z);
if( src ) tformed=src->getWorldTform().m * tformed; if (src) tformed = src->GetWorldTransform().m * tformed;
if( dest ) tformed=-dest->getWorldTform().m * tformed; if (dest) tformed = -dest->GetWorldTransform().m * tformed;
} }
void bbTFormNormal(float x, float y, float z, Entity *src, Entity *dest) { void bbTFormNormal(float x, float y, float z, Entity *src, Entity *dest) {
@@ -1629,8 +1706,8 @@ void bbTFormNormal( float x,float y,float z,Entity *src,Entity *dest ){
if (dest) debugEntity(dest); if (dest) debugEntity(dest);
} }
tformed = Vector(x, y, z); tformed = Vector(x, y, z);
if( src ) tformed=(src->getWorldTform().m).cofactor() * tformed; if (src) tformed = (src->GetWorldTransform().m).cofactor() * tformed;
if( dest ) tformed=(-dest->getWorldTform().m).cofactor() * tformed; if (dest) tformed = (-dest->GetWorldTransform().m).cofactor() * tformed;
tformed.normalize(); tformed.normalize();
} }
@@ -1647,29 +1724,29 @@ float bbTFormedZ(){
} }
float bbVectorYaw(float x, float y, float z) { float bbVectorYaw(float x, float y, float z) {
return Vector(x,y,z).yaw() * rtod; return Vector(x, y, z).yaw() * s_radiansToDegrees;
} }
float bbVectorPitch(float x, float y, float z) { float bbVectorPitch(float x, float y, float z) {
return Vector(x,y,z).pitch() * rtod; return Vector(x, y, z).pitch() * s_radiansToDegrees;
} }
float bbDeltaYaw(Entity *src, Entity *dest) { float bbDeltaYaw(Entity *src, Entity *dest) {
float x=src->getWorldTform().m.k.yaw(); float x = src->GetWorldTransform().m.k.yaw();
float y=(dest->getWorldTform().v-src->getWorldTform().v).yaw(); float y = (dest->GetWorldTransform().v - src->GetWorldTransform().v).yaw();
float d = y - x; float d = y - x;
if (d < -PI) d += TWOPI; if (d < -PI) d += TWOPI;
else if (d >= PI) d -= TWOPI; else if (d >= PI) d -= TWOPI;
return d*rtod; return d*s_radiansToDegrees;
} }
float bbDeltaPitch(Entity *src, Entity *dest) { float bbDeltaPitch(Entity *src, Entity *dest) {
float x=src->getWorldTform().m.k.pitch(); float x = src->GetWorldTransform().m.k.pitch();
float y=(dest->getWorldTform().v-src->getWorldTform().v).pitch(); float y = (dest->GetWorldTransform().v - src->GetWorldTransform().v).pitch();
float d = y - x; float d = y - x;
if (d < -PI) d += TWOPI; if (d < -PI) d += TWOPI;
else if (d >= PI) d -= TWOPI; else if (d >= PI) d -= TWOPI;
return d*rtod; return d*s_radiansToDegrees;
} }
/////////////////////////////// ///////////////////////////////
@@ -1683,7 +1760,7 @@ void bbResetEntity( Object *o ){
static void entityType(Entity *e, int type) { static void entityType(Entity *e, int type) {
e->getObject()->setCollisionType(type); e->getObject()->setCollisionType(type);
e->getObject()->reset(); e->getObject()->reset();
for( Entity *p=e->children();p;p=p->successor() ){ for (Entity *p = e->GetChildren(); p; p = p->GetSuccessor()) {
entityType(p, type); entityType(p, type);
} }
} }
@@ -1798,7 +1875,7 @@ int bbCollisionTriangle( Object *o,int index ){
float bbEntityDistance(Entity *src, Entity *dest) { float bbEntityDistance(Entity *src, Entity *dest) {
debugEntity(src); debugEntity(src);
debugEntity(dest); debugEntity(dest);
return src->getWorldPosition().distance( dest->getWorldPosition() ); return src->GetWorldPosition().distance(dest->GetWorldPosition());
} }
//////////////////////////////////// ////////////////////////////////////
@@ -1806,48 +1883,48 @@ float bbEntityDistance( Entity *src,Entity *dest ){
//////////////////////////////////// ////////////////////////////////////
void bbMoveEntity(Entity *e, float x, float y, float z) { void bbMoveEntity(Entity *e, float x, float y, float z) {
debugEntity(e); debugEntity(e);
e->setLocalPosition( e->getLocalPosition()+e->getLocalRotation()*Vector(x,y,z) ); e->SetLocalPosition(e->GetLocalPosition() + e->GetLocalRotation()*Vector(x, y, z));
} }
void bbTurnEntity(Entity *e, float p, float y, float r, int global) { void bbTurnEntity(Entity *e, float p, float y, float r, int global) {
debugEntity(e); debugEntity(e);
global ? global ?
e->setWorldRotation( rotationQuat( p*dtor,y*dtor,r*dtor )*e->getWorldRotation() ): e->SetWorldRotation(rotationQuat(p*s_degreesToRadians, y*s_degreesToRadians, r*s_degreesToRadians)*e->GetWorldRotation()) :
e->setLocalRotation( e->getLocalRotation()*rotationQuat( p*dtor,y*dtor,r*dtor ) ); e->SetLocalRotation(e->GetLocalRotation()*rotationQuat(p*s_degreesToRadians, y*s_degreesToRadians, r*s_degreesToRadians));
} }
void bbTranslateEntity(Entity *e, float x, float y, float z, int global) { void bbTranslateEntity(Entity *e, float x, float y, float z, int global) {
debugEntity(e); debugEntity(e);
global ? global ?
e->setWorldPosition( e->getWorldPosition()+Vector( x,y,z ) ): e->SetWorldPosition(e->GetWorldPosition() + Vector(x, y, z)) :
e->setLocalPosition( e->getLocalPosition()+Vector( x,y,z ) ); e->SetLocalPosition(e->GetLocalPosition() + Vector(x, y, z));
} }
void bbPositionEntity(Entity *e, float x, float y, float z, int global) { void bbPositionEntity(Entity *e, float x, float y, float z, int global) {
debugEntity(e); debugEntity(e);
global ? global ?
e->setWorldPosition(Vector(x,y,z)): e->SetWorldPosition(Vector(x, y, z)) :
e->setLocalPosition(Vector(x,y,z)); e->SetLocalPosition(Vector(x, y, z));
} }
void bbScaleEntity(Entity *e, float x, float y, float z, int global) { void bbScaleEntity(Entity *e, float x, float y, float z, int global) {
debugEntity(e); debugEntity(e);
global ? global ?
e->setWorldScale(Vector(x,y,z)): e->SetWorldScale(Vector(x, y, z)) :
e->setLocalScale(Vector(x,y,z)); e->SetLocalScale(Vector(x, y, z));
} }
void bbRotateEntity(Entity *e, float p, float y, float r, int global) { void bbRotateEntity(Entity *e, float p, float y, float r, int global) {
debugEntity(e); debugEntity(e);
global ? global ?
e->setWorldRotation( rotationQuat( p*dtor,y*dtor,r*dtor ) ): e->SetWorldRotation(rotationQuat(p*s_degreesToRadians, y*s_degreesToRadians, r*s_degreesToRadians)) :
e->setLocalRotation( rotationQuat( p*dtor,y*dtor,r*dtor ) ); e->SetLocalRotation(rotationQuat(p*s_degreesToRadians, y*s_degreesToRadians, r*s_degreesToRadians));
} }
void bbPointEntity(Entity *e, Entity *t, float roll) { void bbPointEntity(Entity *e, Entity *t, float roll) {
if (debug) { debugEntity(e); debugEntity(t); } if (debug) { debugEntity(e); debugEntity(t); }
Vector v=t->getWorldTform().v-e->getWorldTform().v; Vector v = t->GetWorldTransform().v - e->GetWorldTransform().v;
e->setWorldRotation( rotationQuat( v.pitch(),v.yaw(),roll*dtor ) ); e->SetWorldRotation(rotationQuat(v.pitch(), v.yaw(), roll*s_degreesToRadians));
} }
void bbAlignToVector(Entity *e, float nx, float ny, float nz, int axis, float rate) { void bbAlignToVector(Entity *e, float nx, float ny, float nz, int axis, float rate) {
@@ -1856,7 +1933,7 @@ void bbAlignToVector( Entity *e,float nx,float ny,float nz,int axis,float rate
if (l <= FLT_EPSILON) return; if (l <= FLT_EPSILON) return;
ax /= l; ax /= l;
Quat q=e->getWorldRotation(); Quat q = e->GetWorldRotation();
Vector tv = (axis == 1) ? q.i() : (axis == 2 ? q.j() : q.k()); Vector tv = (axis == 1) ? q.i() : (axis == 2 ? q.j() : q.k());
float dp = ax.dot(tv); float dp = ax.dot(tv);
@@ -1866,13 +1943,13 @@ void bbAlignToVector( Entity *e,float nx,float ny,float nz,int axis,float rate
if (dp <= -1 + FLT_EPSILON) { if (dp <= -1 + FLT_EPSILON) {
float an = PI*rate / 2; float an = PI*rate / 2;
Vector cp = (axis == 1) ? q.j() : (axis == 2 ? q.k() : q.i()); Vector cp = (axis == 1) ? q.j() : (axis == 2 ? q.k() : q.i());
e->setWorldRotation( Quat( cosf(an),cp*sinf(an) ) * q ); e->SetWorldRotation(Quat(cosf(an), cp*sinf(an)) * q);
return; return;
} }
float an = acosf(dp)*rate / 2; float an = acosf(dp)*rate / 2;
Vector cp = ax.cross(tv).normalized(); Vector cp = ax.cross(tv).normalized();
e->setWorldRotation( Quat( cosf(an),cp*sinf(an) ) * q ); e->SetWorldRotation(Quat(cosf(an), cp*sinf(an)) * q);
} }
////////////////////////// //////////////////////////
@@ -1880,7 +1957,7 @@ void bbAlignToVector( Entity *e,float nx,float ny,float nz,int axis,float rate
////////////////////////// //////////////////////////
void bbNameEntity(Entity *e, BBStr *t) { void bbNameEntity(Entity *e, BBStr *t) {
debugEntity(e); debugEntity(e);
e->setName( *t ); e->SetName(*t);
delete t; delete t;
} }
@@ -1909,7 +1986,7 @@ BBStr *bbEntityClass( Entity *e ){
void bbClearWorld(int e, int b, int t) { void bbClearWorld(int e, int b, int t) {
if (e) { if (e) {
while( Entity::orphans() ) bbFreeEntity( Entity::orphans() ); while (Entity::GetEntityOrphans()) bbFreeEntity(Entity::GetEntityOrphans());
} }
if (b) { if (b) {
while (brush_set.size()) bbFreeBrush(*brush_set.begin()); while (brush_set.size()) bbFreeBrush(*brush_set.begin());
+77 -5
View File
@@ -9,6 +9,10 @@
<Configuration>Release</Configuration> <Configuration>Release</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="RelWithDebInfo|Win32">
<Configuration>RelWithDebInfo</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<SccProjectName /> <SccProjectName />
@@ -23,10 +27,17 @@
<PlatformToolset>v140</PlatformToolset> <PlatformToolset>v140</PlatformToolset>
<UseOfMfc>false</UseOfMfc> <UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v140_xp</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset> <PlatformToolset>v140_xp</PlatformToolset>
<UseOfMfc>false</UseOfMfc> <UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
</PropertyGroup> </PropertyGroup>
@@ -37,6 +48,10 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
@@ -46,15 +61,22 @@
<OutDir>..\#Build\$(ProjectName)\$(Configuration)-$(PlatformTarget)\</OutDir> <OutDir>..\#Build\$(ProjectName)\$(Configuration)-$(PlatformTarget)\</OutDir>
<IntDir>..\#Intermediate\$(ProjectName)\$(Configuration)-$(PlatformTarget)\</IntDir> <IntDir>..\#Intermediate\$(ProjectName)\$(Configuration)-$(PlatformTarget)\</IntDir>
<LinkIncremental>true</LinkIncremental> <LinkIncremental>true</LinkIncremental>
<IncludePath>$(DXSDK_DIR)Include\;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath> <IncludePath>C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\um;$(IncludePath)</IncludePath>
<LibraryPath>$(DXSDK_DIR)Lib\x86\;$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86</LibraryPath> <LibraryPath>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um\x86;$(LibraryPath)</LibraryPath>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>..\#Build\$(ProjectName)\$(Configuration)-$(PlatformTarget)\</OutDir> <OutDir>..\#Build\$(ProjectName)\$(Configuration)-$(PlatformTarget)\</OutDir>
<IntDir>..\#Intermediate\$(ProjectName)\$(Configuration)-$(PlatformTarget)\</IntDir> <IntDir>..\#Intermediate\$(ProjectName)\$(Configuration)-$(PlatformTarget)\</IntDir>
<LinkIncremental>false</LinkIncremental> <LinkIncremental>false</LinkIncremental>
<IncludePath>$(DXSDK_DIR)Include\;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath> <IncludePath>C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\um;$(IncludePath)</IncludePath>
<LibraryPath>$(DXSDK_DIR)Lib\x86\;$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86</LibraryPath> <LibraryPath>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um\x86;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">
<OutDir>..\#Build\$(ProjectName)\$(Configuration)-$(PlatformTarget)\</OutDir>
<IntDir>..\#Intermediate\$(ProjectName)\$(Configuration)-$(PlatformTarget)\</IntDir>
<LinkIncremental>false</LinkIncremental>
<IncludePath>C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\um;$(IncludePath)</IncludePath>
<LibraryPath>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um\x86;$(LibraryPath)</LibraryPath>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile> <ClCompile>
@@ -99,6 +121,54 @@
<CallingConvention>StdCall</CallingConvention> <CallingConvention>StdCall</CallingConvention>
<ExceptionHandling>Async</ExceptionHandling> <ExceptionHandling>Async</ExceptionHandling>
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData> <RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
<Optimization>Full</Optimization>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<WholeProgramOptimization>true</WholeProgramOptimization>
<StructMemberAlignment>4Bytes</StructMemberAlignment>
<BufferSecurityCheck>false</BufferSecurityCheck>
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAsManaged>false</CompileAsManaged>
<SDLCheck>
</SDLCheck>
<MultiProcessorCompilation>false</MultiProcessorCompilation>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Release\bbruntime.bsc</OutputFile>
</Bscmake>
<Lib>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX86</TargetMachine>
<LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<ControlFlowGuard>false</ControlFlowGuard>
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
<CallingConvention>StdCall</CallingConvention>
<ExceptionHandling>Async</ExceptionHandling>
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile> </ClCompile>
<ResourceCompile> <ResourceCompile>
<Culture>0x0409</Culture> <Culture>0x0409</Culture>
@@ -136,7 +206,9 @@
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">std.h</PrecompiledHeaderFile> <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">std.h</PrecompiledHeaderFile>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">Create</PrecompiledHeader>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">std.h</PrecompiledHeaderFile> <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">std.h</PrecompiledHeaderFile>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">std.h</PrecompiledHeaderFile>
</ClCompile> </ClCompile>
<ClCompile Include="userlibs.cpp" /> <ClCompile Include="userlibs.cpp" />
</ItemGroup> </ItemGroup>