Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - tomreyn

Pages: 1 ... 5 6 7 8 [9] 10 11 12 13 ... 20
201
There seem to be some systems where the game starts up fine but may fail in-game due to insufficient system resources, such as insufficient video RAM.

There have been some bug reports (I'm happy to look those up if requested, here's one but there have been more) indicating that MegaGlest requires 512 MB video RAM to be available, 256 MB are often not enough but can work if the least resource consuming configuration is applied.

While there will be a stack trace and an error message on standard output/error to report what happened, this is not a great experience if it happens while you are in-game, and not a great experience for GUI addicts in general. I think it would be better to check for possibly insufficient system resources at start-up (allowing to override this check with an INI setting) and to display a warning if it turns out that the system does not provide for the minimum requirements. This waning could contain a hint to check http://faq.megaglest.org for hints on a low resource configuration.

202
When I connected to Atze's server who had the Japanese techtree (which I did not have installed) and a map (which I did not have installed) configured, I correctly got a download prompt for the techtree. At the same time the
Code: [Select]
tomreyn: Player: tomreyn is missing the map: swamp_of_hope_a1messages started showing up. This repeated in what seemed to be a regular interval (5 or 10 seconds?) and every time this message was displayed an alarm sound was played back on my PC because the nickname "tomreyn" is contained in this message. This was rather annoying, but also a form of spam on the game console.



Edit (2012-05-11): Fixed some typos.

203
There's a little difference in the value of the FileArchiveExtractCommandParameters option in glest.ini for Windows vs Linux:
Code: [Select]
tomreyn@atibox:~$ grep '^FileArchiveExtractCommandParameters' SCM/megaglest-trunk/data/glest_game/glest.ini SCM/megaglest-trunk/mk/linux/glest.ini
SCM/megaglest-trunk/data/glest_game/glest.ini:FileArchiveExtractCommandParameters=x -o"{outputpath}" "{archivename}"
SCM/megaglest-trunk/mk/linux/glest.ini:FileArchiveExtractCommandParameters=x -o{outputpath} {archivename}
tomreyn@atibox:~$

I assume these values should be equal, using the quoted notation on both Windows and Linux?

204
I just finished a Windows build of r3225 in a Virtualbox VM. This is fine for building but some of the 3D graphics sure do not work. It does work for running MegaGlest in general, though, and you can even start a game. I could also save a game fine. However, when trying to load this game later, MegaGlest hangs indefinitely (freezes) during game inintialization at the "Unloading map" stage. While a virtual server is a bad testbed for testing 3D applications, Ishmaru has run into the exact same situation when he was testing an earlier revision on his native Windows system, too. So I guess we still need more native Windows tests since there is a good chance that restoring savegames is currently broken there.

Update: Softcoder fixed this in r3226 (as I just confirmed). Thanks!

205
While loading a savegame (see note below) which uses a map not available on my system, I ran into this:

Code: [Select]
$ LANG=en_US.utf-8 ./dev_rungame
megaglest v3.6.1-dev
Compiled using: GNUC: 40601 [64bit] on: Apr  2 2012 12:42:52
SVN: [Rev: 3217M] - using STREFLOP [SSE] - [no-denormals]
[2012-04-02 14:59:35] *ERROR* In [program.cpp::setState Line: 590]
Error [Map not found [Doesnt Exist]
Scenario []]
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 634] Error detected: signal 11:
Error saved to logfile [/home/tomreyn/.megaglest/error.log]

Segmentation fault detected, analyzing...

warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Core was generated by `./megaglest'.
Program terminated with signal 11, Segmentation fault.
#0  Glest::Game::Game::checkWinnerStandard (this=0x7f570c802f50) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:3225
3225        if(this->masterserverMode == true || world.getThisFaction()->getPersonalityType() == fpt_Observer) {
#0  Glest::Game::Game::checkWinnerStandard (this=0x7f570c802f50) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:3225
#1  0x000000000055da55 in checkWinner (this=0x7f570c802f50) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:3216
#2  Glest::Game::Game::tick (this=0x7f570c802f50) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1722
#3  0x000000000063df6a in Glest::Game::Program::loopWorker (this=0x7f570c000b90) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:461
#4  0x0000000000634345 in Glest::Game::ExceptionHandler::handleRuntimeError (msg=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:512
#5  0x000000000061da22 in Glest::Game::handleSIGSEGV (sig=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:638
#6  <signal handler called>
#7  Glest::Game::Game::checkWinnerStandard (this=0x7f570c802f50) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:3225
#8  0x000000000055da55 in checkWinner (this=0x7f570c802f50) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:3216
#9  Glest::Game::Game::tick (this=0x7f570c802f50) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1722
#10 0x000000000063df6a in Glest::Game::Program::loopWorker (this=0x7f570c000b90) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:461
#11 0x000000000062aca6 in Glest::Game::glestMain (argc=<optimized out>, argv=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4140
#12 0x000000000062e0d6 in Glest::Game::glestMainWrapper (argc=1, argv=0x7fff98d7d1b8) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4296
#13 0x00007f571c8de30d in __libc_start_main (main=0x4ab0c0 <main(int, char**)>, argc=1, ubp_av=0x7fff98d7d1b8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff98d7d1a8) at libc-start.c:226
#14 0x00000000004b0539 in _start ()

Please note that I manually edited an existing savegame to create this situation, replacing all occurrences of the previous techtree "megapack" by "doesntexist". Before this modification was made, this savegame loaded fine. If this is not a proper test case, please say so.

The game first displays a human friendly error message on screen here, saying something about a map not existing / not found. Unfortunatey this message gets immediately overwritten by another message window which displays a partial stacktrace, which is then immediately followed by the game crashing. So while this may not be a bug, this is not really user friendly, yet.

206
While loading a savegame (see note below) which uses a techtree not available on my system, I ran into this:

Code: [Select]
$ LANG=en_US.utf-8 ./dev_rungame
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: option value of option vblank_mode ignored.
megaglest v3.6.1-dev
Compiled using: GNUC: 40601 [64bit] on: Apr  2 2012 12:42:52
SVN: [Rev: 3217M] - using STREFLOP [SSE] - [no-denormals]
>>> schoen
[2012-04-02 14:50:01] *ERROR* In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/map.cpp::load Line: 541] Error [This tech tree has not tech resources, one at least is required]
[2012-04-02 14:50:01] *ERROR* In [program.cpp::setState Line: 590]
Error [Error loading map: /home/tomreyn/.megaglest/maps/Captive 1v1.gbm
This tech tree has not tech resources, one at least is required]
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 634] Error detected: signal 11:
Error saved to logfile [/home/tomreyn/.megaglest/error.log]

Segmentation fault detected, analyzing...

warning: [New LWP 29610]
[New LWP 29614]
[New LWP 29616]
[New LWP 29621]
[New LWP 29615]
[New LWP 29620]
[New LWP 29619]
[New LWP 29613]
[New LWP 29618]
[New LWP 29622]
Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Core was generated by `./megaglest'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000000000899074 in Glest::Game::World::showWorldForPlayer (this=0x2fb54f8, factionIndex=0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/world.cpp:1789
1789           else if(game->getGameOver() == true &&
#0  0x0000000000899074 in Glest::Game::World::showWorldForPlayer (this=0x2fb54f8, factionIndex=0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/world.cpp:1789
#1  0x00000000005d781e in Glest::Game::Renderer::getQuadCache (this=0xc80280, forceNew=false, updateOnDirtyFrame=true) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:7812
#2  0x00000000005d8883 in Glest::Game::Renderer::renderUnits (this=0xc80280, renderFps=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:4595
#3  0x0000000000542c9b in Glest::Game::Game::render3d (this=0x2fb54c0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:2844
#4  0x0000000000565c72 in Glest::Game::Game::renderWorker (this=0x2fb54c0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1662
#5  0x0000000000566198 in Glest::Game::Game::render (this=0x2fb54c0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1592
#6  0x000000000063d7a6 in Glest::Game::Program::loopWorker (this=0x1bddbb0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:409
#7  0x0000000000634345 in Glest::Game::ExceptionHandler::handleRuntimeError (msg=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:512
#8  0x000000000061da22 in Glest::Game::handleSIGSEGV (sig=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:638
#9  <signal handler called>
#10 0x0000000000899074 in Glest::Game::World::showWorldForPlayer (this=0x2fb54f8, factionIndex=0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/world.cpp:1789
#11 0x00000000005d781e in Glest::Game::Renderer::getQuadCache (this=0xc80280, forceNew=false, updateOnDirtyFrame=true) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:7812
#12 0x00000000005d9001 in Glest::Game::Renderer::renderUnitsFast (this=0xc80280, renderingShadows=true, colorPickingSelection=false) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:6633
#13 0x00000000005d95d0 in Glest::Game::Renderer::renderShadowsToTexture (this=0xc80280, renderFps=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:6287
#14 0x0000000000542b96 in Glest::Game::Game::render3d (this=0x2fb54c0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:2818
#15 0x0000000000565c72 in Glest::Game::Game::renderWorker (this=0x2fb54c0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1662
#16 0x0000000000566198 in Glest::Game::Game::render (this=0x2fb54c0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1592
#17 0x000000000063d7a6 in Glest::Game::Program::loopWorker (this=0x1bddbb0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:409
#18 0x000000000062aca6 in Glest::Game::glestMain (argc=<optimized out>, argv=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4140
#19 0x000000000062e0d6 in Glest::Game::glestMainWrapper (argc=1, argv=0x7fffb52e9a48) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4296
#20 0x00007fdc9c32e30d in __libc_start_main (main=0x4ab0c0 <main(int, char**)>, argc=1, ubp_av=0x7fffb52e9a48, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffb52e9a38) at libc-start.c:226
#21 0x00000000004b0539 in _start ()

Please note that I manually edited an existing savegame to create this situation, replacing all occurrences of the previous techtree "megapack" by "doesntexist". Before this modification was made, this savegame loaded fine. If this is not a proper test case, please say so.

I'm not exactly sure whether or not this can be considered a bug. However, the map referred to in the error message IS available at the very location provided, so at least this error message seems wrong. And the "tech tree has not tech resources, one at least is required" message is at least hard to understand / misleading when what is happening is that you are trying to play a savegame from someone else who was using a techtree you have not available on your system. So maybe the error message could be improved, and an on-screen message could be displayed instead of the game segfaulting immediately? (I really don't know how much I'm asking here, so if this makes things complex then just keep it as is).

Entirely unrelated (I guess) is that I'm surprised about the output of >>> schoen (german for nice) in this place and I'm wondering what it means in this context.

207
When you run the the "Lord of the Land" scenario, create a save game right after the start, then exit the game and load this savegame, you will run into this error:
Code: [Select]
tomreyn@atibox:~/SCM/megaglest-trunk/mk/linux$ ./dev_rungame
megaglest v3.6.1-dev
Compiled using: GNUC: 40601 [64bit] on: Apr  2 2012 12:42:52
SVN: [Rev: 3217M] - using STREFLOP [SSE] - [no-denormals]
[2012-04-02 12:46:10] *ERROR* In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/types/skill_type.cpp::load Line 416] WARNING CANNOT LOAD MODEL [/home/tomreyn/.megaglest/scenarios/lord_of_the_land/megapack_/factions/tech/units/swordman/models/guard_attacking.g3d] for parentLoader [/home/tomreyn/.megaglest/scenarios/lord_of_the_land/megapack_/factions/tech/units/swordman/swordman.xml]
[2012-04-02 12:46:10] *ERROR* In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/types/skill_type.cpp::load Line 416] WARNING CANNOT LOAD MODEL [/home/tomreyn/.megaglest/scenarios/lord_of_the_land/megapack_/factions/tech/units/swordman_/models/guard_attacking.g3d] for parentLoader [/home/tomreyn/.megaglest/scenarios/lord_of_the_land/megapack_/factions/tech/units/swordman_/swordman_.xml]
[2012-04-02 12:46:29] *ERROR* In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/types/skill_type.cpp::load Line 416] WARNING CANNOT LOAD MODEL [/home/tomreyn/.megaglest/scenarios/lord_of_the_land/megapack_/factions/tech/units/swordman/models/guard_attacking.g3d] for parentLoader [/home/tomreyn/.megaglest/scenarios/lord_of_the_land/megapack_/factions/tech/units/swordman/swordman.xml]
[2012-04-02 12:46:29] *ERROR* In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/types/skill_type.cpp::load Line 416] WARNING CANNOT LOAD MODEL [/home/tomreyn/.megaglest/scenarios/lord_of_the_land/megapack_/factions/tech/units/swordman_/models/guard_attacking.g3d] for parentLoader [/home/tomreyn/.megaglest/scenarios/lord_of_the_land/megapack_/factions/tech/units/swordman_/swordman_.xml]
[2012-04-02 12:46:30] *ERROR* In [program.cpp::setState Line: 590]
Error [Error converting from string to int, found: [false]]
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 634] Error detected: signal 11:
Error saved to logfile [/home/tomreyn/.megaglest/error.log]

