Commit Graph

118 Commits

Author SHA1 Message Date
wrenczes@gmail.com
6675a7da31 Implemented a lazy load pattern for the deck stats - when the DeckMenu is displaying decks, it calls LoadStats() for only the ones visible in the list. This helps reduces the lag that occurs each time we attempt to load all the AI decks during match selection.
This still could be improved - DeckMetaData's constructor loads an MTGDeck object to parse out the name of a deck from its file.  This means that we crack open 106 files on the first attempt to show the list of opponent decks. I started optimizing this, but reverted, as the list itself is sorted alphabetically.  Currently, with these mods, it's still taking 4 1/2 seconds on my psp to load the opponent list on the first go around.

While at it, did some cleanup - removed the need for passing around a player pointer in some of the DeckStat functions, etc.
2011-01-30 13:06:21 +00:00
wrenczes@gmail.com
3187487987 Minor tweaks to Mike's map of maps cache work on stats. Mostly these changes are stylistic changes that favor more terse code, but there was one bug where a double-delete was happening - GameStateDeckViewer used to allocate its own StatsWrapper, and deleted it as part of teardown - now that the allocation is owned by the deck stats instance, it's not allowed to do the deletion anymore.
I'll also note that the mods I did to getDeckMetaDataById() are completely unnecessary - pragmatically speaking, it's doing the same thing.  The only difference is that I'm using std::find_if instead of brute iterator manipulation, and I'm using a predicate function.  For a simple check like this, it's kind of pointless, but if you need to do more complex comparisons, predicate operators can become quite powerful.
2011-01-28 10:21:23 +00:00
wrenczes@gmail.com
32cabc15c2 Forcing LF as the line ending style through SVN properties. No actual code changes here. 2011-01-28 06:00:51 +00:00
techdragon.nguyen@gmail.com
ce7745bfa6 First attempt to reduce load time of player deck selection screens.
This change makes use of caching the DeckStats and DeckStatsWrappers into singleton caches that
get flushed when you quit the game.  The initial load time will be significant as lazy loading has not
been coded yet for the ai decks.

TODO: lazy load the player and ai decks as they appear on the screen.  Currently, each screen loads
all decks.
2011-01-27 16:13:40 +00:00
techdragon.nguyen@gmail.com
1be97b76f8 code cleanup. No code changes
- removed unused variables
- added line breaks between methods (not everywhere just where i saw it while removing unused variables)
2011-01-16 07:49:34 +00:00
techdragon.nguyen@gmail.com
afdeae6901 fixed some formatting issues.
changed conditional for lord and thises evaluation from hardcoded value to length of the array being evaluated.  This doesn't change current functionality, but minimizes code change if these arrays were ever to change in size.
2010-12-16 12:53:48 +00:00
wrenczes@gmail.com
65e38b0694 Another change that looks bigger than it is: changed out the global extern WResourceManager to a real singleton. This means that it's no longer being init'ed at static initialization time, and we can debug construction/destruction properly; it's also safer in a multithreaded context. 2010-12-01 08:22:17 +00:00
techdragon.nguyen@gmail.com
b46112dfcd reverting change made in r2701
The conditions on which to "updateStats" during the rebuilding of filters needed to be updated.  stw is NULL
when rebuilding the filters due to a "UNLOCK CARDS" action.  Thus the call to stw->updateStats throws a NPE.
stw is not null only when a deck has been selected to edit.  Otherwise, it makes no sense to actually update the
stats of a non-selected deck.
2010-11-29 11:50:12 +00:00
Xawotihs
fcd2f61c39 Fixed psp warning 2010-11-21 08:51:05 +00:00
Xawotihs
2b6469e391 Mouse support in deck editor 2010-11-20 21:30:15 +00:00
techdragon.nguyen@gmail.com
f684795810 refactored menu classes
fixed some layout issues with detailed info popup
changed requirements for detailed info popup button to be determined by the number of wins aginst AI deck instead of just the number of games.
2010-11-19 04:19:03 +00:00
techdragon.nguyen@gmail.com
4aaa93439a code clean up. removed unneeded methods for stats generation
synced stats info for mana curve on detailed display on deck selection screen so only up to
   Constants::STATS_MAX_MANA_COST+1 is used instead of the currently hard coded 15.
