вот, 3 часа работы
и Ingame (внутри игровой) редактор карт вейпоинтов готов
возможности :
загрузка \ сохранение вейпоинтов из файла \ в файл
создание \ редактирование \ удаление точек
создание \ редактирование \ удаление связей между точками
автоматическое создание связей между точками
загрузчик карт может создавать связи как в оригинале так и дву направленые
тоесть в оригинале точка 1 связана с точкой 2
то загрузчик может поставить связь точки 2 с точкой 1 автоматом
из плюсов можно выделить довольно прикольный интерфейс :
class IEditor:public irr::IUnknown
{
public:
void Update();
};
IEditor * CreateEditor(IDevice * dev,irr::scene::ISceneNode * node)
а из минусов - облилие монстроустрашающих конструкций внутри класса редактора :
for (int i=0;i<(int)waymap->Points.size();i++)
if (waymap->Points[i] == con->point1)
for (int i2=0;i2<(int)waymap->Points[i]->Conection.size();i2++)
if (waymap->Points[i]->Conection[i2] == con->point2)
waymap->Points[i]->Conection.erase(i2);
основная сложность - синхронизировать GUI с классом вейпоинт карт
ps. потом по етой карте вейпоинтов генерятся сплайны
и по ним ездят машинки
ps2. с одной карты вейпоинтов можно снять дофига разных сплайнов
потому что один вейпоинт может иметь дофига связей