83 lines
No EOL
2.4 KiB
C++
Executable file
83 lines
No EOL
2.4 KiB
C++
Executable file
#pragma once
|
|
|
|
#include <iostream>
|
|
#include <fstream>
|
|
#include <SFML/Graphics.hpp>
|
|
#include "define.hpp"
|
|
|
|
#ifdef DEBUG
|
|
#define LOG(message) asloengine::log((std::string)"LOG: ", message)
|
|
#define WARN(message) asloengine::log((std::string)"WARNING: ", message)
|
|
#define ERR(message) asloengine::log((std::string)"ERROR: ", message)
|
|
#else
|
|
#define LOG(message)
|
|
#define WARN(message)
|
|
#define ERR(message)
|
|
#endif
|
|
|
|
#define DEG_TO_RAD 0.01745
|
|
|
|
namespace asloengine
|
|
{
|
|
|
|
void log(const std::string& prefix, const bool condition);
|
|
void log(const std::string& prefix, const int number);
|
|
void log(const std::string& prefix, const double number);
|
|
void log(const std::string& prefix, const char* message);
|
|
void log(const std::string& prefix, const std::string& message);
|
|
|
|
sf::Vector2f operator+(sf::Vector2f _vec, float add);
|
|
sf::Vector2f operator-(sf::Vector2f _vec, float subtract);
|
|
sf::Vector2f operator*(sf::Vector2f _vec, float multiplier);
|
|
sf::Vector2f operator/(sf::Vector2f _vec, float divider);
|
|
|
|
sf::Vector2f operator+(sf::Vector2f _vec_1, sf::Vector2f _vec_2);
|
|
sf::Vector2f operator-(sf::Vector2f _vec_1, sf::Vector2f _vec_2);
|
|
sf::Vector2f operator*(sf::Vector2f _vec_1, sf::Vector2f _vec_2);
|
|
sf::Vector2f operator/(sf::Vector2f _vec_1, sf::Vector2f _vec_2);
|
|
|
|
sf::Vector2f operator+(sf::Vector2f _vec, sf::FloatRect _rect);
|
|
sf::Vector2f operator-(sf::Vector2f _vec, sf::FloatRect _rect);
|
|
sf::Vector2f operator*(sf::Vector2f _vec, sf::FloatRect _rect);
|
|
sf::Vector2f operator/(sf::Vector2f _vec, sf::FloatRect _rect);
|
|
|
|
float clamp(float value, float min, float max);
|
|
|
|
sf::Vector2i to_vector2i(sf::Vector2u _vec);
|
|
sf::Vector2i to_vector2i(sf::Vector2f _vec);
|
|
sf::Vector2u to_vector2u(sf::Vector2i _vec);
|
|
sf::Vector2u to_vector2u(sf::Vector2f _vec);
|
|
sf::Vector2f to_vector2f(sf::Vector2i _vec);
|
|
sf::Vector2f to_vector2f(sf::Vector2u _vec);
|
|
|
|
template <typename T>
|
|
T calculate_average(T *array, size_t size)
|
|
{
|
|
|
|
T sum;
|
|
for (size_t i = 0; i < size; i++)
|
|
{
|
|
sum += array[i];
|
|
}
|
|
|
|
return (sum / (T)size);
|
|
|
|
}
|
|
|
|
template <typename T>
|
|
int vector_contains(std::vector<T>& vec, T element)
|
|
{
|
|
|
|
for(int i = 0; i < vec.size(); i++)
|
|
{
|
|
if (vec[i] == element)
|
|
{
|
|
return i;
|
|
}
|
|
}
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
} |