Page 96 of 154
Re: Cargo Distribution
Posted: 19 Sep 2010 13:50
by fonso
Mackensen wrote:I've updated to the latest version and I'm getting an error at the end of the compile, when it goes to link the binary:
Code: Select all
[SRC] Linking openttd
linkgraph/mcf.o: In function `MultiCommodityFlow::CleanupPaths(unsigned int, std::vector<Path*, std::allocator<Path*> >&)':
mcf.cpp:(.text+0x659): undefined reference to `Path::UnFork()'
mcf.cpp:(.text+0x6a5): undefined reference to `Path::UnFork()'
collect2: ld returned 1 exit status
make[1]: *** [openttd] Error 1
System is Ubuntu with a 2.6.32-24-generic kernel.
Strange, it works here, with g++ 4.4.5. Did you do a "make clean" before compiling? If not, please try that. And can you give me the output of "g++ --version"?^
Re: Cargo Distribution
Posted: 19 Sep 2010 14:19
by Mackensen
fonso wrote:Mackensen wrote:I've updated to the latest version and I'm getting an error at the end of the compile, when it goes to link the binary:
Code: Select all
[SRC] Linking openttd
linkgraph/mcf.o: In function `MultiCommodityFlow::CleanupPaths(unsigned int, std::vector<Path*, std::allocator<Path*> >&)':
mcf.cpp:(.text+0x659): undefined reference to `Path::UnFork()'
mcf.cpp:(.text+0x6a5): undefined reference to `Path::UnFork()'
collect2: ld returned 1 exit status
make[1]: *** [openttd] Error 1
System is Ubuntu with a 2.6.32-24-generic kernel.
Strange, it works here, with g++ 4.4.5. Did you do a "make clean" before compiling? If not, please try that. And can you give me the output of "g++ --version"?^
Yes I did, and I just did it again to make sure. Here's what I get from g++:
Re: Cargo Distribution
Posted: 19 Sep 2010 15:30
by fonso
Mackensen wrote:Yes I did, and I just did it again to make sure. Here's what I get from g++:
Can you try with this patch? It removes the inlining of Path::UnFork(). Maybe I can't use inlined functions in a different file after all ...
edit: I've probably fixed it. g++ 4.4.5 does some strange magic here ...
Re: Cargo Distribution
Posted: 19 Sep 2010 16:02
by Mackensen
fonso wrote:Mackensen wrote:Yes I did, and I just did it again to make sure. Here's what I get from g++:
Can you try with this patch? It removes the inlining of Path::UnFork(). Maybe I can't use inlined functions in a different file after all ...
edit: I've probably fixed it. g++ 4.4.5 does some strange magic here ...
That did the trick--thanks!
Re: Cargo Distribution
Posted: 20 Sep 2010 07:33
by WWW
For all you compile virgins: 32 bit build. Compiled on windows 7 with minGW.
Cargodist g52c89b9bM
Re: Cargo Distribution
Posted: 20 Sep 2010 23:16
by ostlandr
Thank you!!!!!!!!!
WWW wrote:For all you compile virgins: 32 bit build. Compiled on windows 7 with minGW.
Cargodist g52c89b9bM
Re: Cargo Distribution
Posted: 21 Sep 2010 06:52
by Horse
Why can't the devs do some concessions for a major feature as Cargo distribution.
In 2004 there were still patches for passengers destinations.
We are six year later now and we havan't still anything.
There were several patches build from scratch.
All of them had some major problems and the projects died.
For now Fonso has made a great solotion too build a cargo distribution system.
I played several games with it and in my opinion this is the most balanced system i ever seen.
Even i heard nobody complain about lags.
And now the devs won't accept it for some small issues that is not perfect in their opinion.
Re: Cargo Distribution
Posted: 21 Sep 2010 09:48
by WWW
Horse wrote:Why can't the devs do some concessions for a major feature as Cargo distribution.
In 2004 there were still patches for passengers destinations.
We are six year later now and we havan't still anything.
There were several patches build from scratch.
All of them had some major problems and the projects died.
For now Fonso has made a great solotion too build a cargo distribution system.
I played several games with it and in my opinion this is the most balanced system i ever seen.
Even i heard nobody complain about lags.
And now the devs won't accept it for some small issues that is not perfect in their opinion.
There are issues with the coding style. I think the best concession they could make would be to accept it as an official branch and give it a space on the compile roster, but I don't see that happening either.
Re: Cargo Distribution
Posted: 21 Sep 2010 10:06
by Rubidium
WWW wrote:I think the best concession they could make would be to accept it as an official branch and give it a space on the compile roster, but I don't see that happening either.
That highly depends on what you mean with "official" branch. There's basically only one active official branch, which is the 1.0 release branch. The other development branches of the developers aren't official.
The compile farm isn't such a big problem either... it already has been compiled a few times on it. It's just never set up to compile it on a daily basis as that was never asked for. There are already plenty of projects that are being compiled either upon request or on a daily basis such as IS2 and the 32bpp-ez.
Re: Cargo Distribution
Posted: 21 Sep 2010 12:26
by id10terror
At the risk of everyones wrath.......