Segmentation fault detected, analyzing...

warning: Can't read pathname for load map: Eingabe-/Ausgabefehler.
[Thread debugging using libthread_db enabled]
Core was generated by `./megaglest'.
Program terminated with signal 11, Segmentation fault.
#0  0x00000000005544ca in Glest::Game::Game::update (this=0x7f272426efb0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1238
1238                                    aiInterfaces[j]->update();
#0  0x00000000005544ca in Glest::Game::Game::update (this=0x7f272426efb0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1238
#1  0x000000000063e2dd in Glest::Game::Program::loopWorker (this=0x1fd4bb0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:431
#2  0x0000000000634345 in Glest::Game::ExceptionHandler::handleRuntimeError (msg=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:512
#3  0x000000000061da22 in Glest::Game::handleSIGSEGV (sig=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:638
#4  <signal handler called>
#5  0x00000000005544ca in Glest::Game::Game::update (this=0x7f272426efb0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1238
#6  0x000000000063e2dd in Glest::Game::Program::loopWorker (this=0x1fd4bb0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:431
#7  0x000000000062aca6 in Glest::Game::glestMain (argc=<optimized out>, argv=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4140
#8  0x000000000062e0d6 in Glest::Game::glestMainWrapper (argc=1, argv=0x7fff6204e5a8) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4296
#9  0x00007f274544b30d in __libc_start_main (main=0x4ab0c0 <main(int, char**)>, argc=1, ubp_av=0x7fff6204e5a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff6204e598) at libc-start.c:226
#10 0x00000000004b0539 in _start ()

error.log:
Code: [Select]
[2012-04-02 12:46:31] Runtime Error information:
======================================================
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 634] Error detected: signal 11:

Stack Trace:
./megaglest() [0x61da22] address [0x61da22] line: 638
/lib/x86_64-linux-gnu/libc.so.6:() address [0x7f2745460420] line: 0
./megaglest:Glest::Game::Game::update() address [0x5544ca] line: 1238
./megaglest:Glest::Game::Program::loopWorker() address [0x63e2dd] line: 432
./megaglest:Glest::Game::glestMain(int, char**) address [0x62aca6] line: 4140
./megaglest:Glest::Game::glestMainWrapper(int, char**) address [0x62e0d6] line: 4298
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main() address [0x7f274544b30d] line: 0
./megaglest() [0x4b0539] address [0x4b0539] line: 0

I originally reported this as part of this bug as they seemed related to me (but it turned out they are actually not).

208
I've just made a test build of the latest development code: megaglest_win32_r3212_bin.7z.

Archive checksums:
  • MD5 50242052800025c5d4dcb2a4cafe2cb3
  • SHA1 25e130b71b74508c87f0dae4ddf95d4776216d92
This 7-zip archive contains only the executable, PDB (debugging info) and default .ini files, nothing automatic, no installer. If you would like to use them you need to already know how, since I cannot explain it in a way which will work for everybody. Basically the process is that you make a copy of your entire existing MegaGlest installation, then extract the contents of this archive into the copy of your MegaGlest directory, overwriting the existing files.

Another option which saves disk space is to unpack this archive to a new directory, rename all files so that they have a distinct name, such as megaglest.exe -> megaglest_r12345.exe (where 12345 is the SVN revision) etc., then move them into your existing MegaGlest installation directory, next to the existing megaglest.exe etc.

If you would like to play a test game with this revision, please let me know. This development build contains an early version of the (can I say awesome?) upcoming savegame feature. It also fixes several bugs.

209
I noticed that whenever I reloaded a savegame, memory allocation of MegaGlest seemed to increased. Actually it pretty much stopped increasing after reaching about reaching 670 MB, though. After reloading yet another savegame I had created on the same revision of MegaGlest, I ended up with many archers which were still selected (that's how the game had been saved). But there is this delay after larger games get reloaded. So I did not do anything but click on the ground, hoping to deselect my archers this way. However, this actually seemed to have triggered this issue:

Code: [Select]
megaglest v3.6.1-dev
Compiled using: GNUC: 40601 [64bit] on: Mar 31 2012 22:11:45
SVN: [Rev: 3209M] - using STREFLOP [SSE] - [no-denormals]
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 634] Error detected: signal 11:
Error saved to logfile [/home/tomreyn/.megaglest/error.log]

Segmentation fault detected, analyzing...

warning:
Can't read pathname for load map: Eingabe-/Ausgabefehler.
[Thread debugging using libthread_db enabled]
Core was generated by `./megaglest'.
Program terminated with signal 11, Segmentation fault.
#0  0x000000000085dcdf in isInside (y=1065353216, x=0, this=0x0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/map.cpp:562
562        return x>=0 && y>=0 && x<w && y<h;
#0  0x000000000085dcdf in isInside (y=1065353216, x=0, this=0x0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/map.cpp:562
#1  Glest::Game::Map::isInside (this=0x0, pos=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/map.cpp:566
#2  0x00000000007bf4c5 in Glest::Game::Unit::computeHeight (this=0x7f9fb05c2790, pos=...) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/type_instances/unit.cpp:2717
#3  0x00000000007bf6e1 in Glest::Game::Unit::getVectorFlat (this=0x7f9fb05c2790, lastPosValue=..., curPosValue=...) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/type_instances/unit.cpp:1212
#4  0x00000000007bf7c7 in Glest::Game::Unit::getCurrVectorFlat (this=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/type_instances/unit.cpp:1185
#5  0x00000000005ce689 in Glest::Game::Renderer::renderSelectionEffects (this=0xc74260) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:4711
#6  0x000000000054296c in Glest::Game::Game::render3d (this=0x7f9fbb77def0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:2833
#7  0x00000000005658f2 in Glest::Game::Game::renderWorker (this=0x7f9fbb77def0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1662
#8  0x0000000000565e18 in Glest::Game::Game::render (this=0x7f9fbb77def0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1592
#9  0x0000000000633566 in Glest::Game::Program::loopWorker (this=0x1f0fd10) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:391
#10 0x0000000000629dd5 in Glest::Game::ExceptionHandler::handleRuntimeError (msg=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:512
#11 0x0000000000616442 in Glest::Game::handleSIGSEGV (sig=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:638
#12 <signal handler called>
#13 0x000000000085dcdf in isInside (y=1065353216, x=0, this=0x0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/map.cpp:562
#14 Glest::Game::Map::isInside (this=0x0, pos=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/map.cpp:566
#15 0x00000000007bf4c5 in Glest::Game::Unit::computeHeight (this=0x7f9fb05c2790, pos=...) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/type_instances/unit.cpp:2717
#16 0x00000000007bf6e1 in Glest::Game::Unit::getVectorFlat (this=0x7f9fb05c2790, lastPosValue=..., curPosValue=...) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/type_instances/unit.cpp:1212
#17 0x00000000007bf7c7 in Glest::Game::Unit::getCurrVectorFlat (this=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/type_instances/unit.cpp:1185
#18 0x00000000005ce689 in Glest::Game::Renderer::renderSelectionEffects (this=0xc74260) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:4711
#19 0x000000000054296c in Glest::Game::Game::render3d (this=0x7f9fbb77def0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:2833
#20 0x00000000005658f2 in Glest::Game::Game::renderWorker (this=0x7f9fbb77def0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1662
#21 0x0000000000565e18 in Glest::Game::Game::render (this=0x7f9fbb77def0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1592
#22 0x0000000000633566 in Glest::Game::Program::loopWorker (this=0x1f0fd10) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:391
#23 0x0000000000620c10 in Glest::Game::glestMain (argc=<optimized out>, argv=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:3849
#24 0x0000000000623f56 in Glest::Game::glestMainWrapper (argc=1, argv=0x7fff2ca42ce8) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4005
#25 0x00007f9ff5f3130d in __libc_start_main (main=0x4aafc0 <main(int, char**)>, argc=1, ubp_av=0x7fff2ca42ce8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff2ca42cd8) at libc-start.c:226
#26 0x00000000004b0439 in _start ()

