New map features

Forum for technical discussions regarding development. If you have a general suggestion, problem or comment, please use one of the other forums.

Moderator: OpenTTD Developers

User avatar
wallyweb
Tycoon
Tycoon
Posts: 6102
Joined: 27 Nov 2004 15:05
Location: Canada

Re: New map features

Post by wallyweb »

cirdan wrote:As usualy, testing is welcome.
and for those of you who prefer a Win32 binary release ...
OTTD-25881M-Win32.7z
(5.08 MiB) Downloaded 130 times
I tested the tunnel signals.
1. I built a one way signal on the tunnel exit tile.
2. This caused a signal to appear at the tunnel entrance tile.
3. I stuffed three trains into the tunnel.
4 They all came out safe and sound.

:D
User avatar
cirdan
Director
Director
Posts: 539
Joined: 07 Apr 2007 18:08

Re: New map features

Post by cirdan »

wallyweb wrote:I tested the tunnel signals.
1. I built a one way signal on the tunnel exit tile.
2. This caused a signal to appear at the tunnel entrance tile.
3. I stuffed three trains into the tunnel.
4 They all came out safe and sound.

:D
Hey, I did some testing myself. It is not as if I am sending your drivers and passengers to a certain death. :-)

By the way, are you sure about 2? Signals should not automatically appear at the other end of a tunnel when you first build them, only if you later try to turn them around.

Here is an update of the patch, to be applied against r25917. It builds on the previous one, and has quite a few internal cleanups and the following user-visible changes:
  • Allow overbuilding of airports. This is a small but very useful patch that I have had floating for too long; now that I have my own branch, I can as well merge it.
  • Multiple docks per station. This is a pet feature of mine that I wanted to have for a very long time, and now I have got around to implementing it.
Enjoy!
Attachments
nma-r25917.diff.gz
(599.53 KiB) Downloaded 117 times
Supercheese
Tycoon
Tycoon
Posts: 1660
Joined: 16 Dec 2007 22:24
Location: Idaho, USA

Re: New map features

Post by Supercheese »

I cannot compile that version, I get myriad errors about 'GameLog' and 'unique_ptr' and the like, such as " 'unique_ptr' : is not a member of 'std' ". I'm thinking it has to do with C++11 features being used that my compiler (VC++ 2008 Express) can't handle, but I'm not 100% certain.
Eyecandy Road Vehicles | Fake Subways | Supercheese's NewObjects

"Fashions and cultures change, but steam trains shall always be majestic."
-Professor Hershel Layton
User avatar
wallyweb
Tycoon
Tycoon
Posts: 6102
Joined: 27 Nov 2004 15:05
Location: Canada

Re: New map features

Post by wallyweb »

cirdan wrote:By the way, are you sure about 2? Signals should not automatically appear at the other end of a tunnel when you first build them, only if you later try to turn them around.
What can I say? T'was a dark and stormy night ... :P It was indeed exactly as you described. :D
Supercheese wrote:I cannot compile that version, ...
MinGW worked. I tested the exe and all worked as intended. :D The Win32 binary is posted below:
OTTD-25917M-Win32.7z
(5.09 MiB) Downloaded 123 times
The usual disclaimers apply. Add your favourite base set and your choice of NewGrf selections. Stir and serve. Bon apetit. 8)
User avatar
cirdan
Director
Director
Posts: 539
Joined: 07 Apr 2007 18:08

Re: New map features

Post by cirdan »

Supercheese wrote:I cannot compile that version, I get myriad errors about 'GameLog' and 'unique_ptr' and the like, such as " 'unique_ptr' : is not a member of 'std' ". I'm thinking it has to do with C++11 features being used that my compiler (VC++ 2008 Express) can't handle, but I'm not 100% certain.
It might be the case. Could you please try replacing

Code: Select all

std::unique_ptr
with

Code: Select all

std::tr1::unique_ptr
in lines 61 and 63 of src/gamelog.h and compiling again? Those are the only occurrences of unique_ptr in the sources, and I have seen reports that MSVC still has unique_ptr under the std::tr1 namespace, but not under std yet.
User avatar
DC-1
Engineer
Engineer
Posts: 88
Joined: 13 Mar 2013 13:53

Re: New map features

Post by DC-1 »

cirdan wrote: Multiple docks per station. This is a pet feature of mine that I wanted to have for a very long time, and now I have got around to implementing it.
Could we get the multiple docks as a seperate patch? I've also waited for this for a long time. :)

Aren't you planing about a multiple airports (airport + helipad) patch? :roll: Even the largest airports can only handle 2 helicopters. It doesn't fit my zeppelin based transportation. :lol:
Eddi
Tycoon
Tycoon
Posts: 8258
Joined: 17 Jan 2007 00:14

Re: New map features

Post by Eddi »

the helistation can fit 3, and with cargodist you can connect two airports with a shuttle bus.
User avatar
wallyweb
Tycoon
Tycoon
Posts: 6102
Joined: 27 Nov 2004 15:05
Location: Canada

Re: New map features

Post by wallyweb »

CRASH REPORT
Is it the diff, the compile or me?

This has happened a couple of times while trying to unpause in the Scenario editor and in a game (same scenario).
Now it is happening in the Scenatio editor when I try to build two or more oil rigs.
The Crash reason is the same.
The scenario was created in r25917M. I tried it as a game in 1.3.1 stable and got the same crash.

Code: Select all

*** OpenTTD Crash Report ***

Crash at: Wed Nov 06 23:51:25 2013
In game date: 1921-01-01 (0)

Crash reason:
 Exception: E1212012
 Location:  750CC41F
 Message:   Assertion failed at line 136 of C:/MinGW/msys/1.0/home/Adminguy/OTTDRelease25917M/src/saveload/../map/../tile/../core/pool_func.hpp: this->checked != 0

OpenTTD version:
 Version:    r25917M (2)
 NewGRF ver: 1400653d
 Bits:       32
 Endian:     little
 Dedicated:  no
 Build date: Nov  5 2013 18:11:26

Registers:
 EAX: 0028B064 EBX: 00000016 ECX: 00000000 EDX: 0008E3C8
 ESI: 75C53180 EDI: 00000000 EBP: 0028B0B4 ESP: 0028B064
 EIP: 750CC41F EFLAGS: 00000246

 Bytes at instruction pointer:
 C9 C2 10 00 CC CC CC CC CC 8B FF 55 8B EC 56 8B 75 08 83 FE F4 72 18 83

Stack trace:
 E1212012 00000000 00000000 750CC41F 00000000 0028B098 7502FCF1 0019057E
 75C564A8 75C003E0 00012010 00000000 FFFFFFFF 0028B0B4 7502FD36 0019057E
 76F8FAEA 76FB1092 FFFFFFFF 00000024 0028B120 00522637 E1212012 00000000
 00000000 00000000 75C50290 0028B120 75C15E89 75C15E8F 00000016 86E1264B
 0000000C 00101460 0028B470 76F8FAEA 76FA9DEC 00000000 00000024 00522610
 00000001 0028B0E0 0028AC08 0028FFC4 75BD8CD5 F308C9D3 FFFFFFFE 0028B458
 75C18EA2 00000016 00101460 0012064C 0146BCF0 014725D0 000A0017 00000042
 00000000 010001CF 014725D0 00000210 01010000 0028B090 74FFCF5C 0028FFC4
 76FE71F5 00024DD6 FFFFFFFE 76FA38AA 76FA34A2 00000000 0146BCF0 00010003
 00000000 0028B39C 0146BCE8 0028B238 7502F774 01410000 00000000 0146BCF0
 00000001 0028B39C 00000001 0000001C 0000000F 00000000 00DD6640 00000010
 0019057E F3C57879 00000006 00000000 00000000 00000500 000002F8 00000000
 00000174 0028B39C 0000018F 00000000 00007F01 00000000 00000001 0000002D
 50022080 00000035 00000020 00000000 00000000 000001E1 76F8F905 0146BCF0
 011B11D8 00000000 0146BD54 011B1244 00000125 0028B390 7502FA18 00000010
 0000000C 00101460 7502FA50 00000001 75C50500 0E53B0A8 003F0000 00000000
 00000000 011B0E04 00000003 0028B2B8 00A60374 00000000 00000000 7502FA6C
 00000000 00000001 00000000 7FFFFFFF 0097A109 0028B2C8 75BCAA42 003F1C63
 0097A109 00000016 00000016 7FFFFFFF 00000000 75C52BD0 003F1560 75BBA53A
 00000000 0028B2F8 75BCA8C1 003F1C63 0097A109 00000016 0028B2E8 7FFFFFFF
 00000000 75C52BD0 003F1560 003F07D0 00000000 0028B328 75BCA9C8 003F1C63
 0000000A 00000016 00000000 003F17DC 003F1C64 75C52BD0 00000001 00000000
 0028B343 0028B340 006AC613 00000001 0000007F 0028B470 00DD6640 00000200
 0028B508 0028B36C 750F582F 00DD6640 00000000 0028B368 00DD6762 00DD6A40

Operating system:
 Name:     Windows
 Release:  6.1.7601 (Service Pack 1)
 Compiler: GCC 4.6.2 "4.6.2"

Configuration:
 Blitter:      8bpp-optimized
 Graphics set: original_windows (0)
 Language:     C:\Program Files\OpenTTD 25917M\lang\english.lng
 Music driver: win32
 Music set:    NoMusic (0)
 Network:      no
 Sound driver: win32
 Sound set:    NoSound (2)
 Video driver: win32

AI Configuration (local: 16):
  0: Human

Libraries:
 FreeType:   2.4.10
 LZMA:       5.0.4
 LZO:        2.06
 PNG:        1.5.16
 Zlib:       1.2.8

Module information:
 C:\Program Files\OpenTTD 25917M\openttd.exe handle: 00400000 size: 11136391 crc: 379EBA29 date: 2013-11-06 06:29:01
 C:\Windows\SysWOW64\ntdll.dll handle: 76f70000 size: 1292192 crc: 87C3B42F date: 2013-08-29 01:50:30
 C:\Windows\syswow64\kernel32.dll handle: 757e0000 size: 1114112 crc: 26ECCEAE date: 2013-08-02 01:50:41
 C:\Windows\syswow64\KERNELBASE.dll handle: 750c0000 size: 274944 crc: C96F6E3E date: 2013-08-02 01:50:42
 C:\Windows\syswow64\ADVAPI32.DLL handle: 75b10000 size: 640512 crc: 939A0B41 date: 2013-08-29 01:48:17
 C:\Windows\syswow64\msvcrt.dll handle: 75bb0000 size: 690688 crc: DAB48B3A date: 2011-12-16 07:52:58
 C:\Windows\SysWOW64\sechost.dll handle: 75300000 size: 92160 crc: B624B29A date: 2009-07-14 01:16:13
 C:\Windows\syswow64\RPCRT4.dll handle: 75e00000 size: 663552 crc: A34B30BE date: 2013-07-09 04:52:33
 C:\Windows\syswow64\SspiCli.dll handle: 749c0000 size: 96768 crc: A8682D62 date: 2012-08-24 16:53:35
 C:\Windows\syswow64\CRYPTBASE.dll handle: 749b0000 size: 36864 crc: 00308E17 date: 2009-07-14 01:15:07
 C:\Windows\syswow64\GDI32.dll handle: 74d50000 size: 311296 crc: 5F06BCCF date: 2010-11-20 12:08:51
 C:\Windows\syswow64\USER32.dll handle: 74fc0000 size: 833024 crc: 9EFE504D date: 2010-11-20 12:08:57
 C:\Windows\syswow64\LPK.dll handle: 74de0000 size: 25600 crc: 3A7246AE date: 2013-06-06 04:57:01
 C:\Windows\syswow64\USP10.dll handle: 753c0000 size: 626688 crc: 6C809B74 date: 2012-11-22 04:45:03
 C:\Windows\syswow64\IMM32.DLL handle: 74e30000 size: 119808 crc: 38DB5163 date: 2010-11-20 12:08:51
 C:\Windows\syswow64\MSCTF.dll handle: 74ef0000 size: 828928 crc: DFE09EEB date: 2009-07-14 01:15:43
 C:\Windows\syswow64\SHELL32.DLL handle: 75ef0000 size: 12872704 crc: C9774862 date: 2013-07-26 01:55:59
 C:\Windows\syswow64\SHLWAPI.dll handle: 75360000 size: 350208 crc: 23E05F73 date: 2010-11-20 12:21:19
 C:\Windows\system32\WINMM.DLL handle: 71660000 size: 194048 crc: 849223C7 date: 2010-11-20 12:21:36
 C:\Windows\syswow64\WS2_32.dll handle: 74df0000 size: 206848 crc: FD00A753 date: 2010-11-20 12:21:38
 C:\Windows\syswow64\NSI.dll handle: 75900000 size: 8704 crc: 2ACE9671 date: 2009-07-14 01:16:11
 C:\Windows\SysWOW64\guard32.dll handle: 10000000 size: 301264 crc: 4A444B7D date: 2012-11-07 23:37:34
 C:\Windows\system32\VERSION.dll handle: 73140000 size: 21504 crc: 88D9D0F1 date: 2009-07-14 01:16:17
 C:\Windows\system32\fltlib.dll handle: 73130000 size: 14848 crc: 84888438 date: 2009-07-14 01:15:21
 C:\Windows\syswow64\ole32.dll handle: 74bf0000 size: 1414144 crc: 74A1E844 date: 2010-11-20 12:20:49
 C:\Windows\system32\uxtheme.dll handle: 71730000 size: 245760 crc: 60C5C746 date: 2009-07-14 01:11:24
 C:\Windows\system32\dwmapi.dll handle: 71640000 size: 67072 crc: FC7CA4B8 date: 2009-07-14 01:15:13
 C:\Windows\system32\mswsock.dll handle: 730c0000 size: 231424 crc: 2A2905A9 date: 2013-09-08 02:03:58
 C:\Windows\System32\wshtcpip.dll handle: 72ec0000 size: 9216 crc: BA963A19 date: 2009-07-14 01:16:20
 C:\Windows\system32\MMDevAPI.DLL handle: 6d730000 size: 213504 crc: 93C0AA4F date: 2010-11-20 12:19:39
 C:\Windows\system32\PROPSYS.dll handle: 04540000 size: 988160 crc: 888D0BCB date: 2010-11-20 12:20:57
 C:\Windows\syswow64\OLEAUT32.dll handle: 75c60000 size: 571904 crc: 2B85E126 date: 2011-08-27 04:26:27
 C:\Windows\system32\wdmaud.drv handle: 6bd60000 size: 172032 crc: D5B9F5FA date: 2010-11-20 12:16:50
 C:\Windows\system32\ksuser.dll handle: 6bd50000 size: 4608 crc: EBE07232 date: 2009-07-14 01:15:35
 C:\Windows\system32\AVRT.dll handle: 6bd40000 size: 14336 crc: 9818237B date: 2009-07-14 01:14:58
 C:\Windows\syswow64\SETUPAPI.dll handle: 75470000 size: 1667584 crc: 1D0104E8 date: 2010-11-20 12:21:14
 C:\Windows\syswow64\CFGMGR32.dll handle: 76b40000 size: 145920 crc: 377B5190 date: 2011-05-24 10:39:38
 C:\Windows\syswow64\DEVOBJ.dll handle: 75cf0000 size: 64512 crc: 66B02A5A date: 2011-05-24 10:40:05
 C:\Windows\system32\AUDIOSES.DLL handle: 6d6f0000 size: 195584 crc: 0A7E52B1 date: 2010-11-20 12:18:05
 C:\Windows\system32\msacm32.drv handle: 6bd30000 size: 20992 crc: 73923147 date: 2009-07-14 01:14:08
 C:\Windows\system32\MSACM32.dll handle: 6bd10000 size: 72192 crc: ABA25814 date: 2009-07-14 01:15:42
 C:\Windows\system32\midimap.dll handle: 6bd00000 size: 16896 crc: C000494C date: 2009-07-14 01:15:40
 C:\Windows\syswow64\CLBCatQ.DLL handle: 75740000 size: 522240 crc: 6C130B8A date: 2009-07-14 01:15:03
 C:\Windows\syswow64\psapi.dll handle: 74be0000 size: 6144 crc: 25B988F9 date: 2009-07-14 01:16:12

