Game Incubator News
Brought to you by:
jchatelaine
Here is what's new:
Legend:
[!] Bug Fix
[*] Change
[+] Add
[-] Remove
[+] New GISample to show how to use the GIXML
[+] Small utility class GI::LOCK to use with an already initialised critical section to protect multi threaded access with a lock object on the stack
GIFILE
\[+\] Addition of an IRESOURCEMANAGER to have a common interface to get resources, whether it's from the hard drive or from a pak file \[+\] Added possibility to enumerate resources in a PAK file with void EnumerateResources\(IPAKENUMERTION \*enumerate\) \[+\] Added possibility to get an ISTREAMWRITE from HD with static ISTREAMWRITE \*\_\_cdecl CreateFromHardDrive\(IMEMORY \*allocator, IREPORT \*reporter, const char \*filename\); \[\*\] Changed void \* into const void \* for unsigned int Write\(const void \*source, unsigned int size\) in ISTREAMWRITE \[\*\] For resource allocation, display name of the file \(for easier leak detection\)
GIXML
\[+\] Need to provide an IRESOURCEMANAGER at creation \(see GIFile\) -> this allows for PAK and files to be used transparently \[\!\] Fix errors that kept poping up despite the user clicking on ignore in the GIReport box \[\*\] Enumerate functions in XMLSECTION now returns bool \(return false if the user callback returns false, if enumeration completed without interruption, then returns true\)
GICallStack
\[\!\] Stop EnumMemoryBlock when overloaded function returned false \[\*\] Rename callback EnumFunctions
GIFramework
\[+\] GIScreenSizeX and GIScreenSizeY can now have value of 0, the GI will then use the desktop size instead \[+\] You can retrieve the command line argument now through GIApplication \(SetCommandLine/GetCommandLine\), the GIFramework set the command line at start \[+\] Possibility to boostrap \(make a copy of the executable in the temp directory before running it, allow you to replace the original executbale while running, usually to update it\) \[+\] Added a global IRESOURCEMANAGER to add paths and pak for the application: GIResourceManager
GINetwork
\[\!\] Now disconnects from server when TCP client returns false in OnReceive \[\!\] Fixed a wrong OnConnected event when reconnecting \(the state should be onconnecting\) \[\!\] Fixed a OnConnected then an OnDiconnected being called one after another if no server was contacted \[+\] Added the OnFailToConnect event for client that doesn't connect properly instead of OnDisconnect that is now reserved for when OnConnected event previsouly occured \[+\] Added capability to subscribe to Multicast feed \[+\] Report an error if a client tries to connect to a NULL address \[+\] Possibility for clients to disconnect a connection by calling Disconnect on the INETWORK object \[\*\] CheckForEvents function changed into Process and return code changed to return a bool \(returns false when connection is invalid and usually needs a Reconnect call for TCP sockets\)
GIDisplay
\[\!\] Fix AlphaTest that was broken after the move to HLSL \[\!\] GIFont, fixed right align when using multi line texts \(e.g. "Line 1\nLine2"\) \[\!\] GIFont, fixed blurred on letters that sometimes happens depending of position on screen \[\!\] GIFont, fixed multiline right aligned \[+\] GIFont, new function: GetNumberOfLines allows you to know how many lines will be displayed \[+\] Added Video sprites, use it the same way as sprite, just mention a .avi or .mpg filename At the moment work only from file \(no GIFILE supported\) and only with certain compression \[+\] GIFont, Added param 'bool usesplit' to function DrawInside to allow sentences to be split properly on spaces and - \[+\] Need to provide an IRESOURCEMANAGER at creation \(see GIFile\) \[\*\] Rename GetTextureName into GetResourceName for SPRITE \(and now return a const char \*\) \[\*\] Load on Texture now takes a const char \* instead of a char \* \[\*\] Changed the way sprite hold a resource \(can now be a texture or a video\) \[\*\] SetTime and GetTime on sprite set and get the time in ms for a video sprite \[-\] Remove GetTexture function on sprite as it's now a resource that can either be a texture or a video \[-\] Removed AddPak and AddMediaPath, use the IRESOURCEMANAGER passed at the creation instead
GISound
\[+\] Need to provide an IRESOURCEMANAGER at creation \(see GIFile\) \[+\] Addition of mixers to control the volume of a group of sounds. All sounds require a new param for mixer at creation. This can be NULL to use the default mixer
GIMemory
\[+\] Allocate can take a NULL pointer for the context \[-\] Remove virtual void Dump\(IMEMORYOUTPUT \*output\), you can achieve the same result with virtual void Dump\(IMEMORYNOTIFICATION \*notification\), so no points in polluting the interface
GIReport
\[+\] Added \_\_FUNCTION\_\_ parameter in the macro, so we always have at least the current function name in the callstack view
GITextLibrary
\[\!\] Fixed a report box that kept poping up despite ignore & continue choice when you didn't have a text library loaded \[\*\] You know need to pass an IRESOURCEMANAGER at creation \(you can use GIResourceManager global if you use the GIFramework, or simply pass NULL if you don't want to use the resource manager\) \[-\] Remove bool LoadLanguageFromStream\(ISTREAMREAD \*stream, char \*\*enumchar, unsigned short maxentries, ISTREAMREAD \*enumindexstream = NULL\) function definition, pak ar deduced from resource manager usage
GIPOINT3D
\[+\] Added possibility to divide a point3d by a float
GITEXTLIBRARY
\[\!\] Remove extra end of line character at the end of each string