client/entities and client/client_utilities build
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
/* Copyright: (c) Kayne Ruse 2013-2015
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
*
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
*
|
||||
* 3. This notice may not be removed or altered from any source
|
||||
* distribution.
|
||||
*/
|
||||
#include "text_util.hpp"
|
||||
|
||||
#include <stdexcept>
|
||||
|
||||
SDL_Texture* renderPlainText(SDL_Renderer* renderer, TTF_Font* font, std::string str, SDL_Color color) {
|
||||
//make the surface (from SDL_ttf)
|
||||
SDL_Surface* surface = TTF_RenderText_Solid(font, str.c_str(), color);
|
||||
if (!surface) {
|
||||
throw(std::runtime_error("Failed to create a TTF surface"));
|
||||
}
|
||||
|
||||
//convert to texture
|
||||
SDL_Texture* texture = SDL_CreateTextureFromSurface(renderer, surface);
|
||||
if (!texture) {
|
||||
SDL_FreeSurface(surface);
|
||||
throw(std::runtime_error("Failed to create a TTF texture"));
|
||||
}
|
||||
|
||||
//cleanup
|
||||
SDL_FreeSurface(surface);
|
||||
|
||||
//NOTE: free the texture yourself
|
||||
return texture;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
/* Copyright: (c) Kayne Ruse 2013-2015
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
*
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
*
|
||||
* 3. This notice may not be removed or altered from any source
|
||||
* distribution.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "SDL2/SDL.h"
|
||||
#include "SDL2/SDL_ttf.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
constexpr SDL_Color COLOR_WHITE = {255, 255, 255, 255};
|
||||
|
||||
//TODO: some kind of persistent display widget
|
||||
//TODO: I need a full suite of widgets
|
||||
SDL_Texture* renderPlainText(SDL_Renderer*, TTF_Font*, std::string, SDL_Color color);
|
||||
@@ -30,16 +30,16 @@
|
||||
void BaseCharacter::CorrectSprite() {
|
||||
//NOTE: These must correspond to the sprite sheet in use
|
||||
if (motion.y > 0) {
|
||||
sprite.SetYIndex(0);
|
||||
sprite.SetIndexY(0);
|
||||
}
|
||||
else if (motion.y < 0) {
|
||||
sprite.SetYIndex(1);
|
||||
sprite.SetIndexY(1);
|
||||
}
|
||||
else if (motion.x > 0) {
|
||||
sprite.SetYIndex(3);
|
||||
sprite.SetIndexY(3);
|
||||
}
|
||||
else if (motion.x < 0) {
|
||||
sprite.SetYIndex(2);
|
||||
sprite.SetIndexY(2);
|
||||
}
|
||||
|
||||
//animation
|
||||
@@ -48,7 +48,7 @@ void BaseCharacter::CorrectSprite() {
|
||||
}
|
||||
else {
|
||||
sprite.SetDelay(0);
|
||||
sprite.SetXIndex(0);
|
||||
sprite.SetIndexX(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,9 +72,9 @@ std::string BaseCharacter::GetHandle() const {
|
||||
return handle;
|
||||
}
|
||||
|
||||
std::string BaseCharacter::SetAvatar(std::string s) {
|
||||
std::string BaseCharacter::SetAvatar(SDL_Renderer* const renderer, std::string s) {
|
||||
avatar = s;
|
||||
sprite.LoadSurface(ConfigUtility::GetSingleton()["dir.sprites"] + avatar, CHARACTER_CELLS_X, CHARACTER_CELLS_Y);
|
||||
sprite.Load(renderer, ConfigUtility::GetSingleton()["dir.sprites"] + avatar, CHARACTER_CELLS_X, CHARACTER_CELLS_Y);
|
||||
return avatar;
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ public:
|
||||
int GetOwner();
|
||||
std::string SetHandle(std::string s);
|
||||
std::string GetHandle() const;
|
||||
std::string SetAvatar(std::string s);
|
||||
std::string SetAvatar(SDL_Renderer* const, std::string s);
|
||||
std::string GetAvatar() const;
|
||||
|
||||
protected:
|
||||
|
||||
@@ -35,9 +35,9 @@ std::string BaseMonster::GetHandle() const {
|
||||
return handle;
|
||||
}
|
||||
|
||||
std::string BaseMonster::SetAvatar(std::string s) {
|
||||
std::string BaseMonster::SetAvatar(SDL_Renderer* const renderer, std::string s) {
|
||||
avatar = s;
|
||||
sprite.LoadSurface(ConfigUtility::GetSingleton()["dir.sprites"] + avatar, 4, 1);
|
||||
sprite.Load(renderer, ConfigUtility::GetSingleton()["dir.sprites"] + avatar, 4, 1);
|
||||
return avatar;
|
||||
}
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ public:
|
||||
|
||||
std::string SetHandle(std::string s);
|
||||
std::string GetHandle() const;
|
||||
std::string SetAvatar(std::string s);
|
||||
std::string SetAvatar(SDL_Renderer* const, std::string s);
|
||||
std::string GetAvatar() const;
|
||||
|
||||
protected:
|
||||
|
||||
@@ -26,8 +26,8 @@ void Entity::Update() {
|
||||
sprite.Update(0.016);
|
||||
}
|
||||
|
||||
void Entity::DrawTo(SDL_Surface* const dest, int camX, int camY) {
|
||||
sprite.DrawTo(dest, origin.x - camX, origin.y - camY);
|
||||
void Entity::DrawTo(SDL_Renderer* const renderer, int camX, int camY) {
|
||||
sprite.DrawTo(renderer, origin.x - camX, origin.y - camY);
|
||||
}
|
||||
|
||||
SpriteSheet* Entity::GetSprite() {
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
class Entity {
|
||||
public:
|
||||
virtual void Update();
|
||||
virtual void DrawTo(SDL_Surface* const, int camX, int camY);
|
||||
virtual void DrawTo(SDL_Renderer* const, int camX, int camY);
|
||||
|
||||
SpriteSheet* GetSprite();
|
||||
|
||||
|
||||
+2
-2
@@ -29,8 +29,8 @@ OUT=$(addprefix $(OUTDIR)/,client)
|
||||
|
||||
#targets
|
||||
all: $(OBJ) $(OUT)
|
||||
# $(MAKE) -C client_utilities
|
||||
# $(MAKE) -C entities
|
||||
$(MAKE) -C client_utilities
|
||||
$(MAKE) -C entities
|
||||
# $(MAKE) -C gameplay_scenes
|
||||
# $(MAKE) -C menu_scenes
|
||||
# $(CXX) $(CXXFLAGS) -o $(OUT) $(OBJ) $(LIBS)
|
||||
|
||||
Reference in New Issue
Block a user