Skip to content

Commit

Permalink
Merge pull request #72590 from CleverRaven/remove-legacy_computer_infra
Browse files Browse the repository at this point in the history
Remove legacy computer migration infrastructure, it's ancient
  • Loading branch information
akrieger committed Mar 27, 2024
2 parents 95fd226 + 4f4c35a commit 80560c3
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 39 deletions.
11 changes: 1 addition & 10 deletions src/savegame_json.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4811,11 +4811,7 @@ void submap::store( JsonOut &jsout ) const
}
jsout.end_array();

if( legacy_computer ) {
// it's possible that no access to computers has been made and legacy_computer
// is not cleared
jsout.member( "computers", *legacy_computer );
} else if( !computers.empty() ) {
if( !computers.empty() ) {
jsout.member( "computers" );
jsout.start_array();
for( const auto &elem : computers ) {
Expand Down Expand Up @@ -5105,11 +5101,6 @@ void submap::load( const JsonValue &jv, const std::string &member_name, int vers
tripoint_zero ) ).first;
computers_json.next_value().read( new_comp_it->second );
}
} else {
// only load legacy data here, but do not update to std::map, since
// the terrain may not have been loaded yet.
legacy_computer = std::make_unique<computer>( "BUGGED_COMPUTER", -100, tripoint_zero );
legacy_computer->deserialize( jv );
}
} else if( member_name == "camp" ) {
camp = std::make_unique<basecamp>();
Expand Down
27 changes: 1 addition & 26 deletions src/submap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
#include "units.h"
#include "vehicle.h"

static const furn_str_id furn_f_console( "f_console" );

void maptile_soa::swap_soa_tile( const point &p1, const point &p2 )
{
std::swap( ter[p1.x][p1.y], ter[p2.x][p2.y] );
Expand Down Expand Up @@ -140,24 +138,9 @@ void submap::delete_signage( const point &p )
}
}

void submap::update_legacy_computer()
{
if( !is_uniform() && legacy_computer ) {
for( int x = 0; x < SEEX; ++x ) {
for( int y = 0; y < SEEY; ++y ) {
if( m->frn[x][y] == furn_f_console ) {
computers.emplace( point( x, y ), *legacy_computer );
}
}
}
legacy_computer.reset();
}
}

bool submap::has_computer( const point &p ) const
{
return !is_uniform() && ( computers.find( p ) != computers.end() ||
( legacy_computer && m->frn[p.x][p.y] == furn_f_console ) );
return !is_uniform() && computers.find( p ) != computers.end();
}

const computer *submap::get_computer( const point &p ) const
Expand All @@ -168,17 +151,11 @@ const computer *submap::get_computer( const point &p ) const
if( it != computers.end() ) {
return &it->second;
}
if( !is_uniform() && legacy_computer && m->frn[p.x][p.y] == furn_f_console ) {
return legacy_computer.get();
}
return nullptr;
}

computer *submap::get_computer( const point &p )
{
// need to update to std::map first so modifications to the returned object
// only affects the exact point p
//update_legacy_computer();
const auto it = computers.find( p );
if( it != computers.end() ) {
return &it->second;
Expand All @@ -188,7 +165,6 @@ computer *submap::get_computer( const point &p )

void submap::set_computer( const point &p, const computer &c )
{
//update_legacy_computer();
const auto it = computers.find( p );
if( it != computers.end() ) {
it->second = c;
Expand All @@ -199,7 +175,6 @@ void submap::set_computer( const point &p, const computer &c )

void submap::delete_computer( const point &p )
{
update_legacy_computer();
computers.erase( p );
}

Expand Down
3 changes: 0 additions & 3 deletions src/submap.h
Original file line number Diff line number Diff line change
Expand Up @@ -313,13 +313,10 @@ class submap
private:
std::map<point_sm_ms, tile_data> ephemeral_data;
std::map<point, computer> computers;
std::unique_ptr<computer> legacy_computer;
std::unique_ptr<maptile_soa> m;
ter_id uniform_ter = t_null;
int temperature_mod = 0; // delta in F

void update_legacy_computer();

static constexpr size_t elements = SEEX * SEEY;
};

Expand Down

0 comments on commit 80560c3

Please sign in to comment.