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 checked;
|
||||
|
||||
/*
|
||||
void unpackDamageStacks();
|
||||
void unpackDamageStack(DamageStack * ds);
|
||||
void repackDamageStacks();
|
||||
*/
|
||||
public:
|
||||
|
||||
enum{
|
||||
|
||||
@@ -26,7 +26,8 @@ struct CardGui : public PlayGuiObject {
|
||||
CardGui(MTGCardInstance* card, float x, float y);
|
||||
CardGui(MTGCardInstance* card, const Pos& ref);
|
||||
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);
|
||||
static void alternateRender(MTGCard * card, const Pos& pos);
|
||||
static JQuad * alternateThumbQuad(MTGCard * card);
|
||||
|
||||
@@ -38,7 +38,7 @@ class ObjectSelector : public GuiLayer
|
||||
protected:
|
||||
vector<T*> cards;
|
||||
T* active;
|
||||
bool showBig;
|
||||
int bigMode;
|
||||
DuelLayers* duel;
|
||||
LimitorFunctor<T>* limitor;
|
||||
Pos bigpos;
|
||||
|
||||
@@ -452,17 +452,7 @@ int ActionStack::resolve(){
|
||||
action->state = RESOLVED_NOK;
|
||||
}
|
||||
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)){
|
||||
for (int i = 0; i< 2 ; i++){
|
||||
interruptDecision[i] = 0;
|
||||
@@ -537,52 +527,6 @@ Interruptible * ActionStack::getLatest(int state){
|
||||
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){
|
||||
askIfWishesToInterrupt = NULL;
|
||||
//modal = 0;
|
||||
|
||||
@@ -238,6 +238,10 @@ void CardGui::alternateRender(MTGCard * card, const Pos& pos){
|
||||
font->SetScale(backup_scale);
|
||||
}
|
||||
|
||||
void CardGui::alternateRenderBig(const Pos& pos){
|
||||
alternateRender(card,pos);
|
||||
}
|
||||
|
||||
void CardGui::RenderBig(const Pos& pos){
|
||||
JRenderer * renderer = JRenderer::GetInstance();
|
||||
|
||||
|
||||
@@ -7,6 +7,14 @@
|
||||
|
||||
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)
|
||||
{ return ref->x - test->x > fabs(ref->y - test->y); } };
|
||||
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; } };
|
||||
|
||||
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<>
|
||||
void CardSelector::Add(CardSelector::Target* target)
|
||||
@@ -132,7 +140,7 @@ bool CardSelector::CheckUserInput(u32 key)
|
||||
active = closest<Down>(cards, limitor, active);
|
||||
break;
|
||||
case PSP_CTRL_TRIANGLE:
|
||||
showBig = !showBig;
|
||||
bigMode = (bigMode+1) % NB_BIG_MODES;
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
@@ -179,9 +187,18 @@ void CardSelector::Render()
|
||||
if (active)
|
||||
{
|
||||
active->Render();
|
||||
if (CardView* c = dynamic_cast<CardView*>(active))
|
||||
if (showBig)
|
||||
c->RenderBig(bigpos);
|
||||
if (CardView* c = dynamic_cast<CardView*>(active)){
|
||||
switch(bigMode){
|
||||
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";
|
||||
}
|
||||
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
|
||||
{
|
||||
goldGlow = NULL;
|
||||
|
||||
Reference in New Issue
Block a user