Giter Club home page Giter Club logo

airlinetycoon's Introduction

AirlineTycoon

This repository aims to complete the partial source code that is provided as a free bonus in the GOG release of Airline Tycoon Deluxe. To run it you'll need the game assets from the either the First Class, Evolution or Deluxe edition of the game. You can purchase these assets from GOG.com: https://www.gog.com/game/airline_tycoon_deluxe

License

The code in the repository is licensed under the terms included in the GOG release. As such the code can only be used for non-commercial purposes and remains property of BFG.

It is therefore not open-source in the free software sense, for more information refer to the License.txt.

What works?

The singleplayer game is fully playable without issues. Network multiplayer support has been reimplemented using ENet instead of DirectPlay and might behave differently than the original.

Building

This repository can be built using Visual Studio 2019 Community. Before building remember to clone the submodules:

git submodule update --init

More build instructions will follow soon.

airlinetycoon's People

Contributors

crossvr avatar mertenpopp avatar wizzardmaker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

airlinetycoon's Issues

💡 [REQUEST] - Get rid of smacker videos

Reference Issues

No response

Summary

The smacker Videos run very slowly and Audio/video get asynchron.
Maybe it's possible to adjust some settings in the code to "repair" it (if its a bug).
Another way could be, to convert the videos to mp4 and make the game able to play it.

Basic Example

It's only about the intro and the 2 outro videos.

Unresolved questions

No response

[BUG] Space race mission does not sync during multiplayer game

Describe the bug
You have to build a rocket, stage by stage in this mission. The mission was never meant for the multiplayer, making it not sync its progress

Expected behavior
The stages of every player should be synced

Info
Related code in Dialog.cpp:5247
Fix would be to create a new event and send it each time someone buys a part

[BUG] Create multiplayer game from save

Your current version
1.7.0

Describe the bug
When trying to host game from previously saved one there is no possibility to join using Direct IP - Join. When typing proper IP address of hosting PC nothing happens - only window with IP address form is closing.

To Reproduce
Steps to reproduce the behavior:

  1. Host new game with Direct IP - Host
  2. Join it with second PC with Direct IP - Join
  3. Save game
  4. Close current game
  5. Host game with Direct IP - Host using previously saved file
  6. Try to join it with second PC with Direct IP - Join

Expected behavior
Second PC should join game created from save file.

Additional context
Apparently it is working with RAKNet join. When I create game from save file using Direct IP - host I can find this session on second PC with RAKNet - Join and I am able to connect to it.

[BUG] Missing 'myplanes' folder results in a crash

Your current version
v1.3P

Describe the bug
If you talk to the plane designer the game crashes

Expected behavior
Not a crash

Additional context
Problem is caused by a bugged C++ version of std::filesystem

💡 [REQUEST] - Save window size for windowed mode

Reference Issues

Request from Nauco in the discord

Summary

When changing the window size, the new size should be saved and reused upon restart

Basic Example

  • Open game in windowed mode
  • Resize window
  • Close game
  • Open game again and expect window size to be the same as before closing

Unresolved questions

No response

[BUG] Useless files and folders created in Linux

Your current version
v1.7 Linux

Describe the bug

  1. The game still creates the old settings folder "~/.local/share/Spellbound/" but without any content.

  2. When the game executable is started via terminal from another location (path), the game creates a unnecessary AT.json in the current path of the terminal.

To Reproduce
Steps to reproduce the behavior:
For the first bug, just start the game in Linux
For the second bug:

  1. Open Terminal
  2. The terminal path is usually the home folder ~/
  3. enter the path to the AT executable, e.g. '/home/USER/Games/AirlineTycoonDeluxe/AT'
  4. the game starts and uses the AT.json file near in the AirlineTycoonDeluxe folder what is normal
  5. the game also creates an unnecessary AT.json in the ~/ folder what is the current path of the terminal

Expected behavior
don't create useless folders and files

