Closed wararjey closed 10 months ago
Hello,
The Huge Systems Core is called Systems Core (Large)
.
I tried reproducing this bug by enabling the midnight plugins and using make plugin-update
, but this outfit was added in the list in all-outfits.txt
.
This is a screen from the game after I regenerated the data:
Could you please provide additional information:
The System Core (Huge)
is part of the Lost in Midnight
, do you have it installed?
Is the plugin enabled?
What is the output of git reset --hard && make clean && make plugin-update
?
What are the folder names of the plugins?
Output of tmp/outfitters.list.tmp
and tmp/plugin-outfitters.list.tmp
?
I spotted strange lines starting with \toutfitter, I guess that's what might be messing things up.
While I could not reproduce this, I am trying to figure out why this could be happening.
I found out that the RTF plugin data is being parsed if I use your folder name, which is not supposed to happen. And the errorneous lines are related to this data.
I fixed this and pushed a commit to main. Could you udpate the RTF plugin to use the head of main and try again?
Oh, something important, some of the files have no sources, they are only updated, so to really clean the plugin you need to do git reset --hard
if the plugin is still a git repository (reinstall it if not), followed by make clean
.
I just pushed a commit again.
Be sure to run git reset --hard
if the plugin is a git repository (or reinstall it), and run make clean && make plugin-update
outfitters.list.tmp.txt plugin-outfitters.list.tmp.txt Hello, yes, the Huge Systems Core is part of the Lost in Midnight plugin. I've installed the plugins using eslauncher2, except for rtf, which i git-cloned. The list of all outfits correctly has the Huge Systems Core. The planets.txt looks a bit different now:
planet RTF0-P
landscape land/fields6
description " Ruin The Fun RTF0-P"
description ""
description " [ Shipyard ] All ships (enable variants with the Variants job)"
description " [ Outfitter ] All outfits"
description " [ Job Board ] Many other features"
description " [ Spaceport ] Help & Quick actions"
spaceport "You can access the Spaceport again by taking off and landing back."
government Ruin-The-Fun
tribute 1000000
fleet "Ruin-The-Fun Dread Fleet (Planet Defense)" 8
\toutfitter "Ruin-The-Fun Outfits"
\toutfitter "Ruin-The-Fun Stat Outfits"
\toutfitter "Ruin-The-Fun All Outfits"
\tshipyard "Ruin-The-Fun All Base Ships"
\tshipyard `modships`
\toutfitter `modoutfits`
outfitter `Advanced Fuel`
outfitter `Advanced Turbo Blasters`
outfitter `Aluminum`
outfitter `Ammo North`
...
The only rule where I see this "\t" stuff in the Makefile is the rule for data/maps/planet.temp Those lines starting with "\t" appear in the planets.temp, too. I guess the "\t" are supposed to get replaced by tabstopps, but that does not happen.
I have attached the two tmp files you requested. I had to add the .txt suffix to them for gh to allow the upload...
Regards,
Oh, I tried something: I replaced the \t with tabstopps, and the RTF planets' shipyards and outfitters are back again.
The only rule where I see this "\t" stuff in the Makefile is the rule for data/maps/planet.temp
The \t
is indeed expected to be replaced by a tab.
This could be happening because I am using single quotes for this string.
I tested the following rule
print:
@echo "with @, doublequotes: A\tB"
echo "without @, doublequotes: A\tB"
@echo 'with @, singlequotes: A\tB'
echo 'without @, singlequotes: A\tB'
which outputs
with @, doublequotes: A B echo "without @, doublequotes: A\tB" without @, doublequotes: A B with @, singlequotes: A\tB echo 'without @, singlequotes: A\tB' without @, singlequotes: A\tB
However, the following rule
print:
@echo "with @, doublequotes: A\tB" >> "test"
echo "without @, doublequotes: A\tB" >> "test"
@echo 'with @, singlequotes: A\tB' >> "test"
echo 'without @, singlequotes: A\tB' >> "test"
cat test
outputs
with @, doublequotes: A B without @, doublequotes: A B with @, singlequotes: A B without @, singlequotes: A B
So my echo does not behave consistently when redirecting output to files or not. The difference in behavior between you and me could be due to a bug in make
.
I am replacing those quotes.
I pushed a commit, you will again need to git reset --hard
and then git plugin-update
.
Hmmm, the modships and modoutfits line had single quotes and the \t not replaced...
Anyway, I tried the latest commit. I can see the double quotes are single quotes now. The lines still start with "\t", though. I am using gnu make 4.4.1-2 (arch package). Could one not use sed for replacing the \t with a tab? My sed version is gnu sed 4.9-3 (arch package).
Regards,
I can see the double quotes are single quotes now.
I replaced the double quotes around outfitter and shipyard names by backticks (not single quotes), because it was supposed to be my norm. In the makefile, I replaced the single quotes used with the echo command by double quotes.
The problem apparently is echo
, having different behaviors in different implementations.
To be radical, I just replaced echo
by printf
.
Please tell me if that fixes it.
Hello,
yes, the latest commit fixes the issue. I was wondering how make might use shell builtins for echo and/or printf. I am using zsh instead of bash. zsh should be standards compliant in that regard, but who knows...
Thanks for your quick help, it is much appreciated :-)
Regards,
Thank you for reporting the issue!
I am using stable endless sky from an arch package. I've installed the Midnight Plugins and the High DPI plugin. In the Makefile is set the data directory to the data directory of the arch package /usr/share/games/endless-sky/data The rtf plugin was missing a few exoctic outfits in its all-outfits.txt, e.g. the Huge Systems Core. So I tried make plugin-update. The all-outfits.txt gets regenerated correctly. However, the RTF planet does not have a shipyard anymore, nor an outfitter. I tried make clean, make update, make plugin-update, same result. In the generated planets.txt I spotted strange lines starting with \toutfitter, I guess that's what might be messing things up.
Regards,