Commit Graph

45 Commits

Author SHA1 Message Date
wagic.jeck fb7f48f26b Jeck - Please review: this makes minor changes to a lot of files, and major changes to the WCache flatten() function.
* Removed all calls to Release(JQuad*).
* Updated flatten(). Prior flatten was buggy beyond belief.
* Done some extensive testing, but if this causes more trouble than it fixes, we'll have to revert. It's too close to release time.
2009-10-27 02:46:39 +00:00
wagic.jeck eefd03ad84 Jeck - Reverting r1183. 2009-10-26 05:10:06 +00:00
wagic.jeck 8a6162ba15 Jeck - Please review.
Disconcertingly enough, this seems to resolve issue 109. Ran demo mode for 1 hour (w00t no crashes!), played five manual games, shop appeared fine... but why would an mObject ever be null? I'm not so sure about this commit. It "fixes" the issue, but doesn't do anything for the underlying cause. For all I know, I might just not have re-encountered issue 109 yet... still, it's not a /bad/ commit. In the worst case, it does some unnecessary sanity checking. There's potential for a a hang if item is NULL in Update(), if input doesn't get passed along in a way that allows the player to exit... But I think that's what the call to JGuiController::Update is for.

Thoughts?
2009-10-26 02:27:55 +00:00
wagic.the.homebrew@gmail.com 6f159fb39c Erwan - cache fixes - Code review highly appreciated, please criticize my code!
- fix issue 65 (quads when no image  load slowly in shop/deck editor)
- Possibly fix issue 92, please let me know if it reproduces
- Fix issue 97 (Deck editor: weird behavior of deck display)
- Fix issue 39 - please verify
- Issue 56 can probably be closed as well
- Fix issue 86
2009-10-13 14:16:30 +00:00
wagic.the.homebrew@gmail.com 5443e6ff89 Erwan
- fix issue 89 and issue 90 - In the future, we will probably want cardSelector to handle CardDisplay somehow (although carddisplay is used in the Shop as well...)
2009-09-29 12:31:26 +00:00
wagic.jeck aa90b53a87 Jeck - Please review. Shop antialiasing, multicolored card recieves gold texture.
* Moved shop text ("press square for other cards") etc, to ShopItems, so they rendered properly (all in one place, after AA)
 * The AA is really more a proof of concept than anything else. To do it properly I'd need a double-resolution copy of shop.jpg.
 * The real multicolored card has a greenish tint, and is darker. What do you think of gold.jpg? Should we tint it more that way?
2009-09-28 03:01:19 +00:00
wagic.jeck 0d3686e65a Jeck - Cache fix, booster duplicate fix.
* Restored OptionItem saving fix.
 * Booster duplicate replacement was picking random cards from the wrong set. My fault, but I've fixed it :)
 * The problem with cache had nothing to do with memory fragmentation, but I've switched to an array rather than map<> just in case. The actual issue was that in GameStateDeckViewer, I'd given the cache unlimited space, thinking that AttemptNew would recover from any bad_allocs. Unfortunately, the image loading routines and similar stuff called by various implementations of WResource::Attempt() could fail halfway through, leaking memory. 

