From ea5b7a08c1a1323b4c62b351d40db2138b592185 Mon Sep 17 00:00:00 2001 From: Kp Date: Fri, 30 Oct 2015 02:52:55 +0000 Subject: [PATCH] Use macro get_local_player_energy for local player's energy --- common/main/player.h | 1 + similar/main/controls.cpp | 4 ++-- similar/main/fireball.cpp | 7 +++---- similar/main/game.cpp | 20 ++++++++++---------- similar/main/gamecntl.cpp | 14 +++++++------- similar/main/gameseq.cpp | 13 ++++++------- similar/main/gauges.cpp | 8 ++++---- similar/main/laser.cpp | 16 ++++++++-------- similar/main/newdemo.cpp | 16 ++++++++-------- similar/main/object.cpp | 4 ++-- similar/main/powerup.cpp | 12 ++++++------ similar/main/switch.cpp | 2 +- similar/main/weapon.cpp | 12 ++++++------ 13 files changed, 64 insertions(+), 65 deletions(-) diff --git a/common/main/player.h b/common/main/player.h index 8fa1a54b2..2ec679f06 100644 --- a/common/main/player.h +++ b/common/main/player.h @@ -172,6 +172,7 @@ static_assert(sizeof(player_rw) == 142, "wrong size player_rw"); #define get_local_player() (Players[Player_num]) #define get_local_plrobj() (*vobjptr(get_local_player().objnum)) +#define get_local_player_energy() (get_local_player().energy) #define get_local_player_shields() (get_local_player().shields) #endif diff --git a/similar/main/controls.cpp b/similar/main/controls.cpp index ebbfb2d79..04550ada3 100644 --- a/similar/main/controls.cpp +++ b/similar/main/controls.cpp @@ -139,14 +139,14 @@ void read_flying_controls(const vobjptr_t obj) //charge up to full charge_up = min(FrameTime/8,f1_0 - Afterburner_charge); //recharge over 8 seconds - cur_energy = max(get_local_player().energy-i2f(10),0); //don't drop below 10 + cur_energy = max(get_local_player_energy()-i2f(10),0); //don't drop below 10 //maybe limit charge up by energy charge_up = min(charge_up,cur_energy/10); Afterburner_charge += charge_up; - get_local_player().energy -= charge_up * 100 / 10; //full charge uses 10% of energy + get_local_player_energy() -= charge_up * 100 / 10; //full charge uses 10% of energy } } #endif diff --git a/similar/main/fireball.cpp b/similar/main/fireball.cpp index bd4f3d780..d3786b9fc 100644 --- a/similar/main/fireball.cpp +++ b/similar/main/fireball.cpp @@ -941,14 +941,13 @@ objptridx_t drop_powerup(int type, int id, int num, const vms_vector &init_vel, #if defined(DXX_BUILD_DESCENT_II) static bool skip_create_egg_powerup(powerup_type_t powerup) { - fix player::*pcurrent; + fix current; if (powerup == POW_SHIELD_BOOST) - pcurrent = &player::shields; + current = get_local_player_shields(); else if (powerup == POW_ENERGY) - pcurrent = &player::energy; + current = get_local_player_energy(); else return false; - fix current = get_local_player().*pcurrent; int limit; if (current >= i2f(150)) limit = 8192; diff --git a/similar/main/game.cpp b/similar/main/game.cpp index fa1daf867..6b339a7fe 100644 --- a/similar/main/game.cpp +++ b/similar/main/game.cpp @@ -797,7 +797,7 @@ int allowed_to_fire_flare(void) return 0; #if defined(DXX_BUILD_DESCENT_II) - if (get_local_player().energy < Weapon_info[FLARE_ID].energy_usage) + if (get_local_player_energy() < Weapon_info[FLARE_ID].energy_usage) #define FLARE_BIG_DELAY (F1_0*2) Next_flare_fire_time = GameTime64 + FLARE_BIG_DELAY; else @@ -1327,8 +1327,8 @@ void GameProcessFrame(void) if ((get_local_player().flags & PLAYER_FLAGS_HEADLIGHT) && (get_local_player().flags & PLAYER_FLAGS_HEADLIGHT_ON)) { static int turned_off=0; - get_local_player().energy -= (FrameTime*3/8); - if (get_local_player().energy < i2f(10)) { + get_local_player_energy() -= (FrameTime*3/8); + if (get_local_player_energy() < i2f(10)) { if (!turned_off) { get_local_player().flags &= ~PLAYER_FLAGS_HEADLIGHT_ON; turned_off = 1; @@ -1339,9 +1339,9 @@ void GameProcessFrame(void) else turned_off = 0; - if (get_local_player().energy <= 0) + if (get_local_player_energy() <= 0) { - get_local_player().energy = 0; + get_local_player_energy() = 0; get_local_player().flags &= ~PLAYER_FLAGS_HEADLIGHT_ON; if (Game_mode & GM_MULTI) multi_send_flags(Player_num); @@ -1641,20 +1641,20 @@ void FireLaser() Global_laser_firing_count = Controls.state.fire_primary?Weapon_info[Primary_weapon_to_weapon_info[Primary_weapon]].fire_count:0; if ((Primary_weapon == primary_weapon_index_t::FUSION_INDEX) && (Global_laser_firing_count)) { - if ((get_local_player().energy < F1_0*2) && (Auto_fire_fusion_cannon_time == 0)) { + if ((get_local_player_energy() < F1_0*2) && (Auto_fire_fusion_cannon_time == 0)) { Global_laser_firing_count = 0; } else { static fix64 Fusion_next_sound_time = 0; if (Fusion_charge == 0) - get_local_player().energy -= F1_0*2; + get_local_player_energy() -= F1_0*2; Fusion_charge += FrameTime; - get_local_player().energy -= FrameTime; + get_local_player_energy() -= FrameTime; - if (get_local_player().energy <= 0) + if (get_local_player_energy() <= 0) { - get_local_player().energy = 0; + get_local_player_energy() = 0; Auto_fire_fusion_cannon_time = GameTime64 -1; // Fire now! } else Auto_fire_fusion_cannon_time = GameTime64 + FrameTime/2 + 1; // Fire the fusion cannon at this time in the future. diff --git a/similar/main/gamecntl.cpp b/similar/main/gamecntl.cpp index df0cd7065..13aa67a2b 100644 --- a/similar/main/gamecntl.cpp +++ b/similar/main/gamecntl.cpp @@ -150,11 +150,11 @@ static void transfer_energy_to_shield() fix e; //how much energy gets transfered static fix64 last_play_time=0; - e = min(min(FrameTime*CONVERTER_RATE, get_local_player().energy - INITIAL_ENERGY),(MAX_SHIELDS-get_local_player_shields()) * CONVERTER_SCALE); + e = min(min(FrameTime*CONVERTER_RATE, get_local_player_energy() - INITIAL_ENERGY),(MAX_SHIELDS-get_local_player_shields()) * CONVERTER_SCALE); if (e <= 0) { - if (get_local_player().energy <= INITIAL_ENERGY) { + if (get_local_player_energy() <= INITIAL_ENERGY) { HUD_init_message(HM_DEFAULT, "Need more than %i energy to enable transfer", f2i(INITIAL_ENERGY)); } else if (get_local_player_shields() >= MAX_SHIELDS) { @@ -163,7 +163,7 @@ static void transfer_energy_to_shield() return; } - get_local_player().energy -= e; + get_local_player_energy() -= e; get_local_player_shields() += e/CONVERTER_SCALE; if (last_play_time > GameTime64) @@ -1482,7 +1482,7 @@ static window_event_result FinalCheats() if (Newdemo_state == ND_STATE_RECORDING) newdemo_record_laser_level(get_local_player().laser_level, MAX_LASER_LEVEL); - get_local_player().energy = MAX_ENERGY; + get_local_player_energy() = MAX_ENERGY; get_local_player().laser_level = MAX_LASER_LEVEL; get_local_player().flags |= PLAYER_FLAGS_QUAD_LASERS; update_laser_weapon_info(); @@ -1501,7 +1501,7 @@ static window_event_result FinalCheats() if (Newdemo_state == ND_STATE_RECORDING) newdemo_record_laser_level(get_local_player().laser_level, MAX_LASER_LEVEL); - get_local_player().energy = MAX_ENERGY; + get_local_player_energy() = MAX_ENERGY; get_local_player().laser_level = MAX_LASER_LEVEL; get_local_player().flags |= PLAYER_FLAGS_QUAD_LASERS; update_laser_weapon_info(); @@ -1509,7 +1509,7 @@ static window_event_result FinalCheats() #elif defined(DXX_BUILD_DESCENT_II) if (gotcha == &game_cheats::lamer) { - get_local_player_shields()=get_local_player().energy=i2f(1); + get_local_player_shields()=get_local_player_energy()=i2f(1); HUD_init_message_literal(HM_DEFAULT, "Take that...cheater!"); } @@ -1540,7 +1540,7 @@ static window_event_result FinalCheats() if (Newdemo_state == ND_STATE_RECORDING) newdemo_record_laser_level(get_local_player().laser_level, MAX_LASER_LEVEL); - get_local_player().energy = MAX_ENERGY; + get_local_player_energy() = MAX_ENERGY; get_local_player().laser_level = MAX_SUPER_LASER_LEVEL; get_local_player().flags |= PLAYER_FLAGS_QUAD_LASERS; update_laser_weapon_info(); diff --git a/similar/main/gameseq.cpp b/similar/main/gameseq.cpp index 5d0e8a7b6..969d9f87c 100644 --- a/similar/main/gameseq.cpp +++ b/similar/main/gameseq.cpp @@ -290,8 +290,8 @@ void init_player_stats_game(ubyte pnum) static void init_ammo_and_energy(void) { - if (get_local_player().energy < INITIAL_ENERGY) - get_local_player().energy = INITIAL_ENERGY; + if (get_local_player_energy() < INITIAL_ENERGY) + get_local_player_energy() = INITIAL_ENERGY; if (get_local_player_shields() < StartingShields) get_local_player_shields() = StartingShields; if (get_local_player().secondary_ammo[0] < 2 + NDL - Difficulty_level) @@ -373,6 +373,7 @@ void init_player_stats_level(const secret_restore secret_flag) void init_player_stats_new_ship(ubyte pnum) { auto &plr = Players[pnum]; + plr.energy = INITIAL_ENERGY; plr.shields = StartingShields; const auto GrantedItems = (Game_mode & GM_MULTI) ? Netgame.SpawnGrantedItems : 0; const auto granted_primary_weapon_flags = map_granted_flags_to_primary_weapon_flags(GrantedItems); @@ -442,8 +443,6 @@ void init_player_stats_new_ship(ubyte pnum) init_ai_for_ship(); #endif } - - Players[pnum].energy = INITIAL_ENERGY; Players[pnum].laser_level = granted_laser_level; Players[pnum].killer_objnum = object_none; Players[pnum].hostages_on_board = 0; @@ -861,10 +860,10 @@ void DoEndLevelScoreGlitz(int network) hostage_points = get_local_player().hostages_on_board * 500 * (Difficulty_level+1); #if defined(DXX_BUILD_DESCENT_I) shield_points = f2i(get_local_player_shields()) * 10 * (Difficulty_level+1); - energy_points = f2i(get_local_player().energy) * 5 * (Difficulty_level+1); + energy_points = f2i(get_local_player_energy()) * 5 * (Difficulty_level+1); #elif defined(DXX_BUILD_DESCENT_II) shield_points = f2i(get_local_player_shields()) * 5 * mine_level; - energy_points = f2i(get_local_player().energy) * 2 * mine_level; + energy_points = f2i(get_local_player_energy()) * 2 * mine_level; shield_points -= shield_points % 50; energy_points -= energy_points % 50; @@ -1451,7 +1450,7 @@ void DoPlayerDead() //clear out stuff so no bonus get_local_player().hostages_on_board = 0; - get_local_player().energy = 0; + get_local_player_energy() = 0; get_local_player_shields() = 0; get_local_player().connected = CONNECT_DIED_IN_MINE; diff --git a/similar/main/gauges.cpp b/similar/main/gauges.cpp index 488c7c983..20a39e375 100644 --- a/similar/main/gauges.cpp +++ b/similar/main/gauges.cpp @@ -981,11 +981,11 @@ static void hud_show_energy(void) gr_set_curfont( GAME_FONT ); gr_set_fontcolor(BM_XRGB(0,31,0),-1 ); const auto &&line_spacing = LINE_SPACING; - gr_printf(FSPACX(1), grd_curcanv->cv_bitmap.bm_h - ((Game_mode & GM_MULTI) ? (line_spacing * 5) : line_spacing),"%s: %i", TXT_ENERGY, f2ir(get_local_player().energy)); + gr_printf(FSPACX(1), grd_curcanv->cv_bitmap.bm_h - ((Game_mode & GM_MULTI) ? (line_spacing * 5) : line_spacing),"%s: %i", TXT_ENERGY, f2ir(get_local_player_energy())); } if (Newdemo_state == ND_STATE_RECORDING) - newdemo_record_player_energy(f2ir(get_local_player().energy)); + newdemo_record_player_energy(f2ir(get_local_player_energy())); } #if defined(DXX_BUILD_DESCENT_I) @@ -1445,7 +1445,7 @@ static void hud_show_weapons(void) gr_set_fontcolor(BM_XRGB(14,14,23),-1 ); gr_printf(x2, y - (line_spacing * 4),"%i", f2ir(get_local_player_shields())); gr_set_fontcolor(BM_XRGB(25,18,6),-1 ); - gr_printf(x1, y - (line_spacing * 4),"%i", f2ir(get_local_player().energy)); + gr_printf(x1, y - (line_spacing * 4),"%i", f2ir(get_local_player_energy())); } else { @@ -3058,7 +3058,7 @@ void draw_hud() //print out some player statistics void render_gauges() { - int energy = f2ir(get_local_player().energy); + int energy = f2ir(get_local_player_energy()); int cloak = ((get_local_player().flags&PLAYER_FLAGS_CLOAKED) != 0); Assert(PlayerCfg.CockpitMode[1]==CM_FULL_COCKPIT || PlayerCfg.CockpitMode[1]==CM_STATUS_BAR); diff --git a/similar/main/laser.cpp b/similar/main/laser.cpp index a8672c982..ba1196767 100644 --- a/similar/main/laser.cpp +++ b/similar/main/laser.cpp @@ -522,7 +522,7 @@ void omega_charge_frame(void) if (Last_omega_fire_time + F1_0/3 > GameTime64) return; - if (get_local_player().energy) + if (get_local_player_energy()) { fix energy_used; @@ -537,9 +537,9 @@ void omega_charge_frame(void) if (Difficulty_level < 2) energy_used = fixmul(energy_used, i2f(Difficulty_level+2)/4); - get_local_player().energy -= energy_used; - if (get_local_player().energy < 0) - get_local_player().energy = 0; + get_local_player_energy() -= energy_used; + if (get_local_player_energy() < 0) + get_local_player_energy() = 0; } @@ -1453,13 +1453,13 @@ void Flare_create(const vobjptridx_t obj) // MK, 11/04/95: Allowed to fire flare even if no energy. // -- if (Players[Player_num].energy >= energy_usage) #if defined(DXX_BUILD_DESCENT_I) - if (get_local_player().energy > 0) + if (get_local_player_energy() > 0) #endif { - get_local_player().energy -= energy_usage; + get_local_player_energy() -= energy_usage; - if (get_local_player().energy <= 0) { - get_local_player().energy = 0; + if (get_local_player_energy() <= 0) { + get_local_player_energy() = 0; #if defined(DXX_BUILD_DESCENT_I) auto_select_primary_weapon(); #endif diff --git a/similar/main/newdemo.cpp b/similar/main/newdemo.cpp index 1758f7a5d..17b898b37 100644 --- a/similar/main/newdemo.cpp +++ b/similar/main/newdemo.cpp @@ -1037,8 +1037,8 @@ void newdemo_record_start_demo() nd_write_string(Current_mission_filename); - nd_record_v_player_energy = (sbyte)(f2ir(get_local_player().energy)); - nd_write_byte((sbyte)(f2ir(get_local_player().energy))); + nd_record_v_player_energy = (sbyte)(f2ir(get_local_player_energy())); + nd_write_byte((sbyte)(f2ir(get_local_player_energy()))); nd_record_v_player_shields = (sbyte)(f2ir(get_local_player_shields())); nd_write_byte((sbyte)(f2ir(get_local_player_shields()))); nd_write_int(nd_record_v_player_flags = get_local_player().flags.get_player_flags()); // be sure players flags are set @@ -1864,7 +1864,7 @@ static int newdemo_read_demo_start(enum purpose_type purpose) #if defined(DXX_BUILD_DESCENT_II) nd_playback_v_juststarted=1; #endif - get_local_player().energy = i2f(energy); + get_local_player_energy() = i2f(energy); get_local_player_shields() = i2f(shield); return 0; } @@ -2348,14 +2348,14 @@ static int newdemo_read_frame_information(int rewrite) break; } if (shareware) - get_local_player().energy = i2f(energy); + get_local_player_energy() = i2f(energy); else { if ((Newdemo_vcr_state == ND_STATE_PLAYBACK) || (Newdemo_vcr_state == ND_STATE_FASTFORWARD) || (Newdemo_vcr_state == ND_STATE_ONEFRAMEFORWARD)) { - get_local_player().energy = i2f(energy); + get_local_player_energy() = i2f(energy); } else if ((Newdemo_vcr_state == ND_STATE_REWINDING) || (Newdemo_vcr_state == ND_STATE_ONEFRAMEBACKWARD)) { if (old_energy != 255) - get_local_player().energy = i2f(old_energy); + get_local_player_energy() = i2f(old_energy); } } break; @@ -3241,7 +3241,7 @@ void newdemo_goto_end(int to_rewrite) nd_read_byte((sbyte *)&energy); nd_read_byte((sbyte *)&shield); - get_local_player().energy = i2f(energy); + get_local_player_energy() = i2f(energy); get_local_player_shields() = i2f(shield); int recorded_player_flags; nd_read_int(&recorded_player_flags); @@ -3651,7 +3651,7 @@ static void newdemo_write_end() { byte_count += 10; // from nd_record_v_framebytes_written - nd_write_byte((sbyte)(f2ir(get_local_player().energy))); + nd_write_byte((sbyte)(f2ir(get_local_player_energy()))); nd_write_byte((sbyte)(f2ir(get_local_player_shields()))); nd_write_int(get_local_player().flags.get_player_flags()); // be sure players flags are set nd_write_byte((sbyte)Primary_weapon); diff --git a/similar/main/object.cpp b/similar/main/object.cpp index 4994f61cb..f17215ad9 100644 --- a/similar/main/object.cpp +++ b/similar/main/object.cpp @@ -1661,9 +1661,9 @@ static void object_move_one(const vobjptridx_t obj) fuelcen_check_for_hoard_goal (&Segments[obj->segnum]); #endif - fix fuel=fuelcen_give_fuel(vsegptr(obj->segnum), INITIAL_ENERGY - get_local_player().energy ); + fix fuel=fuelcen_give_fuel(vsegptr(obj->segnum), INITIAL_ENERGY - get_local_player_energy() ); if (fuel > 0 ) { - get_local_player().energy += fuel; + get_local_player_energy() += fuel; } #if defined(DXX_BUILD_DESCENT_II) fix shields = repaircen_give_shields( &Segments[obj->segnum], INITIAL_SHIELDS - get_local_player_shields() ); diff --git a/similar/main/powerup.cpp b/similar/main/powerup.cpp index 6646941d1..1fb031167 100644 --- a/similar/main/powerup.cpp +++ b/similar/main/powerup.cpp @@ -165,7 +165,7 @@ void do_megawow_powerup(int quantity) if (Newdemo_state == ND_STATE_RECORDING) newdemo_record_laser_level(get_local_player().laser_level, MAX_LASER_LEVEL); - get_local_player().energy = F1_0*200; + get_local_player_energy() = F1_0*200; get_local_player_shields() = F1_0*200; get_local_player().flags |= PLAYER_FLAGS_QUAD_LASERS; #if defined(DXX_BUILD_DESCENT_I) @@ -187,17 +187,17 @@ static int pick_up_energy(void) { int used=0; - if (get_local_player().energy < MAX_ENERGY) { + if (get_local_player_energy() < MAX_ENERGY) { fix boost; boost = 3*F1_0 + 3*F1_0*(NDL - Difficulty_level); #if defined(DXX_BUILD_DESCENT_II) if (Difficulty_level == 0) boost += boost/2; #endif - get_local_player().energy += boost; - if (get_local_player().energy > MAX_ENERGY) - get_local_player().energy = MAX_ENERGY; - powerup_basic(15,15,7, ENERGY_SCORE, "%s %s %d",TXT_ENERGY,TXT_BOOSTED_TO,f2ir(get_local_player().energy)); + get_local_player_energy() += boost; + if (get_local_player_energy() > MAX_ENERGY) + get_local_player_energy() = MAX_ENERGY; + powerup_basic(15,15,7, ENERGY_SCORE, "%s %s %d",TXT_ENERGY,TXT_BOOSTED_TO,f2ir(get_local_player_energy())); used=1; } else HUD_init_message(HM_DEFAULT|HM_REDUNDANT|HM_MAYDUPL, TXT_MAXED_OUT,TXT_ENERGY); diff --git a/similar/main/switch.cpp b/similar/main/switch.cpp index 8bb35d834..cc455d126 100644 --- a/similar/main/switch.cpp +++ b/similar/main/switch.cpp @@ -394,7 +394,7 @@ int check_trigger_sub(int trigger_num, int pnum,int shot) } if (Triggers[trigger_num].flags & TRIGGER_ENERGY_DRAIN) { - get_local_player().energy -= Triggers[trigger_num].value; + get_local_player_energy() -= Triggers[trigger_num].value; } } diff --git a/similar/main/weapon.cpp b/similar/main/weapon.cpp index e4555159a..aa4cf172d 100644 --- a/similar/main/weapon.cpp +++ b/similar/main/weapon.cpp @@ -188,8 +188,8 @@ has_weapon_result player_has_primary_weapon(int weapon_num) // Hack! If energy goes negative, you can't fire a weapon that doesn't require energy. // But energy should not go negative (but it does), so find out why it does! - if (get_local_player().energy < 0) - get_local_player().energy = 0; + if (get_local_player_energy() < 0) + get_local_player_energy() = 0; const auto weapon_index = Primary_weapon_to_weapon_info[weapon_num]; @@ -210,17 +210,17 @@ has_weapon_result player_has_primary_weapon(int weapon_num) //fusion has 0 energy usage, HAS_ENERGY_FLAG was always true if(weapon_num == primary_weapon_index_t::FUSION_INDEX) { - if(get_local_player().energy >= F1_0*2) + if(get_local_player_energy() >= F1_0*2) return_value |= has_weapon_result::has_energy_flag; } #elif defined(DXX_BUILD_DESCENT_II) if (weapon_num == primary_weapon_index_t::OMEGA_INDEX) { // Hack: Make sure player has energy to omega - if (get_local_player().energy || Omega_charge) + if (get_local_player_energy() || Omega_charge) return_value |= has_weapon_result::has_energy_flag; } #endif else - if (Weapon_info[weapon_index].energy_usage <= get_local_player().energy) + if (Weapon_info[weapon_index].energy_usage <= get_local_player_energy()) return_value |= has_weapon_result::has_energy_flag; return return_value; } @@ -233,7 +233,7 @@ has_weapon_result player_has_secondary_weapon(int weapon_num) if (Weapon_info[weapon_index].ammo_usage <= get_local_player().secondary_ammo[weapon_num]) return_value |= has_weapon_result::has_ammo_flag; - if (Weapon_info[weapon_index].energy_usage <= get_local_player().energy) + if (Weapon_info[weapon_index].energy_usage <= get_local_player_energy()) return_value |= has_weapon_result::has_energy_flag; return return_value; }