Esempio n. 1
0
   EditorMainWindow::EditorMainWindow(EditorApplication* app, QWidget* parent)
      : QMainWindow(parent)
      , mApplication(app)
      , mEntityTreeDock(NULL)
      , mSpawnersDock(NULL)
      , mPropertyEditorDock(NULL)
   {

      mUpdateTimer = new QTimer(this);
      connect(mUpdateTimer, SIGNAL(timeout()), this, SLOT(EmitQueuedMessages()));
      mUpdateTimer->start(100);


      // register local message pump to receive messages from game message pump
      dtEntity::MessageFunctor functor(&mMessagePump, &dtEntity::MessagePump::EnqueueMessage);
      dtEntity::EntityManager& em = mApplication->GetEntityManager();
      em.RegisterForMessages(dtEntity::ToolsUpdatedMessage::TYPE, functor);
      em.RegisterForMessages(dtEntity::SceneLoadedMessage::TYPE, functor);
      em.RegisterForMessages(dtEntity::SceneUnloadedMessage::TYPE, functor);
      em.RegisterForMessages(dtEntity::MapLoadedMessage::TYPE, functor);
      em.RegisterForMessages(dtEntity::MapUnloadedMessage::TYPE, functor);

      mMessagePump.RegisterForMessages(dtEntity::ToolsUpdatedMessage::TYPE, dtEntity::MessageFunctor(this, &EditorMainWindow::OnToolsUpdated));
      mMessagePump.RegisterForMessages(dtEntity::SceneLoadedMessage::TYPE, dtEntity::MessageFunctor(this, &EditorMainWindow::OnSceneLoaded));
      mMessagePump.RegisterForMessages(dtEntity::SceneUnloadedMessage::TYPE, dtEntity::MessageFunctor(this, &EditorMainWindow::OnSceneUnloaded));
      mMessagePump.RegisterForMessages(dtEntity::MapLoadedMessage::TYPE, dtEntity::MessageFunctor(this, &EditorMainWindow::OnMapLoaded));
      mMessagePump.RegisterForMessages(dtEntity::MapUnloadedMessage::TYPE, dtEntity::MessageFunctor(this, &EditorMainWindow::OnMapUnloaded));


      setMinimumSize(800, 600);
      layout()->setContentsMargins(0, 0, 0, 0);

      setDockOptions(QMainWindow::AnimatedDocks | QMainWindow::AllowTabbedDocks |
                     QMainWindow::VerticalTabs);


      setWindowTitle("dtEntity Editor");

      createActions();
      createMenus();
      createToolBars();
      CreateDockWidgets();

      connect(this, SIGNAL(LoadScene(const QString&)), app, SLOT(LoadScene(const QString&)));
      connect(this, SIGNAL(NewScene()), app, SLOT(NewScene()));
      connect(this, SIGNAL(SaveScene(QString)), app, SLOT(SaveScene(QString)));

   }
Esempio n. 2
0
/*
 * Set up resources.
 */
void AddInitialResources() {
  ResAdd("Canvas", NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT));
  ResAdd("Scene", NewScene());
#if 0
  ResAdd("Mesh", NewMeshFromFile("data/shattered_ball.robj"));
  ResAdd("ColorMap", NewPixBufFromFile("data/shattered_ball_cmap.8"));
  ResAddPngImage("ColorMap", "Palette", "data/wecan_logo_cmap.png");
  ResAdd("Palette", NewPaletteFromFile("data/shattered_ball_cmap.pal"));
#else
  ResAdd("Mesh", NewMeshFromFile("data/wecan_logo.robj"));