Kerosene from Petrol air not working

It seems that the Kerosene that you buy in advance in the petrol air shop can be used but don't reduce the costs of a flight. So in total you pay double for the kerosene if you use petrol air.

[BUG] Tutorial crash game in first mission

Your current version
v1.6 - Linux (ubuntu 22.04)

Describe the bug
When start the first mission in the first campaign the tutorial crashes game when clicking on the globe.

To Reproduce
Steps to reproduce the behavior:

  1. Go to office after morning meeting as part of tutorial
  2. Click on globe as part of tutorial

Expected behavior
no crash

Crash dumps
no crash report, no message

[BUG] Game Crash after watching Intro

Your current version
1.7 Linux

Describe the bug
After watching (or only start and abort) the Intro Video the main menu appears without the typical sound. The next click on one of the menu buttons crash the game.

To Reproduce
Steps to reproduce the behavior:

  1. Start game
  2. Click on 'Intro'
  3. Abort the Intro by click mouse button
  4. Hear already no sound
  5. Klick on any menu crashs game

Expected behavior
normal menu after Intro and no crash

Additional context
The problem started with the last update. The version without the new AT.json config file (v1.6.2?) was still working.

This is the terminal output:
INFO: SBNetwork || Started SBNetwork
INFO: Herc || Airline Tycoon Deluxe logfile
INFO: Herc || VERSION 1.7.0 RELEASE
INFO: Herc || ===============================================================================
INFO: Herc || Copyright (C) 2002 Spellbound Software
INFO: Herc || TakeOff.Cpp was compiled at Jun 19 2023 at 10:48:53
INFO: Herc || ===============================================================================
INFO: Herc || logging starts Wed Jun 28 20:19:04 2023
INFO: Herc || Using hardware accelerated presentation
INFO: Herc || ====================================================================
INFO: Herc || Exception in File /home//Airline_Source/AirlineTycoon/src/SBLib/source/GfxLib.cpp, Line 69:
INFO: Herc || Can't open /home/
/AirlineTycoonDeluxe/room/titel2.gli!
INFO: Herc || ====================================================================
INFO: Herc || C++ Exception thrown. Program will probably be terminated.
INFO: Herc || Exception was correctly handled
INFO: Sound || Error during audio load of file "/home//AirlineTycoonDeluxe/sound/klack0.raw": Invalid source format
INFO: Sound || Error during audio load of file "/home/
/AirlineTycoonDeluxe/sound/klack1.raw": Invalid source format
INFO: Sound || Error during audio load of file "/home//AirlineTycoonDeluxe/sound/klack2.raw": Invalid source format
INFO: Sound || Error during audio load of file "/home/
/AirlineTycoonDeluxe/sound/change.raw": Invalid source format
Segmentation fault (core dumped)

[BUG] Multiplayer freezes with 3 players

Your current version
1.7.0

Describe the bug
Multiplayer freezes with 3 players during first night. After day finish game freezes on all 3 PCs at 23:42 or near that time. It is completely frozen.

To Reproduce
Steps to reproduce the behavior:

  1. Host multiplayer game with Direct IP
  2. Join this game with at least 2 additional sessions
  3. Finish day with all 3 players
  4. During night game should froze.

Expected behavior
Game should go to new day.

Additional context
I found similar issue described here: https://blog.mxklabs.co.uk/2020/12/22/patching-airline-tycoon-deluxe.html
I think it can be connected. Unfortunately solution from this thread is not working on your version of game.

[BUG] Game Crashes always at the same time in the savegame

Your current version
What game version are you on?
ATD Version 1.7.0 Pre-Release NO MODS
Deluxe version from GOG, English text.

Describe the bug
Game Crashes always at the same time in the savegame, no matter what I do.

To Reproduce
Steps to reproduce the behavior:

  1. Load Savegame, wait under 30 sec.

Expected behavior
Not crashing.

Screenshots
N/A