So I'm not entirely sure how to reproduce it unfortunately. Maybe the stacktrace can provide enough info.

210
When loading a previously saved tutorial, based on the "advanced tutorial", which is displaying a message window while saving, I run into this issue:

Code: [Select]
SVN: [Rev: 3207M] - using STREFLOP [SSE] - [no-denormals]
[2012-03-31 21:59:28] *ERROR* In [program.cpp::setState Line: 569] Error [Error converting from string to int, found: [GlestAdvancedTutorial]]
Error saved to logfile [/home/tomreyn/.megaglest/error.log]
terminate called after throwing an instance of 'std::runtime_error'
  what():  font == NULL
[2012-03-31 21:59:28] *ERROR* In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleRuntimeError Line: 407] [font == NULL] gameInitialized = 1, program = 0xf89ba0
[2012-03-31 21:59:28] *ERROR* In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleRuntimeError Line: 494] [font == NULL
Stack Trace:
./megaglest:Glest::Game::glestMain(int, char**) address [0x61b445] line: 3898
./megaglest:Glest::Game::glestMainWrapper(int, char**) address [0x622b16] line: 4007
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main() address [0x7ff5a488b30d] line: 0
./megaglest() [0x4afa69] address [0x4afa69] line: 0
]

Here's the savegame (screenshot) for this.