---- gamelog start ----
Tick 0: New game
    Revision text changed to r25881M, savegame version 12, modified, newgrf version 0x14006519
    New game mode 2, landscape 0
    Game started
Tick 1280: Load game
    Game loaded
Tick 1280: GRF config change
    Added NewGRF: GRF ID 9787F281, checksum 56260884F5E55368FCE23C1B9A58B8C0, filename: Canada\CANames.grf (md5sum matches)
    GRF config change end
Tick 1280: GRF config change
    Added NewGRF: GRF ID 9787E281, checksum 9CB8B847CD9D190857E5C81D061A260D, filename: Canada\CanRail.grf (md5sum matches)
    GRF config change end
Tick 1280: GRF config change
    GRF parameter changed: GRF ID 9787E281, filename: Canada\CanRail.grf (md5sum matches)
    GRF config change end
Tick 1280: Setting 'construction.max_bridge_length' changed from 64 to 65
Tick 1280: Setting 'construction.max_bridge_length' changed from 65 to 66
Tick 1280: Setting 'construction.max_bridge_length' changed from 66 to 67
Tick 1280: Setting 'construction.max_bridge_length' changed from 67 to 68
Tick 1280: Setting 'construction.max_bridge_length' changed from 68 to 69
Tick 1280: Setting 'construction.max_bridge_length' changed from 69 to 70
Tick 1280: Setting 'construction.max_bridge_length' changed from 70 to 71
Tick 1280: Setting 'construction.max_bridge_length' changed from 71 to 72
Tick 1280: Setting 'construction.max_bridge_length' changed from 72 to 73
Tick 1280: Setting 'construction.max_bridge_length' changed from 73 to 74
Tick 1280: Setting 'construction.max_bridge_length' changed from 74 to 75
Tick 1280: Setting 'construction.max_bridge_length' changed from 75 to 76
Tick 1280: Setting 'construction.max_bridge_length' changed from 76 to 77
Tick 1280: Setting 'construction.max_bridge_length' changed from 77 to 78
Tick 1280: Setting 'construction.max_bridge_length' changed from 78 to 79
Tick 1280: Setting 'construction.max_bridge_length' changed from 79 to 80
Tick 1280: Setting 'construction.max_bridge_length' changed from 80 to 81
Tick 1280: Setting 'construction.max_bridge_length' changed from 81 to 82
Tick 1280: Setting 'construction.max_bridge_length' changed from 82 to 83
Tick 1280: Setting 'construction.max_bridge_length' changed from 83 to 84
Tick 1280: Setting 'construction.max_bridge_length' changed from 84 to 85
Tick 1280: Setting 'construction.max_bridge_length' changed from 85 to 86
Tick 1280: Setting 'construction.max_bridge_length' changed from 86 to 87
Tick 1280: Setting 'construction.max_bridge_length' changed from 87 to 88
Tick 1280: Setting 'construction.max_bridge_length' changed from 88 to 89
Tick 1280: Setting 'construction.max_bridge_length' changed from 89 to 90
Tick 1280: Setting 'construction.max_bridge_length' changed from 90 to 91
Tick 1280: Setting 'construction.max_bridge_length' changed from 91 to 92
Tick 1280: Setting 'construction.max_bridge_length' changed from 92 to 93
Tick 1280: Setting 'construction.max_bridge_length' changed from 93 to 94
Tick 1280: Setting 'construction.max_bridge_length' changed from 94 to 95
Tick 1280: Setting 'construction.max_bridge_length' changed from 95 to 96
Tick 1280: Setting 'construction.max_bridge_length' changed from 96 to 97
Tick 1280: Setting 'construction.max_bridge_length' changed from 97 to 98
Tick 1280: Setting 'construction.max_bridge_length' changed from 98 to 99
Tick 1280: Setting 'construction.max_bridge_length' changed from 99 to 100
Tick 1280: Setting 'construction.max_bridge_length' changed from 100 to 101
Tick 1280: Setting 'construction.max_bridge_length' changed from 101 to 102
Tick 1280: Setting 'construction.max_bridge_length' changed from 102 to 103
Tick 1280: Setting 'construction.max_bridge_length' changed from 103 to 104
Tick 1280: Setting 'construction.max_bridge_length' changed from 104 to 105
Tick 1280: Setting 'construction.max_bridge_length' changed from 105 to 106
Tick 1280: Setting 'construction.max_bridge_length' changed from 106 to 107
Tick 1280: Setting 'construction.max_bridge_length' changed from 107 to 108
Tick 1280: Setting 'construction.max_bridge_length' changed from 108 to 109
Tick 1280: Setting 'construction.max_bridge_length' changed from 109 to 110
Tick 1280: Setting 'construction.max_bridge_length' changed from 110 to 111
Tick 1280: Setting 'construction.max_bridge_length' changed from 111 to 112
Tick 1280: Setting 'construction.max_bridge_length' changed from 112 to 113
Tick 1280: Setting 'construction.max_bridge_length' changed from 113 to 114
Tick 1280: Setting 'construction.max_bridge_length' changed from 114 to 115
Tick 1280: Setting 'construction.max_bridge_length' changed from 115 to 116
Tick 1280: Setting 'construction.max_bridge_length' changed from 116 to 117
Tick 1280: Setting 'construction.max_bridge_length' changed from 117 to 118
Tick 1280: Setting 'construction.max_bridge_length' changed from 118 to 119
Tick 1280: Setting 'construction.max_bridge_length' changed from 119 to 120
Tick 1280: Setting 'construction.max_bridge_length' changed from 120 to 121
Tick 1280: Setting 'construction.max_bridge_length' changed from 121 to 122
Tick 1280: Setting 'construction.max_bridge_length' changed from 122 to 123
Tick 1280: Setting 'construction.max_bridge_length' changed from 123 to 124
Tick 1280: Setting 'construction.max_bridge_length' changed from 124 to 125
Tick 1280: Setting 'construction.max_bridge_length' changed from 125 to 126
Tick 1280: Setting 'construction.max_bridge_length' changed from 126 to 127
Tick 1280: Setting 'construction.max_bridge_length' changed from 127 to 128
Tick 1280: Setting 'construction.max_bridge_length' changed from 128 to 129
Tick 1280: Setting 'construction.max_bridge_length' changed from 129 to 130
Tick 1280: Setting 'construction.max_bridge_length' changed from 130 to 131
Tick 1280: Setting 'construction.max_bridge_length' changed from 131 to 132
Tick 1280: Setting 'construction.max_bridge_length' changed from 132 to 133
Tick 1280: Setting 'construction.max_bridge_length' changed from 133 to 134
Tick 1280: Setting 'construction.max_bridge_length' changed from 134 to 135
Tick 1280: Setting 'construction.max_bridge_length' changed from 135 to 136
Tick 1280: Setting 'construction.max_bridge_length' changed from 136 to 137
Tick 1280: Setting 'construction.max_bridge_length' changed from 137 to 138
Tick 1280: Setting 'construction.max_bridge_length' changed from 138 to 139
Tick 1280: Setting 'construction.max_bridge_length' changed from 139 to 140
Tick 1280: Setting 'construction.max_bridge_length' changed from 140 to 141
Tick 1280: Setting 'construction.max_bridge_length' changed from 141 to 142
Tick 1280: Setting 'construction.max_bridge_length' changed from 142 to 143
Tick 1280: Setting 'construction.max_bridge_length' changed from 143 to 144
Tick 1280: Setting 'construction.max_bridge_length' changed from 144 to 145
Tick 1280: Setting 'construction.max_bridge_length' changed from 145 to 146
Tick 1280: Setting 'construction.max_bridge_length' changed from 146 to 147
Tick 1280: Setting 'construction.max_bridge_length' changed from 147 to 148
Tick 1280: Setting 'construction.max_bridge_length' changed from 148 to 149
Tick 1280: Setting 'construction.max_bridge_length' changed from 149 to 150
Tick 1280: Setting 'construction.max_bridge_length' changed from 150 to 151
Tick 1280: Setting 'construction.max_bridge_length' changed from 151 to 152
Tick 1280: Setting 'construction.max_bridge_length' changed from 152 to 153
Tick 1280: Setting 'construction.max_bridge_length' changed from 153 to 154
Tick 1280: Setting 'construction.max_bridge_length' changed from 154 to 155
Tick 1280: Setting 'construction.max_bridge_length' changed from 155 to 156
Tick 1280: Setting 'construction.max_bridge_length' changed from 156 to 157
Tick 1280: Setting 'construction.max_bridge_length' changed from 157 to 158
Tick 1280: Setting 'construction.max_bridge_length' changed from 158 to 159
Tick 1280: Setting 'construction.max_bridge_length' changed from 159 to 160
Tick 1280: Setting 'construction.max_bridge_length' changed from 160 to 161
Tick 1280: Setting 'construction.max_bridge_length' changed from 161 to 162
Tick 1280: Setting 'construction.max_bridge_length' changed from 162 to 163
Tick 1280: Setting 'construction.max_bridge_length' changed from 163 to 164
Tick 1280: Setting 'construction.max_bridge_length' changed from 164 to 165
Tick 1280: Setting 'construction.max_bridge_length' changed from 165 to 166
Tick 1280: Setting 'construction.max_bridge_length' changed from 166 to 167
Tick 1280: Setting 'construction.max_bridge_length' changed from 167 to 168
Tick 1280: Setting 'construction.max_bridge_length' changed from 168 to 169
Tick 1280: Setting 'construction.max_bridge_length' changed from 169 to 170
Tick 1280: Setting 'construction.max_bridge_length' changed from 170 to 171
Tick 1280: Setting 'construction.max_bridge_length' changed from 171 to 172
Tick 1280: Setting 'construction.max_bridge_length' changed from 172 to 173
Tick 1280: Setting 'construction.max_bridge_length' changed from 173 to 174
Tick 1280: Setting 'construction.max_bridge_length' changed from 174 to 175
Tick 1280: Setting 'construction.max_bridge_length' changed from 175 to 176
Tick 1280: Setting 'construction.max_bridge_length' changed from 176 to 177
Tick 1280: Setting 'construction.max_bridge_length' changed from 177 to 178
Tick 1280: Setting 'construction.max_bridge_length' changed from 178 to 179
Tick 1280: Setting 'construction.max_bridge_length' changed from 179 to 180
Tick 1280: Setting 'construction.max_bridge_length' changed from 180 to 181
Tick 1280: Setting 'construction.max_bridge_length' changed from 181 to 182
Tick 1280: Setting 'construction.max_bridge_length' changed from 182 to 183
Tick 1280: Setting 'construction.max_bridge_length' changed from 183 to 184
Tick 1280: Setting 'construction.max_bridge_length' changed from 184 to 185
Tick 1280: Setting 'construction.max_bridge_length' changed from 185 to 186
Tick 1280: Setting 'construction.max_bridge_length' changed from 186 to 187
Tick 1280: Setting 'construction.max_bridge_length' changed from 187 to 188
Tick 1280: Setting 'construction.max_bridge_length' changed from 188 to 189
Tick 1280: Setting 'construction.max_bridge_length' changed from 189 to 190
Tick 1280: Setting 'construction.max_bridge_length' changed from 190 to 191
Tick 1280: Setting 'construction.max_bridge_length' changed from 191 to 192
Tick 1280: Setting 'construction.max_bridge_length' changed from 192 to 193
Tick 1280: Setting 'construction.max_bridge_length' changed from 193 to 194
Tick 1280: Setting 'construction.max_bridge_length' changed from 194 to 195
Tick 1280: Setting 'construction.max_bridge_length' changed from 195 to 196
Tick 1280: Setting 'construction.max_bridge_length' changed from 196 to 197
Tick 1280: Setting 'construction.max_bridge_length' changed from 197 to 198
Tick 1280: Setting 'construction.max_bridge_length' changed from 198 to 199
Tick 1280: Setting 'construction.max_bridge_length' changed from 199 to 200
Tick 1280: Setting 'construction.max_bridge_length' changed from 200 to 201
Tick 1280: Setting 'construction.max_bridge_length' changed from 201 to 202
Tick 1280: Setting 'construction.max_bridge_length' changed from 202 to 203
Tick 1280: Setting 'construction.max_bridge_length' changed from 203 to 204
Tick 1280: Setting 'construction.max_bridge_length' changed from 204 to 205
Tick 1280: Setting 'construction.max_bridge_length' changed from 205 to 206
Tick 1280: Setting 'construction.max_bridge_length' changed from 206 to 207
Tick 1280: Setting 'construction.max_bridge_length' changed from 207 to 208
Tick 1280: Setting 'construction.max_bridge_length' changed from 208 to 209
Tick 1280: Setting 'construction.max_bridge_length' changed from 209 to 210
Tick 1280: Setting 'construction.max_bridge_length' changed from 210 to 211
Tick 1280: Setting 'construction.max_bridge_length' changed from 211 to 212
Tick 1280: Setting 'construction.max_bridge_length' changed from 212 to 213
Tick 1280: Setting 'construction.max_bridge_length' changed from 213 to 214
Tick 1280: Setting 'construction.max_bridge_length' changed from 214 to 215
Tick 1280: Setting 'construction.max_bridge_length' changed from 215 to 216
Tick 1280: Setting 'construction.max_bridge_length' changed from 216 to 217
Tick 1280: Setting 'construction.max_bridge_length' changed from 217 to 218
Tick 1280: Setting 'construction.max_bridge_length' changed from 218 to 219
Tick 1280: Setting 'construction.max_bridge_length' changed from 219 to 220
Tick 1280: Setting 'construction.max_bridge_length' changed from 220 to 221
Tick 1280: Setting 'construction.max_bridge_length' changed from 221 to 222
Tick 1280: Setting 'construction.max_bridge_length' changed from 222 to 223
Tick 1280: Setting 'construction.max_bridge_length' changed from 223 to 224
Tick 1280: Setting 'construction.max_bridge_length' changed from 224 to 225
Tick 1280: Setting 'construction.max_bridge_length' changed from 225 to 226
Tick 1280: Setting 'construction.max_bridge_length' changed from 226 to 227
Tick 1280: Setting 'construction.max_bridge_length' changed from 227 to 228
Tick 1280: Setting 'construction.max_bridge_length' changed from 228 to 229
Tick 1280: Setting 'construction.max_bridge_length' changed from 229 to 230
Tick 1280: Setting 'construction.max_bridge_length' changed from 230 to 231
Tick 1280: Setting 'construction.max_bridge_length' changed from 231 to 232
Tick 1280: Setting 'construction.max_bridge_length' changed from 232 to 233
Tick 1280: Setting 'construction.max_bridge_length' changed from 233 to 234
Tick 1280: Setting 'construction.max_bridge_length' changed from 234 to 235
Tick 1280: Setting 'construction.max_bridge_length' changed from 235 to 236
Tick 1280: Setting 'construction.max_bridge_length' changed from 236 to 237
Tick 1280: Setting 'construction.max_bridge_length' changed from 237 to 238
Tick 1280: Setting 'construction.max_bridge_length' changed from 238 to 239
Tick 1280: Setting 'construction.max_bridge_length' changed from 239 to 240
Tick 1280: Setting 'construction.max_bridge_length' changed from 240 to 241
Tick 1280: Setting 'construction.max_bridge_length' changed from 241 to 242
Tick 1280: Setting 'construction.max_bridge_length' changed from 242 to 243
Tick 1280: Setting 'construction.max_bridge_length' changed from 243 to 244
Tick 1280: Setting 'construction.max_bridge_length' changed from 244 to 245
Tick 1280: Setting 'construction.max_bridge_length' changed from 245 to 246
Tick 1280: Setting 'construction.max_bridge_length' changed from 246 to 247
Tick 1280: Setting 'construction.max_bridge_length' changed from 247 to 248
Tick 1280: Setting 'construction.max_bridge_length' changed from 248 to 249
Tick 1280: Setting 'construction.max_bridge_length' changed from 249 to 250
Tick 1280: Setting 'construction.max_bridge_length' changed from 250 to 251
Tick 1280: Setting 'construction.max_bridge_length' changed from 251 to 252
Tick 1280: Setting 'construction.max_bridge_length' changed from 252 to 253
Tick 1280: Setting 'construction.max_bridge_length' changed from 253 to 254
Tick 1280: Setting 'construction.max_bridge_length' changed from 254 to 255
Tick 1280: Setting 'construction.max_bridge_length' changed from 255 to 256
Tick 1280: Setting 'construction.max_bridge_length' changed from 256 to 257
Tick 1280: Setting 'construction.max_bridge_length' changed from 257 to 258
Tick 1280: Setting 'construction.max_bridge_length' changed from 258 to 257
Tick 1280: Setting 'construction.max_bridge_length' changed from 257 to 256
Tick 1280: GRF config change
    Added NewGRF: GRF ID 9787EC81, checksum 7993F9B9605F350D47E55C6A8428D4E3, filename: Canada\CanCity.grf (md5sum matches)
    Added NewGRF: GRF ID 9787F881, checksum 1D0A4303BC88D9BBFC8E0DCCBCD5E4D7, filename: Canada\bridges\CanBriw.grf (md5sum matches)
    Added NewGRF: GRF ID 9787F081, checksum 517DC59C264EF860B838480BD499CC61, filename: Canada\BKTunnel.grf (md5sum matches)
    Added NewGRF: GRF ID 57429998, checksum D156F7E73828FFE1DD15450EFD18C89B, filename: Canada\web\BandStand.grf (md5sum matches)
    Added NewGRF: GRF ID 52453C00, checksum C5B4EC240B33E2DB8D1EA64C97898B5E, filename: Canada\old0_3\stolentreesw_162.grf (md5sum matches)
    Removed NewGRF: GRF ID 9787E281, filename: Canada\CanRail.grf (md5sum matches)
    GRF config change end