..... i'm not sure if Fonso has yet requested trunk inclusion or daily compile, i'm sure she will when she deems appropriate, until then i'm not saying anything for or against any potential outcome. (mind you i cannot see myself saying anything against)
When Fonso asks not before.
And the Aperture Science Enrichment Center takes this opportunity to remind you to thank fonso for all her hard work, before we both say some things that you're going to regret.
Thanx heaps Fonso, in the face of the odds you have managed a masterpiece. You are the programmer I want to be. Truly epic Fonso.
Edit 1, Revised gender in post.
Re: Cargo Distribution
Posted: 21 Sep 2010 12:42
by planetmaker
id10terror wrote:At the risk of everyones wrath.......

..... i'm not sure if Fonso has yet requested trunk inclusion or daily compile, i'm sure he will when he deems appropriate, until then i'm not saying anything for or against any potential outcome. (mind you i cannot see myself saying anything against)
There's not reason to doubt that Rubidium speaks the truth when he's the one who needs be asking about those two things
Nevertheless, maybe a daily compile from that repo might be interesting.
But the question "why is this not in trunk" usually comes from people who ran it briefly on their own machine but not any thorough tests or long games. Last time we ran it on our servers there were still some issues which need fixing with the multiplayer part; doing more frequent tests might become easier with a daily compile
Concerning trunk inclusion this needs splitting into several smaller patches. This work has been done at least in parts in the repository, but to my knowledge her last statement was that she's working on refining individual parts / patches before they'll be proposed for (separate) trunk inclusion.
Re: Cargo Distribution
Posted: 21 Sep 2010 19:12
by fonso
So, to answer some questions:
1. I have asked for daily compiles once and was rejected, but that was a year ago. Maybe confidence in me has grown since. I might try again.
2. I have never asked for trunk inclusion as I know there are some issues. I have detailed those above. I have asked for review of some pieces of code with mixed results.
3. I would like to hold another public test game, but I'm short on time and I'm rather fixing things in the code atm. After all, a test game requires:
3.1 getting a new build on the compile farm done
3.2 getting approval from the openttdcoop people to use their server
3.3 preparing a map and a set of grfs
3.4 deciding on a playing style (coop?, normal competition?, number of companies?, any additional rules?)
3.5 advertising (in this thread, possibly writing a blog entry for openttdcoop)
3.6 setting up the debugging stuff so that desyncs can be caught and analyzed if they happen
3.7 babysitting the game to make sure everyone is happy
I was originally planning to do a new game this weekend, but currently it doesn't look like it. The tedious and annoying tasks in this list are 3.3, 3.4, 3.5 and 3.7. Especially 3.5 is nasty as we already had some test games where no one played and that is very demotivating. However, except for 3.7 those are the tasks that don't actually require my personal intervention. Everyone can do that. So, my proposal: If someone comes up with a map, a set of grfs and a set of rules and convinces me that they'll find a significant number of players to actually play the resulting game during some specified period, I'll do my best to get a build ready, set up the debugging environment and start the game at openttdcoop at that specified time.
I'll also occasionally drop by to fix any issues there might be. I can only do that on weekends or in the evening, though.
Re: Cargo Distribution
Posted: 21 Sep 2010 19:36
by planetmaker
fonso wrote:
3.2 getting approval from the openttdcoop people to use their server
Consider that happily granted.
Other than that I can only agree with you on the map issue: please people come forward with a nice multiplayer[1] map with some challenge. Maybe doodle for a nice date
[1] this means that it definitely should not exceed 1k x 1k tiles, better in the order of 512 x 512 tiles and only NewGRF which are found on Bananas.
Re: Cargo Distribution
Posted: 21 Sep 2010 20:52
by fonso
Cargodist is now built every day at 6:00 AM CE
T by the compile farm. You can always find the latest binaries for various platforms at http://bundles.openttdcoop.org/cargodist/LATEST/
Thanks to the devs for letting me use the compile farm and to the openttdcoop people for letting me use their webspace. Have fun.
Re: Cargo Distribution
Posted: 21 Sep 2010 21:14
by Arie-
Hey! I would like to participate in the next CD game. However I'm sparse on time as well, so maybe it's useful to plan a game ahead, like two weeks, so everyone can make sure they're available at least some period during that day.
Re: Cargo Distribution
Posted: 21 Sep 2010 22:22
by Zephyris
Awesome stuff

