about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2007-07-31 06:23:24 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2007-07-31 06:23:24 +0000
commit3c1d46c0484a7a91b6c8b530847ed57bea6318c3 (patch)
tree6a75b71188e07292c3f209f9d9f80edc78806bb0
parent3014707fe555d12fdfcec3d828d9deeeef5c45e8 (diff)
downloadzcatch-3c1d46c0484a7a91b6c8b530847ed57bea6318c3.tar.gz
zcatch-3c1d46c0484a7a91b6c8b530847ed57bea6318c3.zip
made everything as const on the client so its more clear that you shouldn't change the snapshots
-rw-r--r--src/engine/client/client.cpp25
-rw-r--r--src/engine/interface.h4
-rw-r--r--src/game/client/game_client.cpp46
3 files changed, 38 insertions, 37 deletions
diff --git a/src/engine/client/client.cpp b/src/engine/client/client.cpp
index c8c5da83..6e01c005 100644
--- a/src/engine/client/client.cpp
+++ b/src/engine/client/client.cpp
@@ -157,7 +157,7 @@ float client_localtime()
 	return (time_get()-local_start_time)/(float)(time_freq());
 }
 
-void *snap_get_item(int snapid, int index, snap_item *item)
+const void *snap_get_item(int snapid, int index, snap_item *item)
 {
 	dbg_assert(snapid >= 0 && snapid < NUM_SNAPSHOT_TYPES, "invalid snapid");
 	snapshot::item *i = snapshots[snapid]->snap->get_item(index);
@@ -166,6 +166,18 @@ void *snap_get_item(int snapid, int index, snap_item *item)
 	return (void *)i->data();
 }
 
+const void *snap_find_item(int snapid, int type, int id)
+{
+	// TODO: linear search. should be fixed.
+	for(int i = 0; i < snapshots[snapid]->snap->num_items; i++)
+	{
+		snapshot::item *itm = snapshots[snapid]->snap->get_item(i);
+		if(itm->type() == type && itm->id() == id)
+			return (void *)itm->data();
+	}
+	return 0x0;
+}
+
 int snap_num_items(int snapid)
 {
 	dbg_assert(snapid >= 0 && snapid < NUM_SNAPSHOT_TYPES, "invalid snapid");
@@ -202,17 +214,6 @@ float client_frametime()
 	return frametime;
 }
 
-void *snap_find_item(int snapid, int type, int id)
-{
-	// TODO: linear search. should be fixed.
-	for(int i = 0; i < snapshots[snapid]->snap->num_items; i++)
-	{
-		snapshot::item *itm = snapshots[snapid]->snap->get_item(i);
-		if(itm->type() == type && itm->id() == id)
-			return (void *)itm->data();
-	}
-	return 0x0;
-}
 
 int menu_loop(); // TODO: what is this?
 
diff --git a/src/engine/interface.h b/src/engine/interface.h
index 960be724..64ff202e 100644
--- a/src/engine/interface.h
+++ b/src/engine/interface.h
@@ -490,7 +490,7 @@ int snap_num_items(int snapid);
 	Returns:
 		Returns a pointer to the item if it exists, otherwise NULL.
 */
-void *snap_get_item(int snapid, int index, snap_item *item);
+const void *snap_get_item(int snapid, int index, snap_item *item);
 
 /*
 	Function: snap_find_item
@@ -506,7 +506,7 @@ void *snap_get_item(int snapid, int index, snap_item *item);
 	Returns:
 		Returns a pointer to the item if it exists, otherwise NULL.
 */
-void *snap_find_item(int snapid, int type, int id);
+const void *snap_find_item(int snapid, int type, int id);
 
 /*
 	Function: snap_input
diff --git a/src/game/client/game_client.cpp b/src/game/client/game_client.cpp
index d4969798..44d1f6dc 100644
--- a/src/game/client/game_client.cpp
+++ b/src/game/client/game_client.cpp
@@ -471,7 +471,7 @@ void modc_newsnapshot()
 	for(int i = 0; i < num; i++)
 	{
 		snap_item item;
-		void *data = snap_get_item(SNAP_CURRENT, i, &item);
+		const void *data = snap_get_item(SNAP_CURRENT, i, &item);
 		
 		if(item.type == EVENT_DAMAGEINDICATION)
 		{
@@ -602,7 +602,7 @@ void modc_newsnapshot()
 	}
 }
 
-static void render_projectile(obj_projectile *prev, obj_projectile *current, int itemid)
+static void render_projectile(const obj_projectile *prev, const obj_projectile *current, int itemid)
 {
 	gfx_texture_set(data->images[IMAGE_GAME].id);
 	gfx_quads_begin();
@@ -627,7 +627,7 @@ static void render_projectile(obj_projectile *prev, obj_projectile *current, int
 	gfx_quads_end();
 }
 
-static void render_powerup(obj_powerup *prev, obj_powerup *current)
+static void render_powerup(const obj_powerup *prev, const obj_powerup *current)
 {
 	gfx_texture_set(data->images[IMAGE_GAME].id);
 	gfx_quads_begin();
@@ -670,7 +670,7 @@ static void render_powerup(obj_powerup *prev, obj_powerup *current)
 	gfx_quads_end();
 }
 
-static void render_flag(obj_flag *prev, obj_flag *current)
+static void render_flag(const obj_flag *prev, const obj_flag *current)
 {
 	float angle = 0.0f;
 	float size = 64.0f;
@@ -877,7 +877,7 @@ static void draw_round_rect(float x, float y, float w, float h, float r)
 	gfx_quads_drawTL(x+w-r, y+r, r, h-r*2); // right
 }
 
-static void render_player(obj_player *prev, obj_player *player)
+static void render_player(const obj_player *prev, const obj_player *player)
 {
 	if(player->health < 0) // dont render dead players
 		return;
@@ -1324,7 +1324,7 @@ void modc_render()
 		for(int i = 0; i < num; i++)
 		{
 			snap_item item;
-			void *data = snap_get_item(SNAP_CURRENT, i, &item);
+			const void *data = snap_get_item(SNAP_CURRENT, i, &item);
 			
 			if(item.type == OBJTYPE_PLAYER)
 			{
@@ -1334,7 +1334,7 @@ void modc_render()
 					local_player = player;
 					local_player_pos = vec2(player->x, player->y);
 
-					void *p = snap_find_item(SNAP_PREV, item.type, item.id);
+					const void *p = snap_find_item(SNAP_PREV, item.type, item.id);
 					if(p)
 						local_player_pos = mix(vec2(((obj_player *)p)->x, ((obj_player *)p)->y), local_player_pos, client_intratick());
 				}
@@ -1414,34 +1414,34 @@ void modc_render()
 	for(int i = 0; i < num; i++)
 	{
 		snap_item item;
-		void *data = snap_get_item(SNAP_CURRENT, i, &item);
+		const void *data = snap_get_item(SNAP_CURRENT, i, &item);
 		
 		if(item.type == OBJTYPE_PLAYER)
 		{
-			void *prev = snap_find_item(SNAP_PREV, item.type, item.id);
+			const void *prev = snap_find_item(SNAP_PREV, item.type, item.id);
 			if(prev)
 			{
-				client_datas[((obj_player *)data)->clientid].team = ((obj_player *)data)->team;
-				render_player((obj_player *)prev, (obj_player *)data);
+				client_datas[((const obj_player *)data)->clientid].team = ((const obj_player *)data)->team;
+				render_player((const obj_player *)prev, (const obj_player *)data);
 			}
 		}
 		else if(item.type == OBJTYPE_PROJECTILE)
 		{
-			void *prev = snap_find_item(SNAP_PREV, item.type, item.id);
+			const void *prev = snap_find_item(SNAP_PREV, item.type, item.id);
 			if(prev)
-				render_projectile((obj_projectile *)prev, (obj_projectile *)data, item.id);
+				render_projectile((const obj_projectile *)prev, (const obj_projectile *)data, item.id);
 		}
 		else if(item.type == OBJTYPE_POWERUP)
 		{
-			void *prev = snap_find_item(SNAP_PREV, item.type, item.id);
+			const void *prev = snap_find_item(SNAP_PREV, item.type, item.id);
 			if(prev)
-				render_powerup((obj_powerup *)prev, (obj_powerup *)data);
+				render_powerup((const obj_powerup *)prev, (const obj_powerup *)data);
 		}
 		else if(item.type == OBJTYPE_FLAG)
 		{
-			void *prev = snap_find_item(SNAP_PREV, item.type, item.id);
+			const void *prev = snap_find_item(SNAP_PREV, item.type, item.id);
 			if (prev)
-				render_flag((obj_flag *)prev, (obj_flag *)data);
+				render_flag((const obj_flag *)prev, (const obj_flag *)data);
 		}
 	}
 
@@ -1670,11 +1670,11 @@ void modc_render()
 			for(int i = 0; i < num; i++)
 			{
 				snap_item item;
-				void *data = snap_get_item(SNAP_CURRENT, i, &item);
+				const void *data = snap_get_item(SNAP_CURRENT, i, &item);
 				
 				if(item.type == OBJTYPE_PLAYER)
 				{
-					obj_player *player = (obj_player *)data;
+					const obj_player *player = (const obj_player *)data;
 					if(player)
 					{
 						char buf[128];
@@ -1732,11 +1732,11 @@ void modc_render()
 			for(int i = 0; i < num; i++)
 			{
 				snap_item item;
-				void *data = snap_get_item(SNAP_CURRENT, i, &item);
+				const void *data = snap_get_item(SNAP_CURRENT, i, &item);
 				
 				if(item.type == OBJTYPE_PLAYER)
 				{
-					obj_player *player = (obj_player *)data;
+					const obj_player *player = (const obj_player *)data;
 					if(player && player->team >= 0 && player->team < 2)
 					{
 						teamscore[player->team] += player->score;
@@ -1762,11 +1762,11 @@ void modc_render()
 			for(int i = 0; i < num; i++)
 			{
 				snap_item item;
-				void *data = snap_get_item(SNAP_CURRENT, i, &item);
+				const void *data = snap_get_item(SNAP_CURRENT, i, &item);
 				
 				if(item.type == OBJTYPE_PLAYER)
 				{
-					obj_player *player = (obj_player *)data;
+					const obj_player *player = (const obj_player *)data;
 					if(player && player->team >= 0 && player->team < 2)
 					{
 						sprintf(buf, "%4d", player->score);