diff options
Diffstat (limited to 'mwe')
27 files changed, 422 insertions, 449 deletions
| diff --git a/mwe/audio/miniaudio/main.cpp b/mwe/audio/miniaudio/main.cpp index bf31898..5c4f667 100644 --- a/mwe/audio/miniaudio/main.cpp +++ b/mwe/audio/miniaudio/main.cpp @@ -33,12 +33,10 @@ int main() {  	ma_sound_start(&sfx[2]);  	ma_sound_start(&bgm); // this actually resumes now  	this_thread::sleep_for(500ms); -	for (unsigned i = 0; i < 3; i++) -		ma_sound_seek_to_pcm_frame(&sfx[i], 0); +	for (unsigned i = 0; i < 3; i++) ma_sound_seek_to_pcm_frame(&sfx[i], 0);  	// 5. play all samples simultaniously -	for (unsigned i = 0; i < 3; i++) -		ma_sound_start(&sfx[i]); +	for (unsigned i = 0; i < 3; i++) ma_sound_start(&sfx[i]);  	this_thread::sleep_for(1000ms);  	ma_engine_uninit(&engine); diff --git a/mwe/events/include/event.h b/mwe/events/include/event.h index 62d8974..16c75bf 100644 --- a/mwe/events/include/event.h +++ b/mwe/events/include/event.h @@ -6,8 +6,6 @@  #include <string>  #include <unordered_map>  #include <variant> -#include "keyCodes.h" -#include "customTypes.h"  class UUIDGenerator {  public:  	static std::uint32_t getUniqueID() { @@ -66,16 +64,16 @@ public:  };  class MouseClickEvent : public Event {  public: -    MouseClickEvent(int x, int y, MouseButton button); -	 +	MouseClickEvent(int x, int y, MouseButton button); +  	REGISTER_EVENT_TYPE("KeyClickedEvent");  	std::pair<int, int> getMousePosition() const; -    MouseButton getButton() const { return button; } +	MouseButton getButton() const { return button; }  private: -    int mouseX = 0; +	int mouseX = 0;  	int mouseY = 0; -    MouseButton button; +	MouseButton button;  };  // KeyReleasedEvent class  class KeyReleasedEvent : public Event { @@ -112,6 +110,7 @@ public:  	std::pair<int, int> getMousePosition() const;  	MouseButton getMouseButton() const; +  private:  	int mouseX = 0;  	int mouseY = 0; @@ -124,6 +123,7 @@ public:  	REGISTER_EVENT_TYPE(MouseMovedEvent)  	std::pair<int, int> getMousePosition() const; +  private:  	int mouseX = 0;  	int mouseY = 0; @@ -141,20 +141,20 @@ private:  };  class TextSubmitEvent : public Event {  public: -    TextSubmitEvent(std::string submittedText); +	TextSubmitEvent(std::string submittedText); -    REGISTER_EVENT_TYPE(TextSubmitEvent) +	REGISTER_EVENT_TYPE(TextSubmitEvent) -    std::string getText() const; +	std::string getText() const;  private: -    std::string text; +	std::string text;  };  class ShutDownEvent : public Event {  public: -    ShutDownEvent() : Event("ShutDownEvent"){}; +	ShutDownEvent() : Event("ShutDownEvent") {}; -    REGISTER_EVENT_TYPE(ShutDownEvent) +	REGISTER_EVENT_TYPE(ShutDownEvent)  private:  }; diff --git a/mwe/events/include/eventHandler.h b/mwe/events/include/eventHandler.h index 7d8f20a..aa8f63b 100644 --- a/mwe/events/include/eventHandler.h +++ b/mwe/events/include/eventHandler.h @@ -3,7 +3,6 @@  #include <functional>  #include <iostream> -  template <typename EventType>  using EventHandler = std::function<void(const EventType & e)>; diff --git a/mwe/events/include/gameObject.h b/mwe/events/include/gameObject.h index de5f3fe..48e239b 100644 --- a/mwe/events/include/gameObject.h +++ b/mwe/events/include/gameObject.h @@ -3,7 +3,7 @@  #include <string>  class GameObject {  public: -	GameObject(){} +	GameObject() {}  	// template <typename... Args>  	// void addSpriteComponent(Args &&... args); diff --git a/mwe/events/include/iKeyListener.h b/mwe/events/include/iKeyListener.h index 5f39ece..5fee2eb 100644 --- a/mwe/events/include/iKeyListener.h +++ b/mwe/events/include/iKeyListener.h @@ -1,21 +1,20 @@  #pragma once  #include "event.h" -#include "eventManager.h"  #include "eventHandler.h" +#include "eventManager.h"  class IKeyListener {  public: -    virtual ~IKeyListener(); -    virtual void onKeyPressed(const KeyPressedEvent& event) = 0; -    virtual void onKeyReleased(const KeyReleasedEvent& event) = 0; +	virtual ~IKeyListener(); +	virtual void onKeyPressed(const KeyPressedEvent & event) = 0; +	virtual void onKeyReleased(const KeyReleasedEvent & event) = 0;  protected: -    void subscribeEvents(int listenerId = 0); -    void unsubscribeEvents(int listenerId = 0); +	void subscribeEvents(int listenerId = 0); +	void unsubscribeEvents(int listenerId = 0);  	void activate(int listenerId = 0) { subscribeEvents(listenerId); } -    void deactivate(int listenerId = 0) { unsubscribeEvents(listenerId); } +	void deactivate(int listenerId = 0) { unsubscribeEvents(listenerId); }  private: -    EventHandler<KeyPressedEvent> keyPressedHandler; -    EventHandler<KeyReleasedEvent> keyReleasedHandler; +	EventHandler<KeyPressedEvent> keyPressedHandler; +	EventHandler<KeyReleasedEvent> keyReleasedHandler;  }; - diff --git a/mwe/events/include/iMouseListener.h b/mwe/events/include/iMouseListener.h index 7d840c1..5b1181c 100644 --- a/mwe/events/include/iMouseListener.h +++ b/mwe/events/include/iMouseListener.h @@ -5,19 +5,20 @@  class IMouseListener {  public: -    virtual ~IMouseListener(); +	virtual ~IMouseListener(); + +	virtual void onMouseClicked(const MouseClickEvent & event) = 0; +	virtual void onMousePressed(const MousePressedEvent & event) = 0; +	virtual void onMouseReleased(const MouseReleasedEvent & event) = 0; +	virtual void onMouseMoved(const MouseMovedEvent & event) = 0; -    virtual void onMouseClicked(const MouseClickEvent& event) = 0; -    virtual void onMousePressed(const MousePressedEvent& event) = 0; -    virtual void onMouseReleased(const MouseReleasedEvent& event) = 0; -    virtual void onMouseMoved(const MouseMovedEvent& event) = 0;  protected: -    void subscribeEvents(int listenerId = 0); -    void unsubscribeEvents(int listenerId = 0); +	void subscribeEvents(int listenerId = 0); +	void unsubscribeEvents(int listenerId = 0);  private: -    EventHandler<MouseClickEvent> mouseClickHandler; -    EventHandler<MousePressedEvent> mousePressHandler; -    EventHandler<MouseReleasedEvent> mouseReleaseHandler; -    EventHandler<MouseMovedEvent> mouseMoveHandler; +	EventHandler<MouseClickEvent> mouseClickHandler; +	EventHandler<MousePressedEvent> mousePressHandler; +	EventHandler<MouseReleasedEvent> mouseReleaseHandler; +	EventHandler<MouseMovedEvent> mouseMoveHandler;  }; diff --git a/mwe/events/include/inputSystem.h b/mwe/events/include/inputSystem.h index c20562d..3e53b7c 100644 --- a/mwe/events/include/inputSystem.h +++ b/mwe/events/include/inputSystem.h @@ -1,24 +1,23 @@  #pragma once -#include <vector> -#include "uiObject.h"  #include "event.h" -#include "keyCodes.h"  #include "eventManager.h" +#include "keyCodes.h" +#include "uiObject.h" +#include <vector>  class InputSystem {  public: -    InputSystem(); -    void registerButton(Button* button); -	void registerText(Text* label); -	void registerTextInput(TextInput* input); -    void processInput(); +	InputSystem(); +	void registerButton(Button * button); +	void registerText(Text * label); +	void registerTextInput(TextInput * input); +	void processInput();  private: -    std::vector<Button*> buttons; -	std::vector<TextInput*> textInputs; -	std::vector<Text*> texts; -    void processMouseClick(int mouseX, int mouseY); +	std::vector<Button *> buttons; +	std::vector<TextInput *> textInputs; +	std::vector<Text *> texts; +	void processMouseClick(int mouseX, int mouseY);  	void processInputField(int mouseX, int mouseY);  	void processKeyPress(Keycode); -	void processTextInput(const std::string& text); -	 +	void processTextInput(const std::string & text);  }; diff --git a/mwe/events/include/keyCodes.h b/mwe/events/include/keyCodes.h index 61deba2..73ba1cd 100644 --- a/mwe/events/include/keyCodes.h +++ b/mwe/events/include/keyCodes.h @@ -4,14 +4,14 @@  #include <unordered_map>  using Keycode = uint16_t;  enum class MouseButton { -    None = 0, -    Left_Mouse = 1, -    Right_Mouse = 2, -    Middle_Mouse = 3, -    X1_Mouse = 4, -    X2_Mouse = 5, -    Scroll_Up = 6, -    Scroll_Down = 7, +	None = 0, +	Left_Mouse = 1, +	Right_Mouse = 2, +	Middle_Mouse = 3, +	X1_Mouse = 4, +	X2_Mouse = 5, +	Scroll_Up = 6, +	Scroll_Down = 7,  };  enum : Keycode {  	// From glfw3.h diff --git a/mwe/events/include/keyListenerTest.h b/mwe/events/include/keyListenerTest.h index 5990cd1..08f3feb 100644 --- a/mwe/events/include/keyListenerTest.h +++ b/mwe/events/include/keyListenerTest.h @@ -4,9 +4,9 @@  class KeyListenerTest : public IKeyListener {  public: -    KeyListenerTest(int listenerId); -    ~KeyListenerTest(); +	KeyListenerTest(int listenerId); +	~KeyListenerTest(); -    void onKeyPressed(const KeyPressedEvent& event) override; -    void onKeyReleased(const KeyReleasedEvent& event) override; +	void onKeyPressed(const KeyPressedEvent & event) override; +	void onKeyReleased(const KeyReleasedEvent & event) override;  }; diff --git a/mwe/events/include/loopManager.h b/mwe/events/include/loopManager.h index 289ff0f..9959c94 100644 --- a/mwe/events/include/loopManager.h +++ b/mwe/events/include/loopManager.h @@ -5,10 +5,10 @@  //#include "combinedEvent.h"  #include "eventHandler.h"  #include "eventManager.h" +#include "inputSystem.h"  #include "loopManager.h" -#include "uiRenderer.h"  #include "uiObject.h" -#include "inputSystem.h" +#include "uiRenderer.h"  #include <memory>  class LoopManager {  public: @@ -23,7 +23,7 @@ private:  	void lateUpdate();  	void fixedUpdate();  	void render(); -	void onShutdown(const ShutDownEvent& e); +	void onShutdown(const ShutDownEvent & e);  	bool gameRunning = false;  	WindowManager window;  	int timeScale = 1; diff --git a/mwe/events/include/mouseListenerTest.h b/mwe/events/include/mouseListenerTest.h index dae04f5..ca9afc5 100644 --- a/mwe/events/include/mouseListenerTest.h +++ b/mwe/events/include/mouseListenerTest.h @@ -4,11 +4,11 @@  class MouseListenerTest : public IMouseListener {  public: -    MouseListenerTest(int listenerId); -    ~MouseListenerTest(); +	MouseListenerTest(int listenerId); +	~MouseListenerTest(); -    void onMouseClicked(const MouseClickEvent& event) override; -    void onMousePressed(const MousePressedEvent& event) override; -    void onMouseReleased(const MouseReleasedEvent& event) override; -    void onMouseMoved(const MouseMovedEvent& event) override; +	void onMouseClicked(const MouseClickEvent & event) override; +	void onMousePressed(const MousePressedEvent & event) override; +	void onMouseReleased(const MouseReleasedEvent & event) override; +	void onMouseMoved(const MouseMovedEvent & event) override;  }; diff --git a/mwe/events/include/uiObject.h b/mwe/events/include/uiObject.h index 893232d..23efe44 100644 --- a/mwe/events/include/uiObject.h +++ b/mwe/events/include/uiObject.h @@ -1,70 +1,68 @@  #pragma once +#include "event.h" +#include "eventHandler.h"  #include "gameObject.h"  #include <SDL2/SDL.h>  #include <SDL_ttf.h> -#include "event.h" -#include "eventHandler.h"  #include <functional>  struct Alignment { -    enum class Horizontal { LEFT, CENTER, RIGHT }; -    enum class Vertical { TOP, MIDDLE, BOTTOM }; -    enum class PositioningMode { RELATIVE, STATIC,ABSOLUTE }; +	enum class Horizontal { LEFT, CENTER, RIGHT }; +	enum class Vertical { TOP, MIDDLE, BOTTOM }; +	enum class PositioningMode { RELATIVE, STATIC, ABSOLUTE }; -    Horizontal horizontal = Horizontal::CENTER; -    Vertical vertical = Vertical::MIDDLE; -    PositioningMode mode = PositioningMode::RELATIVE; +	Horizontal horizontal = Horizontal::CENTER; +	Vertical vertical = Vertical::MIDDLE; +	PositioningMode mode = PositioningMode::RELATIVE; -    int staticX = 0; -    int staticY = 0; +	int staticX = 0; +	int staticY = 0; -    int marginTop = 0; -    int marginBottom = 0; -    int marginLeft = 0; -    int marginRight = 0; +	int marginTop = 0; +	int marginBottom = 0; +	int marginLeft = 0; +	int marginRight = 0;  }; -struct RGBColor{ +struct RGBColor {  	int red;  	int green;  	int blue;  }; -class UIObject : public GameObject{ -	public: -	UIObject(int width,int height); +class UIObject : public GameObject { +public: +	UIObject(int width, int height);  	virtual ~UIObject() {}  	int width;  	int height;  	int x;  	int y;  }; -class Button : public UIObject{ -	public: -	Button(int width,int height); +class Button : public UIObject { +public: +	Button(int width, int height);  	RGBColor color;  	std::function<void()> onClick; -  }; -class Text : public UIObject{ -	public: -	Text(int width,int height); +class Text : public UIObject { +public: +	Text(int width, int height);  	std::string text;  	int size;  	Alignment alignment;  	//font resource -	TTF_Font *font; +	TTF_Font * font;  	RGBColor color;  };  class TextInput : public UIObject {  public: -    TextInput(int width, int height); -    std::string textBuffer;           -    std::string placeholder; -    bool isActive = false; -    RGBColor textColor; -    RGBColor backgroundColor; -    size_t maxLength = 100; -    Alignment alignment; -    TTF_Font* font = nullptr; -    std::function<void()> onSubmit;  -	std::function<void()> onFocus;  +	TextInput(int width, int height); +	std::string textBuffer; +	std::string placeholder; +	bool isActive = false; +	RGBColor textColor; +	RGBColor backgroundColor; +	size_t maxLength = 100; +	Alignment alignment; +	TTF_Font * font = nullptr; +	std::function<void()> onSubmit; +	std::function<void()> onFocus;  }; - diff --git a/mwe/events/include/uiRenderer.h b/mwe/events/include/uiRenderer.h index 32acecf..8f22fdf 100644 --- a/mwe/events/include/uiRenderer.h +++ b/mwe/events/include/uiRenderer.h @@ -1,21 +1,21 @@  #pragma once +#include "uiObject.h"  #include <SDL2/SDL.h>  #include <SDL2/SDL_ttf.h>  #include <string> -#include "uiObject.h"  class UIRenderer {  public: -    UIRenderer(SDL_Renderer* renderer); -    ~UIRenderer(); +	UIRenderer(SDL_Renderer * renderer); +	~UIRenderer(); -    void render(UIObject* uiObject); +	void render(UIObject * uiObject);  private: -    SDL_Renderer* renderer; -    TTF_Font* font; +	SDL_Renderer * renderer; +	TTF_Font * font; -    void renderButton(Button* button); -    void renderText(Text* text); -    void renderTextInput(TextInput* textInput); +	void renderButton(Button * button); +	void renderText(Text * text); +	void renderTextInput(TextInput * textInput);  }; diff --git a/mwe/events/include/window.h b/mwe/events/include/window.h index 3c34d4c..bd75c4a 100644 --- a/mwe/events/include/window.h +++ b/mwe/events/include/window.h @@ -1,27 +1,27 @@  #pragma once -#include <SDL2/SDL.h> -#include <vector>  #include "uiObject.h"  #include "uiRenderer.h" +#include <SDL2/SDL.h> +#include <vector>  class WindowManager {  public: -    WindowManager(); -    virtual ~WindowManager(); +	WindowManager(); +	virtual ~WindowManager(); -    bool initWindow(); -    void destroyWindow(); -    SDL_Renderer* getRenderer(); +	bool initWindow(); +	void destroyWindow(); +	SDL_Renderer * getRenderer(); -    void addUIObject(UIObject* uiObject); -    void renderUIObjects(); +	void addUIObject(UIObject * uiObject); +	void renderUIObjects();  private: -    const int SCREEN_WIDTH = 800; -    const int SCREEN_HEIGHT = 600; -    SDL_Window* window = nullptr; -    SDL_Renderer* renderer = nullptr; +	const int SCREEN_WIDTH = 800; +	const int SCREEN_HEIGHT = 600; +	SDL_Window * window = nullptr; +	SDL_Renderer * renderer = nullptr; -    UIRenderer* uiRenderer; -    std::vector<UIObject*> uiObjects; +	UIRenderer * uiRenderer; +	std::vector<UIObject *> uiObjects;  }; diff --git a/mwe/events/src/event.cpp b/mwe/events/src/event.cpp index eae4d14..0c9f3ed 100644 --- a/mwe/events/src/event.cpp +++ b/mwe/events/src/event.cpp @@ -51,27 +51,20 @@ Collision CollisionEvent::getCollisionData() const {  	return this->collisionData;  } -TextSubmitEvent::TextSubmitEvent(std::string text)  -    : text(text), Event("TextSubmitEvent") { -		 -	} +TextSubmitEvent::TextSubmitEvent(std::string text) +	: text(text), Event("TextSubmitEvent") {} -std::string TextSubmitEvent::getText() const { -    return this->text; -} - -MouseReleasedEvent::MouseReleasedEvent(int x, int y, MouseButton button) : mouseX(x), mouseY(y), button(button),Event("MouseReleased"){ - -} -std::pair<int, int> MouseReleasedEvent::getMousePosition() const{ -	return {mouseX,mouseY}; -} -MouseClickEvent::MouseClickEvent(int x,int y,MouseButton button) : mouseX(x), mouseY(y), button(button),Event("MouseClickEvent"){ - -} -MouseMovedEvent::MouseMovedEvent(int x, int y) : mouseX(x), mouseY(y),Event("MouseMovedEvent"){ +std::string TextSubmitEvent::getText() const { return this->text; } +MouseReleasedEvent::MouseReleasedEvent(int x, int y, MouseButton button) +	: mouseX(x), mouseY(y), button(button), Event("MouseReleased") {} +std::pair<int, int> MouseReleasedEvent::getMousePosition() const { +	return {mouseX, mouseY};  } +MouseClickEvent::MouseClickEvent(int x, int y, MouseButton button) +	: mouseX(x), mouseY(y), button(button), Event("MouseClickEvent") {} +MouseMovedEvent::MouseMovedEvent(int x, int y) +	: mouseX(x), mouseY(y), Event("MouseMovedEvent") {}  std::pair<int, int> MouseClickEvent::getMousePosition() const {  	return {mouseX, mouseY};  } diff --git a/mwe/events/src/iKeyListener.cpp b/mwe/events/src/iKeyListener.cpp index 59cc89a..0235fab 100644 --- a/mwe/events/src/iKeyListener.cpp +++ b/mwe/events/src/iKeyListener.cpp @@ -1,18 +1,19 @@  #include "iKeyListener.h" -IKeyListener::~IKeyListener() { -    unsubscribeEvents(); -} +IKeyListener::~IKeyListener() { unsubscribeEvents(); }  void IKeyListener::subscribeEvents(int listenerId) { -    keyPressedHandler = [this](const KeyPressedEvent& event) { this->onKeyPressed(event); }; -    keyReleasedHandler = [this](const KeyReleasedEvent& event) { this->onKeyReleased(event); }; +	keyPressedHandler +		= [this](const KeyPressedEvent & event) { this->onKeyPressed(event); }; +	keyReleasedHandler = [this](const KeyReleasedEvent & event) { +		this->onKeyReleased(event); +	}; -    subscribe<KeyPressedEvent>(keyPressedHandler, listenerId); -    subscribe<KeyReleasedEvent>(keyReleasedHandler, listenerId); +	subscribe<KeyPressedEvent>(keyPressedHandler, listenerId); +	subscribe<KeyReleasedEvent>(keyReleasedHandler, listenerId);  }  void IKeyListener::unsubscribeEvents(int listenerId) { -    unsubscribe<KeyPressedEvent>(keyPressedHandler, listenerId); -    unsubscribe<KeyReleasedEvent>(keyReleasedHandler, listenerId); +	unsubscribe<KeyPressedEvent>(keyPressedHandler, listenerId); +	unsubscribe<KeyReleasedEvent>(keyReleasedHandler, listenerId);  } diff --git a/mwe/events/src/iMouseListener.cpp b/mwe/events/src/iMouseListener.cpp index 3239304..69d8c9f 100644 --- a/mwe/events/src/iMouseListener.cpp +++ b/mwe/events/src/iMouseListener.cpp @@ -1,23 +1,28 @@  #include "iMouseListener.h" -IMouseListener::~IMouseListener() { -    unsubscribeEvents(); -} +IMouseListener::~IMouseListener() { unsubscribeEvents(); }  void IMouseListener::subscribeEvents(int listenerId) { -    mouseClickHandler = [this](const MouseClickEvent& event) { this->onMouseClicked(event); }; -    mousePressHandler = [this](const MousePressedEvent& event) { this->onMousePressed(event); }; -    mouseReleaseHandler = [this](const MouseReleasedEvent& event) { this->onMouseReleased(event); }; -    mouseMoveHandler = [this](const MouseMovedEvent& event) { this->onMouseMoved(event); }; +	mouseClickHandler = [this](const MouseClickEvent & event) { +		this->onMouseClicked(event); +	}; +	mousePressHandler = [this](const MousePressedEvent & event) { +		this->onMousePressed(event); +	}; +	mouseReleaseHandler = [this](const MouseReleasedEvent & event) { +		this->onMouseReleased(event); +	}; +	mouseMoveHandler +		= [this](const MouseMovedEvent & event) { this->onMouseMoved(event); }; -    subscribe<MouseClickEvent>(mouseClickHandler, listenerId); -    subscribe<MousePressedEvent>(mousePressHandler, listenerId); -    subscribe<MouseReleasedEvent>(mouseReleaseHandler, listenerId); -    subscribe<MouseMovedEvent>(mouseMoveHandler, listenerId); +	subscribe<MouseClickEvent>(mouseClickHandler, listenerId); +	subscribe<MousePressedEvent>(mousePressHandler, listenerId); +	subscribe<MouseReleasedEvent>(mouseReleaseHandler, listenerId); +	subscribe<MouseMovedEvent>(mouseMoveHandler, listenerId);  }  void IMouseListener::unsubscribeEvents(int listenerId) { -    unsubscribe<MouseClickEvent>(mouseClickHandler, listenerId); -    unsubscribe<MousePressedEvent>(mousePressHandler, listenerId); -    unsubscribe<MouseReleasedEvent>(mouseReleaseHandler, listenerId); -    unsubscribe<MouseMovedEvent>(mouseMoveHandler, listenerId); +	unsubscribe<MouseClickEvent>(mouseClickHandler, listenerId); +	unsubscribe<MousePressedEvent>(mousePressHandler, listenerId); +	unsubscribe<MouseReleasedEvent>(mouseReleaseHandler, listenerId); +	unsubscribe<MouseMovedEvent>(mouseMoveHandler, listenerId);  } diff --git a/mwe/events/src/inputSystem.cpp b/mwe/events/src/inputSystem.cpp index bb26e8b..b87b12e 100644 --- a/mwe/events/src/inputSystem.cpp +++ b/mwe/events/src/inputSystem.cpp @@ -2,98 +2,94 @@  InputSystem::InputSystem() {} -void InputSystem::registerButton(Button* button) { -    buttons.push_back(button); -} -void InputSystem::registerTextInput(TextInput* input) { -    textInputs.push_back(input); -} -void InputSystem::registerText(Text* label) { -    texts.push_back(label); +void InputSystem::registerButton(Button * button) { buttons.push_back(button); } +void InputSystem::registerTextInput(TextInput * input) { +	textInputs.push_back(input);  } +void InputSystem::registerText(Text * label) { texts.push_back(label); }  void InputSystem::processInput() { -    SDL_Event event; -    while (SDL_PollEvent(&event)) { -        switch (event.type) { -            case SDL_QUIT: -                triggerEvent(ShutDownEvent()); -                break; -            case SDL_KEYDOWN: -                triggerEvent(KeyPressedEvent(getCustomKey(event.key.keysym.sym))); -                processKeyPress(event.key.keysym.sym); -                break; -            case SDL_TEXTINPUT: -                // Process typed characters -                processTextInput(event.text.text); -                break; -            case SDL_MOUSEBUTTONDOWN: { -                int mouseX, mouseY; -                SDL_GetMouseState(&mouseX, &mouseY); -                processMouseClick(mouseX, mouseY); -                triggerEvent(MousePressedEvent(mouseX, mouseY)); -                break; -            } -        } -    } +	SDL_Event event; +	while (SDL_PollEvent(&event)) { +		switch (event.type) { +			case SDL_QUIT: +				triggerEvent(ShutDownEvent()); +				break; +			case SDL_KEYDOWN: +				triggerEvent( +					KeyPressedEvent(getCustomKey(event.key.keysym.sym))); +				processKeyPress(event.key.keysym.sym); +				break; +			case SDL_TEXTINPUT: +				// Process typed characters +				processTextInput(event.text.text); +				break; +			case SDL_MOUSEBUTTONDOWN: { +				int mouseX, mouseY; +				SDL_GetMouseState(&mouseX, &mouseY); +				processMouseClick(mouseX, mouseY); +				triggerEvent(MousePressedEvent(mouseX, mouseY)); +				break; +			} +		} +	}  } -  void InputSystem::processMouseClick(int mouseX, int mouseY) { -    for (auto* button : buttons) { -        if (mouseX >= button->x && mouseX <= (button->x + button->width) && -            mouseY >= button->y && mouseY <= (button->y + button->height)) { -            button->onClick(); -        } -    } -	for(auto* textInput : textInputs){ -		if (mouseX >= textInput->x && mouseX <= textInput->x + textInput->width && -        mouseY >= textInput->y && mouseY <= textInput->y + textInput->height) { -        textInput->isActive = true; -    } else { -        textInput->isActive = false; -    } +	for (auto * button : buttons) { +		if (mouseX >= button->x && mouseX <= (button->x + button->width) +			&& mouseY >= button->y && mouseY <= (button->y + button->height)) { +			button->onClick(); +		} +	} +	for (auto * textInput : textInputs) { +		if (mouseX >= textInput->x && mouseX <= textInput->x + textInput->width +			&& mouseY >= textInput->y +			&& mouseY <= textInput->y + textInput->height) { +			textInput->isActive = true; +		} else { +			textInput->isActive = false; +		}  	}  }  void InputSystem::processKeyPress(Keycode key) { -    // for (auto* textInput : textInputs) { -    //     if (textInput->isActive) { -    //         if (key == SDLK_RETURN || key == SDLK_KP_ENTER) { -    //             // Submit the text -    //             if (textInput->onSubmit) { -    //                 textInput->onSubmit(); -    //             } -    //         }  -    //         else if (key == SDLK_BACKSPACE) { -    //             // Handle backspace -    //             if (!textInput->textBuffer.empty() && textInput->caretPosition > 0) { -    //                 textInput->textBuffer.erase(textInput->caretPosition - 1, 1); -    //                 textInput->caretPosition--; -    //             } -    //         }  -    //         else if (key == SDLK_LEFT) { -    //             // Move caret left -    //             if (textInput->caretPosition > 0) { -    //                 textInput->caretPosition--; -    //             } -    //         }  -    //         else if (key == SDLK_RIGHT) { -    //             // Move caret right -    //             if (textInput->caretPosition < textInput->textBuffer.size()) { -    //                 textInput->caretPosition++; -    //             } -    //         } -    //     } -    // } +	// for (auto* textInput : textInputs) { +	//     if (textInput->isActive) { +	//         if (key == SDLK_RETURN || key == SDLK_KP_ENTER) { +	//             // Submit the text +	//             if (textInput->onSubmit) { +	//                 textInput->onSubmit(); +	//             } +	//         } +	//         else if (key == SDLK_BACKSPACE) { +	//             // Handle backspace +	//             if (!textInput->textBuffer.empty() && textInput->caretPosition > 0) { +	//                 textInput->textBuffer.erase(textInput->caretPosition - 1, 1); +	//                 textInput->caretPosition--; +	//             } +	//         } +	//         else if (key == SDLK_LEFT) { +	//             // Move caret left +	//             if (textInput->caretPosition > 0) { +	//                 textInput->caretPosition--; +	//             } +	//         } +	//         else if (key == SDLK_RIGHT) { +	//             // Move caret right +	//             if (textInput->caretPosition < textInput->textBuffer.size()) { +	//                 textInput->caretPosition++; +	//             } +	//         } +	//     } +	// }  } -void InputSystem::processTextInput(const std::string& text) { -    // for (auto* textInput : textInputs) { -    //     if (textInput->isActive) { -    //         // Insert text at caret position -    //         textInput->textBuffer.insert(textInput->caretPosition, text); -    //         textInput->caretPosition += text.length(); -    //     } -    // } +void InputSystem::processTextInput(const std::string & text) { +	// for (auto* textInput : textInputs) { +	//     if (textInput->isActive) { +	//         // Insert text at caret position +	//         textInput->textBuffer.insert(textInput->caretPosition, text); +	//         textInput->caretPosition += text.length(); +	//     } +	// }  } - diff --git a/mwe/events/src/keyListenerTest.cpp b/mwe/events/src/keyListenerTest.cpp index 90b92a5..8446dfa 100644 --- a/mwe/events/src/keyListenerTest.cpp +++ b/mwe/events/src/keyListenerTest.cpp @@ -1,17 +1,15 @@  #include "keyListenerTest.h"  KeyListenerTest::KeyListenerTest(int listenerId) { -    subscribeEvents(listenerId); +	subscribeEvents(listenerId);  } -KeyListenerTest::~KeyListenerTest() { -    unsubscribeEvents(); -} +KeyListenerTest::~KeyListenerTest() { unsubscribeEvents(); } -void KeyListenerTest::onKeyPressed(const KeyPressedEvent& event) { -    std::cout << "Key pressed: " << event.getKeyCode() << std::endl; +void KeyListenerTest::onKeyPressed(const KeyPressedEvent & event) { +	std::cout << "Key pressed: " << event.getKeyCode() << std::endl;  } -void KeyListenerTest::onKeyReleased(const KeyReleasedEvent& event) { -    std::cout << "Key released: " << event.getKeyCode() << std::endl; +void KeyListenerTest::onKeyReleased(const KeyReleasedEvent & event) { +	std::cout << "Key released: " << event.getKeyCode() << std::endl;  } diff --git a/mwe/events/src/loopManager.cpp b/mwe/events/src/loopManager.cpp index f673d44..0b7d888 100644 --- a/mwe/events/src/loopManager.cpp +++ b/mwe/events/src/loopManager.cpp @@ -1,8 +1,8 @@  #include "loopManager.h" -LoopManager::LoopManager()  -    : inputSystem(std::make_unique<InputSystem>()){ -	shutdownHandler = [this](const ShutDownEvent& event) { this->onShutdown(event); }; +LoopManager::LoopManager() : inputSystem(std::make_unique<InputSystem>()) { +	shutdownHandler +		= [this](const ShutDownEvent & event) { this->onShutdown(event); };  	subscribe(shutdownHandler);  }  void LoopManager::processInput() { @@ -70,22 +70,20 @@ void LoopManager::setup() {  			  }  		  };  	subscribe<KeyPressedEvent>(closeWindowCallback, false); -	Button* testButton = new Button(200,200); -	testButton->color = {100,0,100}; -	testButton->onClick = []() { -    	std::cout << "Button was clicked" << std::endl; -	}; +	Button * testButton = new Button(200, 200); +	testButton->color = {100, 0, 100}; +	testButton->onClick +		= []() { std::cout << "Button was clicked" << std::endl; };  	testButton->x = 200;  	testButton->y = 200;  	inputSystem->registerButton(testButton);  	window.addUIObject(testButton); - -	TextInput* testInput = new TextInput(200,200); +	TextInput * testInput = new TextInput(200, 200);  	testInput->x = 100;  	testInput->y = 100; -	testInput->backgroundColor = {20,50,80}; +	testInput->backgroundColor = {20, 50, 80};  	inputSystem->registerTextInput(testInput);  	window.addUIObject(testInput);  } @@ -95,7 +93,7 @@ void LoopManager::render() {  		window.renderUIObjects();  	}  } -void LoopManager::onShutdown(const ShutDownEvent& e){ +void LoopManager::onShutdown(const ShutDownEvent & e) {  	this->gameRunning = false;  }  void LoopManager::update() { diff --git a/mwe/events/src/main.cpp b/mwe/events/src/main.cpp index 972fc70..d49cf74 100644 --- a/mwe/events/src/main.cpp +++ b/mwe/events/src/main.cpp @@ -1,16 +1,13 @@  #include "customTypes.h"  #include "event.h" -#include "loopManager.h" -#include <SDL2/SDL.h> -#include <iostream> -#include <memory> -#include "loopManager.h" -#include "event.h" -#include "customTypes.h"  #include "iKeyListener.h"  #include "iMouseListener.h"  #include "keyListenerTest.h" +#include "loopManager.h"  #include "mouseListenerTest.h" +#include <SDL2/SDL.h> +#include <iostream> +#include <memory>  class PlayerDamagedEvent : public Event {  public:  	PlayerDamagedEvent(int damage, int playerID) @@ -53,7 +50,7 @@ int main(int argc, char * args[]) {  	LoopManager gameLoop;  	int testListenerId = 0;  	KeyListenerTest keyListener(testListenerId); -    MouseListenerTest mouseListener(testListenerId); +	MouseListenerTest mouseListener(testListenerId);  	// custom event class poc  	subscribe<PlayerDamagedEvent>(onPlayerDamaged);  	triggerEvent(PlayerDamagedEvent(50, 1)); diff --git a/mwe/events/src/mouseListenerTest.cpp b/mwe/events/src/mouseListenerTest.cpp index 4b3aa3e..a2a7e6d 100644 --- a/mwe/events/src/mouseListenerTest.cpp +++ b/mwe/events/src/mouseListenerTest.cpp @@ -1,25 +1,27 @@  #include "mouseListenerTest.h"  MouseListenerTest::MouseListenerTest(int listenerId) { -    subscribeEvents(listenerId); +	subscribeEvents(listenerId);  } -MouseListenerTest::~MouseListenerTest() { -    unsubscribeEvents(); -} +MouseListenerTest::~MouseListenerTest() { unsubscribeEvents(); } -void MouseListenerTest::onMouseClicked(const MouseClickEvent& event) { -    std::cout << "Mouse clicked at: (" << event.getMousePosition().first << ", " << event.getMousePosition().second << ")" << std::endl; +void MouseListenerTest::onMouseClicked(const MouseClickEvent & event) { +	std::cout << "Mouse clicked at: (" << event.getMousePosition().first << ", " +			  << event.getMousePosition().second << ")" << std::endl;  } -void MouseListenerTest::onMousePressed(const MousePressedEvent& event) { -    std::cout << "Mouse button pressed at: (" << event.getMousePosition().first << ", " << event.getMousePosition().second << ")" << std::endl; +void MouseListenerTest::onMousePressed(const MousePressedEvent & event) { +	std::cout << "Mouse button pressed at: (" << event.getMousePosition().first +			  << ", " << event.getMousePosition().second << ")" << std::endl;  } -void MouseListenerTest::onMouseReleased(const MouseReleasedEvent& event) { -    std::cout << "Mouse button released at: (" << event.getMousePosition().first << ", " << event.getMousePosition().second << ")" << std::endl; +void MouseListenerTest::onMouseReleased(const MouseReleasedEvent & event) { +	std::cout << "Mouse button released at: (" << event.getMousePosition().first +			  << ", " << event.getMousePosition().second << ")" << std::endl;  } -void MouseListenerTest::onMouseMoved(const MouseMovedEvent& event) { -    std::cout << "Mouse moved to: (" << event.getMousePosition().first << ", " << event.getMousePosition().second << ")" << std::endl; +void MouseListenerTest::onMouseMoved(const MouseMovedEvent & event) { +	std::cout << "Mouse moved to: (" << event.getMousePosition().first << ", " +			  << event.getMousePosition().second << ")" << std::endl;  } diff --git a/mwe/events/src/uiObject.cpp b/mwe/events/src/uiObject.cpp index 31ff486..8405469 100644 --- a/mwe/events/src/uiObject.cpp +++ b/mwe/events/src/uiObject.cpp @@ -1,28 +1,24 @@  #include "uiObject.h"  // Constructor for UIObject -UIObject::UIObject(int width, int height) -    : width(width), height(height){ - -	} +UIObject::UIObject(int width, int height) : width(width), height(height) {}  // Constructor for Button -Button::Button(int width, int height) -    : UIObject(width, height) { -} +Button::Button(int width, int height) : UIObject(width, height) {}  Text::Text(int width, int height) -    : UIObject(width, height), size(12), font(nullptr), color{255, 255, 255} { // Default size and color -    alignment.horizontal = Alignment::Horizontal::CENTER; -    alignment.vertical = Alignment::Vertical::MIDDLE; -    alignment.mode = Alignment::PositioningMode::RELATIVE; +	: UIObject(width, height), size(12), font(nullptr), +	  color{255, 255, 255} { // Default size and color +	alignment.horizontal = Alignment::Horizontal::CENTER; +	alignment.vertical = Alignment::Vertical::MIDDLE; +	alignment.mode = Alignment::PositioningMode::RELATIVE;  }  TextInput::TextInput(int width, int height) -    : UIObject(width, height), textBuffer(""), placeholder(""),  -      isActive(false), textColor{255, 255, 255}, backgroundColor{0, 0, 0}, maxLength(100), font(nullptr) { -    alignment.horizontal = Alignment::Horizontal::LEFT; -    alignment.vertical = Alignment::Vertical::TOP; -    alignment.mode = Alignment::PositioningMode::RELATIVE; +	: UIObject(width, height), textBuffer(""), placeholder(""), isActive(false), +	  textColor{255, 255, 255}, backgroundColor{0, 0, 0}, maxLength(100), +	  font(nullptr) { +	alignment.horizontal = Alignment::Horizontal::LEFT; +	alignment.vertical = Alignment::Vertical::TOP; +	alignment.mode = Alignment::PositioningMode::RELATIVE;  } - diff --git a/mwe/events/src/uiRenderer.cpp b/mwe/events/src/uiRenderer.cpp index dbe8dfe..9fec272 100644 --- a/mwe/events/src/uiRenderer.cpp +++ b/mwe/events/src/uiRenderer.cpp @@ -1,103 +1,107 @@  #include "uiRenderer.h"  // Constructor -UIRenderer::UIRenderer(SDL_Renderer* renderer) : renderer(renderer) {} +UIRenderer::UIRenderer(SDL_Renderer * renderer) : renderer(renderer) {}  // Render function -void UIRenderer::render(UIObject* uiObject) { -    if (Button* button = dynamic_cast<Button*>(uiObject)) { -        renderButton(button); -    } else if (Text* text = dynamic_cast<Text*>(uiObject)) { -        renderText(text); -    } else if (TextInput* textInput = dynamic_cast<TextInput*>(uiObject)) { -        renderTextInput(textInput); -    } +void UIRenderer::render(UIObject * uiObject) { +	if (Button * button = dynamic_cast<Button *>(uiObject)) { +		renderButton(button); +	} else if (Text * text = dynamic_cast<Text *>(uiObject)) { +		renderText(text); +	} else if (TextInput * textInput = dynamic_cast<TextInput *>(uiObject)) { +		renderTextInput(textInput); +	}  }  // Private helper function to render a Button -void UIRenderer::renderButton(Button* button) { -    SDL_Rect buttonRect = {button->x, button->y, button->width, button->height}; -    SDL_SetRenderDrawColor(renderer, 100, 100, 255, 255); // Button color -    SDL_RenderFillRect(renderer, &buttonRect); +void UIRenderer::renderButton(Button * button) { +	SDL_Rect buttonRect = {button->x, button->y, button->width, button->height}; +	SDL_SetRenderDrawColor(renderer, 100, 100, 255, 255); // Button color +	SDL_RenderFillRect(renderer, &buttonRect);  }  // Private helper function to render a Text -void UIRenderer::renderText(Text* text) { -    if (text->font != nullptr) { -        SDL_Color sdlColor = {text->color.red, text->color.green, text->color.blue, 255}; -        SDL_Surface* textSurface = TTF_RenderText_Blended(text->font, text->text.c_str(), sdlColor); -        if (!textSurface) { -            std::cerr << "Error creating text surface: " << TTF_GetError() << std::endl; -            return; -        } +void UIRenderer::renderText(Text * text) { +	if (text->font != nullptr) { +		SDL_Color sdlColor +			= {text->color.red, text->color.green, text->color.blue, 255}; +		SDL_Surface * textSurface +			= TTF_RenderText_Blended(text->font, text->text.c_str(), sdlColor); +		if (!textSurface) { +			std::cerr << "Error creating text surface: " << TTF_GetError() +					  << std::endl; +			return; +		} -        SDL_Texture* textTexture = SDL_CreateTextureFromSurface(renderer, textSurface); -        if (!textTexture) { -            std::cerr << "Error creating texture from surface: " << SDL_GetError() << std::endl; -            SDL_FreeSurface(textSurface); -            return; -        } +		SDL_Texture * textTexture +			= SDL_CreateTextureFromSurface(renderer, textSurface); +		if (!textTexture) { +			std::cerr << "Error creating texture from surface: " +					  << SDL_GetError() << std::endl; +			SDL_FreeSurface(textSurface); +			return; +		} -        SDL_Rect textRect = {text->x, text->y, textSurface->w, textSurface->h}; -        SDL_RenderCopy(renderer, textTexture, nullptr, &textRect); -        SDL_FreeSurface(textSurface); -        SDL_DestroyTexture(textTexture); -    } +		SDL_Rect textRect = {text->x, text->y, textSurface->w, textSurface->h}; +		SDL_RenderCopy(renderer, textTexture, nullptr, &textRect); +		SDL_FreeSurface(textSurface); +		SDL_DestroyTexture(textTexture); +	}  } -void UIRenderer::renderTextInput(TextInput* textInput) { -    // // Check if textInput or renderer is null to avoid segmentation faults -    // if (!textInput || !renderer) { -    //     std::cerr << "Error: Null pointer detected for textInput or renderer." << std::endl; -    //     return; -    // } +void UIRenderer::renderTextInput(TextInput * textInput) { +	// // Check if textInput or renderer is null to avoid segmentation faults +	// if (!textInput || !renderer) { +	//     std::cerr << "Error: Null pointer detected for textInput or renderer." << std::endl; +	//     return; +	// } -    // // Render the background rectangle for the text input -    // SDL_Rect inputRect = {textInput->x, textInput->y, textInput->width, textInput->height}; -    // SDL_SetRenderDrawColor(renderer, textInput->backgroundColor.red, textInput->backgroundColor.green, textInput->backgroundColor.blue, 255); -    // SDL_RenderFillRect(renderer, &inputRect); +	// // Render the background rectangle for the text input +	// SDL_Rect inputRect = {textInput->x, textInput->y, textInput->width, textInput->height}; +	// SDL_SetRenderDrawColor(renderer, textInput->backgroundColor.red, textInput->backgroundColor.green, textInput->backgroundColor.blue, 255); +	// SDL_RenderFillRect(renderer, &inputRect); -    // // Check if font is valid -    // if (!textInput->font) { -    //     std::cerr << "Error: Font is not loaded for textInput." << std::endl; -    //     return; -    // } +	// // Check if font is valid +	// if (!textInput->font) { +	//     std::cerr << "Error: Font is not loaded for textInput." << std::endl; +	//     return; +	// } -    // SDL_Color sdlColor = {textInput->textColor.red, textInput->textColor.green, textInput->textColor.blue, 255}; +	// SDL_Color sdlColor = {textInput->textColor.red, textInput->textColor.green, textInput->textColor.blue, 255}; -    // if (!textInput->textBuffer.empty()) { -    //     // Render the text in the input field -    //     SDL_Surface* textSurface = TTF_RenderText_Blended(textInput->font, textInput->textBuffer.c_str(), sdlColor); -    //     if (textSurface) { -    //         SDL_Texture* textTexture = SDL_CreateTextureFromSurface(renderer, textSurface); -    //         if (textTexture) { -    //             SDL_Rect textRect = {textInput->x + 5, textInput->y + 5, textSurface->w, textSurface->h}; -    //             SDL_RenderCopy(renderer, textTexture, nullptr, &textRect); -    //             SDL_DestroyTexture(textTexture); -    //         } else { -    //             std::cerr << "Error: Unable to create texture from text surface." << std::endl; -    //         } -    //         SDL_FreeSurface(textSurface); -    //     } else { -    //         std::cerr << "Error: Unable to create text surface." << std::endl; -    //     } -    // } else if (!textInput->placeholder.empty()) { -    //     // Render the placeholder text -    //     SDL_Color placeholderColor = {128, 128, 128, 255}; // Light gray for placeholder -    //     SDL_Surface* placeholderSurface = TTF_RenderText_Blended(textInput->font, textInput->placeholder.c_str(), placeholderColor); -    //     if (placeholderSurface) { -    //         SDL_Texture* placeholderTexture = SDL_CreateTextureFromSurface(renderer, placeholderSurface); -    //         if (placeholderTexture) { -    //             SDL_Rect placeholderRect = {textInput->x + 5, textInput->y + 5, placeholderSurface->w, placeholderSurface->h}; -    //             SDL_RenderCopy(renderer, placeholderTexture, nullptr, &placeholderRect); -    //             SDL_DestroyTexture(placeholderTexture); -    //         } else { -    //             std::cerr << "Error: Unable to create texture from placeholder surface." << std::endl; -    //         } -    //         SDL_FreeSurface(placeholderSurface); -    //     } else { -    //         std::cerr << "Error: Unable to create placeholder surface." << std::endl; -    //     } -    // } +	// if (!textInput->textBuffer.empty()) { +	//     // Render the text in the input field +	//     SDL_Surface* textSurface = TTF_RenderText_Blended(textInput->font, textInput->textBuffer.c_str(), sdlColor); +	//     if (textSurface) { +	//         SDL_Texture* textTexture = SDL_CreateTextureFromSurface(renderer, textSurface); +	//         if (textTexture) { +	//             SDL_Rect textRect = {textInput->x + 5, textInput->y + 5, textSurface->w, textSurface->h}; +	//             SDL_RenderCopy(renderer, textTexture, nullptr, &textRect); +	//             SDL_DestroyTexture(textTexture); +	//         } else { +	//             std::cerr << "Error: Unable to create texture from text surface." << std::endl; +	//         } +	//         SDL_FreeSurface(textSurface); +	//     } else { +	//         std::cerr << "Error: Unable to create text surface." << std::endl; +	//     } +	// } else if (!textInput->placeholder.empty()) { +	//     // Render the placeholder text +	//     SDL_Color placeholderColor = {128, 128, 128, 255}; // Light gray for placeholder +	//     SDL_Surface* placeholderSurface = TTF_RenderText_Blended(textInput->font, textInput->placeholder.c_str(), placeholderColor); +	//     if (placeholderSurface) { +	//         SDL_Texture* placeholderTexture = SDL_CreateTextureFromSurface(renderer, placeholderSurface); +	//         if (placeholderTexture) { +	//             SDL_Rect placeholderRect = {textInput->x + 5, textInput->y + 5, placeholderSurface->w, placeholderSurface->h}; +	//             SDL_RenderCopy(renderer, placeholderTexture, nullptr, &placeholderRect); +	//             SDL_DestroyTexture(placeholderTexture); +	//         } else { +	//             std::cerr << "Error: Unable to create texture from placeholder surface." << std::endl; +	//         } +	//         SDL_FreeSurface(placeholderSurface); +	//     } else { +	//         std::cerr << "Error: Unable to create placeholder surface." << std::endl; +	//     } +	// }  } - diff --git a/mwe/events/src/window.cpp b/mwe/events/src/window.cpp index 7192e6b..f482b7f 100644 --- a/mwe/events/src/window.cpp +++ b/mwe/events/src/window.cpp @@ -1,56 +1,48 @@  #include "window.h"  #include <iostream> +WindowManager::WindowManager() { this->uiRenderer = nullptr; } -WindowManager::WindowManager() { -	this->uiRenderer = nullptr; -} - - -WindowManager::~WindowManager() { -    destroyWindow(); -} +WindowManager::~WindowManager() { destroyWindow(); }  bool WindowManager::initWindow() { -    if (SDL_Init(SDL_INIT_EVERYTHING) != 0) { -        std::cerr << "Error initializing SDL.\n"; -        return false; -    } - -    window = SDL_CreateWindow("SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, -                              SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, -                              SCREEN_HEIGHT, SDL_WINDOW_SHOWN); -    if (!window) { -        std::cerr << "Error creating SDL Window.\n"; -        return false; -    } - -    renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); -    if (!renderer) { -        std::cerr << "Error creating SDL renderer.\n"; -        return false; -    } - -    uiRenderer = new UIRenderer(renderer); -    return true; +	if (SDL_Init(SDL_INIT_EVERYTHING) != 0) { +		std::cerr << "Error initializing SDL.\n"; +		return false; +	} + +	window = SDL_CreateWindow("SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, +							  SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, +							  SCREEN_HEIGHT, SDL_WINDOW_SHOWN); +	if (!window) { +		std::cerr << "Error creating SDL Window.\n"; +		return false; +	} + +	renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); +	if (!renderer) { +		std::cerr << "Error creating SDL renderer.\n"; +		return false; +	} + +	uiRenderer = new UIRenderer(renderer); +	return true;  }  void WindowManager::destroyWindow() { -    SDL_DestroyRenderer(renderer); -    SDL_DestroyWindow(window); -    SDL_Quit(); +	SDL_DestroyRenderer(renderer); +	SDL_DestroyWindow(window); +	SDL_Quit();  } -SDL_Renderer* WindowManager::getRenderer() { -    return renderer; -} -void WindowManager::addUIObject(UIObject* uiObject) { -    uiObjects.push_back(uiObject); +SDL_Renderer * WindowManager::getRenderer() { return renderer; } +void WindowManager::addUIObject(UIObject * uiObject) { +	uiObjects.push_back(uiObject);  }  void WindowManager::renderUIObjects() { -    for (UIObject* obj : uiObjects) { -        uiRenderer->render(obj); -    } +	for (UIObject * obj : uiObjects) { +		uiRenderer->render(obj); +	}  	SDL_RenderPresent(this->renderer);  } diff --git a/mwe/gameloop/include/loopManager.h b/mwe/gameloop/include/loopManager.h index e2c2e2c..7d37253 100644 --- a/mwe/gameloop/include/loopManager.h +++ b/mwe/gameloop/include/loopManager.h @@ -17,7 +17,7 @@ private:  	void fixedUpdate();  	void render();  	bool gameRunning = false; -	WindowManager* window; +	WindowManager * window;  	int timeScale = 1;  	float accumulator = 0.0;  	double currentTime; diff --git a/mwe/gameloop/src/loopManager.cpp b/mwe/gameloop/src/loopManager.cpp index b075bd8..49d65fb 100644 --- a/mwe/gameloop/src/loopManager.cpp +++ b/mwe/gameloop/src/loopManager.cpp @@ -1,11 +1,8 @@  #include "loopManager.h"  #include "timer.h" -LoopManager::LoopManager() { -	this->window = new WindowManager(); -	 -} -LoopManager::~LoopManager(){ -	for(GameObject* object : this->objectList){ +LoopManager::LoopManager() { this->window = new WindowManager(); } +LoopManager::~LoopManager() { +	for (GameObject * object : this->objectList) {  		delete object;  	}  	delete this->window; |