Move inline struct definitions out of place for C++ compatibility

This commit is contained in:
Jeffrey Pfau 2014-01-28 06:52:01 -08:00
parent a72c77a3df
commit 48a3522fbc
2 changed files with 59 additions and 54 deletions

View File

@ -14,6 +14,20 @@ enum ThreadState {
THREAD_SHUTDOWN = 3
};
struct GBASync {
int videoFramePending;
int videoFrameWait;
int videoFrameSkip;
int videoFrameOn;
Mutex videoFrameMutex;
Condition videoFrameAvailableCond;
Condition videoFrameRequiredCond;
int audioWait;
Condition audioRequiredCond;
Mutex audioBufferMutex;
};
struct GBAThread {
// Output
enum ThreadState state;
@ -39,19 +53,7 @@ struct GBAThread {
ThreadCallback frameCallback;
void* userData;
struct GBASync {
int videoFramePending;
int videoFrameWait;
int videoFrameSkip;
int videoFrameOn;
Mutex videoFrameMutex;
Condition videoFrameAvailableCond;
Condition videoFrameRequiredCond;
int audioWait;
Condition audioRequiredCond;
Mutex audioBufferMutex;
} sync;
struct GBASync sync;
int rewindBufferSize;
int rewindBufferCapacity;

View File

@ -46,8 +46,7 @@ union GBAColor {
uint16_t packed;
};
union GBAOAM {
struct GBAObj {
struct GBAObj {
unsigned y : 8;
unsigned transformed : 1;
unsigned disable : 1;
@ -67,9 +66,9 @@ union GBAOAM {
unsigned palette : 4;
int : 16;
} obj[128];
};
struct GBATransformedObj {
struct GBATransformedObj {
unsigned y : 8;
unsigned transformed : 1;
unsigned doublesize : 1;
@ -87,7 +86,11 @@ union GBAOAM {
unsigned palette : 4;
int : 16;
} tobj[128];
};
union GBAOAM {
struct GBAObj obj[128];
struct GBATransformedObj tobj[128];
struct GBAOAMMatrix {
int : 16;