Big cleanup... Expect bugs

This commit is contained in:
MusicalProgrammer
2019-11-04 20:37:32 -05:00
parent f1d0d48dfa
commit 5e449d8882
28 changed files with 1699 additions and 1606 deletions
+1353
View File
File diff suppressed because it is too large Load Diff
+81
View File
@@ -0,0 +1,81 @@
#pragma once
#include <G3DAll.h>
#include "PropertyWindow.h"
#include "TextButtonInstance.h"
#include "ImageButtonInstance.h"
#include "CameraController.h"
class TextButtonInstance;
class ImageButtonInstance;
class PartInstance;
class CameraController;
class Application { // : public GApp {
public:
Application(HWND parentWindow);
void Boop();
virtual ~Application() {}
virtual void exitApplication();
virtual void onInit();
virtual void onLogic();
virtual void onNetwork();
virtual void onSimulation(RealTime rdt, SimTime sdt, SimTime idt);
virtual void onGraphics(RenderDevice* rd);
virtual void onUserInput(UserInput* ui);
virtual void onCleanup();
void clearInstances();
PartInstance* makePart();
void drawButtons(RenderDevice* rd);
void drawOutline(Vector3 from, Vector3 to, RenderDevice* rd, LightingParameters lighting, Vector3 size, Vector3 pos, CoordinateFrame c);
void makeFlag(Vector3 &vec, RenderDevice* &rd);
TextButtonInstance* makeTextButton();
ImageButtonInstance* makeImageButton(G3D::TextureRef newImage, G3D::TextureRef overImage, G3D::TextureRef downImage, G3D::TextureRef disableImage);
std::vector<Instance*> getSelection();
void deleteInstance();
void run();
void QuitApp();
void resizeWithParent(HWND parentWindow);
void onCreate(HWND parentWindow);
void onKeyPressed(int key);
void onKeyUp(int key);
void onMouseLeftPressed(HWND hwnd,int x, int y);
void onMouseLeftUp(int x, int y);
void onMouseRightPressed(int x, int y);
void onMouseRightUp(int x, int y);
void onMouseMoved(int x, int y);
void onMouseWheel(int x, int y, short delta);
int getMode();
CameraController cameraController;
RenderDevice* renderDevice;
UserInput* userInput;
PropertyWindow* _propWindow;
void generateShadowMap(const CoordinateFrame& lightViewMatrix) const;
private:
void initGUI();
HWND _hWndMain;
SkyRef sky;
bool quit;
bool mouseOnScreen;
bool rightButtonHolding;
void main();
GWindow* _window;
HWND _hwndToolbox;
HWND _buttonTest;
HWND _hwndRenderer;
DataModelInstance* _dataModel;
std::string _message;
G3D::RealTime _messageTime;
G3D::TextureRef shadowMap;
std::string _title;
bool _dragging;
int _mode;
GAppSettings _settings;
double lightProjX, lightProjY, lightProjNear, lightProjFar;
protected:
Stopwatch m_graphicsWatch;
Stopwatch m_logicWatch;
Stopwatch m_networkWatch;
Stopwatch m_userInputWatch;
Stopwatch m_simulationWatch;
Stopwatch m_waitWatch;
};
+1 -1
View File
@@ -12,7 +12,7 @@ BaseButtonInstance::BaseButtonInstance(void)
void BaseButtonInstance::render(RenderDevice* rd)
{
DataModelInstance* dataModel = Globals::dataModel;
DataModelInstance* dataModel = g_dataModel;
Vector2 pos = Vector2(dataModel->mousex,dataModel->mousey);
drawObj(rd, pos, dataModel->mouseButton1Down);
Instance::render(rd);
+3 -1
View File
@@ -1,8 +1,10 @@
#pragma once
#include "instance.h"
#pragma once
#include "ButtonListener.h"
class ButtonListener;
class Instance;
class BaseButtonInstance : public Instance
{
public:
+1 -1
View File
@@ -1,5 +1,5 @@
#pragma once
#include "Demo.h"
//#include "Application.h"
#include "BaseButtonInstance.h"
class BaseButtonInstance;
+24
View File
@@ -0,0 +1,24 @@
#include "CameraButtonListener.h"
#include "Globals.h"
#include "AudioPlayer.h"
#include "Application.h"
void CameraButtonListener::onButton1MouseClick(BaseButtonInstance* button)
{
AudioPlayer::playSound(cameraSound);
CoordinateFrame frame = g_usableApp->cameraController.getCamera()->getCoordinateFrame();
if(button->name == "CenterCam" && g_selectedInstances.size() > 0)
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));
else if(button->name == "ZoomIn")
g_usableApp->cameraController.Zoom(1);
else if(button->name == "ZoomOut")
g_usableApp->cameraController.Zoom(-1);
else if(button->name == "PanRight")
g_usableApp->cameraController.panRight();
else if(button->name == "PanLeft")
g_usableApp->cameraController.panLeft();
else if(button->name == "TiltUp")
g_usableApp->cameraController.tiltUp();
else if(button->name == "TiltDown")
g_usableApp->cameraController.tiltDown();
}
+6
View File
@@ -0,0 +1,6 @@
#include "ButtonListener.h"
class CameraButtonListener : public ButtonListener {
public:
void onButton1MouseClick(BaseButtonInstance*);
};
+2 -2
View File
@@ -2,7 +2,7 @@
#include "win32Defines.h"
#include <iostream>
#include "PartInstance.h"
#include "Demo.h"
#include "Application.h"
#include "AudioPlayer.h"
@@ -152,7 +152,7 @@ void CameraController::centerCamera(Instance* selection)
}
}
void CameraController::update(Demo* demo)
void CameraController::update(Application* app)
{
float offsetSize = 0.05F;
+2 -2
View File
@@ -8,7 +8,7 @@
#define CAM_ZOOM_MIN 0.1f
#define CAM_ZOOM_MAX 100.f
class Demo;
class Application;
class CameraController {
public:
@@ -19,7 +19,7 @@ class CameraController {
void lookAt(const Vector3& position);
void refreshZoom(const CoordinateFrame& frame);
void pan(CoordinateFrame* frame,float spdX,float spdY);
void update(Demo* demo);
void update(Application* app);
void centerCamera(Instance* selection);
void panLeft();
void panRight();
+8
View File
@@ -0,0 +1,8 @@
#include "DeleteListener.h"
#include "Globals.h"
#include "Application.h"
void DeleteListener::onButton1MouseClick(BaseButtonInstance* button)
{
g_usableApp->deleteInstance();
}
+6
View File
@@ -0,0 +1,6 @@
#include "ButtonListener.h"
class DeleteListener : public ButtonListener {
public:
void onButton1MouseClick(BaseButtonInstance*);
};
+9 -9
View File
@@ -7,15 +7,15 @@ class Demo { // : public GApp {
public:
Demo(const GAppSettings& settings,HWND parentWindow);
void Boop();
virtual ~Demo() {}
virtual void exitApplication();
virtual void onInit();
virtual void onLogic();
virtual void onNetwork();
virtual void onSimulation(RealTime rdt, SimTime sdt, SimTime idt);
virtual void onGraphics(RenderDevice* rd);
virtual void onUserInput(UserInput* ui);
virtual void onCleanup();
virtual ~Demo() {}
virtual void exitApplication();
virtual void onInit();
virtual void onLogic();
virtual void onNetwork();
virtual void onSimulation(RealTime rdt, SimTime sdt, SimTime idt);
virtual void onGraphics(RenderDevice* rd);
virtual void onUserInput(UserInput* ui);
virtual void onCleanup();
std::vector<Instance*> getSelection();
void run();
+13
View File
@@ -0,0 +1,13 @@
#include "ErrorFunctions.h"
#include "Globals.h"
void OnError(int err, std::string msg)
{
//g_usableApp->window()->setInputCaptureCount(0);
//g_usableApp->window()->setMouseVisible(true);
std::string emsg = "An unexpected error has occured and "+g_PlaceholderName+" has to quit. We're sorry!" + msg;
std::string title = g_PlaceholderName+"Crash";
//clearInstances();
MessageBox(NULL, emsg.c_str(), title.c_str(), MB_OK);
exit(err);
}
+3
View File
@@ -0,0 +1,3 @@
#include <string>
void OnError(int err, std::string msg = "");
+40
View File
@@ -0,0 +1,40 @@
#include <G3DAll.h>
#include "Application.h"
#include "Globals.h"
#include "AudioPlayer.h"
#include "GUDButtonListener.h"
void GUDButtonListener::onButton1MouseClick(BaseButtonInstance* button)
{
bool cont = false;
for(size_t i = 0; i < g_selectedInstances.size(); i++)
if(g_selectedInstances.at(i)->canDelete)
{
cont = true;
break;
}
if(cont)
{
AudioPlayer::playSound(dingSound);
if(button->name == "Duplicate")
{
std::vector<Instance*> newinst;
for(size_t i = 0; i < g_selectedInstances.size(); i++)
{
if(g_selectedInstances.at(i)->canDelete)
{
Instance* tempinst = g_selectedInstances.at(i);
Instance* clonedInstance = g_selectedInstances.at(i)->clone();
newinst.push_back(tempinst);
}
/*tempinst->setPosition(Vector3(tempPos.x, tempPos.y + tempSize.y, tempPos.z));
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));*/
}
g_selectedInstances = newinst;
if(g_selectedInstances.size() > 0)
g_usableApp->_propWindow->UpdateSelected(newinst.at(0));
}
}
}
+6
View File
@@ -0,0 +1,6 @@
#include "ButtonListener.h"
class GUDButtonListener : public ButtonListener {
public:
void onButton1MouseClick(BaseButtonInstance*);
};
+14 -2
View File
@@ -1,6 +1,6 @@
#include "Globals.h"
#include "Application.h"
DataModelInstance* Globals::dataModel = NULL;
int const Globals::gen = 0;
int const Globals::major = 0;
int const Globals::minor = 4;
@@ -9,11 +9,23 @@ int Globals::surfaceId = 2;
bool Globals::showMouse = true;
bool Globals::useMousePoint = false;
std::vector<Instance*> postRenderStack = std::vector<Instance*>();
const std::string Globals::PlaceholderName = "Dynamica";
std::vector<Instance*> g_selectedInstances = std::vector<Instance*>();
DataModelInstance* g_dataModel = NULL;
bool running = false;
G3D::TextureRef Globals::surface;
POINT Globals::mousepoint;
GFontRef fntdominant = NULL;
GFontRef fntlighttrek = NULL;
Globals::Globals(void){}
Globals::~Globals(void){}
std::string cameraSound="";
std::string clickSound="";
std::string dingSound="";
Application *g_usableApp = NULL;
+14 -2
View File
@@ -2,6 +2,8 @@
#include "DataModelInstance.h"
#include <G3DAll.h>
class Application;
class Globals
{
public:
@@ -17,9 +19,19 @@ public:
static const int patch;
static G3D::TextureRef surface;
static int surfaceId;
static const std::string PlaceholderName;
static const std::string g_PlaceholderName;
};
extern std::vector<Instance*> postRenderStack;
extern std::vector<Instance*> g_selectedInstances;
extern bool running;
extern bool running;
extern DataModelInstance* g_dataModel;
extern Application* g_usableApp;
extern GFontRef fntdominant;
extern GFontRef fntlighttrek;
extern std::string cameraSound;
extern std::string clickSound;
extern std::string dingSound;
const std::string g_PlaceholderName = "HyperCube";
+1 -1
View File
@@ -99,7 +99,7 @@ bool IEBrowser::navigateSyncURL(wchar_t* url)
}
else
{
MessageBox(NULL,"Cannot read IWebBrowser2...",(Globals::PlaceholderName+" Crash").c_str(),MB_OK);
MessageBox(NULL,"Cannot read IWebBrowser2...",(g_PlaceholderName+" Crash").c_str(),MB_OK);
}
return false;
}
+3
View File
@@ -1,5 +1,8 @@
#pragma once
#include "BaseButtonInstance.h"
class BaseButtonInstance;
class ImageButtonInstance : public BaseButtonInstance
{
public:
+1 -1
View File
@@ -1,7 +1,7 @@
#pragma once
#include <G3DAll.h>
#include "propertyGrid.h"
class Instance
{
public:
+28
View File
@@ -0,0 +1,28 @@
#include "Globals.h"
#include "Instance.h"
#include "ModeSelectionListener.h"
#include "Application.h"
void ModeSelectionListener::onButton1MouseClick(BaseButtonInstance* button)
{
//CoordinateFrame frame = g_usableApp->g3dCamera.getCoordinateFrame();
int mode = g_usableApp->getMode();
std::vector<Instance*> instances_2D = g_dataModel->getGuiRoot()->getAllChildren();
for(size_t i = 0; i < instances_2D.size(); i++)
{
if(instances_2D.at(i)->name == "Cursor" || instances_2D.at(i)->name == "Resize" || instances_2D.at(i)->name == "Arrows")
{
BaseButtonInstance* button = (BaseButtonInstance*)instances_2D.at(i);
button->selected = false;
}
}
button->selected = true;
if(button->name == "Cursor")
mode = CURSOR;
else if(button->name == "Resize")
mode = RESIZE;
else if(button->name == "Arrows")
mode = ARROWS;
}
+10
View File
@@ -0,0 +1,10 @@
#include "ButtonListener.h"
#define CURSOR 0
#define ARROWS 1
#define RESIZE 2
class ModeSelectionListener : public ButtonListener {
public:
void onButton1MouseClick(BaseButtonInstance*);
};
+20
View File
@@ -0,0 +1,20 @@
#include "RotateButtonListener.h"
#include "Globals.h"
#include "AudioPlayer.h"
void RotateButtonListener::onButton1MouseClick(BaseButtonInstance* button)
{
if(g_selectedInstances.size() > 0)
{
Instance* selectedInstance = g_selectedInstances.at(0);
AudioPlayer::playSound(clickSound);
if(PartInstance* part = dynamic_cast<PartInstance*>(selectedInstance))
{
if(button->name == "Tilt")
part->setCFrame(part->getCFrame()*Matrix3::fromEulerAnglesXYZ(0,0,toRadians(90)));
else if(button->name == "Rotate")
part->setCFrame(part->getCFrame()*Matrix3::fromEulerAnglesXYZ(0,toRadians(90),0));
}
}
}
+6
View File
@@ -0,0 +1,6 @@
#include "ButtonListener.h"
class RotateButtonListener : public ButtonListener {
public:
void onButton1MouseClick(BaseButtonInstance*);
};
+31
View File
@@ -0,0 +1,31 @@
#include <string>
#include <sstream>
#include "ErrorFunctions.h"
std::string Convert (float number){
std::ostringstream buff;
buff<<number;
return buff.str();
}
std::string ExePath() {
char buffer[MAX_PATH];
GetModuleFileName( NULL, buffer, MAX_PATH );
std::string::size_type pos = std::string( buffer ).find_last_of( "\\/" );
return std::string( buffer ).substr( 0, pos);
}
std::string GetFileInPath(std::string file)
{
std::string name = ExePath() + file;
struct stat buf;
if (stat(name.c_str(), &buf) != -1)
{
return name;
}
else
OnError(202, " \r\nFile not found: " + name);
return NULL;
}
+12 -1584
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -2,3 +2,4 @@
#include <windows.h>
#define GetHoldKeyState(nVirtKey) (GetKeyState(nVirtKey)>>1)
#define GetKPBool(nVirtKey) (GetKeyState(nVirtKey) & 0x8000)