Open stephanemagnenat opened 1 year ago
I'm all for bugfix releases! I guess I could compile and test over the weekend maybe.
Maybe #44 should be fixed first; that way the game won't crash on the user when they finally complete the tutorial.
After fixing #74, I found a few more places where the game crashes because it tries to increment an iterator that is pointing at the end of a container. I guess I should make another pull request to fix those bugs. Also, I committed a change that fixes a memory leak when opening the chat input box but forgot to push the change.
So now #44 is fixed. While testing I found that LAN game didn't work for me (see #90), but YOG works. Otherwise I think we could do a release. Maybe we should migrate the change logs ? (#91).
I'm struggling to compile. On Debian, how should I proceed?
sudo apt install libsdl1.2-dev libsdl-ttf2.0-dev libsdl-console-dev libsdl-image1.2-dev libsdl-net1.2-dev libsdl-sound1.2-dev libboost-thread-dev libsdl2-dev libsdl-ttf2.0-dev libsdl-image1.2-dev libsdl2-net-dev libspeex-dev libsdl2-ttf-dev libsdl2-image-dev libvorbis-dev libogg-dev
is clearly too much but it works to get scons CXXFLAGS="-g" -j24
to terminate successful but now I get:
Settings::load("preferences.txt") : error, can't open file.
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 151 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 107
Current serial number in output stream: 108
after running either ./build/src/glob2
or scons install; glob2
.
I assume you are using latest master, right? Note that you only need SDL 2, so 1.2 can be left out.
Personally I'm compiling using that command: scons --build=/home/$USER/build/glob2 -j16
to build, then I'm launching the binary with /home/$USER/build/glob2/src/glob2
from the source directory.
Given my hardware, graphics drivers and screen setup, sometimes I need to disable GL and/or fullscreen, in that case, these flags can be used: -G -F
. Looking at the X error you got, it might be a GL-related issue.
$ glob2 -G -F
Settings::load("preferences.txt") : error, can't open file.
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 151 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 107
Current serial number in output stream: 108
Very strange. I confirm that the lack of preferences.txt
is not a problem, so most likely it is a X/graphics problem. The error comes from the X server, and it seems that despite the -G
flag, SDL attempts to create a GLX context. Maybe SDL2 always does that?
I would try also these additional flags: -l -s 800x600
for low-speed graphics and a limited resolution, in case the auto-detection of the resolution is broken. Also, do other SDL2 games run properly on your machine? And glxgears
?
glxgear throws the same error. See you after a reboot.
Ok. That's embarrassing. I had changed my system and deferred to reboot and it only bit me with glob2 now. (I did install nvidia drivers to make another app work and it actually did start working so I forgot about the need to reboot.)
So playing with much fun against two AIWarrush :D Looks to work great. Will report back later.
I must say, after not playing for a long time, I quickly found my way around but - and I think that was a topic of content earlier - the fruits dynamic is awkward. To start with, my globules don't collect fruit. I put a market next to the fruit trees - big pond has them on an island far from anything else - and they don't go work for them. Only sometimes units get assigned and before they reach the fruits, they get un-assigned.
If I remember correctly the fruits need to be visible to be collected, but I'm not sure whether a unit subscribed to a fruit tree should unsubscribe if it becomes invisible (I would say not). We could compare with an older version. Maybe there is a bug and maybe it is related to the one I've seen with starving and damage maps update (#94).
The birds are quite stupid, too. They appear to cluster once the map is explored. I think they should "repel" each other to keep more area covered. Maximize distance between all viewing units.
Sorry for dumping random thoughts here. A bug-fix release has little to do with all this but I think it's valuable to be said somewhere as it's only confusing until I figured it out, after which it will be hard to report these things ...
Wheat - - - - - unit - - - - - - - Inn - wheat
I now remember how fruits need to be in line of sight and not merely explored but that is definitely a flaw in the game logic as units magically know where there is wheat and wood even before exploring it if I remember correctly. This is also resulting in stupid unit behaviour (groups collectively jumping at this task and forgetting about it just because some explorer randomly flew over a tree) but fruits being optional, it also is a necessary mechanism to switch fruit collection on and off. Maybe that should be more explicit like the fV or fM option which are also way too hidden. Two ideas how to accomplish this:
So I wonder whether we should officially release a new minor version?
Please, release something. The last release was in 2009 and it does not build when scons is using python 3. This was fixed years ago in 3dd1b31d90c7ad44baa67bdbfbfd8bbb1feff857 but the patch is large and has conflicts when applying it on top of the last release.
Recently @Quipyowert2 fixed several bugs. So I wonder whether we should officially release a new minor version?
Also, if so, should we add a changelog to highlight the key changes?
@Quipyowert2 do you have more changes in your pipeline?