Hey I'm trying to build LCS on Linux from King-Drake's repo and I ran into many issues which appear to relate to missing files. I've fixed some of these issues by copying these files from Kamal-Sadek's repo into King-Drake's
- Makefile.in
- src/Makefile.in
- src/cursesgraphics.cpp
- src/items/armortype.cpp
- src/items/armortype.h
I'm still getting a lot of compiler errors which I haven't determined the reason of, but I'm just wondering if the Git repo is really up to date and contains all the needed files for a successful build. I didn't try this on Windows because I don't have a Windows computer. Note that I've got Kamal-Sadek's repo compiling successfully with no issues.
You can get Kamal-Sadek's repo to compile? Excellent.
The MakeFile is outdated, which is why you're getting compile errors. The reason the MakeFile isn't updated is because Visual Studio doesn't make them anymore (because Microsoft is ***holes).
To get v4.12.55 to compile, first you're going to want to switch all those files back, armortype.h, armortype.cpp, cursesgraphics.cpp (all except the MakeFiles).
The MakeFiles have to be updated to include the new source code.
From the VS Project File, these are all the source files.
A few of the header files are from standard libraries, so you don't need to create/copy them at all, but the project file doesn't differentiate.
"..\src\automatedDataTests.cpp"
"..\src\common\creaturePool.cpp"
"..\src\externallyStoredText.cpp"
"..\src\externallyStoredData.cpp"
"..\src\basemode\activate.cpp"
"..\src\basemode\activate_sleepers.cpp"
"..\src\basemode\baseactions.cpp"
"..\src\basemode\basemode.cpp"
"..\src\basemode\liberalagenda.cpp"
"..\src\basemode\reviewmode.cpp"
"..\src\cmarkup\Markup.cpp"
"..\src\combat\chase.cpp"
"..\src\combat\fight.cpp"
"..\src\combat\haulkidnap.cpp"
"..\src\common\commonactions.cpp"
"..\src\common\commondisplay.cpp"
"..\src\common\getnames.cpp"
"..\src\common\help.cpp"
"..\src\common\misc.cpp"
"..\src\common\stringconversion.cpp"
"..\src\compat.cpp"
"..\src\configfile.cpp"
"..\src\creature\augmentation.cpp"
"..\src\creature\augmenttype.cpp"
"..\src\creature\creature.cpp"
"..\src\creature\creaturetype.cpp"
"..\src\cursesAlternative.cpp"
"..\src\cursesmovie.cpp"
"..\src\daily\activities.cpp"
"..\src\daily\daily.cpp"
"..\src\daily\date.cpp"
"..\src\daily\interrogation.cpp"
"..\src\daily\recruit.cpp"
"..\src\daily\siege.cpp"
"..\src\game.cpp"
"..\src\globals.cpp"
"..\src\items\armor.cpp"
"..\src\items\armortype.cpp"
"..\src\items\clip.cpp"
"..\src\items\item.cpp"
"..\src\items\itemtype.cpp"
"..\src\items\loottype.cpp"
"..\src\items\lootTypePool.cpp"
"..\src\items\money.cpp"
"..\src\items\weapon.cpp"
"..\src\items\weapontype.cpp"
"..\src\lcsio.cpp"
"..\src\locations\locations.cpp"
"..\src\locations\locationsPool.cpp"
"..\src\log\log.cpp"
"..\src\monthly\endgame.cpp"
"..\src\monthly\justice.cpp"
"..\src\monthly\lcsmonthly.cpp"
"..\src\monthly\monthly.cpp"
"..\src\monthly\sleeper_update.cpp"
"..\src\news\news.cpp"
"..\src\politics\politics.cpp"
"..\src\portraits.cpp"
"..\src\sitemode\advance.cpp"
"..\src\sitemode\mapspecials.cpp"
"..\src\sitemode\miscactions.cpp"
"..\src\sitemode\newencounter.cpp"
"..\src\sitemode\shop.cpp"
"..\src\sitemode\sitemap.cpp"
"..\src\sitemode\sitemode.cpp"
"..\src\sitemode\stealth.cpp"
"..\src\sitemode\talk.cpp"
"..\src\title\highscore.cpp"
"..\src\title\initfile.cpp"
"..\src\title\newgame.cpp"
"..\src\title\saveload.cpp"
"..\src\title\titlescreen.cpp"
"..\src\vehicle\vehicle.cpp"
"..\src\vehicle\vehicletype.cpp"
"..\src\basemode\activate.h"
"..\src\basemode\activate_const_string.h"
"..\src\basemode\activate_sleepers.h"
"..\src\basemode\liberalagenda.h"
"..\src\basemode\reviewmode.h"
"..\src\cmarkup\Markup.h"
"..\src\combat\chase.h"
"..\src\combat\chaseCreature.h"
"..\src\combat\fight.h"
"..\src\combat\fightCreature.h"
"..\src\combat\haulkidnap.h"
"..\src\combat\haulkidnapCreature.h"
"..\src\common\commonactions.h"
"..\src\common\commonactionsCreature.h"
"..\src\common\commondisplay.h"
"..\src\common\commondisplayCreature.h"
"..\src\common\consolesupport.h"
"..\src\common\creaturePool.h"
"..\src\common\creaturePoolCreature.h"
"..\src\common\creaturePoolHeader.h"
"..\src\common\equipment.h"
"..\src\common\getnames.h"
"..\src\common\help.h"
"..\src\common\interval.h"
"..\src\common\ledger.h"
"..\src\common\ledgerEnums.h"
"..\src\common\misc.h"
"..\src\common\musicClass.h"
"..\src\common\stringconversion.h"
"..\src\common\translateid.h"
"..\src\configfile.h"
"..\src\creature\augmentation.h"
"..\src\creature\augmenttype.h"
"..\src\creature\creature.h"
"..\src\creature\creatureEnums.h"
"..\src\creature\creaturetype.h"
"..\src\creature\deprecatedCreatureA.h"
"..\src\creature\deprecatedCreatureB.h"
"..\src\creature\deprecatedCreatureC.h"
"..\src\creature\deprecatedCreatureD.h"
"..\src\creature\newcreature.h"
"..\src\cursesAlternative.h"
"..\src\cursesAlternativeConstants.h"
"..\src\cursesgraphics.h"
"..\src\cursesmovie.h"
"..\src\customMaps.h"
"..\src\daily\activities.h"
"..\src\daily\daily.h"
"..\src\daily\siege.h"
"..\src\gui_constants.h"
"..\src\includes.h"
"..\src\items\itemPool.h"
"..\src\items\lootTypePool.h"
"..\src\items\lootTypePoolItem.h"
"..\src\locations\locationsEnums.h"
"..\src\locations\locationsPool.h"
"..\src\politics\politics.h"
"..\src\sitemode\advance.h"
"..\src\sitemode\miscactions.h"
"..\src\sitemode\sitedisplay.h"
"..\src\sitemode\stealth_const_string.h"
"..\src\sitemode\talk_const_string.h"
"..\src\title\initfile.h"
"..\src\title\newgame.h"
"..\src\title\titlescreen.h"
"..\src\vehicle\vehicle.h"
"..\src\vehicle\vehicletype.h"
"..\src\compat.h"
"..\src\cursesgraphics.h"
"..\src\cursesmovie.h"
"..\src\includes.h"
"..\src\lcsio.h"
"..\src\vector.h"
"..\src\items\armor.h"
"..\src\items\armortype.h"
"..\src\items\clip.h"
"..\src\items\cliptype.h"
"..\src\items\item.h"
"..\src\items\itemtype.h"
"..\src\items\loot.h"
"..\src\items\loottype.h"
"..\src\items\money.h"
"..\src\items\weapon.h"
"..\src\items\weapontype.h"
"..\src\locations\locations.h"
"..\src\log\log.h"
"..\src\monthly\monthly.h"
"..\src\pdcurses\curses.h"
"..\src\set_color_support.h"
"..\src\sitemode\shop.h"
"..\src\sitemode\sitemap.h"
"..\src\sitemode\stealth.h"
"..\src\tinydir.h"
"..\src\title\highscore.h"
This will, almost, allow for a Unix build. You'll need new natives to replace pdcurses and sdl. The default to replace pdcurses is ncurses. I don't know the Unix version of sdl, but people usually disable audio entirely to make a Unix build.
I can respond more quickly in the Discord
The Development Channel
Unfortunately, no one has been able to build for Unix since Kamal-Sadek left, but we are all interested in figuring out how to get it working.