Tick 1280: GRF config change
    Added NewGRF: GRF ID 9787F481, checksum FAAF07858CCDAE1F4DD8E64089514EF3, filename: Canada\CanRoads.grf (md5sum matches)
    GRF config change end
Tick 1280: GRF config change
    Added NewGRF: GRF ID 57425131, checksum 60FFAA44A8892E2D4A499730BA315270, filename: TTD_landscapew4.grf (md5sum matches)
    GRF config change end
Tick 1280: GRF config change
    Added NewGRF: GRF ID 9787E281, checksum 9CB8B847CD9D190857E5C81D061A260D, filename: Canada\CanRail.grf (md5sum matches)
    GRF config change end
Tick 1280: Load game
    Revision text changed to r25917M, savegame version 15, modified, newgrf version 0x1400653d
    Missing NewGRF: GRF ID 9787F281, filename: Canada\CANames.grf (md5sum matches)
    Missing NewGRF: GRF ID 9787EC81, filename: Canada\CanCity.grf (md5sum matches)
    Missing NewGRF: GRF ID 9787F481, filename: Canada\CanRoads.grf (md5sum matches)
    Missing NewGRF: GRF ID 9787F881, filename: Canada\bridges\CanBriw.grf (md5sum matches)
    Missing NewGRF: GRF ID 9787F081, filename: Canada\BKTunnel.grf (md5sum matches)
    Missing NewGRF: GRF ID 57429998, filename: Canada\web\BandStand.grf (md5sum matches)
    Missing NewGRF: GRF ID 52453C00, filename: Canada\old0_3\stolentreesw_162.grf (md5sum matches)
    Missing NewGRF: GRF ID 57425131, filename: TTD_landscapew4.grf (md5sum matches)
    Missing NewGRF: GRF ID 9787E281, filename: Canada\CanRail.grf (md5sum matches)
    Game loaded
