Browse Source

Windows Build

Josh Engebretson 11 years ago
parent
commit
9f3ab0eba9

+ 3 - 3
Source/Atomic/Graphics/Direct3D9/D3D9Graphics.cpp

@@ -605,7 +605,7 @@ void Graphics::Close()
     }
 }
 
-bool Graphics::TakeScreenShot(Image& destImage)
+bool Graphics::TakeScreenShot(Image* destImage)
 {
     PROFILE(TakeScreenShot);
     
@@ -673,8 +673,8 @@ bool Graphics::TakeScreenShot(Image& destImage)
         return false;
     }
     
-    destImage.SetSize(width_, height_, 3);
-    unsigned char* destData = destImage.GetData();
+    destImage->SetSize(width_, height_, 3);
+    unsigned char* destData = destImage->GetData();
     
     if (surfaceDesc.Format == D3DFMT_R5G6B5)
     {

+ 1 - 1
Source/Atomic/Graphics/Direct3D9/D3D9Graphics.h

@@ -107,7 +107,7 @@ public:
     /// Close the window.
     void Close();
     /// Take a screenshot. Return true if successful.
-    bool TakeScreenShot(Image& destImage);
+    bool TakeScreenShot(Image* destImage);
     /// Begin frame rendering. Return true if device available and can render.
     bool BeginFrame();
     /// End frame rendering and swap buffers.

+ 3 - 1
Source/Atomic/UI/TBUI.cpp

@@ -1,6 +1,7 @@
+#include "Precompiled.h"
+
 #ifdef ATOMIC_TBUI
 
-#include "Precompiled.h"
 #include "../Core/Context.h"
 #include "../Core/CoreEvents.h"
 #include "../Core/Profiler.h"
@@ -26,6 +27,7 @@
 #include <TurboBadger/tb_widgets_reader.h>
 #include <TurboBadger/tb_window.h>
 
+
 void register_tbbf_font_renderer();
 void register_stb_font_renderer();
 void register_freetype_font_renderer();

+ 12 - 0
Source/ThirdParty/Duktape/duktape.h

@@ -568,6 +568,18 @@ static __inline__ unsigned long long duk_rdtsc(void) {
  */
 #include <windows.h>
 #include <limits.h>
+// ATOMIC BEGIN
+#ifdef GetObject
+#undef GetObject
+#endif
+#ifdef MessageBox
+#undef MessageBox
+#endif
+#ifdef GetMessage
+#undef GetMessage
+#endif
+ 
+// ATOMIC END 
 #elif defined(DUK_F_FLASHPLAYER)
 /* Crossbridge */
 #define DUK_USE_DATE_NOW_GETTIMEOFDAY

+ 1 - 2
Source/ThirdParty/TurboBadger/CMakeLists.txt

@@ -1,11 +1,10 @@
 # Define target name
 set (TARGET_NAME TurboBadger)
 
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -Wall -Wextra -Wno-unused-parameter")
-
 include_directories("${CMAKE_CURRENT_SOURCE_DIR}" ../FreeType/include ../SDL/include)
 
 if(APPLE)
+	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -Wall -Wextra -Wno-unused-parameter")
     add_definitions(-DMACOSX)
 endif(APPLE)
 

+ 1 - 0
Source/ThirdParty/TurboBadger/tb_file_posix.cpp

@@ -8,6 +8,7 @@
 #ifdef TB_FILE_POSIX
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <assert.h>
 
 namespace tb {

+ 3 - 3
Source/Tools/JSBind/JSBClass.cpp

@@ -1,7 +1,7 @@
 
-#include "../Atomic.h"
-#include "../IO/Log.h"
-#include "../Core/ProcessUtils.h"
+#include <Atomic/Atomic.h>
+#include <Atomic/IO/Log.h>
+#include <Atomic/Core/ProcessUtils.h>
 #include "JSBClass.h"
 #include "JSBFunction.h"
 

+ 2 - 2
Source/Tools/JSBind/JSBFunction.cpp

@@ -146,13 +146,13 @@ void JSBFunction::WriteParameterMarshal(String& source)
 
                 if (init.Length())
                 {
-                    source.AppendWithFormat("%s __arg%i = duk_get_top(ctx) >= %i ? ((%s) duk_to_number(ctx, %i)) : %s;\n", etype->enum_->name_.CString(),
+                    source.AppendWithFormat("%s __arg%i = duk_get_top(ctx) >= %i ? ((%s) ((int) duk_to_number(ctx, %i))) : %s;\n", etype->enum_->name_.CString(),
                                             cparam,  cparam + 1, etype->enum_->name_.CString(),  cparam, init.CString());
 
                 }
                 else
                 {
-                    source.AppendWithFormat("%s __arg%i = (%s) duk_to_number(ctx, %i);\n", etype->enum_->name_.CString(),
+                    source.AppendWithFormat("%s __arg%i = (%s) ((int)duk_to_number(ctx, %i));\n", etype->enum_->name_.CString(),
                                             cparam, etype->enum_->name_.CString(),  cparam);
 
                 }

+ 2 - 2
Source/Tools/JSBind/JSBHeader.cpp

@@ -1,6 +1,6 @@
 
-#include "../Atomic.h"
-#include "../IO/File.h"
+#include <Atomic/Atomic.h>
+#include <Atomic/IO/File.h>
 #include "JSBHeader.h"
 #include "JSBHeaderVisitor.h"
 #include "JSBPreprocessVisitor.h"

+ 12 - 10
Source/Tools/JSBind/JSBModule.cpp

@@ -11,8 +11,6 @@
 #include "JSBModule.h"
 #include "JSBFunction.h"
 
-
-
 void JSBModule::ParseHeaders()
 {
     for (unsigned i = 0; i < headerFiles_.Size(); i++)
@@ -180,10 +178,15 @@ void JSBModule::WriteIncludes(String& source)
             continue;
 
         String headerPath = GetPath(header->filepath_);
-        headerPath.Replace(JSBind::ROOT_FOLDER + "/Source/Atomic", "..");
 
-        String headerfile = GetFileNameAndExtension(header->filepath_);
-        source.AppendWithFormat("#include \"%s\%s\"\n", headerPath.CString(), headerfile.CString());
+		String headerfile = GetFileNameAndExtension(header->filepath_);
+
+#ifdef WIN32
+        headerPath.Replace(JSBind::ROOT_FOLDER + "/Source/Atomic", "../..");
+#else
+		headerPath.Replace(JSBind::ROOT_FOLDER + "/Source/Atomic", "../..");
+#endif        
+        source.AppendWithFormat("#include \"%s%s\"\n", headerPath.CString(), headerfile.CString());
 
         included.Push(header);
     }
@@ -192,7 +195,6 @@ void JSBModule::WriteIncludes(String& source)
     {
         source.AppendWithFormat("#include \"%s\"\n", includes_[i].CString());
     }
-
 }
 
 void JSBModule::EmitSource(const String& filepath)
@@ -201,10 +203,10 @@ void JSBModule::EmitSource(const String& filepath)
     file.Open(filepath, FILE_WRITE);
 
     source_ = "// This file was autogenerated by JSBind, changes will be lost\n";
-    source_ += "#include <Duktape/duktape.h>\n";
-    source_ += "#include \"../Precompiled.h\"\n";
-    source_ += "#include \"../Javascript/JSVM.h\"\n";
-    source_ += "#include \"../Javascript/JSAPI.h\"\n";
+	source_ += "#include \"Precompiled.h\"\n";
+    source_ += "#include <Duktape/duktape.h>\n";    
+    source_ += "#include \"../../Javascript/JSVM.h\"\n";
+    source_ += "#include \"../../Javascript/JSAPI.h\"\n";
 
     WriteIncludes(source_);
 

+ 8 - 0
Source/Tools/JSBind/JSBind.cpp

@@ -6,13 +6,21 @@
 #include "JSBind.h"
 #include "JSBindings.h"
 
+#ifdef WIN32
+#include <Windows.h>
+#endif
+
 using namespace Atomic;
 
 SharedPtr<Context> JSBind::context_;
 SharedPtr<FileSystem> JSBind::fileSystem_;
 SharedPtr<Engine> JSBind::engine_;
 
+#ifdef WIN32
+String JSBind::ROOT_FOLDER("C:/Dev/atomic/AtomicRuntime");
+#else
 String JSBind::ROOT_FOLDER("/Users/josh/Dev/atomic/AtomicRuntime");
+#endif
 
 void JSBind::Initialize()
 {

+ 15 - 7
Source/Tools/JSBind/JSBindings.cpp

@@ -36,10 +36,18 @@ void JSBindings::ParseHeaders()
 
     //JSBClass::DumpAllClasses();
 
-    EmitJSModules("/Users/josh/Dev/atomic/AtomicRuntime/Source/Atomic/Javascript/Modules");
-
+#ifdef WIN32
+    EmitJSModules("C:\\Dev\\atomic\\AtomicRuntime\\Source\\Atomic\\Javascript\\Modules");
+#else
+	EmitJSModules("/Users/josh/Dev/atomic/AtomicRuntime/Source/Atomic/Javascript/Modules");
+#endif
     JSBTypeScript* ts = new JSBTypeScript();
-    ts->Emit("/Users/josh/Dev/atomic/AtomicRuntime/Bin/Atomic.d.ts");
+
+#ifdef WIN32
+    ts->Emit("C:\\Dev\\atomic\\AtomicRuntime\\Bin\\Atomic.d.ts");
+#else
+	ts->Emit("/Users/josh/Dev/atomic/AtomicRuntime/Bin/Atomic.d.ts");	
+#endif
 
 
 }
@@ -50,10 +58,10 @@ void JSBindings::EmitJSModules(const String& rootpath)
     file.Open(rootpath + "/JSModules.cpp", FILE_WRITE);
 
     String source = "// This file was autogenerated by JSBind, changes will be lost\n\n";
-    source += "#include <Duktape/duktape.h>\n";
-    source += "#include \"../Precompiled.h\"\n";
-    source += "#include \"../Javascript/JSVM.h\"\n";
-    source += "#include \"../Javascript/JSAPI.h\"\n";
+	source += "#include \"Precompiled.h\"\n";
+    source += "#include <Duktape/duktape.h>\n";    
+    source += "#include \"../../Javascript/JSVM.h\"\n";
+    source += "#include \"../../Javascript/JSAPI.h\"\n";
 
     source += "\n\nnamespace Atomic\n{\n";
 

+ 1 - 0
Source/Tools/JSBind/cplusplus/Bind.cpp

@@ -33,6 +33,7 @@
 #include <vector>
 #include <string>
 #include <memory>
+#include <algorithm>
 
 
 using namespace CPlusPlus;

+ 2 - 0
Source/Tools/JSBind/cplusplus/Templates.cpp

@@ -27,6 +27,8 @@
 
 #include "cppassert.h"
 
+#include <algorithm>
+
 
 using namespace CPlusPlus;
 

+ 1 - 1
Source/Tools/JSBind/modules/Atomic2D.json

@@ -1,7 +1,7 @@
 {
 	"name" : "Atomic2D",
 	"sources" : ["Atomic2D"],
-	"includes" : ["../Graphics/Texture2D.h", "../Scene/Node.h", "../Graphics/Material.h"],
+	"includes" : ["../../Graphics/Texture2D.h", "../../Scene/Node.h", "../../Graphics/Material.h"],
 	"classes" : [ "SpriteSheet2D", "Sprite2D", "Drawable2D", "StaticSprite2D", "AnimationSet2D", "AnimatedSprite2D",
 				 "CollisionShape2D", "CollisionBox2D", "RigidBody2D", "Animation2D", "CollisionChain2D",
 				 "CollisionCircle2D", "CollisionEdge2D", "CollisionPolygon2D",

+ 1 - 1
Source/Tools/JSBind/modules/Engine.json

@@ -1,6 +1,6 @@
 {
 	"name" : "Engine",
 	"sources" : ["Engine"],
-	"includes" : ["../UI/Text.h", "../UI/Button.h", "../UI/LineEdit.h"],
+	"includes" : ["../../UI/Text.h", "../../UI/Button.h", "../../UI/LineEdit.h"],
 	"classes" : ["Engine", "DebugHud", "Console"]
 }

+ 2 - 2
Source/Tools/JSBind/modules/Graphics.json

@@ -1,7 +1,7 @@
 {
 	"name" : "Graphics",
-	"sources" : ["Graphics", "Graphics/OpenGL"],
-	"includes" : ["../Scene/Scene.h", "../Graphics/Animation.h", "../Graphics/OcclusionBuffer.h", "../Scene/ValueAnimation.h"],
+	"sources" : ["Graphics", "Graphics/Direct3D9"],
+	"includes" : ["../../Scene/Scene.h", "../../Graphics/Animation.h", "../../Graphics/OcclusionBuffer.h", "../../Scene/ValueAnimation.h"],
 	"classes" : ["Graphics", "Texture", "Texture2D", "Model", "Material", "Drawable", 
 				 "Viewport", "Renderer", "Octree", "Zone", "StaticModel", "Camera", "Light", "RenderPath",
 				 "Animation", "AnimatedModel", "AnimationController", "AnimationState", "BillboardSet", "CustomGeometry",

+ 1 - 1
Source/Tools/JSBind/modules/Navigation.json

@@ -1,6 +1,6 @@
 {
 	"name" : "Navigation",
 	"sources" : ["Navigation"],
-	"includes" : ["../Scene/Node.h"],
+	"includes" : ["../../Scene/Node.h"],
 	"classes" : ["Navigable", "NavigationMesh", "OffMeshConnection"] 
 }

+ 1 - 1
Source/Tools/JSBind/modules/Network.json

@@ -1,7 +1,7 @@
 {
 	"name" : "Network",
 	"sources" : ["Network"],
-	"includes" : ["../Network/Protocol.h", "../Scene/Scene.h"],
+	"includes" : ["../../Network/Protocol.h", "../../Scene/Scene.h"],
 	"classes" : ["Network", "NetworkPriority"]
 
 

+ 1 - 1
Source/Tools/JSBind/modules/Physics.json

@@ -1,7 +1,7 @@
 {
 	"name" : "Physics",
 	"sources" : ["Physics"],
-	"includes" : ["../Graphics/Model.h"],
+	"includes" : ["../../Graphics/Model.h"],
 	"classes" : ["CollisionShape", "Constraint", "PhysicsWorld", "RigidBody"],
  	"overloads" : {
 		"RigidBody" : {

+ 1 - 1
Source/Tools/JSBind/modules/Scene.json

@@ -1,7 +1,7 @@
 {
 	"name" : "Scene",
 	"sources" : ["Scene"],
-	"includes" : ["../Scene/LogicComponent.h", "../Network/Connection.h"],
+	"includes" : ["../../Scene/LogicComponent.h", "../../Network/Connection.h"],
 	"classes" : ["Animatable", "Node", "Scene", "Component", "Serializable", 
 				 "ObjectAnimation", "SmoothedTransform", "SplinePath",
 				 "ValueAnimation", "ValueAnimationInfo"],

+ 1 - 1
Source/Tools/JSBind/modules/UI.json

@@ -1,7 +1,7 @@
 {
 	"name" : "UI",
 	"sources" : ["UI"],
-	"includes" : ["../Graphics/Material.h", "../Scene/Node.h", "../Scene/Scene.h", "../Graphics/Texture2D.h"],
+	"includes" : ["../../Graphics/Material.h", "../../Scene/Node.h", "../../Scene/Scene.h", "../../Graphics/Texture2D.h"],
 	"classes" : ["Font", "UI", "UIElement", "Text", "BorderImage", "Button", "CheckBox",
 			     "Cursor", "DropDownList", "Menu", "FileSelector", "FontFace", "FontFaceBitmap", 
 			     "FontFaceFreeType", "LineEdit", "ListView", "ScrollView", "MessageBox",