[Clean] Cleaning up LibD to resurect the project.
This commit is contained in:
parent
4ba792cc18
commit
f84f9c2982
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,5 +1,3 @@
|
|||||||
LibDQt/LibDQt
|
|
||||||
LibDQt/Makefile
|
|
||||||
LibD
|
LibD
|
||||||
*.pro.user
|
*.pro.user
|
||||||
moc_*
|
moc_*
|
||||||
@ -12,6 +10,7 @@ moc_*
|
|||||||
*.sdf
|
*.sdf
|
||||||
*.opensdf
|
*.opensdf
|
||||||
*.user
|
*.user
|
||||||
|
Bin/Makefile
|
||||||
Bin/VC10/Debug
|
Bin/VC10/Debug
|
||||||
Bin/VC10/Release
|
Bin/VC10/Release
|
||||||
Bin/VC10/ipch
|
Bin/VC10/ipch
|
||||||
|
@ -8,7 +8,7 @@ LIBS += -lGL \
|
|||||||
-ltinyxml \
|
-ltinyxml \
|
||||||
-lSDL_mixer \
|
-lSDL_mixer \
|
||||||
-lSDL_ttf
|
-lSDL_ttf
|
||||||
win32: {
|
win32: {
|
||||||
LIBS -= -lGL \
|
LIBS -= -lGL \
|
||||||
-lGLU
|
-lGLU
|
||||||
LIBS += -lkernel32 \
|
LIBS += -lkernel32 \
|
||||||
@ -67,7 +67,9 @@ HEADERS += ../src/Actor/Player.h \
|
|||||||
../src/UI/Button.h \
|
../src/UI/Button.h \
|
||||||
../src/Main/TitleScreen.h \
|
../src/Main/TitleScreen.h \
|
||||||
../src/Level/Warp.h \
|
../src/Level/Warp.h \
|
||||||
../src/Math/Rect.h
|
../src/Math/Rect.h \
|
||||||
|
../src/BattleSys/Slot.h
|
||||||
|
|
||||||
SOURCES += ../src/Actor/Player.cpp \
|
SOURCES += ../src/Actor/Player.cpp \
|
||||||
../src/Collision/AABB.cpp \
|
../src/Collision/AABB.cpp \
|
||||||
../src/Global/Globals.cpp \
|
../src/Global/Globals.cpp \
|
||||||
@ -108,4 +110,7 @@ SOURCES += ../src/Actor/Player.cpp \
|
|||||||
../src/UI/Menu.cpp \
|
../src/UI/Menu.cpp \
|
||||||
../src/UI/Button.cpp \
|
../src/UI/Button.cpp \
|
||||||
../src/Main/TitleScreen.cpp \
|
../src/Main/TitleScreen.cpp \
|
||||||
../src/Level/Warp.cpp
|
../src/Level/Warp.cpp \
|
||||||
|
../src/BattleSys/Slot.cpp
|
||||||
|
|
||||||
|
QMAKE_CLEAN += LibD Debug.log
|
47
Bin/Makefile
47
Bin/Makefile
@ -1,47 +0,0 @@
|
|||||||
CC = g++
|
|
||||||
CFLAGS = -ansi -Wall -g
|
|
||||||
LDADD = -lGL -lGLU -lglut -lSDL -lSDL_image -lSDL_gfx -lSDL_ttf -ltinyxml
|
|
||||||
LDADDSTATIC = -Wl,-Bstatic -lSDL -lSDL_image -lopenal -lalut -L/usr/X11 -Wl,-Bdynamic -lasound -lartsc -lesd -lpulse -lpulse-simple -ldirectfb -lvga -laa -lcaca -ljpeg -ltiff -
|
|
||||||
|
|
||||||
.PHONY: default static all clean
|
|
||||||
|
|
||||||
default: all
|
|
||||||
|
|
||||||
all:
|
|
||||||
$(MAKE) -C ../src/Main
|
|
||||||
$(MAKE) -C ../src/Texture
|
|
||||||
$(MAKE) -C ../src/Actor
|
|
||||||
$(MAKE) -C ../src/Math
|
|
||||||
$(MAKE) -C ../src/System
|
|
||||||
$(MAKE) -C ../src/Sprite
|
|
||||||
$(MAKE) -C ../src/IO
|
|
||||||
$(MAKE) -C ../src/Global
|
|
||||||
|
|
||||||
$(CC) $(CFLAGS) -o LibD ../src/Main/main.cpp ../src/Main/*.o ../src/Texture/*.o \
|
|
||||||
../src/Actor/*.o ../src/Math/*.o ../src/System/*.o ../src/Sprite/*.o \
|
|
||||||
../src/IO/*.o ../src/Global/*.o $(LDADD)
|
|
||||||
|
|
||||||
static:
|
|
||||||
@echo -e "\033[1;31mThis is an experimental build, if it does not work, don't complain...\033[0m"
|
|
||||||
@sleep 1
|
|
||||||
$(MAKE) -C ../src/Main/ ../src/Main/*.o ../src/Texture/*.o \
|
|
||||||
../src/Actor/*.o ../src/Math/*.o ../src/System/*.o ../src/Sprite/*.o \
|
|
||||||
../src/IO/*.o ../src/Global/*.o
|
|
||||||
|
|
||||||
$(CC) $(CFLAGS) -o build/LibD-static ../src/Main/main.cpp ../src/Main/*.o \
|
|
||||||
../src/Texture/*.o ../src/Actor/*.o ../src/Math/*.o \
|
|
||||||
../src/System/*.o ../src/Sprite/*.o ../src/IO/*.o
|
|
||||||
../src/Global/*.o \
|
|
||||||
$(LDADDSTATIC)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(MAKE) -C ../src/Main/ clean
|
|
||||||
$(MAKE) -C ../src/Texture/ clean
|
|
||||||
$(MAKE) -C ../src/Actor/ clean
|
|
||||||
$(MAKE) -C ../src/Math/ clean
|
|
||||||
$(MAKE) -C ../src/System/ clean
|
|
||||||
$(MAKE) -C ../src/Sprite/ clean
|
|
||||||
$(MAKE) -C ../src/IO/ clean
|
|
||||||
$(MAKE) -C ../src/Global/ clean
|
|
||||||
rm -f *.log
|
|
||||||
rm -f LibD
|
|
BIN
Data/Img/HUD/SpellHud.png
Normal file
BIN
Data/Img/HUD/SpellHud.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
@ -70,5 +70,10 @@
|
|||||||
<property name="y" value="13"/>
|
<property name="y" value="13"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
|
<object name="NPC!!!" type="NPC" x="644" y="319" width="32" height="32">
|
||||||
|
<properties>
|
||||||
|
<property name="image" value="Player"/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
</objectgroup>
|
</objectgroup>
|
||||||
</map>
|
</map>
|
||||||
|
@ -58,7 +58,7 @@ void Actor::Update(float dt) {
|
|||||||
float oldX = x;
|
float oldX = x;
|
||||||
float oldY = y;
|
float oldY = y;
|
||||||
|
|
||||||
Move(dt);
|
ProcessEvents(dt);
|
||||||
|
|
||||||
float collisionYOffset = GetMaxHeight() / 2.0f;
|
float collisionYOffset = GetMaxHeight() / 2.0f;
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
Actor(Level* level);
|
Actor(Level* level);
|
||||||
~Actor(void);
|
virtual ~Actor(void);
|
||||||
|
|
||||||
void SetLevel(Level* level) { _level = level; }
|
void SetLevel(Level* level) { _level = level; }
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ public:
|
|||||||
void SetDirection(Facing direction) { _direction = direction; }
|
void SetDirection(Facing direction) { _direction = direction; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void Move(float dt) = 0;
|
virtual void ProcessEvents(float dt) = 0;
|
||||||
|
|
||||||
AnimatingSprite* GetAnimation(void);
|
AnimatingSprite* GetAnimation(void);
|
||||||
|
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
CC = g++
|
|
||||||
CFLAGS = -ansi -Wall -g
|
|
||||||
LDADD = -lGL -lGLU -lSDL -lSDL_image
|
|
||||||
|
|
||||||
objects = *.o \
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: default all clean
|
|
||||||
|
|
||||||
default: all
|
|
||||||
|
|
||||||
%.cpp: %.h
|
|
||||||
|
|
||||||
%.o: %.cpp
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
all: $(objects)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(objects)
|
|
@ -14,5 +14,5 @@ void NPC::Render(void) {
|
|||||||
Actor::Render();
|
Actor::Render();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NPC::Move(float dt) {
|
void NPC::ProcessEvents(float dt) {
|
||||||
}
|
}
|
||||||
|
@ -11,5 +11,5 @@ public:
|
|||||||
void Render(void);
|
void Render(void);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Move(float dt);
|
void ProcessEvents(float dt);
|
||||||
};
|
};
|
||||||
|
@ -27,7 +27,7 @@ void Player::Render(void) {
|
|||||||
Actor::Render();
|
Actor::Render();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::Move(float dt) {
|
void Player::ProcessEvents(float dt) {
|
||||||
if(KeyStillDown(SDLK_a) || KeyStillDown(SDLK_LEFT)) {
|
if(KeyStillDown(SDLK_a) || KeyStillDown(SDLK_LEFT)) {
|
||||||
x -= _velocity * 60 * dt;
|
x -= _velocity * 60 * dt;
|
||||||
_direction = Actor::LEFT;
|
_direction = Actor::LEFT;
|
||||||
|
@ -16,5 +16,5 @@ public:
|
|||||||
void Render(void);
|
void Render(void);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Move(float dt);
|
void ProcessEvents(float dt);
|
||||||
};
|
};
|
||||||
|
53
src/BattleSys/Slot.cpp
Normal file
53
src/BattleSys/Slot.cpp
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
#include "Slot.h"
|
||||||
|
|
||||||
|
Slot::Slot(void) {
|
||||||
|
_triggered = false;
|
||||||
|
_selected = false;
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
w = 0;
|
||||||
|
h = 0;
|
||||||
|
|
||||||
|
//Sprite* _slot = new Sprite();
|
||||||
|
//_slot->LoadSprite("../Data/Img/HUD/SpellHud.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
Slot::~Slot(void) {
|
||||||
|
//delete _slot;
|
||||||
|
delete _slotArray[_index];
|
||||||
|
}
|
||||||
|
|
||||||
|
void Slot::PrepareSlot(void) {
|
||||||
|
for(int i = 0; i < MAX_SLOTS; i++) {
|
||||||
|
_slotArray[i] = new Button();
|
||||||
|
_slotArray[i]->LoadSprite("../Data/Img/HUD/SpellHud.png");
|
||||||
|
_index = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Slot::Render(void) {
|
||||||
|
//_slot->Draw();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Slot::Render(float x, float y) {
|
||||||
|
for(int i = 0; i < _index; i++) {
|
||||||
|
int offset = 52;
|
||||||
|
|
||||||
|
if(i != _index) {
|
||||||
|
x += offset;
|
||||||
|
_slotArray[_index]->Render(x, y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Slot::ProcessEvents(void) {
|
||||||
|
_slotArray[0]->Update();
|
||||||
|
if(_slotArray[0]->IsSelected()) {
|
||||||
|
if(MouseUp(SDL_BUTTON(1))) {
|
||||||
|
_slotArray[0]->SetSelected(true);
|
||||||
|
Debug::logger->message("Slot has been triggered.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//Debug::logger->message("Not triggered");
|
||||||
|
}
|
||||||
|
}
|
43
src/BattleSys/Slot.h
Normal file
43
src/BattleSys/Slot.h
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "../Math/Vec2.h"
|
||||||
|
#include "../System/Debug.h"
|
||||||
|
#include "../Global/Globals.h"
|
||||||
|
#include "../UI/Button.h"
|
||||||
|
#include "../IO/Input.h"
|
||||||
|
#define MAX_SLOTS 15
|
||||||
|
|
||||||
|
class Slot {
|
||||||
|
public:
|
||||||
|
Slot(void);
|
||||||
|
~Slot(void);
|
||||||
|
|
||||||
|
void PrepareSlot(void);
|
||||||
|
void Render(void);
|
||||||
|
void Render(float x, float y);
|
||||||
|
|
||||||
|
void ProcessEvents(void);
|
||||||
|
|
||||||
|
bool IsSelected(void) const { return _selected; }
|
||||||
|
void SetSelected(bool selected) { _selected = selected; }
|
||||||
|
bool Triggered(void) const { return _triggered; }
|
||||||
|
|
||||||
|
int GetX(void) { return x; }
|
||||||
|
int GetY(void) { return y; }
|
||||||
|
void SetX(int x) { this->x = x; }
|
||||||
|
void SetY(int y) { this->y = y; }
|
||||||
|
void SetXY(int x, int y) { SetX(x); SetY(y); }
|
||||||
|
|
||||||
|
int GetWidth(void) { return w; }
|
||||||
|
int GetHeight(void) { return h; }
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
//Button* _slot;
|
||||||
|
Button* _slotArray[MAX_SLOTS];
|
||||||
|
int _index;
|
||||||
|
|
||||||
|
bool _selected;
|
||||||
|
bool _triggered;
|
||||||
|
|
||||||
|
int x,y,w,h;
|
||||||
|
};
|
@ -1,20 +0,0 @@
|
|||||||
CC = g++
|
|
||||||
CFLAGS = -ansi -Wall -g
|
|
||||||
LDADD = -lGL -lGLU -lSDL -lSDL_image
|
|
||||||
|
|
||||||
objects = *.o \
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: default all clean
|
|
||||||
|
|
||||||
default: all
|
|
||||||
|
|
||||||
%.cpp: %.h
|
|
||||||
|
|
||||||
%.o: %.cpp
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
all: $(objects)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(objects)
|
|
@ -1,20 +0,0 @@
|
|||||||
CC = g++
|
|
||||||
CFLAGS = -ansi -Wall -g
|
|
||||||
LDADD = -lGL -lGLU -lSDL -lSDL_image
|
|
||||||
|
|
||||||
objects = *.o \
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: default all clean
|
|
||||||
|
|
||||||
default: all
|
|
||||||
|
|
||||||
%.cpp: %.h
|
|
||||||
|
|
||||||
%.o: %.cpp
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
all: $(objects)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(objects)
|
|
@ -25,6 +25,11 @@ Game::Game(void) {
|
|||||||
_level = new Level(this);
|
_level = new Level(this);
|
||||||
_player = new Player(_level);
|
_player = new Player(_level);
|
||||||
|
|
||||||
|
//_NPC = new NPC(_level);
|
||||||
|
_slot = new Slot();
|
||||||
|
|
||||||
|
//_NPC->SetXY(30.0f, 30.0f);
|
||||||
|
|
||||||
_testFont = new Font();
|
_testFont = new Font();
|
||||||
|
|
||||||
_titleScreen = new TitleScreen();
|
_titleScreen = new TitleScreen();
|
||||||
@ -54,7 +59,7 @@ bool Game::Init(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Game::Prepare(float dt) {
|
void Game::Prepare(float dt) {
|
||||||
|
_slot->PrepareSlot();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Game::Render(void) {
|
void Game::Render(void) {
|
||||||
@ -71,6 +76,7 @@ void Game::Shutdown(void) {
|
|||||||
delete _testFont;
|
delete _testFont;
|
||||||
delete _player;
|
delete _player;
|
||||||
delete _level;
|
delete _level;
|
||||||
|
delete _slot;
|
||||||
if(_inGameMenu) {
|
if(_inGameMenu) {
|
||||||
delete _inGameMenu;
|
delete _inGameMenu;
|
||||||
_inGameMenu = NULL;
|
_inGameMenu = NULL;
|
||||||
@ -83,6 +89,7 @@ void Game::ProcessEvents(float dt) {
|
|||||||
} else {
|
} else {
|
||||||
UpdateGame(dt);
|
UpdateGame(dt);
|
||||||
}
|
}
|
||||||
|
_slot->ProcessEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Game::OnResize(int width, int height) {
|
void Game::OnResize(int width, int height) {
|
||||||
@ -214,11 +221,11 @@ void Game::RenderGame(void) {
|
|||||||
_testFont->SetColor(0.0f, 1.0f, 1.0f, 1.0f);
|
_testFont->SetColor(0.0f, 1.0f, 1.0f, 1.0f);
|
||||||
_testFont->RenderText(
|
_testFont->RenderText(
|
||||||
_player->GetX() - 5,
|
_player->GetX() - 5,
|
||||||
_player->GetY() - _testFont->GetLineSkip() - 2,
|
_player->GetY() - _testFont->GetLineSkip() - 20,
|
||||||
"Miss D");
|
"Miss D");
|
||||||
_testFont->RenderText(
|
_testFont->RenderText(
|
||||||
_player->GetX() - 50,
|
_player->GetX() - 50,
|
||||||
_player->GetY() - _testFont->GetLineSkip() - 20,
|
_player->GetY() - _testFont->GetLineSkip() - 2,
|
||||||
"<Misteress of Magic>");
|
"<Misteress of Magic>");
|
||||||
|
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
@ -232,6 +239,7 @@ void Game::RenderHUD(void) {
|
|||||||
if(_inGameMenuShown) {
|
if(_inGameMenuShown) {
|
||||||
_inGameMenu->Render();
|
_inGameMenu->Render();
|
||||||
}
|
}
|
||||||
|
_slot->Render(windowWidth/600, windowHeight/1.10f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Game::NewGame(void) {
|
void Game::NewGame(void) {
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#include "../IO/Input.h"
|
#include "../IO/Input.h"
|
||||||
#include "../Actor/Player.h"
|
#include "../Actor/Player.h"
|
||||||
#include "../Font/Font.h"
|
#include "../Font/Font.h"
|
||||||
|
#include "../BattleSys/Slot.h"
|
||||||
|
|
||||||
class Sprite;
|
class Sprite;
|
||||||
class Level;
|
class Level;
|
||||||
@ -29,6 +30,9 @@ public:
|
|||||||
void SetRunning(bool running) { _running = running; }
|
void SetRunning(bool running) { _running = running; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
// Battle system crap.
|
||||||
|
Slot* _slot;
|
||||||
|
|
||||||
void UpdateTitle(float dt);
|
void UpdateTitle(float dt);
|
||||||
void UpdateGame(float dt);
|
void UpdateGame(float dt);
|
||||||
void RenderTitle(void);
|
void RenderTitle(void);
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
CC = g++
|
|
||||||
CFLAGS = -ansi -Wall -g
|
|
||||||
LDADD = -lGL -lGLU -lSDL -lSDL_image
|
|
||||||
|
|
||||||
objects = LGLXWindow.o Game.o \
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: default all clean
|
|
||||||
|
|
||||||
default: all
|
|
||||||
|
|
||||||
%.cpp: %.h
|
|
||||||
|
|
||||||
%.o: %.cpp
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
all: $(objects)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(objects)
|
|
@ -114,6 +114,7 @@ int main(int argc, char** argv) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
UpdateInput();
|
UpdateInput();
|
||||||
|
game.Prepare(dt);
|
||||||
game.ProcessEvents(dt);
|
game.ProcessEvents(dt);
|
||||||
game.Render();
|
game.Render();
|
||||||
SDL_GL_SwapBuffers();
|
SDL_GL_SwapBuffers();
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
CC = g++
|
|
||||||
CFLAGS = -ansi -Wall -g
|
|
||||||
LDADD = -lGL -lGLU -lSDL -lSDL_image
|
|
||||||
|
|
||||||
objects = FPS.o Timer.o Vec2.o \
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: default all clean
|
|
||||||
|
|
||||||
default: all
|
|
||||||
|
|
||||||
%.cpp: %.h
|
|
||||||
|
|
||||||
%.o: %.cpp
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
all: $(objects)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(objects)
|
|
@ -1,20 +0,0 @@
|
|||||||
CC = g++
|
|
||||||
CFLAGS = -ansi -Wall -g
|
|
||||||
LDADD = -lGL -lGLU -lSDL -lSDL_image
|
|
||||||
|
|
||||||
objects = *.o \
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: default all clean
|
|
||||||
|
|
||||||
default: all
|
|
||||||
|
|
||||||
%.cpp: %.h
|
|
||||||
|
|
||||||
%.o: %.cpp
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
all: $(objects)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(objects)
|
|
@ -1,20 +0,0 @@
|
|||||||
CC = g++
|
|
||||||
CFLAGS = -ansi -Wall -g
|
|
||||||
LDADD = -lGL -lGLU -lSDL -lSDL_image
|
|
||||||
|
|
||||||
objects = *.o \
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: default all clean
|
|
||||||
|
|
||||||
default: all
|
|
||||||
|
|
||||||
%.cpp: %.h
|
|
||||||
|
|
||||||
%.o: %.cpp
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
all: $(objects)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(objects)
|
|
@ -1,20 +0,0 @@
|
|||||||
CC = g++
|
|
||||||
CFLAGS = -ansi -Wall -g
|
|
||||||
LDADD = -lGL -lGLU -lSDL -lSDL_image
|
|
||||||
|
|
||||||
objects = *.o \
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: default all clean
|
|
||||||
|
|
||||||
default: all
|
|
||||||
|
|
||||||
%.cpp: %.h
|
|
||||||
|
|
||||||
%.o: %.cpp
|
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
all: $(objects)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(objects)
|
|
@ -8,15 +8,20 @@ Button::Button(void) {
|
|||||||
_highlighted = false;
|
_highlighted = false;
|
||||||
_selected = false;
|
_selected = false;
|
||||||
_triggered = false;
|
_triggered = false;
|
||||||
|
_sprite = NULL;
|
||||||
x = 0;
|
x = 0;
|
||||||
y = 0;
|
y = 0;
|
||||||
w = 0;
|
w = 0;
|
||||||
h = 0;
|
h = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Button::~Button(void) {
|
||||||
|
delete _sprite;
|
||||||
|
}
|
||||||
|
|
||||||
void Button::Update(void) {
|
void Button::Update(void) {
|
||||||
_triggered = false;
|
_triggered = false;
|
||||||
|
|
||||||
int mouseX = ::GetX();
|
int mouseX = ::GetX();
|
||||||
int mouseY = ::GetY();
|
int mouseY = ::GetY();
|
||||||
|
|
||||||
@ -32,7 +37,7 @@ void Button::Update(void) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Button::Render(void) {
|
void Button::Render(float x, float y) {
|
||||||
if(_font) {
|
if(_font) {
|
||||||
if(_highlighted || _selected) {
|
if(_highlighted || _selected) {
|
||||||
_font->SetColor(1.0f, 1.0f, 1.0f, 1.0f);
|
_font->SetColor(1.0f, 1.0f, 1.0f, 1.0f);
|
||||||
@ -42,6 +47,9 @@ void Button::Render(void) {
|
|||||||
_font->RenderText(x, y, _text.GetPointer());
|
_font->RenderText(x, y, _text.GetPointer());
|
||||||
_font->SetColor(1.0f, 1.0f, 1.0f, 1.0f);
|
_font->SetColor(1.0f, 1.0f, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
if(_sprite != NULL) {
|
||||||
|
_sprite->Draw(x, y);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Button::SetFont(Font* font) {
|
void Button::SetFont(Font* font) {
|
||||||
@ -57,3 +65,8 @@ void Button::SetText(const String& text) {
|
|||||||
_font->TextSize(text.GetPointer(), w, h);
|
_font->TextSize(text.GetPointer(), w, h);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Button::LoadSprite(const char* filename) {
|
||||||
|
_sprite = new Sprite();
|
||||||
|
_sprite->LoadSprite(filename);
|
||||||
|
}
|
||||||
|
@ -1,21 +1,25 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "../Sprite/Sprite.h"
|
||||||
#include "../System/String.h"
|
#include "../System/String.h"
|
||||||
#include "../Font/Font.h"
|
#include "../Font/Font.h"
|
||||||
|
|
||||||
class Button {
|
class Button {
|
||||||
public:
|
public:
|
||||||
Button(void);
|
Button(void);
|
||||||
|
~Button(void);
|
||||||
|
|
||||||
void Update(void);
|
void Update(void);
|
||||||
void Render(void);
|
void Render(float x, float y);
|
||||||
|
|
||||||
Font* GetFont(void) { return _font; }
|
Font* GetFont(void) { return _font; }
|
||||||
void SetFont(Font* font);
|
void SetFont(Font* font);
|
||||||
|
void LoadSprite(const char* filename);
|
||||||
|
|
||||||
|
|
||||||
const String& GetText(void) const { return _text;}
|
const String& GetText(void) const { return _text;}
|
||||||
void SetText(const String& text);
|
void SetText(const String& text);
|
||||||
|
|
||||||
bool IsHighlighted(void) const { return _highlighted; }
|
bool IsHighlighted(void) const { return _highlighted; }
|
||||||
void SetHighlighted(bool highlighted) { _highlighted = highlighted; }
|
void SetHighlighted(bool highlighted) { _highlighted = highlighted; }
|
||||||
|
|
||||||
@ -36,7 +40,8 @@ public:
|
|||||||
private:
|
private:
|
||||||
Font* _font;
|
Font* _font;
|
||||||
String _text;
|
String _text;
|
||||||
|
Sprite* _sprite;
|
||||||
|
|
||||||
bool _highlighted;
|
bool _highlighted;
|
||||||
bool _selected;
|
bool _selected;
|
||||||
bool _triggered;
|
bool _triggered;
|
||||||
|
@ -28,7 +28,7 @@ void Menu::AddButton(Button* button) {
|
|||||||
void Menu::AlignButtons(int how) {
|
void Menu::AlignButtons(int how) {
|
||||||
int x = 0;
|
int x = 0;
|
||||||
int y = 0;
|
int y = 0;
|
||||||
for(std::list<Button*>::iterator i = _buttons.begin(); i != _buttons.end(); ++i) {
|
for(std::list<Button*>::iterator i = _buttons.begin(); i != _buttons.end(); ++i) {
|
||||||
Button* button = (*i);
|
Button* button = (*i);
|
||||||
button->SetXY(x, y);
|
button->SetXY(x, y);
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ void Menu::AlignButtons(int how) {
|
|||||||
|
|
||||||
void Menu::SelectButton(int index) {
|
void Menu::SelectButton(int index) {
|
||||||
int buttonsIndex = 0;
|
int buttonsIndex = 0;
|
||||||
for(std::list<Button*>::iterator i = _buttons.begin(); i != _buttons.end(); ++i) {
|
for(std::list<Button*>::iterator i = _buttons.begin(); i != _buttons.end(); ++i) {
|
||||||
(*i)->SetSelected(buttonsIndex == index);
|
(*i)->SetSelected(buttonsIndex == index);
|
||||||
buttonsIndex++;
|
buttonsIndex++;
|
||||||
}
|
}
|
||||||
@ -55,7 +55,7 @@ void Menu::Update(void) {
|
|||||||
int index = 0;
|
int index = 0;
|
||||||
for(std::list<Button*>::iterator i = _buttons.begin(); i != _buttons.end(); ++i) {
|
for(std::list<Button*>::iterator i = _buttons.begin(); i != _buttons.end(); ++i) {
|
||||||
Button* button = (*i);
|
Button* button = (*i);
|
||||||
|
|
||||||
int oldX = button->GetX();
|
int oldX = button->GetX();
|
||||||
int oldY = button->GetY();
|
int oldY = button->GetY();
|
||||||
button->SetXY(oldX + x, oldY + y);
|
button->SetXY(oldX + x, oldY + y);
|
||||||
@ -92,11 +92,10 @@ void Menu::Update(void) {
|
|||||||
void Menu::Render(void) {
|
void Menu::Render(void) {
|
||||||
for(std::list<Button*>::iterator i = _buttons.begin(); i != _buttons.end(); ++i) {
|
for(std::list<Button*>::iterator i = _buttons.begin(); i != _buttons.end(); ++i) {
|
||||||
Button* button = (*i);
|
Button* button = (*i);
|
||||||
|
|
||||||
int oldX = button->GetX();
|
int oldX = button->GetX();
|
||||||
int oldY = button->GetY();
|
int oldY = button->GetY();
|
||||||
button->SetXY(oldX + x, oldY + y);
|
button->Render(oldX + x, oldY + y);
|
||||||
button->Render();
|
|
||||||
button->SetXY(oldX, oldY);
|
button->SetXY(oldX, oldY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user