Tick 1280: GRF config change
    Added NewGRF: GRF ID 9787F281, checksum 56260884F5E55368FCE23C1B9A58B8C0, filename: Canada\CANames.grf (md5sum matches)
    Added NewGRF: GRF ID 9787EC81, checksum 7993F9B9605F350D47E55C6A8428D4E3, filename: Canada\CanCity.grf (md5sum matches)
    Added NewGRF: GRF ID 9787E281, checksum 9CB8B847CD9D190857E5C81D061A260D, filename: Canada\CanRail.grf (md5sum matches)
    Added NewGRF: GRF ID 9787F481, checksum FAAF07858CCDAE1F4DD8E64089514EF3, filename: Canada\CanRoads.grf (md5sum matches)
    Added NewGRF: GRF ID 9787F881, checksum 1D0A4303BC88D9BBFC8E0DCCBCD5E4D7, filename: Canada\bridges\CanBriw.grf (md5sum matches)
    Added NewGRF: GRF ID 9787F081, checksum 517DC59C264EF860B838480BD499CC61, filename: Canada\BKTunnel.grf (md5sum matches)
    Added NewGRF: GRF ID 9787EA81, checksum 344D22B14325AA88CA1D7B1272C1A7AC, filename: Canada\CanStn.grf (md5sum matches)
    Added NewGRF: GRF ID 4A430002, checksum 634B23C8B408E57EA486E8EE7F54EBB5, filename: ISR\indstatr090.grf (md5sum matches)
    Added NewGRF: GRF ID 4D666F01, checksum 1C3723AAE56C6648B61BC211EA344835, filename: INFRA\stolentreesw2.grf (md5sum matches)
    Added NewGRF: GRF ID 57429998, checksum D156F7E73828FFE1DD15450EFD18C89B, filename: Canada\web\BandStand.grf (md5sum matches)
    Added NewGRF: GRF ID 57425131, checksum 60FFAA44A8892E2D4A499730BA315270, filename: TTD_landscapew4.grf (md5sum matches)
    Added NewGRF: GRF ID 52571201, checksum 611EF5A5B4D7F63B9D72DA57EA68EAAC, filename: grvts_1_4.grf (md5sum matches)
    Added NewGRF: GRF ID 41501202, checksum 7FD3A30F749BFA5D5E1DF61326AD9B08, filename: heqs_heavy_equipment_set-1.5.1\heqs.grf (md5sum matches)
    Added NewGRF: GRF ID 9787F681, checksum A8FE0813F93417C420811D97F14A96A8, filename: Canada\streams\NAWaterw.grf (md5sum matches)
    Added NewGRF: GRF ID 414E0101, checksum 5D665C64693A438E3046C22666F46E08, filename: fish_ship_set-0.9.2\fish.grf (md5sum matches)
    Added NewGRF: GRF ID 44440A01, checksum FCEEC76CF44EC23E7FE9C88048CF11CC, filename: av8_aviators_aircraft_set-2.21\pb_av8w.grf (md5sum matches)
    Added NewGRF: GRF ID 504A0101, checksum ADDF703DE6EB7374A509202CB20B9840, filename: seaplaneairport-1.3\seaplaneairport_v1_3.grf (md5sum matches)
    Added NewGRF: GRF ID 57421020, checksum 60F484D484509BB3ACF584112BE66694, filename: tilegrid2_0.grf (md5sum matches)
    GRF config change end