I shall be glad to give it a go!
Re: Cargo Distribution
Posted: 22 Sep 2010 07:10
by WWW
Oh, on the subject of multiplayer, I have been hosting a cargodist server of my own since I posted that last binary, and I havn't seen any desyncs locally or when external players joined.
My server is up at
http://www.openttd.org/en/server/35594
It can be connected directly to at foxkit.no-ip.org:3980

Re: Cargo Distribution
Posted: 22 Sep 2010 07:55
by Mondane
Arie- wrote:Hey! I would like to participate in the next CD game. However I'm sparse on time as well, so maybe it's useful to plan a game ahead, like two weeks, so everyone can make sure they're available at least some period during that day.
Maybe this site can help planning the date:
http://www.datumprikker.nl/dp/scripts/d ... anguage=EN
One user should sign up and create a new event planner where he or she chooses the option 'Open registration'.
That option gives you this (quote):
"With an open registration you recieve a unique web address which you can spread (ie. mailing or forum). Anybody who is interested can use this link to subscribe as a participant."
Good luck!
Re: Cargo Distribution
Posted: 22 Sep 2010 08:35
by Zephyris
So... I have done my first single player tests and here are my thoughts. Please bear with me, this is the first time I have tried this patch

[*] Passenger routing and quantity seem sensible, the target destinations come up as I would expect and its not too easy to make money.
[*] Non-stop only orders really doesn't make sense to me... Is there really no way to get around this? You could, for example, only use stations in the orders list for generating the deterministic passengers and other stations the vehicle happens to stop at could add non-deterministic passengers...
[*] The user interface (on the minimap) seems far too confusing, there is just too much information being shown. Before this patch is suitable for "general consumption" I think you seriously need to think about what information needs to be shown. I would say you
need:
-- Link graphs for different cargos. Only one cargo should be shown at once to simplify the view.
-- Capacity of each link (C)
-- Usage of each link (U)
-- Spare capacity of each link (either C-U or C/U)
I would strongly suggest getting rid of the bar charts and numbers and replacing them with colour coding for the link. If you are happy to only display one cargo at once then at any time you would only be showing link capacity OR link usage OR spare capacity. These values could easily be mapped to a green to red scale... This may well also solve the requirement for the minimap zoom. In general I do find the minimap zoom useful though...
Other little bugs and comments:
[*] Calculation mouse position on the minimap for mouse-over information breaks if the title bar is not the default size (try this grf to see this bug
http://www.tt-forums.net/viewtopic.php?f=26&t=50095 ). It looks like you are calculating the mouse position/link position from the top right corner of the window not the small map view itself.
[*] The buttons to select the cargo need to look more like buttons - try lifting the ones from the cargo income graph. Similarly the other graph display options don't really look like buttons.
Re: Cargo Distribution
Posted: 22 Sep 2010 16:53
by id10terror
If someone wanted to run a server local or internet, are there any suggestions as to what options should be used in order to enable easy debugging?
WWW: can u pls update to new fish grf, i deleted my old ver trying to fix a seperate issue and cannot easily locate 0.6.1(its not on ingame content system or forum thread)
On a side note, doing some 'benchmarking' between ais, admiral ai, aiai, aroai,nocab & trAIns. What i find most interesting is aroai's method for using busses between cities in cargodist style.