From 6fca2293ee11bebbcbf6ed328fc794b3d51acb27 Mon Sep 17 00:00:00 2001
From: AnonymusRaccoon
Date: Thu, 13 Feb 2020 17:13:46 +0100
Subject: [PATCH] Cleaning up
---
sources/Ram/Ram.cpp | 2 ++
sources/Renderer/SFRenderer.cpp | 56 ++++++++++++++++++---------------
sources/Renderer/SFRenderer.hpp | 12 +++----
3 files changed, 39 insertions(+), 31 deletions(-)
diff --git a/sources/Ram/Ram.cpp b/sources/Ram/Ram.cpp
index ac1ad4a..a297705 100644
--- a/sources/Ram/Ram.cpp
+++ b/sources/Ram/Ram.cpp
@@ -2,6 +2,7 @@
// Created by anonymus-raccoon on 1/28/20.
//
+#include
#include "Ram.hpp"
#include "../Exceptions/InvalidAddress.hpp"
@@ -11,6 +12,7 @@ namespace ComSquare::Ram
: _size(size)
{
this->_data = new uint8_t[size];
+ std::memset(this->_data, 0, size * sizeof(uint8_t));
}
Ram::~Ram()
diff --git a/sources/Renderer/SFRenderer.cpp b/sources/Renderer/SFRenderer.cpp
index 281706e..f3f822c 100644
--- a/sources/Renderer/SFRenderer.cpp
+++ b/sources/Renderer/SFRenderer.cpp
@@ -12,52 +12,58 @@
namespace ComSquare::Renderer
{
+ SFRenderer::SFRenderer(unsigned int height, unsigned int width, int maxFPS)
+ {
+ sf::Image icon;
+ this->shouldExit = false;
+ this->_videoMode = {width, height, 32};
+ this->_window.create(this->_videoMode, "ComSquare Emulator", sf::Style::Default);
+ if (icon.loadFromFile("../ressources/Logo.png"))
+ this->_window.setIcon(314, 314, icon.getPixelsPtr());
+ this->_window.setFramerateLimit(maxFPS);
+ this->_texture.create(width, height);
+ this->_sprite.setTexture(this->_texture);
+ this->_pixelBuffer = new sf::Color[height * width];
+ }
+
+ SFRenderer::~SFRenderer()
+ {
+ delete []this->_pixelBuffer;
+ }
+
+
void SFRenderer::setWindowName(std::string newWindowName)
{
- this->window.setTitle(newWindowName + " - ComSquare");
+ this->_window.setTitle(newWindowName + " - ComSquare");
}
void SFRenderer::drawScreen()
{
- this->texture.update(reinterpret_cast(this->pixelBuffer));
- this->sprite.setTexture(this->texture);
- this->window.draw(this->sprite);
- this->window.display();
+ this->_texture.update(reinterpret_cast(this->_pixelBuffer));
+ this->_sprite.setTexture(this->_texture);
+ this->_window.draw(this->_sprite);
+ this->_window.display();
}
void SFRenderer::putPixel(unsigned y, unsigned x, uint32_t rgba)
{
- if (x >= this->videoMode.width)
- throw InvalidPixelPosition("Width", x, this->videoMode.width);
- if (y >= this->videoMode.height)
- throw InvalidPixelPosition("Height", y, this->videoMode.height);
+ if (x >= this->_videoMode.width)
+ throw InvalidPixelPosition("Width", x, this->_videoMode.width);
+ if (y >= this->_videoMode.height)
+ throw InvalidPixelPosition("Height", y, this->_videoMode.height);
sf::Color pixels;
pixels.r = rgba >> 24U;
pixels.g = rgba >> 16U;
pixels.b = rgba >> 8U;
pixels.a = rgba >> 0U;
- this->pixelBuffer[this->videoMode.width * y + x] = pixels;
- }
-
- SFRenderer::SFRenderer(unsigned int height, unsigned int width, int maxFPS)
- {
- sf::Image icon;
- this->shouldExit = false;
- this->videoMode = {width, height, 32};
- this->window.create(this->videoMode, "ComSquare Emulator", sf::Style::Default);
- if (icon.loadFromFile("../ressources/Logo.png"))
- this->window.setIcon(314, 314, icon.getPixelsPtr());
- this->window.setFramerateLimit(maxFPS);
- this->texture.create(width, height);
- this->sprite.setTexture(this->texture);
- this->pixelBuffer = new sf::Color[height * width];
+ this->_pixelBuffer[this->_videoMode.width * y + x] = pixels;
}
void SFRenderer::getEvents()
{
sf::Event event;
- while (this->window.pollEvent(event)) {
+ while (this->_window.pollEvent(event)) {
if (event.type == sf::Event::Closed) {
this->shouldExit = true;
break;
diff --git a/sources/Renderer/SFRenderer.hpp b/sources/Renderer/SFRenderer.hpp
index e259fdd..73fd958 100644
--- a/sources/Renderer/SFRenderer.hpp
+++ b/sources/Renderer/SFRenderer.hpp
@@ -26,15 +26,15 @@ namespace ComSquare::Renderer
class SFRenderer : public IRenderer {
private:
//! @brief The Renderer for the window.
- sf::RenderWindow window;
+ sf::RenderWindow _window;
//! @brief Video Mode containing the height and width of the window.
- sf::VideoMode videoMode;
+ sf::VideoMode _videoMode;
//! @brief The image that contain all of the pixels
- sf::Color *pixelBuffer;
+ sf::Color *_pixelBuffer;
//! @brief The sprite to render the array of pixels
- sf::Sprite sprite;
+ sf::Sprite _sprite;
//! @brief The texture to render the array of pixels
- sf::Texture texture;
+ sf::Texture _texture;
public:
//! @brief Set a new name to the window, if there is already a name it will be overwrite.
//! @param newWindowName new title for the window.
@@ -55,7 +55,7 @@ namespace ComSquare::Renderer
SFRenderer(unsigned int height, unsigned int width, int maxFPS);
SFRenderer(const SFRenderer &) = delete;
SFRenderer &operator=(const SFRenderer &) = delete;
- ~SFRenderer() = default;
+ ~SFRenderer();
};
}