diff --git a/Makefile b/Makefile index faf0902..220f7f0 100644 --- a/Makefile +++ b/Makefile @@ -10,11 +10,19 @@ LDLIBS += `sdl-config --libs` AFLAGS = -g -Iinclude/ -w+macro-params -w+orphan-labels -w+number-overflow -ROOT = afont.c frustum.c kshape.c map.c maths.c mem3dc.c mem3dcpp.cpp module.c morph.c mslhand.c object.c shpanim.c sphere.c tables.c vdb.c version.c -AVP = ai_sight.c avpview.c bh_agun.c bh_ais.c bh_alien.c bh_binsw.c bh_cable.c bh_corpse.c bh_deathvol.c bh_debri.c bh_dummy.c bh_fan.c bh_far.c bh_fhug.c bh_gener.c bh_ldoor.c bh_lift.c bh_light.c bh_lnksw.c bh_ltfx.c bh_marin.c bh_mission.c bh_near.c bh_pargen.c bh_plachier.c bh_plift.c bh_pred.c bh_queen.c bh_rubberduck.c bh_selfdest.c bh_snds.c bh_spcl.c bh_swdor.c bh_track.c bh_types.c bh_videoscreen.c bh_waypt.c bh_weap.c bh_xeno.c bonusabilities.c cheatmodes.c comp_map.c comp_shp.c consolelog.cpp deaths.c decal.c detaillevels.c dynamics.c dynblock.c equipmnt.c equiputl.cpp extents.c game.c gameflow.c hmodel.c hud.c inventry.c language.c lighting.c load_shp.c los.c maps.c mempool.c messagehistory.c movement.c paintball.c particle.c pfarlocs.c pheromon.c pmove.c psndproj.c pvisible.c +ROOT = afont.c frustum.c kshape.c map.c maths.c md5.c mem3dc.c mem3dcpp.cpp module.c morph.c mslhand.c object.c shpanim.c sphere.c tables.c vdb.c version.c +AVP = ai_sight.c avpview.c bh_agun.c bh_ais.c bh_alien.c bh_binsw.c bh_cable.c bh_corpse.c bh_deathvol.c bh_debri.c bh_dummy.c bh_fan.c bh_far.c bh_fhug.c bh_gener.c bh_ldoor.c bh_lift.c bh_light.c bh_lnksw.c bh_ltfx.c bh_marin.c bh_mission.c bh_near.c bh_pargen.c bh_plachier.c bh_plift.c bh_pred.c bh_queen.c bh_rubberduck.c bh_selfdest.c bh_snds.c bh_spcl.c bh_swdor.c bh_track.c bh_types.c bh_videoscreen.c bh_waypt.c bh_weap.c bh_xeno.c bonusabilities.c cheatmodes.c comp_map.c comp_shp.c consolelog.cpp deaths.c decal.c detaillevels.c dynamics.c dynblock.c equipmnt.c equiputl.cpp extents.c game.c gameflow.c hmodel.c hud.c inventry.c language.c lighting.c load_shp.c los.c maps.c mempool.c messagehistory.c movement.c paintball.c particle.c pfarlocs.c pheromon.c pmove.c psndproj.c pvisible.c secstats.c sfx.c stratdef.c targeting.c track.c triggers.c weapons.c +SHAPES = cube.c +SUPPORT = +AVPWIN95 = avpchunk.cpp +FRONTEND = +GADGETS = +WIN95 = huffman.cpp string.cpp + +# AVP: # unused?: avpitems.cpp avppages.cpp # not needed: mp_launch.c -# need fix: cconvars.cpp cdtrackselection.cpp davehook.cpp game_statistics.c gamecmds.cpp gamevars.cpp missions.cpp player.c psnd.c +# need fix: cconvars.cpp cdtrackselection.cpp davehook.cpp game_statistics.c gamecmds.cpp gamevars.cpp missions.cpp player.c psnd.c savegame.c scream.cpp # the following should really be autogenerated... @@ -26,9 +34,15 @@ ROOTSRC = $(ROOT) ROOTOBJ = $(call OBJNAMES1,$(ROOT)) AVPSRC = $(call SRCNAMES,$(AVP),avp) AVPOBJ = $(call OBJNAMES,$(AVP),avp) +SHAPESSRC = $(call SRCNAMES,$(SHAPES),avp/shapes) +SHAPESOBJ = $(call OBJNAMES,$(SHAPES),avp/shapes) +AVPWIN95SRC = $(call SRCNAMES,$(AVPWIN95),avp/win95) +AVPWIN95OBJ = $(call OBJNAMES,$(AVPWIN95),avp/win95) +WIN95SRC = $(call SRCNAMES,$(WIN95),win95) +WIN95OBJ = $(call OBJNAMES,$(WIN95),win95) -SRC = $(ROOTSRC) $(AVPSRC) -OBJ = $(ROOTOBJ) $(AVPOBJ) +SRC = $(ROOTSRC) $(AVPSRC) $(SHAPESSRC) $(AVPWIN95SRC) $(WIN95SRC) +OBJ = $(ROOTOBJ) $(AVPOBJ) $(SHAPESOBJ) $(AVPWIN95OBJ) $(WIN95OBJ) .SUFFIXES: .asm diff --git a/src/avp/savegame.c b/src/avp/savegame.c index a400ced..4ac3412 100644 --- a/src/avp/savegame.c +++ b/src/avp/savegame.c @@ -26,13 +26,12 @@ #include "bh_videoscreen.h" #include "bh_plift.h" #include "bh_ldoor.h" -#include "AvP_Menus.h" +#include "avp_menus.h" #include "game_statistics.h" -#include "AvP_UserProfile.h" +#include "avp_userprofile.h" #include "savegame.h" #include "huffman.hpp" -#include "smacker.h" #define UseLocalAssert Yes #include "ourasert.h" diff --git a/src/avp/shapes/cube.c b/src/avp/shapes/cube.c index ff5eb34..ab61f19 100644 --- a/src/avp/shapes/cube.c +++ b/src/avp/shapes/cube.c @@ -1,11 +1,8 @@ #include #include "system.h" - -#if PSX -#else //PSX - #include "shape.h" + /* CUBE_ @@ -164,5 +161,3 @@ int *CUBE_items[]={ 2*1,1*1,0*1,3*1, Term }; - -#endif //PSX \ No newline at end of file diff --git a/src/avp/weapons.c b/src/avp/weapons.c index de228e6..a6f3a0b 100644 --- a/src/avp/weapons.c +++ b/src/avp/weapons.c @@ -58,7 +58,7 @@ #include "targeting.h" #include "extents.h" #include "scream.h" -#include "AvP_UserProfile.h" +#include "avp_userprofile.h" #define BITE_HEALTH_RECOVERY (50) #define BITE_ARMOUR_RECOVERY (30) diff --git a/src/fixer.h b/src/fixer.h new file mode 100644 index 0000000..2414e70 --- /dev/null +++ b/src/fixer.h @@ -0,0 +1,62 @@ +#ifndef __FIXER_H__ +#define __FIXER_H__ + +#include +#include +#include +#include // int64_t + +#define PACKED __attribute__((packed)) + +#ifndef min +#define min(a, b) (((a) < (b)) ? (a) : (b)) +#endif + +#ifndef max +#define max(a, b) (((a) > (b)) ? (a) : (b)) +#endif + +#define __cdecl + +#define TRUE 1 +#define FALSE 0 + +#define stricmp strcasecmp +#define _stricmp strcasecmp + +/* windows junk */ +typedef int GUID; +typedef int DPID; +typedef int HINSTANCE; +typedef int WPARAM; +typedef int LPARAM; +typedef int HANDLE; + +typedef int BOOL; + +typedef struct RECT +{ + int left; + int top; + int right; + int bottom; +} RECT; + +typedef RECT RECT_AVP; + +typedef int64_t __int64; + +typedef int FILETIME; + +typedef struct SYSTEMTIME +{ +//#warning "TODO: SYSTEMTIME format is not correct" + int wHour; + int wMinute; + int wSecond; + int wYear; + int wMonth; + int wDay; +} SYSTEMTIME; + +#endif diff --git a/src/md5.c b/src/md5.c new file mode 100644 index 0000000..aedacc7 --- /dev/null +++ b/src/md5.c @@ -0,0 +1,253 @@ +/* + * This code implements the MD5 message-digest algorithm. + * The algorithm is due to Ron Rivest. This code was + * written by Colin Plumb in 1993, no copyright is claimed. + * This code is in the public domain; do with it what you wish. + * + * Equivalent code is available from RSA Data Security, Inc. + * This code has been tested against that, and is equivalent, + * except that you don't need to include two pages of legalese + * with every copy. + * + * To compute the message digest of a chunk of bytes, declare an + * MD5Context structure, pass it to MD5Init, call MD5Update as + * needed on buffers full of bytes, and then call MD5Final, which + * will fill a supplied 16-byte array with the digest. + * + * Changed so as no longer to depend on Colin Plumb's `usual.h' header + * definitions; now uses stuff from dpkg's config.h. + * - Ian Jackson . + * Still in the public domain. + * + * md5_buffer added by Steven Fuller + */ + +#include /* for memcpy() */ +#include /* for stupid systems */ +#include /* for ntohl() */ + +//#include "config.h" +#include "md5.h" + +#ifdef WORDS_BIGENDIAN +void +byteSwap(UWORD32 *buf, unsigned words) +{ + md5byte *p = (md5byte *)buf; + + do { + *buf++ = (UWORD32)((unsigned)p[3] << 8 | p[2]) << 16 | + ((unsigned)p[1] << 8 | p[0]); + p += 4; + } while (--words); +} +#else +#define byteSwap(buf,words) +#endif + +/* md5_buffer frontend added for AvP */ +void md5_buffer(const char *buffer, unsigned len, char *digest) +{ + struct MD5Context md5c; + + MD5Init(&md5c); + MD5Update(&md5c, (md5byte const *)buffer, len); + MD5Final((md5byte *)digest, &md5c); +} + +/* + * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious + * initialization constants. + */ +void +MD5Init(struct MD5Context *ctx) +{ + ctx->buf[0] = 0x67452301; + ctx->buf[1] = 0xefcdab89; + ctx->buf[2] = 0x98badcfe; + ctx->buf[3] = 0x10325476; + + ctx->bytes[0] = 0; + ctx->bytes[1] = 0; +} + +/* + * Update context to reflect the concatenation of another buffer full + * of bytes. + */ +void +MD5Update(struct MD5Context *ctx, md5byte const *buf, unsigned len) +{ + UWORD32 t; + + /* Update byte count */ + + t = ctx->bytes[0]; + if ((ctx->bytes[0] = t + len) < t) + ctx->bytes[1]++; /* Carry from low to high */ + + t = 64 - (t & 0x3f); /* Space available in ctx->in (at least 1) */ + if (t > len) { + memcpy((md5byte *)ctx->in + 64 - t, buf, len); + return; + } + /* First chunk is an odd size */ + memcpy((md5byte *)ctx->in + 64 - t, buf, t); + byteSwap(ctx->in, 16); + MD5Transform(ctx->buf, ctx->in); + buf += t; + len -= t; + + /* Process data in 64-byte chunks */ + while (len >= 64) { + memcpy(ctx->in, buf, 64); + byteSwap(ctx->in, 16); + MD5Transform(ctx->buf, ctx->in); + buf += 64; + len -= 64; + } + + /* Handle any remaining bytes of data. */ + memcpy(ctx->in, buf, len); +} + +/* + * Final wrapup - pad to 64-byte boundary with the bit pattern + * 1 0* (64-bit count of bits processed, MSB-first) + */ +void +MD5Final(md5byte digest[16], struct MD5Context *ctx) +{ + int count = ctx->bytes[0] & 0x3f; /* Number of bytes in ctx->in */ + md5byte *p = (md5byte *)ctx->in + count; + + /* Set the first char of padding to 0x80. There is always room. */ + *p++ = 0x80; + + /* Bytes of padding needed to make 56 bytes (-8..55) */ + count = 56 - 1 - count; + + if (count < 0) { /* Padding forces an extra block */ + memset(p, 0, count + 8); + byteSwap(ctx->in, 16); + MD5Transform(ctx->buf, ctx->in); + p = (md5byte *)ctx->in; + count = 56; + } + memset(p, 0, count); + byteSwap(ctx->in, 14); + + /* Append length in bits and transform */ + ctx->in[14] = ctx->bytes[0] << 3; + ctx->in[15] = ctx->bytes[1] << 3 | ctx->bytes[0] >> 29; + MD5Transform(ctx->buf, ctx->in); + + byteSwap(ctx->buf, 4); + memcpy(digest, ctx->buf, 16); + memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */ +} + +#ifndef ASM_MD5 + +/* The four core functions - F1 is optimized somewhat */ + +/* #define F1(x, y, z) (x & y | ~x & z) */ +#define F1(x, y, z) (z ^ (x & (y ^ z))) +#define F2(x, y, z) F1(z, x, y) +#define F3(x, y, z) (x ^ y ^ z) +#define F4(x, y, z) (y ^ (x | ~z)) + +/* This is the central step in the MD5 algorithm. */ +#define MD5STEP(f,w,x,y,z,in,s) \ + (w += f(x,y,z) + in, w = (w<>(32-s)) + x) + +/* + * The core of the MD5 algorithm, this alters an existing MD5 hash to + * reflect the addition of 16 longwords of new data. MD5Update blocks + * the data and converts bytes into longwords for this routine. + */ +void +MD5Transform(UWORD32 buf[4], UWORD32 const in[16]) +{ + register UWORD32 a, b, c, d; + + a = buf[0]; + b = buf[1]; + c = buf[2]; + d = buf[3]; + + MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7); + MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12); + MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17); + MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22); + MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7); + MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12); + MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17); + MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22); + MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7); + MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12); + MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17); + MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22); + MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7); + MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12); + MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17); + MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22); + + MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5); + MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9); + MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14); + MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20); + MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5); + MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9); + MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14); + MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20); + MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5); + MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9); + MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14); + MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20); + MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5); + MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9); + MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14); + MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20); + + MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4); + MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11); + MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16); + MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23); + MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4); + MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11); + MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16); + MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23); + MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4); + MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11); + MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16); + MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23); + MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4); + MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11); + MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16); + MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23); + + MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6); + MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10); + MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15); + MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21); + MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6); + MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10); + MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15); + MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21); + MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6); + MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10); + MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15); + MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21); + MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6); + MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10); + MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15); + MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21); + + buf[0] += a; + buf[1] += b; + buf[2] += c; + buf[3] += d; +} + +#endif diff --git a/src/md5.h b/src/md5.h new file mode 100644 index 0000000..b3c4f80 --- /dev/null +++ b/src/md5.h @@ -0,0 +1,46 @@ +/* + * This is the header file for the MD5 message-digest algorithm. + * The algorithm is due to Ron Rivest. This code was + * written by Colin Plumb in 1993, no copyright is claimed. + * This code is in the public domain; do with it what you wish. + * + * Equivalent code is available from RSA Data Security, Inc. + * This code has been tested against that, and is equivalent, + * except that you don't need to include two pages of legalese + * with every copy. + * + * To compute the message digest of a chunk of bytes, declare an + * MD5Context structure, pass it to MD5Init, call MD5Update as + * needed on buffers full of bytes, and then call MD5Final, which + * will fill a supplied 16-byte array with the digest. + * + * Changed so as no longer to depend on Colin Plumb's `usual.h' + * header definitions; now uses stuff from dpkg's config.h + * - Ian Jackson . + * Still in the public domain. + * + * md5_buffer added by Steven Fuller + */ + +#ifndef MD5_H +#define MD5_H + +typedef unsigned int UWORD32; + +#define md5byte unsigned char + +struct MD5Context { + UWORD32 buf[4]; + UWORD32 bytes[2]; + UWORD32 in[16]; +}; + +void MD5Init(struct MD5Context *context); +void MD5Update(struct MD5Context *context, md5byte const *buf, unsigned len); +void MD5Final(unsigned char digest[16], struct MD5Context *context); +void MD5Transform(UWORD32 buf[4], UWORD32 const in[16]); + +/* md5_buffer frontend added for AvP */ +void md5_buffer(const char *buffer, unsigned len, char *digest); + +#endif /* !MD5_H */ diff --git a/src/win95/chunk.hpp b/src/win95/chunk.hpp index e7afcb4..e021062 100644 --- a/src/win95/chunk.hpp +++ b/src/win95/chunk.hpp @@ -3,6 +3,7 @@ #ifndef _chunk_hpp #define _chunk_hpp 1 +#include "fixer.h" #if engine @@ -78,6 +79,8 @@ extern char users_name[]; #endif +#include "list_tem.hpp" + #ifndef RIFF_OPTIMIZE // define this to get compiler errors where you are calling the old slow functions extern List list_chunks_in_file (HANDLE &, const char * chunk_id); #endif diff --git a/src/win95/dummyobjectchunk.cpp b/src/win95/dummyobjectchunk.cpp index 7fa86c9..0b9a6b6 100644 --- a/src/win95/dummyobjectchunk.cpp +++ b/src/win95/dummyobjectchunk.cpp @@ -1,4 +1,4 @@ -#include "DummyObjectChunk.hpp" +#include "dummyobjectchunk.hpp" #ifdef cencon #define new my_new diff --git a/src/win95/huffman.cpp b/src/win95/huffman.cpp index b2a0275..64100e1 100644 --- a/src/win95/huffman.cpp +++ b/src/win95/huffman.cpp @@ -1,7 +1,9 @@ -#include "stdio.h" -#include "stdlib.h" -#include "string.h" -#include "malloc.h" +#include +#include +#include + +#include "fixer.h" + #include "huffman.hpp" /* KJL 17:12:25 17/09/98 - Huffman compression/decompression routines */ @@ -28,17 +30,17 @@ typedef struct HuffNode // 16-byte node structure struct HuffNode *parent; // the THIRD four bytes, parent node - union - { // the FOURTH four bytes +// union +// { // the FOURTH four bytes unsigned int bits; // the bit pattern of this end node - struct - { - unsigned char flag; - unsigned char curdepth; - unsigned char maxdepth; - unsigned char unused; - }; - }; +// struct +// { +// unsigned char flag; +// unsigned char curdepth; +// unsigned char maxdepth; +// unsigned char unused; +// }; +// }; } HuffNode; @@ -99,7 +101,7 @@ extern HuffmanPackage *HuffmanCompression(unsigned char *sourcePtr, int length) { outpackage->CodelengthCount[n] = Depths[n + 1]; } - for (n = 0; n < 256; n++) + for (int n = 0; n < 256; n++) { outpackage->ByteAssignment[n] = SymbolCensus[n + 1].Symbol; } diff --git a/src/win95/iff.hpp b/src/win95/iff.hpp index 9250171..b03b6b2 100644 --- a/src/win95/iff.hpp +++ b/src/win95/iff.hpp @@ -1,12 +1,13 @@ #ifndef _INCLUDED_IFF_HPP_ #define _INCLUDED_IFF_HPP_ +#include "fixer.h" + #if defined(_WIN32) || defined(WIN32) || defined(WINDOWS) || defined(_WINDOWS) #define _IFF_WIN_TARGET #include #else // ! WIN32 && ! _WIN32 && ! WINDOWS && ! _WINDOWS #include - #include #endif // ! WIN32 && ! _WIN32 && ! WINDOWS && ! _WINDOWS #include "media.hpp" diff --git a/src/win95/ilbm_ext.cpp b/src/win95/ilbm_ext.cpp index e1d8a4d..613cdd4 100644 --- a/src/win95/ilbm_ext.cpp +++ b/src/win95/ilbm_ext.cpp @@ -1,4 +1,4 @@ -#include "ILBM_ext.hpp" +#include "ilbm_ext.hpp" IFF_IMPLEMENT_DYNCREATE("ILBM","TRAN",IlbmTranChunk) IFF_IMPLEMENT_DYNCREATE("ILBM","ALPH",IlbmAlphChunk) diff --git a/src/win95/ilbm_ext.hpp b/src/win95/ilbm_ext.hpp index 3aefce7..105e078 100644 --- a/src/win95/ilbm_ext.hpp +++ b/src/win95/ilbm_ext.hpp @@ -2,7 +2,7 @@ #define _INCLUDED_ILBM_EXT_HPP_ #include "iff.hpp" -#include "iff_ILBM.hpp" +#include "iff_ilbm.hpp" namespace IFF { diff --git a/src/win95/media.hpp b/src/win95/media.hpp index 73f36b7..3b49356 100644 --- a/src/win95/media.hpp +++ b/src/win95/media.hpp @@ -6,8 +6,8 @@ #include #endif // WIN32 || _WIN32 || WINDOWS || _WINDOWS + #include -#include #include #include diff --git a/src/win95/platform.h b/src/win95/platform.h index 44c245d..06abf3b 100644 --- a/src/win95/platform.h +++ b/src/win95/platform.h @@ -1,10 +1,7 @@ #ifndef PLATFORM_INCLUDED #define PLATFORM_INCLUDED -#include -#include -#include -#include // int64_t +#include "fixer.h" #include "shape.h" // struct imageheader @@ -18,55 +15,15 @@ extern "C" { #endif -#define PACKED __attribute__((packed)) - //#include "fastfile.h" - #define platform_pc Yes #define Saturn No #define Hardware2dTextureClipping No -#ifndef min -#define min(a, b) (((a) < (b)) ? (a) : (b)) -#endif - -#ifndef max -#define max(a, b) (((a) > (b)) ? (a) : (b)) -#endif - -#define TRUE 1 -#define FALSE 0 - -#define stricmp strcasecmp -#define _stricmp strcasecmp - /* Types */ -/* windows junk */ -typedef int GUID; -typedef int DPID; -typedef int HINSTANCE; -typedef int WPARAM; -typedef int LPARAM; - -typedef int BOOL; - -typedef struct RECT -{ - int left; - int top; - int right; - int bottom; -} RECT; - -typedef RECT RECT_AVP; - -typedef int64_t __int64; - -/* Watcom C 64-bit values */ - typedef struct LONGLONGCH { unsigned int lo32; @@ -74,26 +31,15 @@ typedef struct LONGLONGCH { } LONGLONGCH; - -typedef int FILETIME; - -typedef struct SYSTEMTIME -{ -//#warning "SYSTEMTIME format is not correct" - int wHour; - int wMinute; - int wSecond; - int wYear; - int wMonth; - int wDay; -} SYSTEMTIME; - /* Sine and Cosine */ +extern int sine[]; +extern int cosine[]; + #define GetSin(a) sine[a] #define GetCos(a) cosine[a]