2010-11-19 03:18:48 +00:00
techdragon.nguyen@gmail.com
2a8f8074e6 New descriptive text popup feature for deck selection
http://wololo.net/forum/viewtopic.php?f=13&t=2423
2010-11-18 15:48:48 +00:00
techdragon.nguyen@gmail.com
acd7bb1aa4 reformatting code according to guidelines defined at
http://wololo.net/forum/viewtopic.php?f=35&t=2235&start=10
2010-11-16 00:55:16 +00:00
wrenczes@gmail.com
27fd107208 1st step in refactoring some of the card rendering logic - currently, each 'client' has duplicated code having to deal with how to render the full card graphic vs text mode vs using a 'back' image if a card isn't found. This is a first pass at consolidating some of that logic to one location - the ultimate goal being, eventually, the resource cache will actually own the notion of whether it's handing out a real card image or a default filler if the card isn't available, and the client code rendering the card should be oblivious.
In this change, I made the CardGui's RenderBig() and AlternateRender() functions protected; anyone wanting to render a card simply calls RenderCard(), and the card drawing mode is passed along as a param.
2010-11-14 08:15:26 +00:00
techdragon.nguyen@gmail.com
8ba33c9b58 * updated title font size for deck selection screen to ensure it will always fit
* added deck name max pixel size to ensure no deck name overflows into borders of menu.
2010-11-08 11:15:16 +00:00
wrenczes
52a2823f7b Fixed the build; line endings -> Unix. 2010-11-08 09:23:16 +00:00
techdragon.nguyen@gmail.com
61cc3692a5 promoted StatsWrapper struct into class
altered deck editor information display for statistics
2010-11-07 18:28:54 +00:00
wagic.the.homebrew@gmail.com
5d907f5abe Erwan
- Added a possibility to put a file "Res.txt" instead of the folder "Res". The file Res.txt is a simple 1 line text file, telling where to find the Res folder, terminated by "/". For example: "../../wagic_res".
This addresses issue 428 . This could also help us in the future, to develop mods.
2010-11-07 09:26:29 +00:00
techdragon.nguyen@gmail.com
b0c61049da tweaked menus a bit.
fixed possible NPE with background image retrieval
2010-11-06 10:05:54 +00:00
techdragon.nguyen@gmail.com
8908e86857 removed some compiler warnings
changed variables to float where appropriate
2010-11-05 08:07:50 +00:00
techdragon.nguyen@gmail.com
dd163c8807 ***Note***
please copy "DeckEditorMenuBackdrop.png" into your PSP folder.  Otherwise you will have a crash when you start up!

ChangesLog:
minor refactoring of DeckMenu
added a new DeckEditorMenu which is derived from DeckMenu.  This customizes the deck editor menus with the exception of the confirmation screens (yes/no)
Still more work to be done to round out some font issues.  
TODO:
put more information text in bottom row of menu.
reorganize statistical data to allow more info to be shown.
2010-11-03 16:49:39 +00:00
techdragon.nguyen@gmail.com
149b9efd9f fixed rename bug. rename state was not initialized. 2010-11-01 10:56:20 +00:00
techdragon.nguyen@gmail.com
ab37002fd7 modified text for "Save as AI deck" option
added descriptions for editor menu items
code clean up.
2010-10-30 06:46:58 +00:00
techdragon.nguyen@gmail.com
98627d96ba fixed minor bug with Ai deck saving routine.
fixed psp compilation, changed use of char* to ostringstream for menu text.
2010-10-27 17:26:32 +00:00
techdragon.nguyen@gmail.com
cd3ad9b9fd fixed menu size and text information for when saving deck as an AI deck. 2010-10-27 11:24:49 +00:00
techdragon.nguyen@gmail.com
28d3b9b9a9 fixes ai deck saving bug pointed out by Zethfox.
TODO: fix text to the right of the box when saving ai deck.
2010-10-27 03:00:39 +00:00
wrenczes@gmail.com
e74c0fcc7c Moved a few more common shared includes into the precompiled header. 2010-10-24 06:55:40 +00:00
wrenczes
d5f3e4cfea Enabled precompiled headers for the build. This cuts the win compile time in debug by at least half on my laptop; on the psp compile, it shaves it down by ~ 45 seconds. I only did a cursory inspection of what to add to PrecompiledHeader.h, there's probably more that we can throw in there for more incremental speed improvements.
Also fixed the project includes so that we don't need to always use the indirect include path, ie:
#include "../include/foo.h" -> #include "foo.h"

I'm don't know much about make files - if I busted the linux build, mea culpa, but I think we're okay on that front too.  For future reference, here's the most straightforward link on the topic of adding pch support to make files:

http://www.mercs-eng.com/~hulud/index.php?2008/06/13/6-writing-a-good-makefile-for-a-c-project
2010-10-24 05:55:24 +00:00
techdragon.nguyen@gmail.com
34bdfab36f fixed bug with saving brand new AI decks. 2010-10-22 09:22:25 +00:00
techdragon.nguyen@gmail.com
34335ba2aa added option to save deck in editor as an AI deck.
No option to delete or edit the AI deck once it has been created.
The deck gets saved as the canonical form of the deck to match other AI deck formats.
2010-10-22 08:28:52 +00:00
wrenczes@gmail.com
5aa3dc6fd3 Refactoring of some of the font management in WResourceManager. This change looks bigger than it actually is - most of the touched files are simply renaming of some font enums that I moved out of MTGDefinitions into the resource manager header files. The main points of this change: collapsing the font containers into a single map, eliminating duplicated functions, and migrating the font building logic into the resource manager class. GameApp doesn't need to know anything about the fonts it uses, and likewise, font users don't need to know what the name of their chosen font is, just the FONT_TYPE enum.
(I did a cursory check to make sure chinese still displays correctly - at a glance, I'm seeing what looks correct to someone who doesn't read the language :) )
2010-10-19 07:51:32 +00:00
wagic.the.homebrew@gmail.com
508040b3a7 Erwan
- fix for issue 467 (simultaneous triggers + "trigger" keyword)
- MootPoint's patch for some string parsing
- some random int/float compilation warning fixes
2010-10-01 16:33:07 +00:00
linshier
d8122e441e Tweaked translation codes for deck and opponents choosing menus. 2010-09-29 08:18:09 +00:00
wagic.the.homebrew@gmail.com
ed865ce29a Erwan
- Fix for issue 371 (Deck Editor resets to letter "A")
- Changed music behavior when switching menus. It shouldn't "restart" the music anymore.
2010-09-26 08:41:25 +00:00
techdragon.nguyen
5eab87345a initializespatch fix for issue 459. This patch encapsulates the metadata object more and initializes the stat values. 2010-09-24 11:27:34 +00:00
wagic.the.homebrew@gmail.com
bdc43052d3 Erwan
- support for tinyCrops see http://wololo.net/forum/viewtopic.php?f=15&t=2197
- card images can now be named after the card's name (ex: sets/10E/Ancestor's Chosen.jpg , or sets/10E/10E.zip:Ancestor's Chosen.jpg)
- yet another attempt at fixing tokens in the shop
2010-09-20 07:10:21 +00:00
omegablast2002@yahoo.com
5939cbded8 added MnGuyens further improved menu handling and extra options. 2010-09-17 06:34:12 +00:00
omegablast2002@yahoo.com
b2d93e5c70 added a few tweaks MNguyen sent me for his deck manager 2010-09-09 06:46:01 +00:00
omegablast2002@yahoo.com
79ea200d97 Added MNGuyen's improved and alphabatized deck handling(noticeable speed increase btween menus) and almosthumane's automated pass phase option. 2010-09-08 11:44:11 +00:00
wagic.the.homebrew@gmail.com
f40af0b1cb Erwan
- Chinese patch by linshier
2010-07-31 14:41:04 +00:00
wagic.the.homebrew@gmail.com
1332842025 Erwan
- bug fix in JGE++ audio (improve HBL compatibility)
- Added new rewards in story mode: random card, card (either by "name" or id), specific set
- Story mode: added possibility to choose music, and bg for duel.
-- See "01. Where it all begins" for examples of new features
2010-07-19 13:44:26 +00:00
wagic.the.homebrew@gmail.com
55a23bb359 Erwan
- fix issue 382
2010-03-13 09:51:49 +00:00
wagic.the.homebrew@gmail.com
e7bb2caf29 Erwan
- Fix issue 291 (cantbeblockedby segfault)
- Fix some issues with pricing
2010-03-13 09:34:20 +00:00
wagic.the.homebrew@gmail.com
cf1e419aaf Erwan
- fix for issue 348
- Fix a bug when going out of the deck editor then back to it again would show an incorrect color icon instead of nothing
- Fix a bug where the AI tries to play a spell with a target instead of just checking if it can play it. (visually, this showed as the AI tapping mana, then "freezing" for a few seconds with some cards grayed out on the battlefield)
2010-03-04 11:43:22 +00:00
wagic.the.homebrew@gmail.com
882724ab4b Erwan
- Yet Another Attempt at fixing i319,i365, i372
2010-03-03 14:56:12 +00:00
wagic.jeck
6894553c07 Jeck - fix signed/unsigned issue with prior revision. 2010-03-02 04:36:52 +00:00
wagic.jeck
b5dc729f58 Jeck - Change to deck viewer mana producer counting function, fix potential problem with mana producer filtering. 2010-03-02 04:04:11 +00:00
wagic.jeck
034e61e9fa Jeck - partial revert of r1948, minor optimizations to where validate() is called. 2010-03-02 03:05:26 +00:00
wagic.the.homebrew@gmail.com
c09dabfdbf Erwan
- attempt to fix issue 319. Jeck please review :)
2010-03-01 13:43:46 +00:00