From 44de8d77bf8d7e5e84fc98698b953e1cbd7784c8 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Fri, 15 Nov 2024 21:52:57 +0000 Subject: [PATCH] Codechange: Move station tile flag cached bits from m6 to m3. This frees up bits 0..1 of m6 for all tile types. No savegame bump is needed as these bits are always reset on load. --- docs/landscape.html | 6 +++--- docs/landscape_grid.html | 4 ++-- src/station_map.h | 12 ++++++------ 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/landscape.html b/docs/landscape.html index 77ffa7ae4d..d96695241c 100644 --- a/docs/landscape.html +++ b/docs/landscape.html @@ -892,6 +892,9 @@ +
  • m3 bit 2: rail station / waypoint may have catenary pylons
  • +
  • m3 bit 1: rail station / waypoint may have catenary wires
  • +
  • m3 bit 0: rail station / waypoint is blocked
  • m4: custom station id; 0 means standard graphics
  • m4: Roadtype for road stops
  • m5: graphics index (range from 0..255 for each station type): @@ -1021,11 +1024,8 @@
  • -
  • m6 bit 7: rail station / waypoint may have catenary pylons
  • m6 bits 6..3: the station type (rail, airport, truck, bus, oilrig, dock, buoy, waypoint, road waypoint)
  • m6 bit 2: pbs reservation state for railway stations/waypoints
  • -
  • m6 bit 1: rail station / waypoint may have catenary wires
  • -
  • m6 bit 0: rail station / waypoint is blocked
  • m7 bits 4..0: owner of road (road stops)
  • m7: animation frame (railway stations/waypoints, airports)
  • diff --git a/docs/landscape_grid.html b/docs/landscape_grid.html index 93e6415aa2..1fbf4b4bb3 100644 --- a/docs/landscape_grid.html +++ b/docs/landscape_grid.html @@ -185,10 +185,10 @@ the array so you can quickly see what is used and what is not. rail station OXX XXXXX XXXX XXXX XXXX XXXX - XXXX OOOO + XXXX OXXX XXXX XXXX XXXX XXXX - XXXXX XXX + OXXX XXOO XXXX XXXX OOOO OOOO OOXX XXXX diff --git a/src/station_map.h b/src/station_map.h index 2adf690d7c..0a4a541200 100644 --- a/src/station_map.h +++ b/src/station_map.h @@ -431,7 +431,7 @@ inline bool IsHangarTile(Tile t) inline bool IsStationTileBlocked(Tile t) { assert(HasStationRail(t)); - return HasBit(t.m6(), 0); + return HasBit(t.m3(), 0); } /** @@ -443,7 +443,7 @@ inline bool IsStationTileBlocked(Tile t) inline void SetStationTileBlocked(Tile t, bool b) { assert(HasStationRail(t)); - AssignBit(t.m6(), 0, b); + AssignBit(t.m3(), 0, b); } /** @@ -455,7 +455,7 @@ inline void SetStationTileBlocked(Tile t, bool b) inline bool CanStationTileHaveWires(Tile t) { assert(HasStationRail(t)); - return HasBit(t.m6(), 1); + return HasBit(t.m3(), 1); } /** @@ -467,7 +467,7 @@ inline bool CanStationTileHaveWires(Tile t) inline void SetStationTileHaveWires(Tile t, bool b) { assert(HasStationRail(t)); - AssignBit(t.m6(), 1, b); + AssignBit(t.m3(), 1, b); } /** @@ -479,7 +479,7 @@ inline void SetStationTileHaveWires(Tile t, bool b) inline bool CanStationTileHavePylons(Tile t) { assert(HasStationRail(t)); - return HasBit(t.m6(), 7); + return HasBit(t.m3(), 2); } /** @@ -491,7 +491,7 @@ inline bool CanStationTileHavePylons(Tile t) inline void SetStationTileHavePylons(Tile t, bool b) { assert(HasStationRail(t)); - AssignBit(t.m6(), 7, b); + AssignBit(t.m3(), 2, b); } /**