diff options
author | Ludvig Strigeus | 2001-11-14 19:33:10 +0000 |
---|---|---|
committer | Ludvig Strigeus | 2001-11-14 19:33:10 +0000 |
commit | 8ae567b094b798625ffc9e4870086d8faf19c542 (patch) | |
tree | a7edb08a9cbc7a48f0401f0b3403f1210b23f9f1 | |
parent | b8d259d60eed2f8edc321dcba6116bddabbc35e8 (diff) | |
download | scummvm-rg350-8ae567b094b798625ffc9e4870086d8faf19c542.tar.gz scummvm-rg350-8ae567b094b798625ffc9e4870086d8faf19c542.tar.bz2 scummvm-rg350-8ae567b094b798625ffc9e4870086d8faf19c542.zip |
gcc patch by lionel ulmer
svn-id: r3492
-rw-r--r-- | scumm.h | 17 | ||||
-rw-r--r-- | scummsys.h | 15 | ||||
-rw-r--r-- | sound.cpp | 4 |
3 files changed, 22 insertions, 14 deletions
@@ -37,12 +37,13 @@ enum { NUM_ACTORS = 13 }; -#pragma START_PACK_STRUCTS - struct Point { int x,y; }; + +#pragma START_PACK_STRUCTS + #define SIZEOF_BOX 20 struct Box { /* file format */ int16 ulx,uly; @@ -52,23 +53,23 @@ struct Box { /* file format */ byte mask; byte flags; uint16 scale; -}; +} GCC_PACK; struct ResHeader { uint32 size; -}; +} GCC_PACK; struct RoomHeader { uint32 tag, size; uint16 width,height; uint16 numObjects; -}; +} GCC_PACK; struct BompHeader { uint32 tag,size; uint16 unk; uint16 width,height; -}; +} GCC_PACK; struct CodeHeader { uint32 id; @@ -94,7 +95,7 @@ struct CodeHeader { byte actordir; } v6; }; -}; +} GCC_PACK; struct ImageHeader { /* file format */ uint32 id; @@ -107,7 +108,7 @@ struct ImageHeader { /* file format */ struct { int16 x,y; } hotspot[15]; -}; +} GCC_PACK; #pragma END_PACK_STRUCTS diff --git a/scummsys.h b/scummsys.h index 4246b10876..7e2fb4e453 100644 --- a/scummsys.h +++ b/scummsys.h @@ -49,6 +49,7 @@ typedef signed long int32; #define START_PACK_STRUCTS pack (push,1) #define END_PACK_STRUCTS pack(pop) +#define GCC_PACK #elif defined(__CYGWIN__) @@ -91,11 +92,6 @@ typedef signed long int32; #endif #define FORCEINLINE inline - -#if defined(__GNUC__) -#define NORETURN __attribute__((__noreturn__)) -#else -#endif #define CDECL typedef unsigned char byte; @@ -107,8 +103,17 @@ typedef signed char int8; typedef signed short int16; typedef signed long int32; +#if defined(__GNUC__) +#define START_PACK_STRUCTS +#define END_PACK_STRUCTS +#define GCC_PACK __attribute__((packed)) +#define NORETURN __attribute__((__noreturn__)) +#else #define START_PACK_STRUCTS pack (1) #define END_PACK_STRUCTS pack () +#define GCC_PACK +#define NORETURN +#endif #else #error No system type defined @@ -305,10 +305,12 @@ void Scumm::pauseSounds(bool pause) { _soundsPaused = pause; } +#pragma START_PACK_STRUCTS struct VOCHeader { byte id[19]; byte extra[7]; -}; +} GCC_PACK; +#pragma END_PACK_STRUCTS static const char VALID_VOC_ID[] = "Creative Voice File"; |