187 Commits

Author SHA1 Message Date
jean.chalard
e3e50c19a5 J :
* Have JGE compile on Darwin architecture.
* I'm not saying it works, just that it compiles.
* This needs testing on other macs than just mine.
2010-02-01 02:49:26 +00:00
wagic.the.homebrew@gmail.com
6e2e351239 Erwan
-fix issue 144
2010-01-07 13:56:57 +00:00
wagic.the.homebrew@gmail.com
74accec275 Erwan
- Fix issue 144 (Sound is either 0 or 100%), for PSP ONLY. The methods are now here for linux/windows, but only the music volume method will work currently, and it sets the volume globally. Patch by Yeshua with some cleanup by myself.
2009-12-12 15:10:32 +00:00
wagic.the.homebrew@gmail.com
afc08b4b6e Erwan
- fix issue 92 (purple screen). Many thanks to Yeshua and Raphael!
- Switched valloc to vram, more recent and faster.
2009-12-07 11:54:59 +00:00
wagic.the.homebrew@gmail.com
ca6f507d0a Erwan
- putting valloc.c back in the project as some persons have problem using/finding the valloc library
2009-12-06 12:38:23 +00:00
wagic.the.homebrew@gmail.com
e94bb52e35 Erwan
- adding some debugging stuff for the purple screen
2009-12-03 07:17:36 +00:00
wagic.the.homebrew@gmail.com
5eb6256df6 Erwan
-Fix issue 223 by Yeshua. Thanks :)
2009-11-29 06:25:03 +00:00
wagic.the.homebrew@gmail.com
b275b6f758 Erwan
- JGE bug fixes (network)
- increased the size of kernel ram. 2048 might bee too much though, let's see if we can go with 1024
2009-11-29 04:44:38 +00:00
wagic.the.homebrew@gmail.com
66a505969e Erwan
- fix issue 215
- added test for purple screen (this is the small white square on top of the loading screen)
2009-11-23 08:25:27 +00:00
wagic.the.homebrew@gmail.com
5b92639cca Erwan
- Translation updates
- JGE: DrawString now allows std::string objects
2009-11-01 02:52:41 +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
888edfd5b8 Erwan
-more JGE cleanup
-removed calls to BindTexture that were made out of the Render methods. Please let me know if this has side effects (and let's discuss it in that case)
-Still no luck with the purple screen bug :(
2009-10-03 08:50:44 +00:00
wagic.the.homebrew@gmail.com
924574b0a1 Erwan
- Some cleanup in JGE
2009-10-02 14:33:05 +00:00
wagic.the.homebrew@gmail.com
e7cd458b6b Erwan
-fix issue 85 (simpleMenu limitation) - this requires to recompile JGE
2009-10-01 14:06:47 +00:00
wagic.jeck
d55fc91112 Jeck - [Requires JGE rebuild] Extensive cache improvements.
* Numerous cache fixes, reduced filesystem access.
 * Cache fails very gracefully. 
 * Cache is now a templated class, with individual caches per data-type.
 * Much easier to extend.
 * Extensively debugged. Try compiling with -DDEBUG_CACHE.
 * Caches limits can be set on a per-item basis.
 * hgeParticleSystemInfo are now cached, mana particles now fall back to defaults.
 * Samples are not cached, but track filesystem misses using the cache backbone. 
 * Avatars are cached. Default baka avatar is now baka.jpg, to prevent collision with player.

A note on the retrieval types: 
  RETRIEVE_MANAGE puts a resource into a seperate, managed resource list.
    Managed resources are guarenteed valid for the lifetime of the program. 
    Retrieving a managed quad promotes the associated texture to managed. Don't do that by mistake.
    Calls to Resources.Refresh() will attempt to reload managed resources in place.

  RETRIVE_LOCK (and by extension, RETRIEVE_VRAM), returns a resource after locking it.
    A resource may have many locks, and remains in cache until they are all released. 
    If the resource is managed, it returns it unmodified.

A note on quads:
Unlike all other RetrieveWhatever() functions, the default behavior for RetrieveQuad is RETRIEVE_LOCK. Worse, Release(JQuad*) is slow, and will /always/ release one lock from the associated texture.   

There's a long and complicated explanation for this, involving support for live relinking of textures to existing quads, but basically what it means is that we only use RetrieveQuad for quads we intend to store and later Release(). If a temporary quad is needed, the preferred method is to use NEW JQuad* and SAFE_DELETE with RetrieveTexture(). RetrieveTempQuad is also provided, but is only guaranteed until the next call to the cache.

Note that RetrieveCard has none of these problems.
2009-09-14 08:28:49 +00:00
jean.chalard
44738399dc J :
* Make the SAFE_DELETE syntactically safe.
2009-09-05 11:34:51 +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
3639ac291f J :
* Make it so that we do not crash trying to play an MP3 that failed
  to load.
2009-06-11 14:47:21 +00:00
jean.chalard
c1565450e5 J :
* Add ostream op
2009-06-11 13:55:03 +00:00
wagic.laurent
31d9f87554 Applying Orine Patch - Works perfect. Great addition. 2009-06-08 22:34:54 +00:00
wagic.the.homebrew@gmail.com
0e88d03c04 Erwan
- Zip file Directory cache for faster access
- Preload card images in player's hand before the game starts
2009-05-26 11:32:17 +00:00
jean.chalard
215e23a975 J :
* Add some printing capability.
2009-05-23 08:33:28 +00:00
jean.chalard
10aa8e32d9 J :
* Write preliminary thread creation functions for Linux.
* Debug the Makefile
2009-05-23 04:44:44 +00:00
wagic.the.homebrew@gmail.com
f50d7e30d4 Erwan
- Added a few "stats" to the main menu. This might slow down loading times on the PSP (needs testing). In that case I'll move it to the options, or optimize it if needed
2009-05-19 13:45:53 +00:00
wagic.the.homebrew@gmail.com
f32f5f3793 Erwan
- Crude networking functions:
+ Basic message works on Windows
+ Compiles on PSP but doesn't work yet
+ Nothing done for Linux -> TODO!
2009-05-18 11:22:53 +00:00
wagic.the.homebrew@gmail.com
387c75e16d Erwan
-Improved JGE texture loading, improved Wagic cache
- Jge small changes in mp3 methods
2009-04-09 13:31:07 +00:00
jean.chalard
1cbf9c32e9 J :
* Fix a macro that was missing parentheses.
2009-01-18 14:12:09 +00:00
jean.chalard
45e143dd0c J :
* Clean carriage returns.
2009-01-01 23:27:32 +00:00
jean.chalard
886507c525 J :
* Restore the behavior of GetButtonClick, which had been made so that it
  would miss more clicks than it should.
2008-11-25 15:35:01 +00:00
jean.chalard
d7ea37233c J :
* Key buffer update : Add functions & clean the file
2008-11-21 14:13:01 +00:00
wagic.the.homebrew
349de34106 Erwan
- Fixed MP3 play bug on the psp. MP3 files need to have NO Id3v2 tag, or they won't play. Also, volume control is broken
- added dt to moving W's easter egg movement.
- Added fullscreen for windows version
- other stuff ?
2008-11-19 12:21:23 +00:00
wagic.the.homebrew
37220f9e24 Erwan
- fixed a few warnings with the PSP compilation
- changed definition of DWORD to unsinged int rather than unsigned long for PSP
- fixed make 3xx. the call to "which" in the makefile still needs to be corrected with a DOS compatible call
2008-11-10 11:07:33 +00:00
jean.chalard
d28fff72db J :
* Change the binding define for __attribute__ from LINUX to __GNUC__
2008-11-05 15:00:32 +00:00
jean.chalard
9a9156dd98 J :
* Remove __attribute__ when not GCC.
2008-11-05 14:55:38 +00:00
jean.chalard
098c8ce09d J :
* Change sys/types.h for stdint.h which is the standard C99 header.
2008-11-05 14:08:55 +00:00
jean.chalard
ddf04e14e8 J :
* Update for linux support.
2008-11-05 13:38:39 +00:00
wagic.the.homebrew
d45e3b101b 2008-11-02 09:50:16 +00:00