Crash dumps
If the game crashed, please check for crash dumps (%localappdata%\CrashDumps) and post them here.
AT.exe.37828.dmp
crash-901296.txt
debug.log

[BUG] Parts of space rocket cost only 200k

Your current version
1.6.1

Describe the bug
In the last mission of the first campaign. "Die letzte Grenze". the parts of the rocket have correct price, but when you buy them, only 200.000$ are taken from bank account. So in total you only need 2 Mio for the complete mission.

To Reproduce
Steps to reproduce the behavior:

  1. Start mission "Die letzte Grenze"
  2. Go to Nasa
  3. Buy all the first 3 parts. Only 600.000 real costs.
  4. with the other parts it is the same, but you are only able to buy when your bank account would have enough money

Expected behavior
costs like price

[BUG] Star base prices incorrect

Your current version
v1.7.0

Describe the bug
So, the last map of the second campaign, we kinda are doing the same thing as in the final map of the first one - except instead of making a rocket, we're buying parts for the space station. Mechanically its exactly the same thing, visually it just gives you a special telescope, different graphics for the objective, and the Nasa shop seems to work exactly the same.
However, as I was buying up the parts of the Space Station after accumulating all the cash, I've noticed it... took the wrong amounts of money from my account. I thought it might be the "security manager"'s discount, but that wasn't it.
Looking at the log in the checkbook, the situation explains itself pretty easily - the scenario is looking up prices from that final map of the first campaign - the one with the rocket. Technically it doesn't change that much, really. The prices are just wildly mismatched, though in total the cost of all components comes out very similarly anyways.
So, seems something wrong is plugged in in the map, and it just grabs the rocket parts prices instead of the star-base prices.
For info - I haven't encountered any gamebreaking stuff, the scenario still ended in a victory, same so far with any other map.

To Reproduce
-- todo --

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
image

image

Additional context
Reported on discord by @kefe

[BUG] macOS version does not run on Apple silicon

Your current version
1.7.2

Describe the bug
On Mac on Apple silicon, AT crashes with the below error:

dyld[5953]: Library not loaded: /usr/local/opt/sdl2_ttf/lib/libSDL2_ttf-2.0.0.dylib
Referenced from: /Users/orffen/Downloads/Airline Tycoon Deluxe/AT
Reason: tried: '/usr/local/opt/sdl2_ttf/lib/libSDL2_ttf-2.0.0.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/sdl2_ttf/lib/libSDL2_ttf-2.0.0.dylib' (no such file), '/usr/local/opt/sdl2_ttf/lib/libSDL2_ttf-2.0.0.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/opt/homebrew/Cellar/sdl2_ttf/2.22.0/lib/libSDL2_ttf-2.0.0.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/Cellar/sdl2_ttf/2.22.0/lib/libSDL2_ttf-2.0.0.dylib' (no such file), '/opt/homebrew/Cellar/sdl2_ttf/2.22.0/lib/libSDL2_ttf-2.0.0.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

To Reproduce
Steps to reproduce the behavior:

  1. Download the latest version of AT
  2. Extract to folder where the Windows AT files are
  3. Run ./AT

Expected behavior
AT uses the available library for the correct architecture (arm64).

Screenshots
N/A

Crash dumps
N/A

Additional context
I'm not sure how an x86_64 dylib would work on arm64 architecture; is this a compilation problem that needs a separate executable?

Additionally, I had to manually symlink to the default Homebrew installation directory; is it possible to add /opt/homebrew/opt/sdl2_ttf to the locations searched?

[BUG] Game Crasht always at the same time in the savegame

Your current version
What game version are you on?
ATD Version 1.7.0 Pre-Release

Describe the bug
Game Crasht always at the same time in the savegame, no matter what I do, unfortunately, I think in the crash is not really something helpful in it, but have this times attached.

To Reproduce
Steps to reproduce the behavior:
Since the game always crashes at the same time in the savegame no matter what I do, it is reproducible.

