diff --git a/common/include/physfsx.h b/common/include/physfsx.h index a82504ef1..1f96e3a29 100644 --- a/common/include/physfsx.h +++ b/common/include/physfsx.h @@ -402,13 +402,13 @@ define_read_helper(fix, PHYSFSX_readFix, PHYSFS_readSLE32); define_read_helper(fixang, PHYSFSX_readFixAng, PHYSFS_readSLE16); #define PHYSFSX_readFixAng(F) ((PHYSFSX_readFixAng)(__func__, __LINE__, (F))) -static inline void PHYSFSX_readVector(const char *func, const unsigned line, vms_vector *v, PHYSFS_file *file) +static inline void PHYSFSX_readVector(const char *func, const unsigned line, PHYSFS_file *file, vms_vector &v) { - v->x = (PHYSFSX_readFix)(func, line, file); - v->y = (PHYSFSX_readFix)(func, line, file); - v->z = (PHYSFSX_readFix)(func, line, file); + v.x = (PHYSFSX_readFix)(func, line, file); + v.y = (PHYSFSX_readFix)(func, line, file); + v.z = (PHYSFSX_readFix)(func, line, file); } -#define PHYSFSX_readVector(V,F) ((PHYSFSX_readVector(__func__, __LINE__, (V), (F)))) +#define PHYSFSX_readVector(F,V) PHYSFSX_readVector(__func__, __LINE__, (F), (V)) static inline void PHYSFSX_readAngleVec(const char *func, const unsigned line, vms_angvec *v, PHYSFS_file *file) { @@ -420,9 +420,9 @@ static inline void PHYSFSX_readAngleVec(const char *func, const unsigned line, v static inline void PHYSFSX_readMatrix(const char *func, const unsigned line, vms_matrix *m,PHYSFS_file *file) { - (PHYSFSX_readVector)(func, line, &m->rvec,file); - (PHYSFSX_readVector)(func, line, &m->uvec,file); - (PHYSFSX_readVector)(func, line, &m->fvec,file); + (PHYSFSX_readVector)(func, line, file, m->rvec); + (PHYSFSX_readVector)(func, line, file, m->uvec); + (PHYSFSX_readVector)(func, line, file, m->fvec); } #define PHYSFSX_readMatrix(M,F) ((PHYSFSX_readMatrix)(__func__, __LINE__, (M), (F))) diff --git a/d1x-rebirth/main/custom.cpp b/d1x-rebirth/main/custom.cpp index a18c7eedc..2794c13b6 100644 --- a/d1x-rebirth/main/custom.cpp +++ b/d1x-rebirth/main/custom.cpp @@ -366,7 +366,7 @@ static int read_d2_robot_info(PHYSFS_file *fp, robot_info *ri) ri->model_num = PHYSFSX_readInt(fp); for (j = 0; j < MAX_GUNS; j++) - PHYSFSX_readVector(&ri->gun_points[j], fp); + PHYSFSX_readVector(fp, ri->gun_points[j]); for (j = 0; j < MAX_GUNS; j++) ri->gun_submodels[j] = PHYSFSX_readByte(fp); ri->exp1_vclip_num = PHYSFSX_readShort(fp); diff --git a/similar/main/bm.cpp b/similar/main/bm.cpp index fdec04772..8a603e21c 100644 --- a/similar/main/bm.cpp +++ b/similar/main/bm.cpp @@ -225,9 +225,9 @@ void properties_read_cmp(PHYSFS_file * fp) Reactors[0].n_guns = PHYSFSX_readInt(fp); for (i = 0; i < MAX_CONTROLCEN_GUNS; i++) - PHYSFSX_readVector(&Reactors[0].gun_points[i], fp); + PHYSFSX_readVector(fp, Reactors[0].gun_points[i]); for (i = 0; i < MAX_CONTROLCEN_GUNS; i++) - PHYSFSX_readVector(&Reactors[0].gun_dirs[i], fp); + PHYSFSX_readVector(fp, Reactors[0].gun_dirs[i]); exit_modelnum = PHYSFSX_readInt(fp); destroyed_exit_modelnum = PHYSFSX_readInt(fp); diff --git a/similar/main/cntrlcen.cpp b/similar/main/cntrlcen.cpp index fd460d28e..d7fab92e9 100644 --- a/similar/main/cntrlcen.cpp +++ b/similar/main/cntrlcen.cpp @@ -537,9 +537,9 @@ int reactor_read_n(reactor *r, int n, PHYSFS_file *fp) r[i].model_num = PHYSFSX_readInt(fp); r[i].n_guns = PHYSFSX_readInt(fp); for (j = 0; j < MAX_CONTROLCEN_GUNS; j++) - PHYSFSX_readVector(&(r[i].gun_points[j]), fp); + PHYSFSX_readVector(fp, r[i].gun_points[j]); for (j = 0; j < MAX_CONTROLCEN_GUNS; j++) - PHYSFSX_readVector(&(r[i].gun_dirs[j]), fp); + PHYSFSX_readVector(fp, r[i].gun_dirs[j]); } return i; } diff --git a/similar/main/gamemine.cpp b/similar/main/gamemine.cpp index 066322314..6f0e6f02d 100644 --- a/similar/main/gamemine.cpp +++ b/similar/main/gamemine.cpp @@ -904,7 +904,7 @@ int load_mine_data_compiled(PHYSFS_file *LoadFile) Assert( Num_segments <= MAX_SEGMENTS ); range_for (auto &i, partial_range(Vertices, Num_vertices)) - PHYSFSX_readVector( &(i), LoadFile); + PHYSFSX_readVector(LoadFile, i); for (segnum_t segnum=0; segnum < Num_segments; segnum++ ) { diff --git a/similar/main/gamesave.cpp b/similar/main/gamesave.cpp index 3435d611a..c660b47fa 100644 --- a/similar/main/gamesave.cpp +++ b/similar/main/gamesave.cpp @@ -385,13 +385,13 @@ static void read_object(object *obj,PHYSFS_file *f,int version) obj->segnum = PHYSFSX_readShort(f); obj->attached_obj = object_none; - PHYSFSX_readVector(&obj->pos,f); + PHYSFSX_readVector(f, obj->pos); PHYSFSX_readMatrix(&obj->orient,f); obj->size = PHYSFSX_readFix(f); obj->shields = PHYSFSX_readFix(f); - PHYSFSX_readVector(&obj->last_pos,f); + PHYSFSX_readVector(f, obj->last_pos); obj->contains_type = PHYSFSX_readByte(f); obj->contains_id = PHYSFSX_readByte(f); @@ -401,15 +401,15 @@ static void read_object(object *obj,PHYSFS_file *f,int version) case MT_PHYSICS: - PHYSFSX_readVector(&obj->mtype.phys_info.velocity,f); - PHYSFSX_readVector(&obj->mtype.phys_info.thrust,f); + PHYSFSX_readVector(f, obj->mtype.phys_info.velocity); + PHYSFSX_readVector(f, obj->mtype.phys_info.thrust); obj->mtype.phys_info.mass = PHYSFSX_readFix(f); obj->mtype.phys_info.drag = PHYSFSX_readFix(f); PHYSFSX_readFix(f); /* brakes */ - PHYSFSX_readVector(&obj->mtype.phys_info.rotvel,f); - PHYSFSX_readVector(&obj->mtype.phys_info.rotthrust,f); + PHYSFSX_readVector(f, obj->mtype.phys_info.rotvel); + PHYSFSX_readVector(f, obj->mtype.phys_info.rotthrust); obj->mtype.phys_info.turnroll = PHYSFSX_readFixAng(f); obj->mtype.phys_info.flags = PHYSFSX_readShort(f); @@ -418,7 +418,7 @@ static void read_object(object *obj,PHYSFS_file *f,int version) case MT_SPINNING: - PHYSFSX_readVector(&obj->mtype.spin_rate,f); + PHYSFSX_readVector(f, obj->mtype.spin_rate); break; case MT_NONE: diff --git a/similar/main/player.cpp b/similar/main/player.cpp index 567ce59f5..2511938df 100644 --- a/similar/main/player.cpp +++ b/similar/main/player.cpp @@ -70,5 +70,5 @@ void player_ship_read(player_ship *ps, PHYSFS_file *fp) ps->wiggle = PHYSFSX_readFix(fp); ps->max_rotthrust = PHYSFSX_readFix(fp); for (int i = 0; i < N_PLAYER_GUNS; i++) - PHYSFSX_readVector(&(ps->gun_points[i]), fp); + PHYSFSX_readVector(fp, ps->gun_points[i]); } diff --git a/similar/main/robot.cpp b/similar/main/robot.cpp index e21de2b9d..73da91bb3 100644 --- a/similar/main/robot.cpp +++ b/similar/main/robot.cpp @@ -248,7 +248,7 @@ int robot_info_read_n(robot_info *ri, int n, PHYSFS_file *fp) ri[i].n_guns = PHYSFSX_readInt(fp); #endif for (j = 0; j < MAX_GUNS; j++) - PHYSFSX_readVector(&(ri[i].gun_points[j]), fp); + PHYSFSX_readVector(fp, ri[i].gun_points[j]); for (j = 0; j < sizeof(ri[i].gun_submodels) / sizeof(ri[i].gun_submodels[0]); j++) ri[i].gun_submodels[j] = PHYSFSX_readByte(fp);