Can now load XML files to the rocket data

This commit is contained in:
Daniel Collin 2012-10-28 15:56:01 +01:00
parent 2c88f2470b
commit 275dbf68ec
3 changed files with 17 additions and 8 deletions

View File

@ -27,7 +27,6 @@
typedef struct EditorData typedef struct EditorData
{ {
struct sync_data syncData;
TrackViewInfo trackViewInfo; TrackViewInfo trackViewInfo;
TrackData trackData; TrackData trackData;
} EditorData; } EditorData;
@ -64,7 +63,7 @@ void Editor_update()
{ {
Emgui_begin(); Emgui_begin();
TrackView_render(&s_editorData.trackViewInfo, &s_editorData.syncData); TrackView_render(&s_editorData.trackViewInfo, &s_editorData.trackData.syncData);
Emgui_end(); Emgui_end();
} }
@ -165,7 +164,7 @@ static void processCommands()
// setup remap and send the keyframes to the demo // setup remap and send the keyframes to the demo
RemoteConnection_mapTrackName(trackName); RemoteConnection_mapTrackName(trackName);
RemoteConnection_sendKeyFrames(trackName, s_editorData.syncData.tracks[serverIndex]); RemoteConnection_sendKeyFrames(trackName, s_editorData.trackData.syncData.tracks[serverIndex]);
break; break;
} }
@ -199,7 +198,8 @@ void Editor_timedUpdate()
static void onOpen() static void onOpen()
{ {
LoadSave_loadRocketXMLDialog(&s_editorData.trackData); if (LoadSave_loadRocketXMLDialog(&s_editorData.trackData))
Editor_update();
} }
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -7,7 +7,7 @@ int TrackData_createGetTrack(TrackData* trackData, const char* name)
int index = sync_find_track(&trackData->syncData, name); int index = sync_find_track(&trackData->syncData, name);
if (index < 0) if (index < 0)
{ {
int index = sync_create_track(&trackData->syncData, name); index = sync_create_track(&trackData->syncData, name);
trackData->order[trackData->orderCount] = index; trackData->order[trackData->orderCount] = index;
trackData->orderCount++; trackData->orderCount++;
} }

View File

@ -11,9 +11,11 @@ static void parseXml(mxml_node_t* rootNode, TrackData* trackData)
{ {
int track_index = 0; int track_index = 0;
//struct sync_track** tracks = trackData->syncData.tracks; //struct sync_track** tracks = trackData->syncData.tracks;
mxml_node_t* node = rootNode;
// find the tracks element // find the tracks element
/*
mxml_node_t* node = mxmlFindElement(rootNode, rootNode, "tracks", NULL, NULL, MXML_NO_DESCEND); mxml_node_t* node = mxmlFindElement(rootNode, rootNode, "tracks", NULL, NULL, MXML_NO_DESCEND);
if (!node) if (!node)
@ -30,6 +32,9 @@ static void parseXml(mxml_node_t* rootNode, TrackData* trackData)
return; return;
} }
} }
*/
// Traverse the tracks node data // Traverse the tracks node data
@ -50,10 +55,12 @@ static void parseXml(mxml_node_t* rootNode, TrackData* trackData)
{ {
// TODO: Create the new track/channel here // TODO: Create the new track/channel here
track_index = TrackData_createGetTrack(trackData, element_name); const char* track_name = mxmlElementGetAttr(node, "name");
track_index = TrackData_createGetTrack(trackData, track_name);
printf("track_index %d\n", track_index); printf("track_index %d\n", track_index);
printf("Creating track/channel with name %s\n", mxmlElementGetAttr(node, "name")); printf("Creating track/channel with name %s\n", track_name);
} }
else if (!strcmp("key", element_name)) else if (!strcmp("key", element_name))
{ {
@ -68,7 +75,9 @@ static void parseXml(mxml_node_t* rootNode, TrackData* trackData)
k.value = (float)(atof(value)); k.value = (float)(atof(value));
k.type = (atoi(interpolation)); k.type = (atoi(interpolation));
assert(!is_key_frame(track, k.row)); int is_key = is_key_frame(track, k.row);
assert(!is_key);
sync_set_key(track, &k); sync_set_key(track, &k);
printf("Adding key: row %s | value %s | interpolation %s\n", row, value, interpolation); printf("Adding key: row %s | value %s | interpolation %s\n", row, value, interpolation);