diff --git a/common/main/fuelcen.h b/common/main/fuelcen.h index 6773e8480..254472ed2 100644 --- a/common/main/fuelcen.h +++ b/common/main/fuelcen.h @@ -63,7 +63,7 @@ void fuelcen_create( vsegptridx_t segp); // a segment is loaded from disk. void fuelcen_activate( vsegptridx_t segp, int station_type ); // Deletes a segment as a fuel center. -void fuelcen_delete( vsegptridx_t segp ); +void fuelcen_delete(vsegptr_t segp); // Charges all fuel centers to max capacity. void fuelcen_replentish_all(); diff --git a/similar/main/fuelcen.cpp b/similar/main/fuelcen.cpp index e8ae159c3..53027e16b 100644 --- a/similar/main/fuelcen.cpp +++ b/similar/main/fuelcen.cpp @@ -248,14 +248,15 @@ void trigger_matcen(const vsegptridx_t segnum) //------------------------------------------------------------ // Takes away a segment's fuel center properties. // Deletes the segment point entry in the FuelCenter list. -void fuelcen_delete( const vsegptridx_t segp ) +void fuelcen_delete(const vsegptr_t segp) { Restart: ; segp->special = 0; for (uint_fast32_t i = 0; i < Num_fuelcenters; i++ ) { FuelCenter &fi = Station[i]; - if (fi.segnum == segp) { + if (vsegptr(fi.segnum) == segp) + { // If Robot maker is deleted, fix Segments and RobotCenters. if (fi.Type == SEGMENT_IS_ROBOTMAKER) {