Micropolis
connect.cpp File Reference

Implements connection utilities for roads, rails, and wires in Micropolis. More...

#include "micropolis.h"

Go to the source code of this file.

Functions

static MapTile neutralizeRoad (MapTile tile)
 

Variables

static const unsigned short RoadTable [16]
 
static const unsigned short RailTable [16]
 
static const unsigned short WireTable [16]
 

Detailed Description

Implements connection utilities for roads, rails, and wires in Micropolis.

This file contains functions for laying down and updating roads, railways, and power lines in the Micropolis game. It handles the logic for determining the appropriate tile transformations when these elements are placed on the map, considering existing terrain and infrastructure. The file includes utilities for bulldozing, repairing, and modifying tiles to ensure correct connectivity and appearance on the game map.

Definition in file connect.cpp.

Function Documentation

◆ neutralizeRoad()

static MapTile neutralizeRoad ( MapTile  tile)
inlinestatic

Remove road from the tile.

Parameters
tileCurrent tile value.
Returns
Equivalent tile without road.

Definition at line 116 of file connect.cpp.

Referenced by Micropolis::connectTile(), Micropolis::fixSingle(), Micropolis::layDoze(), Micropolis::layRail(), and Micropolis::layWire().

Variable Documentation

◆ RailTable

const unsigned short RailTable[16]
static
Initial value:
= {
LHRAIL, LVRAIL, LHRAIL, LVRAIL2,
LVRAIL, LVRAIL, LVRAIL3, LVRAIL7,
LHRAIL, LVRAIL5, LHRAIL, LVRAIL6,
LVRAIL4, LVRAIL9, LVRAIL8, LVRAIL10
}

Definition at line 94 of file connect.cpp.

◆ RoadTable

const unsigned short RoadTable[16]
static
Initial value:
= {
ROADS, ROADS2, ROADS, ROADS3,
ROADS2, ROADS2, ROADS4, ROADS8,
ROADS, ROADS6, ROADS, ROADS7,
ROADS5, ROADS10, ROADS9, INTERSECTION
}

Definition at line 87 of file connect.cpp.

◆ WireTable

const unsigned short WireTable[16]
static
Initial value:
= {
LHPOWER, LVPOWER, LHPOWER, LVPOWER2,
LVPOWER, LVPOWER, LVPOWER3, LVPOWER7,
LHPOWER, LVPOWER5, LHPOWER, LVPOWER6,
LVPOWER4, LVPOWER9, LVPOWER8, LVPOWER10
}

Definition at line 101 of file connect.cpp.