MegaGlest Forum

Archives (read only) => Glest Advanced Engine => General discussion => Topic started by: daniel.santos on 13 February 2008, 07:04:15

Title: Glest Advanced Engine
Post by: daniel.santos on 13 February 2008, 07:04:15
Updated Dec 11, 2008 -- For downloads, please visit
Code: [Select]
[url=http://glest.codemonger.org]http://glest.codemonger.org[/url]GAE adds a number of features, most of which cannot be utilized without making a tech tree mod.  While the GAE is tech tree neutral, it was originally created for the purpose of the Four Path Magitech mod.

FeaturesDocumentation can be found here:
Code: [Select]
[url=https://docs.megaglest.org/GAE]https://docs.megaglest.org/GAE[/url].
Sources available from at
Code: [Select]
[url=https://glest.codemonger.org/svn/repos]https://glest.codemonger.org/svn/repos[/url].  From the command line, you would use this command:
Code: [Select]
svn co https://glest.codemonger.org/svn/repos/gae/trunk glest
Command Queuing
Command queuing works by holding down shift while completing any command.  This works with moving, attacking, building, harvesting, etc.  Note that some commands will never end, like patrol, guard or hold position, so it won't help to queue commands after either of these.  The stop command is always discarded once a command is queued (i.e., the queued command is immediately executed).

Patrol & Guard Commands[/b]
There is no skill for either patrol or guard, you just add a command to your unit.  The command requires both a move and attack skill and the guard command requires a max-distance tag (probably patrol should have one too, but oh well).
Code: [Select]
<command>
<type value="guard"/>
<name value="guard"/>
<image path="../../../../placeholders/icon.bmp"/>
<unit-requirements/>
<upgrade-requirements/>
<move-skill value="move_skill"/>
<attack-skill value="attack_skill"/>
<max-distance value="4"/>
</command>

<command>
<type value="patrol"/>
<name value="patrol"/>
<image path="../../../../placeholders/icon.bmp"/>
<unit-requirements/>
<upgrade-requirements/>
<move-skill value="move_skill"/>
<attack-skill value="attack_skill"/>
<max-distance value="4"/>
</command>
Pets[/b]
A minimal pet implementation is in place.  By adding the <pet> tag to a produce skill, units produced with that skill become pets of the creator ("pets", "minions", "familiars", whatever).  A pet will die when the creator dies and will automatically guard their creator when not assigned another command, as long as they have a guard command.  Pets also automatically will attack the position (but not the specific target) of their creator when their creator executes any attack.  (actually, I think it'll crash if the pet doesn't have an attack command now that I think of it :) ). In the future, there should be more options for what happens to a pet when the owner dies.
Code: [Select]
<skill>
<type value="produce"/>
<name value="summon_skel"/>
<ep-cost value="5"/>
<speed value="75"/>
<anim-speed value="100"/>
<animation path="../../../../placeholders/sphere.g3d"/>
<sound enabled="true" start-time="0.3">
<sound-file path="../../../../../magitech/factions/magic/units/summoner/sounds/summoner_summon1.wav"/>
<sound-file path="../../../../../magitech/factions/magic/units/summoner/sounds/summoner_summon2.wav"/>
<sound-file path="../../../../../magitech/factions/magic/units/summoner/sounds/summoner_summon3.wav"/>
<sound-file path="../../../../../magitech/factions/magic/units/summoner/sounds/summoner_summon4.wav"/>
</sound>
<pet value="true" max="4"/>
</skill>
note: this is a snippet from the necromancer unit, so please ignore all of the odd paths to files.

Effects, Emanations & Expanded Upgrades & Levels[/b]
Full details for these enhancements can be found on the documentation wiki page
Code: [Select]
[url=https://docs.megaglest.org/GAE/Guide]https://docs.megaglest.org/GAE/Guide[/url].This has been tested on both Linux x86_64 and Windows XP (32 bit).
Title:
Post by: Duke on 14 February 2008, 00:51:25
It's commin along nicely I see.

I know there is much to be done still, but some clarifications of what is intendet:
Will it be possible to define pets withou attack? I can think of some pets that just emanate. (although for that case the emanation target, could use an owner option.)
Is the amount of pets a unit can have defined per type, total or both?
If total is possilbe, can you kill pets to make room for others?.

Some names:
Glext, Glestention or Glextention, Glexpanded, (Glevolution (; ).
I'd tend to GASH (Glest Advanced Skills Hack).
Title:
Post by: enveloop on 14 February 2008, 01:24:47
GAP? Glest Advanced Pack :)
Title:
Post by: firedeathbot on 14 February 2008, 01:53:54
cool, keep it up
Title:
Post by: daniel.santos on 14 February 2008, 04:11:55
Thanks for all of the feedback.  I think I like Glest Advanced Pack, or something along those lines.

Duke, yea, I'm going to fix that problem with the attack soon, you should definitely be able to have pets that don't attack.  These are commonly called familiars in fantasy lore.  When we finally get to the path of nature, we're going to have druids and I wanted druids to be able to have a faerie, pixie or sprite as a familiar and neither of those would attack, but cast beneficial spells on friendly units.  This brings up all sorts of AI & issues, this won't really work unless these familiars can be set to autocast, which means they need to know when they should and shouldn't try to do so.

I'm having some performance problems (small delays) somewhere in Game::update() and I haven't figured out how to get the profiling build to actually spit out a gprof log yet so I can figure out what's going on.  I'm suspecting either something in my modifications or the AI.

Oh yea, as far as the way the pet limits work right now, I really don't like it.  It limits by type, but if you use the same skill for producing more than one unit/pet type, that limit will be applied to each type separately.  I was working out a more complex "PetRules" class that would be a part of UnitType rather than being tied to the skill or command type, but I couldn't find a clean paradigm, so I just crammed it into the skill type rather quickly. :)  The idea of a PetRules class would also specify what happens when pets die (for instance, it's common for the death of a familiar to cause damage or something to the owner), when an owner dies because maybe some pets should become wild when an owner dies.  Maybe that wild pet should run off or maybe it should just attack whatever is near.  I also want to use this paradigm for the Lich ability to control other units, and make sure they return to the correct team when the Lich dies.  It may also be important as to rather not the unit that killed the pet owner gets credit for killing his pets as well.  Currently, they do.

So in short, Duke, I guess those are questions of "what should it be?"  One thing I'm not a big fan of is putting in lots of extra code for features that probably won't get used.
Title: -
Post by: daniel.santos on 21 February 2008, 06:48:29
Update: Windows executable now available!

Code: [Select]
[url=http://glest.codemonger.org/files/glesty-win32_SSE2-r15.rar]glesty-win32_SSE2-r15.rar[/url] (579 kb)
or for older processors (without SSE2)
[url=http://glest.codemonger.org/files/glesty-win32-r15.rar]glesty-win32-r15.rar[/url] (579 kb)
Title:
Post by: wciow on 21 February 2008, 21:51:27
This doesn't work for me  :?
Title: -
Post by: daniel.santos on 21 February 2008, 23:34:21
OK, I think this is due to using the latest compiler, it links against newer c runtime libraries.  I'm recompiling to link these statically now, and will post when done.  Alternatively, you can download and install
Code: [Select]
[url=http://www.microsoft.com/downloads/details.aspx?familyid=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en]Microsoft Visual C++ 2008 Redistributable Package[/url] and it will probably fix the problem.  Also, I'm getting some unresolved symbols now, so I'll have to figure that out before I can get a good build.
Title: -
Post by: daniel.santos on 22 February 2008, 00:06:16
OK, try one of these.  I'm not exactly sure what happens when you run a program that was compiled to use SSE instructions and your processor doesn't support it, I presume it crashes.  But the SSE2 versions *should* be faster if your processor supports it.  I'll gladly take any opinions on this from somebody who's played with this more.

Either way, I found a bug in r15 that cause splash damage (and effects) to not splash, so it's fixed in this revision.

Code: [Select]
[url=http://glest.codemonger.org/files/glesty-win32-static-r17.rar]glesty-win32-static-r17.rar[/url] (673 kb)
[url=http://glest.codemonger.org/files/glesty-win32_SSE2-static-r17.rar]glesty-win32_SSE2-static-r17.rar[/url] (685 kb)
Title:
Post by: wciow on 22 February 2008, 00:17:09
I downloaded the package and it works now. I tried a quick game but I'll need to do a bit more testing before I can give any worthy feedback. All I can say so far is that you have done an amazing amount of work. I'll try to get an updated media pack out to you by the end of the week with more models for testing.
Title:
Post by: daniel.santos on 22 February 2008, 01:39:27
w00t!  Also, you will probably notice that the skeletons are too large and the necromancers are too small.  I'm not personally worried, it'll all work its self out.

I'm going to try to play an actual game 2nite using the magic faction and see how it plays.  I tried the other night, but the Lich's AE effects weren't working.  I'm also thinking that the path of corruption needs better defenses against the tech tree's areal units, they kinda kicked my butt last night and the tech areals have to get some improvements with their expanded subfactions (definitely the path of reason should, maybe armored air units).  I was also thinking that the path of nature could get spy units like owls or something.

Oh, one more thing, do download the r17 executable, it fixes the problem with AEs (splash) not working.
Title:
Post by: tux-gamer on 22 February 2008, 18:32:03
Wow, it look like interesting, but  i can not svn.
because, my internet conection blok SSL/Https.
Can you give  direct link to linux source code? like daily-svn source code in tar.bz2 ?

Thanks before :D
Title:
Post by: Duke on 22 February 2008, 20:57:07
you have a strange internet connection if it dosn't allow you to secure it. 0o
Title:
Post by: daniel.santos on 23 February 2008, 02:56:25
Quote from: "tux-gamer"
Wow, it look like interesting, but  i can not svn.
because, my internet conection blok SSL/Https.
Can you give  direct link to linux source code? like daily-svn source code in tar.bz2 ?

Thanks before :)  All you have to do is determine if the specified coordinates are visible from the GameCamera object and return true or false.  It just returns a hard-coded true for now so you don't get spammed, but that's all I need to finish that part.  This is one of the very few negative consequences I got from not finishing high school :)

Edit: changed link to sources that have win32 build fixed
Title: -
Post by: daniel.santos on 23 February 2008, 03:54:34
Update: r24 now supports subfactions (not yet documented in wiki) and almost supports the off-screen attack notification.  If this doesn't work for anybody, please let me know.  I'm guessing that there aren't many computers this will crash on (since it's compiled with SSE2 instructions), but it would help to know and thanks.

win32 static binary:
Code: [Select]
[url=http://glest.codemonger.org/files/glesty-win32-static-r24.rar]glesty-win32-static-r24.rar[/url] (692 kb)
Title:
Post by: tux-gamer on 23 February 2008, 10:53:21
Quote from: "daniel.santos"
Quote from: "tux-gamer"
Wow, it look like interesting, but  i can not svn.
because, my internet conection blok SSL/Https.
Can you give  direct link to linux source code? like daily-svn source code in tar.bz2 ?

Thanks before :)  All you have to do is determine if the specified coordinates are visible from the GameCamera object and return true or false.  It just returns a hard-coded true for now so you don't get spammed, but that's all I need to finish that part.  This is one of the very few negative consequences I got from not finishing high school :lol:

Thanks for the link, i will download and try it.

I'am sory, i'am  just a stupid gamer not a coder, so i canot help you.

ps: i'am sory if my english is bad.
Title: Do we have "deploy" skill support by Glest or Gles
Post by: hardyvoje on 26 February 2008, 02:51:28
If not I'll try on it in next month.

By deploy I think:
- make solider to lay on ground for more accurate firing, lower change to get hit
- tank deploys to unmovable cannon
- harvesting unit deploys to mine
...

Original Glest game don't need it as I see, but for some other projects (like my) it will be interesting.

Also:
- coverage

"building" type of object in which unit can enter and fire from it.
Title:
Post by: daniel.santos on 26 February 2008, 07:36:55
@hardyvoje@, Challenges like that make it fun :)  Also, we're going to put out an alpha 1 or the four path magitech tree soon (with the engine needed to support it).  I'll post another tarball of the code so you can download it and I might try to make a pre-compiled binary for Linux as well.
Title: -
Post by: daniel.santos on 4 March 2008, 09:10:27
Unstable (i.e., not all that well tested) release:
Code: [Select]
[url=http://glest.codemonger.org/files/glestadv-win32-r43.rar]glestadv-win32-r43.rar[/url] (win32)
This adds auto repair, which is actually something that effects normal play on the Magitech tech tree.  This probably needs an on & off switch.  Also, when units attack because they see an enemy, they will now very congenially return to their point of origination instead of staying scattered all around.

Here is a complete list of the new features (I think):Also, please note that I have not merged with the mainline in about 2 weeks.  This means that the fixes for ATI users (due to ATI's crapped up drivers) are not in the glest advanced engine mod yet.  There was also some minor balancing done in the mainline that hasn't been merged either.

Known Issues
EDIT: Changed not to now! :)
Title:
Post by: Dr.Dixie on 4 March 2008, 19:28:02
Yay! Capital! Five star! Thanks, Daniel! Especially the first two...
Quote
Units with repair/heal abilities will not automatically heal/repair damaged units if they are idle.

Are you sure you meant to say that?


!Dr.Dixie!
Title:
Post by: orion on 4 March 2008, 20:43:21
BRAVO Daniel.Santos.

The GAP will be a huge mod to Glest. The Glest Team might actually start using it in future releases.
Title:
Post by: Duke on 4 March 2008, 21:15:31
Quote from: "Dr.Dixie"
Yay! Capital! Five star! Thanks, Daniel! Especially the first two...
Quote
Units with repair/heal abilities will not automatically heal/repair damaged units if they are idle.
Are you sure you meant to say that?


that not was meant to be a now I think
Title:
Post by: orion on 4 March 2008, 23:56:53
Quote
Using a repair/heal command on a unit no longer is stopped when the unit moves. Instead, they will chase the damn thing around until it's either healed or dead.


That could do more damage than good when you think about it. Let's say you're healing a guards, but then you suddenly have to attack with that guard. The technician, who is healing the guard, will follow the guard into battle.
Title:
Post by: daniel.santos on 5 March 2008, 02:24:19
whoops! yea, that "not" was supposed to be a "now" :-[

Thanks for all of the positive feedback!!

@orion@, true enough, but the point is to try to keep the military units alive.  However, when idle, a technician will choose to attack an enemy rather than auto-heal an ally.  If explicitly ordered, he will dedicate himself to the task of healing until finished.  Again, I think it's worth having a way to toggle this on and off (either globally or at the unit level).  Perhaps units that have one or more repair commands can get a button (near where the cancel button appears) that will toggle auto-heal/repair on and off.  Probably some button with a wrench and a + for the auto-heal on and the same button with a klaxon over it for the auto-heal off.  It would need a similar button for the magic side.
Title:
Post by: Dr.Dixie on 5 March 2008, 02:49:42
I just realized that when you have multiple buildings being built, a Worker/Initiate starts building whichever building it first hits, not necessarily the one that you are right-clicking. Bug...
I hope you understand.

!Dr. Dixie!
Title:
Post by: ZaggyDad on 5 March 2008, 16:17:23
It should definitely be on a unit scale, because if you turn it off globally, then ranged healers will not heal when they should, or else the villagers will go running off repairing things, making it hard to make them go where you want them (or making you think they're dead. :cry:

Edit (AGAIN): BTW, the off-screen attack notification doesn't seem to work. Glest says that it couldn't find the closing tag for the faction.xml. :confused:

~Zaggy
Title:
Post by: Duke on 5 March 2008, 17:06:31
Did you make any changes to the data pack or can we use the actual Glest one?
Title:
Post by: daniel.santos on 6 March 2008, 08:16:19
Quote from: "Dr.Dixie"
I just realized that when you have multiple buildings being built, a Worker/Initiate starts building whichever building it first hits, not necessarily the one that you are right-clicking. Bug...
I hope you understand.

!Dr. Dixie!

yup, sure is.  thanks

@ZaggyDad@, off-screen notification isn't working yet, but if it says that it can't find a closing tag, then you need to check your xml.  I don't quite understand the gathering point, but I'll mess around with it and see if I can figure it out.  As for the auto-repair, your villagers won't go running off to do repairs if they are busy harvesting or something -- this only occurs with idle workers.  Also, they will attempt to return to their starting point once they are done repairing whatever it was that was broken, hurt or being built.  The only major thing I need to do with this is have them turn around faster if what they are going to repair gets repaired before they arrive.  But I still think having an option to toggle it on or off at the unit level is a good idea.

@Duke@, I didn't make actual changes to the "data pack" per se, but the Four Path Magitech adds to it.  You can use the glest advanced engine with the normal glest magitech tree, although it needs some entries in the .ini file and also the lanuage.lng file (optional if you don't mind ???HpRestored??? and such).  It didn't used to matter much if you use gae with the magitech faction because the new features didn't matter if you didn't use them in the tech tree.  But with the command queuing, auto heal, returning from auto-attack, etc, it does make a difference now.  I'm going to get a more windows friendly setup soon.
Title:
Post by: daniel.santos on 6 March 2008, 11:54:00
Ok, the repairing bug Dr Dixie posted is fixed here:
Title:
Post by: ZaggyDad on 6 March 2008, 17:36:01
The closing tag is there. But it still thinks it isn't when I have the notification stuff in it. :confused:

And what I meant about the villagers is that if you tell a villager to move somewhere, and he finishes moving, and he sees a building needing repairs, he'll immediately start repairing it.

~Zaggy
Title:
Post by: Duke on 6 March 2008, 19:46:11
I actually didn't mean the techtree, but rather the rest of the data pack, since you obviously don't have a complete game with just binaries and techtree.
But you answered that in the other tread.

But I have got another question, how do you compile these sources for linux?
Its not standart, so I have trouble finding out what to do.
Title:
Post by: daniel.santos on 6 March 2008, 19:52:44
hmm, good point, I did run into that a few times.  Maybe I can have a delay before they decide that you forgot about them and they go off and start repairing stuff.  On the flip side of this, it's made the AI mean.  I used to be able to take out a tech camp early on by generating a few combat units before they could get barracks up and start killing off workers from outside of the range of the guard tower and destroying the buildings that they start to build.  But now 5 workers aid in the building and I can't do enough damage, so my quick kill strategy doesn't work anymore (which is actually a good thing).
Title:
Post by: daniel.santos on 6 March 2008, 20:00:53
@Duke@, there are a few threads on this under the Linux forum, but I have my build files laid out slightly differently.  Here's the skinny.  Your ogg & vorbis directories may be different.  Also, the -march flag I use is for my processor (An AMD athlon 64).  If you have an AMD X2 processor, there is another flag you can use that's a bit better.  I don't think gcc makes use of SSE3 instructions yet, I'm not sure what all you get extra.  See the gcc docs for the best -march flag to use with your specific processor
Code: [Select]
cd source
./autogen.sh
./configure CFLAGS="-march=athlon64 -O3 -g -pipe" --with-x --with-vorbis=/usr --with-ogg=/usr
# if you have a dual core processor, use -j3, if quad, -j5
jam -j2
strip -s glest
Title:
Post by: orion on 7 March 2008, 16:21:02
I have an idea. In the Advanced Engine, could it be made that players get a random position in a map? For instance, when someone is choosing what player they would like to be, they have the option of choosing random (for all players) so that their position on a map is unknown.

Just a thought.
Title:
Post by: daniel.santos on 7 March 2008, 22:27:55
Glest Advanced Engine v0.1 & Four Path Magitech v0.1

So I don't have redundant things posted everywhere, please see post in Four Path Magitech thread here (http://http://www.glest.org/glest_board/viewtopic.php?p=14366#14366).
Title:
Post by: Duke on 7 March 2008, 22:38:48
Oh, pretty much standart though.

But if one has two PCs you should make sure, that you have all pakages installed on both of them -,-
Executing scripts from terminal might help too. (;

Strangely if I use configure with flags it tells me that the compiler can't create executables, but luckily Ubuntu finds ogg and vorbis automatically.

So, it runs fine. Thanks for the help.
Title:
Post by: daniel.santos on 7 March 2008, 23:08:43
@Duke@, you may have libogg and libvorbis directly under /lib instead of /usr/lib like I have on my machine (I'm using Gentoo AMD64).  There is also an option in the configure script to tell it not to try to create executables using various libraries, but if not specifying where they are works, then it's certainly best to leave it that way :)

As far as having two PCs, I'm not exactly sure what you're talking about there.
Title:
Post by: Duke on 8 March 2008, 00:30:48
Ah yeah, not to clearly if you don't know whats up.

I have two PCs here, I installed the dependencies on one, but tried to compile on the other beleiving it had the packages as well and wondering why it didn't work. Not getting the error messages helped in the confusion.
Title:
Post by: daniel.santos on 8 March 2008, 08:36:43
Quote from: "orion"
I have an idea. In the Advanced Engine, could it be made that players get a random position in a map? For instance, when someone is choosing what player they would like to be, they have the option of choosing random (for all players) so that their position on a map is unknown.

Just a thought.


Merry Christmas :) (http://http://www.glest.org/glest_board/viewtopic.php?p=14375#14375).  Only randomizes location, not faction yet.
Title:
Post by: orion on 9 March 2008, 18:01:37
WooHoo. Thankyou for implementing the idea. [This is the best Christmas I've ever had :) )
Title:
Post by: Duke on 9 March 2008, 21:04:41
How difficult would it be to make objects(buildings trees) animate?
Currently only the first frame of an animated g3d is shown for those.
Title:
Post by: daniel.santos on 9 March 2008, 22:33:37
@orion@, actually, check the main post, I updated with a 0.1.3 release that I didn't post here.  It also allows you to select random for faction (should work on tech trees with more than two factions).

BUG NOTICE: If you select random start locations in multiplayer you MAY end up with two players controlling the same team.  This was actually kinda cool because it proved that it would work.  On other RTSes, I've often thought it would be cool if one two human players could control the units of the same "faction" (for lack of a better term) and this proves it works flawlessly (well, I didn't test it extensively).

@duke@, that shouldn't be too hard.  The only thing is that there needs to be an animation speed supplied somehow.  I'm doing the starting work on figuring out an improved scenario and a campaign framework.
Title:
Post by: hailstone on 9 March 2008, 23:10:11
Quote from: "daniel.santos"
On other RTSes, I've often thought it would be cool if one two human players could control the units of the same "faction"

OpenTTD (http://http://wiki.openttd.org/index.php/Co-operative) has this and it can be a bit confusing at times, not to say that it's a bad thing.
Title:
Post by: daniel.santos on 10 March 2008, 04:33:46
Quote from: "Duke"
How difficult would it be to make objects(buildings trees) animate?
Currently only the first frame of an animated g3d is shown for those.


Duke, could you email me a g3d of an animated tree to play with please?
Title:
Post by: orion on 10 March 2008, 14:36:42
Ok daniel, this is the last thing I will bug you with, but is it possible to somehow implement random teammates. I was thinking that maybe you could simply add a random option under where it says "team" for each player.

PS: I am steadily learning c++, so in the future, I'll be able to help instead of just sitting here making a request after request.

Thanks for everything.
Title:
Post by: Duke on 10 March 2008, 15:54:38
Erm, I haven't got one yet, wciow was the one who tested it.

But just for testing purposes any units animation could do.

It somehow bugs me a bit that I could contibute just some more or less wise words sofar.
Hope that changes after my exams.
Title:
Post by: daniel.santos on 10 March 2008, 19:48:59
no problem Duke.  I admit to be somewhat of a hit and miss type myself.  I will get really into a project and then slack off for a while.

I'll be spending some time on the saved game thing right now, I really want to get that working in GAE and then I'm going to try to figure out the performance problem -- I'm pretty unhappy about that one myself because when I'm debugging, the code isn't compiled with optimizations and it gets slower and slower the more units that are moving around in the game.  I've traced it to the code that searches for paths, but haven't gone any further with it yet.  And yea, I can use any animation for the tree, sorry. :)
Title:
Post by: Duke on 10 March 2008, 21:40:11
I believe the most effective optimisations are the processor specific ones, right?
If that's the case, your work will probably have only little effect on the binary thats intended for multiplayer. At least until the async problem is solved.
Title:
Post by: orion on 11 March 2008, 01:14:11
Another bug you should be aware of is how the GAE isn't compatible with the indian faction. The indians never build anything, they just keep harvesting resources.
Title:
Post by: Dr.Dixie on 11 March 2008, 04:07:32
Wow. That's thoroughly bad. A bug...


!Dr.Dixie!
Title: -
Post by: daniel.santos on 11 March 2008, 10:48:10
Quote from: Dr.Dixie
Wow. That's thoroughly bad. A bug...

!Dr.Dixie!
WOW!! what a BAD HORRIBLE AWFUL BUG :)

Glest Advanced Engine v0.1.4 & Four Path Magitech v0.1.3
Code: [Select]
[url=http://glest.codemonger.org/files/glestadv-win32-0.1.4.rar]GAE v0.1.4 win32 binaries[/url][/li]
[li]
Code: [Select]
[url=http://glest.codemonger.org/files/glestadv-src-0.1.4.tbz2]GAE v0.1.4 sources[/url][/li]
[li]
Code: [Select]
[url=http://glest.codemonger.org/files/four_path_magitech-0.1.3.rar]FPM v0.1.3 tech tree[/url][/li]
[li]
Code: [Select]
[url=http://glest.codemonger.org/files/glestadv-0.1.4-fpm-0.1.3-win32.rar]GAE v0.1.4 win32 binaries w/ FPM v0.1.3 tech tree[/url]For other archive formats, visit
Code: [Select]
[url=http://glest.codemonger.org]http://glest.codemonger.org[/url].

I only made very minor changes to the FPM tech tree.  I was doing some tweaking a few days ago and I made Liches suck just a tiny bit more. :)  The problem is that they have been pretty powerful since the auto-attack would use their soul steal to keep them alive.

BUG NOTICE: The Lich won't attack to location by pressing A or when in a selection with other unit types until you research energy extraction and get the soul steal attack.  You can still attack, you just have to click the button and you can't do it while selecting Liches with other unit types (sorry).

I used jrepan's code, but I had to make a lot of modifications just to get it to work with GAE because the underlying data structures (for units and such) changed so drastically.  Also, I decided to implement it as xml instead.  It does units, their commands (including queued commands), but it doesn't do fog of war and I haven't tested it much yet.

Also, you have to have a "savegame" directory or it crashes (cute huh?).  If you are downloading the sources and compiling on Linux, you also need two files out of the source tree under data/glest_game/core/menu, or you can just download the windows package which has those two files in it (or jrepan's files, they have them too).
Title:
Post by: daniel.santos on 11 March 2008, 11:15:18
just a follow up notice, saved games aren't very stable in this build, it is the 1st release with saved games after all.  They like to crash.
Title:
Post by: orion on 11 March 2008, 11:24:31
Quote
Wow. That's thoroughly bad. A bug...


!Dr.Dixie!


There's no need to be sarcastic. I was just playing a game with the indian faction the other day and noticed the error. No one had reported it, so I thought I would.
Title:
Post by: daniel.santos on 11 March 2008, 11:36:15
Well thanks for reporting it.  I didn't think he was being sarcastic, but I figured I would pick up on the drama. :) This is actually just the kind if thing that I need though is to try it out with other mods and see how they behave.  I tweaked the AI to help them advance better in FPM, but it needs a lot more lovin.
Title:
Post by: ZaggyDad on 11 March 2008, 17:37:56
Another bug: If you press load game, and there aren't any saves in the savegames folder, it crashes.

And another: When you have a building still building, and you save it, it loads the building as a full hit-pointed building that's still building, so you can't finish it. And another wierd thing about it is that if you attack it, and then repair it, it finishes building, and then you can't make anything in it, and you can't set the gather point. And, if you tell it to make a unit, instead of making it, it stops it's builder's commands. :? It didn't give an English error, it just put out this:

Crash
Version: Advanced Engine v0.1.4
Time: Sat Mar 17 23:33:35 2007
Description: Access violation (Reading address 0x34)
Address: 0052CDF9

~Zaggy
Title: -
Post by: tux-gamer on 12 March 2008, 03:13:42
Bug report:
1.You fixed the firt bug i reported in SaveGame post.
2.Wrong attack place still not fixed, perhaps this is like @ZaggyDad@ tell.
Quote from: ZaggyDad
And yet ANOTHER: I had two catapults, and they were firing at an enemy unit and they were firing like double their range. I'm not sure whether it's because of the savegame (I loaded the savegame a lot earlier than when I attacked.), but it never happened before.
Here the screnshot:
(http://s52.photobucket.com/albums/g30/tux_2006/th_bug-gae-wrong-attack.jpg)
800x600 (http://s52.photobucket.com/albums/g30/tux_2006/bug-gae-wrong-attack.jpg)

3.Sometimes, worker don't build in the right place. after loading.
(http://s52.photobucket.com/albums/g30/tux_2006/th_bug-gae-build-position.jpg)
800x600 (http://s52.photobucket.com/albums/g30/tux_2006/bug-gae-build-position.jpg)

4.If there a queue in Baracks, castle, etc, after i load the game, and the they come out from queue.
(http://s52.photobucket.com/albums/g30/tux_2006/th_bug-gae-wrong-person.jpg)
800x600 (http://s52.photobucket.com/albums/g30/tux_2006/bug-gae-wrong-person.jpg)
in here i clicked working, but swordman moving, not the worker.
and if this happen on archer, when i clicked archer, there one worker is moving, not the archer  and if i click guard button, it will crash.

and this bug:
Quote from: ZaggyDad
Another bug: If you press load game, and there aren't any saves in the savegames folder, it crashes.
Not happening to me.

Game Info:
OS: Mandriva Free 2007.1
GAE v0.1.4 ( i compiled from source tbz )
Game data from Glest-data-3.1.2 ( i'am not using FPM yet )
I played Scenario.
i can send you my savefile, if you want it.

ps: i'am sory for my bad english  and thanks before
Title: -
Post by: daniel.santos on 12 March 2008, 04:02:13
@ZaggyDad@, thanks for all of that info!In addition, there was this stupid bug that caused a crash if you save when there was a dead unit, that dead unit later is removed and you step on where he used to be, that's fixed now.  There was also a problem that caused a crash if you tried to produce a unit after loading, although it might take a bit for you to get to the actual crash (I found it early in debug mode with a failed assertion).

Glest Advanced Engine v0.1.5
Code: [Select]
[url=http://glest.codemonger.org/files/glestadv-win32-0.1.5.rar]GAE v0.1.5 win32 binaries[/url][/li]
[li]
Code: [Select]
[url=http://glest.codemonger.org/files/glestadv-src-0.1.5.tbz2]GAE v0.1.5 sources[/url][/li]
[li]
Code: [Select]
[url=http://glest.codemonger.org/files/glestadv-0.1.5-fpm-0.1.3-win32.rar]GAE v0.1.5 win32 binaries w/ FPM v0.1.3 tech tree[/url]
Title: -
Post by: daniel.santos on 12 March 2008, 04:18:37
Quote from: tux-gamer
Bug report:
1.You fixed the firt bug i reported in SaveGame post.
Hurray! :)  Ok, really now, I'll try to figure this out because that's a pretty serious problem.
Quote from: tux-gamer
3.Sometimes, worker don't build in the right place. after loading.
(http://s52.photobucket.com/albums/g30/tux_2006/th_bug-gae-build-position.jpg)
800x600 (http://s52.photobucket.com/albums/g30/tux_2006/bug-gae-build-position.jpg)
I think this is related to the thing where attackers aren't always facing the right way after you load, but will look into it.  Also, you can see one worker is too far from the building to actually work on it.  This is a problem that GAE.  The worker is sad and doesn't want to go to work, so he's trying to telecommute (just a joke).
Quote from: tux-gamer
4.If there a queue in Baracks, castle, etc, after i load the game, and the they come out from queue.
(http://s52.photobucket.com/albums/g30/tux_2006/th_bug-gae-wrong-person.jpg)
800x600 (http://s52.photobucket.com/albums/g30/tux_2006/bug-gae-wrong-person.jpg)
in here i clicked working, but swordman moving, not the worker.
and if this happen on archer, when i clicked archer, there one worker is moving, not the archer  and if i click guard button, it will crash.
I'm 95% sure that this is fixed.  This is part of the problem when a crash when you try to produce any units after loading a game.
Quote from: tux-gamer
and this bug ... Not happening to me.
That's because on Linux, you just get an error message in the console, but on Windoze you crash. :P  However, if I double click the load button when there are no saved games it crashes.

Thanks so much!
Title:
Post by: orion on 12 March 2008, 04:49:41
We should start making bug reports like Tux-gamer did
:D
Title:
Post by: tux-gamer on 12 March 2008, 10:54:06
Quote from: "daniel.santos"
HEHE! This is just funny, you're trying to mine gold and your poor workers are getting shot at from across the map.  Ok, really now, I'll try to figure this out because that's a pretty serious problem.
No, you are wrong.
actually, the enemy is attacking one of my swordman in their base, my swordman already dead when i take the screenshot.
i'am sory , iam to late to take the screenshot.
somehow my swordman can saw enemy, look like my swordman got double sight capabilty, then my swodman saw the enemy and go there to their base.
But instead shooting/attack pointing to my swordman, they attack is pointing to my poor worker.
but my worker not damaged, only my swordman damaged and then my swordman dead, after that, they not attacking anymore.


Quote from: "daniel.santos"
The worker is sad and doesn't want to go to work, so he's trying to telecommute (just a joke).
wakaka =))


Quote from: "daniel.santos"
I'm 95% sure that this is fixed. This is part of the problem when a crash when you try to produce any units after loading a game.
Thanks.


Quote from: "daniel.santos"
That's because on Linux, you just get an error message in the console, but on Windoze you crash.  However, if I double click the load button when there are no saved games it crashes.

You are right, i only get this message:
Couldn't process event: No files found in: savegames/*.sav

One more thing, if i clicked load game, and delete save file one by one, the last one will give error.


Thanks before, now i'am downloading GAE version 0.1.5
ps: i'am sory for my bad english.
Title: -
Post by: tux-gamer on 12 March 2008, 16:36:40
I have try GAE version 0.1.5, a lot of bug fixes have made.
1.long range attack or wrong pointing attack that i have mentioned in nomber 2 is gone now, at leat i don't get this bug when playing , with alot save and loading.

2.bug number 3 is fixed now.

3.bug number 4 is fixed now.

Now i get new bug.
1.Fire animation in wrong place (minor bug)
this screenshot before saving:
(http://s52.photobucket.com/albums/g30/tux_2006/th_bug-gae-fire-before.jpg)
600x400 (http://s52.photobucket.com/albums/g30/tux_2006/bug-gae-fire-before.jpg)

this screenshot after loading:
(http://s52.photobucket.com/albums/g30/tux_2006/th_bug-gae-fire-after.jpg)
600x400 (http://s52.photobucket.com/albums/g30/tux_2006/bug-gae-fire-after.jpg)

2.Meeting Point not saved.
this screenshot before saving:
(http://s52.photobucket.com/albums/g30/tux_2006/th_bug-gae-meeting-point-before.jpg)
600x400 (http://s52.photobucket.com/albums/g30/tux_2006/bug-gae-meeting-point-before.jpg)

this screenshot after loading:
(http://s52.photobucket.com/albums/g30/tux_2006/th_bug-gae-meeting-point-after.jpg)
600x400 (http://s52.photobucket.com/albums/g30/tux_2006/bug-gae-meeting-point-after.jpg)

Thanks before and ''am sory for my bad english.
Title:
Post by: ZaggyDad on 12 March 2008, 17:28:06
You should also make it save the screen position.

~Zaggy
Title:
Post by: daniel.santos on 12 March 2008, 18:42:35
@tux-gamer@ I LOVE YOU!!! :)

@ZaggyDad@, good idea.
Title:
Post by: Dr.Dixie on 12 March 2008, 19:55:13
Daniel, you totally need to be added to the in-game and online dev team lists. *g*

*edit* Um. Daniel, I was wondering why you put @s around the names of everyone you address...?


!Dr.Dixie!
Title:
Post by: ZaggyDad on 12 March 2008, 20:23:59
Ahem. He's not an official developer yet (:cry:).

~Zaggy
Title:
Post by: Dr.Dixie on 12 March 2008, 21:16:52
It would be nice if you could have a path type indicator thing, just like the current one (which only indicates ONE point in a series of many), for it to show the whole path, instead of just one part of it.


!Dr.Dixie!
Title:
Post by: ZaggyDad on 12 March 2008, 21:35:53
Btw, how long (approximately)does it take to build Glest?

Also, you should put in-game diplomacy controls, too (so that you can turn enemies with your ally :O ).

~Zaggy
Title:
Post by: daniel.santos on 13 March 2008, 05:47:23
hehe, well !Dr.Dixie!, if I have a long post, I usually do it so the person's name sticks out.  Sometimes we don't feel like reading everything that's posted so it helps to have your name highlighted (I noticed some other people doing it)

I'm not ready to start delving into diplomacy personally because I don't see much need for it at this point since you can't negotiate with CPU enemies.  Then again, I could see that being handy for multiplayer.  So I take it all back :([/li]
[li]Middle mouse click (wheel click) and drag changes view angle.  This behaves funny right now because it's supposed to rotate in a sphere around the center of your point of view, but it tends to move up and down in ways that it's not supposed to.[/li]
[li]Middle mouse click & drag with the control key down scrolls the view around.[/li]
[li]Middle mouse click & drag with the control and shift down scrolls the view around very quickly.[/li]
[li]You can set how fast the mouse scroll goes in the ini file now (this is when your mouse is at the edge of the screen)[/li]
[li]You can also set how high and low your camera can go, but I don't recommend it as of yet.  You may notice that with the current settings, when you scroll out you'll see some map tiles that don't render (are black or darker shaded).[/li]
[li]If you get your view screwed up, you can hit F twice at any point to restore it (this just switches in and out of "free look" mode).[/li][/list]

EDIT: It looks like the misplaced fire problem is fixed.
Title: -
Post by: tux-gamer on 13 March 2008, 10:28:42
Quote from: daniel.santos
@tux-gamer@ I LOVE YOU!!! :)
Thanks, but you are rocks, solving a lot of bug in few hour, that amazing
Code: [Select]
[img]http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/41.gif[/img]now i'am downloading GAE version 0.1.6

btw, can you make the game paused when saving the game or when pressing the Save button.

thanks before.

ps: i'am sory for my bad english.
Title:
Post by: orion on 13 March 2008, 21:28:25
Concerning the Website

What are some features that you would like to see on the GAE website? I was thinking of:

1) Some sort of Bug Report System

2) Some sort of Request System or Forum System

3) A Content Management System for administrators

4) what else?
Title:
Post by: ZaggyDad on 13 March 2008, 23:01:47
If you haven't noticed already, the cancel button is sometimes invisible when you select a unit or building.

~Zaggy
Title: -
Post by: tux-gamer on 14 March 2008, 14:02:32
Quote from: daniel.santos
Mouse wheel zooms in and out. When I tested this on my windows machine, it was really jumpy
in my mandriva linux , scrolling is not smooth, litle bit jumpy too.

Quote from: daniel.santos
Middle mouse click (wheel click) and drag changes view angle. This behaves funny right now because it's supposed to rotate in a sphere around the center of your point of view, but it tends to move up and down in ways that it's not supposed to.
but, i like this new feature, even if this not working like suppoesed to.

Quote from: daniel.santos
You can set how fast the mouse scroll goes in the ini file now (this is when your mouse is at the edge of the screen)
It seems you forget to put ScrollSpeed
Because , i get this error message:
Code: [Select]
[tux-gamer@localhost Glest-3.1.2]$ ./glestadv                                      ALSA lib confmisc.c:769:(parse_card) cannot find card ''                        ALSA lib conf.c:3500:(_snd_config_evaluate) function snd_func_card_driver returned error: No such device
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:3500:(_snd_config_evaluate) function snd_func_concat returned error: No such device
ALSA lib confmisc.c:1247:(snd_func_refer) error evaluating name
ALSA lib conf.c:3500:(_snd_config_evaluate) function snd_func_refer returned error: No such device
ALSA lib conf.c:3972:(snd_config_expand) Evaluate error: No such device
ALSA lib pcm.c:2145:(snd_pcm_open_noupdate) Unknown PCM default
Exception: Error accessing value: ScrollSpeed in: glestadv.ini
Value not found in propertyMap: ScrollSpeed, loaded from: glestadv.ini
After i put ScrollSpeed=5.00, GAE can running.

ps: FYI,the line before Exception is because i use OSS Sound driver.(just little info for those, who doesn't know it)

Quote from: daniel.santos
EDIT: It looks like the misplaced fire problem is fixed.
Yes it's fixed, thanks.


Quote from: ZaggyDad
If you haven't noticed already, the cancel button is sometimes invisible when you select a unit or building.

~Zaggy
wow, i don't notice it, and you're right sometimes invisible when making unit, nad goes visible when you not making any unit.
Here the screenshot when i make worker :
(http://s52.photobucket.com/albums/g30/tux_2006/th_bug-gae-no-cancel-button.jpg)
big size (http://s52.photobucket.com/albums/g30/tux_2006/bug-gae-no-cancel-button.jpg)

And here the screenshot when i finished making the last unit and no unit in queue:
(http://s52.photobucket.com/albums/g30/tux_2006/th_bug-gae-with-cancel-button.jpg)
big size (http://s52.photobucket.com/albums/g30/tux_2006/bug-gae-with-cancel-button.jpg)

oh yeah, one minor bug, i have segfault when loading the game, just happening one time, because i try playing the game again, about 4 times and loading the same savefile, and don't crush again

another request, can you make Load menu in the Game, so i don't exit the game and go to Main menu, just for loading the Game.

Thanks before and i'am sory for my bad english.
Title:
Post by: orion on 14 March 2008, 14:30:48
There is a minor bug in the HP for the units. Sometimes, the units' HP suddenly jump from 900/900 hp to 1200/900 hp. I noticed this with the guard unit. Next time it happens, I'll provide a screenshot like tux-gamer does. :)
Title: -
Post by: daniel.santos on 14 March 2008, 16:21:37
OK, after this, I promise I will try to fix more bugs than I make!  I anticipate this to be a fairly unstable release, mostly when actually trying to use the new features, although the camera is much better now.

Glest Advanced Engine v0.1.7
Code: [Select]
[url=http://glest.codemonger.org/files/glestadv-win32-0.1.7.rar]GAE v0.1.7 win32 binaries[/url][/li]
[li]
Code: [Select]
[url=http://glest.codemonger.org/files/glestadv-src-0.1.7.tbz2]GAE v0.1.7 sources[/url][/li]
[li]
Code: [Select]
[url=http://glest.codemonger.org/files/glestadv-0.1.7-fpm-0.1.3-win32.rar]Glest Advanced Engine v0.1.7 Changes
Also, you need zlib to compile GAE now.  You probably already have this if you are running linux, but if you are running windows, it's a bit trickier.  I'll post a new tarball with the combined win32 deps later this week.
Title:
Post by: AF on 14 March 2008, 18:59:52
In spring if two players occupy the same team they share a commander and can control all the units between them
Title:
Post by: Duke on 14 March 2008, 23:02:04
hmm, these are the last messages I get when compiling:

Code: [Select]
LinkApplication glest
./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/server_interface.o: In function `Glest::Game::ServerInterface::sendFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
/home/duke2112/glest/gae/mk/linux/glest_game/network/server_interface.cpp:240: undefined reference to `compress2'
./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/client_interface.o: In function `Glest::Game::FileDecompressor::processFragment(Glest::Game::NetworkMessageFileFragment const&)':
/home/duke2112/glest/gae/mk/linux/glest_game/network/client_interface.cpp:50: undefined reference to `inflateInit_'
/home/duke2112/glest/gae/mk/linux/glest_game/network/client_interface.cpp:59: undefined reference to `inflate'
/home/duke2112/glest/gae/mk/linux/glest_game/network/client_interface.cpp:80: undefined reference to `inflateEnd'
collect2: ld gab 1 als Ende-Status zurück

g++ -o glest ./build/x86_64-unknown-linux-gnu/optimize/glest_game/ai/ai_rule.o
.
.
.
./build/x86_64-unknown-linux-gnu/optimize/shared_lib/sources/libglestlib.a   -L/usr/lib -lSDL -lGL  -lm -lGLU -lGL  -lm -lxerces-c -lpthread  -lvorbis -lm -lvorbisfile  -logg -lopenal

...failed LinkApplication glest ...
...failed updating 1 target(s)...

I don't understand it that well, but to me it looks like you broke something while implementing netgame saving?

Ok, just to make sure I tested it on ubuntu 7.10 and 8.04 alpha6, both the same result.
But I noticed that configure doesn't check for zlib. (The base was installed, but Ubuntu has seperate devel packages.)
Title:
Post by: daniel.santos on 15 March 2008, 03:34:48
AF,
Yea, I think it would be cool to have that as an option when starting a new game.

Duke,
Thanks for the info.  I'm not sure why it's working on mine actually, because I'm not telling it I'm using zlib :(  On line 57 of mk/linux/Jamfile, change it from
Code: [Select]
ExternalLibs glest : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL ;to
Code: [Select]
ExternalLibs glest : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL ZLIB ;and then do
Code: [Select]
jam distclean
./autogen.sh
jam -j2
and recompile it.  Those are symbols from the zlib library.  I'll get this changed in subversion soon as well.

As far as the problems I was complaining about earlier, I'm going to modify it to just transfer files uncompressed for now until I can figure out the problems I'm having with using zlib, that will prevent problems when restoring a saved game with lots of units (basically, one that compresses to greater than 8100 bytes).  I'm also going to try to figure out the problem with the hit points jumping.

orion,
Do you remember anything in particular you did when the hit points jumped?

tux-gamer,
yea, sorry, I forgot to add ScrollSpeed into glestadv.ini before, but it's in there now. (I hope I got this right on the windows .ini file).  Also, I noticed that freaking cancel button.  I had to select something else and then select the building again to cancel unit production.  hehe, funny that you finally get the button when you aren't producing anything!

As far as adding the load menu, I'm not entirely certain how easy that will be because of the way it treats menus, they are "ProgramState" objects.  The Game class is also a ProgramState, the one that runs when you are playing and you can only have one "ProgramState" be run by the "Program" at a time.  However, I'm thinking I can probably hack it by having the Game object call the load menu directly, but I'll have to see.  I do agree however that it would be nice, as well as an auto save and auto load button.

!!!!!! EDIT !!!!!!!
Holy crap, don't forget the space after ZLIB, you'll be in error hell!!
Title:
Post by: wciow on 15 March 2008, 03:43:01
I just tested out the 0.1.7, the new camera controls are excellent!  :)

Worked perfectly on my windows machine (there was no jerky movement).

I think the draw distance needs to be extended because with the new camera angles its possible to see things popping into the screen!
Title:
Post by: daniel.santos on 15 March 2008, 04:16:27
cool, glad ya like it :(  I haven't figured out how to rewrite GameCamera::computeVisibleQuad() to correctly handle the new camera views.  I added two new settings MaxFPS and MaxRenderDistance to the .ini, but they aren't connected to anything yet.  But in changing the camera angle, the area rendered must be carefully controlled so you don't get down into low frame rate rendering objects that aren't even visible.  I made some minor tweaks so that visibility is better than it was, but I didn't want to hard-code changes that open up visibility so much that it hurts people on slower machines.

I think I got the majority of the other camera issues fixed aside from the rotation still not forming a correct sphere around the center view.  That is, when you rotate the camera angle around, it should continue to point at exactly the same spot on the ground at zero altitude, but instead, the yaw fluctuates incorrectly (again, due to a lack of trig skills).  On the bright side, this is forcing me to finally learn trig! (I never finished high school or got a degree, so I was never forced to learn it.)

Sorry I haven't worked on FPM much recently, I kinda got obsessed with putting some things in the engine.
Title:
Post by: Duke on 15 March 2008, 04:36:48
I should realy learn to be more precise, that were actually two different topics I talked about.
What I wanted to say with the last sentence is that if youre missing libxerces, configure was complaining, but it didn't say anything if zlib was missing, So jam started compiling and throw the error out later,
Your instructions fix this ( I found out about that space myself (; ).
But they have nothing to do with the compile error I get in LinkApplication.

Are you sure you put the correct rev in the source package?

Ps If you post the base settings I should be able to give the right trig formulas.
Title:
Post by: daniel.santos on 15 March 2008, 05:58:06
sorry I missed that detail in your post.  You're right, I haven't modified the configure.ac yet so that it'll actually check for zlib.  I have everything checked in, I just haven't gotten to that part.  As I said before, GAE is in a fairly unstable place right now because of all of the changes.  I did finally get a clean work-around to the problem with a limited saved file size when restoring network games.  I'm going to have it auto save now when somebody disconnects so you can resume where you left off.

As far as the trig stuff, I'll definitely take you up on that :)

First off, given an x, y, z position, pitch and yaw (i.e., horizontal and vertical angle of rotation) how do I determine x & z coordinates, on a given y plane (in this case, zero; the ground).  Basically, I need to determine the exact spot on the ground (zero altitude) that I'm pointing at with the camera.  I think I'm close, but some help wont hurt.
Title: -
Post by: daniel.santos on 15 March 2008, 07:55:44
Minor bug fixes.
Glest Advanced Engine v0.1.7a & Four Path Magitech v0.1.3
Code: [Select]
[list][li][url=http://glest.codemonger.org/files/glestadv-win32-0.1.7a.rar]GAE v0.1.7a win32 binaries[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-src-0.1.7a.tbz2]GAE v0.1.7a sources[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-0.1.7a-fpm-0.1.3-win32.rar]GAE v0.1.7a win32 binaries w/ FPM v0.1.3 tech tree[/url][/li][/list]
Glest Advanced Engine v0.1.7a Changes
EDIT: I've noticed sync problems with this build when playing multiplayer.
Title:
Post by: Duke on 15 March 2008, 14:21:21
OK, these formulars expect that yaw is messured counter clokwise from the y-axis and pitch upward from the Z axis:

Xviewpoint = Xcamera + cos Yaw * Zcamera * tan Pitch
Yviewpoint = Ycamera + tan Yaw * Zcamera * tan Pitch

If pitch is measured downward from horizontal you should use: (90-Pitch).

If Yaw is measured from x then use (Yaw-90).
If Yaw is clockwise then use (360-Yaw).
In case of both it would be (270-Yaw).
Title:
Post by: Duke on 15 March 2008, 16:59:49
Hmm, Now I get this in configure:
Code: [Select]
checking zlib.h usability... yes
checking zlib.h presence... no
configure: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: zlib.h: proceeding with the compiler's result
checking for zlib.h... yes
checking for wx-config... no
configure: creating ./config.status
config.status: creating Jamconfig
config.status: executing Jamfile commands

and the error in LinkApplication
Title: -
Post by: tux-gamer on 15 March 2008, 17:08:41
Quote from: daniel.santos
As far as adding the load menu, I'm not entirely certain how easy that will be because of the way it treats menus, they are "ProgramState" objects. The Game class is also a ProgramState, the one that runs when you are playing and you can only have one "ProgramState" be run by the "Program" at a time. However, I'm thinking I can probably hack it by having the Game object call the load menu directly, but I'll have to see. I do agree however that it would be nice, as well as an auto save and auto load button.
Wow, looks like it very difficult to do now, so i will wait you implementation this to GAE.
And Thanks before.

Quote from: daniel.santos
you can now save your game from a network game and resume later -- HOWEVER, this is shaky right now and if your saved game file is too big it doesn't work. Will have to fix this later (was fighting with the damn zlib library and it won  )
Too bad, i can not tes it, i don't have nice internet access to connect.
and i don't have friend to play LAN Game.

I have download , compile and play GAE version 0.1.7a, and now saw new bug.
1.Now i get Segmentation fault twice, and it leave this error message:
Code: [Select]
[tux-gamer@localhost Glest-3.1.2]$ ./glestadv
ALSA lib confmisc.c:769:(parse_card) cannot find card ''
ALSA lib conf.c:3500:(_snd_config_evaluate) function snd_func_card_driver returned error: No such device
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:3500:(_snd_config_evaluate) function snd_func_concat returned error: No such device
ALSA lib confmisc.c:1247:(snd_func_refer) error evaluating name
ALSA lib conf.c:3500:(_snd_config_evaluate) function snd_func_refer returned error: No such device
ALSA lib conf.c:3972:(snd_config_expand) Evaluate error: No such device
ALSA lib pcm.c:2145:(snd_pcm_open_noupdate) Unknown PCM default
Couldn't process event: Bad surface texture dimensions
Segmentation fault

And here the last glest.log:
Code: [Select]
[tux-gamer@localhost Glest-3.1.2]$ more glest.log | tail
Upgrade type: techs/magitech/factions/tech/upgrades/blade_weapons
Upgrade type: techs/magitech/factions/tech/upgrades/piercing_weapons
Upgrade type: techs/magitech/factions/tech/upgrades/robotics
Upgrade type: techs/magitech/factions/tech/upgrades/shield_level_1
Upgrade type: techs/magitech/factions/tech/upgrades/shield_level_2
Upgrade type: techs/magitech/factions/tech/upgrades/stables
Upgrade type: techs/magitech/factions/tech/upgrades/training_field
Faction types
State cells
Heightmap computations

And the "no cancel button" bug still in there, this "no cancel button" bug occur when upgrade too.
here the screenshot when upgrade (create training field )
(http://s52.photobucket.com/albums/g30/tux_2006/th_bug-gae-no-cancel-button-on-upgrade.jpg)
big size (http://s52.photobucket.com/albums/g30/tux_2006/bug-gae-no-cancel-button-on-upgrade.jpg)
here screenshot when producing in Farm:
(http://s52.photobucket.com/albums/g30/tux_2006/th_bug-gae-no-cancel-button-in-farm.jpg)
big size (http://s52.photobucket.com/albums/g30/tux_2006/bug-gae-no-cancel-button-in-farm.jpg)

And the BUG that orion (http://www.glest.org/glest_board/viewtopic.php?p=14506#14506) say, looks like it only happen to Guard, after upgrading the guard.
here the screenshot:
(http://s52.photobucket.com/albums/g30/tux_2006/th_bug-gae-guard-wrong-hp.jpg)
big size (http://s52.photobucket.com/albums/g30/tux_2006/bug-gae-guard-wrong-hp.jpg)

btw, thanks for Auto pause when saving the game.
another request, can you add "owerwrite confirmation" dialog too.
and what about "map resources aren't being saved (trees, gold, etc.)" bug you mentioned ini here
Code: [Select]
[url=http://www.glest.org/glest_board/viewtopic.php?p=14464#14464]http://www.glest.org/glest_board/viewtopic.php?p=14464#14464[/url]I hope you could fixed this before other bugs, but of course, it's up to you to fixed this before other bugs or not.

Thanks before and after
ps: i'am sory if my english is bad.
Title:
Post by: orion on 15 March 2008, 22:14:57
Thanks for figuring out what the bug was Tux-Gamer. I tried to figure out what caused the HP jump, but I could not. As for another bug, forgive me if this has been already acknowledged, but when you load a previously saved game, the scoring chart at the end of the game is screwed up. I saved a game at the end of one, when I already defeated the enemy. When I reloaded it, the message appeared that said "You win" and when I pressed exit, the score chart showed that every team killed exactly 120 people and produced 145. I know it is not a coincidence that every team produced and killed the same amount of people. :D
Title:
Post by: theotherhiveking on 15 March 2008, 23:25:45
Quote from: "orion"
Thanks for figuring out what the bug was Tux-Gamer. I tried to figure out what caused the HP jump, but I could not. As for another bug, forgive me if this has been already acknowledged, but when you load a previously saved game, the scoring chart at the end of the game is screwed up. I saved a game at the end of one, when I already defeated the enemy. When I reloaded it, the message appeared that said "You win" and when I pressed exit, the score chart showed that every team killed exactly 120 people and produced 145. I know it is not a coincidence that every team produced and killed the same amount of people. :D


Very nice! You did it?
Title:
Post by: Duke on 16 March 2008, 00:25:47
That is a realy good design you got there, although I'm not sure about making it just silver.
It's rather far from the original.
Title:
Post by: ZaggyDad on 16 March 2008, 01:49:04
It looks great! :)

Btw, what are you making it in?

And is part of the shield transparent, or am I just dreaming?

~Zaggy
Title:
Post by: daniel.santos on 16 March 2008, 04:14:51
wow, I really do need bugzilla for this thing, it's hard to keep track of all of the bugs.  I was once told, that if debugging is the process of removing bugs, than programming must be the processor creating them. :)

Got the stats issue (not yet checked in) and now that I have the resume network game issues resolved, I'll focus on the other stuff.  Also, as far as the sync errors I was getting, that was with me playing two games on the same machine.  This shouldn't cause this problem, but it could be the cause if there's some problem that creates this.  I hope that made sense.

orion, the mediafire server is offline, so right now I'm just seeing a huge image that says "server offline".  I'm guessing that'll change once they come back up.
Title:
Post by: tux-gamer on 16 March 2008, 10:23:11
@orion
i saw "server offline" too.

@daniel.santos
Quote from: "daniel.santos"
Got the stats issue (not yet checked in) and now that I have the resume network game issues resolved, I'll focus on the other stuff. Also, as far as the sync errors I was getting, that was with me playing two games on the same machine. This shouldn't cause this problem, but it could be the cause if there's some problem that creates this. I hope that made sense.

Thanks, glad to see another bug fixed, keep the good work. :D
Title:
Post by: Duke on 16 March 2008, 10:49:46
Daniel, since you seem able to compile, could you post a Linux 64bit binary for me, please?
Thanks in advance.
Title:
Post by: daniel.santos on 16 March 2008, 12:41:17
Ok, it looks like the cancel button is something I broke when adding the ability to toggle auto-repair.  I still need a few better icons for the auto repair, but that's actually something I might be able to do myself since I can just steal the X part of the cancel icon and super-impose that over the repair/heal icons :)[/li]
[li]You can disable giving orders via the minimap in the .ini by setting EnableMinimapCommands to 0.[/li]
[li]I have reworked a lot of the code in the Game and Gui classes, having moved some of the responsibilities from Game to Gui.  As with any non-trivial change, this may have unintended consequences. :)  Let me know the what your processor is, for now, I'll post an athlon64 compatible binary shortly at this address: url]http://glest.codemonger.org/files/glestadv-linux-athlon64-bin-0.1.8.tbz2[/url].  I should probably start building Linux binaries with each build as well.
Title: -
Post by: daniel.santos on 16 March 2008, 13:27:02
doh! stupid bug alert (would have left units trying to auto-repair smaller units going off into space or something).  Please use this version instead of 0.1.8.

Glest Advanced Engine v0.1.8a
Code: [Select]
[list][li][url=http://glest.codemonger.org/files/glestadv-win32-0.1.8a.rar]GAE v0.1.8a win32 binaries[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-src-0.1.8a.tbz2]GAE v0.1.8a sources[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-linux-athlon64-0.1.8a.bz2.tbz2]GAE v0.1.8a Linux AMD64 binary[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-linux-nocona-0.1.8a.bz2.tbz2]GAE v0.1.8a Linux AI64 binary (nocona core)[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-linux-x86_64-0.1.8a.bz2.tbz2]GAE v0.1.8a Linux generic 64 bit binary[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-0.1.8a-fpm-0.1.3-win32.rar]GAE v0.1.8a win32 binaries w/ FPM v0.1.3 tech tree[/url][/li][/list]

EDIT: bah! still no good. The AI isn't doing anything bug harvesting as was reported before with the indians mod.
Title:
Post by: Dr.Dixie on 16 March 2008, 14:29:33
*begs for Linux 32 bit binaries*


!Dr.Dixie!
Title: -
Post by: daniel.santos on 16 March 2008, 15:48:36
hehe, ok Dr Dixie, I just need to install some 32 bit libs, like a lot of them.  In the mean time, here is the fix for the stupid AI not building bug.  I think that this *may* be a good build, which I really need cause I had a lotta crappy builds lately. :)  What processor do you have in your machine BTW?  I just have this thing where I hate for there to be unused processor instruction sets that could help.  I'm actually planning on digging into the Glest rendering engine at some point and hand coding some assembly for SSE + MMX optimizations.  The deal here is that there are some tricks where you can have each of the processor units working at the same time and get some performance benefits.

Anyway, here's the fix.
Code: [Select]
[list][li][url=http://glest.codemonger.org/files/glestadv-win32-0.1.8b.rar]GAE v0.1.8b win32 binaries[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-src-0.1.8b.tbz2]GAE v0.1.8b sources[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-linux-athlon64-0.1.8b.bz2.tbz2]GAE v0.1.8b Linux AMD64 binary[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-linux-nocona-0.1.8b.bz2.tbz2]GAE v0.1.8b Linux AI64 binary (nocona core)[/url][/li][/list]

EDIT: Oh, and another thing, guarding units are following too closely, but at least that's not a major bug.
Title:
Post by: Duke on 16 March 2008, 17:39:27
I haven't tested 1.8b but 1.8a has still the same problem in LinkAplication.
Zlib-dev is installed, without it I get problems in 14 other classes as well.

I have a core2duo by the way.
Title:
Post by: Dr.Dixie on 16 March 2008, 18:41:38
I have a Pentium 4 with no HT, I think.


!Dr.Dixie!
Title:
Post by: orion on 16 March 2008, 20:19:25
Ok, the mediafire server is back online. I know this because I'm looking at the picture right now. :)

Quote from: "theotherhiveking"
Very nice! You did it?
Yes I did it myself. This came straight from my imaginative brain. :lol: :lol:
Title:
Post by: ZaggyDad on 16 March 2008, 20:27:56
You still haven't fixed the command queuing of gather points. :? And the same (except not only sometimes) with when you right-click on the minimap.

~Zaggy
Title:
Post by: Dr.Dixie on 16 March 2008, 20:28:21
It would be nice if the building arrow would be in the center of the building, instead of on the top left corner. I wish I could remember everything I want to have done. XD


!Dr.Dixie!
Title:
Post by: ZaggyDad on 16 March 2008, 20:41:36
There *should* be none at all. Every time I see it, it makes me think they're moving.

When you click cancel when you're selecting a building to build, it deselects the unit instead of canceling the selecting.

And could you fix the bug where you can't drag-select units when it's paused (which isn't caused by you :smile: ) you should make it so that it fades to the non-rendering stuff.

Following seems to be messed up (at least for friendly units). When you move to an allied unit, it makes the unit run to who-knows-where.

There's also a savegame bug. I don't know what caused it, or anything like that. It just says Node "player" doesn't have 2 children named "control"

Tree: player (control factionTypeName teamIndex victory kills deaths unitsProduced resourcesHarvested)

This happened on two savegames of mine.

~Zaggy
Title:
Post by: daniel.santos on 17 March 2008, 00:18:06
hehe orion, thanks to orion for reporting that bug!!! :)

Duke,
can you email me the entire output so I can look at what the link command is.  Also, does your Janfile have the ZLIB thingie in it?  I'm guessing right off that maybe your libz.a isn't directly under /lib, like maybe it's under /usr/lib.  You may just be able to add -L/usr/lib to your link command to fix it.

ZaggyDad,
Yea, I noticed that.  Even better, if you tell him to promote to a battle mage and then go harvest or mine, he will do it! If you click on him, he responds with battle mage voices, but he moves the speed of an initiate and continues to harvest.  If you interrupt him, he turns into a battle mage, fun bug eh? :)  I try to write down notes as I'm playing because I forget too.  That's just the default location for the meeting point, if you want to change it, just select the building and right click on the new location.
Title:
Post by: Duke on 17 March 2008, 00:45:40
Do you just need what I excluded in my quote on the last page?
Because that ouput is everything I get when I run Jam for the second time, which means it should be all that is relevant for the error.

If you realy need the entire ouput you have to tell me how to log the terminal, because it exceeds it's limits.

Just in case here again the entire ouput for that target:
Code: [Select]
duke2112@DuKe2112:~/glest/gae/mk/linux$ jam
...found 500 target(s)...
...updating 1 target(s)...
LinkApplication glest
./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/server_interface.o: In function `Glest::Game::ServerInterface::sendFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)':
/home/duke2112/glest/gae/mk/linux/glest_game/network/server_interface.cpp:242: undefined reference to `compress'
./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/client_interface.o: In function `Glest::Game::FileDecompressor::processFragment(Glest::Game::NetworkMessageFileFragment const&)':
/home/duke2112/glest/gae/mk/linux/glest_game/network/client_interface.cpp:67: undefined reference to `inflate'
/home/duke2112/glest/gae/mk/linux/glest_game/network/client_interface.cpp:52: undefined reference to `inflateInit_'
/home/duke2112/glest/gae/mk/linux/glest_game/network/client_interface.cpp:88: undefined reference to `inflateEnd'
collect2: ld gab 1 als Ende-Status zurück

    g++ -o glest ./build/x86_64-unknown-linux-gnu/optimize/glest_game/ai/ai_rule.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/ai/path_finder.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/ai/ai.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/ai/ai_interface.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/facilities/game_util.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/facilities/logger.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/facilities/components.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/game/chat_manager.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/game/console.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/game/commander.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/game/game_settings.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/game/game_camera.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/game/stats.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/game/game.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/global/metrics.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/global/config.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/global/core_data.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/global/lang.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/graphics/particle_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/graphics/renderer.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/gui/selection.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/gui/display.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/gui/gui.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/main/intro.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/main/program.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/main/main.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/main/battle_end.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_scenario.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_graphic_info.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/main_menu.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_root.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_options.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_background.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_new_game.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_join_game.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_load_game.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_about.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/network_interface.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/server_interface.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/network_types.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/client_interface.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/network_message.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/connection_slot.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/network_manager.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/sound/sound_container.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/sound/sound_renderer.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/unit.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/resource.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/command.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/upgrade.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/unit_reference.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/object.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/faction.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/effect.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/unit_stats_base.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/resource_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/unit_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/effect_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/skill_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/tech_tree.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/command_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/damage_multiplier.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/faction_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/upgrade_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/object_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/element_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/surface_atlas.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/time_flow.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/water_effects.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/tileset.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/map.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/world.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/minimap.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/unit_updater.o  ./build/x86_64-unknown-linux-gnu/optimize/shared_lib/sources/libglestlib.a   -L/usr/lib -lSDL -lGL  -lm -lGLU -lGL  -lm -lxerces-c -lpthread  -lvorbis -lm -lvorbisfile  -logg -lopenal

...failed LinkApplication glest ...
...failed updating 1 target(s)...

-L/usr/lib is included there.
Title:
Post by: Dr.Dixie on 17 March 2008, 02:07:40
Hey! Wouldn't it be cool if you could just type something like /bug <bug description> and enter, and it would save a txt into the main glest folder? It would save the trouble of having to have a text editor up, and the trouble of having to minimize Glest.

*edit* You ought to make it so it pauses when you bring up the exit game dialog.


!Dr.Dixie!
Title:
Post by: ZaggyDad on 17 March 2008, 02:38:36
I've got the newest version.



Quote
I thought I fixed that one. This is the result of the click going to the "graphics", if you had a unit behind it, it would probably select them instead of deselecting the unit. Is this with 0.1.8b?

I didn't have one behind it, and it plain deselected. It didn't select anything else.


Quote
Can you please clarify this, I don't quite understand?

If you tell a worker to repair something, he does the ranged repairing still.


I agree, except that I would prefer to have it all configurable within the game since Linux people don't get the configurator that I know of.


Quote
eh?

When I right-click on one of my units, the unit I command runs off to some random spot (not sure what it is).


Quote
Can you please email me the saved game this is happening on? If you saved these in a previous version, it's possible that I changed the format since you saved it. The format shouldn't change any more for a while though


Ok, I'll (hopefully)email you.

~Zaggy
Title:
Post by: jrepan on 17 March 2008, 08:14:02
I can compile, when I configure with flag: "LDFLAGS=-lz"
Title:
Post by: daniel.santos on 17 March 2008, 11:50:16
jrepan,
Thank you for this, I think I know what I need to do now to make it work, even though I can't figure out why it isn't broken on my machine, like it does -lz on it's own.

EDIT: I have a solution in svn that should be working now.  I've added a new zlib.m4 to the autoconf process, so you'll have to run autogen.sh again and reconfigure.   I will be posting the build shortly.

ZaggyDad,
I tested these out on both the windows and Linux 0.1.8b build and I cannot reproduce these bugs:

I strongly get the impression that you are accidentally using the wrong version.  When you start it, make sure it says 0.1.8b in the game.  If you are building it from the repository, make sure you grab revision 91, I hadn't tagged any of the last few releases, I should go do that.

!Dr.Dixie!,
Yea, good idea.

Duke,
I think jrepan nailed this one for us! :)  Thanks again jrepan.  Try the suggestion above and see if it works, I'm suspecting that it will.
Title:
Post by: daniel.santos on 17 March 2008, 13:40:36
Glest Advanced Engine v0.1.8c
Glest Advanced Engine v0.1.8c Changes
Title:
Post by: orion on 17 March 2008, 14:12:52
Some minor bugs I came across are:

1) the camera no longer has smooth movement. I don't know if this is a bug or if this is intentional

2) When a unit is being followed by another, the unit being followed has trouble moving, mainly because the following unit is copying all of his movements. They do a funny dance (like the liches of the FPM). :)

3) When a swordsman kills another unit, there is a 1/10 chance that he will not return to his original location.
Title:
Post by: Dr.Dixie on 17 March 2008, 16:14:52
Daniel, how hard would it be to make all the Workers/Initiates go to build instead of just one?
Thanks.


!Dr.Dixie!
Title:
Post by: ZaggyDad on 17 March 2008, 16:25:55
Quote
Telling units to repair a specific damaged building/unit and they repair whatever they find on their way

No! I meant that when you tell the villagers to repair something (not just let them auto-repair)they still repair it one cell away from it.

Quote
Right clicking on a unit (as in to go to there) and they go off into space. However, they do nothing, which is broke.

Well, that's fixed now, because they actually follow now. :? And it only does it when selecting a building to build.

You should try to get rid of most of the arrows that appear (except for moving).

And could you make it so that it selects a unit if you click on it's image?

And BTW, where is the arrow model?

~Zaggy
Title:
Post by: Dr.Dixie on 17 March 2008, 16:42:02
Daniel, could you make it so the middleclick rotation can be infinite, instead of being limited to to screen? (i.e. you could keep rotating the camera infinitly). Also, I'd REALLY like it if you could put a middleclick camera rotation reversal thing in the XML. I just can't get used to the one you put in.


!Dr.Dixie!
Title:
Post by: hailstone on 18 March 2008, 06:55:18
ZaggyDad, if you're talking about the mouse pointer image (and it's still the same as Glest v3) it is drawn using OpenGL in /glest_game/graphics/renderer.cpp

void Renderer::renderMouse2d(int x, int y, int anim, float fade)
void Renderer::renderMouse3d()

It would be good to use changeable images if it hasn't been done already.
Title:
Post by: daniel.santos on 18 March 2008, 15:44:42
w00t! Thanks for the sticky!! :)

Quote from: "orion"
2) When a unit is being followed by another, the unit being followed has trouble moving, mainly because the following unit is copying all of his movements. They do a funny dance (like the liches of the FPM). :)  Yea, this is because I broke the minimum following distance.  This will be the next thing I address after getting all of my unstable changes checked into the right place.

Quote from: "orion"
3) When a swordsman kills another unit, there is a 1/10 chance that he will not return to his original location.
Hmm, interesting.  I'll have to play with this one.
Quote from: "Dr.Dixie"
Daniel, could you make it so the middleclick rotation can be infinite, instead of being limited to to screen? (i.e. you could keep rotating the camera infinitly). Also, I'd REALLY like it if you could put a middleclick camera rotation reversal thing in the XML. I just can't get used to the one you put in.
hehe, I suppose I could make it settings in the .ini file that you could go hack if you wanted to.  I can definitely see why you would want to change the rotation axis, I even got confused on it a few times myself.

Quote from: "ZaggyDad"
Daniel, how hard would it be to make all the Workers/Initiates go to build instead of just one?
Well, it's a slightly complicated issue.  In Glest, resources are allocated as soon as you give the command to go build something.  This is kinda nice because we often usually issue several commands to build and produce at a time and it's easy to accidentally over spend.  Often, I'm switching back and forth between an offensive operation or harassment (trying to pick off a rivals workers and get away with it :)
Title:
Post by: orion on 18 March 2008, 16:27:38
One more bug.

I tried to load a previously saved game, but I got an "Unhandled Exception". I can't remember what it said, but I'll tell you when I get home today.
Title:
Post by: daniel.santos on 19 March 2008, 03:09:14
This is mostly bug fixes, but some slight feature enhancements.  I won't be focusing on many more features that don't really add something to the game for a little while though.

Glest Advanced Engine v0.1.9
Glest Advanced Engine v0.1.9 Changes

EDIT: As I said, the "everybody go build" command is a little hacky, it depends upon the getting there, giving up because the space is occupied and then say "oh, something needs repairing. let's do it".  So if you try to tell them all to go build and then queue another command, only the one that arrives there 1st will stay.  I may clean this up at some point later, but it's not at the top of my list :)
Title:
Post by: Dr.Dixie on 19 March 2008, 04:44:31
Golly, Daniel, thanks! I'll shoot myself in the foot the next time I let that accursed plague, Windows, boot. XD

*edit* Oh, Daniel, could you give me a complete list of the dependencies that I'd need on Ubuntu to compile it?


!Dr.Dixie!
Title:
Post by: daniel.santos on 19 March 2008, 07:45:05
Well, I think that the configure will do a good job of telling you if something is missing or not.  MatzeB helped me out and I got a really good zlib.m4 autoconfi script from the gnupdf library.  Between MatzeB and I, we got the Linux builds between Glest and GAE synchronized in all ways possible (just the zlib is different now).

So the short answer is all of the libs you need to build Glest plus zlib.  Again, thanks for MatzeB for helping me on this.

But are you still use Gentoo?  I guess the Gentoo ebuild hasn't been updated and I'm feeling the onus of this on me for some reason :) (I use Gentoo).
Title:
Post by: orion on 19 March 2008, 11:27:36
Has the major issue with unit movement been fixed? The issue where the frame rate lowers when a lot of units move at one time?
Title:
Post by: daniel.santos on 20 March 2008, 09:18:35
aww crap orion, I wrote a long reply and it looks like I accidentally got side tracked, forgot to send it and then closed my browser when I had too many tabs open, LMAO!.

I made a change a few weeks back that would have improved it slightly, but what I really need is for you to give it a try.  Also, I need to know what type of system you're having problems on.  And if you're using windows, try the glestadv-i686.exe instead of the glestadv-sse2.exe.  Please do this with 0.1.9 and let me know (be sure and include what type of processor, how much memory and what OS).

I'm working on the 0.2 branch right now, I'm revamping the network interface so that we shouldn't have cross-platform net incompatibilities.  However, just know that 0.1.9 gets out of sync in multiplayer, so save often if you use it to play multi.  At least you can resume if your game goes out of sync though
Title:
Post by: orion on 21 March 2008, 11:26:02
Quote
I made a change a few weeks back that would have improved it slightly, but what I really need is for you to give it a try. Also, I need to know what type of system you're having problems on. And if you're using windows, try the glestadv-i686.exe instead of the glestadv-sse2.exe. Please do this with 0.1.9 and let me know (be sure and include what type of processor, how much memory and what OS).
I tried both the binaries and both of them seemed to lag when many units became active.

OS: Windows XP
Memory: 1.25 Gigabytes

Quote
I'm working on the 0.2 branch right now, I'm revamping the network interface so that we shouldn't have cross-platform net incompatibilities. However, just know that 0.1.9 gets out of sync in multiplayer, so save often if you use it to play multi. At least you can resume if your game goes out of sync though


Are you saying that windows and linux players will be able to play with each other? :)
Title:
Post by: Duke on 21 March 2008, 12:51:19
lol, I got the impression that Matiño himself had trouble with that and here you are saying, oh, I'm just doing it . (;
Title:
Post by: martiño on 21 March 2008, 12:55:39
Quote from: "Duke"
lol, I got the impression that Matiño himself had trouble with that and here you are saying, oh, I'm just doing it . (;


I never did any proper investigation about the topic, but the issue seems to be different floating point behaviors across compilers/processors/operating systems.

 I think it could be solved by using one of the libraries that abstract floating point calculations, or by changing all the synchronized code to fixed point, it is not a trivial task however.
Title:
Post by: Duke on 21 March 2008, 14:11:38
ah ok, I haven't said anything (;

Hmm, if I remember correctly, the accuracy of float is relative to the size of the number calculated, so that you can deal with realy large and realy small numbers at the same time without using excessive memory.

So if you need exact calculation, fixed point calculation would probably be the better solution in most cases anyway.
Title:
Post by: wciow on 21 March 2008, 19:05:27
0.1.9 Is working great on my machine. The camera is a bit smoother than 0.1.8 as well.

My system specs are: Vista 32 bit / Core2Duo 1.8Ghz
Title:
Post by: daniel.santos on 21 March 2008, 21:38:38
Quote from: "martiño"
I think it could be solved by using one of the libraries that abstract floating point calculations, or by changing all the synchronized code to fixed point, it is not a trivial task however.

No trivial task at all.  I can't even get a mutiplayer game on the same platform to stay in sync right now. :( I suspect that some of the platform compatibility problems can also be due to word alignment and I finally completed a reworking of the net layer so that word alignment should be properly translated (in the 0.2 branch).  But it's honestly not in very good shape right now, the game goes very out of sync and will only work if you turn off network consistency checks.  I haven't dug into this much yet.  On windows, it even has an access violation when trying to restore a saved network game. However, I did play a game between my linux and windows machine and won!

Off topic, the corruption path, and magic faction in general on FPM is way out of balance. I think the primary problem is my conversion of battle mage attacks from energy to fire and the impact that fire has on wood.  I'll probably scale back the total damage of all fire-based attacks on the magic side to help compensate.  Necromancers and Liches are still fairly impotent when it comes to attacking buildings and such, so that's good.

orion,
What type and speed is your processor?  And yes, I'm so you can play between windows and linux.

EDIT: I forgot to mention that it notifies you when somebody in your network game has disconnected and autosaves the network game so you can pick up where you left off.  This now works in the 0.2 branch (aside from the other errors).
Title:
Post by: Dr.Dixie on 22 March 2008, 03:39:32
*sigh* I can't wait till I can play with all our machines. XP, Vista, Ubuntu, maybe even Sabayon. Hmm...

The Linux version of Glest seems to be generally worse than the windows one on my machine. But then, I am always running it with the pathetic integrated GPU. (my Radeon can't seem to get me a good 1280x1024)


!Dr.Dixie!
Title: -
Post by: daniel.santos on 23 March 2008, 07:27:19
After some testing and debugging, I've decided to go ahead and release gae 0.2, despite some instability in network games.  I have also updated the FPM tree some and have played it a few times.  I finally found the problem with cross-platform network games and fixed it.  It turns out it was a difference in the order that the findAll global function returned the names of files -- Windows sorts file names differently than Unix/Linux.

Glest Advanced Engine v0.2 & Four Path Magitech v0.1.4
Code: [Select]
[list][li][url=http://glest.codemonger.org/files/glestadv-win32-0.2.rar]GAE v0.2 win32 binaries[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-src-0.2.tbz2]GAE v0.2 sources[/url][/li]
[li][url=http://glest.codemonger.org/files/four_path_magitech-0.1.4.rar]FPM v0.1.4 tech tree[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-0.2-fpm-0.1.4-win32.rar]GAE v0.2 win32 binaries w/ FPM v0.1.4 tech tree[/url][/li][/list][u]Glest Advanced Engine v0.2 Changes[/u][list]
Title:
Post by: Dr.Dixie on 24 March 2008, 05:48:51
Daniel, about pet/guarding (by right-clicking, anyway), it seems pretty useless, because the guarding unit isn't doing any good. It's ONLY goal is to be as close to the master (or in the case of your bug, whatever), meaning it is NOT guarding. I find this majorly annoying. I'd like to send a unit somewhere with a few air or ground guards to defend it from such things as dragons or archers.

I haven't gotten into Windows since 0.1.9, but I might try to, because FPM is starting to interest me. *chortle*


!Dr.Dixie!
Title: -
Post by: hailstone on 24 March 2008, 13:00:37
Nice work Daniel, maybe SDL_net (https://www.libsdl.org/projects/SDL_net/) might be worth a look to help solve the network problems.
Title:
Post by: Archmage on 24 March 2008, 17:27:56
I found an error with the GAE. I downloaded * GAE v0.2 win32 binaries w/ FPM v0.1.4 tech tree - and the wall model was a pig. The path of the model was in magitech/.../techs/.../pig - when I looked into the wall folder I found a .blend and a .tga files for the wall, i opened them and the model was the model for the wall. Can you upload the .gd3 file for the wall, or in the new release make the correction?

Ideas - can you make it so that you can turn the buildings ie - the wall could face any directon left right etc. ? (before building them?) When building walls the walls have to be turn able.
- Maybe a magic building called hellgate? Maybe instead of the grave yard? (turn able will help here)
-The ability for archers to go into towers, to help - the tower instead of 1 arrow at a time can have more?
Title:
Post by: Duke on 24 March 2008, 17:55:54
lol, that pig is no bug, its a joke (;
Did you notice that the graveyard is a big yellow container?

Remeber this is WIP. For the FPM that is even more so then for GAE.

I'd like to see turnable buildings too, but for walls it is not nesessary since buildings have to be square anyway you'll build them segment after segment.
It would be only relevant if the tops of these walls are walkable.

archers in towers and stuff are already planned.
Title:
Post by: Archmage on 24 March 2008, 19:08:57
Thanks! Why was there a wall model in the .blend then?
Title:
Post by: Duke on 24 March 2008, 19:12:20
wciow usually does thge model, maybe daniel didn't notice it, so that would probably classivy as a bug (;

Oh and one notice when you are using glest 3.1.2 data files.
/home/patrick/glest/glest_game/data/core/menu/textures is missing and english.lng needs an update. They are in the svn.
Title:
Post by: Archmage on 24 March 2008, 22:17:58
I found a bug - if you select random position in the start game options then the game will close and after that - this happened to me twice and I had to re  unzip GAE both times. And re install glest 3.1.2

Mad me mad >:(
Title:
Post by: wciow on 24 March 2008, 22:21:54
Quote from: "Archmage"
Thanks! Why was there a wall model in the .blend then?


The model for the wall is included because all models that are in progress are included as part of the FPM. This allows anyone to take a look and change/improve the models if they want to help out. ATM the wall isn't textured so Daniel has linked a pig model as a placeholder. It is possible to export and compile the .blend file if you want to see it in game.
Title:
Post by: daniel.santos on 25 March 2008, 03:30:04
Archmage, sorry about the bug.  I didn't expect 0.2 to be really stable considering the amount of changes it had.  I believe that bug is fixed in the current revision of 0.2.1, but that is still wip.  I have solved one of the possible ways that a multiplayer game can get out of sync and I'm working on tweaking it out now so there's less bandwidth usage.  From 0.2.1 forward, the clients in a multiplayer game will behave much more like a thin client, predicting what will happen, but allowing the server to dictate important events like creation of new units, damage and the application of effects. I just need to get the network messages whittled down to their proper sizes (I'm compressing them in memory as well).  As Duke said, GAE is still a major work in progress.  I greatly appreciate all who use it and post feedback and I will try to keep the game experience as enjoyable as possible while it's going through this transition.

As far as the piggie, I'll respond to that on the FPM thread to keep this one on topic :)

As far as buildings, walls will definitely be turnable.  But I think there may need to be a more complicated mechanism to make them realistic, I just need to flush out the specs for it.  I would like for walls to look better than, for instance, Age of Empires where different wall heights just sort-of stair case, that's not good enough for me.  I like the idea of walls being walkable and I've considered this quite a bit myself myself.  In times of olde, the walls of a castle provided an enormous benefit to the defenders because:This may be a topic more suited for the FPM mod discussion, but the engine will have to be modified to accommodate it.  Part of the solution to the problem of defensibility will be addressed when we implement "housing", a mechanism to allow units to be contained with in another unit and still (optionally) be allowed to attack, possibly even with an alternate attack or mechanism, such as hot oil dropped from castle walls, etc.

I would like to begin addressing these issues soon, but I want to get all of the network playability issues hammered out early so that we can maintain a steady progression of online play tests as we go through the rest of the modifications.  This also makes the topic of diplomacy a more feasible one (I can't remember who brought that up originally), like the option of being able to control each-other's units when playing on the same team, trading goods/resources/units, etc.

I'm going to have a little less time to work on this for the next few weeks, but I'll keep development going.
Title:
Post by: ZaggyDad on 25 March 2008, 04:01:04
You should make there be a range limit thingy, too (then you could do dropping mortar from walls, too.).

And btw (not that it matters), it was me who brought up diplomacy.

~Zaggy
Title:
Post by: daniel.santos on 25 March 2008, 12:24:19
Sure it matters, credit where credit is due. :)

I just wanted to post an update on 0.2.1.  Unfortunately, what I'm working on right now isn't very high visibility, because it's the internals of how the client and server communicate and how the client manages it's world.  I've got the majority of the features to keep a game well in sync in place, but they still need more debugging.

The issue that we're facing here (and I presume this exists in the mainline Glest as well) is the subtle difference in timing caused by network lag.  The differences that occur between the game on the client and server is very small at first, but this gradually grows until the discrepancies get to the point of units being alive on one person's game but not existing on another's.  This is when we finally get an error message that crashes the game.

To solve this problem, I've been modifying the behavior in each section of the code where discrepancies like this occur so that the server sends an update on the units involved to the client and the client accepts those as facts and adjusts its copy of "the world" to match.  This its self introduces a lot of challenges, like what to do with unit 2 after the server told me that unit 1 should be standing in his place.  The result (at the moment) is that units tend to jump around a little (mostly when in combat), but I should have this straightened out soon so that the jumping around is minimal.  The bright side of this is that the game stays in sync.

I'll hopefully have something ready in a few days.  Another problem right now is that the networking code is in an insecure state and error handling is very poor.  These are two things I plan on addressing once I get network games actually working well.
Title:
Post by: Dr.Dixie on 25 March 2008, 14:53:26
Go Daniel!!


!Dr.Dixie!
Title: -
Post by: Duke on 25 March 2008, 15:09:50
You might want to take a look here:
Code: [Select]
[url=http://www.opennel.org]http://www.opennel.org[/url]It's a very good open source MMO engine. The Networking is far more complex, but you might some very usefull hints.
Title:
Post by: daniel.santos on 25 March 2008, 17:26:01
Thanks Duke, it's good to know about that project. :)  Making a large number of changes creates a large number of bugs, so there's a lot to clean up and straighten out.

In some ways, I haven't modified Glest's networking architecture too greatly, this is a breakdown.

So an important feature of this is keeping the game logic out of the network layer.  These classes (for the most part) only facilitate the interface for the real game logic classes (Game, World, UnitUpdater, etc.) to run the game.  There is room for improvement, but it's not too shabby in it's current form.  Also, the NetworkDataBuffer class is the platform neutrality device.  The way it works is that you pass it values and it writes them to it's internal buffer using network endianness (htons, e.t., a.l.).  The buffer objects are actually owned by NetworkInterface and when you are done adding messages for that particular go around you just call NetworkInterface::flush() and  the data is transmitted -- specifically, whatever data can be transmitted without blocking the main thread is sent and the remainders are transmitted when it's update() method is called.

NetworkDataBuffer derives from a class I wrote called SimpleDataBuffer which is in essence a data queue that allows constant time insertion of data at the end of the buffer and constant time retrieval/removal of data at the beginning and almost never has to memcpy it's internal data buffer around.  Of course, it supports auto-expansion if you fill it past it's originally allocated point, but you usually won't run into that problem.  NetworkDataBuffer extends from it by adding peek(), read() and write() methods for each supported data type (basically, 8, 16 and 32 bit data types).

Throughout the network layer, runtime_error is thrown when things go wrong and I haven't exactly improved upon that yet either (I've added to the mess :(  Unit production, and building is working better than it ever has.  Morphing seems to be working flawlessly (thus far), I haven't tested combat again in a few builds (should be working well now, with minimal amounts of jumping around) and there's still an odd issue every now and again with buildings getting built but still being unfinished.

Anyway, I'll keep you guys posted.  I considered back porting some of the bug fixes to the 0.1 branch, but decided against it since we still have a small user base.  But after these changes, I'm going to try to keep some stable builds around.
Title:
Post by: ZaggyDad on 25 March 2008, 21:13:02
For some reason Glest (not only advanced(I just found that out)) started crashing every time I go into any submenu of the main menu made to start a new game (not join network game, about or options), giving this error:

Network error: Error binding socket (Code: 10048)

Edit: I rebooted my computer, and it started working, so you don't really need to research the problem, but it might be good to anyway.

~Zaggy
Title:
Post by: daniel.santos on 26 March 2008, 23:50:25
Unfortunately, it "crashes" right now in windows when you have a network problem like this instead of giving you an error message in game.  In Linux, it just doesn't properly respond, but spits an error message out to the console.

As to the error binding socket, this is a typical windows issue and may have been caused by a previous instance of Glest or GAE being hung in memory and sitting on that port.
Title:
Post by: ZaggyDad on 27 March 2008, 00:13:29
It doesn't give me any error messages that I know of.

~Zaggy
Title:
Post by: daniel.santos on 27 March 2008, 02:49:27
Yea, that's what I was saying.  You're using windows right?
Title:
Post by: ZaggyDad on 27 March 2008, 03:47:19
Yup. And (sadly)my hard drive can't fit linux yet. :confused: (It's WAY too small.)

~Zaggy
Title:
Post by: daniel.santos on 27 March 2008, 11:29:00
Title:
Post by: hailstone on 27 March 2008, 22:23:55
I networked a local game and it seems that sometimes it to rains on one and not the other.
Title:
Post by: orion on 28 March 2008, 04:01:48
Daniel, you once offered to let me use your domain for the website (glest.codemongor.org). Am I still open to do that. The problem is that: 1) the hosting service I'm using right now(x10hosting.com) has a lot of server downtime  and 2) I don't like them that much.

If I can use the glest.codemonger.org domain, I need to know some things:

1) What is the maximum bandwidth and diskspace on the domain

2) Is PHP supported?
Title: -
Post by: hailstone on 28 March 2008, 08:30:13
I've been using ByetHost free hosting and have been happy with that. Also considering purchasing
Code: [Select]
[url=http://byethost.com/paidplans.php]premium hosting[/url] from them, maybe I could just buy a domain name for now, anyway, here some highlights.

$35.88 per year or $2.99 per month
5000MB storage
250GB per month bandwidth
PHP supported

Also has python support which a lot of hosters don't do.
Title:
Post by: daniel.santos on 28 March 2008, 16:20:37
hailstone,
thanks for testing it out.  I noticed the weather difference before :(  I've done that on non-business hours and had to wait for the next business day to get one of their guys to boot my old kernel up (cause I didn't want to pay $80 to have them come in on the weekend).

Also, everything (except for a few GUI libraries like dirctfb, GTK, etc.) is compiled using SSP and PIE, so it's a pretty secure machine (and I want to keep it that way :) )

So in short, it's a dual core AMD X2 1.9GHz processor, 2GB of DDR2 (800mhz) ram, 950-ish GB RAID 5 array with 100GP/s throughput.  I've *never* had a slow connection and pending me recompiling the kernel again (which I don't have any real reason to do), hardware failure, or upgrading to the phenom, :) there shouldn't be any downtime.  I'm paying $60/month, which is significantly more than a simple hosting account, but I got tired of all of the limitations of being on somebody else's machine.  I was doing some wireless internet experiments at one point, trying to circumvent my phone company's firewall by having my linux phone (Motorolla A780, kinda old now) connect to a server app and tunnel through that so I could create a web app that would show my location (my phone has GPS).  I couldn't do this with my hosting provider because they don't let you listen on arbitrary ports.  With my own machine, I can do whatever I want, so it's worth the price for me (especially when I start doing experiments).

If I get to where I need to host large amounts of files (beyond 60GB/mo), I'll probably get a separate account with some hosting company like hailstone mentioned.  The trick is, you have to watch out for the "catches".  With a lot of companies (so I hear) the 1st X amount of traffic that you use is at Y speed and that speed slows as your traffic grows.

The other cool thing about having my own server is that I can setup an automated build system like hailstone mentioned a month ago or so (if I ever get around to it).  I forgot to mention PHP, I do have that installed as well as Tomcat, perl, etc.  I have wikimedia installed, but I haven't set it up for any domains.  I've also installed bugzilla recently, but I still have some work to do before I can get it working and I just haven't gotten to it yet.  I really think that we can use a bugzilla database for GAE.

RE-EDIT: I was looking on the wrong machine.  I have perl installed, but I don't have php or python installed (into apache that is) at the moment.  Let me figure that out and I'll have it in shortly.
Title:
Post by: ZaggyDad on 28 March 2008, 21:37:27
You should add formations, and garrisoning.

~Zaggy
Title: -
Post by: daniel.santos on 29 March 2008, 01:49:24
ZaggyDad,
Garrisoning is definitely on the list!  But I'm not going to do it the way I've seen other RTSs do where the unit disappears, I'm going to make that an option, but I want the contained unit to be able to be displayed, as in on the deck of a ship and such.  Scale will be an issue to work with on this, as these are not usually in proportion.  Also in this category are walls that archers can shoot from atop of (will probably also be "garrisoned" on top of the wall), bastions, etc.

Formations is a good idea.  The camera needs a little more work though still.  Why is the camera related?  Because generally, current maps don't give enough room for formations.  Current maps were built using the previous camera views.  Now that you can zoom back more, map makers are more likely to make maps with more open spaces.  Once FPM has walls & other defensive structures, pinch points will be more easily defended.  But the camera needs more work so you can zoom back even further.  Next, an (optional) outline needs to be added to units obscured by trees or other units.  Odd as it may sound, I think these two things (the camera and unit outlines) should be in place before doing formations, just because there are so many places on the map where you'll only get 1 or 2 units through.  But what is important about formations and isn't effected by these other issues, is being able to have all of your units arrive at the location you intend to attack all at once.  This way, your horsemen and drake riders aren't killed off before anybody else can join them.  And after the battle is over, your ghost armor show up at the scene.

Anyway, here's 0.2.2.  I haven't done anything else on network play since 0.2.1.

Glest Advanced Engine v0.2.2
Code: [Select]
[list][li][url=http://glest.codemonger.org/files/glestadv-win32-0.2.2.rar]GAE v0.2.2 win32 binaries[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-src-0.2.2.tbz2]GAE v0.2.2 sources[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-0.2.2-fpm-0.1.4-win32.rar]GAE v0.2.2 win32 binaries w/ FPM v0.1.4 tech tree[/url][/li][/list]Linux (64 bit) binaries at [url=http://glest.codemonger.org]http://glest.codemonger.org[/url]
.

Glest Advanced Engine v0.2.2 ChangesThat's all, just those two things.  Also, when loading a saved game, I appear to be revealing just a little more of the map than I should and there are some jagged edges in the edge of explored areas that are submerged.  Saved games from previous versions of GAE will no longer be compatible and I may rework it again to fix the explored areas, but it's close enough for now. :)

EDIT: Thanks again go to jrepan for help on saved games.[/list]
Title:
Post by: daniel.santos on 30 March 2008, 00:47:00
ok, resuming saved network games isn't working in 0.2.2.  I fixed it and I'll release an 0.2.2a later on.
Title:
Post by: ZaggyDad on 30 March 2008, 01:21:28
New villagers seem to not do auto repair when they're made. (At least the first you make them.)

~Zaggy
Title:
Post by: Dr.Dixie on 30 March 2008, 14:41:22
Um... how do I compile GAE on Linux (more specifically Ubuntu)? I've got the source extracted to a folder in my home folder.

*edit* When I tried compiling it on Ubuntu, it said

configure: error: Please install xerces-c
I tried to find this in Synaptic, but it seems not to be there. Any help?
Er. It seemed to be there, but Glest still couldn't compile. The package I got to attempt to fix this is libxerces27 2.7.0-3. I'm supposing this was incorrect. *confused*


!Dr.Dixie!
Title:
Post by: jrepan on 30 March 2008, 16:07:02
Quote from: "Dr.Dixie"
Um... how do I compile GAE on Linux (more specifically Ubuntu)? I've got the source extracted to a folder in my home folder.

*edit* When I tried compiling it on Ubuntu, it said

configure: error: Please install xerces-c
I tried to find this in Synaptic, but it seems not to be there. Any help?
Er. It seemed to be there, but Glest still couldn't compile. The package I got to attempt to fix this is libxerces27 2.7.0-3. I'm supposing this was incorrect. *confused*


!Dr.Dixie!

You have to install -dev package to compile. I guess it name is libxerces27-dev
Title:
Post by: Dr.Dixie on 30 March 2008, 19:53:01
I'd gotten as far as "jam"ing, when I found that it... well, look for yourself. It looked like the end, but it didn't exactly look finished.

Code: [Select]
desktop:~/gae/mk/linux$ jam
...found 509 target(s)...
...updating 144 target(s)...
MkDir1 ./build/i686-pc-linux-gnu/optimize/shared_lib/sources
MkDir1 ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/window_gl.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/sdl
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/sdl/gl_wrap.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/sdl/thread.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/sdl/factory_repository.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/sdl/window.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/sdl/platform_util.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/posix
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/platform/posix/socket.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/util
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/util/leak_dumper.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/util/random.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/util/checksum.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/util/profiler.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/util/conversion.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/util/properties.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/util/util.o
shared_lib/sources/util/util.cpp: In member function ‘void Shared::Util::SimpleDataBuffer::expand(size_t)’:
shared_lib/sources/util/util.cpp:61: warning: converting to ‘size_t’ from ‘float’
shared_lib/sources/util/util.cpp: In member function ‘void Shared::Util::SimpleDataBuffer::compressUuencodIntoXml(Shared::Xml::XmlNode*, size_t)’:
shared_lib/sources/util/util.cpp:86: warning: converting to ‘uLongf’ from ‘float’
shared_lib/sources/util/util.cpp:87: error: no matching function for call to ‘max(uLongf&, unsigned int)’
shared_lib/sources/util/util.cpp:101: error: no matching function for call to ‘max(uLongf&, unsigned int)’

    g++ -c -o ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/util/util.o  -I/usr/include -DPACKAGE_NAME="gae" -DPACKAGE_TARNAME="gae" -DPACKAGE_VERSION="0.2.2" -DPACKAGE_STRING="gae 0.2.2" -DPACKAGE_BUGREPORT="daniel.santos@pobox.com" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DUSE_POSIX_SOCKETS= -DX11_AVAILABLE=1 -DHAVE_GLOB_H=1 -DHAVE_SYS_IOCTL_H=1 -DUSE_SDL= -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -I. -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -pthread     -Ishared_lib/sources/../include/platform -Ishared_lib/sources/../include/platform/sdl -Ishared_lib/sources/../include/platform/posix -Ishared_lib/sources/../include/util -Ishared_lib/sources/../include/graphics -Ishared_lib/sources/../include/graphics/gl -Ishared_lib/sources/../include/sound -Ishared_lib/sources/../include/sound/openal -Ishared_lib/sources/../include/xml -Ishared_lib/sources/../include/glew   -O3 -DNDEBUG shared_lib/sources/util/util.cpp

...failed C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/util/util.o ...
MkDir1 ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/camera.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/texture_manager.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/quaternion.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/context.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/pixmap.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/shader_manager.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/buffer.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/particle.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/font.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/interpolation.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/shader.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/font_manager.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/graphics_interface.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/model.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/texture.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/model_manager.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/gl
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/gl/font_gl.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/gl/particle_renderer_gl.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/gl/context_gl.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/gl/shader_gl.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/gl/opengl.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/gl/texture_gl.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/gl/text_renderer_gl.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/graphics/gl/model_renderer_gl.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/sound
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/sound/sound_player.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/sound/sound_interface.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/sound/sound_file_loader.o
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/sound/sound.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/sound/openal
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/sound/openal/sound_player_openal.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/xml
C++ ./build/i686-pc-linux-gnu/optimize/shared_lib/sources/xml/xml_parser.o
...skipped libglestlib.a for lack of libglestlib.a(util.o)...
MkDir1 ./build/i686-pc-linux-gnu/optimize/glest_game/ai
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/ai/ai_interface.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/ai/ai.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/ai/ai_rule.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/ai/path_finder.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/glest_game/facilities
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/facilities/game_util.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/facilities/components.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/facilities/logger.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/glest_game/game
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/game/game_camera.o
glest_game/game/game_camera.cpp: In member function ‘void Glest::Game::GameCamera::update()’:
glest_game/game/game_camera.cpp:109: warning: passing ‘float’ for argument 1 to ‘int abs(int)’
glest_game/game/game_camera.cpp:112: warning: passing ‘float’ for argument 1 to ‘int abs(int)’
glest_game/game/game_camera.cpp:113: warning: passing ‘float’ for argument 1 to ‘int abs(int)’
glest_game/game/game_camera.cpp:123: warning: passing ‘float’ for argument 1 to ‘int abs(int)’
glest_game/game/game_camera.cpp:126: warning: passing ‘float’ for argument 1 to ‘int abs(int)’
glest_game/game/game_camera.cpp:129: warning: passing ‘float’ for argument 1 to ‘int abs(int)’
glest_game/game/game_camera.cpp: In member function ‘void Glest::Game::GameCamera::zoom(float)’:
glest_game/game/game_camera.cpp:242: warning: passing ‘float’ for argument 1 to ‘int abs(int)’
glest_game/game/game_camera.cpp:244: warning: passing ‘float’ for argument 1 to ‘int abs(int)’
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/game/chat_manager.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/game/game.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/game/commander.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/game/console.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/game/stats.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/game/game_settings.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/glest_game/global
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/global/config.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/global/core_data.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/global/metrics.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/global/lang.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/glest_game/graphics
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/graphics/renderer.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/graphics/particle_type.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/glest_game/gui
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/gui/selection.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/gui/gui.o
glest_game/gui/gui.cpp: In member function ‘void Glest::Game::Gui::computeBuildPositions(const Shared::Graphics::Vec2i&)’:
glest_game/gui/gui.cpp:1071: warning: converting to ‘int’ from ‘float’
glest_game/gui/gui.cpp:1076: warning: converting to ‘int’ from ‘float’
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/gui/display.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/glest_game/main
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/main/program.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/main/main.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/main/battle_end.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/main/intro.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/glest_game/menu
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/menu/menu_state_new_game.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/menu/menu_state_options.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/menu/menu_background.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/menu/main_menu.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/menu/menu_state_scenario.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/menu/menu_state_root.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/menu/menu_state_join_game.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/menu/menu_state_start_game_base.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/menu/menu_state_graphic_info.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/menu/menu_state_load_game.o
...on 100th target...
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/menu/menu_state_about.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/glest_game/network
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/network/network_manager.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/network/network_interface.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/network/client_interface.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/network/connection_slot.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/network/network_types.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/network/network_message.o
glest_game/network/network_message.cpp: In member function ‘void Glest::Game::NetworkMessageXmlDoc::compress()’:
glest_game/network/network_message.cpp:533: warning: converting to ‘uLongf’ from ‘float’
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/network/server_interface.o
glest_game/network/server_interface.cpp: In member function ‘void Glest::Game::ServerInterface::sendFile(std::string, std::string, bool)’:
glest_game/network/server_interface.cpp:279: warning: converting to ‘uLongf’ from ‘float’
MkDir1 ./build/i686-pc-linux-gnu/optimize/glest_game/sound
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/sound/sound_container.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/sound/sound_renderer.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/glest_game/type_instances
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/type_instances/unit_reference.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/type_instances/command.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/type_instances/unit.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/type_instances/effect.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/type_instances/resource.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/type_instances/upgrade.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/type_instances/faction.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/type_instances/object.o
MkDir1 ./build/i686-pc-linux-gnu/optimize/glest_game/types
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/types/effect_type.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/types/resource_type.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/types/object_type.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/types/tech_tree.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/types/unit_type.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/types/upgrade_type.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/types/faction_type.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/types/element_type.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/types/skill_type.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/types/damage_multiplier.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/types/command_type.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/types/unit_stats_base.o
glest_game/types/unit_stats_base.cpp: In member function ‘virtual std::string& Glest::Game::EnhancementTypeBase::getDesc(std::string&) const’:
glest_game/types/unit_stats_base.cpp:309: warning: passing ‘const float’ for argument 3 to ‘static void Glest::Game::EnhancementTypeBase::formatModifier(std::string&, const char*, int, float)’
MkDir1 ./build/i686-pc-linux-gnu/optimize/glest_game/world
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/tileset.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/time_flow.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/world.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/unit_updater.o
glest_game/world/unit_updater.cpp: In member function ‘void Glest::Game::UnitUpdater::updateStop(Glest::Game::Unit*)’:
glest_game/world/unit_updater.cpp:260: warning: converting to ‘int’ from ‘float’
glest_game/world/unit_updater.cpp:261: warning: passing ‘float’ for argument 1 to ‘Shared::Graphics::Vec2<T>::Vec2(T, T) [with T = int]’
glest_game/world/unit_updater.cpp:261: warning: passing ‘float’ for argument 2 to ‘Shared::Graphics::Vec2<T>::Vec2(T, T) [with T = int]’
glest_game/world/unit_updater.cpp: In member function ‘void Glest::Game::UnitUpdater::damage(Glest::Game::Unit*, const Glest::Game::AttackSkillType*, Glest::Game::Unit*, float)’:
glest_game/world/unit_updater.cpp:1157: warning: converting to ‘int’ from ‘float’
glest_game/world/unit_updater.cpp:1177: warning: passing ‘const float’ for argument 1 to ‘Shared::Graphics::Vec2<T>::Vec2(T, T) [with T = int]’
glest_game/world/unit_updater.cpp:1177: warning: passing ‘const float’ for argument 2 to ‘Shared::Graphics::Vec2<T>::Vec2(T, T) [with T = int]’
glest_game/world/unit_updater.cpp: In member function ‘Shared::Graphics::Vec2i Glest::Game::UnitUpdater::getNear(const Shared::Graphics::Vec2i&, Shared::Graphics::Vec2i, int, int, int)’:
glest_game/world/unit_updater.cpp:1395: warning: passing ‘float’ for argument 1 to ‘Shared::Graphics::Vec2<T>::Vec2(T, T) [with T = int]’
glest_game/world/unit_updater.cpp:1395: warning: passing ‘float’ for argument 2 to ‘Shared::Graphics::Vec2<T>::Vec2(T, T) [with T = int]’
glest_game/world/unit_updater.cpp: In member function ‘bool Glest::Game::UnitUpdater::unitOnRange(const Glest::Game::Unit*, int, Glest::Game::Unit**, const Glest::Game::AttackSkillTypes*, const Glest::Game::AttackSkillType**)’:
glest_game/world/unit_updater.cpp:1482: warning: passing ‘float’ for argument 2 to ‘void Glest::Game::Targets::record(Glest::Game::Unit*, int)’
glest_game/world/unit_updater.cpp:1504: warning: passing ‘float’ for argument 3 to ‘const Glest::Game::AttackSkillType* Glest::Game::AttackSkillTypes::getPreferredAttack(const Glest::Game::Unit*, const Glest::Game::Unit*, int) const’
glest_game/world/unit_updater.cpp: In member function ‘bool Glest::Game::UnitUpdater::repairableOnRange(const Glest::Game::Unit*, Shared::Graphics::Vec2i, int, Glest::Game::Unit**, const Glest::Game::RepairCommandType*, const Glest::Game::RepairSkillType*, int, bool, bool, bool)’:
glest_game/world/unit_updater.cpp:1566: warning: passing ‘float’ for argument 2 to ‘void Glest::Game::Targets::record(Glest::Game::Unit*, int)’
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/minimap.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/map.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/water_effects.o
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/surface_atlas.o
...skipped glest for lack of libglestlib.a...
...failed updating 1 target(s)...
...skipped 2 target(s)...
...updated 141 target(s)...



Help!
*edit* Boy. I wish there was just a tutorial. So complicated.

!Dr.Dixie!
Title:
Post by: daniel.santos on 31 March 2008, 03:30:14
Quote from: "Dr.Dixie"
*edit* Boy. I wish there was just a tutorial. So complicated.

!Dr.Dixie!

w00t! You're writing a tutorial for compiling on Ubuntu? Sweet! we really need that :)
Title:
Post by: daniel.santos on 31 March 2008, 10:10:32
!Dr.Dixie!,

I'm almost done with 2.3.  The odd thing is that I'm not getting the warnings that I want to see in my output, I'm not sure why.  Also, it looks like the one thing that created an error (in util.cpp) is due to the difference in machine word size.  I looked through the zlib headers and it looks like uLongf eventually ends up as an "unsigned long", but that could be different on x86_32.  Either way, it's not matching up with unsigned int, which is only guaranteed to be 16 bits, though it's probably 32 bits on a x86_32, so maybe the uLongf is actually a 64 bit unsigned.  Either way, if you want to fix it now, edit shared_lib/sources/util/util.cpp and stick a "(size_t)" cast in front of the 1st parameter fed to max(): So for shared_lib/sources/util/util.cpp:87
Code: [Select]
tmpbuf = (char *)malloc(max((size_t)compressedSize, chunkSize + 1));and for shared_lib/sources/util/util.cpp:101
Code: [Select]
tmpbuf = (char *)realloc(tmpbuf, max((size_t)compressedSize, chunkSize + 1));

So in short, thank you for flushing out these problems. MSVC++ on win32 didn't choke on them, and I've turned on extra warnings to try to find stuff like this, but I need to figure out why I'm not seeing any warnings.  The rest of the warnings can be ignored, but I'm going to try to get them all cleaned up, it's always better to explicitly cast.

Also, for you C++ programmers out there looking at my code, I'm sorry, I'm used to C-style casting.  I did C before I did C++ (back when they were flushing out the specs for the the dinosaur :) ).


EDIT: Dr. Dixie, go ahead and make those changes above and recompile.  I've decided to overhaul the the position calculation functions, which were getting pretty hairy, so 0.2.3 won't be out all that soon.  On the bright side, this should solve a lotta problems with building, repairing, etc and will pave the way for overhauling pathing, which is causing a lot of performance problems on slower computers.  It's also helping me get stuff out of unit_updater.cpp which has substantially grown since I started working on gae.
Title:
Post by: Dr.Dixie on 31 March 2008, 14:36:26
Quote from: "daniel.santos"
Quote from: "Dr.Dixie"
*edit* Boy. I wish there was just a tutorial. So complicated.

!Dr.Dixie!
w00t! You're writing a tutorial for compiling on Ubuntu? Sweet! we really need that ;)


Er. No. I'm not. Sorry. I'm rather a nOOb...

Ok... I seem to have gotten it compiled. Where's my GAE?

Hmm... If this actually worked, I might consider compiling for Linux for them releases...


!Dr.Dixie!
Title:
Post by: orion on 31 March 2008, 15:06:59
Quote from: "ZaggyDad"
ZaggyDad,
Garrisoning is definitely on the list! But I'm not going to do it the way I've seen other RTSs do where the unit disappears, I'm going to make that an option, but I want the contained unit to be able to be displayed, as in on the deck of a ship and such. Scale will be an issue to work with on this, as these are not usually in proportion. Also in this category are walls that archers can shoot from atop of (will probably also be "garrisoned" on top of the wall), bastions, etc.


If all of our ideas are put into the game, Glest will become one of the best rts games EVER. Along with formations, I too have a list of ideas that may be incorporated in the GAE, but Daniel is probably the most busy guy on this forum and I kind of feel like a leech asking so much. That's why I'm learning C++, the windows api, and openGL :D.
Title:
Post by: ZaggyDad on 31 March 2008, 15:16:57
Yeah...And for a guy to get into the building, it could have certain points that they go to, and things in the xml or model to tell it the path to take. And the units could have a walking up stairs animation pointed out in the xml as the model to use, and then it would play it every time the unit moves upwards. :wink:

~Zaggy
Title: -
Post by: daniel.santos on 31 March 2008, 15:34:55
Quote from: orion
If all of our ideas are put into the game, Glest will become one of the best rts games EVER.

Thanks orion.  Yea, that was kinda my idea.  Once I originally got into the Glest engine I realized it's potential, being that it was actually well written instead of slopped together like a lot of code I've seen.  Starcraft 2 is coming up, so we'll get to compare feature by feature.  Maybe somebody will create a StarCraft-like mod for Glest! :)

Dr.Dixie, your executable should be called "glest" in the mk/linux directory.  In truth, you can run "strip -s" on it to make it smaller, if it matters.  But it would help if you could at least make a list of the Ubuntu packages that you had to install.  That will greatly help other on Ubuntu.  Does Ubuntu use apt?

Glest Advanced Engine v0.2.3 & Four Path Magitech v0.1.5
Code: [Select]
[list][li][url=http://glest.codemonger.org/files/glestadv-win32-0.2.3.rar]GAE v0.2.3 win32 binaries[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-src-0.2.3.tbz2]GAE v0.2.3 sources[/url][/li]
[li][url=http://glest.codemonger.org/files/four_path_magitech-0.1.5.rar]FPM v0.1.5 tech tree[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-0.2.3-fpm-0.1.5-win32.rar]GAE v0.2.3 win32 binaries w/ FPM v0.1.5 tech tree[/url][/li][/list]For other archive formats, visit [url=http://glest.codemonger.org]http://glest.codemonger.org[/url].

Glest Advanced Engine v0.2.3 ChangesFour Path Magitech v0.1.5 Changes[/list][/list]
Title:
Post by: daniel.santos on 31 March 2008, 15:45:55
Quote from: "ZaggyDad"
Yeah...And for a guy to get into the building, it could have certain points that they go to, and things in the xml or model to tell it the path to take. And the units could have a walking up stairs animation pointed out in the xml as the model to use, and then it would play it every time the unit moves upwards. :wink:

~Zaggy

Not a bad idea.  I was actually mulling over how I want this to work last night.  I want them to have some "move out of my way" sounds and some "I'm busy sounds."  Units should only move if they aren't busy (i.e., executing their "stop" command).  I was working out how to do pathing and I defiantly want it to use projection, by figuring out who's going to be where based upon their current trajectory.  But when somebody is pathing and somebody gets in their way (especially unexpectedly) it's going to cause unit frustration.  When unit frustration reaches a certain threshold, they can execute an action (like complaining).  At least, that was a thought. :)  Units will only be able to plan their path based upon the trajectory of other units that they can see.  I considered having it to where they base it off of the actual path plan of other units if they are friendlies and they can see them.

I agree that they should make others get out of their way and if somebody is in their build path, but they are passing through, they should be able to wait and deter other friendlies from entering the build area.
Title:
Post by: Dr.Dixie on 31 March 2008, 15:54:52
Um. Yes, Ubuntu uses apt, I think, and here's what I found in the history that I had to get:

libxerces27
libxerces27-dev
jam 2.5rel-1
libopenal-dev


I believe that's all. All.


!Dr.Dixie!
Title:
Post by: ZaggyDad on 31 March 2008, 16:06:35
The building fix seems to come with a bug... the villager does walk out of the way of the building, but he walks back into the middle again, still having the build command on him. :confused:

~Zaggy
Title:
Post by: Duke on 31 March 2008, 16:11:45
libvorbis-dev should be needed as well.

You should also check for autogen and automake and also with a fresh system for build-essentials.
Title:
Post by: orion on 31 March 2008, 16:51:16
Quote from: "Daniel.Santos"
The board was down earlier, but I added a new post about 0.3 plans, let me know what you think.  


What post about 0.3 plans? Where?

*Edit*: I just read the topic under the "Mods" section. Cool.
Title: -
Post by: Dr.Dixie on 31 March 2008, 17:07:34
Whenever I start the compiled version of GAE, the glest window just disappears after being there for a second. I'm going to post the compile thing. It seemed to have... a FEW too many warnings to be real, but I tried it anyway...

Oh, scrud, I don't have the full thing... here are like the last few hundred lines. Sigh.

Code: [Select]
glest_game/types/unit_stats_base.cpp:319: warning: called from here
glest_game/types/unit_stats_base.cpp:290: warning: inlining failed in call to ‘static void Glest::Game::EnhancementTypeBase::formatModifier(std::string&, const char*, int, float)’: --param inline-unit-growth limit reached
glest_game/types/unit_stats_base.cpp:320: warning: called from hereglest_game/types/unit_stats_base.cpp:290: warning: inlining failed in call to ‘static void Glest::Game::EnhancementTypeBase::formatModifier(std::string&, const char*, int, float)’: --param inline-unit-growth limit reached
glest_game/types/unit_stats_base.cpp:321: warning: called from here
glest_game/types/unit_stats_base.cpp:290: warning: inlining failed in call to ‘static void Glest::Game::EnhancementTypeBase::formatModifier(std::string&, const char*, int, float)’: --param inline-unit-growth limit reached
glest_game/types/unit_stats_base.cpp:322: warning: called from here
glest_game/types/unit_stats_base.cpp:290: warning: inlining failed in call to ‘static void Glest::Game::EnhancementTypeBase::formatModifier(std::string&, const char*, int, float)’: --param inline-unit-growth limit reached
glest_game/types/unit_stats_base.cpp:323: warning: called from here
glest_game/types/unit_stats_base.cpp:290: warning: inlining failed in call to ‘static void Glest::Game::EnhancementTypeBase::formatModifier(std::string&, const char*, int, float)’: --param inline-unit-growth limit reached
glest_game/types/unit_stats_base.cpp:324: warning: called from here
glest_game/types/unit_stats_base.cpp:290: warning: inlining failed in call to ‘static void Glest::Game::EnhancementTypeBase::formatModifier(std::string&, const char*, int, float)’: --param inline-unit-growth limit reached
glest_game/types/unit_stats_base.cpp:325: warning: called from here
glest_game/types/unit_stats_base.cpp:290: warning: inlining failed in call to ‘static void Glest::Game::EnhancementTypeBase::formatModifier(std::string&, const char*, int, float)’: --param inline-unit-growth limit reached
glest_game/types/unit_stats_base.cpp:326: warning: called from here
glest_game/types/unit_stats_base.cpp:290: warning: inlining failed in call to ‘static void Glest::Game::EnhancementTypeBase::formatModifier(std::string&, const char*, int, float)’: --param inline-unit-growth limit reached
glest_game/types/unit_stats_base.cpp:327: warning: called from here
glest_game/types/unit_stats_base.cpp:290: warning: inlining failed in call to ‘static void Glest::Game::EnhancementTypeBase::formatModifier(std::string&, const char*, int, float)’: --param inline-unit-growth limit reached
glest_game/types/unit_stats_base.cpp:328: warning: called from here
MkDir1 ./build/i686-pc-linux-gnu/optimize/glest_game/world
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/tileset.o
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’:
glest_game/types/unit_stats_base.h:49:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:49: warning: ‘class Glest::Game::Fields’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’:
glest_game/types/unit_stats_base.h:72:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:72: warning: ‘class Glest::Game::UnitProperties’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:89: warning: ‘class Glest::Game::UnitStatsBase’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:218: warning: ‘class Glest::Game::EnhancementTypeBase’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’:
glest_game/types/effect_type.h:71:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/effect_type.h:71: warning: ‘class Glest::Game::EffectTypeFlags’ has virtual functions but non-virtual destructor
glest_game/../shared_lib/include/../include/platform/socket.h: In member function ‘void Shared::Platform::NetworkDataBuffer::write(Shared::Platform::float32)’:
glest_game/../shared_lib/include/../include/platform/socket.h:111: warning: dereferencing type-punned pointer will break strict-aliasing rules
glest_game/types/flags.h: At global scope:
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’:
glest_game/types/command_type.h:70:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:70: warning: ‘class Glest::Game::AttackSkillPreferences’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:208: warning: ‘class Glest::Game::AttackCommandTypeBase’ has virtual functions but non-virtual destructor
glest_game/type_instances/unit.h:129: warning: ‘class Glest::Game::Unit’ has virtual functions but non-virtual destructor
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/time_flow.o
glest_game/global/config.h: In function ‘void __tcf_0(void*)’:
glest_game/global/config.h:28: warning: inlining failed in call to ‘Glest::Game::Config::~Config()’: --param max-inline-insns-single limit reached
glest_game/global/config.h:95: warning: called from here
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/world.o
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’:
glest_game/types/unit_stats_base.h:49:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:49: warning: ‘class Glest::Game::Fields’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’:
glest_game/types/unit_stats_base.h:72:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:72: warning: ‘class Glest::Game::UnitProperties’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:89: warning: ‘class Glest::Game::UnitStatsBase’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:218: warning: ‘class Glest::Game::EnhancementTypeBase’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’:
glest_game/types/effect_type.h:71:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/effect_type.h:71: warning: ‘class Glest::Game::EffectTypeFlags’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’:
glest_game/types/command_type.h:70:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:70: warning: ‘class Glest::Game::AttackSkillPreferences’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:208: warning: ‘class Glest::Game::AttackCommandTypeBase’ has virtual functions but non-virtual destructor
glest_game/../shared_lib/include/../include/platform/socket.h: In member function ‘void Shared::Platform::NetworkDataBuffer::write(Shared::Platform::float32)’:
glest_game/../shared_lib/include/../include/platform/socket.h:111: warning: dereferencing type-punned pointer will break strict-aliasing rules
glest_game/type_instances/unit.h: At global scope:
glest_game/type_instances/unit.h:129: warning: ‘class Glest::Game::Unit’ has virtual functions but non-virtual destructor
glest_game/type_instances/faction.h: In function ‘void std::__uninitialized_fill_n_aux(_ForwardIterator, _Size, const _Tp&, __false_type) [with _ForwardIterator = __gnu_cxx::__normal_iterator<Glest::Game::Faction*, std::vector<Glest::Game::Faction, std::allocator<Glest::Game::Faction> > >, _Size = unsigned int, _Tp = Glest::Game::Faction]’:
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::Faction(const Glest::Game::Faction&)’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:81: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:107: warning: called from here
glest_game/type_instances/faction.h: In function ‘void std::__uninitialized_fill_n_aux(_ForwardIterator, _Size, const _Tp&, __false_type) [with _ForwardIterator = Glest::Game::Faction*, _Size = unsigned int, _Tp = Glest::Game::Faction]’:
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::Faction(const Glest::Game::Faction&)’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:81: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:107: warning: called from here
glest_game/type_instances/faction.h: In member function ‘void std::vector<_Tp, _Alloc>::_M_fill_insert(__gnu_cxx::__normal_iterator<typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer, std::vector<_Tp, _Alloc> >, size_t, const _Tp&) [with _Tp = Glest::Game::Faction, _Alloc = std::allocator<Glest::Game::Faction>]’:
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::Faction(const Glest::Game::Faction&)’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/vector.tcc:318: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::Faction(const Glest::Game::Faction&)’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:81: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:107: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::Faction(const Glest::Game::Faction&)’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:81: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:107: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/vector.tcc:343: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/vector.tcc:343: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::Faction(const Glest::Game::Faction&)’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:81: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:107: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::Faction(const Glest::Game::Faction&)’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:81: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:107: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:107: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:107: warning: called from here
glest_game/type_instances/faction.h: In member function ‘void Glest::Game::World::loadSaved(Glest::Game::GameSettings*, const Shared::Xml::XmlNode*)’:
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:107: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
glest_game/world/world.cpp:161: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
glest_game/world/world.cpp:161: warning: called from here
glest_game/world/tileset.h: In constructor ‘Glest::Game::World::World()’:
glest_game/world/tileset.h:100: warning: inlining failed in call to ‘Glest::Game::Tileset::Tileset()’: --param max-inline-insns-single limit reached
glest_game/world/world.cpp:41: warning: called from here
glest_game/types/tech_tree.h:31: warning: inlining failed in call to ‘Glest::Game::TechTree::TechTree()’: --param max-inline-insns-single limit reached
glest_game/world/world.cpp:41: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:107: warning: called from here
glest_game/world/tileset.h: In constructor ‘Glest::Game::World::World()’:
glest_game/world/tileset.h:100: warning: inlining failed in call to ‘Glest::Game::Tileset::Tileset()’: --param max-inline-insns-single limit reached
glest_game/world/world.cpp:41: warning: called from here
glest_game/types/tech_tree.h:31: warning: inlining failed in call to ‘Glest::Game::TechTree::TechTree()’: --param max-inline-insns-single limit reached
glest_game/world/world.cpp:41: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:107: warning: called from here
glest_game/global/config.h: In function ‘void __tcf_1(void*)’:
glest_game/global/config.h:28: warning: inlining failed in call to ‘Glest::Game::Config::~Config()’: --param max-inline-insns-single limit reached
glest_game/global/config.h:95: warning: called from here
glest_game/type_instances/faction.h: In member function ‘void Glest::Game::World::initFactionTypes(Glest::Game::GameSettings*)’:
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
/usr/include/c++/4.1.3/bits/stl_construct.h:107: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
glest_game/world/world.cpp:642: warning: called from here
glest_game/type_instances/faction.h:50: warning: inlining failed in call to ‘Glest::Game::Faction::~Faction()’: --param max-inline-insns-single limit reached
glest_game/world/world.cpp:642: warning: called from here
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/unit_updater.o
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’:
glest_game/types/unit_stats_base.h:49:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:49: warning: ‘class Glest::Game::Fields’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’:
glest_game/types/unit_stats_base.h:72:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:72: warning: ‘class Glest::Game::UnitProperties’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:89: warning: ‘class Glest::Game::UnitStatsBase’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:218: warning: ‘class Glest::Game::EnhancementTypeBase’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’:
glest_game/types/effect_type.h:71:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/effect_type.h:71: warning: ‘class Glest::Game::EffectTypeFlags’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’:
glest_game/types/command_type.h:70:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:70: warning: ‘class Glest::Game::AttackSkillPreferences’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:208: warning: ‘class Glest::Game::AttackCommandTypeBase’ has virtual functions but non-virtual destructor
glest_game/../shared_lib/include/../include/platform/socket.h: In member function ‘void Shared::Platform::NetworkDataBuffer::write(Shared::Platform::float32)’:
glest_game/../shared_lib/include/../include/platform/socket.h:111: warning: dereferencing type-punned pointer will break strict-aliasing rules
glest_game/type_instances/unit.h: At global scope:
glest_game/type_instances/unit.h:129: warning: ‘class Glest::Game::Unit’ has virtual functions but non-virtual destructor
glest_game/world/unit_updater.cpp: In member function ‘bool Glest::Game::UnitUpdater::unitOnRange(const Glest::Game::Unit*, int, Glest::Game::Unit**, const Glest::Game::AttackSkillTypes*, const Glest::Game::AttackSkillType**)’:
glest_game/world/unit_updater.cpp:1412: warning: passing ‘float’ for argument 2 to ‘void Glest::Game::Targets::record(Glest::Game::Unit*, int)’
glest_game/world/unit_updater.cpp:1434: warning: passing ‘float’ for argument 3 to ‘const Glest::Game::AttackSkillType* Glest::Game::AttackSkillTypes::getPreferredAttack(const Glest::Game::Unit*, const Glest::Game::Unit*, int) const’
glest_game/world/unit_updater.cpp: In member function ‘bool Glest::Game::UnitUpdater::repairableOnRange(const Glest::Game::Unit*, Shared::Graphics::Vec2i, int, Glest::Game::Unit**, const Glest::Game::RepairCommandType*, const Glest::Game::RepairSkillType*, int, bool, bool, bool)’:
glest_game/world/unit_updater.cpp:1496: warning: passing ‘float’ for argument 2 to ‘void Glest::Game::Targets::record(Glest::Game::Unit*, int)’
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/minimap.o
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’:
glest_game/types/unit_stats_base.h:49:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:49: warning: ‘class Glest::Game::Fields’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’:
glest_game/types/unit_stats_base.h:72:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:72: warning: ‘class Glest::Game::UnitProperties’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:89: warning: ‘class Glest::Game::UnitStatsBase’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:218: warning: ‘class Glest::Game::EnhancementTypeBase’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’:
glest_game/types/effect_type.h:71:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/effect_type.h:71: warning: ‘class Glest::Game::EffectTypeFlags’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’:
glest_game/types/command_type.h:70:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:70: warning: ‘class Glest::Game::AttackSkillPreferences’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:208: warning: ‘class Glest::Game::AttackCommandTypeBase’ has virtual functions but non-virtual destructor
glest_game/../shared_lib/include/../include/platform/socket.h: In member function ‘void Shared::Platform::NetworkDataBuffer::write(Shared::Platform::float32)’:
glest_game/../shared_lib/include/../include/platform/socket.h:111: warning: dereferencing type-punned pointer will break strict-aliasing rules
glest_game/type_instances/unit.h: At global scope:
glest_game/type_instances/unit.h:129: warning: ‘class Glest::Game::Unit’ has virtual functions but non-virtual destructor
glest_game/global/config.h: In function ‘void __tcf_1(void*)’:
glest_game/global/config.h:28: warning: inlining failed in call to ‘Glest::Game::Config::~Config()’: --param max-inline-insns-single limit reached
glest_game/global/config.h:95: warning: called from here
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/map.o
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’:
glest_game/types/unit_stats_base.h:49:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:49: warning: ‘class Glest::Game::Fields’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’:
glest_game/types/unit_stats_base.h:72:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:72: warning: ‘class Glest::Game::UnitProperties’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:89: warning: ‘class Glest::Game::UnitStatsBase’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:218: warning: ‘class Glest::Game::EnhancementTypeBase’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’:
glest_game/types/effect_type.h:71:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/effect_type.h:71: warning: ‘class Glest::Game::EffectTypeFlags’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’:
glest_game/types/command_type.h:70:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:70: warning: ‘class Glest::Game::AttackSkillPreferences’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:208: warning: ‘class Glest::Game::AttackCommandTypeBase’ has virtual functions but non-virtual destructor
glest_game/../shared_lib/include/../include/platform/socket.h: In member function ‘void Shared::Platform::NetworkDataBuffer::write(Shared::Platform::float32)’:
glest_game/../shared_lib/include/../include/platform/socket.h:111: warning: dereferencing type-punned pointer will break strict-aliasing rules
glest_game/type_instances/unit.h: At global scope:
glest_game/type_instances/unit.h:129: warning: ‘class Glest::Game::Unit’ has virtual functions but non-virtual destructor
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/water_effects.o
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’:
glest_game/types/unit_stats_base.h:49:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:49: warning: ‘class Glest::Game::Fields’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’:
glest_game/types/unit_stats_base.h:72:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:72: warning: ‘class Glest::Game::UnitProperties’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:89: warning: ‘class Glest::Game::UnitStatsBase’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:218: warning: ‘class Glest::Game::EnhancementTypeBase’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’:
glest_game/types/effect_type.h:71:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/effect_type.h:71: warning: ‘class Glest::Game::EffectTypeFlags’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’:
glest_game/types/command_type.h:70:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:70: warning: ‘class Glest::Game::AttackSkillPreferences’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:208: warning: ‘class Glest::Game::AttackCommandTypeBase’ has virtual functions but non-virtual destructor
glest_game/../shared_lib/include/../include/platform/socket.h: In member function ‘void Shared::Platform::NetworkDataBuffer::write(Shared::Platform::float32)’:
glest_game/../shared_lib/include/../include/platform/socket.h:111: warning: dereferencing type-punned pointer will break strict-aliasing rules
glest_game/type_instances/unit.h: At global scope:
glest_game/type_instances/unit.h:129: warning: ‘class Glest::Game::Unit’ has virtual functions but non-virtual destructor
glest_game/global/config.h: In function ‘void __tcf_0(void*)’:
glest_game/global/config.h:28: warning: inlining failed in call to ‘Glest::Game::Config::~Config()’: --param max-inline-insns-single limit reached
glest_game/global/config.h:95: warning: called from here
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/surface_atlas.o
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’:
glest_game/types/unit_stats_base.h:49:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:49: warning: ‘class Glest::Game::Fields’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’:
glest_game/types/unit_stats_base.h:72:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:72: warning: ‘class Glest::Game::UnitProperties’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:89: warning: ‘class Glest::Game::UnitStatsBase’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:218: warning: ‘class Glest::Game::EnhancementTypeBase’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’:
glest_game/types/effect_type.h:71:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/effect_type.h:71: warning: ‘class Glest::Game::EffectTypeFlags’ has virtual functions but non-virtual destructor
glest_game/../shared_lib/include/../include/platform/socket.h: In member function ‘void Shared::Platform::NetworkDataBuffer::write(Shared::Platform::float32)’:
glest_game/../shared_lib/include/../include/platform/socket.h:111: warning: dereferencing type-punned pointer will break strict-aliasing rules
glest_game/types/flags.h: At global scope:
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’:
glest_game/types/command_type.h:70:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:70: warning: ‘class Glest::Game::AttackSkillPreferences’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:208: warning: ‘class Glest::Game::AttackCommandTypeBase’ has virtual functions but non-virtual destructor
glest_game/type_instances/unit.h:129: warning: ‘class Glest::Game::Unit’ has virtual functions but non-virtual destructor
LinkApplication glest
...updated 136 target(s)...
I hope what little of the whole there is there is helpful...
*edit* Here's the gae folder after compilation.
Code: [Select]
[url=http://www.mediafire.com/?g01tmg3jdlp]http://www.mediafire.com/?g01tmg3jdlp[/url]
!Dr.Dixie!
Title:
Post by: daniel.santos on 1 April 2008, 03:47:52
wow, there's definitely a lot of differences between our compilers.  I had turned on a few extra warnings in 0.2.3, but I certainly wasn't seeing all of that, there was only one warning left for me.  This is actually helpful, because I see what the opinion of Ubuntu's compiler is on a lot of different issues.  However, I'm moving all of my extra warnings to only appear in the debug build, so you won't have this problem.

As far as gae exiting as soon as you start it, what does it say?  There should at least be an error message.

EDIT: OK, I did a little research on this and based upon what I'm seeing, I'm betting that Ubuntu's gcc compiler is configured with a lower  inlining limit that the default of 600.  Unless you have a much older processor, I personally recommend that you add -finline-limit=600 to your CFLAGS and CXXFLAGS thusly
Code: [Select]
CFLAGS="-finline-limit=600" CXXFLAGS="-finline-limit=600" ./configure blah blah blah.  

In practice, the performance difference probably isn't that significant, but on modern processors, especially those with 512k+ of L2 cache, I think it's often better to inline than to not.  It's the exchange of having more code to manage vs making more function calls.

But moreover, if you want to junk the messages, edit Jamrules and remove "-Winline" from the end of line 23.  Not sure what to do to disable all of the warnings about there not being a virtual destructor.  I was being cheap for classes where I knew I wouldn't need it and I didn't want an extra 4-8 bytes (depending upon the machine pointer size) for the extra virtual function pointer weighing down my objects.  What can I say, my 1st computer had 4kb of ram (yes, kilobytes).

Let me know what the output from glest is before it exits (I'm presuming that there is some type of output.)
Title:
Post by: Dr.Dixie on 1 April 2008, 14:12:29
There was no error that I could see. It just brought up the window and exited a half a second after.

As for changing the file you mentioned, I don't exactly understand you. What is this? Where is it?

*edit* So, from what you can see, it worked(sortof) but you didn't expect as many warnings as it gave?


!Dr.Dixie!
Title:
Post by: daniel.santos on 1 April 2008, 16:28:32
Dr.Dixie, are you running this from the console?  I guess I'm going to need to setup a 32 bit ubuntu install somewhere.  Maybe they have a livecd I can use :)
Title:
Post by: Dr.Dixie on 1 April 2008, 16:47:08
Quote from: "daniel.santos"
Dr.Dixie, are you running this from the console?  I guess I'm going to need to setup a 32 bit ubuntu install somewhere.  Maybe they have a livecd I can use :)


Um. No, I didn't try anything yet. I thought you wanted me to put that in some odd file somewheres.

YES!
Yep. http://www.ubuntu.com/getubuntu (http://www.ubuntu.com/getubuntu)


!Dr.Dixie!
Title:
Post by: daniel.santos on 2 April 2008, 14:24:28
The reason I'm asking if you are running from the console is because that is the only way you will see the error message.  If you are just clicking on it, then you will not see the error message.  If you get the latest sources, they *should* work for you, but I can't promise anything.  Also, there will be less warnings.
Title:
Post by: Dr.Dixie on 2 April 2008, 15:10:50
Yeah, I'm running it in a console. I'll try it a second time today...

After jamming, here's the ../mk/linux folder

Code: [Select]
myname@myname-desktop:~/gae/mk/linux$ ls -l
total 352
-rw-r--r-- 1 myname myname   2621 2008-04-02 10:13 aclocal.m4
-rwxr-xr-x 1 myname myname    962 2008-03-31 10:01 autogen.sh
drwxr-xr-x 3 myname myname   4096 2008-04-02 10:14 build
-rw-r--r-- 1 myname myname  33622 2008-04-02 10:14 config.log
-rwxr-xr-x 1 myname myname  23620 2008-04-02 10:14 config.status
-rwxr-xr-x 1 myname myname 237724 2008-04-02 10:13 configure
-rw-r--r-- 1 myname myname   4374 2008-03-31 10:01 configure.ac
lrwxrwxrwx 1 myname myname     26 2008-04-02 10:13 data -> ../../data/glest_game/data
lrwxrwxrwx 1 myname myname     26 2008-04-02 10:13 docs -> ../../data/glest_game/docs
-rw-r--r-- 1 myname myname   1158 2008-03-31 10:01 glestadv.ini
lrwxrwxrwx 1 myname myname     23 2008-04-02 10:13 glest_game -> ../../source/glest_game
lrwxrwxrwx 1 myname myname     29 2008-04-02 10:13 glest_map_editor -> ../../source/glest_map_editor
-rw-r--r-- 1 myname myname   4139 2008-04-02 10:14 Jamconfig
-rw-r--r-- 1 myname myname   3979 2008-04-02 10:13 Jamconfig.in
-rw-r--r-- 1 myname myname   1414 2008-03-31 10:01 Jamfile
-rw-r--r-- 1 myname myname   1345 2008-03-31 10:01 Jamrules
-rw-r--r-- 1 myname myname   1055 2008-03-31 10:01 makerelease.sh
lrwxrwxrwx 1 myname myname     26 2008-04-02 10:13 maps -> ../../data/glest_game/maps
drwxr-xr-x 4 myname myname   4096 2008-03-31 10:01 mk
lrwxrwxrwx 1 myname myname     31 2008-04-02 10:13 scenarios -> ../../data/glest_game/scenarios
lrwxrwxrwx 1 myname myname     23 2008-04-02 10:13 shared_lib -> ../../source/shared_lib
lrwxrwxrwx 1 myname myname     27 2008-04-02 10:13 techs -> ../../data/glest_game/techs
lrwxrwxrwx 1 myname myname     30 2008-04-02 10:13 tilesets -> ../../data/glest_game/tilesets
myname@myname-desktop:~/gae/mk/linux$

No executable. Here's the last about 50 lines of the compile...

Code: [Select]
glest_game/types/effect_type.h:71: warning: ‘class Glest::Game::EffectTypeFlags’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’:
glest_game/types/command_type.h:70:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:70: warning: ‘class Glest::Game::AttackSkillPreferences’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:208: warning: ‘class Glest::Game::AttackCommandTypeBase’ has virtual functions but non-virtual destructor
glest_game/../shared_lib/include/../include/platform/socket.h: In member function ‘void Shared::Platform::NetworkDataBuffer::write(Shared::Platform::float32)’:
glest_game/../shared_lib/include/../include/platform/socket.h:111: warning: dereferencing type-punned pointer will break strict-aliasing rules
glest_game/type_instances/unit.h: At global scope:
glest_game/type_instances/unit.h:129: warning: ‘class Glest::Game::Unit’ has virtual functions but non-virtual destructor
glest_game/global/config.h: In function ‘void __tcf_0(void*)’:
glest_game/global/config.h:28: warning: inlining failed in call to ‘Glest::Game::Config::~Config()’: --param max-inline-insns-single limit reached
glest_game/global/config.h:95: warning: called from here
C++ ./build/i686-pc-linux-gnu/optimize/glest_game/world/surface_atlas.o
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’:
glest_game/types/unit_stats_base.h:49:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Field, 2u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:49: warning: ‘class Glest::Game::Fields’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’:
glest_game/types/unit_stats_base.h:72:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::Property, 3u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:72: warning: ‘class Glest::Game::UnitProperties’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:89: warning: ‘class Glest::Game::UnitStatsBase’ has virtual functions but non-virtual destructor
glest_game/types/unit_stats_base.h:218: warning: ‘class Glest::Game::EnhancementTypeBase’ has virtual functions but non-virtual destructor
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’:
glest_game/types/effect_type.h:71:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::EffectTypeFlag, 22u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/effect_type.h:71: warning: ‘class Glest::Game::EffectTypeFlags’ has virtual functions but non-virtual destructor
glest_game/../shared_lib/include/../include/platform/socket.h: In member function ‘void Shared::Platform::NetworkDataBuffer::write(Shared::Platform::float32)’:
glest_game/../shared_lib/include/../include/platform/socket.h:111: warning: dereferencing type-punned pointer will break strict-aliasing rules
glest_game/types/flags.h: At global scope:
glest_game/types/flags.h: In instantiation of ‘Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’:
glest_game/types/command_type.h:70:   instantiated from here
glest_game/types/flags.h:132: warning: ‘class Glest::Game::XmlBasedFlags<Glest::Game::AttackSkillPreference, 5u, unsigned int>’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:70: warning: ‘class Glest::Game::AttackSkillPreferences’ has virtual functions but non-virtual destructor
glest_game/types/command_type.h:208: warning: ‘class Glest::Game::AttackCommandTypeBase’ has virtual functions but non-virtual destructor
glest_game/type_instances/unit.h:129: warning: ‘class Glest::Game::Unit’ has virtual functions but non-virtual destructor
...skipped glest for lack of libglestlib.a...
...failed updating 1 target(s)...
...skipped 2 target(s)...
...updated 141 target(s)...


Specifically, why did it skip glest for lack of libglestlib.a? HELP!!


!Dr.Dixie!
Title:
Post by: daniel.santos on 2 April 2008, 17:52:04
Well something failed much higher up in the compile with an actual "error"

But what I meant is, when you RUN GLEST, are you running it from the console or are you clicking on it?  You said you compiled it last time (0.2.2) but when you ran it, it exited.  It shouldn't exit without an error message, but the error message will be printed on the console.

Also, when you are posting your build problems, ALWAYS specify which version you are building.

Sorry I missed your question about what file to put the previously posted code in.  That actually doesn't get put in a file, you just type it before the configure command.  But it's not really important anyway, it's just a performance tweak (one that many will question the value of anyway).

But for right now, edit the file mk/linux/Jamrules and remove the text "$(COMPILER_WARNING_FLAGS)" without the quotes.  This should stop all of the warnings you are getting (and it's wierd, because I do not get any of those warnings).  Also, PLEASE specify which version you are building.  I need to see the error (it will have the word "error" somewhere).
Title:
Post by: Dr.Dixie on 2 April 2008, 18:13:59
Quote
Well something failed much higher up in the compile with an actual "error"

But what I meant is, when you RUN GLEST, are you running it from the console or are you clicking on it? You said you compiled it last time (0.2.2) but when you ran it, it exited. It shouldn't exit without an error message, but the error message will be printed on the console.

Also, when you are posting your build problems, ALWAYS specify which version you are building.

Sorry I missed your question about what file to put the previously posted code in. That actually doesn't get put in a file, you just type it before the configure command. But it's not really important anyway, it's just a performance tweak (one that many will question the value of anyway).

But for right now, edit the file mk/linux/Jamrules and remove the text "$(COMPILER_WARNING_FLAGS)" without the quotes. This should stop all of the warnings you are getting (and it's wierd, because I do not get any of those warnings). Also, PLEASE specify which version you are building. I need to see the error (it will have the word "error" somewhere).


No, I am not running it from the terminal. I think I've done it, but I'll do it now...
Hmm... it says "bash: run: command now found" when I type glest while in the glest_game folder. (I copied the glestadv.ini, glest and the data folder into the glest_game folder.)

I think for at least the last attempt, and perhaps for the previous one, I used 0.2.3


!Dr.Dixie!
Title:
Post by: daniel.santos on 2 April 2008, 18:47:55
ok, you probably have to type it like this:
Code: [Select]
./glest
If you are around later, I can meet you in irc and see if we can get it worked out.  I have to step out for a bit right now and I wont be back until about 4 PM central time (I presume you are in the states too).

EDIT: Oh, I think I know what's wrong.  The source distribution I send out doesn't include all of the files you need to run gae, it depends upon you already having them from Glest 3.1.2 or from subversion.  If you want to keep it simple, here is what you can do.  First, start in a new directory just in case :)
Code: [Select]
svn co https://glest.codemonger.org/svn/repos/gae/tags/0.2.3 gae-svn
cd gae-svn/mk/linux
./autogen.sh
./configure # add whatever you usually add here
jam -j2
./glest
As long as nothing fails, this will let you run the glest executable directly from the mk/linux directory.  Also, the next time there's an update, you only download the source files that have changed.  For instance, when 0.2.4 is done, you'll type this:
Code: [Select]
cd <where ever you started>/gae-svn
svn switch https://glest.codemonger.org/svn/repos/gae/tags/0.2.4
cd mk/linux
jam -j2


You may get prompted about an invalid certificate or something, just tell it "yes" or whatever it wants to continue.
Title:
Post by: Dr.Dixie on 3 April 2008, 02:19:23
Same thing happened.
Code: [Select]
...skipped glest for lack of libglestlib.a...
...failed updating 1 target(s)...
...skipped 2 target(s)...
...updated 141 target(s)...


I'm wondering whether you've actually tried it yourself on a 32 bit Ubuntu...
Er, and, FYI, I'm STILL using 0.2.3


!Dr.DIxie!
Title:
Post by: jrepan on 3 April 2008, 12:46:18
Quote from: "Dr.Dixie"
Same thing happened.
Code: [Select]
...skipped glest for lack of libglestlib.a...
...failed updating 1 target(s)...
...skipped 2 target(s)...
...updated 141 target(s)...

I'm wondering whether you've actually tried it yourself on a 32 bit Ubuntu...
Er, and, FYI, I'm STILL using 0.2.3


!Dr.DIxie!

Show full compile log.

EDIT: I fixed errors that I get. I made patch: http://jrepan.pri.ee/gae.patch (http://jrepan.pri.ee/gae.patch)
Title:
Post by: daniel.santos on 3 April 2008, 13:45:59
Thanks jrepan.  I'm integrating your patch. Although I don't quite understand why you were having problems with the includes, I guess it's some difference in what other header files include.  Also, I have to be careful about those zlib data types, apparently, I need to make sure that I always cast them so they don't blow up on 32 bit systems.

Dr. Dixie, can you please post the build log (preferably, after disabling the warnings :) )

I'm going to do an 0.2.3a to try to clear up some of these issues as well as one of the command bugs I fixed.
Title:
Post by: Dr.Dixie on 3 April 2008, 14:41:50
I can't post a full log of it unless I know where it is, because the console only shows the last few hundred lines. And I don't know how to disable the warnings. Ok. I think I made it so it'll allow 8000 lines of text... I'm going to redo the svn thing...

*edit* BTW, what's the Glest IRC channel?


!Dr.Dixie!
Title:
Post by: ZaggyDad on 3 April 2008, 14:42:02
It's still got the villagers (and technicians, and initiates, of course ;) ) repairing one cell away when you TELL them to repair something.

~Zaggy
Title:
Post by: daniel.santos on 3 April 2008, 14:43:43
Dr. Dixie, please switch to the 0.2.3a tag, clean and recompile
Code: [Select]
cd <where ever it is>/gae-svn
# might want to rename your mk/linux/glestadv.ini file 1st
svn switch https://glest.codemonger.org/svn/repos/gae/tags/0.2.3a
cd mk/linux
jam maintainer-clean
./autogen.sh
./configure
jam
./glest

If you get any errors, please post them.  This should eliminate the problem with tons of warnings as well, but let me know if it doesn't.  I originally turned those warnings on to make sure I wasn't trying to inline stuff that was too big, but apparently, not everybody's compiler has the same defaults.
Title:
Post by: daniel.santos on 3 April 2008, 14:48:23
Yea, thanks ZaggyDad.  I'm aware of it, I just haven't gotten back to it.  Since this part of the code has a changed a lot, I've been revamping it.  I've already done some of this, but I'm still going to mostly rewrite the updateBuild() and updateRepair() functions from scratch.  Since they've been modified so much, it's gotten a bit less than pretty. :)  It's doing a little better already.  If you remember originally, units would only build from the top left corner of the building.  It's a sensitive topic to tell units to find the nearest spot that you can to the building and go there.  What I found was that if the path finder couldn't get there, but it got next to it, it would say that it had "arrived", which is what's causing the "remote repairing" problem.  I think it can happen with building as well (not 100% certain).
Title:
Post by: daniel.santos on 3 April 2008, 14:55:28
Quote from: "Dr.Dixie"
I can't post a full log of it unless I know where it is, because the console only shows the last few hundred lines. And I don't know how to disable the warnings. Ok. I think I made it so it'll allow 8000 lines of text... I'm going to redo the svn thing...
Another thing you can do is redirect it into a file like this
Code: [Select]
jam > 1million_errors.txtand email it to me if it's too big to post.

Quote from: "Dr.Dixie"
*edit* BTW, what's the Glest IRC channel?
irc://irc.freenode.net/glest and I'm there now :)
Title:
Post by: Dr.Dixie on 3 April 2008, 14:56:57
Tada! I'm not sure this is needed, but, hey, I don't know what to do!
Code: [Select]
myname@myname-desktop:~/GAE 0.2.3 test/gae-svn/mk/linux$ jam maintainer-clean
./Jamconfig: No such file or directory
Couldn't find config. Please run 'configure' first.
myname@myname-desktop:~/GAE 0.2.3 test/gae-svn/mk/linux$



!Dr.Dixie!
Title:
Post by: daniel.santos on 3 April 2008, 18:55:11
Ok, here's 0.2.3a that fixes a few small problems (no new features).  Network play still has problems :) )[/li]
[li]Fixed problem that occurred when a unit had more than one attack command, but the 1st one was unavailable.  This caused the attack hotkey to not work and also if you had that unit selected with other units that could attack, you would not have an attack command available.  This is fixed (mostly, it effected the Lich in FPM).[/li][/list]
Four Path Magitech v0.1.5a Changes
Title:
Post by: Dr.Dixie on 3 April 2008, 20:33:57
Daniel, it would be helpful for me, if not more people, if you used something like zip or tgz to zip the stuff, because, for some reason, the default zip tool in Ubuntu isn't able to do rars. I probably ought to get a different zipper, but I'd rather only have the one I've got...


!Dr.Dixie!
Title:
Post by: daniel.santos on 3 April 2008, 22:03:24
Quote from: "Dr.Dixie"
Daniel, it would be helpful for me, if not more people, if you used something like zip or tgz to zip the stuff, because, for some reason, the default zip tool in Ubuntu isn't able to do rars. I probably ought to get a different zipper, but I'd rather only have the one I've got...


!Dr.Dixie!

Yea, I actually do zip, rar and bz2 for most of the packages (I have it scripted), but I only post links in one format.  Go to http://glest.codemonger.org (http://glest.codemonger.org)
Title:
Post by: Dr.Dixie on 3 April 2008, 22:23:20
Oh.


!Dr.Dixie!
Title:
Post by: daniel.santos on 3 April 2008, 22:35:00
whoops, I forgot to rename a file in subversion in the last FPM mod.  If you are using FPM, please use 0.1.5b.

Four Path Magitech v0.1.5bFor other archive formats & Linux binaries, visit http://http://glest.codemonger.org.
Title:
Post by: orion on 4 April 2008, 02:57:07
How do you guys like this web design?
I'm looking for some comments.

(http://http://www.glestadv.elementfx.com/GAE%202.jpg)

Tell me what you think.
Title:
Post by: daniel.santos on 4 April 2008, 17:12:09
looks fine with me :)  If you need help making one, send me an email  and we'll try to meet up in chat or something.  I'm running some updates on beaker (my server's real name) right now and I'm going to take it down at some point and upgrade apache, but for the most part it's ready to go.
Title:
Post by: rishenchen on 4 April 2008, 19:48:13
Really good web design orion ^^. But since ur so active on the board, why arent u ever on IRC?
Title:
Post by: ZaggyDad on 4 April 2008, 23:49:57
You should make it so that the walls rotate towards the end point on the line of walls. Although maybe in a slightly different way.

And make it so that you can trash units.

~Zaggy
Title:
Post by: orion on 5 April 2008, 16:55:17
Cool. I'm glad you guys like it. The other website design was getting on my nerves and I'm a big perfectionist. So I made a new design. I'm probably going to make an Enter Page like glest.org has.

Quote from: "Daniel.Santos"
looks fine with me  (very nice). Now send me a public key so I can get you set up!!!!!  If you need help making one, send me an email and we'll try to meet up in chat or something. I'm running some updates on beaker (my server's real name) right now and I'm going to take it down at some point and upgrade apache, but for the most part it's ready to go.

Thanks. The thing is, that picture is a photoshop document; it's not a website...yet. Making the picture was the hard part and, believe it or not, creating the website out of the picture is the easy part. It'll be finished soon and when it's finished then I'll set up the public key (I'll need your help on that Daniel).

Quote from: "Rishenchen"
Really good web design orion ^^. But since ur so active on the board, why arent u ever on IRC?


I have been on the board, but whenever I log on, everybody is always idle. I'll try logging on more often. Around what time are you on Rishen?
Title:
Post by: ZaggyDad on 5 April 2008, 17:14:34
What font did you use in the picture? It looks really cool. Maybe you could make a font database thing for the site with the letters and then make a sort of interpreter thing on the site for putting it on instead of the regular fonts. Unless you just put a gradient on a real font. Though this is probably too complicated, it would be nice.

~Zaggy
Title:
Post by: orion on 5 April 2008, 17:35:15
I used "Copper Something" and font making isn't really my thing. I'm glad to here you like it though (I've gotten nothing but good reviews, which is a good thing :D).
Title: advanced engine
Post by: rollerride on 6 April 2008, 16:59:18
how do i put the advanced engine into the game?
Title:
Post by: orion on 6 April 2008, 17:05:11
1). Go to glest.codemonger.org and download the format that suits your OS.

2) Extract in the root directory of you Glest installation (E.G "Glest_1.2" folder)

3) if on windows, choose one of the new executables extracted and play.
Title:
Post by: rollerride on 6 April 2008, 17:10:19
so i just download the win32 since i have windows xp
Title:
Post by: orion on 6 April 2008, 17:13:56
yep.
Choose between rar and zip format.
Title:
Post by: rollerride on 6 April 2008, 17:16:41
thanks for the help
i really enjoy this game
i tried xml modding too... i made a daemon mine gold  :o
Title:
Post by: rollerride on 6 April 2008, 17:36:31
i have a problem, when i play the glest advanced it loads and work just fine, but when i choose the four path magitech faction it closes after loading the magic faction
Title:
Post by: orion on 6 April 2008, 17:49:09
That's a bug that I have had, but I fixed it temporarily by just restarting Glest.
Title:
Post by: rollerride on 7 April 2008, 02:14:55
umm..how do i restart it?
Title:
Post by: orion on 7 April 2008, 15:15:34
Quote
umm..how do i restart it?


1) Exit Glest

2) re-unzip glestadv in the root directory of Glest

3) start it up a again.
Title:
Post by: daniel.santos on 7 April 2008, 16:48:59
sorry I haven't been on in a while, I've been trying to get the multiplayer problems solved.  It seems like I've got the majority of the issues resolved, there are still a few more quirks now, but I'm not getting conditions where a mutliplayer game stops (in the debug build) because of a data not being the way it's supposed to be.  This is a good thing.  I broke a few things, but it shouldn't' be too hard to fix (aerial units don't move in multiplayer games :) ).  Hopefully, I'll have 0.2.4 out soon and it will be multiplayer friendly (including cross-platform play).

There are also a few other problems with the game freezing when the server disconnects (or at least, it freezes for 30 seconds or so) and a few other conditions where it does that.  I've also had a few times where network data arrives out of order, but the core network play in gae seems to be intact, and that's what I've been focusing on.  Thanks to everybody who have posted bugs and feedback!
Title:
Post by: daniel.santos on 7 April 2008, 16:50:43
Quote from: "rollerride"
i have a problem, when i play the glest advanced it loads and work just fine, but when i choose the four path magitech faction it closes after loading the magic faction
Does it give you any error messages?  I've had my game (when debugging as well) close without an error message and it's pretty damn frustrating because it's not supposed to do that.
Title:
Post by: orion on 7 April 2008, 16:57:29
I've had the problem too, but not as frequently as rollerride has. It never really bugged me though.
Title:
Post by: rollerride on 7 April 2008, 20:32:59
no i dont get the message
Title:
Post by: ZaggyDad on 7 April 2008, 20:55:32
Download and install an older release of Glest Advanced (something less than 0.3.0), and try starting a game. If it gives a message then post it. If it doesn't, then try an earlier release.

Or else (and this may be easier), try running it from a command line.

~Zaggy
Title:
Post by: orion on 7 April 2008, 20:56:19
You didn't get an error message? I did. Hmmm.
Title:
Post by: rollerride on 8 April 2008, 20:39:05
i have the advanced engine 0.2.3a from codemonger.org
Title:
Post by: orion on 8 April 2008, 20:41:59
Me too. That's strange. I wonder what's the difference between our situations. Why did I get an error message and why did you not get an error message?

PS: Sorry, I wish I could be of more help.
Title:
Post by: rollerride on 8 April 2008, 20:52:19
thats okay i can play without the engine cuase the games just as awesome without it
Title:
Post by: orion on 8 April 2008, 23:14:15
Before you totally abandon the GAE :), just one question. What version of Glest are you using?
Title:
Post by: daniel.santos on 8 April 2008, 23:54:36
Wow, it's been a rough ride, but 0.2.4 is finally finished, and mostly, the network consistency problems have been fixed!!  Of course, it hasn't faced wide testing yet and there's plenty of other quirks still.

Glest Advanced Engine v0.2.4
LInux binaries and other archive formats at http://http://glest.codemonger.org.  If you are using the subversion respository, 0.2.4 is tagged here: https://glest.codemonger.org/svn/repos/gae/tags/0.2.4 (https://glest.codemonger.org/svn/repos/gae/tags/0.2.4)

Glest Advanced Engine v0.2.4 ChangesKnown Issues
Title:
Post by: Dr.Dixie on 9 April 2008, 00:50:55
Linux 32 bit binaries, .tar.bz2:
http://http://www.mediafire.com/?1ckswmdbuxm
Linux 32 bit binaries, .zip:
http://http://www.mediafire.com/?b4vbvwzf9d

Compiled and tested. For some reason, Glest had been showing just white when I try playing a game. I hadn't tried it without Compiz Fusion yet, but now it works.


!Dr.Dixie!
Title:
Post by: daniel.santos on 9 April 2008, 01:19:31
Thanks Dr. Dixie.  Just a heads up, I've been doing some more testing and I'm running into some different bugs now, so it doesn't look like it's quite "there" yet.

EDIT: For multiplayer play that is.  A single player game I played seemed to go fine
Title:
Post by: Dr.Dixie on 9 April 2008, 01:35:24
You're welcome, Daniel!


!Dr.Dixie!
Title:
Post by: daniel.santos on 10 April 2008, 14:46:30
I'm probably going out of town for a week or two, so I may not get to play with this again until I return.  For now, here's some fun to play with :([/li][/list]
Four Path Magitech v0.1.6 Changes
Title:
Post by: orion on 10 April 2008, 15:20:34
Can linux binaries run on Mac? Meaning, when Dr. Dixie compiles the GAE for linux, can they run on mac? If they cannot run on Mac then is someone compiling the source for mac? If not, can I try and compile it for mac?

PS: Sorry for all of the questions :D.
Title:
Post by: Dr.Dixie on 10 April 2008, 15:47:37
After download and compile, I archived GAE and then I remembered to test it... Tada:
Code: [Select]
Crash
Version: Advanced Engine v0.2.5
Time: Thu Apr 10 10:44:12 2008
Description: SIGSEGV: address not mapped to object
Address: 0xe389af8
Backtrace:
/home/myname/glest_game/glest [0x818752c]
[0xffffe440]
/home/myname/glest_game/glest [0x817e60e]
/home/myname/glest_game/glest [0x8181c1e]
/home/myname/glest_game/glest [0x8170dfe]
/home/myname/glest_game/glest [0x8066de8]
/home/myname/glest_game/glest [0x809ce4a]
/home/myname/glest_game/glest [0x80a83b1]
/home/myname/glest_game/glest [0x80c53cd]
/home/myname/glest_game/glest [0x8186a88]
/home/myname/glest_game/glest [0x8186c70]
/home/myname/glest_game/glest [0x80a0b9d]
/home/myname/glest_game/glest [0x80a0d56]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0) [0xb76c6050]
/home/myname/glest_game/glest [0x804e671]

=======================


It seemed to have worked correctly until somewhere around the end of loading. What's up? I might try recompiling later, but I've got school to do...


!Dr.Dixie!
Title:
Post by: AF on 10 April 2008, 16:37:22
hmm, if you guys are using cpu based speed ups such as SSE or MMX then I hope you realize this is a possible desync cause.

X87 math != SSE math != SSE2 math != SSE3 math etc

Calculations using the instruction sets added in newer cpus do not generate perfect calculations that match the older instructions perfectly. So if one person uses SSE and the rest don't, the game will desync.
Title:
Post by: daniel.santos on 10 April 2008, 22:03:25
Hello AF. Yea, none of the synchronization depends upon floating point calculations, I even compile with -ffast-math because the level of errors will probably only effect visual characteristics that my eye wont be able to recognize.

Dr. Dixie, can you email me your binary so I can look at the symbols?  Unfortunately, I didn't get my self-backtrace function to retrieve symbols from the executable, so I need that please and thanks.  wow, after debugging so much on a 64 bit machine, 32 bit addresses look so cute now!! :) I know that there's a thread for this so you might ask the guy who did the Glest mac port to help us out. (oh, and I don't think you can run the linux binaries on a mac)

I'll be out for a week or two, so I'll see you guys when I get back in.
Title:
Post by: ArcaneTime on 16 April 2008, 20:40:58
To get the SSE2 version to work, do I need the Microsoft C++ 2008 thingy?

And is there anyway to fullscreen/maximize the i686 version?
Title: Re:
Post by: ZaggyDad on 16 April 2008, 22:47:46
SSE2 is a sorta thing that only works on processors that have its functionality. So if yours doesn't work, then your processor prolly doesn't support it.

I'm not sure what you mean on the second question.

~Zaggy
Title:
Post by: ArcaneTime on 16 April 2008, 23:07:42
When you install the GAE for PC, you end up with three different executibles; one is the glesti686, one is the glestSSE2 and the other is the plain 'glest'. Glest i686 works on my PC, however, the game is in a permanent windowed mode, the configurator does squat, and so does changing the shortcut and .exe settings. I don't know how to fix it. =P...
Title:
Post by: ZaggyDad on 17 April 2008, 01:56:40
Oh. You have to edit glestadv.ini. And Glest Advanced doesn't replace glest.exe. That's plain old Glest.

~Zaggy
Title:
Post by: orion on 17 April 2008, 11:24:55
Steps to make Glest Advanced Windowed

1) open the glestadv.ini file

2) navigate to the "Windowed" text in the file

3) change the value to "0" instead of "1"
Title:
Post by: tucho on 18 April 2008, 19:47:08
WOW!!! this is the first version of GAE that I play (I try to install anothers olders versions but didn't work in my machine)

I am really impressed with all of new features that you have implemented in Glest, the new habilities of the units, guard, patrol... new increible attacks like the earthquake, the heal hability of monks and much more.

Keep up the good work man, congratulations :D .
Title:
Post by: daniel.santos on 21 April 2008, 00:43:49
Title:
Post by: The_Flying_Pig on 21 April 2008, 13:30:01
Im new here and i have no idea which file im suppose to download under Glest Advanced Engine v0.2.6 & Four Path Magitech v0.1.7
I have a feeling its the win32 binaries since im running windows but can anyone tell me?
Title:
Post by: The_Flying_Pig on 21 April 2008, 13:31:21
Ok i figured it out, its GAE v0.2.6 win32 binaries w/ FPM v0.1.7 tech tree but what does GAE v0.2.6 sources  do?
Title:
Post by: The_Flying_Pig on 21 April 2008, 13:35:47
uhhhh do i integrate the files with my glest files or do i just start it???
(srry, kinda too lazy to read all 16 pgs to find out...
Title:
Post by: The_Flying_Pig on 21 April 2008, 14:15:39
Ok... so maybe all those questions were unneccesary but this is wat i figured out.
-Placed glestadv.ini, glestadv-i686.exe, and glestadv-sse2.exe directly into the glest folder in program files.  
-I then placed the four_path_magitech folder into the techs folder of glest along with magitech.
-For data, there was nothing important except for textentry.tga so i put that into data-core-menu-textures of glest.

Correct???  Or did i do sumtin wrong???
Title:
Post by: orion on 21 April 2008, 14:55:07
If you have windows, all you have to do is download GAE v0.2.6 win32 binaries w/ FPM v0.1.7 tech tree and extract it to your Glest folder. Anything that has "sources" in its title is for people who know c++ and want to edit the code themselves. You should IGNORE this if you are not a programmer.
Title:
Post by: The_Flying_Pig on 21 April 2008, 20:11:04
If i do that, it needs me to overwrite sum things so id rather do it manually.  Anyways I just played a bit and found it pretty fun.  I like the way u made the earthquake.  A good effect would be a small puff of brown smoke or sumtin on those who are affected.
-Hope you fix the walking too soon
Title:
Post by: ZaggyDad on 21 April 2008, 21:05:06
The stuff it overwrites aren't things that will mess up Glest, if that's what you're worried about.

~Zaggy
Title:
Post by: orion on 21 April 2008, 21:07:50
I don't understand why you just don't extract into the Glest folder. Like ZaggyDad says, it's not like it's going to overwrite anything critical.
Title:
Post by: daniel.santos on 21 April 2008, 22:40:15
Yea, I hate that it has to overwrite anything, but this is the menu.xml to add the "Load Game" button to the main menu.  Glest ignores the added entry in menu.xml, so it doesn't effect anything.  I like the brown puff of smoke idea, thanks for the feedback.  I wish I had a better "hack" to illustrate the unit getting up from being knocked down, but I can't come up with anything else without getting somebody to make those sequences (and I'm not very good at animation stuff at all).

But this brings up a good point, we need a "quick instructions" for GAE & FPM. Maybe I should just edit the original post and put it there.
Title:
Post by: orion on 21 April 2008, 22:41:58
Why don't you just include a readme file with instructions for the GAE. That would make things a lot easier.
Title:
Post by: daniel.santos on 21 April 2008, 22:46:39
Quote from: "orion"
Why don't you just include a readme file with instructions for the GAE. That would make things a lot easier.
No, we can't do that, it would make WAY too much sense.
Title:
Post by: ZaggyDad on 21 April 2008, 22:47:52
*raises eyebrows curiously* What do you mean? Are you joking?

~Zaggy
Title:
Post by: orion on 21 April 2008, 22:51:00
For our sake, I hope he is joking :D (*nervous that he might be serious*)
Title:
Post by: The_Flying_Pig on 22 April 2008, 01:08:44
Ok, here sum more feedback.
-The graveyard seems a bit big...  It surely doesnt need to be, the space inside is just empty.  All it is is a frame of a graveyard.  Unless ur gonna put sumtin in it, its a waste of space.  Too big for the most part even if u put sumtin worthwhile in it like sum nice looking grave stones.
-earthquake-nice ripple effects.  I can't really think of any better way to simulate a earthquake but u could put a visual effect on those damaged.  Like maybe a puff of brown smoke as if the ground was exploding up or rocks if u could.
-Necromancer Tower, looks not very necromancy, the red flag or watever color it was was too bright for a evil look.   The building looks fine but you could use sum darker colors.
-Summoning-for the necromancers.  THe idea is great but the way u do it, theyre not even better than summoners.  
Summoners can make infinite summons and not have to have them near them at all times and plus, the summons dont die when the summoners do.
So obviously Necromancers should be more powerful than summoners and the limits are making them weaker.  At least add sum sort of advantage to counter these three bad things. (wups just realized i never tested the lich yet.  If you fixed these problems when they transform into lichs, then great, sorta like an upgrade).
-Wall-seriously... huh???  why is it a pig...  Maybe u just did that cus ur gonna fix it later but... yeah i think u get it
-and well, the modeling and walking and thas it.  The models reuse everything but obviously seeing this finish as quickly as possible is best.  These tweaks are best saved for last.  Especially the walking, the legs dont move.
Ill come up with more later
Title:
Post by: The_Flying_Pig on 22 April 2008, 01:16:33
Oh and I don'et get piety.  How do you get piety anyways???  Its not like u get food from a cow or priesties from a shrine soooo wat is it and how do u get more?
Title:
Post by: ZaggyDad on 22 April 2008, 02:56:05
You make monks. You should look at the requirements for stuff and see if anything costs negative something. That means that it generates the resource that has negative requirements.

~Zaggy
Title:
Post by: Alexfolland on 22 April 2008, 15:32:29
Where do you put all these files?(Ya, i'm a total newbi at whatever code you're using) :-[
Title:
Post by: ZaggyDad on 22 April 2008, 16:30:05
Extract them directly into the Glest folder. (If you don't know where that is, then right-click on the shortcut to it in your start menu and then go into properties, and the path should be there.)

~Zaggy
Title:
Post by: The_Flying_Pig on 22 April 2008, 22:21:41
Just a small unrelated question, when fog of war is disabled, is it only for me or can the computer players see everything too?
Title:
Post by: ZaggyDad on 22 April 2008, 22:42:54
I don't think it matters, or else they just never can see anything except the stuff their units can see.

~Zaggy
Title:
Post by: daniel.santos on 23 April 2008, 10:07:05
ditto what ZaggyDad said, except that the AI always knows where the player start locations are, but not necessarily if there's a player in that spot or not.  You can tell this by watching the computer when playing without fog of war.

Also, I was joking about the readme :)
Title:
Post by: orion on 23 April 2008, 11:30:20
Yesterday, I was working with the GAE on my friends computer to test out the fps when massive amounts of units move at once. His computer dropped from 39 fps to 6 fps when I gave 32 units the command to attack at a certain location. The problem with the GAE (what I think) is that it gives eachunit about 5 different commands when someone may just want to move somewhere. For example, if I wanted to attack somewhere, the GAE would give the command to move, attack (if any enemy units came by). and then move again and then attack again.

PS: you may have already known this. I'll tell you my solution later, but I have to go right now.
Title:
Post by: daniel.santos on 23 April 2008, 19:53:45
orion, did you try this on Glest 3.1.2 as well?  I don't think I've done much to change the code that moves when attacking or just moving.  I did a lot of changes to code for moving when building or repairing however, because I needed them to always be able to find a position to get to or fail.  I did some performance analysis on the pathing a while back and it's a huge bottleneck.  On an unoptimized build running on Linux 64 with an AMD Athlon 64 X2 4200+, I was having some calls to find a single path take as much as 300 milliseconds, which is a very long time.  I did similar performance analysis on the Glest 3.1.2 code and found similar problems.  In fact, I have my debug builds set up for both windows and Linux to compile the path finding code with full optimizations because if I don't, it makes debugging practically impossible.

I don't want to focus on this part just yet until we solidify the specs for gae 0.3, but it may need to be addressed very soon.
Title:
Post by: modmaker on 23 April 2008, 19:56:14
I was wanting to make my own personalized changes and corrections to the current stable glest engine.  However, I've noticed that there's not a lot of documentation in the source code.  Is there something to help me understand what's going on in all that cpp stuff?  Or should I try to work with this advanced engine instead?  What do you think?
I could just revise the stable engine and then post my revisions if you wish to incorporate them into the GAE.  Anyway, I really need that documentation help.  Thanks!
Title:
Post by: daniel.santos on 23 April 2008, 20:14:07
I hear you modmaker.  When I started modding Glest, I tried really hard to stick to the existing coding standards (formatting, comment structure, etc.).  However, its become apparent that the lack of documentation hurts the ability for the community to contribute, so I started adding Javadoc style doxygen comments here and there, but that's a still a WHOLE lot to address here.  Sadly, I've learned the engine a little bit at a time, sometimes by observing in-game, sometimes by reading posts from Martino, but mostly just digging in and studying it, that and a dash of experimentation.  check out gae from the 0.2.x branch (https://glest.codemonger.org/svn/repos/ ... ches/0.2.x (https://glest.codemonger.org/svn/repos/gae/branches/0.2.x)) and build the Doxygen docs (there's a Doxyfile there) and it should at least help some.  I'm going to eventually modify my release script to generate these and post them on the server, but I haven't uploaded any in a few months, so what's up there is very old.  Also, keep in mind that it's very different from the original engine in some areas, and identical in others.
Title:
Post by: orion on 23 April 2008, 20:14:35
I understand that the movement issue isn't a big issue yet, but, like you said, it will become a serious one soon when people with lower end computers start complaining.

My solution to the problem is (though it may not be possible) to find a way to give an auto command to a unit after it finishes another auto command. For example, the auto return feature of the GAE (where the unit returns to it's original place after it attacks). When a unit sees an enemy unit it is given the command to attack, but it is also automatically given a command queue to return to its original space. I think this is what is killing the fps with low end computers. Is there any way to make so that the units only get the command to return to original space only when the enemy unit is gone; no more command queues;
Title:
Post by: Platyhelminth on 24 April 2008, 10:46:49
Here is the link where you can find linux 32 binaries for 0.2.6:
 http://www.mediafire.com/?ybgyddmjyfg (http://www.mediafire.com/?ybgyddmjyfg)

  Extract this file where glest is installed.
Title:
Post by: orion on 24 April 2008, 11:24:36
Thanks again Platyhelminth.
Title:
Post by: Platyhelminth on 24 April 2008, 12:58:27
People which made this site : http://glest.codemonger.org/ (http://glest.codemonger.org/) Sould add my binaries.

  I would like that someone else than me test these binaries too.
Title:
Post by: orion on 24 April 2008, 15:01:26
Daniel is the owner of glest.codemonger.org, but I currently have access to the website so I'll add it soon.
Title:
Post by: orion on 25 April 2008, 11:29:22
Just so you know, hailstone made a patch for the GAE that loads only neccessary faction into memory. For example, if you're only playing a game of tech vs. tech, Glest will load both magic and tech into memory. I think titi's patch is for the GAE and it can be found at this url:

http://http://glest.org/glest_board/viewtopic.php?t=3434&sid=be475f2db98257e2e428abc0163d665b
Title:
Post by: encoish on 25 April 2008, 19:55:27
We need not type glest.codemonger.org anymore! Everyone should just type codemonger.org. That'll save a great deal of typing for the future as the project expands...

Sorry, that was quite random. I'm just in a hysterical mood because of all the typing I had to do lately. Great job, by the way. GAE is moving along nicely.
Title:
Post by: weedkiller on 26 April 2008, 08:17:14
Hm, thats not a topic-related but a emotional post  ;) => ... <=
I got GAE 0.2.6 working on my PC(sidux)!! I had the movement error before (units walk to topleft mapcorner).
Now that the bin fits to my libraries it works good.

What i really liked at first glance: The free camera mode! That has lot of style (am i right you smoothed the zooming-movement, it looks like the camera moves like on a parablel than just rotating constandly and getting higher.. or it is that it can move closer and higher)

I think i will compile me now every new version and i will even be able to edit source now (ok, if i understand how that goes... theres so complexe relations, hard to get behind that if you even have no good understanding of c++)

//EDIT2:

After i insalled all the libraries the compiler complained about even my movement error with the official binary is gone! I dont really understand why because i only added new ones but didnt replace any library, so it should have worked fine or not at all.

So, in main attitude i want to say: Thanks for it.
Title:
Post by: orion on 26 April 2008, 21:44:49
There's a GAE 0.27? I thought the latest was GAE 0.26. That's the version on glest.codemonger.org too.
Title:
Post by: ZaggyDad on 26 April 2008, 23:48:45
It's not released. He probably got the newest revision of 0.2.7. And it's 0.2.7, not 0.27.

~Zaggy
Title:
Post by: orion on 28 April 2008, 14:31:23
What's up with glest.codemonger.org? When I logged on to the server, the index.html page was missing. So, I added an index.html page that says "temp". What's going on?
Title:
Post by: ZaggyDad on 28 April 2008, 15:22:52
I think it's there, but it's just messed up. There are index.htmls with the dates after index in the filename.

~Zaggy
Title:
Post by: modmaker on 28 April 2008, 22:39:20
I would like to start working on certain aspects of this engine, but I'd rather not do so until it's a little more stable (so I know if I did something wrong or if the problem was there before) and until there's some documentation (I've been confusing the heck out of myself on the current glest engine trying to figure out what every .cpp file is actually for, and how they are implemented).  Does anyone know how long that might be?
I appreciate all the work everyone is doing on this project!
Title:
Post by: hailstone on 29 April 2008, 05:05:30
I might do a bit here and there for GAE although I am unsure about some parts of the code. What parts would you like to know about?
Title:
Post by: orion on 29 April 2008, 11:26:19
I'll be adding the website soon. That way I can get rid of that awful "temp" sign.

EDIT: My bad Daniel. When I was working on the server, I accidentally  moved the index.html file to my computer. (Sorry). Anyway, the website is back up.
Title:
Post by: daniel.santos on 3 May 2008, 04:23:45
OK, sorry this one took a bit longer to get done, but such is life.  I'm now compiling a small glestadv-data.tbz2 file for Linux users who download the binaries.  You just need to extract this in your base Glest 3.1.2 directory, just like you do with the windows package.  This contains the same files located under ./data/glest_game in the source tarball.

I haven't gotten a chance to integrate wciow's & zaggy's model updates, but the wall is already looking pretty darn good, even without the planned engine enhancements, great job guys!

Glest Advanced Engine v0.2.7 & Four Path Magitech v0.1.8
For Linux binaries and other downloads, visit http://http://glest.codemonger.org.

Glest Advanced Engine v0.2.7 ChangesFour Path Magitech v0.1.8 Changes
Title:
Post by: ZaggyDad on 3 May 2008, 05:23:14
What's the use of hiding the shrines resource?

~Zaggy
Title:
Post by: daniel.santos on 3 May 2008, 06:20:35
Quote from: "ZaggyDad"
What's the use of hiding the shrines resource?

~Zaggy
clutter.  You don't need a counter to keep track of how many shrines you have, it's a one to one relationship.
Title:
Post by: wciow on 4 May 2008, 22:31:23
Some excellent stuff in this version!  8)

Unfortunately I'm having a little problem. Whenever I click on a unit there is a small pause of about 1/3rd second. My frame rate is fine otherwise (I have a dual core CPU and can play all settings on, at fastest, without slow down).
Title:
Post by: daniel.santos on 4 May 2008, 22:49:03
Quote from: "wciow"
Some excellent stuff in this version!  8)
Thanks!  I'm glad I finally got this one out! :) I still want to do some more work on the earthquake to try to get the shaking better, but I suppose it's at least descent now.  On the bright side, I have a kick-ass algorithm ready for doing waves with water vessels! (since the original earthquake looked more like a wave than anything else).  I want to have waves travel a long distance, so I may learn some of these SIMD tricks to do the math operations en-mass to keep the performance high.

Quote from: "wciow"
Unfortunately I'm having a little problem. Whenever I click on a unit there is a small pause of about 1/3rd second. My frame rate is fine otherwise (I have a dual core CPU and can play all settings on, at fastest, without slow down).

Yikes! thanks for the info wciow.  I didn't test the windows version, just the Linux version, so it must be something wrong there, I'll look at it.
Title:
Post by: wciow on 5 May 2008, 19:52:48
I looked in the glestadv.ini and found the maxrender property. I tried changing it around but it didn't make any difference. Is this implemented yet or just placeholding?
Title:
Post by: daniel.santos on 6 May 2008, 05:08:28
Thanks!  I almost left this one out of the to do list! :) MaxRenderDistance does not yet do anything, but it needs to very soon.
Title:
Post by: chain on 6 May 2008, 19:04:35
attractive job)
There is one problem in Glest and hope u can heal it in GlestAD - a big trouble with localiztion, especially in Linux.
Glest engine use X11 bitmap fonts without international support, for example cyrillic. Plz add truetype support to the engine.
many glest funs all over the world will be thankful for u for this addon)
Title:
Post by: daniel.santos on 6 May 2008, 21:52:13
Quote from: "chain"
attractive job)
There is one problem in Glest and hope u can heal it in GlestAD - a big trouble with localiztion, especially in Linux.
Glest engine use X11 bitmap fonts without international support, for example cyrillic. Plz add truetype support to the engine.
many glest funs all over the world will be thankful for u for this addon)

Wow, thank you chain.  This isn't something I'm very familiar with and, admittedly, hadn't considered too much.  I think this should be added to the "to do" list, along with getting more translations for the GAE text strings.  I didn't get the Spanish language file in the GAE source tree because I was having problems with the encoding & file system.
Title:
Post by: daniel.santos on 23 May 2008, 19:16:13
I haven't posted in a while, mostly because I've been very busy with a work project and personal stuff which has taken most of my time.  But I wanted to post an update.

As some of you may know, Martiño has been working on integrating Lua into Glest!  He has a working set of tutorials and some scenarios using the scripting and it's very nice.  I've been working a bit on the Linux build for Glest w/Lua and the starting steps of migrating that into GAE.

Next, I have been working a good deal on the particle system (the code that makes effects like rain, snow, lightning, fire balls, etc.) and designing and constructing a weather system.  For me, this is something that I've really been wanting to see: a realistic weather system in a game.  I'm only going far enough with it to get the concepts and basic data structures flushed out, because I will be getting back to finishing 0.2.8 stuff (mostly multiplayer testing at this point), but this is a basic run-down on it's current design.

Firstly, if anybody knows of an open source software library that simulates weather patterns (not written in Fortran and intended for massive computer clusters :) ), then please let me know.

Before starting the game, the weather system is told information about the climate, geography and season.  Since we're not designing something to run on a super computer and predict hurricanes, this is what I'm simplifying it down to at this point.  Each of these values will be represented by a simple floating point number.This is a preliminary model.  With this data, some randomization and ripped off formulas from the meteorological sciences, I think that an interesting weather simulation can be realistically achieved.  The maps in Glest should be considered large enough so that differing weather events can be taking place on different places in a map; it may begin to rain on the northern end of the map while the sun is still shining in the south.  Also, the amount of rain & wind will be dictated by the weather simulation system, so that it's intensity will most closely resemble real storms, often sprinkling before the downpour.  Winds will have a direction, speed and gusting speed and gusts will travel across the landscape in realistic fashion.  This will look cool with the new wind-blown trees & shrubs we have planned for 0.3.  Also, since our physics controlled toss-able objects are having their mass & density defined, we can have them effected by wind as well.

Finally, we'll add wind (actually just atmospheric pressure) to some attacks like mage attack, catapult attack, and (mostly) the archmage's attacks so that nearby objects are effected by the blasts.  Also, when we get to this point, we'll need to modify the flags in a few models to blow with the simulated wind.
Title:
Post by: theotherhiveking on 23 May 2008, 21:26:16
Quote from: "daniel.santos"
I haven't posted in a while, mostly because I've been very busy with a work project and personal stuff which has taken most of my time.  But I wanted to post an update.

As some of you may know, Martiño has been working on integrating Lua into Glest!  He has a working set of tutorials and some scenarios using the scripting and it's very nice.  I've been working a bit on the Linux build for Glest w/Lua and the starting steps of migrating that into GAE.

Next, I have been working a good deal on the particle system (the code that makes effects like rain, snow, lightning, fire balls, etc.) and designing and constructing a weather system.  For me, this is something that I've really been wanting to see: a realistic weather system in a game.  I'm only going far enough with it to get the concepts and basic data structures flushed out, because I will be getting back to finishing 0.2.8 stuff (mostly multiplayer testing at this point), but this is a basic run-down on it's current design.

Firstly, if anybody knows of an open source software library that simulates weather patterns (not written in Fortran and intended for massive computer clusters :) ), then please let me know.

Before starting the game, the weather system is told information about the climate, geography and season.  Since we're not designing something to run on a super computer and predict hurricanes, this is what I'm simplifying it down to at this point.  Each of these values will be represented by a simple floating point number.
  • how flat or hilly the area is in general (I don't care about details), zero is an unrealistically flat plain (should never exist unless you want to simulate a synthetic environment where the ground is truly 100% flat and smooth) and one is a mountainous region.
  • how tropical is the region: zero is middle of an infinitely large continent and 1.0 is floating in the middle of an infinitely large ocean.
  • how much vegetation is there in the region: zero is a dessert and one is a rain forest.
  • which direction is the greatest body of water in in degrees.  This is essentially an average direction.  If a map has a lot of water on one end of it and you want to pretend that it's the beginning of an ocean, you point in that direction.  If there are multiple bodies of water, either in the map or in the "pretend area" outside of the map, then you point in the direction that contains the most water.
  • what is the season, zero is winter solstice and 0.5 is summer solstice.
  • latitude in degrees
  • longitude in degrees
  • altitude in map units
  • planet's orbital tilt in degrees (Earth = 23.5 degrees)
This is a preliminary model.  With this data, some randomization and ripped off formulas from the meteorological sciences, I think that an interesting weather simulation can be realistically achieved.  The maps in Glest should be considered large enough so that differing weather events can be taking place on different places in a map; it may begin to rain on the northern end of the map while the sun is still shining in the south.  Also, the amount of rain & wind will be dictated by the weather simulation system, so that it's intensity will most closely resemble real storms, often sprinkling before the downpour.  Winds will have a direction, speed and gusting speed and gusts will travel across the landscape in realistic fashion.  This will look cool with the new wind-blown trees & shrubs we have planned for 0.3.  Also, since our physics controlled toss-able objects are having their mass & density defined, we can have them effected by wind as well.

Finally, we'll add wind (actually just atmospheric pressure) to some attacks like mage attack, catapult attack, and (mostly) the archmage's attacks so that nearby objects are effected by the blasts.  Also, when we get to this point, we'll need to modify the flags in a few models to blow with the simulated wind.



Right now i don't know what to say:

Option 1: Overkill

Option 2: Awesomeness.
Title:
Post by: wciow on 23 May 2008, 21:52:06
This sounds amazing, my only concern is how many cycles this weather simulation is going to be chewing up. This is truly pushing the boundries for RTS games!!
Title:
Post by: ZaggyDad on 23 May 2008, 22:47:46
You should try making a random map option, too. And then it could have all of those options for it, too. (And maybe you could make a map previewer to go with it.)

~Zaggy
Title:
Post by: Jamesgamer on 26 May 2008, 01:40:47
Hi, sorry for not reading many earlier posts (20 pages is a lot to read  :D ).
I may be repeating, but here are some ideas (is this a good place to post them?)...

-Neutrals (ex: monsters that have lairs; do not produce much; do not use resources; are mostly defensive)
-Unique units (would be very powerful, but you could only have 1 at a time)
-Training area (perhaps under housing; would speed up morphing)
-alternative ways to win (defend for x time, perhaps ctf-ish thing?)
-Special conditions (ex:All units are granted strength temporarily; would especially make campaign interesting)
-Switch between full screen and windowed

Less likely (you don't have to read this):
-Powerful upgrades that cannot be used until x time has passed since beginning of game (instead of having to have research going?)


PS: hi orion!  :P

EDIT: And about the weather system? WOW.
Title:
Post by: orion on 26 May 2008, 03:50:49
Hey James. I haven't heard from you in a while. I personally think all of your ideas are great (even the "Less Likely" one). Perhaps, if I catch you on the irc, you could help me with the website. :)
Title:
Post by: wciow on 26 May 2008, 12:53:05
Quote from: "Jamesgamer"

-Neutrals (ex: monsters that have lairs; do not produce much; do not use resources; are mostly defensive)
-Unique units (would be very powerful, but you could only have 1 at a time)
-Training area (perhaps under housing; would speed up morphing)
-alternative ways to win (defend for x time, perhaps ctf-ish thing?)
-Special conditions (ex:All units are granted strength temporarily; would especially make campaign interesting)
-Switch between full screen and windowed
-Powerful upgrades that cannot be used until x time has passed since beginning of game (instead of having to have research going?)


Hmm, some nice ideas there  :)

Neutrals - This will be possible with the new wildlife system
thats going into the GAE.

Unique units - This is one of the most talked about and requested features for Glest. Personally I'm not a fan of hero units in RTS games since it feels a bit too much like an RPG. Anyway, this can be done quite easily in GAE now without the need for a special heroes feature.

Training area - This is (probably) possible in GAE now using a hackish system of a building with some kind of emanation but i'm not sure wether its really needed tbh.

Alternative wins/Special conditions - Hopefully this will be covered by Martinho who is currently working on implementing LUA scripts for campaigns!

Full/Windowed Screen - I think somebody made a patch for this before?

Daniel is the main man for the GAE so he can give you a better idea of what is possible right now and in the future for GAE.
Title:
Post by: orion on 26 May 2008, 14:35:01
What exactly is Lua and why is Martino adding it into Glest?
Title: topic
Post by: @kukac@ on 26 May 2008, 15:11:15
http://http://en.wikipedia.org/wiki/Lua_(programming_language)
Title:
Post by: Alexfolland on 26 May 2008, 20:57:05
Yes i'm a total noob, but how to save your game? That's a feature I've been waiting quite awhile for.
Title:
Post by: orion on 26 May 2008, 21:05:04
Press the "z" button
Title:
Post by: Dr.Dixie on 28 May 2008, 14:36:34
Wow! Good work, Daniel. I'm compiling GAE 0.2.7 for Linux now... I'll post it in a while.


!Dr.Dixie!
Title:
Post by: Dr.Dixie on 12 June 2008, 15:28:08
GAE 0.2.7 for Linux:

http://www.mediafire.com/?tmeknp7dvbn (http://www.mediafire.com/?tmeknp7dvbn)

I may or may not have messed with the config file in ways you don't want. Be warned.


!Dr.Dixie!
Title:
Post by: Dasaki on 26 June 2008, 18:07:11
Question how do you work ranged attacks?  it confuses me.  I'm kinda wanting the archers to have a bit of a longer range.  Also I want to know of a way to increase the ield view of all units and buildings.  The current setting is WAY too claustrophobic then from what I'm used too.

When I get better just as well I'll do something about field vision blocking.
Title:
Post by: Omega on 3 July 2008, 21:11:04
One question. In the first page, you spoke about guarding and patrols as well as pets. Are any of those possible in the original glest?  ?
Title:
Post by: Omega on 9 July 2008, 05:24:51
I cannot get glest 0.2.7 to work. I tried 0.2.5 as well, but it won't work. The crash log says: (two examples)

=======================
Crash
Version: Advanced Engine v0.2.7
Time: Tue Jul 08 23:04:54 2008
Description: Access violation (Writing address 0x4fcdd00)
Address: 04FCDD00

=======================
Crash
Version: Advanced Engine v0.2.7
Time: Tue Jul 08 23:16:28 2008
Description: Access violation (Writing address 0x501dd00)
Address: 0501DD00

=======================
Title:
Post by: Wolf Dreamer on 18 July 2008, 01:25:29
Quote
ERROR(S):
Error loading Faction Types: techs/four_path_magitech
Error loading units:techs/four_path_magitech/factions/magic
Error loading UnitType:
techs/four_path_magitech/factions/magic/units/animate_armor/
animate_armor.xml
Unknown class identifier: fall_down

That's what I get.

I'm using Windows Vista.  Whenever I install it in the C:\Frogram Files\Glest\ directory, it appears over in the C:\Users\my name\AppData\Local\VirtualStore\Program Files\Glest_3.1.2\ directory instead.  Odd.  I copied it over to the other one, to see if it made a difference, but it did not.

Any other Vista users out there?
Title:
Post by: weedkiller on 18 July 2008, 14:09:47
hi, i am not sure but perhaps you can run the install exe or msi in compatiblitymode? (rightclick->properties->compatiblity->xp/win98)
Title:
Post by: orion on 19 July 2008, 16:43:59
I was just thinking. If you guys aren't the admins of your computers, that would explain why it's installing in that directory (C:\Users\my name\AppData\Local\VirtualStore\Program Files\Glest_3.1.2\). Maybe glest.exe is looking for C:\Program Files\glest\etc and that's why you keep getting your error.
Title:
Post by: ZaggyDad on 21 July 2008, 04:24:50
And, it looks like you haven't installed GAE 0.2.7. It's only in that that it's got the earthquake feature (which is what the "fall_down" thing is for).

~Zaggy
Title:
Post by: Omega on 21 July 2008, 08:32:52
What about me? I am an administer on my laptop, and have no problems with the normal glest. However, I have had some toubles with 'access denied' in a few programs. For example, on runescape, I cannot use my java applet because it needs to 'use administer privleges', anyone know how to fix this? Is it just my computer, or is Windows Vista screwed?
Title:
Post by: orion on 22 July 2008, 18:38:44
Configure your firewall. That's the only thing I could think of. I hate windows vista. :D
Title:
Post by: myles on 28 July 2008, 11:45:08
I dont know if this has already been fixed but it would be a nice feature,
When a ranged unit (catapult) of screen (in the fog) is attacking another unit you can not see the projectile and its effects only the damage that is being done to your unit.

Has this been fixed?
Title:
Post by: Omega on 29 July 2008, 20:36:34
I'm growing to dislike Vista's administer errors... I turned my Firewall off (I use Kaspersky's anyway) so I tried turning off all my firewalls, etc; but to no dismay. I restarted 3 times and hibernated twice, but no change. I tried as a standard user and as an administer... I even tried copying the entire Glest folder out of program files and onto the desktop. No success. Tried the Documents folder... still no success. Where's Daniel? Maybe he knows what to do... (Does he ever answer email?!?)  :-X
Title:
Post by: orion on 29 July 2008, 23:20:39
Omega: read the topic named 'Back in GAE Business Soon'. It will explain why Daniel hasn't been here.
Title:
Post by: Omega on 30 July 2008, 12:33:49
Ahh, so he's been ill. I'm sorry to hear that and hope he get's well soon. :D
Title: Re: Glest Advanced Engine
Post by: bisurge on 12 October 2008, 18:25:05
The download links are dead.
Title: Re: Glest Advanced Engine
Post by: jrepan on 12 October 2008, 20:46:28
Quote from: "bisurge"
The download links are dead.
You can download them from Sourceforge: http://sourceforge.net/project/showfile ... _id=241094 (http://sourceforge.net/project/showfiles.php?group_id=241094)
Title: Re: Glest Advanced Engine
Post by: bisurge on 13 October 2008, 07:59:24
Quote from: "jrepan"
Quote from: "bisurge"
The download links are dead.
You can download them from Sourceforge: http://sourceforge.net/project/showfile ... _id=241094 (http://sourceforge.net/project/showfiles.php?group_id=241094)

I don't understand any of them.
Which one is for Windows that includes the Tech Tree thing?
Title: Re: Glest Advanced Engine
Post by: jrepan on 14 October 2008, 15:27:48
Quote from: "bisurge"
Quote from: "jrepan"
Quote from: "bisurge"
The download links are dead.
You can download them from Sourceforge: http://sourceforge.net/project/showfile ... _id=241094 (http://sourceforge.net/project/showfiles.php?group_id=241094)

I don't understand any of them.
Which one is for Windows that includes the Tech Tree thing?
Today hailstone added Windows binary( viewtopic.php?f=15&t=3868 (http://glest.org/glest_board/viewtopic.php?f=15&t=3868) )
Title: Re: Glest Advanced Engine
Post by: modman on 19 October 2008, 20:01:44
Could someone please code resource requirements for commands; I don't seem to be getting any responses from my other topic (http://http://glest.org/glest_board/viewtopic.php?f=15&t=3808).
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 22 October 2008, 08:11:51
Quote from: "jrepan"
Quote from: "bisurge"
I don't understand any of them.
Which one is for Windows that includes the Tech Tree thing?
Today hailstone added Windows binary( viewtopic.php?f=15&t=3868 (http://glest.org/glest_board/viewtopic.php?f=15&t=3868) )
The web server & svn repository are both back up.  Please post if any links from glest.codemonger.org are still broken.

Orion, I'll probably have to reset your shell account so you can log in and change the web site, let me know if you have problems.  It had a complete hardware upgrade (I had to replace some hardware).  The web page still needs some succinct instructions as I noticed that it's not very clear.
Title: Re: Glest Advanced Engine
Post by: orion on 23 October 2008, 01:09:03
Unfortunately, I have lost both the public and private key to your server so I would have to create another account. Sorry. I bought an external because of this and now, even if something happens to my computer, nothing will happen to my files.

I've been neck deep in Java and C++ for the last 6 months so I have to get back into the web design mode.
Title: Re: Glest Advanced Engine
Post by: orion on 24 October 2008, 11:23:26
I'll email you a public key file...
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 25 October 2008, 10:14:21
Title: Re: Glest Advanced Engine
Post by: hailstone on 26 October 2008, 09:17:41
I love the disclaimer Daniel.  :O
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 28 October 2008, 22:55:27
Quote from: "hailstone"
I love the disclaimer Daniel.  :)
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 4 November 2008, 03:13:43
GAE 0.2.8a is a bug-fix release.

Glest Advanced Engine v0.2.8a
For other archive formats, visit http://http://glest.codemonger.org.

Glest Advanced Engine v0.2.8a Changes
Full Commit Log:
Code: [Select]
------------------------------------------------------------------------
r209 | daniel | 2008-11-01 07:32:38 -0500 (Sat, 01 Nov 2008) | 26 lines

* Fix problem introduced in 0.2.8 that caused models in attack particle
  systems to not be rendered.
* Cleaned up particle system code some, removed duplicate parameters
  (variable, get/setters) from some of the classes and clarified wind
  functions.
* Fixed annoyance issue that caused the camera location to unexpectedly change
  when drag-drop selecting units.  The behavior now is that you can still left
  click on the minimap to move the camera and you can still drag the mouse
  around on the minimap, but you can only drag the mouse around on the minimap
  if the mouse went down on it.
* Added initializers to a few variables here and there that didn't need them,
  but it shut the *** compiler up.
* ParticleSystem now has setWind(), which accepts a Vec3f and sets it directly
  to the supplied velocity/direction expressed in x/y/z velocity (not vector &
  velocity) as well as a setWindSpeed2() which accepts n x/z direction
  (horizontal) and a y up/down draft value.
* Added mass & density varaibles to ParticleSystemBase and "fudgeGravity()"
  and "fudgeMassDensity()" functions to convert back & forth using a static
  mass of 1.  This way, we can later translate <gravity> settings from
  particle_system.xmls into 1 mass, x density and treat our particles to
  physics conditions such as gravity and wind (and all our particles will be
  "blowable" unless they specify otherwise in their .xml).  Then, when each
  particle system is updated, they just need to retrieve the wind from the
  WeatherSystem for a realistic wind-blown visuals.


------------------------------------------------------------------------
r210 | daniel | 2008-11-02 01:40:03 -0600 (Sun, 02 Nov 2008) | 9 lines

* Corrected a performance problem caused by selecting units via drag & drop
* Fixed a problem with off-screen attack notifications that caused the
  notification sound to play when the attack occured on-screen
* Commented out code in renderer.cpp that was an attempt to perform unit
  selection during the render cycle rather than runing part of the rendering
  later to computer which units are selected, but leaving it in there for now.



------------------------------------------------------------------------
r212 | daniel | 2008-11-03 16:05:18 -0600 (Mon, 03 Nov 2008) | 24 lines

Changes to win32 compatibility, minor performance issues and possible bad code
generation issue:
* ClientInterface::requestUpdate(Unit *unit) may have been generating bad code
  on win32 (self-recursive) because it wouldn't pass a reference to a temporary
  object that was supposed to last as until the function call returned.  Either
  way, I moved the temporary object to a local to make sure there is no
  problem with it.
* Glest::Timer class (in facilities/logger.h) wasn't compiling properly on
  win32, so I created an empty dummy class.  This will need to be fixed before
  debugging with timing info can be done on win32 now.
* ParticleSystemBase::getRandEnergy() was unnecessarily converting int value
  into float, and returning a float even though it just got converted back to
  int when used (minor performance issue).
* Shared::Random.init(int) had an ambiguity problem with the abs() function on
  win32.

Changes to MSVC++ project files:
* Moved "deps" directory from $prj_root/../../deps to $prj_root/../deps (where
  $prj_root is the project root, not the real variable msvc++ uses)
* Debug build uses fast-math floating point model now.
* Disabled noisy warnings C4250 and C4355.
* Added "smaller type check" option to code generation for "game" project (it
  was already on for libglest project)

------------------------------------------------------------------------
Title: Re: Glest Advanced Engine
Post by: Dr.Dixie on 7 November 2008, 01:19:12
Whenever you set a worker on a new resource, it doesn't go there immediately, if at all. Instead, it continues on the area in which it was originally, perhaps changing to the new area of resources which it has been commanded to go.

Thanks for the new release, Daniel!


!Dr.Dixie!
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 7 November 2008, 10:15:22
Thanks, I keep forgetting about this one (even though I see it when testing).  I think this was in the original Glest as well, I'm not 100% certain now.  It seems that sometimes when you issue the order, units will immediately leave, I think this is when you go from mining to harvesting or visa versa.  But when they are mining rock and you tell them to mine gold, I think they stay until they are done with their current load.  However, I've also seen them stay there and mine the current node until it's gone, collecting hundreds of units of that resource!
Title: Re: Glest Advanced Engine
Post by: Omega on 7 November 2008, 18:36:10
I'm downloading this new version, and lets hope it works for me...
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 12 November 2008, 23:20:10
Ok, after adding all the bugs to the bugzilla database and looking at them, it was apparent that the most pressing issue with GAE was getting multiplayer to work.  I really wasn't enjoying that part because it was still dying after a lot of work.  But I decided to dig into it again and I believe that I may have found the problem: the Unit::targetPos member variable was being used both to specify the location of the target and the next location in the unit's path when moving -- I was not aware of this and suspect that my modifications in GAE may have broken multiplayer because of this.  I have added a new member variable for tracking the next position the unit is intending to move into and I did some testing and I hope it's better now.  When doing a 4 player network game (it was crazy, all on one computer, it was really slow) I did get one of the clients to crap out, but I would like to do some testing with this.  I did a lot of other games with no failures, just the one.

On a side note, I did notice that GAE (maybe Glest too) doesn't handle multiplayer games with more than 2 players well; when one player looses and exits the game, it ends the game for everybody else.  Also, I somehow ended up with the 3d mouse arrow (the one that appears when you give a command) bug un-fixed again, I'll catch it next time around.

Glest Advanced Engine v0.2.9
Code: [Select]
[list][li][url=http://glest.codemonger.org/files/glestadv-win32-0.2.9.rar]GAE v0.2.9 win32 binaries[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-src-0.2.9.tbz2]GAE v0.2.9 sources[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-0.2.9-fpm-0.1.9-win32.rar]GAE v0.2.9 win32 binaries w/ FPM v0.1.9 tech tree[/url][/li][/list]
For other archive formats, visit
Code: [Select]
[url=http://glest.codemonger.org]http://glest.codemonger.org[/url].

Glest Advanced Engine v0.2.9 Changes
Title: Re: Glest Advanced Engine
Post by: titi on 13 November 2008, 00:33:18
here is the linux 32 bit binary.
Code: [Select]
[url=http://www.titusgames.de/gae/glestadv-linux32-bin.0.2.9.tar.gz]http://www.titusgames.de/gae/glestadv-linux32-bin.0.2.9.tar.gz[/url]
multiplayer in original glest(linux 32 bit):
- no problems up to 3 players, but big lag with 4 players! this already starts in the connect menu(of the server when 3 clients are connected)!!
- everyone can leave the game without a crash/exiting ( but not the server! )

( Sorry I have no time today for testing :( , but I will do it with my boys as soon as I can! )
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 13 November 2008, 06:48:42
thank you!!
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 14 November 2008, 18:55:05
Glest Advanced Engine v0.2.10
Code: [Select]
[list][li][url=http://glest.codemonger.org/files/glestadv-win32-0.2.10.rar]GAE v0.2.10 win32 binaries[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-src-0.2.10.tbz2]GAE v0.2.10 sources[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-0.2.10-fpm-0.1.9-win32.rar]GAE v0.2.10 win32 binaries w/ FPM v0.1.9 tech tree[/url][/li][/list]
For other archive formats, visit
Code: [Select]
[url=http://glest.codemonger.org]http://glest.codemonger.org[/url].

Glest Advanced Engine v0.2.10 ChangesIf this fixes multiplayer problems, I'm going to re-work the code to use a binary format instead of compressed XML.  It's much easier to work with XML when testing & debugging, but it's fatter, uses more processor to create & compress and it uses more bandwidth -- I can probably reduce bandwidth usage to 10% or less of current (and then decrease the update interval) by just sending bits & bytes (and maybe even compressing those).
Title: Re: Glest Advanced Engine
Post by: revel on 15 November 2008, 19:08:21
Daniel, please get yourself some free SSL certificate from http://www.cacert.org/ (http://www.cacert.org/) or some other issuer.
It is much better than the current self-signed dummy one.
You can even request wildcard cert (*.codemonger.org) to match subdomains.
Title: Re: Glest Advanced Engine
Post by: Platyhelminth on 15 November 2008, 21:04:49
I have made a 32 bit binary for linux . You can get it here : http://www.mediafire.com/?dgw4d4mtmwi (http://www.mediafire.com/?dgw4d4mtmwi) . (Extract the file where you extracted glest data)

  I have made a compressed file with every thing ( gest 3.1.2 data + 0.2.10GAE32bit for linux + 0.1.9fpm ). So you have just to extract it and to launch it (it works if you have dependencies, tell me if it doesn't ) : http://www.mediafire.com/?rm0zckqoyt2 (http://www.mediafire.com/?rm0zckqoyt2)

  I have a question: Why your binary are roughly 1MB when mine is 20MB ? What can I do to have a 1 MB binary ?
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 15 November 2008, 21:11:31
ooh! thanks for the info revel!  I didn't know you could do that :)  Your binary is probably not stripped.  If you run "strip -s glestadv" it will strip away debugging information.  However, If you run the version like it is, it will help me out better in case it crashes :) :)
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 25 November 2008, 23:52:57
This is a bug fix release.  Sorry I didn't post more info for 0.2.10a, I discovered shortly after releasing it that it wasn't stable in multiplayer.  So here's a fix release.  In addition to the below items, 0.2.10a also fixed a number of bugs and introduced a few more (I probably should have called it 0.2.11 due to the number of changes, but oh well).  So for historical purposes, I'm posting all of the changes for 0.2.10a and 0.2.10b below.

Glest Advanced Engine v0.2.10b & Four Path Magitech v0.1.9
Code: [Select]
[list][li][url=http://glest.codemonger.org/files/glestadv-win32-0.2.10b.rar]GAE v0.2.10b win32 binaries[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-src-0.2.10b.tbz2]GAE v0.2.10b sources[/url][/li]
[li][url=http://glest.codemonger.org/files/four_path_magitech-0.1.9.rar]FPM v0.1.9 tech tree[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-0.2.10b-fpm-0.1.9-win32.rar]GAE v0.2.10b win32 binaries w/ FPM v0.1.9 tech tree[/url][/li][/list]
For other archive formats, visit
Code: [Select]
[url=http://glest.codemonger.org]http://glest.codemonger.org[/url].

Glest Advanced Engine v0.2.10b Changes
Glest Advanced Engine v0.2.10a Changes
Title: Re: Glest Advanced Engine
Post by: Platyhelminth on 26 November 2008, 13:56:51
I made a 32bit binary for linux (not stripped; roughly 36MB : ) ). You can get is here : http://www.mediafire.com/?j3ixenkodmy (http://www.mediafire.com/?j3ixenkodmy) (7z compression :( ,with p7zip installed your GUI archive manager is supposed to be able to extract it).
Title: Re: Glest Advanced Engine
Post by: ZaggyDad on 26 November 2008, 19:33:25
You should make it so that when there's an error with a faction, it checks to make sure there are no more (and if there are, list them too), and then when it finishes checking and you click exit, it should just go back to the menu instead of crashing (if that's possible...).
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 27 November 2008, 01:30:44
Quote from: "ZaggyDad"
You should make it so that when there's an error with a faction, it checks to make sure there are no more (and if there are, list them too), and then when it finishes checking and you click exit, it should just go back to the menu instead of crashing (if that's possible...).
Excellent suggestion.  Perhaps you can create a bug (as an enhancement) for this.  Keep in mind however that the framework was not designed for this so there will probably need to be a lot of refitting to make this work.  But better exception handling is a must.  Also, the game doesn't technically "crash" because it catches the exception, handles it and exits normally.  None the less, it is an error condition which essentially terminates the program (after you click "OK").
Title: Re: Glest Advanced Engine
Post by: modman on 30 November 2008, 20:47:48
I played on the latest GAE (to me there seems to be so many versions) and I only played for five minutes, to be honest.  Also, the resource counters are missing!  And the minimap!

Also another thing that isn't a bug, but I think that the Initiate's Auto-repair button should be next to the cancel-action button (which would be by the meeting-point button on an applicable unit).  It just looks kind of awkward below the others, kind of by itself.

I think the next version of Dark Magic, 3.1, will be the first GAE compatible mod (I don't know if you count FPM, but you didn't seem to).  This is because I want a particle system for some of the commands and eminations for some of the units.
Title: Re: Glest Advanced Engine
Post by: ZaggyDad on 30 November 2008, 20:59:03
Quote from: "Modman"
I played on the latest GAE (to me there seems to be so many versions) and I only played for five minutes, to be honest. But by this you can tell that I've probably played it for longer than anyone else: the resource counters are missing! And the minimap!

That's not a bug. It's an option. Go into the GAE ini and change PhotoMode to 0.

Quote from: "Modman"
Also another thing that isn't a bug, but I think that the Initiate's Auto-repair button should be next to the cancel-action button (which would be by the meeting-point button on an applicable unit). It just looks kind of awkward below the others, kind of by itself.

Yeah, I agree.


@Daniel: You should make it so that when GAE is opened, it doesn't change the size of the windows outside of it (If that's possible).
[Edited by Daniel to fix quote tags :) ]
Title: Re: Glest Advanced Engine
Post by: modman on 30 November 2008, 21:02:05
Whoops!   :-[

I'm sorry.  I never used photomode before.  But thanks.
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 1 December 2008, 22:11:01
Quote from: "modman"
But by this you can tell that I've probably played it for longer than anyone else
.... hmm, I somehow doubt that. The reason for the number of releases, if you read the notes, is that these are bug-fixes.  I have been attempting to fix all outstanding bugs with multiplayer in GAE.  Multiplayer in GAE works very differently than the original Glest.  I have been relying on testing that titi & his sons have been doing for me and it's been very helpful (because they like to play multiplayer).

Quote from: "modman"
lso another thing that isn't a bug, but I think that the Initiate's Auto-repair button should be next to the cancel-action button (which would be by the meeting-point button on an applicable unit).  It just looks kind of awkward below the others, kind of by itself.
Yea, I guess that's a good idea, but from the way the display is coded, it's not so easy.  I'll look into it.

Quote from: "modman"
I think the next version of Dark Magic, 3.1, will be the first GAE compatible mod (I don't know if you count FPM, but you didn't seem to).  This is because I want a particle system for some of the commands and eminations for some of the units.
Well, I certainly count FPM, it may still be in the alpha stages, but it's certainly a mod based on GAE.  Glad to hear you are using it for your mod! :)

There are a lot of new features that I have begun work on in the 0.3 branch, but lately, I have been working on bug-fixes and performance issues.  Recently, I did some experimentation with 16-byte alignment SSE2 intrinsics that were successful (i.e., worked correctly), but didn't yield performance benefits, so wont be used.  None the less, I'm always looking for ways to improve performance and feature sets.
Title: Re: Glest Advanced Engine
Post by: ZaggyDad on 3 December 2008, 15:42:53
Quote from: "modman"
But by this you can tell that I've probably played it for longer than anyone else.

I doubt that. I've used it ever since it was first released for windows. :P I think you joined the forums long after that, too.
Title: Re: Glest Advanced Engine
Post by: modman on 4 December 2008, 01:53:44
When the Glest engine and GAE are combined, I think that every new feature from GAE should be implemented, except those that affect gameplay.  Things like autorepair should be either tossed completely I think, or can be turned on and off in the options menu, but should be defaulted off.  These things make gameplay a bit less genuine (no, that's not the right word...) or that it's just not the same.

One new thing should be that a player should be able to select a lot more units at one time...maybe like 50 or 75.  Since there will be so many little icons in the corner, I think it should list them.  Like this:

[Battlemage image] amount 20
[Ghost Armor image] amount 10
[Dragon image] amount 15
[Archmage image] amount 30

That's just an example.  You could have up to 75 units then.  Also, the images would be sorted alphabetically.
Title: Re: Glest Advanced Engine
Post by: ZaggyDad on 4 December 2008, 17:51:09
Nah, it should just be the image with a number on top. And maybe it could make the text have the inverted colors of the image.
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 4 December 2008, 21:38:31
I agree on the max selection count, but disagree on the implementation.  I already have plans to show the HPs, EPs and other locally stored resources as a line on the icon of each unit selected (or in some other visualized fashion, perhaps even darkening the image when their health is lower).  I think we need the ability to select or deselect units by clicking or control-clicking on their icons in the selection area.  Thus, left-click selects only that unit (removes all others from the selection), ctrl-left-click removes that unit from the selection and perhaps a double click will cause the same thing to happen when you double click a unit in the 3d area, selects all units of the same type within a certain radius, and that can also be modified by shift, so that other units not of that type that are already selected aren't de-selected.  I'm not hard-set on that exact specification yet, but that's pretty much what I'm planning on (I think part of it is documented in the bug database).

Personally, I'm in favor of the current 4x4 (or similar) grid of icons but to begin squishing and/or stacking them after more than 16 units are selected much like a deck of cards when spread out on a table, but still overlapping.

As far as auto-repair, it certainly wont be getting thrown out.  Enabling or disabling it as an option in the game settings (set when starting the game) isn't something I'm opposed to, but removing very useful functionality because a few people don't like it is hardly sensible.  When playing a RTS game, I would personally prefer to focus on important things like how I plan to beat the other guy rather than mundane maintenance.  The idea of an RTS is that the player is the supreme commander, they should be bothered with as few of the "mundane" details as possible.  I do concede that the auto-repair functionality can take away some of the duties a player of the game previously would have to attend to, but not excessively.  For example, you wouldn't military units to stand by idly and watch as an enemy starts attacking your town, you would want them to automatically attack them to defend, so this is also an "auto" command.   By queueing commands, you can make the most efficient use of workers, and auto-repair helps to keep them busy when one would have otherwise allowed workers to become idle.

Perhaps a repair command should have an <allow-auto value="true|false"/> to explicitly disable auto-repair in a mod?  As a side-note, "repair" is internally being renamed to "replenish" in 0.3 because it also applies to EPs and locally stored resources and all skills can optionally have a cost to HPs or a resource that is stored either locally or globally instead of just EPs (as is currently the case), so some of these dynamics are changing.
Title: Re: Glest Advanced Engine
Post by: modman on 5 December 2008, 00:59:37
But do you like my idea of being able to select more than one unit at a time?
You might even be able to set the number in the options menu of the number of simultaneous unit activations.

Also, are physics being implemented to any engine soon that you know of?
Things like particle projs bouncing off of objects, and trees and the ground?

That would be cool because then all the particle projs would bounce off these things and then eventually die.  I figured there would have to be another whole variable that would tell how many things it could bounce off of before either hitting a person or dying.  The proj should die if it leaves the unit's range circle.  There should also be one that allows a modder to decide wheter the proj would bounce at all.  To keep up the compatibility with current mods, it would be a hidden variable, one that is set to false if not specifically stated true in the XML.
Title: Re: Glest Advanced Engine
Post by: modman on 6 December 2008, 03:36:10
I set up and played the newest GAE today.  Some nice features, like the save game and units sinking into the ground upon death, but also some bugs, and I think this is the topic to post them in.

So:
If this is not a bug but some problem with my settings, then just let me know Probably the biggest one, the particle projs are all messed up.  It looks as if the projs cover all their ground in zero time.  For example the Archer's particle proj just looks like a straight line.[/list]
[list type=2]2) There are numerous problems with the save game pop-up.  For one, it would kind of be nice to be able to see a cursor.  Secondly, I cannot type in anything but lowercase.  Also the underscore does not work.  This one isn't a real problem, jsut a viewing problem, but the box which you type in should be beveled unwards (in other words concave not convex).  Lastly, the box which to type in the name is too small.  When the name is too long it just goes over the rest of the box.  A simple fix would be to make the box longer.[/list]
[list type=3]3) There seems to be this glitch that makes there be this red selection circle (yes, identical to the one when you click the attack button and then cllick the unit you wanto to attack) shortly after the unit dies...and this happens every time, not just once in a while.  It just "blinks" the little circle where the unit died.  Also, not a bug, but I think you could improve the death sequence by instead of fading and sinking them, just sink them twice as fast.[/list]
Title: Re: Glest Advanced Engine
Post by: mictes on 6 December 2008, 09:53:48
OT
Some ideas for GAE:

-We need a menu when pressing [ESC], there should be savegame, too.
- When selecting much units of the same type, there should be just one icon and the number of the units. There should be the possibility to select a unlimited number of units.
  when you select more than 999 units of the same type there wont be shown a number anymore but the "infinite-symbol".
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 6 December 2008, 10:35:16
modman, thanks for the feedback.  I'm most concerned about the 1st bug you reported.  Can you please tell me the OS (Windows, etc.) and version of GAE?  I'm presuming 0.2.10b, but I would just like to be sure.

As for bug #2, I'm planning on integrating a 3rd party widget library eventually (maybe CEGUI, I haven't researched them enough yet), so I'm not too interested in improving the current text box/dialog at the moment, although I agree it's got issues.

As for the red circles, I actually see them a lot of times that I don't expect to and it happens in the original Glest as well.  I should probably file a bug for all of these issues (the 2nd being the integration of a 3rd party widget library).  As for the death sinking/fading, I guess it's a matter of preference.  What still bothers me personally is not having the shadows fading when the unit fades.
EDIT: Added bugs for #2 and #3, I want to examine #1 more:
Code: [Select]
[url=https://bugs.codemonger.org/show_bug.cgi?id=50]https://bugs.codemonger.org/show_bug.cgi?id=50[/url]
[url=https://bugs.codemonger.org/show_bug.cgi?id=51]https://bugs.codemonger.org/show_bug.cgi?id=51[/url]

mictes , that's not really OT (I know, I get pissy when people post OT :)  Also, I don't like the idea of just showing an icon and a number as I've mentioned in some other thread (because I want to see the hit points & energy of each unit represented in their icon some way, be able to click on icons, etc.).  However, I agree on not limiting the selection to 16 units, but I'm leaning towards stacking the icons like cards sprawled out on a table.
Title: Re: Glest Advanced Engine
Post by: gameboy on 6 December 2008, 11:27:22
Quote from: "daniel.santos"
I don't like the idea of just showing an icon and a number as I've mentioned in some other thread (because I want to see the hit points & energy of each unit represented in their icon some way,
i think the most powerful units shouldn't be stacked, and if all the same units are stacked into one icon the icon should show the overall strength of the group, it will be full when all the units have 100% hp, and if one of the units are below 100% hp the overall health bar should decrease a bit ex. 10 units full hp 100%, if one gets hurt 10% the bar will show 99%, you know wat i mean?
Title: Re: Glest Advanced Engine
Post by: mictes on 6 December 2008, 11:54:08
Yes, that sounds very good.
Title: Re: Glest Advanced Engine
Post by: hailstone on 6 December 2008, 12:22:45
Quote
maybe CEGUI, I haven't researched them enough yet
I've had a quick look at CEGUI and it seems to rely on quite a few dependencies. I plan to do an in depth review looking at criteria such as size, features, dependencies, etc. It might be possible to take parts from many libraries.
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 6 December 2008, 22:07:52
Thanks hailstone, that's very helpful. I noticed that xerces-c was one of those, but I also know (from the Gentoo build) that it can be disabled in the configure script.  However, if that means no XML support than it would stink.  I'm still hoping to replace xerces-c with tinyxml (
Code: [Select]
[url=http://www.glest.org/glest_board/viewtopic.php?p=18675#p18675]omi proposed that here[/url]), so adding it back in with another library would sort of undo that benefit.
Title: Re: Glest Advanced Engine
Post by: modman on 7 December 2008, 14:32:12
I have Vista (Windows, not on a Mac like I heard you could do <--Off Topic) and I do have the 0.2.10b GAE, which is the latest version I presume.  The bug #1 looks almost like my video card is skipping right when the proj is released until it hits them.  Does anyone else experience this bug?

Also it just might be a problem with i686 build since I saw that on another forum...I'll try it on the other engine.
Title: Re: Glest Advanced Engine
Post by: verarticus on 8 December 2008, 22:47:26
ok I've decided to try to get Gae up for me but here are a few questions.
1 does the auto heal and stuff work with any faction or not.
2 what is the better version and could someone tell me whish post it is or put a link (ive got windows if that matters or not)
3 is there only this version or are there different people making other ones with other fetures (just asking)

and also I think I've got it right (just extract into glest folder right?) but when I try to run it I get this.

Can't open propertyMap file: glestadv.ini

how do I fix this?
Title: Re: Glest Advanced Engine
Post by: modman on 9 December 2008, 03:44:03
Which features on the wikia.glest for GAE are actually implemented?
Also, could you elaborate on all that can be done with eminations?
Title: Re: Glest Advanced Engine
Post by: Omega on 9 December 2008, 15:34:54
Quote from: "verarticus"
Can't open propertyMap file: glestadv.ini
This is what I got when I try to open in command line. However, opening normal for me produces no error message, just a crash. I believe it may be a problem involving Vista and App Data.
Title: Re: Glest Advanced Engine
Post by: verarticus on 9 December 2008, 21:43:52
Quote from: "omega"
Quote from: "verarticus"
Can't open propertyMap file: glestadv.ini
This is what I got when I try to open in command line. However, opening normal for me produces no error message, just a crash. I believe it may be a problem involving Vista and App Data.

so in other words...no Gae for me?  : (
Title: Re: Glest Advanced Engine
Post by: modman on 9 December 2008, 22:03:15
No, I have Vista and both Glest and GAE work fine for me.
Title: Re: Glest Advanced Engine
Post by: verarticus on 10 December 2008, 01:28:08
ok im confused... did you mean if I open it with the normal aplication it will work with all the Gae features or did you get a different version or what?
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 10 December 2008, 02:12:00
verarticus,
1. Auto-heal/repair should work with any faction.  At a later date, it will become an toggle-able feature (perhaps from the "new game" menu).
2. 0.2.10b is the latest version, just don't use the windows glestadv-i686.exe executable (use the sse2 one instead) as it appears to have problems.
3. afaik, there is only one GAE (no forks that I've heard of yet).
As for your problems, please post more information.  Are you on windows or linux?  What executable are you running?  What file did you download and extract and to which directory? If it can't find glestadv.ini, then you are probably running it from the wrong directory.  Make sure you start it from the same directory as your Glest/GAE install.  If you are using Windows explorer, you should just be able to double click on it (glestadv-sse2.exe).  If you created a shortcut, make sure the directory it starts in (a.k.a., "working directory") is the same as the one where the executable is.  And the last thing I can think of is to make sure that when you extract it that it isn't set to "flatten" directories (that it extracts sub-directories too).  It may prompt you to overwrite english.lng and menu.xml files, which is OK (say yes if it asks you).

omega,
I posted several questions for you in the bug you filed and you have not followed up.  Please visit
Code: [Select]
[url=https://bugs.codemonger.org/show_bug.cgi?id=40]https://bugs.codemonger.org/show_bug.cgi?id=40[/url] and respond, thanks.

modman,
That sounds similar to the problems from the 0.2.10b i686 build, on linux (under wine) it was sending the attack over instantly.  How did it work on the sse2 build?  Also, note that the sse2 build is always better if you have a Pentium 4/AMD Opteron or better processor.

As to your other questions, I think I have the wikia updated so that features not yet implemented are marked as such (at least in the reference section (https://docs.megaglest.org/GAE/Reference), there does seem to be a lot in the Guide that is not yet implemented).  Most of the particle system enhancements now documented are in the 0.3 build, which isn't very usable at the moment, but they are coded and working.  I'm not nearly satisfied with particle system flexibility when it comes to non-attack special effects, so this is something I will be working on somewhere in 0.3 (perhaps midway through).  I have an acolyte unit in the experimental FPM that uses the new particle systems when healing, but it still looks too much like an attack (and not pretty enough).  I will add that for explosive attacks, I think Martiño did an awesome job on them though! :)  I can get just about any look I want for that.  I will probably also add visual effects that modify the ambient light in an area rather than using direct light (as the <light> tag will eventually do).  As I've said before, I'm still learning in the 3D math & rendering arena.

Emanations: we need more static particle systems to make these look good as well.  But with emanations, you can basically cause any modifications to units around you.  You can select which units are effected, ally, foe, all, pets only, master only (for pet/master relationship).  If there's good cause, we may add more selectors in the future (select only certain unit types by name or units with certain characteristics (like "workers", "damaged", etc.)).  They can change any stat that you would change with an effect. In versions prior to 0.2.11 (not yet out) emanations update every world frame, which means that the "chance" field will be checked 40 times a second (pretty much a flaw).  In 0.2.11, I have it updating (attempting to apply on units) 5 times per second, but there should probably be some revamp to this and the "chance" should mean "chance to apply per second".  The FPM paladin has an "inspire" emanation which increases the attack and movement speed of friendlies as an example.  So the possibilities are pretty much whatever you can think up that will work with the given framework.
Title: Re: Glest Advanced Engine
Post by: verarticus on 10 December 2008, 05:09:15
ok both the aplications give me the problem and I said I have windows I'm running it from the file not a shortcut I got the top download one (cant remember name but its the top link) and I extracted it into the glest folder not any of the subfolders and thats all i've done but it gives me the error thing : (
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 11 December 2008, 01:39:21
Quote from: "verarticus"
ok both the aplications give me the problem and I said I have windows I'm running it from the file not a shortcut I got the top download one (cant remember name but its the top link) and I extracted it into the glest folder not any of the subfolders and thats all i've done but it gives me the error thing : (
No, seriously, I mean post more information.  When I say "what file did you download and extract?", the answer isn't "the top one".  Remember that you are asking for help here, I'm not going to wipe your ass for you as well.  Copy and paste the name of the file that you downloaded into your browser and post it.  Also, when I say "which executables?", the answer isn't "both of them", copy and paste the names of the files.  Better yet, go to a command prompt, change to the Glest directory and do a directory listing and copy and paste the results of that.  Start -> Run -> cmd.exe -> type cd "c:\Program Files\Glest_3.1.2" (or whatever the directory is) and then type dir.  Don't expect everybody to do your troubleshooting for you.  Also, specify the version of windows.  XP/Vista/2k?

Eventually there will be an installer and this will be easier, but that's not the case right now.  We really need a "How to ask for help" sticky that reminds people to post this information.
Title: Re: Glest Advanced Engine
Post by: hailstone on 11 December 2008, 05:16:45
Quote from: "Daniel"
We really need a "How to ask for help" sticky that reminds people to post this information.
One such as this? viewtopic.php?f=3&t=3212 (http://glest.org/glest_board/viewtopic.php?f=3&t=3212)
Title: Re: Glest Advanced Engine
Post by: verarticus on 11 December 2008, 06:15:21
Quote from: "daniel.santos"
Quote from: "verarticus"
ok both the aplications give me the problem and I said I have windows I'm running it from the file not a shortcut I got the top download one (cant remember name but its the top link) and I extracted it into the glest folder not any of the subfolders and thats all i've done but it gives me the error thing : (
No, seriously, I mean post more information. When I say "what file did you download and extract?", the answer isn't "the top one". Remember that you are asking for help here, I'm not going to wipe your ass for you as well. Copy and paste the name of the file that you downloaded into your browser and post it. Also, when I say "which executables?", the answer isn't "both of them", copy and paste the names of the files. Better yet, go to a command prompt, change to the Glest directory and do a directory listing and copy and paste the results of that. Start -> Run -> cmd.exe -> type cd "c:\Program Files\Glest_3.1.2" (or whatever the directory is) and then type dir. Don't expect everybody to do your troubleshooting for you. Also, specify the version of windows. XP/Vista/2k?

Eventually there will be an installer and this will be easier, but that's not the case right now. We really need a "How to ask for help" sticky that reminds people to post this information.

Aplications  glestadv-sse2  and  glestadv-i686
version of window  Vista
the file  glestadv-win32-0.1.3.rar

and sorry about not giving you the information you wanted (I just figured that if they are ABOUT THE SAME THING they would have the same exacutables everyone uses.)
Title: Re: Glest Advanced Engine
Post by: Platyhelminth on 11 December 2008, 12:50:58
cool, 0.1.3 version :) . (you probably downloaded it from links in the first post of that thread...)

Why don't you try the 0.2.10b ?
Code: [Select]
[url=http://glest.codemonger.org/home_page.php]http://glest.codemonger.org/home_page.php[/url]
Title: Re: Glest Advanced Engine
Post by: verarticus on 11 December 2008, 13:31:13
Quote from: Platyhelminth
cool, 0.1.3 version :) . (you probably downloaded it from links in the first post of that thread...)

Why don't you try the 0.2.10b ?
Code: [Select]
[url=http://glest.codemonger.org/home_page.php]http://glest.codemonger.org/home_page.php[/url]

Yay that work! thanks!

oh btw I was looking and is stuff like the auto heal work without haveing to chage any code? if it does need a code change where would that be?(cant find any other than the stuff one the first post)
Title: Re: Glest Advanced Engine
Post by: mictes on 11 December 2008, 15:22:46
auto-healing/auto-building should work automatically without any code-changes.
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 11 December 2008, 16:56:14
Quote from: "verarticus"
and sorry about not giving you the information you wanted (I just figured that if they are ABOUT THE SAME THING they would have the same exacutables everyone uses.)
ba-da-bing, ba-da-boom!
Title: Re: Glest Advanced Engine
Post by: verarticus on 11 December 2008, 22:25:39
ok new problem...I can play it but now it messes up my maps >.<  (no I dont have random placement on) its putting my and another Ai mixed up in a line across the middle of the map!

btw is there a way to make it fullscreen? I have trouble moving around the map when its in screen mode
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 12 December 2008, 12:08:44
I've never heard of anybody having that problem, make sure you aren't using the i686 windows build from 0.2.10b, it's messed up.  Use the sse2 one instead (hopefully, you have a P4 or better CPU :)
Title: Re: Glest Advanced Engine
Post by: mictes on 12 December 2008, 14:14:46
Fullscreen: glestadv.ini windowed=0
Title: Re: Glest Advanced Engine
Post by: verarticus on 12 December 2008, 17:25:40
Quote from: "daniel.santos"
I've never heard of anybody having that problem, make sure you aren't using the i686 windows build from 0.2.10b, it's messed up. Use the sse2 one instead (hopefully, you have a P4 or better CPU :)

Both of them are doing it ;.;

Quote from: "mictes"
Fullscreen: glestadv.ini windowed=0

Thanks!
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 15 December 2008, 13:50:34
I decided to go ahead and release 0.2.11 as it appears to be pretty stable now.  This introduces key mapping.  I will list the full details tomorrow.

Glest Advanced Engine v0.2.11
Code: [Select]
[list][li][url=http://glest.codemonger.org/files/glestadv-win32-0.2.11.rar]GAE v0.2.11 win32 binaries[/url][/li]
[li][url=http://glest.codemonger.org/files/glestadv-src-0.2.11.tbz2]GAE v0.2.11 sources[/url][/li]
[li]Subversion: [url=https://glest.codemonger.org/svn/repos/gae/tags/0.2.11]https://glest.codemonger.org/svn/repos/gae/tags/0.2.11[/url][/li]
[li]API Docs: [url=http://glest.codemonger.org/docs/0.2.11]http://glest.codemonger.org/docs/0.2.11[/url][/li][/list]
For other archive formats, visit
Code: [Select]
[url=http://glest.codemonger.org]http://glest.codemonger.org[/url].
Title: Re: Glest Advanced Engine
Post by: ZaggyDad on 17 December 2008, 16:46:21
What's key mapping? *impatient*

Btw, I love the disclaimer. XD
Title: Re: Glest Advanced Engine
Post by: hailstone on 18 December 2008, 03:17:07
@Daniel:
Are you able to include a changelog on the website for each release?
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 18 December 2008, 03:53:02
hailstone, that would make entirely too much sense! :)
Title: Re: Glest Advanced Engine
Post by: hailstone on 18 December 2008, 04:45:08
Also to add to changelog. I saw one where they used characters in front of each item to represent different things. Something like + for added feature and - for bug removed. I forget if you do this already.
Title: Re: Glest Advanced Engine
Post by: modman on 21 December 2008, 03:20:24
! OK I have a new idea.  What about booby traps specific to each tileset, or even [advanced, far, far ahead] ones that you can build and are specific to each faction.  Like for Dark Magic I was thinking of spikes that jut out of the ground when someone steps on them.  It could then act like a normal unit other ways...the trap would have attack damage, attack on and off, etc.  But it would not have HP hence it could never be killed, and the spikes would for instance have range zero.  Also I guess they would in essence have to be completely invisable to the AI, and that goes for AI teams and also AI that takes over when the unit is stopped.
Title: Re: Glest Advanced Engine
Post by: ZaggyDad on 24 December 2008, 18:41:23
Having the factions able to make "booby traps" would be nice, but ones specific to each tileset would be just plain annoying. There wouldn't even be anybody making them. Unless you're going to turn the tileset into fantasy, and make there be some sort of evil "mother nature" thing, then that just wouldn't work out at all (and if you did make a fantasy tileset, I would undoubtedly never use it. :P).
Title: Re: Glest Advanced Engine
Post by: modman on 25 December 2008, 04:06:07
No.  They are defined by each faction.

You do happen to make a habit of crashing my ideas to the ground, don't you?
Title: Re: Glest Advanced Engine
Post by: ZaggyDad on 26 December 2008, 19:15:01
When I get annoyed at them, yes. Glest isn't a total Warcraft mod, anyway. :P
Title: Re: Glest Advanced Engine
Post by: modman on 27 December 2008, 00:02:51
I don't even play Warcraft, so please don't get mad at me when I mention one of my ideas that happens to occur in Warcraft. :x
Title: Re: Glest Advanced Engine
Post by: ZaggyDad on 28 December 2008, 00:20:32
The point isn't that you're trying to copy it, it's that most of them involve creeps. And that would make it more like Warcraft. Not that this is all about Warcraft. But still.
Title: Re: Glest Advanced Engine
Post by: modman on 29 December 2008, 21:19:58
:) Here is a new idea that would probably reduce game lag, but I'm not sure if it's already done.

What if units that no human can see aren't rendered by the graphics card, they are only computed.  This includes anything within fog of war.  To make it easier, maybe the computer could just switch out an invisible model (none.g3d in the forest/models directory) so no animations happen.  Also the entire tileset doesn't need to be rendered at all, unless you have explored that region.

Another annoying thing is that I can always tell when there are a lot of troops afoot because I can hear their sounds when they cross the rivers or go over water.  Also, you can see the ripples in the water even when it's supposed to be invisible.
Title: Re: Glest Advanced Engine
Post by: verarticus on 29 December 2008, 23:15:15
I get warned about  big attack when everything starts going in slow motion XD (has only failed me 2 out of 20 times) and also I noticed that when I move the cammera to an enemy place but I have no guys there a red circle flashes real quick at an enemy building on screen. (not sure if this is related to what you said modman)
Title: Re: Glest Advanced Engine
Post by: Omega on 30 December 2008, 01:42:23
Modman's right. That lags my computer a lot too...
Regular glest too...
Title: Re: Glest Advanced Engine
Post by: modman on 4 January 2009, 04:23:24
Speaking of lag...

Maybe it's a mood my computer was in (I got a bluescreen a boot before :o ) but it was not handeling the particle systems very well at all.
To fix this, maybe there could be "canned" particle systems.  During the unit load before game, the computer (with some setting set on) would "can" the particle proj and splash, if applicable, for all applicable ranges the unit will have (max range with range increasing upgrades ----> zero range).  Then it would save them and forget all about the thousands of particles it has to create over and over and over.  I had to set game speed to slow to get remotely smooth graphics, and I have a GOOD graphics card.
Title: Re: Glest Advanced Engine
Post by: wciow on 4 January 2009, 15:52:21
Quote from: "modman"
Maybe it's a mood my computer was in (I got a bluescreen a boot before :(
Quote from: "modman"
To fix this, maybe there could be "canned" particle systems.  During the unit load before game, the computer (with some setting set on) would "can" the particle proj and splash, if applicable, for all applicable ranges
Having it done dynamically is much better IMO. Otherwise its a choice between a few set particle animations or seeing how many minutes it takes for my entire RAM to be filled with all possible predicted projections!!
Quote from: "modman"
I had to set game speed to slow to get remotely smooth graphics, and I have a GOOD graphics card.

If changing the game speed had a big effect I would say that its your CPU that can't handle it not your Graphics card?
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 4 January 2009, 16:45:19
modman,
the engine doesn't render many units that aren't visible GameCamera::computeVisibleQuads() still lies however, so there are some units, tilesets, objects, etc. that are getting rendered that are indeed off screen.  Omega actually gave me a the trig formulas for this a while back but I've yet to put them in, if you know C++ and the trig (or copy Omega's formulas from a posting back around March).  Currently, it's not that far off, but it's ugly IMHO.

The reason you lag before a big attack is the path finder :( that's on the list to be fixed.  When a lot of units are moving, they are all using the path finder and it's inefficient.  And finally, the water noise is annoying and needs to be fixed.  All that needs to happen is that when a unit moves through water, see if they are in the visible quad (again, computed in GameCamera::computeVisibleQuads()) before deciding to play the water sound.  As for the visuals, that sounds like a bug as well.  Maybe you can enter a bug report?  I might split it into two bugs, but one is fine for now.

I'll be back in town in a few days and will give the bug database, etc., more attention.

Also, on the lag issue, attempting to "can" the special effects caused by particle systems is pretty useless in a 3d world because some of the particles will be covered up by other 3d objects in the world.  As wicow said, it does indeed sound like a CPU limitation.  Regardless of which CPU you have, it shouldn't lag that hard it's a problem I'm actually hoping to address more in the future.  I've actually made some performance optimizations on 0.2.11, but I intend on many more.

verarticus,
This problem is unrelated to the bugs modman pointed out.  I actually took a quick stab at fixing this and broke the red circles on other things so I backed out the change.  This is annoying because any time any unit issues a command with another unit as a target, a red circle appears, and it should only do that for orders that YOU issue yourself and not even for "auto-commands" (auto-repair, auto-attack, etc.)

thanks to both of you for reporting bugs!
Title: Re: Glest Advanced Engine
Post by: dannylee on 13 January 2009, 05:58:19
hi, i was using normal glest, and now i want to try GAE, but how do i use it and how to install it? and i already installed the new factions (colonies,Indians,dark magic and Norsemen), are they going to work with GAE, too?
please help and thanks in advance
danny
Title: Re: Glest Advanced Engine
Post by: mictes on 13 January 2009, 09:42:47
Yes the factions work with GAE, too!
If you use windows simply download the windows-binaries and put them into the Glest-directory (where Glest.exe is for example).
Now start glestadv-sse2.exe or glestadv-1886.exe, depending on your system.
Title: Re: Glest Advanced Engine
Post by: dannylee on 13 January 2009, 23:28:18
ok, great, but how do make it in full screen, it always appears windowed and i get a command line, and the mouse doesn't really work too
oh what do i do?
please help
danny 
Title: Re: Glest Advanced Engine
Post by: dannylee on 13 January 2009, 23:43:04
oh ok i already fixed the problem with the window, (just had to change the setting file), but why do you have glest and glest advanced engine, why don't you put the all together and have only one glest instead of GAE and Glest, i think GAE is better. well guys keep it up :-)
danny
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 14 January 2009, 02:47:36
...but why do you have glest and glest advanced engine, why don't you put the all together and have only one glest instead of GAE and Glest, i think GAE is better. well guys keep it up :-)
danny
I'm glad you like GAE.  GAE is not developed by the same team that wrote Glest, it is a fork and they are kind enough to allow us to use their forum for discussion.
Title: Re: Glest Advanced Engine
Post by: modman on 17 January 2009, 03:39:42
I'm wondering if I should focus on C++ or finish my mods first...
If I take the C++ route then the mods are dead until I'm done.  Also, not to look too far down the road, but once I do learn, then I'm working with the origanal Glest engine, probably not with GAE much.
Title: Re: Glest Advanced Engine
Post by: John.d.h on 17 January 2009, 15:22:57
I'm wondering if I should focus on C++ or finish my mods first...
If I take the C++ route then the mods are dead until I'm done.  Also, not to look too far down the road, but once I do learn, then I'm working with the origanal Glest engine, probably not with GAE much.
Can't anyone on this board every start something and actually finish it? :lol:

Don't worry, I'm including myself in the "can't finish anything" camp too.
Title: Re: Glest Advanced Engine
Post by: wciow on 18 January 2009, 01:10:28
I'm wondering if I should focus on C++ or finish my mods first...

I would finish those mods!

Learning to code well is long and difficult :(

I'm not trying to be negative just letting you know that programming is not something you an learn in a few months.

EDIT:
this is going off topic...
Title: Re: Glest Advanced Engine
Post by: John.d.h on 14 February 2009, 17:47:34
Sorry if this is the wrong thread to ask this question, but could there be a "capture" function?  While some people might like to do this for enemy buildings, I was thinking more along the lines of having neutral buildings that can be captured and would provide some sort of benefit or be required to achieve victory.  Examples could include an orchard that produces food, a market that produces gold, or a scenario in which you have to capture three villages before the enemy does in order to achieve victory.
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 15 February 2009, 09:59:01
no, this isn't the wrong thread for feature requests.  I know that this has been mentioned before.  Please file a feature request bug report at http://bugs.codemonger.org (http://bugs.codemonger.org). Note that the Lich in the FPM mod was originally supposed to be able to control up to 2 enemy units and we've floated ideas about some units being able to take control of wild animals and such.  Overall, I agree that there needs to be a "take ownership" skill added, but there isn't a bug report for it yet (and bug reports keep good ideas from getting lost :) )
Title: Re: Glest Advanced Engine
Post by: John.d.h on 15 February 2009, 21:26:49
I'll post it as soon as I get the confirmation email from the site.  It sure is taking a while, though.
Title: Re: Glest Advanced Engine
Post by: ZaggyDad on 15 February 2009, 23:36:06
I just had an idea. You could make a sort of "height map" and "size limit map" for units so that archers could get on walls instead of just having them going on it when you garrison them. (and actually, that word doesn't work for it, anyway. :D) It could work like the cell maps, except the height map would have a number for the height of the cell, and on the size limit map, it would have a number of the size of the unit allowed to move around in the cell. Basically it would be to prevent horses and stuff from going up stairs that are too steep.

Code: [Select]
<heightmap value="true">
<levelHeightmap value="1">
<row value="0000"/>
<row value="0000"/>
<row value="0000"/>
<row value="0000"/>
</levelHeightmap>
<levelHeightmap value="2">
<row value="4443"/>
<row value="4443"/>
<row value="4442"/>
<row value="3322"/>
</levelHeightmap>
</heightmap>
<sizeLimitMap value="true">
<limitMap level="1">
<row value="0100"/>
<row value="1111"/>
<row value="0100"/>
<row value="0100"/>
<limitMap level="2">
<row value="0001"/>
<row value="0101"/>
<row value="0001"/>
<row value="0111"/>
</limitMap>
</sizeLimitMap>

I thought about having it have multiple levels and that you would have to right-click on a part that's on that level to get them to go up there. For repairing, what it could do is if you right-click on a secondary level, the worker will go to that level to work on repairing it, instead of not going where you want him to, and just repairing. And maybe to tell Glest which parts you have to right-click on to go to the next level, it could have some sort of level map.

Code: [Select]
<levelMap value="true">
<levelCellmap level="1">
<row value="1011"/>
<row value="0000"/>
<row value="1011"/>
<row value="1011"/>
</levelCellmap>
</levelCellmap level="2">
<row value="1110"/>
<row value="1010"/>
<row value="1110"/>
<row value="1000"/>
</levelCellmap>
</levelMap>

Since the level cell maps would probably be the same as the normal cell maps would with levels, they could be used for both unit walkability limits along with telling where to put the units. The thing to tell the computer where to move the unit could be invisible planes above the cells you want the units to move to, conformed to the heightmap. Basically cells of ground in the air, eh? ;)

I'm not saying that garrisoning shouldn't be integrated, though.

Btw, I used the barracks as an example. :) Not that it was really worth it to put that spot on the very top for units to stand.  ::)

Edit: Er, Daniel, I forgot my password on the Bugzilla, so I can't put up a "bug" report on it, so could you send my password to zaggy1024 at gmail.com? :-\ *looks somewhat annoyed at self*
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 17 February 2009, 06:22:54
Well, first for the bugzilla issues, you *should* be able to reset it yourself.  That is, if I had postfix ACTUALLY RUNNING!   :-[  But it's up now so please try because I don't really know where or how passwords are stored in the database and I would rather not know or look at anybody's password anyway.

As for the cellmap, this is a good idea.  It may not be the *right* idea, but it's a very good one and a very good start at examining these concepts.  I think that my preference is towards a less cell/block dependent scheme and one that's more in the direction of using the models themselves and collision detection.  Then, to make the game rules match, we make sure that projectiles are properly launched.

None the less, this brings up the topic of garrisoning and units residing on top of another.  This is probably a really good time to recap the possibilities here.
So the height & level maps is nice thinking.  It provides a way for the modder to specify in the XML exactly how tall each portion of a unit is and which parts of the unit are traversable at various heights.  However, the engine does collision detection using the model's verticies (I *believe* that's correct) and this is slatedto be replaced by ODE (doing the same thing, really, just better).  So there's a bit of a conflict here, do we let the model define where it can be hit or do we let it be overridden in the XML.  If we allow it to be overridden, we'll have to do extra code and it can end up looking funny if a projectile catches it on the corner of one of these invisible cell/height cubes where there is no part of a model behind it.

In short, I don't have a good answer for this but it's a very important thing to start exploring, so thanks for your ideas!  As for traversability and specifying what are "stairs" (i.e., something that can be climbed) I'm not certain how this should be done yet, but whatever we come up with, I want it to be inclusive of a multitude of possibilities and well thought out.
Title: Re: Glest Advanced Engine
Post by: gameboy on 18 February 2009, 10:56:56
I think we let the model define where it can be hit.
As for the stairs it could be another model combined with the main building.
Title: Re: Glest Advanced Engine
Post by: John.d.h on 19 February 2009, 03:47:58
I don't wanna change the direction of the thread away from walls (as I believe this is one of the biggest additions we need) but I had another thought.  How about a forest fire effect?  I was thinking about how in Sun and Moon, Sun doesn't use wood in any of their buildings, units, or technologies, but Moon does, so it would be advantageous for them to be able to burn down all the forests they come across, thereby depriving their enemies of important resources.  There could be varying degrees of burnt trees as well.  Some would just have the leaves burnt off and be blackened but still usable as wood, while others might be charred and unusable, and others might be turned completely into ash.  I think making all fire attacks start forest fires, like in Stronghold, would be a bit excessive (albeit maybe more realistic) because it might become too rampant, but having a special ability to start them might be cool.
Title: Re: Glest Advanced Engine
Post by: ZaggyDad on 20 February 2009, 23:38:59
I think we let the model define where it can be hit.
As for the stairs it could be another model combined with the main building.

Another model for the stairs? What's the use of that?
Title: Re: Glest Advanced Engine
Post by: gameboy on 21 February 2009, 08:39:07
we could define the stairs without going into to all that scripting, with a separate model for the stairs we could tell the engine which model is climbable and which is the main structure that can't be climbed.
 
Title: Re: Glest Advanced Engine
Post by: modman on 22 February 2009, 03:40:30
If the engine were designed in a way which it knew where the actual "matter" was and where the "thin air" was, then all that would have to happen is the unit would have a variable on how high it could step up (Thus you could forget all this "where's the stairs" stuff).
Title: Re: Glest Advanced Engine
Post by: wciow on 22 February 2009, 20:05:46
If the engine were designed in a way which it knew where the actual "matter" was and where the "thin air" was, then all that would have to happen is the unit would have a variable on how high it could step up (Thus you could forget all this "where's the stairs" stuff).

I believe this is exactly why Daniel plans to integrate a 'real' physics library. The current system of judging position based soley on tiles will never be accurate enough.
Title: Re: Glest Advanced Engine
Post by: daniel.santos on 6 March 2009, 08:50:09
If the engine were designed in a way which it knew where the actual "matter" was and where the "thin air" was, then all that would have to happen is the unit would have a variable on how high it could step up (Thus you could forget all this "where's the stairs" stuff).

I believe this is exactly why Daniel plans to integrate a 'real' physics library. The current system of judging position based soley on tiles will never be accurate enough.
Yes, and I suspect that modman may have the best approach here as well.  Remember that the current engine does do collision detection for projectiles, so it's not 100% based on tiles.  I believe the collision detection is being done via OpenGL and I'll just be moving it to ODE, which is designed for physics & collision detection, including more advanced functions than what the current Glest engine offers.   (Example, have you ever had a projectile type that sometimes missed it's target, went right through it because it's speed was too high? I have.)  Sorry I haven't attended this conversation more closely, I've been tied up with some other stuff.  None the less, I'm still thinking that some type of meta-data should be able to specify if a model's surface is supposed to be walkable or not.  I want to be able to keep track of which unit each unit resides in or upon at all times so that bonuses and other such rules can be properly applied.  Thus, as soon as a unit begins to climb the stairs of a walkable castle defence wall, it should probably begin to apply it's defensive bonuses at that time (or perhaps the stairs are a separate unit which have no or lessor bonuses?)  I guess that's something to hash out at some point.
Title: Re: Glest Advanced Engine
Post by: ZaggyDad on 6 March 2009, 16:06:40
Why would you want the stairs separate? Sounds like a waste of time to me. :-\
Title: Re: Glest Advanced Engine
Post by: modman on 7 March 2009, 21:10:31
OK, then if we use my "matter/non-matter" approach, there is no need for size value, and units will never walk through one another!

Also, die animations can be improved because the units can have a force applied to them and react appropriately.
Title: Re: Glest Advanced Engine
Post by: ZaggyDad on 11 March 2009, 19:18:39
OK, then if we use my "matter/non-matter" approach, there is no need for size value, and units will never walk through one another!

Also, die animations can be improved because the units can have a force applied to them and react appropriately.

A force applied to them? What d'you mean?

I was thinking the size limit would help keep catapults or whatnot from going up onto the roof of, say, a castle. :P
Title: Re: Glest Advanced Engine
Post by: Hectichermit on 17 March 2009, 23:56:55
    How bout just a garrison ability for a unit type, infantry, calvary, siege, etc are types....only infantry can be garrisoned, you can have different abilities for unit types. With garrison just use an array and the limit is based on the array the array size is based on the walls size while each number in the array also contains a position on the wall.
   You can include an animation for stairs the animation switchs models based on which are garrisoned,  lets say you garrison a swordsman then an animation of a swordsman would play walking up the stairs or if you garrison an archer then you play the animation with an archer.
   Since the wall is based on an array then if we have a siege unit with a ladder then it would "attack" the position near where a player selects which shows an animation of a ladder being put upon the wall allows other infantry to climb up the ladder and take a position. You can have wall upgrades, like on LOR Battle for Middleearth that upgrades walls with trebuches or catapults or even secret passages lol
Title: Re: Glest Advanced Engine
Post by: -Archmage- on 18 March 2009, 19:57:33
i have a question

does GAE allow you too use .blend files instead of having to use g3d, cause i can model(not animate yet though), but i don't know how to export to g3d

anyway if it doesn't i'll live, or anyway maybe you could configure GAE so that it will allow you too use .blend files
Title: Re: Glest Advanced Engine
Post by: modman on 18 March 2009, 23:59:30
The forces would have to do with impact attack types, and also soft-body animations.
I was thinking that there would be a boolean tag that would say whether or not the unit can climb.
Title: Re: Glest Advanced Engine
Post by: maxpower on 19 March 2009, 18:36:59
I have a question about the latest development:
Is GAE already ported to Glest 3.2.1?
Title: Re: Glest Advanced Engine
Post by: hailstone on 19 March 2009, 21:33:44
No 3.2.1 changes have been merged yet.
Title: Re: Glest Advanced Engine
Post by: -Archmage- on 30 March 2009, 23:46:13
i have noticed that the particle projectiles are messed up they go so fast, are you planning to fix that?
Title: Re: Glest Advanced Engine
Post by: silnarm on 5 May 2009, 04:31:51
verarticus,
This problem is unrelated to the bugs modman pointed out.  I actually took a quick stab at fixing this and broke the red circles on other things so I backed out the change.  This is annoying because any time any unit issues a command with another unit as a target, a red circle appears, and it should only do that for orders that YOU issue yourself and not even for "auto-commands" (auto-repair, auto-attack, etc.)

This was irritating me somewhat, so I spent the weekend trying to make some sense out of the code...
Something I haven't done for a while, so much easier these days... how did we ever get by without "find all references" ?
Anyway, back to the point, the Flashing red circles...

Fixed.
Open up command.cpp, at around about line 70 (sorry, I've edited a bunch of stuff... but it should be about there somewhere)
find
if(unit && !isAuto())
and replace it with
if ( unit && !isAuto() && !unit->getFaction()->getCpuControl() )

This fixes the problem for the AI's buildings, but it might still happen on network games ? I haven't looked at any of the network code yet (and I didn't want to for a while yet, if ever!) but ideally this might actually be,

if ( unit && !isAuto() && !unit->getFaction()->getCpuControl()
&& !unit->getFaction()->getNetworkControl() )


Of course, someone would first need to add getNetworkControl() to Faction.

The reason you lag before a big attack is the path finder <img src="{SMILIES_PATH}/icon_sad.gif" alt=":(" title="Sad" /> that's on the list to be fixed.  When a lot of units are moving, they are all using the path finder and it's inefficient.
I'm not sure if I'm having the same problem, but I get a slow down usually after 5-10 minutes, sometimes it comes good again, only to slip back latter, and other times it just comes and stays :(
My initial investigations have left me stumped so far, but I can say it does not appear to be the pathfinder... will keep investigating and let you know what I find.
Title: Re: Glest Advanced Engine
Post by: ZaggyDad on 11 May 2009, 17:39:35
    How bout just a garrison ability for a unit type, infantry, calvary, siege, etc are types....only infantry can be garrisoned, you can have different abilities for unit types. With garrison just use an array and the limit is based on the array the array size is based on the walls size while each number in the array also contains a position on the wall.
   You can include an animation for stairs the animation switchs models based on which are garrisoned,  lets say you garrison a swordsman then an animation of a swordsman would play walking up the stairs or if you garrison an archer then you play the animation with an archer.
   Since the wall is based on an array then if we have a siege unit with a ladder then it would "attack" the position near where a player selects which shows an animation of a ladder being put upon the wall allows other infantry to climb up the ladder and take a position. You can have wall upgrades, like on LOR Battle for Middleearth that upgrades walls with trebuches or catapults or even secret passages lol

If you want that, then you can do the animations. Yikes. And what if you added infantry? You might miss the stairs thing, and then you'd be stuck not being able to garrison them. It should just use the running anim unless it has a stairs-specific anim.

Btw, Daniel, what's coming in the next release? (It isn't 0.3.0, is it?)