Also deleted "extraCostsIsCopy" from ManaCost - unused variable.
Overall, drops ManaCost from 148 bytes to 120 (which in turn reduces CardPrimitive's memory footprint by the same amount, since it encapsulates a ManaCost).
Blood Frenzy
Brood of Cockroaches
Celestial Sword
Goatnapper
Crazed Armodon
Dark Maze
Dragon Whelp
Farrelite Priest
Giant Caterpillar
Initiates of the Ebon Hand
Mogg Cannon
Puffer Extract
Rainbow Vale
Rukh Egg
Season of the Witch
Surprise Deployment
Transluminant
comparing counters to p instead of isAi(), and hope to close off an edge case where ai would get stuck cycling through setting the target of a may ability. caught it stuck 2 times while watching demo. i watched demo for close to an hour without seeing any adverse effect, and without getting stuck, tho this is so hard to debug, since there is no call stack loaded for this case when it happens.
first, subjecting manaproducers built unnested to the same restrictions/limits/sideffects as thier activated ability counterparts...
2nd
allowing either "," or " " to be a seperator for the variables in phaseaction so they can be used in transformer "newability"
if i recieve another bug about phaseaction, im scrapping it completely and recoding it from the ground up.
- added texture deactivate around each renderer call implemented in opengl es 1.1. It fixes a couple of artifacts but a couple are remaining
- added a compilation switch to allow simulation of opengl es 1.1 on desktop
- Coded double-click and orientation change for Android
- Clean up debug code badly introduced in opengl code in r3529
- updated Qt project to link against boost on linux
- Added boost thread files, that fixes all the threading/compiling/linking problems on Android ...
- Added opengles 1.1 code, there are still some bugs I need to tackle ... and I should realy split this file now !!!
- Added Android debug traces
- Hardcoded resources to "/sdcard/Wagic/Res" for the moment on Android
- Added a wagic SDL project for desktop, and the related SDL frontend used for Android. This frontend is currently mostly desktop based, it needs some work to be fully useable with touch and gesture on Android.
- also has a basic support for unlocks (does not yet allow people to create their own unlock rules, though...)
- Some things are still hardcoded and should progressively move to these rules files (such as Game Type, how random decks are created, etc...)
- Test suite doesn't foolishly ask you to choose a game mode (momir, etc...) anymore
- UPDATE YOUR Res/rules/ folder !!!
I also profiled this after the fact, as we have an open bug on poor drawing performance on psp when in text mode - it turns out that in the AlternateRender() function, my numbers look like this: 10.2 seconds were spent in JBLFont::DrawString(); 0.5 seconds were spent in my new helper FormatText() call, so we know where the perf hit is now.
I compared before & after on the psp with this mod, and the difference really isn't perceptible. (It's still juddery, but no worse than before.) I'll look at the DrawString() call next to see if we can make it any faster, although at first glance it looks like a pain.
class Foo
#ifdef TRACK_OBJECT_USAGE
: public InstanceCounter<Foo>
#endif
Then, use this macro somewhere in the class body:
SUPPORT_OBJECT_ANALYTICS(Foo)
Lastly, add whatever information you want to trace out to the function ObjectAnalytics::DumpStatistics().
Here's a sample of the output of what I've instrumented so far:
-----------------------------------------------------------
Object Usage Stats
CardPrimitive current count: 7899
CardPrimitive current byte usage: 2053740
CardPrimitive max count: 7908
CardPrimitive max byte usage: 2056080
MTGCard current count: 13973
MTGCard current byte usage: 670704
MTGCard max count: 13982
MTGCard max byte usage: 671136
MTGCardInstance current count: 180
MTGCardInstance current byte usage: 172080
MTGCardInstance max count: 189
MTGCardInstance max byte usage: 180684
-----------------------------------------------------------
- moved mtg_todo.dat into "unsupported.txt"...there are many parsing issues that I need to solve, but give it a try (set the grade level to "unsupported" in your advanced options, and restart the game) , it bumps the number of unique cards to almost 12000 :) (of course, these new cards don't work, that's the point of the "unsupported" grade)
Also fixed a subtle memory pooling issue in the RenderCountersBig() routine: if you're in regular card display mode, the idea is that formatted text is only fetched if you flip into alternate render mode. However, in this function, if counters are being drawn, it would fetch the formatted text in order to determine where to draw the counters, EVEN IF the counters count was zero. So it had nothing to draw, but it meanwhile pooled the formatted strings into memory anyway.