Tick 1280: GRF config change
    GRF parameter changed: GRF ID 9787EC81, filename: Canada\CanCity.grf (md5sum matches)
    GRF parameter changed: GRF ID 9787E281, filename: Canada\CanRail.grf (md5sum matches)
    GRF parameter changed: GRF ID 9787F481, filename: Canada\CanRoads.grf (md5sum matches)
    GRF parameter changed: GRF ID 9787EA81, filename: Canada\CanStn.grf (md5sum matches)
    GRF parameter changed: GRF ID 4A430002, filename: ISR\indstatr090.grf (md5sum matches)
    GRF parameter changed: GRF ID 41501202, filename: heqs_heavy_equipment_set-1.5.1\heqs.grf (md5sum matches)
    GRF config change end
Tick 1280: Load game
    Game loaded
Tick 1280: Load game
    Game loaded
Tick 1280: GRF config change
GRF order changed: 9787E281 moved 1 places down, GRF ID 9787E281, filename: Canada\CanRail.grf (md5sum matches)
    GRF parameter changed: GRF ID 9787F481, filename: Canada\CanRoads.grf (md5sum matches)
GRF order changed: 9787F881 moved 1 places down, GRF ID 9787F881, filename: Canada\bridges\CanBriw.grf (md5sum matches)
    Compatible NewGRF loaded: GRF ID 9787EA81, checksum 7B141BC37982C9E1DC86C9FC733580F2, filename: canadian stations v1.6\canstn.grf (md5sum matches)
    GRF parameter changed: GRF ID 9787EA81, filename: canadian stations v1.6\canstn.grf (md5sum matches)
    Compatible NewGRF loaded: GRF ID 4A430002, checksum 09C5737D50ADE23D83C6B7479A4DDCFA, filename: ISR\indstatr.grf (md5sum matches)
GRF order changed: 9787F681 moved 5 places up, GRF ID 9787F681, filename: Canada\streams\NAWaterw.grf (md5sum matches)
GRF order changed: 57425131 moved 2 places up, GRF ID 57425131, filename: TTD_landscapew4.grf (md5sum matches)
GRF order changed: 57429998 moved 6 places down, GRF ID 57429998, filename: Canada\web\BandStand.grf (md5sum matches)
    GRF parameter changed: GRF ID 41501202, filename: heqs_heavy_equipment_set-1.5.1\heqs.grf (md5sum matches)
    Added NewGRF: GRF ID 44440701, checksum 34FCA0AC908DB002C4251D894A3D3308, filename: arcticfishboat.grf (md5sum matches)
    GRF config change end
Tick 1280: GRF config change
    GRF config change end
Tick 1280: GRF config change
    GRF config change end
Tick 1280: Load game
    Game loaded
---- gamelog end ----

*** End of OpenTTD Crash Report ***
Supercheese
Tycoon
Tycoon
Posts: 1660
Joined: 16 Dec 2007 22:24
Location: Idaho, USA

Re: New map features

Post by Supercheese »

cirdan wrote:It might be the case. Could you please try replacing

Code: Select all

std::unique_ptr
with

Code: Select all

std::tr1::unique_ptr
in lines 61 and 63 of src/gamelog.h and compiling again? Those are the only occurrences of unique_ptr in the sources, and I have seen reports that MSVC still has unique_ptr under the std::tr1 namespace, but not under std yet.
Unfortunately that did not help. It seems I need to upgrade my compiler... :?
Eyecandy Road Vehicles | Fake Subways | Supercheese's NewObjects

"Fashions and cultures change, but steam trains shall always be majestic."
-Professor Hershel Layton
Eddi
Tycoon
Tycoon
Posts: 8258
Joined: 17 Jan 2007 00:14

Re: New map features

Post by Eddi »

wallyweb wrote: Tick 1280: Setting 'construction.max_bridge_length' changed from 64 to 65
you realize that you can just click on the setting to enter a number, instead of clicking the "up" button 200 times, right?
Supercheese
Tycoon
Tycoon
Posts: 1660
Joined: 16 Dec 2007 22:24
Location: Idaho, USA

Re: New map features

Post by Supercheese »

Well, I upgraded to Visual Studio Express 2012, and now I get different errors (although fewer of them, so I guess that's a plus).

Code: Select all

error C2070: 'unknown': illegal sizeof operand
error C2597: illegal reference to non-static member 'GameSaveload::name'
error C3867: 'GameSaveload::name': function call missing argument list; use '&GameSaveload::name' to create a pointer to member
error C2109: subscript requires array or pointer type
error C2078: too many initializers
error C2440: 'initializing' : cannot convert from 'void *' to 'uint16'
error C2070: 'unknown': illegal sizeof operand
error C2597: illegal reference to non-static member 'GameSaveload::settings'
error C3867: 'GameSaveload::settings': function call missing argument list; use '&GameSaveload::settings' to create a pointer to member
error C2109: subscript requires array or pointer type
error C2440: 'initializing' : cannot convert from 'void *' to 'uint16'
error C2070: 'unknown': illegal sizeof operand
error C2597: illegal reference to non-static member 'AiSaveload::name'
error C3867: 'AiSaveload::name': function call missing argument list; use '&AiSaveload::name' to create a pointer to member
error C2109: subscript requires array or pointer type
error C2078: too many initializers
error C2440: 'initializing' : cannot convert from 'void *' to 'uint16'
error C2070: 'unknown': illegal sizeof operand
error C2597: illegal reference to non-static member 'AiSaveload::settings'
error C3867: 'AiSaveload::settings': function call missing argument list; use '&AiSaveload::settings' to create a pointer to member
error C2109: subscript requires array or pointer type
error C2440: 'initializing' : cannot convert from 'void *' to 'uint16'
These errors all occur in game_sl.cpp and ai_sl.cpp, at lines 32-34:

Code: Select all

static const SaveLoad _ai_company[] = {
	SLE_STR(AiSaveload, name,        SLS_STRB, lengthof(AiSaveload::name)),
	SLE_STR(AiSaveload, settings,    SLS_STRB, lengthof(AiSaveload::settings)),
	SLE_VAR(AiSaveload, version,   SLE_UINT32, 0, , 108, ),
	SLE_VAR(AiSaveload, is_random,   SLE_BOOL, 0, , 136, ),
	SLE_END()
};

Code: Select all

static const SaveLoad _game_script[] = {
	     SLE_STR(GameSaveload, name,        SLS_STRB, lengthof(GameSaveload::name)),
	     SLE_STR(GameSaveload, settings,    SLS_STRB, lengthof(GameSaveload::settings)),
	     SLE_VAR(GameSaveload, version,   SLE_UINT32),
	     SLE_VAR(GameSaveload, is_random,   SLE_BOOL),
	     SLE_END()
};
The compiler appears to not like the lengthof() calls. Changing the "name" and "settings" to be static in the structs allows compilation to proceed:

Code: Select all

struct AiSaveload {
	static char name[64];
	static char settings[1024];
	int  version;
	bool is_random;
	CompanyID id;
};

Code: Select all

struct GameSaveload {
	static char name[64];
	static char settings[1024];
	int version;
	bool is_random;
};
...but then throws many unresolved external symbol errors:

Code: Select all

error LNK2001: unresolved external symbol "public: static char * AiSaveload::name" (?name@AiSaveload@@2PADA)	
error LNK2001: unresolved external symbol "public: static char * AiSaveload::settings" (?settings@AiSaveload@@2PADA)	
error LNK2001: unresolved external symbol "public: static char * GameSaveload::name" (?name@GameSaveload@@2PADA)	
error LNK2001: unresolved external symbol "public: static char * GameSaveload::settings" (?settings@GameSaveload@@2PADA)	
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryStarted::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryStarted@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryGRFParam::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryGRFParam@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryGRFAdd::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryGRFAdd@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryGRFRemove::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryGRFRemove@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryCheat::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryCheat@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryLoaded::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryLoaded@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryOldVer::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryOldVer@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryLegacyRev::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryLegacyRev@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryGRFCompat::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryGRFCompat@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryMode::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryMode@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryGRFBug::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryGRFBug@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryGRFEnd::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryGRFEnd@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryGRFBegin::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryGRFBegin@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryLoad::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryLoad@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryEmergency::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryEmergency@@UAEXPAUGamelogPrintBuffer@@@Z
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryGRFMove::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryGRFMove@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntryStart::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntryStart@@UAEXPAUGamelogPrintBuffer@@@Z)
error LNK2001: unresolved external symbol "public: virtual void __thiscall GamelogEntrySetting::Print(struct GamelogPrintBuffer *)" (?Print@GamelogEntrySetting@@UAEXPAUGamelogPrintBuffer@@@Z)
From here I'm not sure what to do...
Eyecandy Road Vehicles | Fake Subways | Supercheese's NewObjects

"Fashions and cultures change, but steam trains shall always be majestic."
-Professor Hershel Layton
User avatar
wallyweb
Tycoon
Tycoon
Posts: 6102
Joined: 27 Nov 2004 15:05
Location: Canada

Re: New map features

Post by wallyweb »

Eddi wrote:... you realize that you can just click on the setting to enter a number, instead of clicking the "up" button 200 times, right?
Huh? OTTD counts my mouse clicks? I thought only the NSA (hi boys) and nepharious key loggers did stuff like that.

/me clicks on bridge length value and SURPRISE! SURPRISE! A text box appears! :mrgreen:

Thanks for pointing me to that. My mouse left button thanks you and my right index finger thanks you. :bow:

@cirdan - I compiled a plain vanilla unpatched r25917 and the crash issue goes away.
Also, the issue seems to only occur when building oil rigs.
Note that i tested both with and without GRFs. The problem remained.

@Supercheese - Could our issues be related?
User avatar
cirdan
Director
Director
Posts: 539
Joined: 07 Apr 2007 18:08

Re: New map features

Post by cirdan »

ipsirc wrote:
cirdan wrote: Multiple docks per station. This is a pet feature of mine that I wanted to have for a very long time, and now I have got around to implementing it.
Could we get the multiple docks as a seperate patch? I've also waited for this for a long time. :)
Well, if you are going to patch the sources, why not go with the full patch? No feature in it is forced upon you; you can just play without custom bridgeheads, signals in tunnels or any other addition.
wallyweb wrote:CRASH REPORT
Is it the diff, the compile or me?

This has happened a couple of times while trying to unpause in the Scenario editor and in a game (same scenario).
Now it is happening in the Scenatio editor when I try to build two or more oil rigs.
The Crash reason is the same.
The scenario was created in r25917M. I tried it as a game in 1.3.1 stable and got the same crash.
wallyweb wrote:I compiled a plain vanilla unpatched r25917 and the crash issue goes away.
Also, the issue seems to only occur when building oil rigs.
Note that i tested both with and without GRFs. The problem remained.
Aye, I introduced a bug in BuildOilRig when adding support for multiple docks per station. I forgot to add a check that the oilrig dock can be allocated, as I did for stations, and the pool code complains loudly. The attached patch should fix this.
Supercheese wrote:
cirdan wrote:It might be the case. Could you please try replacing

Code: Select all

std::unique_ptr
with

Code: Select all