Expected behavior
I expected to continue playing and not end up on the desktop

Screenshots
No screenshots available

Crash dumps
crash-537951.txt
Game-Crash-Event Viewer.txt
Report.wer.txt
CrashDump_At.exe.42124.zip

Additional context
I have added the savegame, city and routes files, maybe this can help to solve the problem.
AT Crash Data.zip

[BUG] Picking the same route can crash the game

Your current version
ATD (SDL) Version 1.2 Hotfix 3

Describe the bug
Picking the same route can crash the game

To Reproduce
Currently not reproducible in the newest version

Additional context
This bug report came from a discord user. More information and a new test for the current PR version is "scheduled"

[BUG] German Umlaut "ü" missing in statistics

Your current version
V1.6 Ubuntu Linux 22.04 - german

Describe the bug
In the new statistic screen (filofax Information) are 2 times the word "für" not Shows correctly

To Reproduce
Steps to reproduce the behavior:

  1. Employ finance advisor and/or a spy
  2. Go to office
  3. Click on Globe and filofax.
  4. Click on Information
  5. click on one of the daily, weekly or overal statistics. And change Page to 3/8
  6. See wrong characters

Expected behavior
The word "für" should be written with "ü"

Additional context
Solution:
In the Lines 2287 and 2288 in the takeoff.cpp
there is each the word "für". The "ü" must be changed to "\xFC" that its shown correctly in game.

[BUG] missing files "NOCITY.gli" and "NOCITY.glj" crash game

Your current version
V1.6 - Ubuntu Linux 22.04 (german retail version)

Describe the bug
When looking in the city Information and click on a City with no pictures, the game look for a non existing file "NOCITY"

To Reproduce
Steps to reproduce the behavior:

  1. Go to office or Laptop
  2. Click on globe/filofax
  3. Click on the city menu
  4. click on a city with no picture (e.g. Wellington)

Expected behavior
Just show the detailed city information pages.
Only cities with provided pictures should show additional picture pages.

Additional context
Due to Linux case sensitivity, all City gli and glj files must be upper case. Would be nice if all files of the game could stay lowercase. So it's easier to rename everything by script when preparing the old Windows game folder for Linux.

[BUG] New german translated texts dont fit

Your current version
official v1.7.2

Describe the bug
some of the german texts (and maybe other languages too) dont fit the windows anymore

To Reproduce
Steps to reproduce the behavior:

  1. start game in german
  2. look at some statistics like in screenshots

11
21
31
41
51

[BUG] Clicking "Okay" on the chat box doesn't send the message to other players

Your current version
ATD (SDL) Version 1.3 Pre-Release

Describe the bug
Clicking "Okay" on the chat box doesn't send the message to other players

To Reproduce

  1. start multiplayer session
  2. press 'enter'
  3. type in message
  4. click "Okay" to send
  5. only the sending client gets the message

Expected behavior
Clicking "Okay" should send the message like pressing 'enter' would do

[BUG] Planes can't carry more than 340 passenger

Your current version
1.2H3

Describe the bug
A 345 passenger plane could not execute a 340 passenger order, even though the range was in check.

To Reproduce

Additional context
Possible plane: C5A Galaxy 345 passengers

[BUG] [Proton] Versions newer than 1.5.2 silently quits before reaching main menu when using Proton

Your current version
1.7.0 PRE-RELEASE & 1.6.2 PRE-RELEASE Windows versions
Artix Linux - GE-Proton8-15, Proton 8.0-3

Describe the bug
Trying to run versions newer than 1.5.2 on Proton cause the game to silently quit before the main menu can load.

Crash dumps
No crash dumps, debug.txt ends abruptly at the hardware presentation message.

Additional context
1.5.2 PRE-RELEASE had no issues in Proton

[BUG] [1.6] Tutorial cannot be completed due to Filofax labels not accepting input

Your current version
1.6 Pre-Release (Artix Linux)

