mirror of
https://github.com/zoriya/Bomberman.git
synced 2025-12-21 13:55:10 +00:00
Merge branch 'renderer' into animations
This commit is contained in:
@@ -105,4 +105,6 @@ if (NOT raylib_FOUND)
|
||||
endif()
|
||||
|
||||
add_library(${LIB_NAME} STATIC ${SRC} ${HEADERS})
|
||||
target_compile_definitions(${LIB_NAME} INTERFACE INTERNAL=private)
|
||||
target_compile_definitions(${LIB_NAME} PRIVATE INTERNAL=public)
|
||||
target_link_libraries(${LIB_NAME} raylib)
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace RAY::Audio
|
||||
//! @brief Interface for Audio ressources
|
||||
class IAudio: public IRessource {
|
||||
public:
|
||||
virtual ~IAudio() = 0;
|
||||
virtual ~IAudio() = default;
|
||||
|
||||
//! @brief Load Audio stream from file
|
||||
virtual bool load(const std::string &path) = 0;
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace RAY::Camera {
|
||||
//! @brief A copy constructor
|
||||
Camera2D(const Camera2D &) = default;
|
||||
|
||||
~Camera2D() = default;
|
||||
~Camera2D() override = default;
|
||||
|
||||
//! @brief A Camera is assignable
|
||||
Camera2D &operator=(const Camera2D &) = default;
|
||||
@@ -52,11 +52,12 @@ namespace RAY::Camera {
|
||||
//! @brief Returns camera 2d transform matrix
|
||||
Matrix getMatrix(void) const override;
|
||||
|
||||
//! @brief get camera struct
|
||||
operator ::Camera2D() const;
|
||||
|
||||
private:
|
||||
::Camera2D _camera;
|
||||
|
||||
INTERNAL:
|
||||
//! @brief get camera struct
|
||||
operator ::Camera2D() const;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace RAY::Camera {
|
||||
//! @brief A copy constructor
|
||||
Camera3D(const Camera3D &) = default;
|
||||
|
||||
~Camera3D() = default;
|
||||
~Camera3D() override = default;
|
||||
|
||||
//! @brief A Camera is assignable
|
||||
Camera3D &operator=(const Camera3D &) = default;
|
||||
@@ -67,10 +67,13 @@ namespace RAY::Camera {
|
||||
|
||||
//! @brief get camera struct
|
||||
operator ::Camera3D() const;
|
||||
|
||||
private:
|
||||
::Camera3D _camera;
|
||||
Mode _mode;
|
||||
|
||||
INTERNAL:
|
||||
//! @brief get camera struct
|
||||
operator ::Camera3D() const;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -68,8 +68,6 @@ namespace RAY {
|
||||
//! @return A-component of color
|
||||
unsigned char getA(void) const;
|
||||
|
||||
//! @return color struct
|
||||
operator ::Color() const;
|
||||
|
||||
//! @return hexadecimal value of color
|
||||
int toHex(void) const;
|
||||
@@ -77,6 +75,10 @@ namespace RAY {
|
||||
private:
|
||||
//! @brief Color, really, that's just it...
|
||||
::Color _color;
|
||||
|
||||
INTERNAL:
|
||||
//! @return color struct
|
||||
operator ::Color() const;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
#include "Drawables/2D/Text.hpp"
|
||||
|
||||
RAY::Drawables::Drawables2D::Text::Text(const std::string &content, int fontSize, const Vector2 &position, const Color &color):
|
||||
ADrawable2D(position, color), _text(content), _size(fontSize), _spacing(DEFAULT_LETTER_SPACING)
|
||||
ADrawable2D(position, color), _text(content), _size(fontSize), _spacing(this->DefaultLetterSpacing)
|
||||
{
|
||||
this->_font.recs = nullptr;
|
||||
}
|
||||
|
||||
RAY::Drawables::Drawables2D::Text::Text(const std::string &content, int fontSize, int x, int y, const Color &color):
|
||||
ADrawable2D(x, y, color), _text(content), _size(fontSize), _spacing(DEFAULT_LETTER_SPACING)
|
||||
ADrawable2D(x, y, color), _text(content), _size(fontSize), _spacing(this->DefaultLetterSpacing)
|
||||
{
|
||||
this->_font.recs = nullptr;
|
||||
}
|
||||
|
||||
@@ -11,13 +11,12 @@
|
||||
#include "Drawables/ADrawable2D.hpp"
|
||||
#include <string>
|
||||
|
||||
#define DEFAULT_LETTER_SPACING 1
|
||||
|
||||
namespace RAY::Drawables::Drawables2D {
|
||||
//! @brief Text in a two-dimensionnal space
|
||||
class Text: public ADrawable2D
|
||||
{
|
||||
public:
|
||||
static constexpr int DefaultLetterSpacing = 1;
|
||||
//! @brief Text constructor
|
||||
//! @param content text
|
||||
//! @param fontSize size of the text
|
||||
@@ -80,6 +79,7 @@ namespace RAY::Drawables::Drawables2D {
|
||||
|
||||
//! @brief spacing of chars
|
||||
int _spacing;
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -54,9 +54,6 @@ namespace RAY
|
||||
//! @brief unload ressources
|
||||
bool unload() override;
|
||||
|
||||
//! @brief get image
|
||||
operator ::Image() const;
|
||||
operator ::Image *();
|
||||
|
||||
//! @brief draw drawable
|
||||
void draw(Drawables::ADrawable2D &);
|
||||
@@ -64,6 +61,11 @@ namespace RAY
|
||||
private:
|
||||
//! @brief Image, really, that's just it...
|
||||
::Image _image;
|
||||
|
||||
INTERNAL:
|
||||
//! @brief get image
|
||||
operator ::Image() const;
|
||||
operator ::Image *();
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -45,13 +45,14 @@ namespace RAY
|
||||
//! @brief unload ressources
|
||||
bool unload() override;
|
||||
|
||||
//! @return libray Texture struct
|
||||
operator ::Texture() const;
|
||||
|
||||
protected:
|
||||
private:
|
||||
//! @brief Texture, really, that's just it...
|
||||
::Texture _texture;
|
||||
|
||||
INTERNAL:
|
||||
//! @return libray Texture struct
|
||||
operator ::Texture() const;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -12,8 +12,9 @@
|
||||
|
||||
namespace RAY {
|
||||
//! @brief A Two-dimensionnal Vector data type.
|
||||
struct Vector2
|
||||
class Vector2
|
||||
{
|
||||
public:
|
||||
//! @brief Vector 2 constructor
|
||||
//! @param x x-value of vector, such as a width
|
||||
//! @param y y-value of vector, such as a height
|
||||
@@ -35,14 +36,15 @@ namespace RAY {
|
||||
//! @brief A Vector 2 is assignable
|
||||
Vector2 &operator=(const Vector2 &) = default;
|
||||
|
||||
//! @brief A RAY Vector2 is cast-able in libray's Vector2
|
||||
operator ::Vector2() const;
|
||||
|
||||
|
||||
//! @brief X value of vector
|
||||
float x;
|
||||
//! @brief Y value of vector
|
||||
float y;
|
||||
|
||||
INTERNAL:
|
||||
//! @brief A RAY Vector2 is cast-able in libray's Vector2
|
||||
operator ::Vector2() const;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -12,8 +12,9 @@
|
||||
|
||||
namespace RAY {
|
||||
//! @brief A Three-dimensionnal Vector data type.
|
||||
struct Vector3
|
||||
class Vector3
|
||||
{
|
||||
public:
|
||||
//! @brief Vector 3 constructor
|
||||
//! @param x x-value of vector, such as a width
|
||||
//! @param y y-value of vector, such as a height
|
||||
@@ -36,8 +37,6 @@ namespace RAY {
|
||||
//! @brief A Vector 3 is assignable
|
||||
Vector3 &operator=(const Vector3 &) = default;
|
||||
|
||||
//! @brief A RAY Vector3 is cast-able in libray's Vector3
|
||||
operator ::Vector3() const;
|
||||
|
||||
//! @brief X value of vector
|
||||
float x;
|
||||
@@ -45,6 +44,10 @@ namespace RAY {
|
||||
float y;
|
||||
//! @brief Z value of vector
|
||||
float z;
|
||||
|
||||
INTERNAL:
|
||||
//! @brief A RAY Vector3 is cast-able in libray's Vector3
|
||||
operator ::Vector3() const;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -112,12 +112,14 @@ void RAY::Window::setDrawingState(enum RAY::Window::drawingState state)
|
||||
|
||||
void RAY::Window::useCamera(RAY::Camera::Camera2D &camera)
|
||||
{
|
||||
this->unuseCamera();
|
||||
this->_displayState = RAY::Window::TWO_DIMENSIONNAL;
|
||||
BeginMode2D(camera);
|
||||
}
|
||||
|
||||
void RAY::Window::useCamera(RAY::Camera::Camera3D &camera)
|
||||
{
|
||||
this->unuseCamera();
|
||||
this->_displayState = RAY::Window::THREE_DIMENSIONNAL;
|
||||
BeginMode3D(camera);
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
|
||||
int main()
|
||||
{
|
||||
WAL::Wal wal;
|
||||
|
||||
// Initialization
|
||||
//--------------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user