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
{
struct sync_data syncData;
TrackViewInfo trackViewInfo;
TrackData trackData;
} EditorData;
@ -64,7 +63,7 @@ void Editor_update()
{
Emgui_begin();
TrackView_render(&s_editorData.trackViewInfo, &s_editorData.syncData);
TrackView_render(&s_editorData.trackViewInfo, &s_editorData.trackData.syncData);
Emgui_end();
}
@ -165,7 +164,7 @@ static void processCommands()
// setup remap and send the keyframes to the demo
RemoteConnection_mapTrackName(trackName);
RemoteConnection_sendKeyFrames(trackName, s_editorData.syncData.tracks[serverIndex]);
RemoteConnection_sendKeyFrames(trackName, s_editorData.trackData.syncData.tracks[serverIndex]);
break;
}
@ -199,7 +198,8 @@ void Editor_timedUpdate()
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);
if (index < 0)
{
int index = sync_create_track(&trackData->syncData, name);
index = sync_create_track(&trackData->syncData, name);
trackData->order[trackData->orderCount] = index;
trackData->orderCount++;
}

View File

@ -11,9 +11,11 @@ static void parseXml(mxml_node_t* rootNode, TrackData* trackData)
{
int track_index = 0;
//struct sync_track** tracks = trackData->syncData.tracks;
mxml_node_t* node = rootNode;
// find the tracks element
/*
mxml_node_t* node = mxmlFindElement(rootNode, rootNode, "tracks", NULL, NULL, MXML_NO_DESCEND);
if (!node)
@ -30,6 +32,9 @@ static void parseXml(mxml_node_t* rootNode, TrackData* trackData)
return;
}
}
*/
// 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
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("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))
{
@ -68,7 +75,9 @@ static void parseXml(mxml_node_t* rootNode, TrackData* trackData)
k.value = (float)(atof(value));
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);
printf("Adding key: row %s | value %s | interpolation %s\n", row, value, interpolation);