Win32 compile fixes

This commit is contained in:
Daniel Collin 2012-11-08 14:43:46 +01:00
parent aeb99eb6ec
commit b2642100f5
7 changed files with 77 additions and 82 deletions

View File

@ -14,15 +14,6 @@
#include "../../sync/base.h"
#include "../../sync/data.h"
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#if defined(EMGUI_MACOSX)
#define FONT_PATH "/Library/Fonts/"
#elif defined(EMGUI_WINDOWS)
#define FONT_PATH "C:\\Windows\\Fonts\\"
#else
#error "Unsupported platform"
#endif
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@ -99,16 +90,18 @@ void Editor_init()
static void drawStatus()
{
char temp[256];
int row, idx;
const char *str = "---";
const struct sync_track* track;
struct sync_track** tracks = getTracks();
int active_track = getActiveTrack();
if (!tracks)
return;
int active_track = getActiveTrack();
const struct sync_track* track = tracks[active_track];
int row = s_editorData.trackViewInfo.rowPos;
int idx = key_idx_floor(track, row);
const char *str = "---";
track = tracks[active_track];
row = s_editorData.trackViewInfo.rowPos;
idx = key_idx_floor(track, row);
if (idx >= 0)
{
switch (track->keys[idx].type)
@ -243,21 +236,22 @@ bool Editor_keyDown(int key, int modifiers)
is_editing = true;
}
s_editBuffer[strlen(s_editBuffer)] = key;
s_editBuffer[strlen(s_editBuffer)] = (char)key;
s_editorData.trackData.editText = s_editBuffer;
return true;
}
else if (is_editing)
{
const char* track_name;
struct track_key key;
struct sync_track* track = tracks[active_track];
key.row = row_pos;
key.value = atof(s_editBuffer);
key.value = (float)atof(s_editBuffer);
key.type = 0;
struct sync_track* track = tracks[active_track];
const char* track_name = track->name;
track_name = track->name;
sync_set_key(track, &key);
@ -271,6 +265,7 @@ bool Editor_keyDown(int key, int modifiers)
if (key == 'i')
{
struct track_key newKey;
struct sync_track* track = tracks[active_track];
int row = s_editorData.trackViewInfo.rowPos;
@ -279,7 +274,7 @@ bool Editor_keyDown(int key, int modifiers)
return false;
// copy and modify
struct track_key newKey = track->keys[idx];
newKey = track->keys[idx];
newKey.type = ((newKey.type + 1) % KEY_TYPE_COUNT);
sync_set_key(track, &newKey);

View File

@ -66,7 +66,9 @@
* Do we have threading support?
*/
#if defined(__APPLE__)
#define HAVE_PTHREAD_H 1
#endif
/*

View File

@ -126,12 +126,13 @@ static bool setBlocking(int sock, bool blocking)
bool RemoteConnection_createListner()
{
struct sockaddr_in sin;
s_serverSocket = socket(AF_INET, SOCK_STREAM, 0);
if (s_serverSocket == INVALID_SOCKET)
return false;
struct sockaddr_in sin;
memset(&sin, 0, sizeof sin);
sin.sin_family = AF_INET;

View File

@ -50,7 +50,7 @@ static void printRowNumbers(int x, int y, int rowCount, int rowOffset, int rowSp
static void renderChannel(struct sync_track* track, int startX, int startY, int startPos, int endPos)
{
uint x, y;
int x, y, y_offset;
uint32_t color = Emgui_color32(40, 40, 40, 255);
Emgui_drawBorder(color, color, startX, startY - 20, 160, 600);
@ -58,7 +58,7 @@ static void renderChannel(struct sync_track* track, int startX, int startY, int
if (track)
Emgui_drawText(track->name, startX + 2, startY + 2, Emgui_color32(0xff, 0xff, 0xff, 0xff));
int y_offset = startY;// + font_size / 2;
y_offset = startY;// + font_size / 2;
if (startPos < 0)
{
@ -117,36 +117,20 @@ static void renderChannel(struct sync_track* track, int startX, int startY, int
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int doMax(int a, int b)
{
if (b >= a)
return b;
else
return a;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
static inline int min(int a, int b)
{
if (a < b)
return a;
else
return b;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
void TrackView_render(const TrackViewInfo* viewInfo, TrackData* trackData)
{
struct sync_data* syncData = &trackData->syncData;
const int sel_track = trackData->activeTrack;
uint32_t color = Emgui_color32(127, 127, 127, 56);
int num_tracks;
int max_render_tracks;
int start_track = 0;
int x_pos = 40;
int end_track = 0;
int i = 0;
// TODO: Calculate how many channels we can draw given the width
uint i = 0; //, channel_count = 10;
printRowNumbers(2, 42, 40, start_pos + viewInfo->rowPos, font_size, 8);
if (syncData->num_tracks == 0)
@ -154,26 +138,21 @@ void TrackView_render(const TrackViewInfo* viewInfo, TrackData* trackData)
renderChannel(0, 40 + (i * 64), 42,
(start_pos + viewInfo->rowPos),
(start_pos + viewInfo->rowPos + 40));
uint32_t color = Emgui_color32(127, 127, 127, 56);
Emgui_fill(color, 0, 257, 800, font_size + 2);
Emgui_fill(Emgui_color32(127, 127, 127, 56), 0, 257, 800, font_size + 2);
return;
}
int num_tracks = syncData->num_tracks;
num_tracks = syncData->num_tracks;
int max_render_tracks = viewInfo->windowSizeX / 128;
max_render_tracks = viewInfo->windowSizeX / 128;
if (num_tracks > max_render_tracks)
num_tracks = max_render_tracks;
int start_track = 0;
if (sel_track > 3)
start_track = sel_track - 3;
int x_pos = 40;
const int end_track = min(start_track + num_tracks, syncData->num_tracks);
end_track = emini(start_track + num_tracks, syncData->num_tracks);
for (i = start_track; i < end_track; ++i)
{
@ -192,8 +171,6 @@ void TrackView_render(const TrackViewInfo* viewInfo, TrackData* trackData)
x_pos += 160;
}
uint32_t color = Emgui_color32(127, 127, 127, 56);
Emgui_fill(color, 0, 257, 800, font_size + 3);
}

View File

@ -11,7 +11,8 @@
static void parseXml(mxml_node_t* rootNode, TrackData* trackData)
{
int track_index = 0;
struct track_key k;
int is_key, track_index = 0;
//struct sync_track** tracks = trackData->syncData.tracks;
mxml_node_t* node = rootNode;
@ -72,12 +73,11 @@ static void parseXml(mxml_node_t* rootNode, TrackData* trackData)
const char* value = mxmlElementGetAttr(node, "value");
const char* interpolation = mxmlElementGetAttr(node, "interpolation");
struct track_key k;
k.row = atoi(row);
k.value = (float)(atof(value));
k.type = (atoi(interpolation));
int is_key = is_key_frame(track, k.row);
is_key = is_key_frame(track, k.row);
assert(!is_key);
sync_set_key(track, &k);
@ -134,6 +134,8 @@ int LoadSave_saveRocketXML(const char* path, TrackData* trackData)
{
mxml_node_t* xml;
mxml_node_t* tracks;
FILE* fp;
size_t p;
struct sync_data* sync_data = &trackData->syncData;
@ -142,13 +144,14 @@ int LoadSave_saveRocketXML(const char* path, TrackData* trackData)
mxmlElementSetAttr(tracks, "rows", "1000000"); // TODO: Fix me
for (size_t i = 0; i < sync_data->num_tracks; ++i)
for (p = 0; p < sync_data->num_tracks; ++p)
{
const struct sync_track* t = sync_data->tracks[i];
int i;
const struct sync_track* t = sync_data->tracks[p];
mxml_node_t* track = mxmlNewElement(tracks, "track");
mxmlElementSetAttr(track, "name", t->name);
for (int i = 0; i < (int)t->num_keys; ++i)
for (i = 0; i < (int)t->num_keys; ++i)
{
char temp0[256];
char temp1[256];
@ -174,7 +177,7 @@ int LoadSave_saveRocketXML(const char* path, TrackData* trackData)
}
}
FILE* fp = fopen(path, "wt");
fp = fopen(path, "wt");
mxmlSaveFile(xml, fp, MXML_NO_CALLBACK);
fclose(fp);

View File

@ -1,3 +1,28 @@
local macosx = {
Env = {
CPPDEFS = { "EMGUI_MACOSX" },
CCOPTS = {
-- "-Weverything",
"-Wno-deprecated-declarations", -- TickCount issue no Mountain Lion (needs to be fixed)
"-I.", "-DMACOSX", "-Wall",
{ "-O0", "-g"; Config = "*-*-debug" },
{ "-O3"; Config = "*-*-release" },
},
},
Frameworks = { "Cocoa" },
}
local win32 = {
Env = {
GENERATE_PDB = "1",
CCOPTS = {
"/W4", "/I.", "/DWIN32", "/D_CRT_SECURE_NO_WARNINGS",
{ "/Od"; Config = "*-*-debug" },
{ "/O2"; Config = "*-*-release" },
},
},
}
Build {
Units = "units.lua",
@ -5,20 +30,7 @@ Build {
SyntaxExtensions = { "tundra.syntax.glob", "tundra.syntax.osx-bundle" },
Configs = {
{
Name = "macosx-clang",
DefaultOnHost = "macosx",
Tools = { "clang-osx" },
Env = {
LIBPATH = { "/usr/lib/gcc/i686-apple-darwin10/4.2.1/x86_64" },
CPPDEFS = { "SDLROCKET_MACOSX" },
CCOPTS = {
{ "-g", "-O0" ; Config = { "*-gcc-debug", "*-clang-debug" } }
},
CXXOPTS = {
{ "-g", "-O0"; Config = "macosx-clang-debug" },
},
},
},
Config { Name = "macosx-clang", DefaultOnHost = "macosx", Inherit = macosx, Tools = { "clang-osx" } },
Config { Name = "win32-msvc", DefaultOnHost = { "windows" }, Inherit = win32, Tools = { "msvc" } },
},
}

View File

@ -96,7 +96,7 @@ Program {
Sources = {
FGlob {
Dir = "ogl_editor/src",
Extensions = { ".c", ".m" },
Extensions = { ".c" },
Filters = {
{ Pattern = "macosx"; Config = "macosx-*-*" },
{ Pattern = "windows"; Config = { "win32-*-*", "win64-*-*" } },
@ -105,8 +105,6 @@ Program {
},
}
Default "editor"
local rocketBundle = OsxBundle
{
Depends = { "editor" },
@ -119,6 +117,13 @@ local rocketBundle = OsxBundle
},
}
Default(rocketBundle)
local native = require('tundra.native')
if native.platform == "macosx" then
Default(rocketBundle)
else
Default "editor"
end