BSD Ports

games/OpenLoco 26.09 FreeBSD

Open source re-implementation of Chris Sawyer's Locomotion

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Port added
Last update
Commit
4c03e06aa7
License
MIT
Categories
games
Package size
118006.2 KiB, 430232.8 KiB installed

Description

OpenLoco is an open-source re-implementation of Chris Sawyer's Locomotion (CSL), the spiritual successor to Transport Tycoon. OpenLoco aims to improve the game similar to how OpenTTD improved Transport Tycoon, and OpenRCT2 improved RollerCoaster Tycoon.

CSL was originally written in x86 assembly, building on top of the RollerCoaster Tycoon 2 engine. However, the engine has changed substantially enough that OpenLoco currently does not share its codebase with OpenRCT2.

As of December 2025, we have completed reimplementing the game in C++. It is now our goal to get a solid multiplayer experience working in OpenLoco. It is also our goal to increase the map and vehicle limits. However, until creating a new save format (NSF), we are bound to the limits imposed by the CSL save format (SV5/SC5).

Install

Binary package:

pkg install OpenLoco

From the ports tree:

cd /usr/ports/games/OpenLoco/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	OpenLoco>0:games/OpenLoco

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest26.0926.09--26.09
FreeBSD:14:quarterly26.0926.09n/a-26.09
FreeBSD:15:latest26.0926.09n/a--
FreeBSD:15:quarterly26.0926.09n/an/an/a
FreeBSD:16:latest26.0926.09n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Build 2

Library 5

The full lists below include those, and their dependencies in turn.

Build dependencies 68
Run dependencies 53

No port depends on this one.

Configuration

No options to configure.

USES
cmake localbase:ldflags openal pkgconfig
Service scripts
none

Message after installing

OpenLoco has been installed.

To play the game, you will need a copy of the data files of
Chris Sawyer's Locomotion.  On first game start, you will
be prompted to supply the path of these game files on console.

Files

pkg-plist 4049
  • bin/OpenLoco
  • share/applications/openloco.desktop
  • share/doc/openloco/CHANGELOG.md
  • share/doc/openloco/CONTRIBUTORS.md
  • share/doc/openloco/LICENSE
  • share/doc/openloco/README.md
  • share/icons/hicolor/128x128/apps/openloco.png
  • share/icons/hicolor/16x16/apps/openloco.png
  • share/icons/hicolor/256x256/apps/openloco.png
  • share/icons/hicolor/32x32/apps/openloco.png
  • share/icons/hicolor/512x512/apps/openloco.png
  • share/icons/hicolor/64x64/apps/openloco.png
  • share/icons/hicolor/scalable/apps/openloco.svg
  • share/OpenLoco/language/ca-ES.yml
  • share/OpenLoco/language/cs-CZ.yml
  • share/OpenLoco/language/de-DE.yml
  • share/OpenLoco/language/en-GB.yml
  • share/OpenLoco/language/en-US.yml
  • share/OpenLoco/language/es-ES.yml
  • share/OpenLoco/language/fr-FR.yml
  • share/OpenLoco/language/it-IT.yml
  • share/OpenLoco/language/ja-JP.yml
  • share/OpenLoco/language/ko-KR.yml
  • share/OpenLoco/language/nl-NL.yml
  • share/OpenLoco/language/pl-PL.yml
  • share/OpenLoco/language/pt-BR.yml
  • share/OpenLoco/language/ru-RU.yml
  • share/OpenLoco/language/sk-SK.yml
  • share/OpenLoco/language/sv-SE.yml
  • share/OpenLoco/language/tr-TR.yml
  • share/OpenLoco/language/zh-CN.yml
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/0.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/1.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/10.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/11.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/12.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/13.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/14.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/15.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/16.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/17.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/18.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/19.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/2.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/20.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/21.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/22.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/23.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/24.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/25.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/26.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/27.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/28.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/29.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/3.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/30.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/31.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/32.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/33.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/34.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/35.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/36.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/37.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/38.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/39.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/4.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/40.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/41.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/42.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/43.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/44.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/45.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/46.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/47.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/48.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/49.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/5.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/50.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/51.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/52.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/53.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/54.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/55.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/56.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/57.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/58.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/59.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/6.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/60.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/61.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/62.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/63.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/64.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/65.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/66.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/67.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/68.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/69.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/7.png
  • share/OpenLoco/objects/openloco_objects-src/objects/Common/Land/OG_VOID/70.png

The first 100 are listed.

distinfo 2
FileSizeSHA256
OpenLoco-OpenLoco-v26.09_GH0.tar.gz4.965262e+06b60cc6712440496cb7aca270503af28ca83bc71805889d516de7d91aa7d73910
OpenLoco-OpenGraphics-v0.1.12_GH0.tar.gz2.091243e+084dd7800ca0e51a72e0411474643e6f7030aff9874c732300fc7a9648927ca597

Commit history 4

DateCommitCreditsLog message
4c03e06aa7 Robert Clausecker games/OpenLoco: update to 26.09
- DATADIR has been changed to share/openloco by up stream Changelog: https://github.com/OpenLoco/OpenLoco/releases/tag/v26.09
26cfa6286f Robert Clausecker games/OpenLoco: update to 26.08
Changelog: https://github.com/OpenLoco/OpenLoco/releases/tag/v26.08
bc1cad583f Robert Clausecker games/OpenLoco: update to 26.07.1
Changelog: https://github.com/OpenLoco/OpenLoco/releases/tag/v26.07 Changelog: https://github.com/OpenLoco/OpenLoco/releases/tag/v26.07.1
b802014b36 Robert Clausecker games/OpenLoco: Open source re-implementation of Chris Sawyer's Locomotion
OpenLoco is an open-source re-implementation of Chris Sawyer's Locomotion (CSL), the spiritual successor to Transport Tycoon. OpenLoco aims to improve the game similar to how OpenTTD improved Transport Tycoon, and OpenRCT2 improved RollerCoaster Tycoon. CSL was originally written in x86 assembly, building on top of the RollerCoaster Tycoon 2 engine. However, the engine has changed substantially enough that OpenLoco currently does not share its codebase with OpenRCT2. As of December 2025, we have completed reimplementing the game in C++. It is now our goal to get a solid multiplayer experience working in OpenLoco. It is also our goal to increase the map and vehicle limits. However, until creating a new save format (NSF), we are bound to the …