#endif

  {
    MeshT *mesh = R_("Mesh");

    CalculateSurfaceNormals(mesh);
    NormalizeMeshSize(mesh);
    MeshApplyPalette(mesh, R_("Palette"));
  }

  SceneAddObject(R_("Scene"), NewSceneObject("Object", R_("Mesh")));

  RenderMode = RENDER_GOURAUD_SHADING;
  RenderAllFaces = false;
}
Esempio n. 3
0
void SceneEditorScreenMain::OnNewPressed(BaseObject * obj, void *, void *)
{
    NewScene();
    bodies[0]->bodyControl->ReleaseScene();
    bodies[0]->bodyControl->CreateScene(true);
    bodies[0]->bodyControl->Refresh();
}
Esempio n. 4
0
void QtMainWindow::SetupActions()
{
	QtMainWindowHandler *actionHandler = QtMainWindowHandler::Instance();

	//File
	connect(ui->menuFile, SIGNAL(triggered(QAction *)), actionHandler, SLOT(FileMenuTriggered(QAction *)));
	connect(ui->actionNewScene, SIGNAL(triggered()), actionHandler, SLOT(NewScene()));
	connect(ui->actionOpenScene, SIGNAL(triggered()), actionHandler, SLOT(OpenScene()));
	connect(ui->actionOpenProject, SIGNAL(triggered()), actionHandler, SLOT(OpenProject()));
	connect(ui->actionSaveScene, SIGNAL(triggered()), actionHandler, SLOT(SaveScene()));
	connect(ui->actionSaveToFolder, SIGNAL(triggered()), actionHandler, SLOT(SaveToFolderWithChilds()));
    
    ui->actionExportPVRIOS->setData(GPU_POWERVR_IOS);
    ui->actionExportPVRAndroid->setData(GPU_POWERVR_ANDROID);
    ui->actionExportTegra->setData(GPU_TEGRA);
    ui->actionExportMali->setData(GPU_MALI);
    ui->actionExportAdreno->setData(GPU_ADRENO);
    ui->actionExportPNG->setData(GPU_UNKNOWN);
	connect(ui->menuExport, SIGNAL(triggered(QAction *)), actionHandler, SLOT(ExportMenuTriggered(QAction *)));
    
    
	connect(ui->actionReloadAll, SIGNAL(triggered()), actionHandler, SLOT(RepackAndReloadTextures()));

	//View
	connect(ui->actionRestoreViews, SIGNAL(triggered()), actionHandler, SLOT(RestoreViews()));

	//Tools
	connect(ui->actionMaterialEditor, SIGNAL(triggered()), actionHandler, SLOT(Materials()));
	connect(ui->actionTextureConverter, SIGNAL(triggered()), actionHandler, SLOT(ConvertTextures()));
	connect(ui->actionHeightMapEditor, SIGNAL(triggered()), actionHandler, SLOT(HeightmapEditor()));
	connect(ui->actionTileMapEditor, SIGNAL(triggered()), actionHandler, SLOT(TilemapEditor()));
	connect(ui->actionRulerTool, SIGNAL(triggered()), actionHandler, SLOT(RulerTool()));
	connect(ui->actionShowSettings, SIGNAL(triggered()), actionHandler, SLOT(ShowSettings()));
    connect(ui->actionSquareTextures, SIGNAL(triggered()), actionHandler, SLOT(SquareTextures()));
    connect(ui->actionShowMipmapLevel, SIGNAL(triggered()), actionHandler, SLOT(ReplaceZeroMipmaps()));
    
#if defined (__DAVAENGINE_MACOS__)
    ui->menuTools->removeAction(ui->actionBeast);
#else //#if defined (__DAVAENGINE_MACOS__)
	connect(ui->actionBeast, SIGNAL(triggered()), actionHandler, SLOT(Beast()));
#endif //#if defined (__DAVAENGINE_MACOS__)
    
	//Edit
	connect(ui->actionConvertToShadow, SIGNAL(triggered()), actionHandler, SLOT(ConvertToShadow()));
    
	//Temporary hided for development-qa branch
	ui->actionEnableCameraLight->setVisible(false);
    ui->actionEnableCameraLight->setChecked(EditorSettings::Instance()->GetShowEditorCamerLight());
	connect(ui->actionEnableCameraLight, SIGNAL(triggered()), actionHandler, SLOT(CameraLightTrigerred()));

    //Help
    connect(ui->actionHelp, SIGNAL(triggered()), actionHandler, SLOT(OpenHelp()));
}
Esempio n. 5
0
static void Init() {
  canvas = NewPixBuf(PIXBUF_CLUT, WIDTH, HEIGHT);

  uvmap = NewUVMap(WIDTH, HEIGHT, UV_FAST, 256, 256);
  UVMapGenerate2(uvmap);
  UVMapSetTexture(uvmap, texture);

  orig = NewPixBuf(PIXBUF_GRAY, WIDTH, HEIGHT);
  PixBufBlit(orig, 0, 0,
             NewPixBufWrapper(WIDTH, HEIGHT, uvmap->map.fast.u), NULL);

  scene = NewScene();
  SceneAddObject(scene, NewSceneObject("Object", mesh));

  shades = NewPixBuf(PIXBUF_GRAY, WIDTH, HEIGHT);

  InitDisplay(WIDTH, HEIGHT, DEPTH);
  LoadPalette(texturePal);
}
Esempio n. 6
0
void MpView::NewDataSet (int dataset_index, int graph_index)
{
    if (dataset_index < 0) return;

    for (MpViewGraphMap::iterator i = Graphs.begin(); i != Graphs.end(); ++i) {
        int grf = i->first;
        if (dataset_index == i->second.iset
                && (graph_index < 0 || graph_index == grf)) {
            MpViewGraphData *G = &GD(grf);
            if (DataSetExists(dataset_index)) {
                switch (G->DS().GetDataType()) {
                case MpViewDataSet::a_EmptySet:
                    // nothing to do
                    break;
                case MpViewDataSet::a_Matrix:
                    NewMatrix(G);
                    break;
                case MpViewDataSet::a_Matrix3d:
                    NewVolume(G);
                    break;
                case MpViewDataSet::a_ComplexMatrix:
                    NewComplexMatrix(G,G->DS().C);
                    break;
                case MpViewDataSet::a_Scene:
                    NewScene(G);
                    break;
                case MpViewDataSet::a_XYZSet:
                    NewXYZSet(G);
                    break;
                case MpViewDataSet::a_Image:
                    cerr<<"MpView::NewDataSet: IMAGE - can't happen"<<endl;
                    break;
                default:
                    cerr<<"MpView::NewDataSet: found illegal data set type" << endl;
                    break;
                }
            } else {
                // data set doesn't exist (e.g. was deleted) -> unlink
                G->iset = -1;
            }
        }
    }
}