Update: Fixed typo.

211
If, for example, you create a savegame which was running on a map you later removed, you'll run into a segmentation fault:

Code: [Select]
./dev_rungame
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: option value of option vblank_mode ignored.
megaglest v3.6.1-dev
Compiled using: GNUC: 40601 [64bit] on: Mar 31 2012 15:09:09
SVN: [Rev: 3207M] - using STREFLOP [SSE] - [no-denormals]
[2012-03-31 20:19:19] *ERROR* In [program.cpp::setState Line: 569] Error [Map [no_such_map] not found, scenarioDir []]
Error saved to logfile [/home/tomreyn/.megaglest/error.log]
terminate called after throwing an instance of 'std::runtime_error'
  what():  font == NULL
[2012-03-31 20:19:19] *ERROR* In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleRuntimeError Line: 407] [font == NULL] gameInitialized = 1, program = 0x7f6e68000ad0
[2012-03-31 20:19:20] *ERROR* In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleRuntimeError Line: 494] [font == NULL
Stack Trace:
./megaglest:Glest::Game::glestMain(int, char**) address [0x61b445] line: 3898
./megaglest:Glest::Game::glestMainWrapper(int, char**) address [0x622b16] line: 4007
/lib/x86_64-linux-gnu/libc.so.6:__libc_start_main() address [0x7f6e79a2230d] line: 0
./megaglest() [0x4afa69] address [0x4afa69] line: 0
]

Segmentation fault detected, analyzing...

