NetPlayDialog::NetPlayDialog(wxWindow* const parent, const GameListCtrl* const game_list, const std::string& game, const bool is_hosting) : wxFrame(parent, wxID_ANY, _("Dolphin NetPlay")), m_selected_game(game), m_start_btn(nullptr), m_host_label(nullptr), m_host_type_choice(nullptr), m_host_copy_btn(nullptr), m_host_copy_btn_is_retry(false), m_is_hosting(is_hosting), m_game_list(game_list) { Bind(wxEVT_THREAD, &NetPlayDialog::OnThread, this); CreateGUI(); SetIcons(WxUtils::GetDolphinIconBundle()); Center(); // Remember the window size and position for NetWindow { int winPosX, winPosY, winWidth, winHeight; wxConfig::Get()->Read("NetWindowPosX", &winPosX, std::numeric_limits<int>::min()); wxConfig::Get()->Read("NetWindowPosY", &winPosY, std::numeric_limits<int>::min()); wxConfig::Get()->Read("NetWindowWidth", &winWidth, -1); wxConfig::Get()->Read("NetWindowHeight", &winHeight, -1); WxUtils::SetWindowSizeAndFitToScreen(this, wxPoint(winPosX, winPosY), wxSize(winWidth, winHeight), GetSize()); } }
void SelectableObjectClass::OnSelect() { CreateGUI(); }
GUIController_VariableModel::GUIController_VariableModel( std::string type, std::string varname, void * defaultData, int _startY) : mType(type), mVarname(varname), mDefaultData(defaultData), startY(_startY) { mGVM = GetDataFromType(type); CreateGUI(); }
// Creation void VoxGame::Create(VoxSettings* pVoxSettings) { m_pRenderer = NULL; m_pGameCamera = NULL; m_pQubicleBinaryManager = NULL; m_pPlayer = NULL; m_pChunkManager = NULL; m_GUICreated = false; m_pVoxSettings = pVoxSettings; m_pVoxApplication = new VoxApplication(this, m_pVoxSettings); m_pVoxWindow = new VoxWindow(this, m_pVoxSettings); // Create application and window m_pVoxApplication->Create(); m_pVoxWindow->Create(); /* Setup the FPS and deltatime counters */ #ifdef _WIN32 QueryPerformanceCounter(&m_fpsPreviousTicks); QueryPerformanceCounter(&m_fpsCurrentTicks); QueryPerformanceFrequency(&m_fpsTicksPerSecond); #else struct timeval tm; gettimeofday(&tm, NULL); m_fpsCurrentTicks = (double)tm.tv_sec + (double)tm.tv_usec / 1000000.0; m_fpsPreviousTicks = (double)tm.tv_sec + (double)tm.tv_usec / 1000000.0; #endif //_WIN32 m_deltaTime = 0.0f; m_fps = 0.0f; /* Setup the initial starting wait timing */ m_initialWaitTimer = 0.0f; m_initialWaitTime = 0.5f; m_initialStartWait = true; /* Create the renderer */ m_windowWidth = m_pVoxWindow->GetWindowWidth(); m_windowHeight = m_pVoxWindow->GetWindowHeight(); m_pRenderer = new Renderer(m_windowWidth, m_windowHeight, 32, 8); /* Create the GUI */ m_pGUI = new OpenGLGUI(m_pRenderer); /* Create cameras */ m_pGameCamera = new Camera(m_pRenderer); m_pGameCamera->SetPosition(vec3(8.0f, 8.25f, 15.5f)); m_pGameCamera->SetFakePosition(m_pGameCamera->GetPosition()); m_pGameCamera->SetFacing(vec3(0.0f, 0.0f, -1.0f)); m_pGameCamera->SetUp(vec3(0.0f, 1.0f, 0.0f)); m_pGameCamera->SetRight(vec3(1.0f, 0.0f, 0.0f)); /* Create viewports */ m_pRenderer->CreateViewport(0, 0, m_windowWidth, m_windowHeight, 60.0f, &m_defaultViewport); /* Create fonts */ m_pRenderer->CreateFreeTypeFont("media/fonts/arial.ttf", 12, &m_defaultFont); /* Create lights */ m_defaultLightPosition = vec3(300.0f, 300.0f, 300.0f); m_defaultLightView = vec3(0.0f, 0.0f, 0.0f); vec3 lightDirection = m_defaultLightView - m_defaultLightPosition; m_pRenderer->CreateLight(Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f), m_defaultLightPosition, lightDirection, 0.0f, 0.0f, 2.0f, 0.001f, 0.0f, true, false, &m_defaultLight); /* Create materials */ m_pRenderer->CreateMaterial(Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f), 64, &m_defaultMaterial); /* Create the frame buffers */ bool frameBufferCreated = false; frameBufferCreated = m_pRenderer->CreateFrameBuffer(-1, true, true, true, true, m_windowWidth, m_windowHeight, 1.0f, "SSAO", &m_SSAOFrameBuffer); frameBufferCreated = m_pRenderer->CreateFrameBuffer(-1, true, true, true, true, m_windowWidth, m_windowHeight, 5.0f, "Shadow", &m_shadowFrameBuffer); frameBufferCreated = m_pRenderer->CreateFrameBuffer(-1, true, true, true, true, m_windowWidth, m_windowHeight, 1.0f, "Deferred Lighting", &m_lightingFrameBuffer); frameBufferCreated = m_pRenderer->CreateFrameBuffer(-1, true, true, true, true, m_windowWidth, m_windowHeight, 1.0f, "Transparency", &m_transparencyFrameBuffer); frameBufferCreated = m_pRenderer->CreateFrameBuffer(-1, true, true, true, true, m_windowWidth, m_windowHeight, 1.0f, "FXAA", &m_FXAAFrameBuffer); frameBufferCreated = m_pRenderer->CreateFrameBuffer(-1, true, true, true, true, m_windowWidth, m_windowHeight, 1.0f, "FullScreen 1st Pass", &m_firstPassFullscreenBuffer); frameBufferCreated = m_pRenderer->CreateFrameBuffer(-1, true, true, true, true, m_windowWidth, m_windowHeight, 1.0f, "FullScreen 2nd Pass", &m_secondPassFullscreenBuffer); /* Create the shaders */ bool shaderLoaded = false; m_defaultShader = -1; m_phongShader = -1; m_SSAOShader = -1; m_shadowShader = -1; m_lightingShader = -1; m_textureShader = -1; m_fxaaShader = -1; m_blurVerticalShader = -1; m_blurHorizontalShader = -1; shaderLoaded = m_pRenderer->LoadGLSLShader("media/shaders/default.vertex", "media/shaders/default.pixel", &m_defaultShader); shaderLoaded = m_pRenderer->LoadGLSLShader("media/shaders/phong.vertex", "media/shaders/phong.pixel", &m_phongShader); shaderLoaded = m_pRenderer->LoadGLSLShader("media/shaders/shadow.vertex", "media/shaders/shadow.pixel", &m_shadowShader); shaderLoaded = m_pRenderer->LoadGLSLShader("media/shaders/texture.vertex", "media/shaders/texture.pixel", &m_textureShader); shaderLoaded = m_pRenderer->LoadGLSLShader("media/shaders/fullscreen/SSAO.vertex", "media/shaders/fullscreen/SSAO.pixel", &m_SSAOShader); shaderLoaded = m_pRenderer->LoadGLSLShader("media/shaders/fullscreen/fxaa.vertex", "media/shaders/fullscreen/fxaa.pixel", &m_fxaaShader); shaderLoaded = m_pRenderer->LoadGLSLShader("media/shaders/fullscreen/lighting.vertex", "media/shaders/fullscreen/lighting.pixel", &m_lightingShader); shaderLoaded = m_pRenderer->LoadGLSLShader("media/shaders/fullscreen/blur_vertical.vertex", "media/shaders/fullscreen/blur_vertical.pixel", &m_blurVerticalShader); shaderLoaded = m_pRenderer->LoadGLSLShader("media/shaders/fullscreen/blur_horizontal.vertex", "media/shaders/fullscreen/blur_horizontal.pixel", &m_blurHorizontalShader); /* Create the chunk manager*/ m_pChunkManager = new ChunkManager(m_pRenderer, m_pVoxSettings); m_pChunkManager->SetStepLockEnabled(m_pVoxSettings->m_stepUpdating); /* Create the qubicle binary file manager */ m_pQubicleBinaryManager = new QubicleBinaryManager(m_pRenderer); /* Create the lighting manager */ m_pLightingManager = new LightingManager(m_pRenderer); /* Create the block particle manager */ m_pBlockParticleManager = new BlockParticleManager(m_pRenderer); /* Create the player */ m_pPlayer = new Player(m_pRenderer, m_pChunkManager, m_pQubicleBinaryManager, m_pLightingManager, m_pBlockParticleManager); /* Create the frontend manager */ m_pFrontendManager = new FrontendManager(m_pRenderer); /* Create module and manager linkage */ m_pChunkManager->SetPlayer(m_pPlayer); /* Initial chunk creation (Must be after player pointer sent to chunks) */ m_pChunkManager->InitializeChunkCreation(); // Keyboard movement m_bKeyboardForward = false; m_bKeyboardBackward = false; m_bKeyboardStrafeLeft = false; m_bKeyboardStrafeRight = false; m_bKeyboardLeft = false; m_bKeyboardRight = false; m_bKeyboardUp = false; m_bKeyboardDown = false; m_bKeyboardSpace = false; // Joystick flags m_bJoystickJump = false; // Combat flags m_bAttackPressed_Mouse = false; m_bAttackReleased_Mouse = false; m_bAttackPressed_Joystick = false; m_bAttackReleased_Joystick = false; m_bCanDoAttack_Mouse = true; m_bCanDoAttack_Joystick = true; // Camera movement m_bCameraRotate = false; m_pressedX = 0; m_pressedY = 0; m_currentX = 0; m_currentY = 0; m_cameraDistance = m_pGameCamera->GetZoomAmount(); m_maxCameraDistance = m_cameraDistance; m_autoCameraMovingModifier = 1.0f; // Player movement m_keyboardMovement = false; m_gamepadMovement = false; m_movementSpeed = 0.0f; m_movementDragTime = 0.45f; m_movementIncreaseTime = 0.25f; m_maxMovementSpeed = 10.0f; m_movementStopThreshold = 0.05f; // Toggle flags m_deferredRendering = true; m_modelWireframe = false; m_modelAnimationIndex = 0; m_multiSampling = true; m_ssao = true; m_blur = false; m_shadows = true; m_dynamicLighting = true; m_animationUpdate = true; m_fullscreen = m_pVoxSettings->m_fullscreen; m_debugRender = false; m_instanceRender = true; // Camera mode m_cameraMode = CameraMode_Debug; m_previousCameraMode = CameraMode_Debug; // Game mode m_gameMode = GameMode_Debug; SetGameMode(m_gameMode); /* Create, setup and skin the GUI components */ CreateGUI(); SetupGUI(); SkinGUI(); }
/** Start an asteroids game. */ void Asteroids::Start() { // Add a player (watcher) to the game world mGameWorld->AddListener(&mPlayer); // Add a score keeper to the game world mGameWorld->AddListener(&mScoreKeeper); // Add this class as a listener of the score keeper mScoreKeeper.AddListener(this); // Add this class as a listener of the game world mGameWorld->AddListener(this); // Add this class as a listener of the player mPlayer.AddListener(this); // Create user interface CreateGUI(); // Create an ambient light to show sprite textures GLfloat ambient_light[] = { 1.0f, 1.0f, 1.0f, 1.0f }; GLfloat diffuse_light[] = { 1.0f, 1.0f, 1.0f, 1.0f }; glLightfv(GL_LIGHT1, GL_AMBIENT, ambient_light); glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse_light); glEnable(GL_LIGHT1); mSelectedShape = new Shape("ASSETS/selected.shape"); Animation *explosion_anim = AnimationManager::GetInstance().CreateAnimationFromRawRGBA("explosion", 64, 1024, 64, 64, "ASSETS/explosion_fs.raw", "ASSETS/explosion_fs_alpha.raw"); Animation *asteroid1_anim = AnimationManager::GetInstance().CreateAnimationFromRawRGBA("asteroid1", 128, 8192, 128, 128, "ASSETS/asteroid1_fs.raw", "ASSETS/asteroid1_fs_alpha.raw"); Animation *asteroidOre1_anim = AnimationManager::GetInstance().CreateAnimationFromRawRGBA("asteroidOre1", 128, 8192, 128, 128, "ASSETS/asteroidOre1_fs.raw", "ASSETS/asteroidOre1_fs_alpha.raw"); //Animation *droid_anim = AnimationManager::GetInstance().CreateAnimationFromRawRGBA("droid1", ); Animation *spaceship_anim = AnimationManager::GetInstance().CreateAnimationFromRawRGBA("spaceship", 128, 128, 128, 128, "ASSETS/spaceship_fs.raw", "ASSETS/spaceship_fs_alpha.raw"); // Add this as a listener to the world and the keyboard mGameWindow->AddKeyboardListener(this); // Add this as a listener to the world and the mouse mGameWindow->AddMouseListener(this); // Add the selection box to the world mGameWorld->GiveSelectionBox(mSelectionBox); // Create a spaceship and add it to the world //mGameWorld->AddObject(CreateSpaceship()); // Create some asteroids and add them to the world mLevel = 1; mAsteroidCount = 1; int w = mGameDisplay->GetWidth(); int h = mGameDisplay->GetHeight(); cout << "width : " << w; cout << "height : " << h; // creating asteroids for (int i = 0; i < 10; i++) { int x = (rand() % w) - w/2; int y = (rand() % h) - h/2; mGameWorld->AddObject(CreateAsteroid(x,y)); mAsteroidCount++; } //creating ore asteroids for (int i = 0; i < 10; i++) { int x = (rand() % w) - w/2; int y = (rand() % h) - h/2; mGameWorld->AddObject(CreateAsteroidOre(x,y)); mAsteroidCount++; } // creating drones float rAngle = 0; GLVector3f zero(0.0, 0.0, 0.0); for(int i = 0; i < 2; i++){ GLVector3f new_drone_offset(cos(DEG2RAD*rAngle), sin(DEG2RAD*rAngle), 0.0); new_drone_offset.normalize(); GLVector3f drone_position = zero + (new_drone_offset * 20); mGameWorld->AddObject(CreateDrone(drone_position.x,drone_position.y)); rAngle += 360 / 2; } // creaing a single ore for testing mGameWorld->AddObject(CreateOre(100,0)); // Start the game GameSession::Start(); }
CMemoryWindow::CMemoryWindow(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name) : wxPanel(parent, id, pos, size, style, name) { CreateGUI(); }
// Creation void VoxGame::Create() { m_pRenderer = NULL; m_pGameCamera = NULL; m_pQubicleBinaryManager = NULL; m_pPlayer = NULL; m_pVoxApplication = new VoxApplication(); m_pVoxWindow = new VoxWindow(); // Create application and window m_pVoxApplication->Create(); m_pVoxWindow->Create(); /* Setup the FPS and deltatime counters */ QueryPerformanceCounter(&m_fpsPreviousTicks); QueryPerformanceCounter(&m_fpsCurrentTicks); QueryPerformanceFrequency(&m_fpsTicksPerSecond); m_deltaTime = 0.0f; m_fps = 0.0f; /* Create the renderer */ m_windowWidth = m_pVoxWindow->GetWindowWidth(); m_windowHeight = m_pVoxWindow->GetWindowHeight(); m_pRenderer = new Renderer(m_windowWidth, m_windowHeight, 32, 8); /* Create the GUI */ m_pGUI = new OpenGLGUI(m_pRenderer); /* Create cameras */ m_pGameCamera = new Camera(m_pRenderer); m_pGameCamera->SetPosition(vec3(0.0f, 1.25f, 3.0f)); m_pGameCamera->SetFacing(vec3(0.0f, 0.0f, -1.0f)); m_pGameCamera->SetUp(vec3(0.0f, 1.0f, 0.0f)); m_pGameCamera->SetRight(vec3(1.0f, 0.0f, 0.0f)); /* Create viewports */ m_pRenderer->CreateViewport(0, 0, m_windowWidth, m_windowHeight, 60.0f, &m_defaultViewport); /* Create fonts */ m_pRenderer->CreateFreeTypeFont("media/fonts/arial.ttf", 12, &m_defaultFont); /* Create lights */ m_defaultLightPosition = vec3(3.0f, 3.0f, 3.0f); m_defaultLightView = vec3(0.0f, 0.0f, 0.0f); m_pRenderer->CreateLight(Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f), m_defaultLightPosition, m_defaultLightView - m_defaultLightPosition, 0.0f, 0.0f, 0.5f, 0.35f, 0.05f, true, false, &m_defaultLight); /* Create materials */ m_pRenderer->CreateMaterial(Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f), 64, &m_defaultMaterial); /* Create the frame buffers */ bool frameBufferCreated = false; frameBufferCreated = m_pRenderer->CreateFrameBuffer(-1, true, true, true, true, m_windowWidth, m_windowHeight, 1.0f, "SSAO", &m_SSAOFrameBuffer); frameBufferCreated = m_pRenderer->CreateFrameBuffer(-1, true, true, true, true, m_windowWidth, m_windowHeight, 5.0f, "Shadow", &m_shadowFrameBuffer); frameBufferCreated = m_pRenderer->CreateFrameBuffer(-1, true, true, true, true, m_windowWidth, m_windowHeight, 1.0f, "Deferred Lighting", &m_lightingFrameBuffer); frameBufferCreated = m_pRenderer->CreateFrameBuffer(-1, true, true, true, true, m_windowWidth, m_windowHeight, 1.0f, "Transparency", &m_transparencyFrameBuffer); frameBufferCreated = m_pRenderer->CreateFrameBuffer(-1, true, true, true, true, m_windowWidth, m_windowHeight, 1.0f, "FXAA", &m_FXAAFrameBuffer); frameBufferCreated = m_pRenderer->CreateFrameBuffer(-1, true, true, true, true, m_windowWidth, m_windowHeight, 1.0f, "FullScreen 1st Pass", &m_firstPassFullscreenBuffer); frameBufferCreated = m_pRenderer->CreateFrameBuffer(-1, true, true, true, true, m_windowWidth, m_windowHeight, 1.0f, "FullScreen 2nd Pass", &m_secondPassFullscreenBuffer); /* Create the shaders */ m_defaultShader = -1; m_phongShader = -1; m_SSAOShader = -1; m_shadowShader = -1; m_lightingShader = -1; m_textureShader = -1; m_fxaaShader = -1; m_blurVerticalShader = -1; m_blurHorizontalShader = -1; m_pRenderer->LoadGLSLShader("media/shaders/default.vertex", "media/shaders/default.pixel", &m_defaultShader); m_pRenderer->LoadGLSLShader("media/shaders/phong.vertex", "media/shaders/phong.pixel", &m_phongShader); m_pRenderer->LoadGLSLShader("media/shaders/shadow.vertex", "media/shaders/shadow.pixel", &m_shadowShader); m_pRenderer->LoadGLSLShader("media/shaders/texture.vertex", "media/shaders/texture.pixel", &m_textureShader); m_pRenderer->LoadGLSLShader("media/shaders/fullscreen/SSAO.vertex", "media/shaders/fullscreen/SSAO.pixel", &m_SSAOShader); m_pRenderer->LoadGLSLShader("media/shaders/fullscreen/fxaa.vertex", "media/shaders/fullscreen/fxaa.pixel", &m_fxaaShader); m_pRenderer->LoadGLSLShader("media/shaders/fullscreen/lighting.vertex", "media/shaders/fullscreen/lighting.pixel", &m_lightingShader); m_pRenderer->LoadGLSLShader("media/shaders/fullscreen/blur_vertical.vertex", "media/shaders/fullscreen/blur_vertical.pixel", &m_blurVerticalShader); m_pRenderer->LoadGLSLShader("media/shaders/fullscreen/blur_horizontal.vertex", "media/shaders/fullscreen/blur_horizontal.pixel", &m_blurHorizontalShader); /* Create the qubicle binary file manager */ m_pQubicleBinaryManager = new QubicleBinaryManager(m_pRenderer); /* Create the lighting manager */ m_pLightingManager = new LightingManager(m_pRenderer); /* Create the block particle manager */ m_pBlockParticleManager = new BlockParticleManager(m_pRenderer); /* Create the player */ m_pPlayer = new Player(m_pRenderer, m_pQubicleBinaryManager, m_pLightingManager, m_pBlockParticleManager); /* Create the GUI components */ CreateGUI(); // Keyboard movement m_bKeyboardForward = false; m_bKeyboardBackward = false; m_bKeyboardStrafeLeft = false; m_bKeyboardStrafeRight = false; m_bKeyboardLeft = false; m_bKeyboardRight = false; m_bKeyboardUp = false; m_bKeyboardDown = false; m_bKeyboardSpace = false; // Camera movement m_bCameraRotate = false; m_bCameraZoom = false; m_pressedX = 0; m_pressedY = 0; m_currentX = 0; m_currentY = 0; // Toggle flags m_deferredRendering = true; m_modelWireframe = false; m_modelAnimationIndex = 0; m_multiSampling = true; m_ssao = true; m_blur = false; m_shadows = true; m_dynamicLighting = true; m_animationUpdate = true; m_fullscreen = false; }