Describe the bug
Following the Tutorial after having already loaded the Globe & Filofax prior causes the Orders/Cargo/Routes labels to become unresponsive while the Tutorial is still active, causing it to be uncompletable.

To Reproduce
Steps to reproduce the behavior:

  1. Load the Globe & Filofax via any means
  2. Open the Pause Menu and Quit Session
  3. Start the mission A New Job and allow the Tutorial to take place
  4. Follow the Tutorial

Expected behavior
The Orders/Cargo/Routes Labels loading the tabs correctly and the Tutorial being completable.

Screenshots
Example of glitch

Crash dumps
N/A, Does not crash.

Additional context
This issue is no longer present in any form if the Tutorial is skipped.

[BUG] [Linux] Always falls back to software presentation

Your current version
1.7 fix/various, version doesn't seem to matter though
Artix Linux, SDL 2.28.3

Describe the bug
Game always falls back to software presentation, I do not know of a way to force hardware presentation.

Additional context
Output of 'pacman -Qs sdl2'

local/lib32-sdl2 2.28.3-1
    A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard
local/lib32-sdl2_image 2.6.3-1
    A simple library to load images of various formats as SDL surfaces
local/lib32-sdl2_mixer 2.6.3-1
    A simple multi-channel audio mixer
local/lib32-sdl2_ttf 2.20.2-1
    Library that allows you to use TrueType fonts in your SDL applications (Version 2) (32-bit)
local/python-pysdl2 0.9.16-1
    Python ctypes wrapper around SDL2
local/sdl2 2.28.3-1
    A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (Version 2)
local/sdl2_image 2.6.3-1
    A simple library to load images of various formats as SDL surfaces (Version 2)
local/sdl2_mixer 2.6.3-2
    A simple multi-channel audio mixer (Version 2)
local/sdl2_net 1:2.2.0-1
    A small sample cross-platform networking library (Version 2)
local/sdl2_ttf 2.20.2-1
    A library that allows you to use TrueType fonts in your SDL applications (Version 2)

[BUG] game crashes when I try basically do almost anything.

Your current version
1.7.0
Describe the bug
I maybe fu**** up somthing by installing the patch. I play with the french version of the game and when I try to save/load a game, when i try to buy/sell stock athe bank, the game crashes.

To Reproduce
Steps to reproduce the behavior:
explained above, please note that I play with the french version of the game

try to save or load a game
go to the bank and try to buy/sell stock

Expected behavior
the game crashes

Screenshots
If applicable, add screenshots to help explain your problem.

Crash dumps
If the game crashed, please check for crash dumps (%localappdata%\CrashDumps) and post them here.
CrashDumps.zip

Additional context
Add any other context about the problem here.

Join a Raknet-Network Game crash the game [BUG]

Your current version
1.6.2 Linux (ubuntu 22.04) -> Develop Branch

Describe the bug
The good thing first: It is finally possible to create/host a game in the Raknet-Mode
This game is visible for other Players in the Raknet-Join "room", but when they try to join the game crash with a segmentation fault

To Reproduce
Steps to reproduce the behavior:

  1. Build the AT executable in ubuntu 22.04 of the develop branch
  2. Start the game and klick on Network -> Raknet-Host and create a new game
  3. On a second PC start the same game version and click on Network -> Raknet-Join
  4. Choose the Game that the Host created in the list and join
  5. The game will crash on the joining PC (segmentation fault)

Expected behavior
a successful connection

💡 [REQUEST] - Make the master server address configureable

Reference Issues

No response

Summary

The master server address is currently hard coded, this makes it hard for users to choose their own, private server if they so desire.

Moving the global game settings from the registry to a config.json (like already used in the linux build) would make configuring much easier as well.

This change should also be documented in the readme

Basic Example

The multiplayer backend would only really need the IP and port, so a new config with the name raknetMasterServerAddress as a new setting should suffice.

Unresolved questions

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.