warning: [New LWP 31461]
[New LWP 31465]
[New LWP 31467]
[New LWP 31466]
[New LWP 31469]
[New LWP 31464]
[New LWP 31472]
[New LWP 31470]
[New LWP 31471]
Can't read pathname for load map: Eingabe-/Ausgabefehler.
[Thread debugging using libthread_db enabled]
64    ../nptl/sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
Core was generated by `./megaglest'.
Program terminated with signal 6, Aborted.
#0  0x00007f6e79a373a5 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
    in ../nptl/sysdeps/unix/sysv/linux/raise.c
#0  0x00007f6e79a373a5 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007f6e79a3ab0b in __GI_abort () at abort.c:92
#2  0x00007f6e7a073d7d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007f6e7a071f26 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007f6e7a071f53 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007f6e7a07204e in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00000000005c2e57 in Glest::Game::Renderer::getCentered3DPos (this=<optimized out>, text=..., font=<optimized out>, pos=..., w=<optimized out>, h=22, centeredW=true, centeredH=true) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:2403
#7  0x00000000005c370c in Glest::Game::Renderer::renderTextBoundingBox3D (this=0xc71260, text=..., font=0x0, color=..., x=<optimized out>, y=<optimized out>, w=90, h=22, centeredW=true, centeredH=true) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:2538
#8  0x00000000005c3c55 in Glest::Game::Renderer::renderButton (this=0xc71260, button=0x7f6e68018a70, fontColorOverride=<optimized out>, lightedOverride=0x0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:2856
#9  0x00000000005c5f89 in renderButton (button=0x7f6e68018a70, this=<optimized out>, fontColorOverride=<optimized out>, lightedOverride=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:2746
#10 Glest::Game::Renderer::renderMessageBox (this=0xc71260, messageBox=0x7f6e68000b20) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:3287
#11 0x00000000006347f4 in Glest::Game::Program::renderProgramMsgBox (this=0x7f6e68000ad0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:476
#12 0x000000000063d137 in Glest::Game::Intro::render (this=0x7f6e5e107a10) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/intro.cpp:751
#13 0x0000000000632126 in Glest::Game::Program::loopWorker (this=0x7f6e68000ad0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:391
#14 0x0000000000628995 in Glest::Game::ExceptionHandler::handleRuntimeError (msg=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:512
#15 0x000000000061b445 in Glest::Game::glestMain (argc=<optimized out>, argv=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:3898
#16 0x0000000000622b16 in Glest::Game::glestMainWrapper (argc=1, argv=0x7fff1e1e6c58) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4005
#17 0x00007f6e79a2230d in __libc_start_main (main=0x4aa5f0 <main(int, char**)>, argc=1, ubp_av=0x7fff1e1e6c58, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff1e1e6c48) at libc-start.c:226
#18 0x00000000004afa69 in _start ()

The game should provide a user friendly on screen error message when any data referenced (and depended upon) by the savegame does not exist and there should be no segfault. Instead the game should return to the "Load game" or main menu in all cases but for missing tilesets, in which case a default replacement tileset should be loaded (this can be just the first one in the list of available tilesets), accompanied by a console warning message reporting the override.

212
When you save a game while it is lit / in flames, then restore this game, the building is (correctly) still in flames. You can also make your workers repair it properly, so the building regains its full health. However,  the building will never stop burning then.

213
On r3129, with the Amazones scenario saved during the first attack wave, when you restore this scenario from a savegame state, the following waves never take place - even though you still get a message about the next wave starting there are no more attacks.
Correctly, once you have killed the last attacking unit which is part of an ongoing attack wave, the next wave should be spawned, and new units should be generated and be heading towards your castle.

214
After reloading a game which has Lua triggered announcement and objective texts, such as the Amazones scenario, text localization variables are not expanded properly, resulting in thext localization failing:

Code: [Select]
[2012-03-29 22:40:43] *ERROR* In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/global/lang.cpp::getScenarioString Line: 330] Error [Value not found in propertyMap: "thirdwave", loaded from: /home/tomreyn/SCM/megaglest-trunk/mk/linux//scenarios/amazones/amazones_english.lng]
 
What you get then is a message windows saying ???thirdwave???, and once you confirmed this message, you get an ojective indicator text on the top of the screen which reads: ???thirdwave???.

Correctly this message would get expanded to the string which IS in this very file referenced in the error message:
Code: [Select]
thirdwave=Objective: Probably too many ladies...

215
I just tried running the game with different values for --set-gamma on my Ubuntu 10.10 system with AMD/ATI GPU and open source "radeon" drivers:
Code: [Select]
--set-gamma=0.00001
--set-gamma=1.6
--set-gamma=6.1
To me, the result was pretty much the same, a difference was hardly, and possibly not at all, noticeable. The golden dots on the gold texture seemed a little bit lighter on one of the two games I ran in parallel, but this was more likely be due to time of day differences. So I assume this does not actually work with my drivers. Which would then not be a game but a driver bug, I guess? That's unless there is an alternative way to achieve this with the open source drivers. I assume an OpenGL or SDL function is being used there? I guess I could search the web or ask for help in #radeon if you could hint me where to find this or which function/command/directive is used there.

216
I've just made a test build of the latest development code: megaglest_win32_r3191_bin.7z. This 7-zip archive contains the following files only:
Code: [Select]
   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2012-02-11 01:42:42 ....A         2355      8526652  glest.ini
2012-03-17 16:20:19 ....A         1017               glestkeys.ini
2012-03-29 00:46:56 ....A     53660672               megaglest.pdb
2012-03-29 00:00:03 ....A     15100928               megaglest_editor.pdb
2012-03-29 00:00:57 ....A     21154816               megaglest_g3dviewer.pdb
2012-03-29 00:47:01 ....A      7740416      3248189  megaglest.exe
2012-03-29 00:00:09 ....A      4350976               megaglest_editor.exe
2012-03-29 00:01:01 ....A      5226496               megaglest_g3dviewer.exe
------------------- ----- ------------ ------------  ------------------------
                             107237676     11774841  8 files, 0 folders

Archive checksums:
  • MD5 527f2f46d2ffa3db90bf00ecf38f89d1
  • SHA1 42d2fb473bab42efa0fe7a014b4edaa5acb8f9f2
  • SHA256 d738f8a72a438d96a73d77883e81ae4fd4091ceec94db1d855472adcde44315d

So these are just the executable and default .ini files, nothing automatic, no installer. And if you want to use them you need to already know how, since I cannot explain it in a way which will work for everybody.
Basically the process is that you make a copy of your entire existing MegaGlest installation, then extract the contents of this archive into the copy of your MegaGlest directory, overwriting the existing files.

Another option which saves disk space is to unpack this archive to a new directory, rename all files so that they have a distinct name, such as megaglest.exe -> megaglest_r12345.exe (where 12345 is the SVN revision) etc., then move them into your existing MegaGlest installation directory, next to the existing megaglest.exe etc.

If you would like to play a test game with this revision, please let me know. This development build contains an early version of the (can I say awesome?) upcoming savegame feature. It also fixes several bugs.

217
The Windows installer seems to place the installer background image (the yellow/golden colored epic scene where two opposing armies confront each other) in C:\ for some reason. I'm not sure why it can write there anyways, but it seems to be able and do so. The fix would be not to place this file anywhere other than, if needed, a temporary directory.

I may be mistaken in that this file was placed there by an earlier version of the installer/game (so not 3.6.0.3), but then you'd be aware you already fixed this...

Edit by Omega: Changed title to uninstaller

218
When I restore this savegame (screenshot) which was created with r3186 during the Amazones scenario, I run into this error message:
 
Code: [Select]
[2012-03-28 19:38:05] *ERROR* In [game.cpp::update Line: 1476] Error [Error calling lua function [unitDied] error: Runtime error: [string "unitDied"]:3: attempt to get length of global 'enemies' (a nil value)]

219
I've played the Amazones scenario to the end and have won it after killing all the units which had been announced as the "last wave". Since I've won the game at this point, the prompt asking whether or not I want to exit is displayed and I choose not to exit just yet. After this, the message announcing the last wave pops up again repeatedly. I think it pops up whenever I kill another enemy unit (there are enemy units left, they just don't move towards and attack my castle anymore but guard their own castle). This "last wave" announcement should not display more than once.

220
It would be nice if it was possible to determine, for a local headless server, whether network players are currently connected to it. While this can usually be done by querying the masterserver, that's not as ideal as being able to determine this locally. Currently, if the gameserver fails, for any reason, to report / get listed on to the masterserver, then you cannot determine its current game state (waiting for network players, game full, game in progress, # of network players connected).

Some use cases:
You may want to restart the server in regular intervals or based on system indicators but only if no network players are currently connected (you may want to postpone otherwise), if, for example:
  • the process has been running for > 24 hours, but you want to restart it every 24 hours to rotate the log files
  • the process' memory consumption has reached xxx MB but no network players are connected,
So it would be nice to be able to do one of the following:
  • Inspect presence of a lock file which indicates that >=1 network players are connected
  • Run megaglest with a special command line option to determine the game state of the previously started (and still running) MegaGlest process
  • There may be other ways/interfaces I cannot currently think of which would serve this purpose even better
I guess I'm asking for two things: an indicator which allows to determine whether network players are connected (this would be really nice to have from a server admin point of view - sure you can use netstat/lsof for this purpose but it's not as clean) and a way to locally query the current game state of a running headless server. The latter is actually not so important to me, I'm merely listing it here because it is somehow related and might be of use to others (and would include the first request).

221
MegaGlest / How you and anyone can contribute to MegaGlest
« on: 23 March 2012, 03:34:41 »
This post was originally written by Pizza, a community member. I've rewritten lots of it but tried to align it to his original post.



This is not a feature request for the developers - it's a request to everyone who wants to help make MegaGlest better. Before telling you what everyone interested in the game can and should actively contribute, even if - like me - you are not a developer, I will explain why we need to do this:
 
We (I'm talking as a community voice here, since this has hardly been said before) can continue to open 200 feature requests threads per day, we can criticise the developers because they are, in our eyes, not fast enough, we can say that MegaGlest is crap because it does not have some feature and so on. But the result of this (I think) will be that the MegaGlest developers will stop the develoopment of this awesome game because they will be tired of all this inconstructive criticism and MegaGlest will just become unplayable with no new features, just newly discovered bugs etc. Do you want this to happen? I DONT! So this is my call to everyone who wants to not just be a consuming couch potato but an active contributor: help MegaGlest and the developers! How?
 
Here are some ideas:
 
Community organising
  • Schedule and announce game events - yes, everybody can do this!, such as multi-player games for players in a given region in the world, tournaments etc. Announce it on the forums and we'll do our best to make it more widely known.
  • Think of other ways to further the community, discuss it, in a group, and do it! Think of game data contests (who creates the best map in just an hour, the best tileset in a day, the best scenario storyline on a weekend etc.)
  • Think of new ways to encourage others to get more involved in actually creating (in contrary to just debating, which, unless it is followed up by real work doesn't change anything) a nicer gaming experience for all. Stifle a change of peoples' mentality from that of a consumer to that of a creator.
  • Help moderate the forums - talk to Omega or Titi after you've demonstrated, on the forums, that you know the do's and don'ts of forum moderation
  • Help gardening the wiki and improve the game documentation there
  • Tell to yor friends about MegaGlest, and tell them to tell theirs, so there will be a broader player, and ideally, developer community around MegaGlest
Modding and translations
  • Make quality maps, tilesets, scenarios and techtrees (can be single factions), then request for them to be reviewed for inclusion in the game or mod menu
  • Respond to game data requests in the Mods forums (e.g. some people recently posted that they are in need of voice recordings with certain accents or in specific languages)
  • Translate MegaGlest to a new language or take over maintenance of an existing translation
Testing and Quality Assessment
  • Report bugs in a correct and detailed way as you spot them
  • Provide constructive criticism and feedback and make proposals
  • Test alpha, beta and other development versions as they become available, on as many operating systems and platforms as possible
  • If you are knowledgeable enough to build MegaGlest yourself, please do so regularly, test the builds and provide feedback. Or just use the snapshot builds
  • Proof read existing translations and provide corrections
Donations
  • If you have a 24/7 (dedicated/virtual private) server with spare resources you can set up a gameserver there or provide trusted community members with access credentials so they can set one up and manage it.
  • Offer bounties on features you would like to see implemented (I dont know whether the developers actually like this idea - maybe it's better if you ask them before doing so)
  • Donate some money to cover our hosting costs and to make it possible to have game contests.
  • If you run a business and can make some freebies available as contest trophies with limited strings attached, please get in touch.
OK, these were just some ideas on how to help MegaGlest... For those who may now wonder "what did pizza actually do for MegaGlest?": I translated MegaGlest to Itlalian, I keep this translation up to date, I report bugs and as soon as someone makes a Linux build of the development version I'm happy to test it. :)

Edited by tomreyn (January 2016) to add link to snapshot builds, remove request for custom builds.

 

222
I've just made a test build of the latest development code: megaglest_win32_r3169_bin.7z. This 7-zip archive contains the following files only:
Code: [Select]
   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2012-02-11 01:42:42 ....A         2355      8516129  glest.ini
2012-03-17 16:20:19 ....A         1017               glestkeys.ini
2012-03-22 02:44:05 ....A     53382144               megaglest.pdb
2012-03-22 02:44:42 ....A     15100928               megaglest_editor.pdb
2012-03-22 02:45:49 ....A     21122048               megaglest_g3dviewer.pdb
2012-03-22 02:44:14 ....A      7699456      3242788  megaglest.exe
2012-03-22 02:44:49 ....A      4350976               megaglest_editor.exe
2012-03-22 02:45:53 ....A      5226496               megaglest_g3dviewer.exe
------------------- ----- ------------ ------------  ------------------------
                             106885420     11758917  8 files, 0 folders

So these are just the executable files, nothing automatic, no installer. And if you want to use it you need to know how to use it cannot explain it in a way which will work for everybody.
Basically the process is that you make a copy of your entire existing MegaGlest installation, then extract the contents of this archive into the copy of your MegaGlest directory, overwriting the existing files.

Another option which saves disk space is to unpack this archive to a new directory, rename all files so that they have a distinct name, such as megaglest.exe -> megaglest_r3169.exe etc., then move them into your existing MegaGlest installation directory, next to the existing megaglest.exe etc.

If you would like to play a test game with this revision, please let me know. This development build contains an early version of the (can I say awesome?) upcoming savegame feature. It also fixes several bugs.

223
This is again about summoner, the server I've reported about previously, which is a sometimes rather stressed VM.
This time it did not crash, but, like a couple times before (I just never reported this, not knowing where to start), it stopped accepting inbound connections (even attaempts to connect directly by specifying its IP address failed after some 10 or so seconds) and failed getting/keeping listed on the masterserver.

I'm not sure why this happened and hat exactly triggers this. The server log indicates that there were some peek errors before it stopped working. I also ran gdb, attaching to the process to get a backtrace, deattaching, and repeating, several times, and always got the same trace.

224
The Japanese faction has a rather light loading screen. This, by itself, should be fine in my opinion. However, the text which displays on the loading screen is rather hard to read because its color is white, and there is no outline. So I suggest to add an outline to all white text on the loading screen (in fact I think white text should have a black outline anywhere in the game and vice versa).

225
This is a minor issue, but I'll report it anyways... If you press the button to save a game multiple times in quick succession then, while the game reports to have created a savegame everytimes you pressed the button, only the first game is actually saved. This seems to be because creating savegame files is a sequential process and there is no queueing.

Possible fixes (I assume):
  • Fail (silently or, better, with a message) to create another savegame if creating a savegame is already in progress
  • Make game saving threaded

Pages: 1 ... 5 6 7 8 [9] 10 11 12 13 ... 20
anything