Jeck - Included missing file for r1460, updated trophy room. Trophies now render from bottom left, so any size png can be used.
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
40
projects/mtg/include/GameStateAwards.h
Normal file
@@ -0,0 +1,40 @@
|
||||
#ifndef _GAME_STATE_AWARDS_H_
|
||||
#define _GAME_STATE_AWARDS_H_
|
||||
|
||||
#include <JGE.h>
|
||||
#include "../include/GameState.h"
|
||||
#include "../include/SimpleMenu.h"
|
||||
|
||||
class WGuiList;
|
||||
class WGuiMenu;
|
||||
class WSrcMTGSet;
|
||||
|
||||
class GameStateAwards: public GameState, public JGuiListener
|
||||
{
|
||||
private:
|
||||
WGuiList * listview;
|
||||
WGuiMenu * detailview;
|
||||
JQuad * mBg;
|
||||
JTexture * mBgTex;
|
||||
WSrcMTGSet * setSrc;
|
||||
SimpleMenu * menu;
|
||||
bool showMenu;
|
||||
bool showAlt;
|
||||
int mState;
|
||||
int mDetailItem;
|
||||
|
||||
public:
|
||||
GameStateAwards(GameApp* parent);
|
||||
bool enterSet(int setid);
|
||||
virtual ~GameStateAwards();
|
||||
|
||||
virtual void Start();
|
||||
virtual void End();
|
||||
virtual void Create();
|
||||
virtual void Destroy();
|
||||
virtual void Update(float dt);
|
||||
virtual void Render();
|
||||
virtual void ButtonPressed(int controllerId, int controlId);
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -56,6 +56,7 @@ public:
|
||||
virtual void ButtonPressed(int controllerId, int controlId){};
|
||||
virtual void Reload(){};
|
||||
virtual void Overlay(){};
|
||||
virtual void Underlay(){};
|
||||
|
||||
virtual bool hasFocus()=0;
|
||||
virtual void setFocus(bool bFocus)=0;
|
||||
@@ -140,6 +141,7 @@ public:
|
||||
virtual bool setPos(int pos) {return false;};
|
||||
virtual bool next() {return false;};
|
||||
virtual bool prev() {return false;};
|
||||
virtual void Update(float dt) {};
|
||||
};
|
||||
|
||||
class WSrcImage: public WDataSource{
|
||||
@@ -153,7 +155,7 @@ private:
|
||||
|
||||
class WSrcMTGSet: public WDataSource{
|
||||
public:
|
||||
WSrcMTGSet(int setid);
|
||||
WSrcMTGSet(int setid, float mDelay=0.1);
|
||||
|
||||
virtual JQuad * getImage();
|
||||
virtual MTGCard * getCard();
|
||||
@@ -163,10 +165,13 @@ public:
|
||||
virtual bool prev();
|
||||
virtual int getPos() {return currentCard;};
|
||||
virtual bool setPos(int pos);
|
||||
virtual void Update(float dt);
|
||||
|
||||
protected:
|
||||
vector<MTGCard*> cards;
|
||||
int currentCard;
|
||||
float mDelay;
|
||||
float mLastInput;
|
||||
};
|
||||
|
||||
class WGuiImage: public WGuiItem{
|
||||
@@ -207,6 +212,7 @@ public:
|
||||
virtual void updateValue() {it->updateValue();};
|
||||
virtual void Reload() {it->Reload();};
|
||||
virtual void Overlay() {it->Overlay();};
|
||||
virtual void Underlay() {it->Underlay();};
|
||||
virtual void Render() {it->Render();};
|
||||
virtual void setData() {it->setData();};
|
||||
|
||||
@@ -242,7 +248,7 @@ public:
|
||||
virtual bool Selectable() {return Visible();};
|
||||
virtual bool Visible();
|
||||
virtual int getId() {return id;};
|
||||
virtual void Overlay();
|
||||
virtual void Underlay();
|
||||
protected:
|
||||
int id;
|
||||
string text;
|
||||
@@ -255,6 +261,7 @@ public:
|
||||
|
||||
virtual void Reload();
|
||||
virtual void Overlay();
|
||||
virtual void Underlay();
|
||||
virtual void setData();
|
||||
virtual bool isModal();
|
||||
virtual void setModal(bool val);
|
||||
|
||||
@@ -557,6 +557,10 @@ void WGuiList::Render(){
|
||||
//Render items.
|
||||
if(start >= 0)
|
||||
{
|
||||
//Render current underlay.
|
||||
if(currentItem >= 0 && currentItem < nbitems && items[currentItem]->Visible())
|
||||
items[currentItem]->Underlay();
|
||||
|
||||
for (int pos=0;pos < nbitems; pos++){
|
||||
if(!items[pos]->Visible())
|
||||
continue;
|
||||
@@ -1018,6 +1022,12 @@ void WGuiSplit::Overlay(){
|
||||
else
|
||||
left->Overlay();
|
||||
}
|
||||
void WGuiSplit::Underlay(){
|
||||
if(bRight)
|
||||
right->Underlay();
|
||||
else
|
||||
left->Underlay();
|
||||
}
|
||||
void WGuiSplit::ButtonPressed(int controllerId, int controlId)
|
||||
{
|
||||
if(bRight)
|
||||
@@ -1234,7 +1244,7 @@ void WGuiTabMenu::save(){
|
||||
|
||||
|
||||
//WGuiAward
|
||||
void WGuiAward::Overlay(){
|
||||
void WGuiAward::Underlay(){
|
||||
char buf[1024];
|
||||
JRenderer * r = JRenderer::GetInstance();
|
||||
JQuad * trophy = NULL;
|
||||
@@ -1252,8 +1262,9 @@ void WGuiAward::Overlay(){
|
||||
if(!trophy) //Fallback to basic trophy image.
|
||||
trophy = resources.RetrieveTempQuad("trophy.png");
|
||||
|
||||
if(trophy)
|
||||
r->RenderQuad(trophy, 0, SCREEN_HEIGHT-256);
|
||||
if(trophy){
|
||||
r->RenderQuad(trophy, 0, SCREEN_HEIGHT-trophy->mHeight);
|
||||
}
|
||||
|
||||
}
|
||||
void WGuiAward::Render(){
|
||||
@@ -1394,9 +1405,11 @@ WSrcImage::WSrcImage(string s){
|
||||
}
|
||||
|
||||
//WSrcMTGSet
|
||||
WSrcMTGSet::WSrcMTGSet(int setid){
|
||||
WSrcMTGSet::WSrcMTGSet(int setid, float delay){
|
||||
MTGAllCards * ac = GameApp::collection;
|
||||
map<int,MTGCard*>::iterator it;
|
||||
mDelay = delay;
|
||||
mLastInput = 0;
|
||||
|
||||
for(it = ac->collection.begin();it != ac->collection.end();it++){
|
||||
if(it->second->setId == setid)
|
||||
@@ -1408,10 +1421,13 @@ WSrcMTGSet::WSrcMTGSet(int setid){
|
||||
currentCard = 0;
|
||||
}
|
||||
JQuad * WSrcMTGSet::getImage(){
|
||||
MTGCard * c = getCard();
|
||||
if(c)
|
||||
return resources.RetrieveCard(c);
|
||||
return NULL;
|
||||
if(mDelay && mLastInput < mDelay)
|
||||
return NULL;
|
||||
|
||||
return resources.RetrieveCard(getCard());
|
||||
}
|
||||
void WSrcMTGSet::Update(float dt){
|
||||
mLastInput += dt;
|
||||
}
|
||||
MTGCard * WSrcMTGSet::getCard(){
|
||||
int size = (int) cards.size();
|
||||
@@ -1427,7 +1443,8 @@ bool WSrcMTGSet::next(){
|
||||
else
|
||||
return false;
|
||||
|
||||
return true;
|
||||
mLastInput = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool WSrcMTGSet::prev(){
|
||||
@@ -1436,7 +1453,8 @@ bool WSrcMTGSet::prev(){
|
||||
else
|
||||
return false;
|
||||
|
||||
return true;
|
||||
mLastInput = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool WSrcMTGSet::setPos(int pos){
|
||||
@@ -1444,6 +1462,7 @@ bool WSrcMTGSet::setPos(int pos){
|
||||
return false;
|
||||
|
||||
currentCard = pos;
|
||||
mLastInput = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||