Erwan
- fix issue 20 (triangle button usage inplay) - close issue 27 (gold effect on the gold bar). Please feel free to change the gold glow if you come up with something better, but I consider this perfectly releasable now - code cleanup
This commit is contained in:
@@ -135,11 +135,6 @@ class ActionStack :public GuiLayer{
|
|||||||
int mode;
|
int mode;
|
||||||
int checked;
|
int checked;
|
||||||
|
|
||||||
/*
|
|
||||||
void unpackDamageStacks();
|
|
||||||
void unpackDamageStack(DamageStack * ds);
|
|
||||||
void repackDamageStacks();
|
|
||||||
*/
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
enum{
|
enum{
|
||||||
|
|||||||
@@ -26,7 +26,8 @@ struct CardGui : public PlayGuiObject {
|
|||||||
CardGui(MTGCardInstance* card, float x, float y);
|
CardGui(MTGCardInstance* card, float x, float y);
|
||||||
CardGui(MTGCardInstance* card, const Pos& ref);
|
CardGui(MTGCardInstance* card, const Pos& ref);
|
||||||
virtual void Render();
|
virtual void Render();
|
||||||
void RenderBig(const Pos&);
|
void RenderBig(const Pos&); //Tries to render the Big version of a card picture, backups to text version in case of failure
|
||||||
|
void alternateRenderBig(const Pos&); //Renders Text Version of a card
|
||||||
virtual void Update(float dt);
|
virtual void Update(float dt);
|
||||||
static void alternateRender(MTGCard * card, const Pos& pos);
|
static void alternateRender(MTGCard * card, const Pos& pos);
|
||||||
static JQuad * alternateThumbQuad(MTGCard * card);
|
static JQuad * alternateThumbQuad(MTGCard * card);
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ class ObjectSelector : public GuiLayer
|
|||||||
protected:
|
protected:
|
||||||
vector<T*> cards;
|
vector<T*> cards;
|
||||||
T* active;
|
T* active;
|
||||||
bool showBig;
|
int bigMode;
|
||||||
DuelLayers* duel;
|
DuelLayers* duel;
|
||||||
LimitorFunctor<T>* limitor;
|
LimitorFunctor<T>* limitor;
|
||||||
Pos bigpos;
|
Pos bigpos;
|
||||||
|
|||||||
@@ -452,17 +452,7 @@ int ActionStack::resolve(){
|
|||||||
action->state = RESOLVED_NOK;
|
action->state = RESOLVED_NOK;
|
||||||
}
|
}
|
||||||
if (action->type == ACTION_DAMAGE) ((Damage * )action)->target->afterDamage();
|
if (action->type == ACTION_DAMAGE) ((Damage * )action)->target->afterDamage();
|
||||||
/*
|
|
||||||
if (action->type == ACTION_DAMAGES){
|
|
||||||
DamageStack * ds = (DamageStack *) action;
|
|
||||||
for (int i = 0; i < ds->mCount; i++){
|
|
||||||
Damage * damage = ((Damage *) ds->mObjects[i]);
|
|
||||||
damage->state = ds->state;
|
|
||||||
}
|
|
||||||
unpackDamageStack(ds);
|
|
||||||
ds->mCount = 0;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
if (!getNext(NULL,NOT_RESOLVED)){
|
if (!getNext(NULL,NOT_RESOLVED)){
|
||||||
for (int i = 0; i< 2 ; i++){
|
for (int i = 0; i< 2 ; i++){
|
||||||
interruptDecision[i] = 0;
|
interruptDecision[i] = 0;
|
||||||
@@ -537,52 +527,6 @@ Interruptible * ActionStack::getLatest(int state){
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
void ActionStack::unpackDamageStack(DamageStack * ds){
|
|
||||||
for (int j = 0; j < ds->mCount; j++){
|
|
||||||
Damage * damage = ((Damage *)ds->mObjects[j]);
|
|
||||||
Add(damage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ActionStack::unpackDamageStacks(){
|
|
||||||
for (int i = mCount-1; i >=0; i--){
|
|
||||||
Interruptible * action = ((Interruptible *)mObjects[i]);
|
|
||||||
if (action->type == ACTION_DAMAGES){
|
|
||||||
DamageStack * ds = (DamageStack *) action;
|
|
||||||
unpackDamageStack(ds);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ActionStack::repackDamageStacks(){
|
|
||||||
std::vector<JGuiObject *>::iterator iter = mObjects.begin() ;
|
|
||||||
|
|
||||||
while( iter != mObjects.end() ){
|
|
||||||
Interruptible * action = ((Interruptible *) *iter);
|
|
||||||
int found = 0;
|
|
||||||
if (action->type == ACTION_DAMAGE){
|
|
||||||
Damage * damage = (Damage *) action;
|
|
||||||
for (int j = 0; j < mCount; j++){
|
|
||||||
Interruptible * action2 = ((Interruptible *)mObjects[j]);
|
|
||||||
if (action2->type == ACTION_DAMAGES){
|
|
||||||
DamageStack * ds = (DamageStack *) action2;
|
|
||||||
for (int k = 0; k< ds->mCount; k++){
|
|
||||||
Damage * dsdamage = ((Damage *)ds->mObjects[k]);
|
|
||||||
if (dsdamage==damage){
|
|
||||||
//Remove(damage);
|
|
||||||
iter = mObjects.erase( iter ) ;
|
|
||||||
found = 1;
|
|
||||||
mCount--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!found) ++iter;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
void ActionStack::Update(float dt){
|
void ActionStack::Update(float dt){
|
||||||
askIfWishesToInterrupt = NULL;
|
askIfWishesToInterrupt = NULL;
|
||||||
//modal = 0;
|
//modal = 0;
|
||||||
|
|||||||
@@ -238,6 +238,10 @@ void CardGui::alternateRender(MTGCard * card, const Pos& pos){
|
|||||||
font->SetScale(backup_scale);
|
font->SetScale(backup_scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CardGui::alternateRenderBig(const Pos& pos){
|
||||||
|
alternateRender(card,pos);
|
||||||
|
}
|
||||||
|
|
||||||
void CardGui::RenderBig(const Pos& pos){
|
void CardGui::RenderBig(const Pos& pos){
|
||||||
JRenderer * renderer = JRenderer::GetInstance();
|
JRenderer * renderer = JRenderer::GetInstance();
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,14 @@
|
|||||||
|
|
||||||
using std::cout;
|
using std::cout;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
BIG_MODE_SHOW = 0,
|
||||||
|
BIG_MODE_TEXT = 1,
|
||||||
|
BIG_MODE_HIDE = 2,
|
||||||
|
NB_BIG_MODES = 3
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
struct Left : public Exp { static inline bool test(CardSelector::Target* ref, CardSelector::Target* test)
|
struct Left : public Exp { static inline bool test(CardSelector::Target* ref, CardSelector::Target* test)
|
||||||
{ return ref->x - test->x > fabs(ref->y - test->y); } };
|
{ return ref->x - test->x > fabs(ref->y - test->y); } };
|
||||||
struct Right : public Exp { static inline bool test(CardSelector::Target* ref, CardSelector::Target* test)
|
struct Right : public Exp { static inline bool test(CardSelector::Target* ref, CardSelector::Target* test)
|
||||||
@@ -21,7 +29,7 @@ struct True : public Exp { static inline bool test(CardSelector::Target* ref, Ca
|
|||||||
{ return true; } };
|
{ return true; } };
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
CardSelector::ObjectSelector(DuelLayers* duel) : active(NULL), showBig(true), duel(duel), limitor(NULL), bigpos(300, 150, 1.0, 0.0, 220) {}
|
CardSelector::ObjectSelector(DuelLayers* duel) : active(NULL), bigMode(BIG_MODE_SHOW), duel(duel), limitor(NULL), bigpos(300, 150, 1.0, 0.0, 220) {}
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
void CardSelector::Add(CardSelector::Target* target)
|
void CardSelector::Add(CardSelector::Target* target)
|
||||||
@@ -132,7 +140,7 @@ bool CardSelector::CheckUserInput(u32 key)
|
|||||||
active = closest<Down>(cards, limitor, active);
|
active = closest<Down>(cards, limitor, active);
|
||||||
break;
|
break;
|
||||||
case PSP_CTRL_TRIANGLE:
|
case PSP_CTRL_TRIANGLE:
|
||||||
showBig = !showBig;
|
bigMode = (bigMode+1) % NB_BIG_MODES;
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
@@ -179,9 +187,18 @@ void CardSelector::Render()
|
|||||||
if (active)
|
if (active)
|
||||||
{
|
{
|
||||||
active->Render();
|
active->Render();
|
||||||
if (CardView* c = dynamic_cast<CardView*>(active))
|
if (CardView* c = dynamic_cast<CardView*>(active)){
|
||||||
if (showBig)
|
switch(bigMode){
|
||||||
c->RenderBig(bigpos);
|
case BIG_MODE_SHOW:
|
||||||
|
c->RenderBig(bigpos);
|
||||||
|
break;
|
||||||
|
case BIG_MODE_TEXT:
|
||||||
|
c->alternateRenderBig(bigpos);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ GuiFrame::GuiFrame()
|
|||||||
GameApp::systemError += "Can't load gold texture : " __FILE__ "\n";
|
GameApp::systemError += "Can't load gold texture : " __FILE__ "\n";
|
||||||
}
|
}
|
||||||
if (resources.GetTexture("goldglow.png"))
|
if (resources.GetTexture("goldglow.png"))
|
||||||
goldGlow = resources.RetrieveQuad("goldglow.png", 0, 1, SCREEN_WIDTH, 18);
|
goldGlow = resources.RetrieveQuad("goldglow.png", 1, 1, SCREEN_WIDTH - 2, 18);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
goldGlow = NULL;
|
goldGlow = NULL;
|
||||||
|
|||||||
Reference in New Issue
Block a user