std::tr1::unique_ptr
in lines 61 and 63 of src/gamelog.h and compiling again? Those are the only occurrences of unique_ptr in the sources, and I have seen reports that MSVC still has unique_ptr under the std::tr1 namespace, but not under std yet.
Unfortunately that did not help. It seems I need to upgrade my compiler... :?
Did you get the same errors? It seems that I will have to get access to a MSVC compiler to avoid these issues in the future.
Supercheese wrote:Well, I upgraded to Visual Studio Express 2012, and now I get different errors (although fewer of them, so I guess that's a plus).
I seem to recall reading somewhere in the forums that MSVC 2012 does not compile openttd trunk either. Could you please check if you get the same errors there?
Attachments
nma-r25917.diff.gz
(599.74 KiB) Downloaded 112 times
Supercheese
Tycoon
Tycoon
Posts: 1660
Joined: 16 Dec 2007 22:24
Location: Idaho, USA

Re: New map features

Post by Supercheese »

cirdan wrote:
Supercheese wrote:Well, I upgraded to Visual Studio Express 2012, and now I get different errors (although fewer of them, so I guess that's a plus).
I seem to recall reading somewhere in the forums that MSVC 2012 does not compile openttd trunk either. Could you please check if you get the same errors there?
Unmodified OTTD r25917 compiles fine for me... :|
Eyecandy Road Vehicles | Fake Subways | Supercheese's NewObjects

"Fashions and cultures change, but steam trains shall always be majestic."
-Professor Hershel Layton
User avatar
wallyweb
Tycoon
Tycoon
Posts: 6102
Joined: 27 Nov 2004 15:05
Location: Canada

Re: New map features

Post by wallyweb »

cirdan wrote:The attached patch should fix this.
Indeed it did. :D
Peak oil is no longer a problem in my games and scenarios.
The attached binary should demonstrate this. :D
OTTDRelease25917M2-Win32.7z
(5.09 MiB) Downloaded 116 times
WARNING: The Al Gore Carbon Credit patch is not supported. :mrgreen:
User avatar
cirdan
Director
Director
Posts: 539
Joined: 07 Apr 2007 18:08

Re: New map features

Post by cirdan »

Supercheese wrote:Unmodified OTTD r25917 compiles fine for me... :|
From the log you posted with MSVC 2012, the compiler seems to dislike applying the sizeof operator to a non-static member array. I could try to look up the relevant parts of the standard to see if this is valid or not, but that would not help you anyway: telling you that the compiler is at fault will not make the code compile. But, at the very least, considering that previous versions worked just fine, I would call it a regression.

Anyway, let us try to get it working. If those are the only errors you get, you should be able to fix them by explicitly stating the lengths of the arrays. Changing 'lengthof(AiSaveload::name)' to '64' and 'lengthof(AiSaveload::settings)' to '1024' in _ai_company, and similarly in _game_script, should allow the compilation to proceed.
Supercheese
Tycoon
Tycoon
Posts: 1660
Joined: 16 Dec 2007 22:24
Location: Idaho, USA

Re: New map features

Post by Supercheese »

ipsirc wrote:
cirdan wrote: Multiple docks per station. This is a pet feature of mine that I wanted to have for a very long time, and now I have got around to implementing it.
Could we get the multiple docks as a seperate patch? I've also waited for this for a long time. :)

Aren't you planing about a multiple airports (airport + helipad) patch? :roll: Even the largest airports can only handle 2 helicopters. It doesn't fit my zeppelin based transportation. :lol:
I, too, would like the multiple docks per station patch separately. Also, zeppelins are indeed the best method of transport. 8)
Eyecandy Road Vehicles | Fake Subways | Supercheese's NewObjects

"Fashions and cultures change, but steam trains shall always be majestic."
-Professor Hershel Layton
User avatar
FLHerne
Tycoon
Tycoon
Posts: 1543
Joined: 12 Jul 2011 12:09
Location: St Ives, Cambs, UK

Re: New map features

Post by FLHerne »

Supercheese wrote:
ipsirc wrote:
cirdan wrote: Multiple docks per station. This is a pet feature of mine that I wanted to have for a very long time, and now I have got around to implementing it.
Could we get the multiple docks as a seperate patch? I've also waited for this for a long time. :)

Aren't you planing about a multiple airports (airport + helipad) patch? :roll: Even the largest airports can only handle 2 helicopters. It doesn't fit my zeppelin based transportation. :lol:
I, too, would like the multiple docks per station patch separately. Also, zeppelins are indeed the best method of transport. 8)
Can I third this? A separate patch would almost certainly be far easier to work into my little patchpack than your enormous thing - I'd probably just have to start from scratch for that.

Could also give it a better chance of trunk inclusion - looks like several of the smaller changes already got in?
Temporary Permanent signature filling text. Content coming soon delayed indefinitely! Oh, and I have had a screenshot thread.
Linux user (XMonad DWM/KDE, Arch), IRC obsessive and rail enthusiast. No longer building robots; now I ring church bells.
Author of an incredibly boring stickied post about NewGRFs.
User avatar
cirdan
Director
Director
Posts: 539
Joined: 07 Apr 2007 18:08

Re: New map features

Post by cirdan »

FLHerne wrote:
Supercheese wrote:I, too, would like the multiple docks per station patch separately. Also, zeppelins are indeed the best method of transport. 8)
Can I third this? A separate patch would almost certainly be far easier to work into my little patchpack than your enormous thing - I'd probably just have to start from scratch for that.
Unfortunately, adding the possibility of multiple docks per station requires some changes to the pathfinders, and all three of them (remember--there are three pathfinders for ships) underwent massive changes when I added custom bridgeheads. Plus there are many other, more recent changes in other parts of the code which make cherry-picking the relevant commits highly non-trivial.

I am attaching the whole branch I currently have, if anyone is interested in trying themselves. Apply on top of r25808 with 'git am'; the last 5 commits implement multiple docks per station. Be prepared for heavy merge conflicts, though. (I should really find a place to publish my branch and post changes, to stop spamming the forum with huge attachments.)
FLHerne wrote:Could also give it a better chance of trunk inclusion - looks like several of the smaller changes already got in?
Yes, Lord Aro took it upon himself to push some patches to the devs. He has managed to merge 10 of my patches in openttd; in the meantime, my branch has grown by 50. I do not think this pattern will converge...

On a related note, I have begun implementing cargo selection at stations to be added to my branch. Currently, cargo can be chosen to be automatically gathered at all stations or only at those stations already visited by a vehicle capable of loading a particular cargo type, and this works on a game-global scale. My plan is to give players the ability to manually select which cargoes to gather at each station, so you can start collecting cargo before a vehicle arrives, or stop accepting it after that.

I have more or less sorted all the technical details, but I would like input on the user interface and some other details for this feature. As of now, companies have a setting for station cargo gathering, which can take the following values:
  • Always: Any cargo is delivered to any station within range.
  • Automatic: Cargo is only supplied to stations marked to accept the particular cargo type; stations initially accept no cargo; a cargo type can be manually toggled to be accepted or not; a vehicle trying to load cargo triggers supply at the station.
  • Manual: Cargo is only supplied to stations marked to accept the particular cargo type; stations initially accept no cargo; a cargo type can be manually toggled to be accepted or not; no automatic change ever happens.
Also, each company has its own value for this setting; the attached screenshots should give you an idea of how it works.

The first issue is whether this system matches what people would expect. If you have ever wanted such a feature, would the above meet your needs?

The second issue is what to do with neutral stations (eg oilrigs). Should the server be left to decide, or should their behaviour be hardcoded, and to what?

The third issue is the user interface. Is it intuitive? Can you think of something better? Are texts and descriptions clear enough?

Any feedback is welcome.
Attachments
nma-r25808+840.patch.gz
(1.37 MiB) Downloaded 128 times
select-station.png
select-station.png (6.93 KiB) Viewed 4558 times
select-setting.png
select-setting.png (14.02 KiB) Viewed 4558 times
User avatar
Lord Aro
Tycoon
Tycoon
Posts: 2369
Joined: 25 Jun 2009 16:42
Location: Location, Location
Contact:

Re: New map features

Post by Lord Aro »

cirdan wrote:(I should really find a place to publish my branch and post changes, to stop spamming the forum with huge attachments.)
Have you considered an openttdcoop devzone repo? They're relatively easy to set up
cirdan wrote:
FLHerne wrote:Could also give it a better chance of trunk inclusion - looks like several of the smaller changes already got in?
Yes, Lord Aro took it upon himself to push some patches to the devs. He has managed to merge 10 of my patches in openttd; in the meantime, my branch has grown by 50. I do not think this pattern will converge...
If you'd hop on irc at some point, you can help the devs in explaining your rationale behind some of the patches ;)

And yes, i understand that this is somewhat of an uphill battle ;)

EDIT: I'll elaborate a bit further:
The main problem the devs have with your patches is that there seems to be several patch queues intertwined. For example, it is not clear how the saveload changes are relevant to the goal of the new map array. The devs don't like change for the sake of change.
AroAI - A really feeble attempt at an AI

It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. --Edsger Dijkstra
Post Reply

Return to “OpenTTD Development”

Who is online

Users browsing this forum: Amazon [Bot] and 6 guests