More compilation.
Moved windows typedefs to a separate file. Included public domain md5 routines (from dpkg).
This commit is contained in:
parent
6d5a3cec55
commit
f759e35cd8
15 changed files with 414 additions and 93 deletions
24
Makefile
24
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
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
#include <stdio.h>
|
||||
|
||||
#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
|
|
@ -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)
|
||||
|
|
62
src/fixer.h
Normal file
62
src/fixer.h
Normal file
|
@ -0,0 +1,62 @@
|
|||
#ifndef __FIXER_H__
|
||||
#define __FIXER_H__
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <inttypes.h> // 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
|
253
src/md5.c
Normal file
253
src/md5.c
Normal file
|
@ -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 <ijackson@nyx.cs.du.edu>.
|
||||
* Still in the public domain.
|
||||
*
|
||||
* md5_buffer added by Steven Fuller
|
||||
*/
|
||||
|
||||
#include <string.h> /* for memcpy() */
|
||||
#include <sys/types.h> /* for stupid systems */
|
||||
#include <netinet/in.h> /* 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<<s | 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
|
46
src/md5.h
Normal file
46
src/md5.h
Normal file
|
@ -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 <ijackson@nyx.cs.du.edu>.
|
||||
* 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 */
|
|
@ -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<int> list_chunks_in_file (HANDLE &, const char * chunk_id);
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include "DummyObjectChunk.hpp"
|
||||
#include "dummyobjectchunk.hpp"
|
||||
|
||||
#ifdef cencon
|
||||
#define new my_new
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
#include "stdio.h"
|
||||
#include "stdlib.h"
|
||||
#include "string.h"
|
||||
#include "malloc.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#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;
|
||||
}
|
||||
|
|
|
@ -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 <windows.h>
|
||||
#else // ! WIN32 && ! _WIN32 && ! WINDOWS && ! _WINDOWS
|
||||
#include <stdio.h>
|
||||
#include <conio.h>
|
||||
#endif // ! WIN32 && ! _WIN32 && ! WINDOWS && ! _WINDOWS
|
||||
|
||||
#include "media.hpp"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include "ILBM_ext.hpp"
|
||||
#include "ilbm_ext.hpp"
|
||||
|
||||
IFF_IMPLEMENT_DYNCREATE("ILBM","TRAN",IlbmTranChunk)
|
||||
IFF_IMPLEMENT_DYNCREATE("ILBM","ALPH",IlbmAlphChunk)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define _INCLUDED_ILBM_EXT_HPP_
|
||||
|
||||
#include "iff.hpp"
|
||||
#include "iff_ILBM.hpp"
|
||||
#include "iff_ilbm.hpp"
|
||||
|
||||
namespace IFF
|
||||
{
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
#include <windows.h>
|
||||
#endif // WIN32 || _WIN32 || WINDOWS || _WINDOWS
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <conio.h>
|
||||
#include <limits.h>
|
||||
#include <string.h>
|
||||
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
#ifndef PLATFORM_INCLUDED
|
||||
#define PLATFORM_INCLUDED
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdint.h> // 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]
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue