From 198540d0807e7586ab5fc4490be7abd78c3855e1 Mon Sep 17 00:00:00 2001 From: Kp Date: Sat, 6 Feb 2016 22:12:54 +0000 Subject: [PATCH] Use range_for in bm.cpp --- common/main/bm.h | 2 +- common/main/gauges.h | 6 ++-- similar/main/bm.cpp | 75 ++++++++++++++++++++++---------------------- 3 files changed, 42 insertions(+), 41 deletions(-) diff --git a/common/main/bm.h b/common/main/bm.h index c1d23b281..c86d6ed22 100644 --- a/common/main/bm.h +++ b/common/main/bm.h @@ -127,7 +127,7 @@ extern fix ObjStrength[MAX_OBJTYPE]; // initial strength of each object extern int Marker_model_num; extern int Robot_replacements_loaded; #define MAX_OBJ_BITMAPS 610 -extern int N_ObjBitmaps; +extern unsigned N_ObjBitmaps; extern int extra_bitmap_num; #endif diff --git a/common/main/gauges.h b/common/main/gauges.h index 4b5831ec4..bed585e86 100644 --- a/common/main/gauges.h +++ b/common/main/gauges.h @@ -35,13 +35,13 @@ struct bitmap_index; //from gauges.c #if defined(DXX_BUILD_DESCENT_I) -#define MAX_GAUGE_BMS_PC 80 // increased from 56 to 80 by a very unhappy MK on 10/24/94. -#define MAX_GAUGE_BMS_MAC 85 +#define MAX_GAUGE_BMS_PC 80u // increased from 56 to 80 by a very unhappy MK on 10/24/94. +#define MAX_GAUGE_BMS_MAC 85u #define MAX_GAUGE_BMS (MacPig ? MAX_GAUGE_BMS_MAC : MAX_GAUGE_BMS_PC) extern array Gauges; // Array of all gauge bitmaps. #elif defined(DXX_BUILD_DESCENT_II) -#define MAX_GAUGE_BMS 100 // increased from 56 to 80 by a very unhappy MK on 10/24/94. +#define MAX_GAUGE_BMS 100u // increased from 56 to 80 by a very unhappy MK on 10/24/94. extern array Gauges; // Array of all gauge bitmaps. extern array Gauges_hires; // hires gauges diff --git a/similar/main/bm.cpp b/similar/main/bm.cpp index cc320c9a9..07a759b72 100644 --- a/similar/main/bm.cpp +++ b/similar/main/bm.cpp @@ -87,7 +87,7 @@ fix ObjStrength[MAX_OBJTYPE]; #elif defined(DXX_BUILD_DESCENT_II) //the polygon model number to use for the marker int Marker_model_num = -1; -int N_ObjBitmaps; +unsigned N_ObjBitmaps; static void bm_free_extra_objbitmaps(); #endif @@ -113,14 +113,6 @@ int First_multi_bitmap_num=-1; array ObjBitmaps; array ObjBitmapPtrs; // These point back into ObjBitmaps, since some are used twice. -/* - * reads n bitmap_index structs from a PHYSFS_File - */ -static inline void bitmap_index_read_n(partial_range_t r, uint_fast32_t n, PHYSFS_File *fp) -{ - bitmap_index_read_n(fp, partial_range(r, n)); -} - void gamedata_close() { free_polygon_models(); @@ -203,27 +195,30 @@ void properties_read_cmp(PHYSFS_File * fp) powerup_type_info_read(fp, p); N_polygon_models = PHYSFSX_readInt(fp); - range_for (auto &p, partial_range(Polygon_models, N_polygon_models)) + { + const auto &&r = partial_range(Polygon_models, N_polygon_models); + range_for (auto &p, r) polymodel_read(&p, fp); - range_for (auto &p, partial_range(Polygon_models, N_polygon_models)) + range_for (auto &p, r) polygon_model_data_read(&p, fp); + } - bitmap_index_read_n(Gauges, MAX_GAUGE_BMS, fp); + bitmap_index_read_n(fp, partial_range(Gauges, MAX_GAUGE_BMS)); range_for (auto &i, Dying_modelnums) i = PHYSFSX_readInt(fp); range_for (auto &i, Dead_modelnums) i = PHYSFSX_readInt(fp); - bitmap_index_read_n(ObjBitmaps, MAX_OBJ_BITMAPS, fp); + bitmap_index_read_n(fp, ObjBitmaps); range_for (auto &i, ObjBitmapPtrs) i = PHYSFSX_readShort(fp); player_ship_read(&only_player_ship, fp); Num_cockpits = PHYSFSX_readInt(fp); - bitmap_index_read_n(cockpit_bitmap, N_COCKPIT_BITMAPS, fp); + bitmap_index_read_n(fp, cockpit_bitmap); PHYSFS_read( fp, Sounds, sizeof(ubyte), MAX_SOUNDS ); PHYSFS_read( fp, AltSounds, sizeof(ubyte), MAX_SOUNDS ); @@ -288,7 +283,7 @@ int gamedata_init() void bm_read_all(PHYSFS_File * fp) { - int i,t; + unsigned t; NumTextures = PHYSFSX_readInt(fp); bitmap_index_read_n(fp, partial_range(Textures, NumTextures)); @@ -327,30 +322,33 @@ void bm_read_all(PHYSFS_File * fp) powerup_type_info_read(fp, p); N_polygon_models = PHYSFSX_readInt(fp); - range_for (auto &p, partial_range(Polygon_models, N_polygon_models)) + { + const auto &&r = partial_range(Polygon_models, N_polygon_models); + range_for (auto &p, r) polymodel_read(&p, fp); - range_for (auto &p, partial_range(Polygon_models, N_polygon_models)) + range_for (auto &p, r) polygon_model_data_read(&p, fp); + } - for (i = 0; i < N_polygon_models; i++) - Dying_modelnums[i] = PHYSFSX_readInt(fp); - for (i = 0; i < N_polygon_models; i++) - Dead_modelnums[i] = PHYSFSX_readInt(fp); + range_for (auto &i, partial_range(Dying_modelnums, N_polygon_models)) + i = PHYSFSX_readInt(fp); + range_for (auto &i, partial_range(Dead_modelnums, N_polygon_models)) + i = PHYSFSX_readInt(fp); t = PHYSFSX_readInt(fp); - bitmap_index_read_n(Gauges, t, fp); - bitmap_index_read_n(Gauges_hires, t, fp); + bitmap_index_read_n(fp, partial_range(Gauges, t)); + bitmap_index_read_n(fp, partial_range(Gauges_hires, t)); N_ObjBitmaps = PHYSFSX_readInt(fp); - bitmap_index_read_n(ObjBitmaps, N_ObjBitmaps, fp); - for (i = 0; i < N_ObjBitmaps; i++) - ObjBitmapPtrs[i] = PHYSFSX_readShort(fp); + bitmap_index_read_n(fp, partial_range(ObjBitmaps, N_ObjBitmaps)); + range_for (auto &i, partial_range(ObjBitmapPtrs, N_ObjBitmaps)) + i = PHYSFSX_readShort(fp); player_ship_read(&only_player_ship, fp); Num_cockpits = PHYSFSX_readInt(fp); - bitmap_index_read_n(cockpit_bitmap, Num_cockpits, fp); + bitmap_index_read_n(fp, partial_range(cockpit_bitmap, Num_cockpits)); //@@ PHYSFS_read( fp, &Num_total_object_types, sizeof(int), 1 ); //@@ PHYSFS_read( fp, ObjType, sizeof(byte), Num_total_object_types ); @@ -404,7 +402,7 @@ static void bm_free_extra_models() //type==1 means 1.1, type==2 means 1.2 (with weapons) void bm_read_extra_robots(const char *fname, Mission::descent_version_type type) { - int t,i,version; + int t,version; auto fp = PHYSFSX_openReadBuffered(fname); if (!fp) @@ -455,16 +453,19 @@ void bm_read_extra_robots(const char *fname, Mission::descent_version_type type) N_polygon_models = N_D2_POLYGON_MODELS+u; if (N_polygon_models >= MAX_POLYGON_MODELS) Error("Too many polygon models (%d) in <%s>. Max is %d.",u,fname,MAX_POLYGON_MODELS-N_D2_POLYGON_MODELS); - range_for (auto &p, partial_range(Polygon_models, N_D2_POLYGON_MODELS, N_polygon_models)) + { + const auto &&r = partial_range(Polygon_models, N_D2_POLYGON_MODELS, N_polygon_models); + range_for (auto &p, r) polymodel_read(&p, fp); - for (i=N_D2_POLYGON_MODELS; i= MAX_OBJ_BITMAPS) @@ -474,8 +475,8 @@ void bm_read_extra_robots(const char *fname, Mission::descent_version_type type) t = PHYSFSX_readInt(fp); if (N_D2_OBJBITMAPPTRS+t >= MAX_OBJ_BITMAPS) Error("Too many object bitmap pointers (%d) in <%s>. Max is %d.",t,fname,MAX_OBJ_BITMAPS-N_D2_OBJBITMAPPTRS); - for (i = N_D2_OBJBITMAPPTRS; i < (N_D2_OBJBITMAPPTRS + t); i++) - ObjBitmapPtrs[i] = PHYSFSX_readShort(fp); + range_for (auto &i, partial_range(ObjBitmapPtrs, N_D2_OBJBITMAPPTRS, N_D2_OBJBITMAPPTRS + t)) + i = PHYSFSX_readShort(fp); } int Robot_replacements_loaded = 0;