The International Simutrans Forum

Simutrans Extended => Simutrans-Extended development => Topic started by: Bernd Gabriel on November 03, 2012, 05:04:13 PM

Title: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on November 03, 2012, 05:04:13 PM
Simutrans-Experimental.exe fails to load standard "pak" 64 of Oct 22 for standard Simutrans 112.0.
It crashes while loading city building "03_CITY_A".
Title: Re: [Bug][10.12] Fails to load standard pak64
Post by: jamespetts on November 03, 2012, 05:10:40 PM
This is probably because a pakset designed for Simutrans-Standard 112.0 has features that are not compatible with Simutrans-Experimental 111.2.1 10.12. I am unfortunately rather behind on merging the latest version of Standard into Experimental, and should much appreciate any assistance in doing so. I am presently preoccupied with fixing the bugs reported in the latest release.
Title: Re: [Bug][10.12] Fails to load standard pak64
Post by: Carl on November 03, 2012, 06:04:48 PM
In the meantime, I believe that pak64 111.3 works fine with 10.12.
Title: Re: [Bug][10.12] Fails to load standard pak64/Solution!
Post by: greenling on November 03, 2012, 06:46:36 PM
Bernd Gabriel,Carl,Jamespetts
i have a Solution!
I can try to translate png and dats from pak 64 standart in png and dat for pak64 exp.
Then to make with makeobj for Simutrans exp.
I know since simutrans 112 where the problems lie.

Title: Re: [Bug][10.12] Fails to load standard pak64
Post by: jamespetts on November 03, 2012, 06:58:55 PM
Greenling,

yes, indeed, that should work: Pak64 is open source, so if you compile with the Makeobj for Simutrans-Experimental, it should work (although you might get odd results with the .pngs for the new non-rectangular factories).
Title: Re: [Bug][10.12] Fails to load standard pak64/Solution!
Post by: greenling on November 03, 2012, 07:32:56 PM
jamespetts,carl,Bernd Gabriel
Quote from: jamespetts on November 03, 2012, 06:58:55 PM
(although you might get odd results with the .pngs for the new non-rectangular factories).
That it not a big problem but the biggest problem is that I need to a quiet place and time.
(For people who like to want to work with this project are seen!)
Title: Re: [Bug][10.12] Fails to load standard pak64
Post by: Bernd Gabriel on November 04, 2012, 10:09:09 AM
Oops, I didn't realise that ST E10.12 isn't based on the current ST 112 code :(

OK then, I I'll try to merge Simutrans.master into my new "112.x-merge" branch.
Title: Re: [Bug][10.12] Fails to load standard pak64
Post by: greenling on November 04, 2012, 10:32:17 AM
jamespetts,Carl,Bernd Gabriel
Quote from: Bernd Gabriel on November 04, 2012, 10:09:09 AM
Oops, I didn't realise that ST E10.12 isn't based on the current ST 112 code :(
OK then, I I'll try to merge Simutrans.master into my new "112.x-merge" branch.
That we now must translate the data from Simutrans standart in simutrans Exp and back.
It only Prissi and Dwachs faults.
She have build in things they we in Simutrans Exp not have.
@
Bernd Gabriel
Do you build your own pakset to build?
Title: Re: [Bug][10.12] Fails to load standard pak64
Post by: Bernd Gabriel on November 04, 2012, 10:35:38 AM
@greenling

No, I will not change any pakset. I'll "only" merge the source code.
Title: Re: [Bug][10.12] Fails to load standard pak64
Post by: greenling on November 04, 2012, 11:06:03 AM
@
Bernd Gabriel
Quote from: Bernd Gabriel on November 04, 2012, 10:35:38 AM
@greenling
I'll "only" merge the source code.
Ok you will only update the Simutrans Code from Simutrans Exp.
But i think it better to try to update the pakset too.
Prissi have fill a little gap by the Railvehicles.
Title: Re: [Bug][10.12] Fails to load standard pak64
Post by: jamespetts on November 09, 2012, 10:56:23 AM
Quote from: Bernd Gabriel on November 04, 2012, 10:09:09 AM
Oops, I didn't realise that ST E10.12 isn't based on the current ST 112 code :(

OK then, I I'll try to merge Simutrans.master into my new "112.x-merge" branch.

This will probably be a lot of work - but extremely worthwhile! Thank you: this will advance Simutrans-Experimental significantly. With merging, it is important to test to ensure that existing things aren't broken. Do feel free to message me if you are unsure as to what the intention of any of my code was, and the Standard people I have found equally willing to answer questions about the intention of any part of their code.
Title: Re: [Bug][10.12] Fails to load standard pak64
Post by: Bernd Gabriel on November 10, 2012, 06:43:31 AM
Thanks, that might be helpful.

By now I have done about 50% to merge up to standard 111.3 into experimental...
Title: Re: [Bug][10.12] Fails to load standard pak64
Post by: Bernd Gabriel on November 10, 2012, 11:09:47 PM
I though it would be better to merge in several steps.

A 1st step is done now:
I pushed the conflict free 111.3 merge to my branch "112.x-merge".
It starts and could load my all-time-standard-pak64 test game.
And it could start the Pak128.Britain-Ex-0.8.3 demo game.
That's all I tested up to now...
Title: Re: [Bug][10.12] Fails to load standard pak64
Post by: jamespetts on November 11, 2012, 03:23:24 PM
Merging in steps is probably a good idea. Thank you for all this work! I'll look into testing this and get back to you when I have had a chance.

In the meantime, it would be very helpful if as many people who can compile from source could test this as possible (and as thoroughly as possible), as, from my experience, it is very easy to introduce bugs in unexpected places when merging in from Standard.

Bernd - let me know if you need me to elaborate on the intention of any part of my code...

Edit: You might want to merge in the latest bug fixes in 10.x.
Title: Re: [Bug][10.12] Fails to load standard pak64
Post by: Carl on November 11, 2012, 04:45:19 PM
I'll run some tests on this ASAP.
Title: Re: [Bug][10.12] Fails to load standard pak64
Post by: Bernd Gabriel on November 11, 2012, 05:32:47 PM
Thanks for your support.

Most probably I can push a complete merge to standard master branch HEAD this evening  :)

@James: until now I think I could solve all conflicts by browsing the file histories.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on November 11, 2012, 09:21:30 PM
Hmm - which version/branch/tag did you use to base your merge? When I create a new branch based on 10.x called 112.x-merge and try to merge your branch, I get:


error: The following untracked working tree files would be overwritten by merge:
simutrans/text/zh/color.txt
simutrans/text/sv/simutrans.txt
simutrans/text/sv/depot.txt
simutrans/text/sk/station.txt
simutrans/text/sk/haltlist.txt
simutrans/text/sk/display.txt
simutrans/text/sk/depot.txt
simutrans/text/ro/station_details.txt
simutrans/text/ro/schedule.txt
simutrans/text/ro/railtools.txt
simutrans/text/ro/depot.txt
simutrans/text/pt/trafficlight_info.txt
simutrans/text/pt/station_details.txt
simutrans/text/pt/station.txt
simutrans/text/pt/simutrans.txt
simutrans/text/pt/schedule.txt
simutrans/text/pt/removal_tool.txt
simutrans/text/pt/railtools.txt
simutrans/text/pt/linemanagement.txt
simutrans/text/pt/inspection_tool.txt
simutrans/text/pt/industry_info.txt
simutrans/text/pt/haltlist_filter.txt
simutrans/text/pt/haltlist.txt
simutrans/text/pt/goods_filter.txt
simutrans/text/pt/factorylist_filter.txt
simutrans/text/pt/depot.txt
simutrans/text/pt/curiositylist_filter.txt
simutrans/text/pt/convoiinfo.txt
simutrans/text/pt/convoi_filter.txt
simutrans/text/pt/convoi.txt
simutrans/text/pt/citylist_filter.txt
simutrans/text/pl/station.txt
simutrans/text/pl/schedule.txt
simutrans/text/pl/railtools.txt
simutrans/text/pl/depot.txt
simutrans/text/nl/depot.txt
simutrans/text/nl/curiositylist_filter.txt
simutrans/text/nl/convoiinfo.txt
simutrans/text/nl/convoi_filter.txt
simutrans/text/nl/convoi.txt
simutrans/text/nl/climates.txt
simutrans/text/nl/citylist_filter.txt
simutrans/text/ja/station_details.txt
simutrans/text/ja/station.txt
simutrans/text/ja/slopetools.txt
simutrans/text/ja/schedule.txt
simutrans/text/ja/railtools.txt
simutrans/text/ja/map.txt
simutrans/text/ja/general.txt
simutrans/text/ja/depot.txt
simutrans/text/ja/citywindow.txt
simutrans/text/ja/citylist_filter.txt
simutrans/text/it/station_details.txt
simutrans/text/it/station.txt
simutrans/text/it/removal_tool.txt
simutrans/text/it/railtools.txt
simutrans/text/it/haltlist.txt
simutrans/text/it/depot.txt
simutrans/text/it/convoiinfo.txt
simutrans/text/it/citylist_filter.txt
simutrans/text/hu/goods_filter.txt
simutrans/text/hr/station_details.txt
simutrans/text/hr/linemanagement.txt
simutrans/text/fr/station.txt
simutrans/text/fr/schedule.txt
simutrans/text/fr/railtools.txt
simutrans/text/fr/haltlist_filter.txt
simutrans/text/fr/haltlist.txt
simutrans/text/fr/finances.txt
simutrans/text/fr/depot.txt
simutrans/text/fr/convoi_filter.txt
simutrans/text/fr/convoi.txt
simutrans/text/es/station_details.txt
simutrans/text/es/station.txt
simutrans/text/es/simutrans.txt
simutrans/text/es/schedule.txt
simutrans/text/es/removal_tool.txt
simutrans/text/es/railtools.txt
simutrans/text/es/linemanagement.txt
simutrans/text/es/inspection_tool.txt
simutrans/text/es/industry_info.txt
simutrans/text/es/haltlist_filter.txt
simutrans/text/es/haltlist.txt
simutrans/text/es/goods_filter.txt
simutrans/text/es/factorylist_filter.txt
simutrans/text/es/depot.txt
simutrans/text/es/curiositylist_filter.txt
simutrans/text/es/convoiinfo.txt
simutrans/text/es/convoi_filter.txt
simutrans/text/es/convoi.txt
simutrans/text/es/citylist_filter.txt
simutrans/text/en/window.txt
simutrans/text/en/trafficlight_info.txt
simutrans/text/en/station_details.txt
simutrans/text/en/station.txt
simutrans/text/en/simutrans.txt
simutrans/text/en/schedule.txt
simutrans/text/en/removal_tool.txt
simutrans/text/en/railtools.txt
simutrans/text/en/privatesign_info.txt
simutrans/text/en/map.txt
simutrans/text/en/linemanagement.txt
simutrans/text/en/labellist_filter.txt
simutrans/text/en/inspection_tool.txt
simutrans/text/en/industry_info.txt
simutrans/text/en/haltlist_filter.txt
simutrans/text/en/haltlist.txt
simutrans/text/en/goods_filter.txt
simutrans/text/en/finances.txt
simutrans/text/en/factorylist_filter.txt
simutrans/text/en/display.txt
simutrans/text/en/depot.txt
simutrans/text/en/curiositylist_filter.txt
simutrans/text/en/convoiinfo.txt
simutrans/text/en/convoidetail.txt
simutrans/text/en/convoi_filter.txtMerging:
9bd86c7 FIX: Compile error with Nettool (tnanks to Dwachs for spotting the problem)
virtual Bernd-Gabrial-fork/112.x-merge
found 1 common ancestor(s):
d436d6b GIT: Synchronise text issues
Aborting

simu
fatal: merging of trees 6e18713cc62285b9c1f338a6660dc1dd329c4e5e and ac8853720251645c1dc9feeb6112d831a6f5c1c9 failed
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on November 11, 2012, 10:09:11 PM
Git told me that these files were conflicting with deleted files and I added them.
When I started merging up to standard HEAD I got a conflict in .gitignore where I saw, that /simutrans/text has to be ignored.
Thus I think they have to be deleted and ignored again.

Unfortunately the final standard-HEAD merge will not be ready before Thursday.
I'm too tired now after 12 hours of conflict solving to do the last few files.  ::(

Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on November 11, 2012, 10:27:25 PM
Ahh, don't worry - it is extremely hard work! It is much appreciated. Do I take you to mean that the text conflicts you plan to solve by Thursday or so? If so, that would be most helpful.

Incidentally, as to testing, one basic thing that needs to be done for each complete stage is to compile Simutrans-Experimental, Makeobj and Nettool, and then compile Simutrans-Experimental in its normal, ipv4 and command line server versions, and then to use the Makeobj to generate a pakset from source and load that with the new version.

Edit: Two further things. Firstly, I suggest creating a new branch for each major stage: for example, having a further branch from this branch for merging to the next released version of Standard, and so forth. This will mean that bug fixes that we put in this branch can still be used even if we can't get the later merges to work for a while.

Secondly, another important aspect to testing at each stage is to check that a complex network game will run without desyncs.
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on November 14, 2012, 09:49:57 PM
2nd step finished: merged standard simutrans branch aburch/master up to and including SHA1-ID b82ac48f0a0dce2891e35819ec1c1ac9603f1f89 into my branch "112.x-merge".
3rd step finished: merged jamespetts/master into my branch "112.x-merge".

Compiled Simutrans-Experimental.exe and Makeobj-Experimental.exe with Visual Studio 2010.

Simutrans-Experimental.exe starts, loads current standard pak64 and Pak128.Britain-Ex-0.8.3 incl. demo game.
Makeobj-Experimental.exe fails, as it tries to log an error with an uninitialized logger object.

Testers (and fixers) are welcome!

If someone is going to fix something, please drop a note here before you start to avoid redundant work.
Thanks (I'll be back most probably at the weekend)
Title: Re: Merging Standard 112.x into Experimental
Post by: Milko on November 14, 2012, 09:56:00 PM
Bernd, thanks for helping James.

Giuseppe
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on November 14, 2012, 11:56:56 PM
Thank you very much for doing all of this - it is very much appreciated! It must be a huge job. I shall try to do some testing when I get a chance.
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on November 17, 2012, 01:13:04 PM
I just started fixing dialog designs...
Title: Re: Merging Standard 112.x into Experimental
Post by: Dwachs on November 17, 2012, 05:58:24 PM
Congratulations for finishing this task!!

How many commits in standard did you merge?
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on November 18, 2012, 03:33:41 PM
This merged SVN revisions SVN-5435 ... SVN-6041 == 607 commits.
And merging the remaining 25 revisions will produce another about 20 conflicting files  ::(
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on November 18, 2012, 10:52:44 PM
Bernd,

I am afraid that I have had some trouble compiling this. I get:


1>------ Build started: Project: Simutrans-Experimental, Configuration: Debug Win32 ------
1>export_objs.obj : error LNK2001: unresolved external symbol "class karte_t * script_api::welt" (?welt@script_api@@3PAVkarte_t@@A)
1>api_city.obj : error LNK2001: unresolved external symbol "class karte_t * script_api::welt" (?welt@script_api@@3PAVkarte_t@@A)
1>api_convoy.obj : error LNK2019: unresolved external symbol "class karte_t * script_api::welt" (?welt@script_api@@3PAVkarte_t@@A) referenced in function "void __cdecl export_convoy(struct SQVM *)" (?export_convoy@@YAXPAUSQVM@@@Z)
1>api_factory.obj : error LNK2001: unresolved external symbol "class karte_t * script_api::welt" (?welt@script_api@@3PAVkarte_t@@A)
1>api_world.obj : error LNK2001: unresolved external symbol "class karte_t * script_api::welt" (?welt@script_api@@3PAVkarte_t@@A)
1>api_player.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<int>::get(struct SQVM *,int)" (?get@?$param@H@script_api@@SAHPAUSQVM@@H@Z)
1>api_world.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<int>::get(struct SQVM *,int)" (?get@?$param@H@script_api@@SAHPAUSQVM@@H@Z) referenced in function "class vector_tpl<__int64> const & __cdecl get_world_stat(class karte_t *,bool,int)" (?get_world_stat@@YAABV?$vector_tpl@_J@@PAVkarte_t@@_NH@Z)
1>scenario.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<int>::get(struct SQVM *,int)" (?get@?$param@H@script_api@@SAHPAUSQVM@@H@Z)
1>api_city.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<int>::get(struct SQVM *,int)" (?get@?$param@H@script_api@@SAHPAUSQVM@@H@Z)
1>api_convoy.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<int>::get(struct SQVM *,int)" (?get@?$param@H@script_api@@SAHPAUSQVM@@H@Z)
1>api_factory.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<int>::get(struct SQVM *,int)" (?get@?$param@H@script_api@@SAHPAUSQVM@@H@Z)
1>api_halt.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<int>::get(struct SQVM *,int)" (?get@?$param@H@script_api@@SAHPAUSQVM@@H@Z)
1>api_city.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<short>::push(struct SQVM *,short const &)" (?push@?$param@F@script_api@@SAHPAUSQVM@@ABF@Z) referenced in function "int __cdecl script_api::push_instance<short,short>(struct SQVM *,char const *,short const &,short const &)" (??$push_instance@FF@script_api@@YAHPAUSQVM@@PBDABF2@Z)
1>api_factory.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<short>::push(struct SQVM *,short const &)" (?push@?$param@F@script_api@@SAHPAUSQVM@@ABF@Z)
1>api_player.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<short>::push(struct SQVM *,short const &)" (?push@?$param@F@script_api@@SAHPAUSQVM@@ABF@Z)
1>scenario.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<short>::push(struct SQVM *,short const &)" (?push@?$param@F@script_api@@SAHPAUSQVM@@ABF@Z)
1>api_halt.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<int>::push(struct SQVM *,int const &)" (?push@?$param@H@script_api@@SAHPAUSQVM@@ABH@Z)
1>api_player.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<int>::push(struct SQVM *,int const &)" (?push@?$param@H@script_api@@SAHPAUSQVM@@ABH@Z)
1>api_world.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<int>::push(struct SQVM *,int const &)" (?push@?$param@H@script_api@@SAHPAUSQVM@@ABH@Z) referenced in function "public: __thiscall std::_String_val<char,class std::allocator<char> >::_String_val<char,class std::allocator<char> >(class std::allocator<char>)" (??0?$_String_val@DV?$allocator@D@std@@@std@@QAE@V?$allocator@D@1@@Z)
1>dynamic_string.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<int>::push(struct SQVM *,int const &)" (?push@?$param@H@script_api@@SAHPAUSQVM@@ABH@Z)
1>api_city.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<int>::push(struct SQVM *,int const &)" (?push@?$param@H@script_api@@SAHPAUSQVM@@ABH@Z)
1>api_const.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<int>::push(struct SQVM *,int const &)" (?push@?$param@H@script_api@@SAHPAUSQVM@@ABH@Z)
1>api_convoy.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<int>::push(struct SQVM *,int const &)" (?push@?$param@H@script_api@@SAHPAUSQVM@@ABH@Z)
1>api_factory.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<int>::push(struct SQVM *,int const &)" (?push@?$param@H@script_api@@SAHPAUSQVM@@ABH@Z)
1>api_city.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<bool>::push(struct SQVM *,bool const &)" (?push@?$param@_N@script_api@@SAHPAUSQVM@@AB_N@Z) referenced in function "public: int __thiscall script_api::freevariable<bool>::push(struct SQVM *)const " (?push@?$freevariable@_N@script_api@@QBEHPAUSQVM@@@Z)
1>api_convoy.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<bool>::push(struct SQVM *,bool const &)" (?push@?$param@_N@script_api@@SAHPAUSQVM@@AB_N@Z)
1>api_world.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<bool>::push(struct SQVM *,bool const &)" (?push@?$param@_N@script_api@@SAHPAUSQVM@@AB_N@Z)
1>export_objs.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<bool>::push(struct SQVM *,bool const &)" (?push@?$param@_N@script_api@@SAHPAUSQVM@@AB_N@Z)
1>api_player.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<char const *>::push(struct SQVM *,char const * const &)" (?push@?$param@PBD@script_api@@SAHPAUSQVM@@ABQBD@Z)
1>api_scenario.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<char const *>::push(struct SQVM *,char const * const &)" (?push@?$param@PBD@script_api@@SAHPAUSQVM@@ABQBD@Z)
1>api_city.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<char const *>::push(struct SQVM *,char const * const &)" (?push@?$param@PBD@script_api@@SAHPAUSQVM@@ABQBD@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<char const * (__thiscall stadt_t::*)(void)const >::call_function(struct SQVM *,char const * (__thiscall stadt_t::*)(void)const ,bool)" (?call_function@?$embed_call_t@P8stadt_t@@BEPBDXZ@script_api@@SAHPAUSQVM@@P8stadt_t@@BEPBDXZ_N@Z)
1>api_convoy.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<char const *>::push(struct SQVM *,char const * const &)" (?push@?$param@PBD@script_api@@SAHPAUSQVM@@ABQBD@Z)
1>api_factory.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<char const *>::push(struct SQVM *,char const * const &)" (?push@?$param@PBD@script_api@@SAHPAUSQVM@@ABQBD@Z)
1>api_goods_desc.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<char const *>::push(struct SQVM *,char const * const &)" (?push@?$param@PBD@script_api@@SAHPAUSQVM@@ABQBD@Z)
1>api_city.obj : error LNK2019: unresolved external symbol "public: static class stadt_t * __cdecl script_api::param<class stadt_t *>::get(struct SQVM *,int)" (?get@?$param@PAVstadt_t@@@script_api@@SAPAVstadt_t@@PAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class vector_tpl<__int64> const & (__cdecl*)(class stadt_t *,bool,int)>::call_function(struct SQVM *,class vector_tpl<__int64> const & (__cdecl*)(class stadt_t *,bool,int),bool)" (?call_function@?$embed_call_t@P6AABV?$vector_tpl@_J@@PAVstadt_t@@_NH@Z@script_api@@SAHPAUSQVM@@P6AABV?$vector_tpl@_J@@PAVstadt_t@@_NH@Z2@Z)
1>api_city.obj : error LNK2019: unresolved external symbol "public: static bool __cdecl script_api::param<bool>::get(struct SQVM *,int)" (?get@?$param@_N@script_api@@SA_NPAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class vector_tpl<__int64> const & (__cdecl*)(class stadt_t *,bool,int)>::call_function(struct SQVM *,class vector_tpl<__int64> const & (__cdecl*)(class stadt_t *,bool,int),bool)" (?call_function@?$embed_call_t@P6AABV?$vector_tpl@_J@@PAVstadt_t@@_NH@Z@script_api@@SAHPAUSQVM@@P6AABV?$vector_tpl@_J@@PAVstadt_t@@_NH@Z2@Z)
1>api_world.obj : error LNK2001: unresolved external symbol "public: static bool __cdecl script_api::param<bool>::get(struct SQVM *,int)" (?get@?$param@_N@script_api@@SA_NPAUSQVM@@H@Z)
1>scenario.obj : error LNK2001: unresolved external symbol "public: static bool __cdecl script_api::param<bool>::get(struct SQVM *,int)" (?get@?$param@_N@script_api@@SA_NPAUSQVM@@H@Z)
1>api_city.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<class koord>::push(struct SQVM *,class koord const &)" (?push@?$param@Vkoord@@@script_api@@SAHPAUSQVM@@ABVkoord@@@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class koord (__thiscall stadt_t::*)(void)const >::call_function(struct SQVM *,class koord (__thiscall stadt_t::*)(void)const ,bool)" (?call_function@?$embed_call_t@P8stadt_t@@BE?AVkoord@@XZ@script_api@@SAHPAUSQVM@@P8stadt_t@@BE?AVkoord@@XZ_N@Z)
1>api_factory.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<class koord>::push(struct SQVM *,class koord const &)" (?push@?$param@Vkoord@@@script_api@@SAHPAUSQVM@@ABVkoord@@@Z)
1>api_player.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<class koord>::push(struct SQVM *,class koord const &)" (?push@?$param@Vkoord@@@script_api@@SAHPAUSQVM@@ABVkoord@@@Z)
1>api_city.obj : error LNK2019: unresolved external symbol "public: static char const * __cdecl script_api::param<char const *>::get(struct SQVM *,int)" (?get@?$param@PBD@script_api@@SAPBDPAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<void (__thiscall stadt_t::*)(char const *)>::call_function(struct SQVM *,void (__thiscall stadt_t::*)(char const *),bool)" (?call_function@?$embed_call_t@P8stadt_t@@AEXPBD@Z@script_api@@SAHPAUSQVM@@P8stadt_t@@AEXPBD@Z_N@Z)
1>api_scenario.obj : error LNK2001: unresolved external symbol "public: static char const * __cdecl script_api::param<char const *>::get(struct SQVM *,int)" (?get@?$param@PBD@script_api@@SAPBDPAUSQVM@@H@Z)
1>api_player.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<__int64>::push(struct SQVM *,__int64 const &)" (?push@?$param@_J@script_api@@SAHPAUSQVM@@AB_J@Z)
1>api_world.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<__int64>::push(struct SQVM *,__int64 const &)" (?push@?$param@_J@script_api@@SAHPAUSQVM@@AB_J@Z)
1>api_city.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<__int64>::push(struct SQVM *,__int64 const &)" (?push@?$param@_J@script_api@@SAHPAUSQVM@@AB_J@Z) referenced in function "public: static int __cdecl script_api::param<class vector_tpl<__int64> >::push(struct SQVM *,class vector_tpl<__int64> const &)" (?push@?$param@V?$vector_tpl@_J@@@script_api@@SAHPAUSQVM@@ABV?$vector_tpl@_J@@@Z)
1>api_convoy.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<__int64>::push(struct SQVM *,__int64 const &)" (?push@?$param@_J@script_api@@SAHPAUSQVM@@AB_J@Z)
1>api_factory.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<__int64>::push(struct SQVM *,__int64 const &)" (?push@?$param@_J@script_api@@SAHPAUSQVM@@AB_J@Z)
1>api_halt.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<__int64>::push(struct SQVM *,__int64 const &)" (?push@?$param@_J@script_api@@SAHPAUSQVM@@AB_J@Z)
1>api_convoy.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<class koord3d>::push(struct SQVM *,class koord3d const &)" (?push@?$param@Vkoord3d@@@script_api@@SAHPAUSQVM@@ABVkoord3d@@@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class koord3d (__thiscall convoi_t::*)(void)const >::call_function(struct SQVM *,class koord3d (__thiscall convoi_t::*)(void)const ,bool)" (?call_function@?$embed_call_t@P8convoi_t@@BE?AVkoord3d@@XZ@script_api@@SAHPAUSQVM@@P8convoi_t@@BE?AVkoord3d@@XZ_N@Z)
1>scenario.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<class koord3d>::push(struct SQVM *,class koord3d const &)" (?push@?$param@Vkoord3d@@@script_api@@SAHPAUSQVM@@ABVkoord3d@@@Z)
1>api_convoy.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<class spieler_t *>::push(struct SQVM *,class spieler_t * const &)" (?push@?$param@PAVspieler_t@@@script_api@@SAHPAUSQVM@@ABQAVspieler_t@@@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class spieler_t * (__thiscall convoi_t::*)(void)>::call_function(struct SQVM *,class spieler_t * (__thiscall convoi_t::*)(void),bool)" (?call_function@?$embed_call_t@P8convoi_t@@AEPAVspieler_t@@XZ@script_api@@SAHPAUSQVM@@P8convoi_t@@AEPAVspieler_t@@XZ_N@Z)
1>api_convoy.obj : error LNK2019: unresolved external symbol "public: static class convoi_t * __cdecl script_api::param<class convoi_t *>::get(struct SQVM *,int)" (?get@?$param@PAVconvoi_t@@@script_api@@SAPAVconvoi_t@@PAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class spieler_t * (__thiscall convoi_t::*)(void)>::call_function(struct SQVM *,class spieler_t * (__thiscall convoi_t::*)(void),bool)" (?call_function@?$embed_call_t@P8convoi_t@@AEPAVspieler_t@@XZ@script_api@@SAHPAUSQVM@@P8convoi_t@@AEPAVspieler_t@@XZ_N@Z)
1>api_convoy.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<enum waytype_t>::push(struct SQVM *,enum waytype_t const &)" (?push@?$param@W4waytype_t@@@script_api@@SAHPAUSQVM@@ABW4waytype_t@@@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<enum waytype_t (__cdecl*)(class convoi_t *)>::call_function(struct SQVM *,enum waytype_t (__cdecl*)(class convoi_t *),bool)" (?call_function@?$embed_call_t@P6A?AW4waytype_t@@PAVconvoi_t@@@Z@script_api@@SAHPAUSQVM@@P6A?AW4waytype_t@@PAVconvoi_t@@@Z_N@Z)
1>scenario.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<unsigned char>::push(struct SQVM *,unsigned char const &)" (?push@?$param@E@script_api@@SAHPAUSQVM@@ABE@Z)
1>api_convoy.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<unsigned char>::push(struct SQVM *,unsigned char const &)" (?push@?$param@E@script_api@@SAHPAUSQVM@@ABE@Z) referenced in function "public: static int __cdecl script_api::param<class minivec_tpl<unsigned char> >::push(struct SQVM *,class minivec_tpl<unsigned char> const &)" (?push@?$param@V?$minivec_tpl@E@@@script_api@@SAHPAUSQVM@@ABV?$minivec_tpl@E@@@Z)
1>api_goods_desc.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<unsigned char>::push(struct SQVM *,unsigned char const &)" (?push@?$param@E@script_api@@SAHPAUSQVM@@ABE@Z)
1>api_world.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<unsigned char>::push(struct SQVM *,unsigned char const &)" (?push@?$param@E@script_api@@SAHPAUSQVM@@ABE@Z)
1>dynamic_string.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<unsigned char>::push(struct SQVM *,unsigned char const &)" (?push@?$param@E@script_api@@SAHPAUSQVM@@ABE@Z)
1>api_factory.obj : error LNK2019: unresolved external symbol "public: static short __cdecl script_api::param<short>::get(struct SQVM *,int)" (?get@?$param@F@script_api@@SAFPAUSQVM@@H@Z) referenced in function "int __cdecl exp_factory_constructor(struct SQVM *)" (?exp_factory_constructor@@YAHPAUSQVM@@@Z)
1>api_tiles.obj : error LNK2001: unresolved external symbol "public: static short __cdecl script_api::param<short>::get(struct SQVM *,int)" (?get@?$param@F@script_api@@SAFPAUSQVM@@H@Z)
1>api_factory.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<unsigned int>::push(struct SQVM *,unsigned int const &)" (?push@?$param@I@script_api@@SAHPAUSQVM@@ABI@Z) referenced in function "int __cdecl script_api::push_instance<short,short,char const *,unsigned int>(struct SQVM *,char const *,short const &,short const &,char const * const &,unsigned int const &)" (??$push_instance@FFPBDI@script_api@@YAHPAUSQVM@@PBDABF2ABQBDABI@Z)
1>api_settings.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<unsigned int>::push(struct SQVM *,unsigned int const &)" (?push@?$param@I@script_api@@SAHPAUSQVM@@ABI@Z)
1>api_world.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<unsigned int>::push(struct SQVM *,unsigned int const &)" (?push@?$param@I@script_api@@SAHPAUSQVM@@ABI@Z)
1>scenario.obj : error LNK2001: unresolved external symbol "public: static int __cdecl script_api::param<unsigned int>::push(struct SQVM *,unsigned int const &)" (?push@?$param@I@script_api@@SAHPAUSQVM@@ABI@Z)
1>api_factory.obj : error LNK2019: unresolved external symbol "public: static class fabrik_t * __cdecl script_api::param<class fabrik_t *>::get(struct SQVM *,int)" (?get@?$param@PAVfabrik_t@@@script_api@@SAPAVfabrik_t@@PAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class vector_tpl<__int64> const & (__cdecl*)(class fabrik_t *,int)>::call_function(struct SQVM *,class vector_tpl<__int64> const & (__cdecl*)(class fabrik_t *,int),bool)" (?call_function@?$embed_call_t@P6AABV?$vector_tpl@_J@@PAVfabrik_t@@H@Z@script_api@@SAHPAUSQVM@@P6AABV?$vector_tpl@_J@@PAVfabrik_t@@H@Z_N@Z)
1>api_factory.obj : error LNK2019: unresolved external symbol "public: static class ware_production_t const * __cdecl script_api::param<class ware_production_t const *>::get(struct SQVM *,int)" (?get@?$param@PBVware_production_t@@@script_api@@SAPBVware_production_t@@PAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class vector_tpl<__int64> const & (__cdecl*)(class ware_production_t const *,int)>::call_function(struct SQVM *,class vector_tpl<__int64> const & (__cdecl*)(class ware_production_t const *,int),bool)" (?call_function@?$embed_call_t@P6AABV?$vector_tpl@_J@@PBVware_production_t@@H@Z@script_api@@SAHPAUSQVM@@P6AABV?$vector_tpl@_J@@PBVware_production_t@@H@Z_N@Z)
1>api_goods_desc.obj : error LNK2019: unresolved external symbol "public: static class ware_besch_t const * __cdecl script_api::param<class ware_besch_t const *>::get(struct SQVM *,int)" (?get@?$param@PBVware_besch_t@@@script_api@@SAPBVware_besch_t@@PAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<unsigned char (__thiscall ware_besch_t::*)(void)const >::call_function(struct SQVM *,unsigned char (__thiscall ware_besch_t::*)(void)const ,bool)" (?call_function@?$embed_call_t@P8ware_besch_t@@BEEXZ@script_api@@SAHPAUSQVM@@P8ware_besch_t@@BEEXZ_N@Z)
1>api_halt.obj : error LNK2019: unresolved external symbol "public: static class quickstone_tpl<class haltestelle_t> __cdecl script_api::param<class quickstone_tpl<class haltestelle_t> >::get(struct SQVM *,int)" (?get@?$param@V?$quickstone_tpl@Vhaltestelle_t@@@@@script_api@@SA?AV?$quickstone_tpl@Vhaltestelle_t@@@@PAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class vector_tpl<__int64> const & (__cdecl*)(class quickstone_tpl<class haltestelle_t>,int)>::call_function(struct SQVM *,class vector_tpl<__int64> const & (__cdecl*)(class quickstone_tpl<class haltestelle_t>,int),bool)" (?call_function@?$embed_call_t@P6AABV?$vector_tpl@_J@@V?$quickstone_tpl@Vhaltestelle_t@@@@H@Z@script_api@@SAHPAUSQVM@@P6AABV?$vector_tpl@_J@@V?$quickstone_tpl@Vhaltestelle_t@@@@H@Z_N@Z)
1>api_player.obj : error LNK2019: unresolved external symbol "public: static class spieler_t * __cdecl script_api::param<class spieler_t *>::get(struct SQVM *,int)" (?get@?$param@PAVspieler_t@@@script_api@@SAPAVspieler_t@@PAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class vector_tpl<__int64> const & (__cdecl*)(class spieler_t *,int)>::call_function(struct SQVM *,class vector_tpl<__int64> const & (__cdecl*)(class spieler_t *,int),bool)" (?call_function@?$embed_call_t@P6AABV?$vector_tpl@_J@@PAVspieler_t@@H@Z@script_api@@SAHPAUSQVM@@P6AABV?$vector_tpl@_J@@PAVspieler_t@@H@Z_N@Z)
1>api_scenario.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<class plainstring>::push(struct SQVM *,class plainstring const &)" (?push@?$param@Vplainstring@@@script_api@@SAHPAUSQVM@@ABVplainstring@@@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class plainstring (__thiscall scenario_t::*)(char const *)>::call_function(struct SQVM *,class plainstring (__thiscall scenario_t::*)(char const *),bool)" (?call_function@?$embed_call_t@P8scenario_t@@AE?AVplainstring@@PBD@Z@script_api@@SAHPAUSQVM@@P8scenario_t@@AE?AVplainstring@@PBD@Z_N@Z)
1>api_scenario.obj : error LNK2019: unresolved external symbol "public: static class scenario_t * __cdecl script_api::param<class scenario_t *>::get(struct SQVM *,int)" (?get@?$param@PAVscenario_t@@@script_api@@SAPAVscenario_t@@PAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class plainstring (__thiscall scenario_t::*)(char const *)>::call_function(struct SQVM *,class plainstring (__thiscall scenario_t::*)(char const *),bool)" (?call_function@?$embed_call_t@P8scenario_t@@AE?AVplainstring@@PBD@Z@script_api@@SAHPAUSQVM@@P8scenario_t@@AE?AVplainstring@@PBD@Z_N@Z)
1>export_objs.obj : error LNK2001: unresolved external symbol "public: static class scenario_t * __cdecl script_api::param<class scenario_t *>::get(struct SQVM *,int)" (?get@?$param@PAVscenario_t@@@script_api@@SAPAVscenario_t@@PAUSQVM@@H@Z)
1>api_scenario.obj : error LNK2019: unresolved external symbol "public: static unsigned char __cdecl script_api::param<unsigned char>::get(struct SQVM *,int)" (?get@?$param@E@script_api@@SAEPAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<void (__thiscall scenario_t::*)(unsigned char,unsigned short)>::call_function(struct SQVM *,void (__thiscall scenario_t::*)(unsigned char,unsigned short),bool)" (?call_function@?$embed_call_t@P8scenario_t@@AEXEG@Z@script_api@@SAHPAUSQVM@@P8scenario_t@@AEXEG@Z_N@Z)
1>api_scenario.obj : error LNK2019: unresolved external symbol "public: static unsigned short __cdecl script_api::param<unsigned short>::get(struct SQVM *,int)" (?get@?$param@G@script_api@@SAGPAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<void (__thiscall scenario_t::*)(unsigned char,unsigned short)>::call_function(struct SQVM *,void (__thiscall scenario_t::*)(unsigned char,unsigned short),bool)" (?call_function@?$embed_call_t@P8scenario_t@@AEXEG@Z@script_api@@SAHPAUSQVM@@P8scenario_t@@AEXEG@Z_N@Z)
1>api_scenario.obj : error LNK2019: unresolved external symbol "public: static enum waytype_t __cdecl script_api::param<enum waytype_t>::get(struct SQVM *,int)" (?get@?$param@W4waytype_t@@@script_api@@SA?AW4waytype_t@@PAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<void (__thiscall scenario_t::*)(unsigned char,unsigned short,enum waytype_t)>::call_function(struct SQVM *,void (__thiscall scenario_t::*)(unsigned char,unsigned short,enum waytype_t),bool)" (?call_function@?$embed_call_t@P8scenario_t@@AEXEGW4waytype_t@@@Z@script_api@@SAHPAUSQVM@@P8scenario_t@@AEXEGW4waytype_t@@@Z_N@Z)
1>api_scenario.obj : error LNK2019: unresolved external symbol "public: static class koord __cdecl script_api::param<class koord>::get(struct SQVM *,int)" (?get@?$param@Vkoord@@@script_api@@SA?AVkoord@@PAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<void (__thiscall scenario_t::*)(unsigned char,unsigned short,enum waytype_t,class koord,class koord,class plainstring)>::call_function(struct SQVM *,void (__thiscall scenario_t::*)(unsigned char,unsigned short,enum waytype_t,class koord,class koord,class plainstring),bool)" (?call_function@?$embed_call_t@P8scenario_t@@AEXEGW4waytype_t@@Vkoord@@1Vplainstring@@@Z@script_api@@SAHPAUSQVM@@P8scenario_t@@AEXEGW4waytype_t@@Vkoord@@2Vplainstring@@@Z_N@Z)
1>api_world.obj : error LNK2001: unresolved external symbol "public: static class koord __cdecl script_api::param<class koord>::get(struct SQVM *,int)" (?get@?$param@Vkoord@@@script_api@@SA?AVkoord@@PAUSQVM@@H@Z)
1>api_scenario.obj : error LNK2019: unresolved external symbol "public: static class plainstring __cdecl script_api::param<class plainstring>::get(struct SQVM *,int)" (?get@?$param@Vplainstring@@@script_api@@SA?AVplainstring@@PAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<void (__thiscall scenario_t::*)(unsigned char,unsigned short,enum waytype_t,class koord,class koord,class plainstring)>::call_function(struct SQVM *,void (__thiscall scenario_t::*)(unsigned char,unsigned short,enum waytype_t,class koord,class koord,class plainstring),bool)" (?call_function@?$embed_call_t@P8scenario_t@@AEXEGW4waytype_t@@Vkoord@@1Vplainstring@@@Z@script_api@@SAHPAUSQVM@@P8scenario_t@@AEXEGW4waytype_t@@Vkoord@@2Vplainstring@@@Z_N@Z)
1>export_besch.obj : error LNK2001: unresolved external symbol "public: static class plainstring __cdecl script_api::param<class plainstring>::get(struct SQVM *,int)" (?get@?$param@Vplainstring@@@script_api@@SA?AVplainstring@@PAUSQVM@@H@Z)
1>dynamic_string.obj : error LNK2001: unresolved external symbol "public: static class plainstring __cdecl script_api::param<class plainstring>::get(struct SQVM *,int)" (?get@?$param@Vplainstring@@@script_api@@SA?AVplainstring@@PAUSQVM@@H@Z)
1>scenario.obj : error LNK2001: unresolved external symbol "public: static class plainstring __cdecl script_api::param<class plainstring>::get(struct SQVM *,int)" (?get@?$param@Vplainstring@@@script_api@@SA?AVplainstring@@PAUSQVM@@H@Z)
1>api_settings.obj : error LNK2019: unresolved external symbol "public: static unsigned int __cdecl script_api::param<unsigned int>::get(struct SQVM *,int)" (?get@?$param@I@script_api@@SAIPAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<void (__thiscall settings_t::*)(unsigned int)>::call_function(struct SQVM *,void (__thiscall settings_t::*)(unsigned int),bool)" (?call_function@?$embed_call_t@P8settings_t@@AEXI@Z@script_api@@SAHPAUSQVM@@P8settings_t@@AEXI@Z_N@Z)
1>api_settings.obj : error LNK2019: unresolved external symbol "public: static class settings_t * __cdecl script_api::param<class settings_t *>::get(struct SQVM *,int)" (?get@?$param@PAVsettings_t@@@script_api@@SAPAVsettings_t@@PAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<void (__thiscall settings_t::*)(unsigned int)>::call_function(struct SQVM *,void (__thiscall settings_t::*)(unsigned int),bool)" (?call_function@?$embed_call_t@P8settings_t@@AEXI@Z@script_api@@SAHPAUSQVM@@P8settings_t@@AEXI@Z_N@Z)
1>api_tiles.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<class quickstone_tpl<class haltestelle_t> >::push(struct SQVM *,class quickstone_tpl<class haltestelle_t> const &)" (?push@?$param@V?$quickstone_tpl@Vhaltestelle_t@@@@@script_api@@SAHPAUSQVM@@ABV?$quickstone_tpl@Vhaltestelle_t@@@@@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class quickstone_tpl<class haltestelle_t> (__thiscall grund_t::*)(void)const >::call_function(struct SQVM *,class quickstone_tpl<class haltestelle_t> (__thiscall grund_t::*)(void)const ,bool)" (?call_function@?$embed_call_t@P8grund_t@@BE?AV?$quickstone_tpl@Vhaltestelle_t@@@@XZ@script_api@@SAHPAUSQVM@@P8grund_t@@BE?AV?$quickstone_tpl@Vhaltestelle_t@@@@XZ_N@Z)
1>api_tiles.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<class grund_t *>::push(struct SQVM *,class grund_t * const &)" (?push@?$param@PAVgrund_t@@@script_api@@SAHPAUSQVM@@ABQAVgrund_t@@@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class grund_t * (__thiscall planquadrat_t::*)(short)const >::call_function(struct SQVM*,class grund_t * (__thiscall planquadrat_t::*)(short)const ,bool)" (?call_function@?$embed_call_t@P8planquadrat_t@@BEPAVgrund_t@@F@Z@script_api@@SAHPAUSQVM@@P8planquadrat_t@@BEPAVgrund_t@@F@Z_N@Z)
1>api_tiles.obj : error LNK2019: unresolved external symbol "public: static class grund_t * __cdecl script_api::param<class grund_t *>::get(struct SQVM *,int)" (?get@?$param@PAVgrund_t@@@script_api@@SAPAVgrund_t@@PAUSQVM@@H@Z) referenced in function "public: static class grund_t const * __cdecl script_api::param<class grund_t const *>::get(struct SQVM *,int)" (?get@?$param@PBVgrund_t@@@script_api@@SAPBVgrund_t@@PAUSQVM@@H@Z)
1>api_tiles.obj : error LNK2019: unresolved external symbol "public: static class planquadrat_t * __cdecl script_api::param<class planquadrat_t *>::get(struct SQVM *,int)" (?get@?$param@PAVplanquadrat_t@@@script_api@@SAPAVplanquadrat_t@@PAUSQVM@@H@Z) referenced in function "public: static class planquadrat_t const * __cdecl script_api::param<class planquadrat_t const *>::get(struct SQVM *,int)" (?get@?$param@PBVplanquadrat_t@@@script_api@@SAPBVplanquadrat_t@@PAUSQVM@@H@Z)
1>api_world.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<class stadt_t *>::push(struct SQVM *,class stadt_t * const &)" (?push@?$param@PAVstadt_t@@@script_api@@SAHPAUSQVM@@ABQAVstadt_t@@@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class stadt_t * (__thiscall karte_t::*)(class koord)const >::call_function(struct SQVM*,class stadt_t * (__thiscall karte_t::*)(class koord)const ,bool)" (?call_function@?$embed_call_t@P8karte_t@@BEPAVstadt_t@@Vkoord@@@Z@script_api@@SAHPAUSQVM@@P8karte_t@@BEPAVstadt_t@@Vkoord@@@Z_N@Z)
1>api_world.obj : error LNK2019: unresolved external symbol "public: static class karte_t * __cdecl script_api::param<class karte_t *>::get(struct SQVM *,int)" (?get@?$param@PAVkarte_t@@@script_api@@SAPAVkarte_t@@PAUSQVM@@H@Z) referenced in function "public: static int __cdecl script_api::embed_call_t<class vector_tpl<__int64> const & (__cdecl*)(class karte_t *,bool,int)>::call_function(struct SQVM*,class vector_tpl<__int64> const & (__cdecl*)(class karte_t *,bool,int),bool)" (?call_function@?$embed_call_t@P6AABV?$vector_tpl@_J@@PAVkarte_t@@_NH@Z@script_api@@SAHPAUSQVM@@P6AABV?$vector_tpl@_J@@PAVkarte_t@@_NH@Z2@Z)
1>simsys.obj : error LNK2019: unresolved external symbol __imp__ShellExecuteExA@4 referenced in function "bool __cdecl dr_download_pakset(char const *,bool)" (?dr_download_pakset@@YA_NPBD_N@Z)
1>optionen.obj : error LNK2019: unresolved external symbol "public: __thiscall scenario_info_t::scenario_info_t(class karte_t *)" (??0scenario_info_t@@QAE@PAVkarte_t@@@Z) referenced in function "public: virtual bool __thiscall optionen_gui_t::action_triggered(class gui_action_creator_t *,union value_t)" (?action_triggered@optionen_gui_t@@UAE_NPAVgui_action_creator_t@@Tvalue_t@@@Z)
1>scenario.obj : error LNK2001: unresolved external symbol "public: __thiscall scenario_info_t::scenario_info_t(class karte_t *)" (??0scenario_info_t@@QAE@PAVkarte_t@@@Z)
1>scenario_frame.obj : error LNK2001: unresolved external symbol "public: __thiscall scenario_info_t::scenario_info_t(class karte_t *)" (??0scenario_info_t@@QAE@PAVkarte_t@@@Z)
1>savegame_frame.obj : error LNK2019: unresolved external symbol __imp__SHFileOperationA@4 referenced in function "protected: virtual bool __thiscall savegame_frame_t::del_action(char const *)" (?del_action@savegame_frame_t@@MAE_NPBD@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: void __thiscall scenario_info_t::open_result_tab(void)" (?open_result_tab@scenario_info_t@@QAEXXZ) referenced in function "public: bool __thiscall scenario_t::open_info_win(void)const " (?open_info_win@scenario_t@@QBE_NXZ)
1>scenario.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<unsigned short>::push(struct SQVM *,unsigned short const &)" (?push@?$param@G@script_api@@SAHPAUSQVM@@ABG@Z) referenced in function "public: char const * __thiscall script_vm_t::call_function<bool,unsigned char,unsigned short,short>(char const *,bool &,unsigned char,unsigned short,short)" (??$call_function@_NEGF@script_vm_t@@QAEPBDPBDAA_NEGF@Z)
1>.\simutrans\Simutrans-Experimental-debug.exe : fatal error LNK1120: 43 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Do I need to adjust the project file settings to compile this? If so, I should be grateful to know what I need to add. Thank you!
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on November 18, 2012, 11:11:08 PM
There are a lot of new files in directories script and squirrel.

Please see Simutrans-Experimental-BG.vcxproj in my branch 112.x-merge for a complete list of included files.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on November 18, 2012, 11:12:49 PM
I've synchronised all of the script and squirrel files, and double checked that my file list is the same as in Simutrans-Experimental-BG.vcxproj, but still I seem to get these errors. Are there any other changes to the project...?
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on November 18, 2012, 11:26:42 PM
You will need to link with shell32.lib, but that will not solve most of your linker errors. More changes I cannot remember.

Did you completely recompile the project?
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on November 18, 2012, 11:32:30 PM
Is script/api_param.cc part of your project? Looks like the first few missing externals are in it.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on November 18, 2012, 11:51:01 PM
Aha, thank you, that got most of them. I still get two linker errors, however:


1>optionen.obj : error LNK2019: unresolved external symbol "public: __thiscall scenario_info_t::scenario_info_t(class karte_t *)" (??0scenario_info_t@@QAE@PAVkarte_t@@@Z) referenced in function "public: virtual bool __thiscall optionen_gui_t::action_triggered(class gui_action_creator_t *,union value_t)" (?action_triggered@optionen_gui_t@@UAE_NPAVgui_action_creator_t@@Tvalue_t@@@Z)
1>scenario.obj : error LNK2001: unresolved external symbol "public: __thiscall scenario_info_t::scenario_info_t(class karte_t *)" (??0scenario_info_t@@QAE@PAVkarte_t@@@Z)
1>scenario_frame.obj : error LNK2001: unresolved external symbol "public: __thiscall scenario_info_t::scenario_info_t(class karte_t *)" (??0scenario_info_t@@QAE@PAVkarte_t@@@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: void __thiscall scenario_info_t::open_result_tab(void)" (?open_result_tab@scenario_info_t@@QAEXXZ) referenced in function "public: bool __thiscall scenario_t::open_info_win(void)const " (?open_info_win@scenario_t@@QBE_NXZ)
1>.\simutrans\Simutrans-Experimental-debug.exe : fatal error LNK1120: 2 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Do you know where those might be found...?

Also, I managed to compile a debug version with your project file. One bug to report from that so far: the "stop status" and "queing" (sic) overlays for the map give circles that are too small - almost invisible except on close inspection.

Thank you very much for this help.

Edit: Aha, I have it: I was missing scenario_info.cc. Thank you for your help - it works now.

Edit 2: I have noticed a further map problem: see this (http://simutrans-germany.com/files/upload/Britain-go8.sve) saved game. Using the "Pass. Dest." feature results in odd streaking on the minimap, rather than individual squares.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on November 21, 2012, 02:04:36 AM
Another few bugs to report so far: with this (http://simutrans-germany.com/files/upload/replace-test-multiple.sve) saved game (and possibly others: I have not checked), the default (and, in that case, only) player will be loaded with a very large debt when the game loads with the 112.x-merge branch, whereas in 10.14, the game loads with the default player showing a substantial credit balance in the account.

Further, in the depot/replace windows, all vehicles seem to be marked incorrectly as not being able to manage any speed at all fully loaded. Additionally, vehicles always display "cannot find a route" when attempting to start them from a depot (this is probably because all vehicles seem to have extremely high weights rather than their correct weights). Tractive effort values are also multiplied by several factors of ten. Narrow gauge railway depots seem to function as if they were standard gauge depots, with the result that narrow gauge railway vehicles cannot be built. When adding items to a convoy's schedule, each new schedule item does not occupy a new lie, but overlaps the previous item on the same line. Undo does not seem to work.

Do let me know when these have been looked into. Incidentally, what I think that I shall do with this is produce a release candidate version of the merged executable once we have reduced the fairly obvious bugs that I can find to enable wider testing over a long period of time, as these merges have a habit of introducing large numbers of bugs.
Title: Re: Merging Standard 112.x into Experimental
Post by: IgorEliezer on November 21, 2012, 03:48:46 AM
Quote from: Dwachs on November 17, 2012, 05:58:24 PM
Congratulations for finishing this task!!
/me shakes fists.
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on November 21, 2012, 10:06:09 PM
Fixed issues:
Known issues:
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on November 24, 2012, 01:16:59 AM
Thank you for working on those fixes. I have only had time for brief testing, so just a few comments: firstly, on loading a pakset in debug mode, I always get a "corrupted runtime variable" error on line 260 of cbuffer.cc. Selecting "continue" twice will clear it and allow the game to load, although one wonders whether this indicates an error. Reversing at waypoints seems to be broken - trains will (sometimes it seems - this is not consistent) wrap around themselves rather than stop, reverse, and start again.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on November 27, 2012, 12:09:59 AM
Hmm - odd. Attempting to compile with a release build (I was attempting to build a release candidate for community testing) fails with these errors:


1>imagelist3d_reader.obj : error LNK2001: unresolved external symbol __imp__fread
1>imagelist3d_reader.obj : error LNK2001: unresolved external symbol "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z)
1>msvcprt.lib(newaop_s.obj) : error LNK2001: unresolved external symbol "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z)
1>gameinfo.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual char const * __thiscall std::exception::what(void)const " (__imp_?what@exception@std@@UBEPBDXZ)
1>gameinfo.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall std::exception::~exception(void)" (__imp_??1exception@std@@UAE@XZ)
1>gameinfo.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::exception::exception(char const * const &)" (__imp_??0exception@std@@QAE@ABQBD@Z)
1>gameinfo.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::exception::exception(class std::exception const &)" (__imp_??0exception@std@@QAE@ABV01@@Z)
1>gameinfo.obj : error LNK2001: unresolved external symbol __imp__memmove
1>gameinfo.obj : error LNK2001: unresolved external symbol "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z)
1>gameinfo.obj : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *)" (??3@YAXPAX@Z)
1>gameinfo.obj : error LNK2001: unresolved external symbol __imp__stricmp
1>OLDNAMES.lib(stricmp.obi) : error LNK2001: unresolved external symbol __imp__stricmp
1>gameinfo.obj : error LNK2001: unresolved external symbol __imp__atol
1>gameinfo.obj : error LNK2001: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@)
1>livery_scheme.obj : error LNK2001: unresolved external symbol "struct __type_info_node __type_info_root_node" (?__type_info_root_node@@3U__type_info_node@@A)
1>livery_scheme.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: char const * __thiscall type_info::name(struct __type_info_node *)const " (__imp_?name@type_info@@QBEPBDPAU__type_info_node@@@Z)
1>network_address.obj : error LNK2001: unresolved external symbol __imp__sprintf
1>network_address.obj : error LNK2001: unresolved external symbol __imp__strchr
1>network_address.obj : error LNK2001: unresolved external symbol __imp__atoi
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol __imp__feof
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol __imp__free
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol __imp__rewind
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol __imp__strdup
1>OLDNAMES.lib(strdup.obi) : error LNK2001: unresolved external symbol __imp__strdup
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol __imp__remove
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol _atexit
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol __imp__fopen
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol __purecall
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol __imp__ftell
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol __imp__fseek
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol __imp__fclose
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol __imp__chdir
1>OLDNAMES.lib(chdir.obi) : error LNK2001: unresolved external symbol __imp__chdir
1>network_file_transfer.obj : error LNK2001: unresolved external symbol __imp__fflush
1>network_file_transfer.obj : error LNK2001: unresolved external symbol __imp__printf
1>network_file_transfer.obj : error LNK2001: unresolved external symbol __imp__strnicmp
1>OLDNAMES.lib(strnicmp.obi) : error LNK2001: unresolved external symbol __imp__strnicmp
1>network_file_transfer.obj : error LNK2001: unresolved external symbol __imp__fwrite
1>display_settings.obj : error LNK2001: unresolved external symbol __imp__strncat
1>api_function.obj : error LNK2001: unresolved external symbol __imp__fprintf
1>dynamic_string.obj : error LNK2001: unresolved external symbol __imp__strcspn
1>simsys.obj : error LNK2001: unresolved external symbol __imp__ShellExecuteExA@4
1>simsys.obj : error LNK2001: unresolved external symbol __imp__mkdir
1>OLDNAMES.lib(mkdir.obi) : error LNK2001: unresolved external symbol __imp__mkdir
1>simsys_w.obj : error LNK2001: unresolved external symbol __imp____argv
1>simsys_w.obj : error LNK2001: unresolved external symbol __imp____argc
1>simsys_w32_png.obj : error LNK2001: unresolved external symbol __imp__malloc
1>sqstdio.obj : error LNK2001: unresolved external symbol __imp____iob_func
1>sqstdmath.obj : error LNK2001: unresolved external symbol __imp__ceil
1>sqstdmath.obj : error LNK2001: unresolved external symbol __imp__rand
1>sqstdmath.obj : error LNK2001: unresolved external symbol __imp__srand
1>sqstdrex.obj : error LNK2001: unresolved external symbol __imp__isspace
1>sqstdrex.obj : error LNK2001: unresolved external symbol __imp__isalnum
1>sqstdrex.obj : error LNK2001: unresolved external symbol __imp__ispunct
1>sqstdrex.obj : error LNK2001: unresolved external symbol __imp__isprint
1>sqstdrex.obj : error LNK2001: unresolved external symbol __imp__isalpha
1>sqstdrex.obj : error LNK2001: unresolved external symbol __imp__isdigit
1>sqstdrex.obj : error LNK2001: unresolved external symbol __imp__isupper
1>sqstdrex.obj : error LNK2001: unresolved external symbol __imp__iscntrl
1>sqstdrex.obj : error LNK2001: unresolved external symbol __imp__longjmp
1>sqstdrex.obj : error LNK2001: unresolved external symbol __imp__islower
1>sqstdrex.obj : error LNK2001: unresolved external symbol __imp__isxdigit
1>sqstdstring.obj : error LNK2001: unresolved external symbol __imp__strtok
1>sqstdsystem.obj : error LNK2001: unresolved external symbol __imp__rename
1>sqstdsystem.obj : error LNK2001: unresolved external symbol __imp___gmtime64
1>sqstdsystem.obj : error LNK2001: unresolved external symbol __imp__system
1>sqstdsystem.obj : error LNK2001: unresolved external symbol __imp__clock
1>sqstdsystem.obj : error LNK2001: unresolved external symbol __imp___localtime64
1>sqstdsystem.obj : error LNK2001: unresolved external symbol __imp__getenv
1>sqstdsystem.obj : error LNK2001: unresolved external symbol __imp___time64
1>sqbaselib.obj : error LNK2001: unresolved external symbol __imp__strtod
1>sqbaselib.obj : error LNK2001: unresolved external symbol __imp__strstr
1>sqbaselib.obj : error LNK2001: unresolved external symbol __imp__strtol
1>sqbaselib.obj : error LNK2001: unresolved external symbol __imp__tolower
1>sqbaselib.obj : error LNK2001: unresolved external symbol __imp__toupper
1>sqcompiler.obj : error LNK2001: unresolved external symbol __imp__vsprintf
1>sqlexer.obj : error LNK2001: unresolved external symbol __imp__strtoul
1>sqmem.obj : error LNK2001: unresolved external symbol __imp__realloc
1>cbuffer_t.obj : error LNK2001: unresolved external symbol __imp___vsprintf_p
1>einstellungen.obj : error LNK2001: unresolved external symbol __imp__sscanf
1>einstellungen.obj : error LNK2001: unresolved external symbol __imp__memchr
1>fahrplan_gui.obj : error LNK2001: unresolved external symbol __imp__strncmp
1>font.obj : error LNK2001: unresolved external symbol __imp__calloc
1>font.obj : error LNK2001: unresolved external symbol __imp__fgets
1>font.obj : error LNK2001: unresolved external symbol __imp__getc
1>gebaeude.obj : error LNK2001: unresolved external symbol __imp__strrchr
1>gui_component_table.obj : error LNK2001: unresolved external symbol ___RTtypeid
1>gui_flowtext.obj : error LNK2001: unresolved external symbol __imp__strncpy
1>loadsave.obj : error LNK2001: unresolved external symbol __imp__strerror
1>loadsave.obj : error LNK2001: unresolved external symbol __imp___errno
1>loadsave.obj : error LNK2001: unresolved external symbol __imp__ferror
1>loadsave_frame.obj : error LNK2001: unresolved external symbol __imp__strftime
1>loadsave_frame.obj : error LNK2001: unresolved external symbol __imp___stat64i32
1>csv.obj : error LNK2001: unresolved external symbol __imp__strpbrk
1>log.obj : error LNK2001: unresolved external symbol __imp__abort
1>log.obj : error LNK2001: unresolved external symbol __imp__fputs
1>log.obj : error LNK2001: unresolved external symbol __imp__vfprintf
1>log.obj : error LNK2001: unresolved external symbol __imp__puts
1>obj_reader.obj : error LNK2001: unresolved external symbol __imp__fgetc
1>savegame_frame.obj : error LNK2001: unresolved external symbol __imp__SHFileOperationA@4
1>searchfolder.obj : error LNK2001: unresolved external symbol __imp___findnext64i32
1>searchfolder.obj : error LNK2001: unresolved external symbol __imp___findfirst64i32
1>simgraph16.obj : error LNK2001: unresolved external symbol __imp__access
1>OLDNAMES.lib(access.obi) : error LNK2001: unresolved external symbol __imp__access
1>simgraph16.obj : error LNK2001: unresolved external symbol __imp__exit
1>simmain.obj : error LNK2001: unresolved external symbol __imp__getcwd
1>OLDNAMES.lib(getcwd.obi) : error LNK2001: unresolved external symbol __imp__getcwd
1>sprachen.obj : error LNK2001: unresolved external symbol __imp__atof
1>LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _fwrite
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _fwrite
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _ferror
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _ferror
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _fread
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _fread
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol __errno
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _fclose
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _fclose
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _free
1>zlibstat.lib(zutil.obj) : error LNK2001: unresolved external symbol _free
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _free
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol __vsnprintf
1>libbz2.lib(compress.obj) : error LNK2001: unresolved external symbol ___security_cookie
1>libbz2.lib(decompress.obj) : error LNK2001: unresolved external symbol ___security_cookie
1>libbz2.lib(blocksort.obj) : error LNK2001: unresolved external symbol ___security_cookie
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol ___security_cookie
1>zlibstat.lib(trees.obj) : error LNK2001: unresolved external symbol ___security_cookie
1>zlibstat.lib(inftrees.obj) : error LNK2001: unresolved external symbol ___security_cookie
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol ___security_cookie
1>libbz2.lib(compress.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
1>libbz2.lib(decompress.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
1>libbz2.lib(blocksort.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
1>zlibstat.lib(trees.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
1>zlibstat.lib(inftrees.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol __chkstk
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol __chkstk
1>libbz2.lib(huffman.obj) : error LNK2001: unresolved external symbol __chkstk
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _fflush
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _fflush
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _fseek
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _fputc
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _malloc
1>zlibstat.lib(zutil.obj) : error LNK2001: unresolved external symbol _malloc
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _malloc
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _strerror
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _clearerr
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _ftell
1>libbz2.lib(blocksort.obj) : error LNK2001: unresolved external symbol _fprintf
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _fprintf
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _fprintf
1>libbz2.lib(compress.obj) : error LNK2001: unresolved external symbol _fprintf
1>libbz2.lib(decompress.obj) : error LNK2001: unresolved external symbol _fprintf
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol __fdopen
1>OLDNAMES.lib(fdopen.obj) : error LNK2001: unresolved external symbol __fdopen
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _fopen
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _fopen
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _sprintf
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _memcpy
1>zlibstat.lib(deflate.obj) : error LNK2001: unresolved external symbol _memcpy
1>zlibstat.lib(inflate.obj) : error LNK2001: unresolved external symbol _memcpy
1>libbz2.lib(decompress.obj) : error LNK2001: unresolved external symbol _memset
1>libbz2.lib(blocksort.obj) : error LNK2001: unresolved external symbol _memset
1>zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _memset
1>zlibstat.lib(deflate.obj) : error LNK2001: unresolved external symbol _memset
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _memset
1>libbz2.lib(compress.obj) : error LNK2001: unresolved external symbol _memset
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _ungetc
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _fgetc
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _fdopen
1>OLDNAMES.lib(fdopen.obj) : error LNK2001: unresolved external symbol _fdopen
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _setmode
1>OLDNAMES.lib(setmode.obj) : error LNK2001: unresolved external symbol _setmode
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _fileno
1>OLDNAMES.lib(fileno.obj) : error LNK2001: unresolved external symbol _fileno
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol ___iob_func
1>libbz2.lib(compress.obj) : error LNK2001: unresolved external symbol ___iob_func
1>libbz2.lib(decompress.obj) : error LNK2001: unresolved external symbol ___iob_func
1>libbz2.lib(blocksort.obj) : error LNK2001: unresolved external symbol ___iob_func
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _isdigit
1>libbz2.lib(bzlib.obj) : error LNK2001: unresolved external symbol _exit
1>libbz2.lib(compress.obj) : error LNK2001: unresolved external symbol __fltused
1>libbz2.lib(blocksort.obj) : error LNK2001: unresolved external symbol __fltused
1>OLDNAMES.lib(stricmp.obi) : error LNK2001: unresolved external symbol __imp___stricmp
1>OLDNAMES.lib(strdup.obi) : error LNK2001: unresolved external symbol __imp___strdup
1>OLDNAMES.lib(chdir.obi) : error LNK2001: unresolved external symbol __imp___chdir
1>OLDNAMES.lib(strnicmp.obi) : error LNK2001: unresolved external symbol __imp___strnicmp
1>OLDNAMES.lib(mkdir.obi) : error LNK2001: unresolved external symbol __imp___mkdir
1>OLDNAMES.lib(access.obi) : error LNK2001: unresolved external symbol __imp___access
1>OLDNAMES.lib(getcwd.obi) : error LNK2001: unresolved external symbol __imp___getcwd
1>OLDNAMES.lib(setmode.obj) : error LNK2001: unresolved external symbol __setmode
1>OLDNAMES.lib(fileno.obj) : error LNK2001: unresolved external symbol __fileno
1>.\simutrans\Simutrans-Experimental.exe : fatal error LNK1120: 142 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Any thoughts?
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on November 27, 2012, 09:20:44 PM
Looks like all standard c libraries are missing.

I pushed a project file that enabled me to compile and link a release configuration.

Best way to fix the release configuration is to

1) save the "xxx (sdl)" additional libraries and
2) copy the linker input settings of the debug configuration to the "all configurations" configuration
3) add the additional sdl libraries to the sdl configurations.

(I must admit, that I never compile the sdl configurations and hence forgot to save and restore them :( )
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on November 28, 2012, 12:01:22 AM
I have also given up compiling the SDL configurations; but the errors that I was getting above were from the non-SDL version. Does your fix apply to the non-SDL version?
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on November 28, 2012, 12:08:36 AM
Yes, of course.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on November 28, 2012, 12:26:08 AM
Hmm, in which case, I don't understand the reference to "save the "xxx (sdl)" additional libraries"...
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on December 03, 2012, 12:44:51 AM
Thank you for the fixes - I have been able to get a release candidate version out for testing: see here (http://forum.simutrans.com/index.php?topic=10997) for download link and details.

I am not able to get Makeobj to compile, however. I am getting this output in the release configuration:


1>------ Build started: Project: Makeobj, Configuration: Release Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(299,5): warning MSB8004: Output Directory does not end with a trailing slash.  This build instance will add the slash as it is required to allow proper evaluation of the Output Directory.
1>  bild_besch.cc
1>  bridge_writer.cc
1>  building_writer.cc
1>  citycar_writer.cc
1>  crossing_writer.cc
1>  factory_writer.cc
1>  get_climate.cc
1>  get_waytype.cc
1>  good_writer.cc
1>  ground_writer.cc
1>  groundobj_writer.cc
1>  image_writer.cc
1>  imagelist2d_writer.cc
1>  imagelist3d_writer.cc
1>  imagelist_writer.cc
1>  obj_node.cc
1>  obj_writer.cc
1>  pedestrian_writer.cc
1>  roadsign_writer.cc
1>  root_writer.cc
1>  Compiling...
1>  sim_writer.cc
1>  skin_writer.cc
1>  sound_writer.cc
1>  text_writer.cc
1>  tree_writer.cc
1>  tunnel_writer.cc
1>..\besch\writer\tunnel_writer.cc(18): warning C4101: 'i' : unreferenced local variable
1>..\besch\writer\tunnel_writer.cc(18): warning C4101: 'pos' : unreferenced local variable
1>  vehicle_writer.cc
1>  way_obj_writer.cc
1>  way_writer.cc
1>  xref_writer.cc
1>  freelist.cc
1>  tabfile.cc
1>  simdebug.cc
1>  simmem.cc
1>  simtools.cc
1>  float32e8_t.cc
1>  log.cc
1>  searchfolder.cc
1>  simstring.cc
1>..\utils\simstring.cc(23): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(371) : see declaration of 'sprintf'
1>..\utils\simstring.cc(26): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(371) : see declaration of 'sprintf'
1>..\utils\simstring.cc(105): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(371) : see declaration of 'sprintf'
1>..\utils\simstring.cc(108): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(371) : see declaration of 'sprintf'
1>..\utils\simstring.cc(163): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(371) : see declaration of 'sprintf'
1>..\utils\simstring.cc(167): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(371) : see declaration of 'sprintf'
1>..\utils\simstring.cc(257): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(188) : see declaration of 'strncpy'
1>  makeobj.cc
1>  dr_rdpng.c
1>c1 : fatal error C1083: Cannot open source file: '..\utils\dr_rdpng.c': No such file or directory
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Any thoughts on what might be the problem?

Also, I am still getting the problem with the passenger destination markers on the minimap being a pair of lines, one straight, one diagonal, instead of a box.

One other matter: have you looked into the multi-threading support that has been put into the more recent versions of Standard? Does this work on this version, do you know? Indeed, is it enabled in the released versions of Standard?
Title: Re: Merging Standard 112.x into Experimental
Post by: Dwachs on December 03, 2012, 10:38:46 AM
Quote
1>c1 : fatal error C1083: Cannot open source file: '..\utils\dr_rdpng.c': No such file or directory
This error message is quite self-explanatory. Hint: look into utils-subdirectory.
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on December 03, 2012, 06:43:00 PM
It is named "dr_rdpng.cc" (double C extension) not "dr_rdpng.c"
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on December 04, 2012, 09:47:04 PM
Ahh, yes, I see. I have fixed that in the project file. I have now managed to compile Makeobj. However, it crashes (with no error message) every time that I run it - would you be able to look into this? Thank you!

Edit: As an aside, I have managed to get multi-threading working, although it was necessary first to download the pthread (http://ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip) package, add it to my simutrans code directory, modify the project file to point to the correct library and include files, set MULTI_THREAD=4 for all builds other than the command line server builds (since multi-threading only affects graphics, there is no point in having the command line server multi-threaded), and include pthreadVC2.dll in the Simutrans directory (and this .dll file will have to be distributed with future Windows Simutrans-Experimental releases, too).

Edit 2: Some things to test: (1) network mode generally (including compiling the command line server); (2) dragging of tunnel, elevated way, raise/lower ground and tree planting tools in network mode; (3) makeobj; (4) nettool; (5) pakset downloader (when started with no paksets - how does this work with Experimental, I wonder...?); (6) powerline tunnels; (7) scripted scenarios; (8) non-rectangular industries, station extensions and attractions; and (9) stop dragging.

And another bug, I'm afraid: the settings menu accessed by the "i" key in Pak128.Britain-Ex seems to be corrupted: when the window is opened, closed and opened again, different values appear than when the window was previously opened. This is often caused by a mismatch between the dialogue controls for the values and the underlying settings themselves.
Title: Re: Merging Standard 112.x into Experimental
Post by: prissi on December 05, 2012, 02:25:58 PM
THe settings wrong means most likely that the number of lines setting values and the one reading are wrong. Usually there is then a line missied.
Title: Re: Merging Standard 112.x into Experimental
Post by: TurfIt on December 05, 2012, 08:52:26 PM
Did you load the game paused and open the settings dialogue right away? I've found that to give incorrect numbers before. Run time for a half second, pause, then it's correct.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on December 05, 2012, 11:55:53 PM
Quote from: TurfIt on December 05, 2012, 08:52:26 PM
Did you load the game paused and open the settings dialogue right away? I've found that to give incorrect numbers before. Run time for a half second, pause, then it's correct.

Hmm - this should perhaps be a bug fixed in Standard...?

However, this is not the problem here: I let it run a good few clear seconds without pausing, and the problem was still the same.

Edit: I should note that I am still getting the bouncing instead of reversing at rail lines ending in reversing waypoints, as previously reported.
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on December 12, 2012, 06:18:08 PM
I've started to fix loading / saving 112.x standard / experimental games ...

Edit: fixed in my "112.x merge" branch.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on December 13, 2012, 12:25:11 AM
Thank you - most helpful!
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on December 17, 2012, 11:00:36 AM
I've started to fix: Standard aircrafts fly without using the run way.
Actually this seems to be an issues with waypoints in the air...
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on December 19, 2012, 12:11:02 AM
Thank you for your work on this. Oddly, when I merge the latest work from your 112.x-merge branch, I get the following compile error:


1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall nwc_scenario_t::rdwr(void)" (?rdwr@nwc_scenario_t@@UAEXXZ)
1>scenario.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall nwc_scenario_t::rdwr(void)" (?rdwr@nwc_scenario_t@@UAEXXZ)
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall nwc_scenario_t::execute(class karte_t *)" (?execute@nwc_scenario_t@@UAE_NPAVkarte_t@@@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: virtual bool __thiscall nwc_scenario_t::execute(class karte_t *)" (?execute@nwc_scenario_t@@UAE_NPAVkarte_t@@@Z) referenced in function "public: bool __thiscall scenario_t::is_tool_allowed(class spieler_t *,unsigned short,short)" (?is_tool_allowed@scenario_t@@QAE_NPAVspieler_t@@GF@Z)
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall nwc_scenario_rules_t::rdwr(void)" (?rdwr@nwc_scenario_rules_t@@UAEXXZ)
1>scenario.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall nwc_scenario_rules_t::rdwr(void)" (?rdwr@nwc_scenario_rules_t@@UAEXXZ)
1>network_cmd_ingame.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall nwc_scenario_rules_t::do_command(class karte_t *)" (?do_command@nwc_scenario_rules_t@@UAEXPAVkarte_t@@@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: virtual void __thiscall nwc_scenario_rules_t::do_command(class karte_t *)" (?do_command@nwc_scenario_rules_t@@UAEXPAVkarte_t@@@Z) referenced in function __ehhandler$??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ
1>network_cmd_ingame.obj : error LNK2019: unresolved external symbol "public: char const * __thiscall CSV_t::get_str(void)const " (?get_str@CSV_t@@QBEPBDXZ) referenced in function "public: static void __cdecl nwc_nick_t::server_tools(class karte_t *,unsigned int,unsigned char,char const *)" (?server_tools@nwc_nick_t@@SAXPAVkarte_t@@IEPBD@Z)
1>server_frame.obj : error LNK2001: unresolved external symbol "public: char const * __thiscall CSV_t::get_str(void)const " (?get_str@CSV_t@@QBEPBDXZ)
1>network_cmd_ingame.obj : error LNK2019: unresolved external symbol "public: void __thiscall CSV_t::add_field(int)" (?add_field@CSV_t@@QAEXH@Z) referenced in function "public: static void __cdecl nwc_nick_t::server_tools(class karte_t *,unsigned int,unsigned char,char const *)" (?server_tools@nwc_nick_t@@SAXPAVkarte_t@@IEPBD@Z)
1>network_cmd_ingame.obj : error LNK2019: unresolved external symbol "public: void __thiscall CSV_t::add_field(char const *)" (?add_field@CSV_t@@QAEXPBD@Z) referenced in function "public: static void __cdecl nwc_nick_t::server_tools(class karte_t *,unsigned int,unsigned char,char const *)" (?server_tools@nwc_nick_t@@SAXPAVkarte_t@@IEPBD@Z)
1>server_frame.obj : error LNK2019: unresolved external symbol "public: bool __thiscall CSV_t::next_line(void)" (?next_line@CSV_t@@QAE_NXZ) referenced in function "private: bool __thiscall server_frame_t::update_serverlist(void)" (?update_serverlist@server_frame_t@@AAE_NXZ)
1>server_frame.obj : error LNK2019: unresolved external symbol "public: int __thiscall CSV_t::get_next_field(class cbuffer_t &)" (?get_next_field@CSV_t@@QAEHAAVcbuffer_t@@@Z) referenced in function "private: bool __thiscall server_frame_t::update_serverlist(void)" (?update_serverlist@server_frame_t@@AAE_NXZ)
1>server_frame.obj : error LNK2019: unresolved external symbol "public: __thiscall CSV_t::CSV_t(char const *)" (??0CSV_t@@QAE@PBD@Z) referenced in function "private: bool __thiscall server_frame_t::update_serverlist(void)" (?update_serverlist@server_frame_t@@AAE_NXZ)
1>simsys.obj : error LNK2019: unresolved external symbol __imp__ShellExecuteExA@4 referenced in function "bool __cdecl dr_download_pakset(char const *,bool)" (?dr_download_pakset@@YA_NPBD_N@Z)
1>optionen.obj : error LNK2019: unresolved external symbol "public: __thiscall scenario_info_t::scenario_info_t(class karte_t *)" (??0scenario_info_t@@QAE@PAVkarte_t@@@Z) referenced in function "public: virtual bool __thiscall optionen_gui_t::action_triggered(class gui_action_creator_t *,union value_t)" (?action_triggered@optionen_gui_t@@UAE_NPAVgui_action_creator_t@@Tvalue_t@@@Z)
1>scenario.obj : error LNK2001: unresolved external symbol "public: __thiscall scenario_info_t::scenario_info_t(class karte_t *)" (??0scenario_info_t@@QAE@PAVkarte_t@@@Z)
1>scenario_frame.obj : error LNK2001: unresolved external symbol "public: __thiscall scenario_info_t::scenario_info_t(class karte_t *)" (??0scenario_info_t@@QAE@PAVkarte_t@@@Z)
1>savegame_frame.obj : error LNK2019: unresolved external symbol __imp__SHFileOperationA@4 referenced in function "protected: virtual bool __thiscall savegame_frame_t::del_action(char const *)" (?del_action@savegame_frame_t@@MAE_NPBD@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: __thiscall dynamic_string::~dynamic_string(void)" (??1dynamic_string@@QAE@XZ) referenced in function "public: __thiscall scenario_t::~scenario_t(void)" (??1scenario_t@@QAE@XZ)
1>scenario.obj : error LNK2019: unresolved external symbol "public: __thiscall script_vm_t::~script_vm_t(void)" (??1script_vm_t@@QAE@XZ) referenced in function "public: void * __thiscall script_vm_t::`scalar deleting destructor'(unsigned int)" (??_Gscript_vm_t@@QAEPAXI@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "private: char const * __thiscall script_vm_t::intern_call_function(int,bool)" (?intern_call_function@script_vm_t@@AAEPBDH_N@Z) referenced in function "public: char const * __thiscall script_vm_t::call_function(char const *)" (?call_function@script_vm_t@@QAEPBDPBD@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "private: char const * __thiscall script_vm_t::intern_start_function(char const *)" (?intern_start_function@script_vm_t@@AAEPBDPBD@Z) referenced in function "public: char const * __thiscall script_vm_t::call_function(char const *)" (?call_function@script_vm_t@@QAEPBDPBD@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "void __cdecl register_export_function(struct SQVM *,class karte_t *)" (?register_export_function@@YAXPAUSQVM@@PAVkarte_t@@@Z) referenced in function "private: bool __thiscall scenario_t::load_script(char const *)" (?load_script@scenario_t@@AAE_NPBD@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: char const * __thiscall script_vm_t::call_script(char const *)" (?call_script@script_vm_t@@QAEPBDPBD@Z) referenced in function "private: bool __thiscall scenario_t::load_script(char const *)" (?load_script@scenario_t@@AAE_NPBD@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "void __cdecl export_global_constants(struct SQVM *)" (?export_global_constants@@YAXPAUSQVM@@@Z) referenced in function "private: bool __thiscall scenario_t::load_script(char const *)" (?load_script@scenario_t@@AAE_NPBD@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: __thiscall script_vm_t::script_vm_t(void)" (??0script_vm_t@@QAE@XZ) referenced in function "private: bool __thiscall scenario_t::load_script(char const *)" (?load_script@scenario_t@@AAE_NPBD@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: void __thiscall dynamic_string::update(class script_vm_t *,class spieler_t *,bool)" (?update@dynamic_string@@QAEXPAVscript_vm_t@@PAVspieler_t@@_N@Z) referenced in function "private: void __thiscall scenario_t::update_won_lost(unsigned short,unsigned short)" (?update_won_lost@scenario_t@@AAEXGG@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: void __thiscall scenario_info_t::open_result_tab(void)" (?open_result_tab@scenario_info_t@@QAEXXZ) referenced in function "public: bool __thiscall scenario_t::open_info_win(void)const " (?open_info_win@scenario_t@@QBE_NXZ)
1>scenario.obj : error LNK2019: unresolved external symbol "public: char const * __thiscall script_vm_t::eval_string(char const *)" (?eval_string@script_vm_t@@QAEPBDPBD@Z) referenced in function "public: void __thiscall scenario_t::rdwr(class loadsave_t *)" (?rdwr@scenario_t@@QAEXPAVloadsave_t@@@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: static char const * __cdecl dynamic_string::fetch_result(char const *,class script_vm_t *,class dynamic_string *,bool)" (?fetch_result@dynamic_string@@SAPBDPBDPAVscript_vm_t@@PAV1@_N@Z) referenced in function "public: int __thiscall scenario_t::completed(int)" (?completed@scenario_t@@QAEHH@Z)
1>scenario.obj : error LNK2019: unresolved external symbol _sq_poptop referenced in function "public: char const * __thiscall script_vm_t::call_function<class plainstring>(char const *,class plainstring &)" (??$call_function@Vplainstring@@@script_vm_t@@QAEPBDPBDAAVplainstring@@@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: static class plainstring __cdecl script_api::param<class plainstring>::get(struct SQVM *,int)" (?get@?$param@Vplainstring@@@script_api@@SA?AVplainstring@@PAUSQVM@@H@Z) referenced in function "public: char const * __thiscall script_vm_t::call_function<class plainstring>(char const *,class plainstring &)" (??$call_function@Vplainstring@@@script_vm_t@@QAEPBDPBDAAVplainstring@@@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: static bool __cdecl script_api::param<bool>::get(struct SQVM *,int)" (?get@?$param@_N@script_api@@SA_NPAUSQVM@@H@Z) referenced in function "public: char const * __thiscall script_vm_t::call_function<bool,unsigned char,unsigned short,short>(char const *,bool &,unsigned char,unsigned short,short)" (??$call_function@_NEGF@script_vm_t@@QAEPBDPBDAA_NEGF@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<short>::push(struct SQVM *,short const &)" (?push@?$param@F@script_api@@SAHPAUSQVM@@ABF@Z) referenced in function "public: char const * __thiscall script_vm_t::call_function<bool,unsigned char,unsigned short,short>(char const *,bool &,unsigned char,unsigned short,short)" (??$call_function@_NEGF@script_vm_t@@QAEPBDPBDAA_NEGF@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<unsigned short>::push(struct SQVM *,unsigned short const &)" (?push@?$param@G@script_api@@SAHPAUSQVM@@ABG@Z) referenced in function "public: char const * __thiscall script_vm_t::call_function<bool,unsigned char,unsigned short,short>(char const *,bool &,unsigned char,unsigned short,short)" (??$call_function@_NEGF@script_vm_t@@QAEPBDPBDAA_NEGF@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<unsigned char>::push(struct SQVM *,unsigned char const &)" (?push@?$param@E@script_api@@SAHPAUSQVM@@ABE@Z) referenced in function "public: char const * __thiscall script_vm_t::call_function<bool,unsigned char,unsigned short,short>(char const *,bool &,unsigned char,unsigned short,short)" (??$call_function@_NEGF@script_vm_t@@QAEPBDPBDAA_NEGF@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<class koord3d>::push(struct SQVM *,class koord3d const &)" (?push@?$param@Vkoord3d@@@script_api@@SAHPAUSQVM@@ABVkoord3d@@@Z) referenced in function "public: char const * __thiscall script_vm_t::call_function<class plainstring,unsigned char,unsigned short,class koord3d>(char const *,class plainstring &,unsigned char,unsigned short,class koord3d)" (??$call_function@Vplainstring@@EGVkoord3d@@@script_vm_t@@QAEPBDPBDAAVplainstring@@EGVkoord3d@@@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<int>::get(struct SQVM *,int)" (?get@?$param@H@script_api@@SAHPAUSQVM@@H@Z) referenced in function "public: char const * __thiscall script_vm_t::call_function<int,unsigned char>(char const *,int &,unsigned char)" (??$call_function@HE@script_vm_t@@QAEPBDPBDAAHE@Z)
1>scenario.obj : error LNK2019: unresolved external symbol "public: static int __cdecl script_api::param<unsigned int>::push(struct SQVM *,unsigned int const &)" (?push@?$param@I@script_api@@SAHPAUSQVM@@ABI@Z) referenced in function "public: char const * __thiscall script_vm_t::call_function<int,unsigned int>(char const *,int &,unsigned int)" (??$call_function@HI@script_vm_t@@QAEPBDPBDAAHI@Z)
1>.\simutrans\Simutrans-Experimental-debug.exe : fatal error LNK1120: 34 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Any idea what might have introduced this?
Title: Re: Merging Standard 112.x into Experimental
Post by: Dwachs on December 19, 2012, 11:22:05 AM
Just stating the obvious: Please try to add all cc-files that could contain the missing functions to your project file (utils/csv.cc, dataobj/network_cmd_scenario.cc, gui/scenario_info.cc,script/script.cc)

Maybe some commits from standard are not merged correctly, too.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on December 21, 2012, 10:43:24 PM
I have merged in Bernd's latest changes and my latest fixes on the 10.x branch, and found most of the causes of the linker errors (which I can only attribute to my MSVC++ project file being overwritten by an earlier version somehow - odd).

However, I am still having a difficulty with linker errors concerned with SHFileOperationA and SHELLEXECUTEINFOA in savegame_frame.cc and simsys.cc respectively. Both of those references are related to the system for downloading paksets from Sourceforge automatically. I have produced a temporary workaround that allows Simutrans-Experimental to compile by disabling these things, but the odd thing is that, in Bernd's MSVC++ project file, all that is added is winmm.lib to the additional dependencies, which is already present in my project file, yet I still get the linker errors unless I disable the relevant code.

Any thoughts would be most welcome.
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on December 21, 2012, 10:48:40 PM
You must add shell32.lib or (as I did) inherit from standard.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on December 21, 2012, 10:56:32 PM
Aha, that works - thank you!
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on December 22, 2012, 12:15:56 AM
I have released a new version of the release candidate with all the latest bug fixes on the main branch and those by Bernd: see here (http://forum.simutrans.com/index.php?topic=11137.0) for details.
Title: Re: Merging Standard 112.x into Experimental
Post by: Milko on February 01, 2013, 03:49:22 PM
Hello

1) There is an untralated text in ship depot (view attach TextNotTranslated).

2) Simutrans standard has a cargo report, 112.x merge no (second attach CargoReport)

Giuseppe
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on February 01, 2013, 09:39:10 PM
Thank you very much for the reports! Is the first issue unique to the 112.x merge branch, or does it also appear in current released versions? As to the second issue - is the screenshot from Standard or Experimental?
Title: Re: Merging Standard 112.x into Experimental
Post by: Milko on February 04, 2013, 08:39:41 AM
Hello James

First issue is present also in 10.26, I'm also unable to find the string in simutranslator.

Second issue: The screenshot was taken from simutrans standard, is not present in experimental.

Giuseppe
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on February 04, 2013, 11:40:01 AM
Thank you for the replies - that is helpful. As to the first - does this only appear in ship depots, or any type of depots?

As to the second, Bernd - would you mind looking into this?
Title: Re: Merging Standard 112.x into Experimental
Post by: Milko on February 04, 2013, 01:10:53 PM
Hello

Quote from: jamespetts on February 04, 2013, 11:40:01 AM
Thank you for the replies - that is helpful. As to the first - does this only appear in ship depots, or any type of depots?

Any type of depots.

Giuseppe
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on February 04, 2013, 11:32:29 PM
Thank you - I have found and fixed that issue, and these texts should be translatable from the next release (you can translate them now, but the translation will not work until the next version).
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on February 16, 2013, 12:56:43 PM
As to the second issue (Additional infos in depot): Neither can I see these infos in the current standard 112 executable nor in the code, but I will add it to experimental anyhow.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on February 16, 2013, 01:00:18 PM
Hmm - perhaps this is from a recent nightly? In any event, this would be a worthwhile addition - thank you!

Edit: Actually, I think that this comes from here (http://forum.simutrans.com/index.php?topic=7767.0); perhaps we need to increment this to merge in the latest Standard release?
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on February 16, 2013, 01:36:52 PM
I found the code at last. Downloading it is not enough. Merging helps ;)
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on February 16, 2013, 01:44:37 PM
Ahh, yes, I find that useful, too...
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on February 17, 2013, 11:25:32 PM
As the code has been added after my last 112.x merge, I'm now merging aburch's master branch up to commit 2d61e0361d9ca70b50ad96d471e738fb4f8b0ac3.

This could last the entire week...
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on February 17, 2013, 11:52:43 PM
Your work in merging is very much appreciated (the industry spacing code in particular will be invaluable). Have you had a chance to look at the desyncs issue yet, or were you going to do that after merging the latest changes from Standard?
Title: Re: Merging Standard 112.x into Experimental
Post by: Milko on February 22, 2013, 04:37:23 PM
Hello Bernd

Compiling your branch 112.x-merge (update 21 february) I obtain an error (in attachment).

Giuseppe
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on February 22, 2013, 11:41:35 PM
@Milko: thanks for spotting that issue. Gcc now always uses malloc.

The merge is accomplished. More testers are welcome.
Title: Re: Merging Standard 112.x into Experimental
Post by: sdog on February 23, 2013, 03:50:53 AM
@Bernd:
for clarification, is it the 112.x-merge branch on your github repository?

https://github.com/BerndGabriel/simutrans-experimental/tree/112.x-merge
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on February 23, 2013, 11:10:12 AM
Quote from: Bernd Gabriel on February 22, 2013, 11:41:35 PM
@Milko: thats for spotting that issue. Gcc now always uses malloc.

Oh? Does this mean that all the instances of "alloca" in the Simutrans code will cause it to fail to compile under GCC? There's quite a lot of "alloca" in Standard, isn't there? Alloca can be much faster than "malloc", so this is potentially an issue. I wonder why it didn't fail at other instances of "alloca"?
Title: Re: Merging Standard 112.x into Experimental
Post by: Vonjo on February 23, 2013, 11:38:54 AM
May it be related to this issue?
http://forum.simutrans.com/index.php?topic=10477.msg100025
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on February 23, 2013, 12:24:27 PM
about alloca():

there is no alloca() in GNU C++, but in C/clang. The commonly used simutrans macro ALLOCA covers the absence of alloca() by defining a local variable on the stack. But this "workaround" (which actually is the nicer way) does not work with clang, as it does not allow to declare variable length arrays. Thats the issue in http://forum.simutrans.com/index.php?topic=10477.msg100025 (http://forum.simutrans.com/index.php?topic=10477.msg100025).

ALLOCA does not work in the modified freight_list_sorter_t::sort_freight() as occasinally we want to allocate from heap to avoid stack overflow.

@sdog:

Yes, it is in my https://github.com/BerndGabriel/simutrans-experimental/tree/112.x-merge (https://github.com/BerndGabriel/simutrans-experimental/tree/112.x-merge)


Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on February 23, 2013, 12:38:03 PM
Ahh, I see! Thank you for explaining that.
Title: Re: Merging Standard 112.x into Experimental
Post by: Milko on February 27, 2013, 11:05:05 AM
Hello

I obtain a compiling error (look the attach).

I'm compiling branch 112.Xmerge (on jamespetts github), update today.

Giuseppe
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on February 27, 2013, 09:08:11 PM
Hmm - I am suspecting that the makefile might be missing some things, but am not sure what. Some things that I had to add to my MSVC++ project to get it to compile were:

simunits.cc
simloadingscreen.cc/.h
script/api/api_gui.cc
gui/convoy_item.cc/.h

Try adding these to the makefile to see whether this helps.
Title: Re: Merging Standard 112.x into Experimental
Post by: Milko on February 28, 2013, 04:07:33 PM
Hello James

These files have been added recently? I remember that two / three months ago I could compile the project without any problems ....

Giuseppe
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on February 28, 2013, 09:11:42 PM
Yes, a number of new files have been added from Standard.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 03, 2013, 01:16:21 AM
I should note that I have just released a new version of the Release Candidate (http://forum.simutrans.com/index.php?topic=11550.new#new) (Windows binaries only), incorporating all of the latest work on the merge branch, which is mainly Bernd's. All testing is most welcome.
Title: Re: Merging Standard 112.x into Experimental
Post by: Carl on March 03, 2013, 09:51:38 AM
Does this RC require new config files? I'm getting an error that I don't have the "pthreadVCE2.dll" file. But when I google this file, I get ambiguous results and it's not straightforward to find a genuine-looking download site.
Title: Re: Merging Standard 112.x into Experimental
Post by: Junna on March 03, 2013, 09:53:59 AM
Quote from: Carl on March 03, 2013, 09:51:38 AM
Does this RC require new config files? I'm getting an error that I don't have the "pthreadVCE2.dll" file. But when I google this file, I get ambiguous results and it's not straightforward to find a genuine-looking download site.

I found one.

http://www.mediafire.com/?f3p9a2co0029vfd
Title: Re: Merging Standard 112.x into Experimental
Post by: Carl on March 03, 2013, 09:56:02 AM
Thanks Junna!

Hmm, now I'm getting a crash immediately after the pakset has loaded. This is only occurring with paksets that I've modified, though.


For instance, this pakset will not load: https://dl.dropbox.com/u/61716/pak.ee.rar
Title: Re: Merging Standard 112.x into Experimental
Post by: Junna on March 03, 2013, 10:20:41 AM
Quote from: Carl on March 03, 2013, 09:56:02 AM
Thanks Junna!

Hmm, now I'm getting a crash immediately after the pakset has loaded. This is only occurring with paksets that I've modified, though.


For instance, this pakset will not load: https://dl.dropbox.com/u/61716/pak.ee.rar

This is because of the default demo.sve not being compatible, it seems. Loading a pak that has the pak.britain demo.sve works because this save is different. You can get those paks to load, I'd suggest, by renaming one of your saves from it as demo.sve.
Title: Re: Merging Standard 112.x into Experimental
Post by: Carl on March 03, 2013, 11:01:44 AM
Ah, of course. I had forgotten to try that.


However -- neither of the paksets which crash seem to contain demo.sve files at all. Is this a matter of the game expecting to find one there, where previously it did not?
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 03, 2013, 12:27:49 PM
Thank you for pointing out the issue with pthreadVCE2.dll - that is the .dll file necessary to make multi-threading work. Multi-threading (for limited purposes, such as graphics) is used in the latest versions of Standard, and is also incorporated into the RC, which is why you need the additional file.

As to the issues with starting games - I have not encountered that. Can you let me know precisely the conditions in which this does and does not occur?
Title: Re: Merging Standard 112.x into Experimental
Post by: Carl on March 03, 2013, 12:45:33 PM
The key condition seems to be that a crash will occur if no demo.sve is present in the pakset folder. Previously the game would generate something small in place of the demo.sve.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 03, 2013, 02:24:11 PM
Thank you for that report - now found and fixed on the 112.x-merge branch.
Title: Re: Merging Standard 112.x into Experimental
Post by: asaphxiix on March 03, 2013, 03:24:59 PM
Hi,

Where should I put the pthread file? I tried in the game dir, also in windows\system32 and systemWOW64, also tried using regsvr32 on it, but got a DllRegisterServer missing. The game still reports the dll missing, in any case.
Title: Re: Merging Standard 112.x into Experimental
Post by: Junna on March 03, 2013, 03:26:08 PM
Quote from: asaphxiix on March 03, 2013, 03:24:59 PM
Hi,

Where should I put the pthread file? I tried in the game dir, also in windows\system32 and systemWOW64, also tried using regsvr32 on it, but got a DllRegisterServer missing. The game still reports the dll missing, in any case.

It goes in game main directory. I had no problems once I had put it there.
Title: Re: Merging Standard 112.x into Experimental
Post by: asaphxiix on March 03, 2013, 03:36:43 PM
thanks! So far it doesn't work on my windows 8. Is there anything else that should go in there, different from the regular release 10.27?
Title: Re: Merging Standard 112.x into Experimental
Post by: Junna on March 03, 2013, 03:54:33 PM
Quote from: asaphxiix on March 03, 2013, 03:36:43 PM
thanks! So far it doesn't work on my windows 8. Is there anything else that should go in there, different from the regular release 10.27?


I don't know - do you have the other dll, pthreadgc2.dll from standard 112? It's also required (in addition to pthreadvec2.dll).
Title: Re: Merging Standard 112.x into Experimental
Post by: asaphxiix on March 03, 2013, 04:02:37 PM
yep that fixed it, thanks a bunch!

I haven't tried the RC's yet, it seems to be much faster!
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 03, 2013, 04:14:58 PM
Quote from: asaphxiix on March 03, 2013, 04:02:37 PM
I haven't tried the RC's yet, it seems to be much faster!

...?
Title: Re: Merging Standard 112.x into Experimental
Post by: asaphxiix on March 03, 2013, 04:40:13 PM
Is it not faster than the releases? At least in loading...
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 03, 2013, 04:47:27 PM
It ought to be - but you said that you hadn't tried it yet, so I was wondering how you knew...
Title: Re: Merging Standard 112.x into Experimental
Post by: Junna on March 03, 2013, 06:24:36 PM
Will the compile be updates so that the platforms become usable? I can't really play it when it doesn't work right.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 03, 2013, 06:42:03 PM
If you compile it now, the platform issues should be fixed.
Title: Re: Merging Standard 112.x into Experimental
Post by: Zeno on March 03, 2013, 06:48:13 PM
RC-10.9029 doesn't work for me in Win7, gives error after reading pak data. I don't have any demo.sve, so I tried to add one but same error. Debugger info says:

Excepción no controlada en 0x00515eac en Simutrans-Experimental-10.9029.exe: 0xC0000005: Infracción de acceso al leer la ubicación 0x00000a78.

That means something like Unexpected exception blah blah: Access violation reading ....
RC-10.9019 works fine. Any advice?
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 03, 2013, 07:05:11 PM
An access violation is the error that one gets when loading a pakset without a demo.sve. May I ask - would you be able to try Pak128.Britain-Ex 0.8.4, which does have a demo.sve?
Title: Re: Merging Standard 112.x into Experimental
Post by: Zeno on March 03, 2013, 07:11:45 PM
Quote from: jamespetts on March 03, 2013, 07:05:11 PM
May I ask - would you be able to try Pak128.Britain-Ex 0.8.4, which does have a demo.sve?
Sure. Got a link for 0.8.4?

Btw, does the demo.sve need to be anything special? I used a "fake" one instead and doesn't work either :(
Title: Re: Merging Standard 112.x into Experimental
Post by: Junna on March 03, 2013, 07:43:51 PM
Quote from: Zeno on March 03, 2013, 07:11:45 PM
Sure. Got a link for 0.8.4?

Btw, does the demo.sve need to be anything special? I used a "fake" one instead and doesn't work either :(

http://forum.simutrans.com/index.php?topic=10144.msg96323#msg96323

/
I don't know how to compile programs. If anyone else can compile it, it'd be good.
Title: Re: Merging Standard 112.x into Experimental
Post by: Zeno on March 03, 2013, 08:05:04 PM
Quote from: Junna on March 03, 2013, 07:43:51 PM
http://forum.simutrans.com/index.php?topic=10144.msg96323#msg96323
Thanks for the link. What about other paksets? Can't make anyone to run... is it a British restricted version? :D
Title: Re: Merging Standard 112.x into Experimental
Post by: Bernd Gabriel on March 03, 2013, 09:13:43 PM
There is a fix for the access violation in my "112.x merge" branch.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 03, 2013, 09:35:32 PM
Excellent - thank you!
Title: Re: Merging Standard 112.x into Experimental
Post by: Zeno on March 03, 2013, 10:12:00 PM
Looking forward to give it a try :)
Title: Re: Merging Standard 112.x into Experimental
Post by: Junna on March 04, 2013, 06:32:26 PM
Since no one seems to have the time or patience to compile, I'm trying to compile myself. I've run into this error:

Quote1>imagelist3d_writer.obj : error LNK2001: unresolved external symbol "public: void __thiscall imagelist2d_writer_t::write_obj(struct _iobuf *,class obj_node_t &,class slist_tpl<class slist_tpl<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > const &)" (?write_obj@imagelist2d_writer_t@@QAEXPAU_iobuf@@AAVobj_node_t@@ABV?$slist_tpl@V?$slist_tpl@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@@@@Z)
1>imagelist3d_writer.obj : error LNK2001: unresolved external symbol "public: void __thiscall obj_node_t::write(struct _iobuf *)" (?write@obj_node_t@@QAEXPAU_iobuf@@@Z)
1>imagelist3d_writer.obj : error LNK2001: unresolved external symbol "public: void __thiscall obj_node_t::write_uint16(struct _iobuf *,unsigned short,int)" (?write_uint16@obj_node_t@@QAEXPAU_iobuf@@GH@Z)
1>imagelist3d_writer.obj : error LNK2001: unresolved external symbol "public: __thiscall obj_node_t::obj_node_t(class obj_writer_t *,unsigned int,class obj_node_t *)" (??0obj_node_t@@QAE@PAVobj_writer_t@@IPAV0@@Z)
1>imagelist3d_writer.obj : error LNK2001: unresolved external symbol "private: static class imagelist2d_writer_t imagelist2d_writer_t::the_instance" (?the_instance@imagelist2d_writer_t@@0V1@A)

How do I proceed?
Title: Re: Merging Standard 112.x into Experimental
Post by: Zeno on March 04, 2013, 07:03:10 PM
It's been almost ten years since I compiled C++ stuff the last time... maybe a file missing?
Title: Re: Merging Standard 112.x into Experimental
Post by: Junna on March 04, 2013, 07:18:53 PM
Quote from: Zeno on March 04, 2013, 07:03:10 PM
It's been almost ten years since I compiled C++ stuff the last time... maybe a file missing?

Indeed, I've already had to add a few others that were missing according to what Carl experienced in a previous attempt to compile (imagesomethingetc were missing). I can't figure out what files else are missing, though...
Title: Re: Merging Standard 112.x into Experimental
Post by: Milko on March 04, 2013, 08:11:34 PM
Hello James

Quote from: jamespetts on February 27, 2013, 09:08:11 PM
Hmm - I am suspecting that the makefile might be missing some things, but am not sure what. Some things that I had to add to my MSVC++ project to get it to compile were:

simunits.cc
simloadingscreen.cc/.h
script/api/api_gui.cc
gui/convoy_item.cc/.h

Try adding these to the makefile to see whether this helps.

Adding float32e8_t.cc reduce the errors.

But I'm unable to locate the file (.cc) where the class path_explorer_t and gui_table:t are defined.

Maybe some <include> is missing?

Giuseppe
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 04, 2013, 09:33:15 PM
path_explorer_t is in path_explorer.cc and gui_table_t is in /gui/components/gui_component_table.cc.

I have not put out a revised version yet because I am considering whether to put out a version which combines the latest in 112.x-merge with the latest work on walking passengers and private cars.
Title: Re: Merging Standard 112.x into Experimental
Post by: Junna on March 04, 2013, 09:56:24 PM
Quote from: jamespetts on March 04, 2013, 09:33:15 PM
path_explorer_t is in path_explorer.cc and gui_table_t is in /gui/components/gui_component_table.cc.

I have not put out a revised version yet because I am considering whether to put out a version which combines the latest in 112.x-merge with the latest work on walking passengers and private cars.

If it doesn't take too long to do, that sounds like a good idea to include.
Title: Re: Merging Standard 112.x into Experimental
Post by: Dwachs on March 05, 2013, 11:00:23 AM
Quote from: Junna on March 04, 2013, 06:32:26 PM
Since no one seems to have the time or patience to compile, I'm trying to compile myself. I've run into this error:
[...]
How do I proceed?
It seems that you included too much files in the compilation. In order to compile the program, you should not add the files in besch/writer to the project. These are only needed to compile makeobj.
Title: Re: Merging Standard 112.x into Experimental
Post by: Junna on March 05, 2013, 01:34:37 PM
Quote from: Dwachs on March 05, 2013, 11:00:23 AM
It seems that you included too much files in the compilation. In order to compile the program, you should not add the files in besch/writer to the project. These are only needed to compile makeobj.

Ah. I added them thinking they would fix some of the other errors, but I guess only float32_etc was necessary.

It compiles now. Thank you.
Title: Re: Merging Standard 112.x into Experimental
Post by: Zeno on March 05, 2013, 05:19:18 PM
Quote from: Junna on March 05, 2013, 01:34:37 PM
It compiles now. Thank you.
Great! Did you compile it for windows? Would you be so kind of sharing the binary? :D
Title: Re: Merging Standard 112.x into Experimental
Post by: Junna on March 05, 2013, 05:45:33 PM
Quote from: Zeno on March 05, 2013, 05:19:18 PM
Great! Did you compile it for windows? Would you be so kind of sharing the binary? :D

It's for Windows. 32-bit compiled (couldn't figure out how to properly set it to 64, as the MSVC2010 only came with default 32 for options). Shouldn't be a problem though (runs well on my Win7 so far.)

http://www.mediafire.com/?7n04ctuphhp3yd0
Title: Re: Merging Standard 112.x into Experimental
Post by: Zeno on March 05, 2013, 06:25:12 PM
Thanks so much. I hope it will run in my 32bit Win7 too! 8)
I'll give it a try when I'm back at home later.
Title: Re: Merging Standard 112.x into Experimental
Post by: Milko on March 06, 2013, 02:35:43 PM
Hello James

Quote from: jamespetts on February 27, 2013, 09:08:11 PM
Hmm - I am suspecting that the makefile might be missing some things, but am not sure what. Some things that I had to add to my MSVC++ project to get it to compile were:

simunits.cc
simloadingscreen.cc/.h
script/api/api_gui.cc
gui/convoy_item.cc/.h

Try adding these to the makefile to see whether this helps.

I'm able to build sim.exe (branch 112.x) adding to makefile:

SOURCES += simunits.cc

SOURCES += convoy.cc
SOURCES += utils/float32e8_t.cc
SOURCES += path_explorer.cc
SOURCES += gui/components/gui_component_table.cc
SOURCES += gui/components/gui_table.cc
SOURCES += gui/components/gui_convoy_assembler.cc
SOURCES += gui/components/gui_convoy_label.cc
SOURCES += gui/replace_frame.cc
SOURCES += dataobj/livery_scheme.cc
SOURCES += dataobj/replace_data.cc

I do not know if they are all necessary as I am not an expert on makefiles.

The program compile and I don't have the "alloca" error.

Adding SOURCES += script/api/api_gui.cc (as you suggest) I obtain the error in attach.

Giuseppe
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 06, 2013, 10:04:59 PM
Hmm - odd. I wonder whether Bernd would be able to assist with that error?

Incidentally, would you be able to post your makefile? It needs to be updated for the 112.x-merge branch in any event.
Title: Re: Merging Standard 112.x into Experimental
Post by: Milko on March 07, 2013, 09:54:27 AM
Hello

This is my makefile.

Giuseppe
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 07, 2013, 11:35:13 PM
Thank you very much.
Title: Re: Merging Standard 112.x into Experimental
Post by: Milko on March 08, 2013, 08:35:51 AM
Hello James

I left a comment on file script /api/api_gui.cc, I do not understand why you had to plug it in and everything is ok, if I insert instead, the project will not compile.
Maybe I added some file conflicts, however, are not able to understand it.

Giuseppe
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 08, 2013, 11:56:45 AM
Yes, I noticed that. I am not sure either - I haven't really looked into scripted scenarios.
Title: Re: Merging Standard 112.x into Experimental
Post by: Dwachs on March 10, 2013, 11:42:44 AM
Quote from: Milko on March 08, 2013, 08:35:51 AM
I left a comment on file script /api/api_gui.cc, I do not understand why you had to plug it in and everything is ok, if I insert instead,
api_gui.cc is already included in the makefile. Including it twice will give you those errors.
Title: Re: Merging Standard 112.x into Experimental
Post by: Milko on March 10, 2013, 05:37:18 PM
Hello

it's true! I was convinced that I have checked if they were already included, I must have been mistaken. Thanks Dwachs.

James, you can totally eliminate my line with the comment.

Giuseppe
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 10, 2013, 07:32:38 PM
Giuseppe and Dwachs - thank you: that is most helpful.

I have now released a new Release Candidate build: see here (http://forum.simutrans.com/index.php?topic=11580.msg113882#msg113882) featuring the merging on this branch and also my recent features relating to private car route finding and passenger walking. The two sets of features were helpfully merged by Bernd this week-end. All testing is appreciated.
Title: Re: Merging Standard 112.x into Experimental
Post by: Carl on March 10, 2013, 11:00:34 PM
James - the download link in the new topic seems to still contain the old RC version, 10.9029.
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 10, 2013, 11:10:09 PM
Oops - my error: apologies. Fixed now.
Title: Re: Merging Standard 112.x into Experimental
Post by: Carl on March 10, 2013, 11:15:14 PM
Thanks James! I'll test more extensively tomorrow, but a quick problem to note: there seem to be some graphical problems in the Halt Detail window:


(http://i.imgur.com/0ujo0T1.jpg)
Title: Re: Merging Standard 112.x into Experimental
Post by: jamespetts on March 10, 2013, 11:31:20 PM
Thank you very much for the report - found and fixed.