Next #20

Merged
merged 52 commits into from Jan 18, 2012

Conversation

Projects
None yet
5 participants
Contributor

bslack commented Jan 17, 2012

  • Added Keyboard support to iOS
    -- Feel free to re-arrange the source code, just note, that by default the compiler gives warnings if the c functions don't have prototypes, so I recommend keeping them in, other then that, I just put my c functions near the bottom of my source files out of course of habit, if you move them back to the top I will leave them there going forward
  • Corrected issues that prevented things from working on a 64 bit platform. I don't know if my fix is the one you will want to go with or not (nor is it necessarily the one I would recommend). What I would recommend is the following:
    Some where in base.h or some other common include you define your own types, e.g. typdef int gint32 or something like that (perhaps using stdint) and do it per-platform. The size's of ints, longs, etc can change depending on architecture, and this abstraction would make life much easier. I typically do this for my cross-platform libraries (usually I stick with stdint). It helps makes things explicit and would avoid the issue that I encountered. e.g vector with unsigned long which is 4 bytes, and functions that take pointers to unsigned longs (also 4 bytes), work fine on 32 bit systems, but on 64 bit unsigned long is 8 bytes, therefore reads at sizeof(unsigned long) read more data when in reality you want 4 bytes. On 32 bit intel systems unsigned long == unsigned int in terms of bytes, therefore either would work.

Anyways thats my two cents. You guys might be okay with just changing the AnimationController to accepting unsigned int's instead, I was uncertain if you wanted it a long for another reason, so I avoided changing it and instead added the new function to package to explicitly declare the read size and not rely on sizeof(T) where T is an unsigned long.

EDIT: One additional note, did not do any checks of GamePlay to see if there were other issues similar to the one I discovered, I just got the samples working on the 64 bit compiles.

chrisculy and others added some commits Jan 3, 2012

Updated physics debug drawing to use the new MeshBatch class.
Implemented collision shape caching for rigid bodies.
Removed an unneeded memcpy from Matrix::invert.
Fixes bug in Animation framework when AnimationController is shutting…
… down and there is some code to trigger an animation to play on an animation end event. It was causing the animation code to never exit.
Adds new animation property ANIMATE_SCALE_UNIT to the Transform class.
Adds the ability to scale all dimensions of the transform by a single scalar.
Merge pull request #101 from blackberry-gaming/next-cculy
Collision shape caching, capsule collision shape support, and minor optimizations
Fixes bug in animation blending of independent values.
Code cleanup.
Adds rotate(float qx, float qy, float qz, float qw) to Transform class.
Renames some methods/member variables to better reflect use.
General code cleanup.
Adds static void slerp(float q1x, float q1y, float q1z, float q1w, float q2x, float q2y, float q2z, float q2w, float t, float* dstx, float* dsty, float* dstz, float* dstw) method in Quaternion
Merge pull request #105 from blackberry-gaming/next-kcunney
Fixes bug in animation blending of independent values.
Added mouse events to Game.h.
If a game doesn't consume left mouse events then they are interpreted as touch events.
Fixed template project touch event handling.
Touch events were not being detected in the template project.
Fixing issues preventing Mac OS X compiling and some cleaneup
Also adds initiale code for iOS in Base.h
Merge pull request #18 from bslack/next
Removed duplicate static view variable
Fixes compile warnings
- Mac Sample Apps -- Removed lib folders that do not exist
- Casting UIView to View
Fixes issues that prevents the app from working on a 64-bit system
Fix:
NOTE: May not be best fix

Adds new version of readArray that takes the size that reads are suppose to be performed at.
The issue is that lines 942 and 946 of Package.cpp declar vectors that contain 'unsigned long'
The read array uses the size of T (unsigned long) in this case which is 4 on a 32 bit platform and 8 on a 64
Int is also 4 bytes, but did not convert to unsigned int due to 'AnimationController' required unsigned long arrays

Hence, the read function that now can take a size, so long as the readSize > sizeof(T) (ASSERTED)
Updated iOS Port with Virtual Keyboard Support
- NOTE: Did not implement the platform override as it does not appear to exist yet, instead implemented objective-c methods that the C++ Platform object can call
- Added extra keys as supported on the iOS Virtual Keyboard (Euro, Yen, Pound)
Added rotation detection for the touch events
No matter the devices rotation, 0,0 will always be the top left and corner of the device (hopefully this is expected)
Changed touch point rotation to be based on interface orientation
From initial comments I thought the desire was for device orientation, but upon looking at Game.cpp and comments again realized you wanted interface orientation on the touch points. This makes much more sense and is much easier then the custom extension I wrote.

seanpaultaylor added a commit that referenced this pull request Jan 18, 2012

@seanpaultaylor seanpaultaylor merged commit 5aad3aa into gameplay3d:master Jan 18, 2012

sgrenier added a commit that referenced this pull request May 2, 2013

Merge pull request #20 from blackberry-gaming/next-sgrenier
Fixed run-time error on windows platform

seanpaultaylor added a commit that referenced this pull request May 2, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment