diff --git a/src/MD2.m b/src/MD2.m index 2924467..998a6b8 100644 --- a/src/MD2.m +++ b/src/MD2.m @@ -14,7 +14,7 @@ struct md2_header { }; struct md2_vertex { - uchar vertex[3], lightNormalIndex; + unsigned char vertex[3], lightNormalIndex; }; struct md2_frame { @@ -128,7 +128,7 @@ snap(int sn, float f) (struct md2_frame *)((char *)_frames + _frameSize * frame); float sc = 16.0f / scale; for (int vi = 0; vi < _numVerts; vi++) { - uchar *cv = (uchar *)&cf->vertices[vi].vertex; + unsigned char *cv = (unsigned char *)&cf->vertices[vi].vertex; OFVector3D *v = &(_mverts[frame])[vi]; v->x = (snap(sn, cv[0] * cf->scale[0]) + cf->translate[0]) / sc; v->y = diff --git a/src/clientextras.m b/src/clientextras.m index 00268b1..6f8d003 100644 --- a/src/clientextras.m +++ b/src/clientextras.m @@ -189,8 +189,8 @@ sendmap(OFString *mapname) return; ENetPacket *packet = enet_packet_create( NULL, MAXTRANS + mapdata.count, ENET_PACKET_FLAG_RELIABLE); - uchar *start = packet->data; - uchar *p = start + 2; + unsigned char *start = packet->data; + unsigned char *p = start + 2; putint(&p, SV_SENDMAP); sendstring(mapname, &p); putint(&p, mapdata.count); @@ -201,7 +201,7 @@ sendmap(OFString *mapname) } memcpy(p, mapdata.items, mapdata.count); p += mapdata.count; - *(ushort *)start = ENET_HOST_TO_NET_16(p - start); + *(unsigned short *)start = ENET_HOST_TO_NET_16(p - start); enet_packet_resize(packet, p - start); sendpackettoserv(packet); conoutf(@"sending map %@ to server...", mapname); @@ -217,10 +217,10 @@ getmap() { ENetPacket *packet = enet_packet_create(NULL, MAXTRANS, ENET_PACKET_FLAG_RELIABLE); - uchar *start = packet->data; - uchar *p = start + 2; + unsigned char *start = packet->data; + unsigned char *p = start + 2; putint(&p, SV_RECVMAP); - *(ushort *)start = ENET_HOST_TO_NET_16(p - start); + *(unsigned short *)start = ENET_HOST_TO_NET_16(p - start); enet_packet_resize(packet, p - start); sendpackettoserv(packet); conoutf(@"requesting map from server..."); diff --git a/src/clients.m b/src/clients.m index 6857e57..3eeb5f9 100644 --- a/src/clients.m +++ b/src/clients.m @@ -282,8 +282,8 @@ c2sinfo(DynamicEntity *d) if (lastmillis - lastupdate < 40) return; // don't update faster than 25fps ENetPacket *packet = enet_packet_create(NULL, MAXTRANS, 0); - uchar *start = packet->data; - uchar *p = start + 2; + unsigned char *start = packet->data; + unsigned char *p = start + 2; bool serveriteminitdone = false; // suggest server to change map if (toservermap.length > 0) { @@ -354,7 +354,7 @@ c2sinfo(DynamicEntity *d) lastping = lastmillis; } } - *(ushort *)start = ENET_HOST_TO_NET_16(p - start); + *(unsigned short *)start = ENET_HOST_TO_NET_16(p - start); enet_packet_resize(packet, p - start); incomingdemodata(start, p - start, true); if (clienthost) { diff --git a/src/clients2c.m b/src/clients2c.m index 0ddb5bc..b3b363e 100644 --- a/src/clients2c.m +++ b/src/clients2c.m @@ -64,14 +64,14 @@ updatepos(DynamicEntity *d) // processes any updates from the server void -localservertoclient(uchar *buf, int len) +localservertoclient(unsigned char *buf, int len) { - if (ENET_NET_TO_HOST_16(*(ushort *)buf) != len) + if (ENET_NET_TO_HOST_16(*(unsigned short *)buf) != len) neterr(@"packet length"); incomingdemodata(buf, len, false); - uchar *end = buf + len; - uchar *p = buf + 2; + unsigned char *end = buf + len; + unsigned char *p = buf + 2; char text[MAXTRANS]; int cn = -1, type; DynamicEntity *d = nil; @@ -284,9 +284,9 @@ localservertoclient(uchar *buf, int len) break; case SV_ITEMSPAWN: { - uint i = getint(&p); + unsigned int i = getint(&p); setspawn(i, true); - if (i >= (uint)ents.count) + if (i >= ents.count) break; OFVector3D v = OFMakeVector3D(ents[i].x, ents[i].y, ents[i].z); @@ -332,9 +332,9 @@ localservertoclient(uchar *buf, int len) case SV_EDITENT: // coop edit of ent { - uint i = getint(&p); + unsigned int i = getint(&p); - while ((uint)ents.count <= i) { + while (ents.count <= i) { Entity *e = [Entity entity]; e.type = NOTUSED; [ents addObject:e]; diff --git a/src/cube.h b/src/cube.h index 1d9d8be..ded358f 100644 --- a/src/cube.h +++ b/src/cube.h @@ -33,16 +33,24 @@ enum { }; struct sqr { - uchar type; // one of the above - char floor, ceil; // height, in cubes - uchar wtex, ftex, ctex; // wall/floor/ceil texture ids - uchar r, g, b; // light value at upper left vertex - uchar vdelta; // vertex delta, used for heightfield cubes - char defer; // used in mipmapping, when true this cube is not a perfect - // mip - char occluded; // true when occluded - uchar utex; // upper wall tex id - uchar tag; // used by triggers + // one of the above + unsigned char type; + // height, in cubes + char floor, ceil; + // wall/floor/ceil texture ids + unsigned char wtex, ftex, ctex; + // light value at upper left vertex + unsigned char r, g, b; + // vertex delta, used for heightfield cubes + unsigned char vdelta; + // used in mipmapping, when true this cube is not a perfect mip + char defer; + // true when occluded + char occluded; + // upper wall tex id + unsigned char utex; + // used by triggers + unsigned char tag; }; // hardcoded texture numbers @@ -87,7 +95,7 @@ struct header { int sfactor; // in bits int numents; char maptitle[128]; - uchar texlists[3][256]; + unsigned char texlists[3][256]; int waterlevel; int reserved[15]; }; @@ -237,7 +245,7 @@ enum { struct vertex { float u, v, x, y, z; - uchar r, g, b, a; + unsigned char r, g, b, a; }; // globals ooh naughty diff --git a/src/editing.m b/src/editing.m index d9799db..ba231cd 100644 --- a/src/editing.m +++ b/src/editing.m @@ -327,7 +327,7 @@ tofronttex() // maintain most recently used of the texture lists when applying for (int i = 0; i < 3; i++) { int c = curedittex[i]; if (c >= 0) { - uchar *p = hdr.texlists[i]; + unsigned char *p = hdr.texlists[i]; int t = p[c]; for (int a = c - 1; a >= 0; a--) p[a + 1] = p[a]; diff --git a/src/entities.m b/src/entities.m index ed39bf8..0ed433e 100644 --- a/src/entities.m +++ b/src/entities.m @@ -338,8 +338,9 @@ checkquad(int time) } } +// puts items in network stream and also spawns them locally void -putitems(uchar **p) // puts items in network stream and also spawns them locally +putitems(unsigned char **p) { [ents enumerateObjectsUsingBlock:^(Entity *e, size_t i, bool *stop) { if ((e.type >= I_SHELLS && e.type <= I_QUAD) || @@ -357,8 +358,8 @@ resetspawns() e.spawned = false; } void -setspawn(uint i, bool on) +setspawn(size_t i, bool on) { - if (i < (uint)ents.count) + if (i < ents.count) ents[i].spawned = on; } diff --git a/src/protos.h b/src/protos.h index 5f906a3..2f7a69f 100644 --- a/src/protos.h +++ b/src/protos.h @@ -74,7 +74,7 @@ extern void finishstrips(); extern void setarraypointers(); // client -extern void localservertoclient(uchar *buf, int len); +extern void localservertoclient(unsigned char *buf, int len); extern void connects(OFString *servername); extern void disconnect(bool onlyclean, bool async); extern void toserver(OFString *text); @@ -188,10 +188,10 @@ extern void render_particles(int time); // worldio extern void save_world(OFString *fname); extern void load_world(OFString *mname); -extern void writemap(OFString *mname, int msize, uchar *mdata); +extern void writemap(OFString *mname, int msize, unsigned char *mdata); extern OFData *readmap(OFString *mname); extern void loadgamerest(); -extern void incomingdemodata(uchar *buf, int len, bool extras); +extern void incomingdemodata(unsigned char *buf, int len, bool extras); extern void demoplaybackstep(); extern void stop(); extern void stopifrecording(); @@ -226,17 +226,18 @@ extern void localconnect(); extern void localdisconnect(); extern void localclienttoserver(struct _ENetPacket *); extern void serverslice(int seconds, unsigned int timeout); -extern void putint(uchar **p, int n); -extern int getint(uchar **p); -extern void sendstring(OFString *t, uchar **p); +extern void putint(unsigned char **p, int n); +extern int getint(unsigned char **p); +extern void sendstring(OFString *t, unsigned char **p); extern void startintermission(); extern void restoreserverstate(OFArray *ents); -extern uchar *retrieveservers(uchar *buf, int buflen); +extern unsigned char *retrieveservers(unsigned char *buf, int buflen); extern char msgsizelookup(int msg); extern void serverms(int mode, int numplayers, int minremain, OFString *smapname, int seconds, bool isfull); extern void servermsinit(OFString *master, OFString *sdesc, bool listen); -extern void sendmaps(int n, OFString *mapname, int mapsize, uchar *mapdata); +extern void sendmaps( + int n, OFString *mapname, int mapsize, unsigned char *mapdata); extern ENetPacket *recvmap(int n); // weapon @@ -253,13 +254,13 @@ extern int reloadtime(int gun); // entities extern void initEntities(); extern void renderents(); -extern void putitems(uchar **p); +extern void putitems(unsigned char **p); extern void checkquad(int time); extern void checkitems(); extern void realpickup(int n, DynamicEntity *d); extern void renderentities(); extern void resetspawns(); -extern void setspawn(uint i, bool on); +extern void setspawn(size_t i, bool on); extern void teleport(int n, DynamicEntity *d); extern void baseammo(int gun); diff --git a/src/rendercubes.m b/src/rendercubes.m index 8202929..51d202a 100644 --- a/src/rendercubes.m +++ b/src/rendercubes.m @@ -149,11 +149,13 @@ render_flat(int wtex, int x, int y, int size, int h, struct sqr *l1, curvert -= 2; nquads--; } else { - uchar *p3 = (uchar *)(&verts[curvert - 1].r); + unsigned char *p3 = + (unsigned char *)(&verts[curvert - 1].r); ol3r = p3[0]; ol3g = p3[1]; ol3b = p3[2]; - uchar *p4 = (uchar *)(&verts[curvert - 2].r); + unsigned char *p4 = + (unsigned char *)(&verts[curvert - 2].r); ol4r = p4[0]; ol4g = p4[1]; ol4b = p4[2]; diff --git a/src/rendergl.m b/src/rendergl.m index f131964..4da4934 100644 --- a/src/rendergl.m +++ b/src/rendergl.m @@ -113,7 +113,7 @@ installtex(int tnum, OFIRI *IRI, int *xs, int *ys, bool clamp) #if 0 for (int i = 0; i < s->w * s->h * 3; i++) { - uchar *p = (uchar *)s->pixels + i; + unsigned char *p = (unsigned char *)s->pixels + i; *p = 255 - *p; } #endif diff --git a/src/savegamedemo.m b/src/savegamedemo.m index 4d759e7..f23d2a5 100644 --- a/src/savegamedemo.m +++ b/src/savegamedemo.m @@ -306,7 +306,7 @@ demoblend(int damage) } void -incomingdemodata(uchar *buf, int len, bool extras) +incomingdemodata(unsigned char *buf, int len, bool extras) { if (!demorecording) return; @@ -432,7 +432,7 @@ demoplaybackstep() stopreset(); return; } - uchar buf[MAXTRANS]; + unsigned char buf[MAXTRANS]; gzread(f, buf, len); localservertoclient(buf, len); // update game state diff --git a/src/server.m b/src/server.m index 99a1321..b2f772a 100644 --- a/src/server.m +++ b/src/server.m @@ -68,11 +68,11 @@ send2(bool rel, int cn, int a, int b) { ENetPacket *packet = enet_packet_create(NULL, 32, rel ? ENET_PACKET_FLAG_RELIABLE : 0); - uchar *start = packet->data; - uchar *p = start + 2; + unsigned char *start = packet->data; + unsigned char *p = start + 2; putint(&p, a); putint(&p, b); - *(ushort *)start = ENET_HOST_TO_NET_16(p - start); + *(unsigned short *)start = ENET_HOST_TO_NET_16(p - start); enet_packet_resize(packet, p - start); if (cn < 0) process(packet, -1); @@ -87,11 +87,11 @@ sendservmsg(OFString *msg) { ENetPacket *packet = enet_packet_create( NULL, _MAXDEFSTR + 10, ENET_PACKET_FLAG_RELIABLE); - uchar *start = packet->data; - uchar *p = start + 2; + unsigned char *start = packet->data; + unsigned char *p = start + 2; putint(&p, SV_SERVMSG); sendstring(msg, &p); - *(ushort *)start = ENET_HOST_TO_NET_16(p - start); + *(unsigned short *)start = ENET_HOST_TO_NET_16(p - start); enet_packet_resize(packet, p - start); multicast(packet, -1); if (packet->referenceCount == 0) @@ -117,10 +117,11 @@ resetitems() // server side item pickup, acknowledge first client that gets it static void -pickup(uint i, int sec, int sender) +pickup(size_t i, int sec, int sender) { - if (i >= (uint)sents.count) + if (i >= sents.count) return; + if (sents[i].spawned) { sents[i].spawned = false; sents[i].spawnsecs = sec; @@ -178,14 +179,14 @@ vote(OFString *map, int reqmode, int sender) void process(ENetPacket *packet, int sender) // sender may be -1 { - if (ENET_NET_TO_HOST_16(*(ushort *)packet->data) != + if (ENET_NET_TO_HOST_16(*(unsigned short *)packet->data) != packet->dataLength) { disconnect_client(sender, @"packet length"); return; } - uchar *end = packet->data + packet->dataLength; - uchar *p = packet->data + 2; + unsigned char *end = packet->data + packet->dataLength; + unsigned char *p = packet->data + 2; char text[MAXTRANS]; int cn = -1, type; @@ -300,8 +301,8 @@ send_welcome(int n) { ENetPacket *packet = enet_packet_create(NULL, MAXTRANS, ENET_PACKET_FLAG_RELIABLE); - uchar *start = packet->data; - __block uchar *p = start + 2; + unsigned char *start = packet->data; + __block unsigned char *p = start + 2; putint(&p, SV_INITS2C); putint(&p, n); putint(&p, PROTOCOL_VERSION); @@ -320,7 +321,7 @@ send_welcome(int n) }]; putint(&p, -1); } - *(ushort *)start = ENET_HOST_TO_NET_16(p - start); + *(unsigned short *)start = ENET_HOST_TO_NET_16(p - start); enet_packet_resize(packet, p - start); send_(n, packet); } diff --git a/src/serverbrowser.m b/src/serverbrowser.m index 9bc0dcf..d363965 100644 --- a/src/serverbrowser.m +++ b/src/serverbrowser.m @@ -130,8 +130,8 @@ void pingservers() { ENetBuffer buf; - uchar ping[MAXTRANS]; - uchar *p; + unsigned char ping[MAXTRANS]; + unsigned char *p; for (ServerInfo *si in servers) { if (si.address.host == ENET_HOST_ANY) @@ -173,7 +173,7 @@ checkpings() enet_uint32 events = ENET_SOCKET_WAIT_RECEIVE; ENetBuffer buf; ENetAddress addr; - uchar ping[MAXTRANS], *p; + unsigned char ping[MAXTRANS], *p; char text[MAXTRANS]; buf.data = ping; buf.dataLength = sizeof(ping); @@ -266,8 +266,8 @@ void updatefrommaster() { const int MAXUPD = 32000; - uchar buf[MAXUPD]; - uchar *reply = retrieveservers(buf, MAXUPD); + unsigned char buf[MAXUPD]; + unsigned char *reply = retrieveservers(buf, MAXUPD); if (!*reply || strstr((char *)reply, "") || strstr((char *)reply, "")) conoutf(@"master server not replying"); diff --git a/src/serverms.m b/src/serverms.m index e720841..5560d07 100644 --- a/src/serverms.m +++ b/src/serverms.m @@ -56,20 +56,20 @@ httpgetrecieve(ENetBuffer *buf) } } -static uchar * -stripheader(uchar *b) +static unsigned char * +stripheader(unsigned char *b) { char *s = strstr((char *)b, "\n\r\n"); if (!s) s = strstr((char *)b, "\n\n"); - return s ? (uchar *)s : b; + return s ? (unsigned char *)s : b; } static ENetAddress masterserver = { ENET_HOST_ANY, 80 }; static int updmaster = 0; static OFString *masterbase; static OFString *masterpath; -static uchar masterrep[MAXTRANS]; +static unsigned char masterrep[MAXTRANS]; static ENetBuffer masterb; static void @@ -97,8 +97,8 @@ checkmasterreply() printf("masterserver reply: %s\n", stripheader(masterrep)); } -uchar * -retrieveservers(uchar *buf, int buflen) +unsigned char * +retrieveservers(unsigned char *buf, int buflen) { OFString *path = [OFString stringWithFormat:@"%@retrieve.do?item=list", masterpath]; @@ -126,7 +126,7 @@ serverms(int mode, int numplayers, int minremain, OFString *smapname, // reply all server info requests ENetBuffer buf; ENetAddress addr; - uchar pong[MAXTRANS], *p; + unsigned char pong[MAXTRANS], *p; int len; enet_uint32 events = ENET_SOCKET_WAIT_RECEIVE; buf.data = pong; diff --git a/src/serverutil.m b/src/serverutil.m index 8c95da0..e3ffa1d 100644 --- a/src/serverutil.m +++ b/src/serverutil.m @@ -6,7 +6,7 @@ // following simple scheme (assumes that most values are small). void -putint(uchar **p, int n) +putint(unsigned char **p, int n) { if (n < 128 && n > -127) { *(*p)++ = n; @@ -24,7 +24,7 @@ putint(uchar **p, int n) } int -getint(uchar **p) +getint(unsigned char **p) { int c = *((char *)*p); (*p)++; @@ -43,7 +43,7 @@ getint(uchar **p) } void -sendstring(OFString *t_, uchar **p) +sendstring(OFString *t_, unsigned char **p) { const char *t = t_.UTF8String; @@ -98,10 +98,10 @@ msgsizelookup(int msg) static OFString *copyname; int copysize; -uchar *copydata = NULL; +unsigned char *copydata = NULL; void -sendmaps(int n, OFString *mapname, int mapsize, uchar *mapdata) +sendmaps(int n, OFString *mapname, int mapsize, unsigned char *mapdata) { if (mapsize <= 0 || mapsize > 256 * 256) return; @@ -109,7 +109,7 @@ sendmaps(int n, OFString *mapname, int mapsize, uchar *mapdata) copysize = mapsize; if (copydata) OFFreeMemory(copydata); - copydata = (uchar *)OFAllocMemory(1, mapsize); + copydata = (unsigned char *)OFAllocMemory(1, mapsize); memcpy(copydata, mapdata, mapsize); } @@ -120,14 +120,14 @@ recvmap(int n) return NULL; ENetPacket *packet = enet_packet_create( NULL, MAXTRANS + copysize, ENET_PACKET_FLAG_RELIABLE); - uchar *start = packet->data; - uchar *p = start + 2; + unsigned char *start = packet->data; + unsigned char *p = start + 2; putint(&p, SV_RECVMAP); sendstring(copyname, &p); putint(&p, copysize); memcpy(p, copydata, copysize); p += copysize; - *(ushort *)start = ENET_HOST_TO_NET_16(p - start); + *(unsigned short *)start = ENET_HOST_TO_NET_16(p - start); enet_packet_resize(packet, p - start); return packet; } @@ -135,7 +135,7 @@ recvmap(int n) #ifdef STANDALONE void -localservertoclient(uchar *buf, int len) +localservertoclient(unsigned char *buf, int len) { } diff --git a/src/tools.h b/src/tools.h index d4a3026..2084223 100644 --- a/src/tools.h +++ b/src/tools.h @@ -22,10 +22,6 @@ #import -typedef unsigned char uchar; -typedef unsigned short ushort; -typedef unsigned int uint; - #define max(a, b) (((a) > (b)) ? (a) : (b)) #define min(a, b) (((a) < (b)) ? (a) : (b)) #define rnd(max) (rand() % (max)) diff --git a/src/tools.m b/src/tools.m index 73d40a8..51c151d 100644 --- a/src/tools.m +++ b/src/tools.m @@ -13,8 +13,8 @@ endianswap( for (int w = 0; w < length; w++) { for (int i = 0; i < stride / 2; i++) { - uchar *p = (uchar *)memory + w * stride; - uchar t = p[i]; + unsigned char *p = (unsigned char *)memory + w * stride; + unsigned char t = p[i]; p[i] = p[stride - i - 1]; p[stride - i - 1] = t; } diff --git a/src/world.m b/src/world.m index a352888..bef58fc 100644 --- a/src/world.m +++ b/src/world.m @@ -131,7 +131,7 @@ remip(const struct block *b, int level) // the target cube in the higher mip level struct sqr *r = SWS(v, x / 2, y / 2, vs); *r = *o[0]; - uchar nums[MAXTYPE]; + unsigned char nums[MAXTYPE]; for (int i = 0; i < MAXTYPE; i++) nums[i] = 0; for (int j = 0; j < 4; j++) @@ -381,7 +381,7 @@ newentity(int x, int y, int z, OFString *what, int v1, int v2, int v3, int v4) e.attr3 = e.attr2; case MONSTER: case TELEDEST: - e.attr2 = (uchar)e.attr1; + e.attr2 = (unsigned char)e.attr1; case PLAYERSTART: e.attr1 = (int)player1.yaw; break; @@ -414,8 +414,8 @@ clearents(OFString *name) } COMMAND(clearents, ARG_1STR) -static uchar -scalecomp(uchar c, int intens) +static unsigned char +scalecomp(unsigned char c, int intens) { int n = c * intens / 100; if (n > 255) diff --git a/src/worldio.m b/src/worldio.m index 459b154..6e34ee3 100644 --- a/src/worldio.m +++ b/src/worldio.m @@ -7,8 +7,8 @@ struct persistent_entity { short x, y, z; // cube aligned position short attr1; - uchar type; // type is one of the above - uchar attr2, attr3, attr4; + unsigned char type; // type is one of the above + unsigned char attr2, attr3, attr4; }; void @@ -139,7 +139,7 @@ toptimize() // FIXME: only does 2x2, make atleast for 4x4 also // these two are used by getmap/sendmap.. transfers compressed maps directly void -writemap(OFString *mname, int msize, uchar *mdata) +writemap(OFString *mname, int msize, unsigned char *mdata) { setnames(mname); backup(cgzname, bakname); diff --git a/src/worldlight.m b/src/worldlight.m index fd30abc..be935c6 100644 --- a/src/worldlight.m +++ b/src/worldlight.m @@ -108,7 +108,7 @@ lightray(float bx, float by, Entity *light) struct sqr *s = S(x >> PRECBITS, y >> PRECBITS); int light = l >> PRECBITS; if (light > s->r) - s->r = s->g = s->b = (uchar)light; + s->r = s->g = s->b = (unsigned char)light; if (SOLID(s)) return; x += stepx;