The temporary solution is to set a proper limit (8000000 px, more or less) and (in case we still run out of memory) test to make certain CACHE_SPACE_RESERVED can be malloc'd/free'd. The proper solution would be to keep byte-perfect records of memory used (right now we're kinda fuzzy-- we track pixels per image and bytes per sound, but not the space for jquads or other incidentals) instead of testing a malloc, and potentially cleaning up all calls inside of Attempt() so they fail without leaks. That's what I'm working on now.

Still, it's nice to have identified the problem. This version of the cache should be fully functional, it's just a bit inelegant.
2009-09-19 21:11:35 +00:00
wagic.jeck 8ba34dafca Jeck - WResourceManager / Cache should now be leak free. Demo mode still crashes around EnstackBlocker. 2009-09-18 01:20:46 +00:00
wagic.jeck ad7006e2de Jeck - Profile and cache improvements, booster duplicate likelihood reduced.
* Cache now tracks missing textures for RetrieveQuad, not just RetrieveCard/RetrieveTexture.
* Profile options are no longer overwritten when switching profiles.
* Main menu notifies of alternate profile- "Database: X" becomes "Profile: Y of X cards."
* Boosters iterates through cards, replacing duplicates. Stops after 15 tries to prevent infinite loops on small sets.
* Very simplistic theme switcher, only displays when alternate themes are present.
2009-09-08 03:23:19 +00:00
wagic.the.homebrew@gmail.com 5a2a4a7617 Erwan
- display name of cards in the shop, when it loads, and any time by pressing triangle
2009-09-06 06:35:29 +00:00
wagic.jeck f220d2e9b9 Jeck - Cache and resource manager merged, streamlined.
This is pretty major, so there'll probably be something wrong with it... even though I did spend a few hours looking.
NOTES:
 * If you've Retrieved it, don't delete it--- Use resources.Release(Whatever). 
    Textures automatically release subordinate quads.
 * Most of the time, use resources.RetrieveQuad to grab a quad. Should handle everything for you.
    RetrieveQuad will load the required texture, if needed.
    Only managed resources have a resource name ("back", "simon", etc). 
    Managed resources can be retrieved with GetTexture/GetQuad/GetWhatever.
    Non managed quads lookup by position/dimensions, defaulting to the whole texture.
 * Use resources.RetrieveTexture only when you need to do something special to it. 
    Calling retrieve texture with RETRIEVE_MANAGE will permanently add a texture to the manager
    RETRIEVE_LOCK and RETRIEVE_VRAM will lock a texture. It will not leave the cache until
    Release(JTexture*) is called, or as a last resort during cache overflow.
 * Try to only store (as a class member) pointers to textures retrieved with RETRIEVE_MANAGE. 
    All others may become invalid, although locked textures do have a high degree of stability. It's
    pretty safe to store a locked texture if you're not going to load much between uses.

There's a lot going on here, so I might have missed something... but it runs through the test suite alright.

TODO: 
 * When called without any arguments, RetrieveQuad sometimes leaves a thin border around the image. 
    This can be bypassed by specifying a quad one or two pixels less than the image size. Why?
 * I've had a crash while runing the Demo mode, something to do with receiveEventMinus? 
    This hasn't exactly reproduced on a clean SVN copy, (being a hang, rather than a crash) so 
    I've probably done something to worsen the problem somehow? I'll look into it tomorrow.
 * Clean up lock/unlock system, memory usage. Streamline interface, consider phasing out calls using GetWhatever() format.
2009-09-03 09:28:16 +00:00
jean.chalard 336412f006 J :
* Fix PSP compilation errors
* This does not magically make it work
2009-08-31 16:55:03 +00:00
wagic.the.homebrew@gmail.com 89419f90a7 Erwan
-moved card backs to Cache instead of ResourceManager
2009-08-30 08:11:38 +00:00
wagic.jeck 355ee7a271 Jeck - Support for user profiles, preliminary theme support, virtual keypad, options GUI update. Still a bit unorganized, but it works. 2009-08-26 20:13:09 +00:00
wagic.the.homebrew@gmail.com 61ebbbe497 Erwan
- shop shows default thumbnails if no image available
2009-08-22 12:31:14 +00:00
wagic.the.homebrew@gmail.com a59fb35d78 -AlternatRender calls fixes
-Replaced "borderline" default cards design with something more generic
2009-08-22 12:12:43 +00:00
wagic.the.homebrew@gmail.com 34126f2393 Erwan
- a few graphical fixes in shop and DeckViewer
2009-08-22 10:42:15 +00:00
wagic.the.homebrew@gmail.com 01d68f9b3c Erwan
-windows makefile update
2009-08-22 07:04:54 +00:00
jean.chalard 3349f974f1 J :
* New interface.
* This breaks a lot of things. It is not feature-equivalent. It
  probably doesn't compile under windows and doesn't work on PSP.
* Damage is not resolved any more. This will have to be fixed.
* Blockers can't be ordered any more. This will have to be fixed.
* A lot of new art is included.
2009-08-22 05:59:43 +00:00
wagic.the.homebrew@gmail.com bf4262c0a0 Erwan
- New shop GUI. (don't mind the back image, it will change soon)
2009-08-22 00:46:45 +00:00
wagic.the.homebrew@gmail.com c757a791c2 Erwan
- removed viridian shaman
- small bug fixes
2009-08-11 13:23:14 +00:00
wagic.the.homebrew@gmail.com 129334b93f Erwan
-fixed shop refresh method problem (would not save correctly)
2009-07-26 06:08:39 +00:00
wagic.the.homebrew@gmail.com 328aa1c9f4 Erwan
- reduced price of boosters
- Sets need to be unlocked in order to be accessed from the shop
- Added a "refresh" option in the shop
2009-07-23 13:44:50 +00:00
wagic.the.homebrew@gmail.com a376e8110b Erwan
-added "this" as valid target (still needs some work)  see cathodion
- Added mythic rares in boosters
2009-07-20 03:35:26 +00:00
wagic.the.homebrew@gmail.com d8ac4a49b1 Erwan
-translation updates (including fr.txt)
2009-07-05 09:06:51 +00:00
wagic.the.homebrew@gmail.com 8a467da18f Erwan
- Fix: cards in graveyard had shroud
- Fix :shop item "quantity" increased if bought in a booster
- Test for Recover -> no problem found, but there's a GUI issue, which will be fixed later
2009-06-11 11:48:02 +00:00
wagic.the.homebrew@gmail.com 91edaca882 Erwan
- Ashen firebeast bug fix
- Small cards bug fixes
- Bloodfire colossus bug fix
- Graphical glitch in Opponent deck's choice when Deck name is too long... attempt to fix, let's be careful, no more than 9 letters in Deck names, please
- Updated Tranquil domain test. It was using cards that have been removed from the DB
- replaced /n/ with (n) in shop
2009-06-08 13:45:52 +00:00
wagic.the.homebrew@gmail.com 115976c264 Erwan
- cards syntax errors
- compilation errors fix for PSP
2009-06-06 09:10:43 +00:00
wagic.the.homebrew@gmail.com ab42e5db06 Erwan
- fixed card id collisions in Legends, Ravnica, Portal
- Changed Deck and Database structures with better design (a bit faster, hopefully a lot cleaner)
- updated Windows project file
2009-06-06 04:46:54 +00:00
wagic.the.homebrew@gmail.com 03c8b5e272 Erwan
- plasma Effect made an option (plasmaEffect=1 in settings/options.txt)
- Changed plasma effect colors to something "gold-ish". J, feel free to revert
2009-05-31 05:26:16 +00:00
jean.chalard dd054c4963 J :
* ostream printing of JGui objects.
2009-05-23 08:34:50 +00:00
wagic.the.homebrew@gmail.com 04d429b82c Erwan
-display the number of cards you own with the same name for each individual card in the shop
2009-05-20 13:50:58 +00:00
wagic.the.homebrew@gmail.com 8b008a4bda Erwan
- boosters in shop 100 cards -> 80 cards
- 2 new cards in SHM
- Added Ram checking methods for the PSP
2009-04-30 12:10:09 +00:00
wagic.the.homebrew@gmail.com 9d0a10756d Erwan
- Momir AI tweaks
- More cards in shop, boosters are cheaper, each card has between 1 and 4 occurrences
2009-04-07 13:38:11 +00:00
wagic.the.homebrew@gmail.com 3994006d7e Erwan
- fixed a few memory leaks
2009-03-29 10:33:42 +00:00
wagic.the.homebrew 0256e64cd9 Erwan
- a few shop changes
2009-03-14 11:52:50 +00:00
wagic.the.homebrew ba3b272558 Erwan
- Fixed a few font problems with alternate rendering
2009-02-05 12:48:51 +00:00
jean.chalard 2f3eaac9a5 J :
* Font unification.
2009-02-04 16:42:59 +00:00
jean.chalard 3bb2c431c9 J :
* Split constants file to have them in a single place.
2009-01-06 13:07:28 +00:00
jean.chalard a82d4b51bb J :
* New menu style - step one.
  More improvements are to come, but this should be stable and have a good
  portion of what is to be done.
2008-12-30 05:24:38 +00:00
jean.chalard 3e9ff2b580 J :
* Change the name of debug.h into config.h and use the new RESPATH define.
2008-12-25 16:28:03 +00:00
wagic.the.homebrew 9ec06eb4e7 Erwan
- fixed a problem with DOS card files under psp/linux
- Added a bunch of SAFE_DELETE, not sure they're really necessary
- fixed a small interface problem in Shop
2008-11-30 11:47:47 +00:00
jean.chalard 3518166189 J :
* Input fix.
* A lot of code cleaning spread across a lot of files.
2008-11-24 12:11:16 +00:00
jean.chalard c97dd1f260 J :
* Remove ^M's.
* Re-indent automatically.
* Remove whitespace at the end of lines.
2008-11-12 13:45:42 +00:00
wagic.the.homebrew d45e3b101b 2008-11-02 09:50:16 +00:00