Minor 'Bug': Observe Mode Map Grid uses City Outline

You can get help here if Freeciv doesn't start on your computer, or if you keep getting fatal errors while playing etc.
Post Reply
User avatar
GriffonSpade
Elite
Posts: 578
Joined: Mon Apr 29, 2013 4:41 pm

Minor 'Bug': Observe Mode Map Grid uses City Outline

Post by GriffonSpade »

Client - Severity 2 - Minor
While in observation mode, map grid currently uses grid.city.xx(city outline) references rather than grid.main.xx(map grid)

This is to no particular detriment in tilesets where the two are identical other than being black or white.

However, in some tilesets the city outline may be bolder and more disruptive than the normal map grid and thus inappropriate.
Specifically, I encountered this when switching to Battle For Wesnoth style transparent map grid in AmplioHexBig.

Solution:
-add separate observe mode map grid references (ie grid.observe.xx)[New art not necessarily required, but rather simply additions to the various grid.spec files]

Other Possible Solution:
-switch observe mode map grid to use the normal map grid sprites, rather than city outline
cazfi
Elite
Posts: 3077
Joined: Tue Jan 29, 2013 6:54 pm

Re: Minor 'Bug': Observe Mode Map Grid uses City Outline

Post by cazfi »

(Reading the source, not running freeciv,) I don't see observe mode affecting this any way. The only cases where grid.main and grid.city are used are:

1) If 'map grid' drawing is enabled, and the edge is within city area, grid.city is drawn.
2) if 'map grid' drawing is enabled, and the edge is not within city area, grid.main is drawn.
3) If 'city outline' drawing is enabled, and the edge is between city and no-city tile, grid.city is drawn.

You can have only one of 1 & 2, but either can happen at the same time with 3.
User avatar
GriffonSpade
Elite
Posts: 578
Joined: Mon Apr 29, 2013 4:41 pm

Re: Minor 'Bug': Observe Mode Map Grid uses City Outline

Post by GriffonSpade »

Had an image showing it, but no longer necessary.
Note that in observe mode, city outlines option doesn't do anything at all.
...Except draw a line around the out-of-bounds areas of the map.

So it's considering the whole map as within a city while in observe mode. Same result, different cause.

Could this be related to the fact that in taken mode, other nations' cities are not displayed with an outline or as being a city?
In observe mode, should it draw everyone's cities or noone's?
User avatar
GriffonSpade
Elite
Posts: 578
Joined: Mon Apr 29, 2013 4:41 pm

Re: Minor 'Bug': Observe Mode Map Grid uses City Outline

Post by GriffonSpade »

Unsurprisingly, bug is also present in 2.6 alpha r32928.

That is, the bug is that in observe mode the map grid considers the whole map as part of a city.
cazfi
Elite
Posts: 3077
Joined: Tue Jan 29, 2013 6:54 pm

Re: Minor 'Bug': Observe Mode Map Grid uses City Outline

Post by cazfi »

-> bug #24791

I'm working on a fix.
cazfi
Elite
Posts: 3077
Joined: Tue Jan 29, 2013 6:54 pm

Re: Minor 'Bug': Observe Mode Map Grid uses City Outline

Post by cazfi »

Latest Windows Installer (official/msys1 style) test build has the fix. Can you test if it works correctly now?
http://download.gna.org/freeciv/package ... ha+r33044/
User avatar
GriffonSpade
Elite
Posts: 578
Joined: Mon Apr 29, 2013 4:41 pm

Re: Minor 'Bug': Observe Mode Map Grid uses City Outline

Post by GriffonSpade »

Wow, looks great. Not just the basic 'show everything as not in city' either, but the premium fix that shows everyone's city outlines as an observer.

I did manage to get this error at one point when switching to observe mode, though:

Code: Select all

-------------------

Error occured on Monday, June 27, 2016 at 04:25:18.

C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\freeciv-qt.exe caused an Access Violation at location 004a1f22 in module C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\freeciv-qt.exe Reading from location 0000000c.

Registers:
eax=00000000 ebx=00000001 ecx=00000000 edx=6664da08 esi=09290cf0 edi=004a379c
eip=004a1f22 esp=0028d020 ebp=0028d1a8 iopl=0         nv up ei pl zr na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010246

Call stack:
004A1F22  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\freeciv-qt.exe:004A1F22Dwarf Error: found dwarf version '4', this reader only handles version 2 information.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.
004A3882  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\freeciv-qt.exe:004A3882
00495749  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\freeciv-qt.exe:00495749Dwarf Error: mangled line number section.
00430FCF  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\freeciv-qt.exe:00430FCF
668D0159  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\Qt5Core.dll:668D0159  _ZN11QMetaObject8activateEP7QObjectiiPPv
669250B5  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\Qt5Core.dll:669250B5  _ZN6QTimer7timeoutENS_14QPrivateSignalE
668D8AF6  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\Qt5Core.dll:668D8AF6  _ZN6QTimer10timerEventEP11QTimerEvent
668D0E0C  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\Qt5Core.dll:668D0E0C  _ZN7QObject5eventEP6QEvent
6620A42C  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\Qt5Widgets.dll:6620A42C  _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent
6620D87D  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\Qt5Widgets.dll:6620D87D  _ZN12QApplication6notifyEP7QObjectP6QEvent
668B50A1  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\Qt5Core.dll:668B50A1  _ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent
66932E1A  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\Qt5Core.dll:66932E1A  _ZN16QCoreApplication9sendEventEP7QObjectP6QEvent
668EBB24  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\Qt5Core.dll:668EBB24  _ZN28QEventDispatcherWin32Private14sendTimerEventEi
668EBDC7  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\Qt5Core.dll:668EBDC7  _ZN28QEventDispatcherWin32Private14sendTimerEventEi
76A862FA  C:\windows\syswow64\USER32.dll:76A862FA  gapfnScSendMessage
76A86D3A  C:\windows\syswow64\USER32.dll:76A86D3A  GetThreadDesktop
76A877C4  C:\windows\syswow64\USER32.dll:76A877C4  CharPrevW
76A8788A  C:\windows\syswow64\USER32.dll:76A8788A  DispatchMessageW
668EDB70  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\Qt5Core.dll:668EDB70  _ZN21QEventDispatcherWin3213processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE
058D730D  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\plugins\platforms\qwindows.dll:058D730D
668B498C  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\Qt5Core.dll:668B498C  _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE
668B95DF  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\Qt5Core.dll:668B95DF  _ZN16QCoreApplication4execEv
0041D378  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\freeciv-qt.exe:0041D378Dwarf Error: found dwarf version '4', this reader only handles version 2 information.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.Dwarf Error: mangled line number section.
00403179  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\freeciv-qt.exe:00403179
0045F2CD  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\freeciv-qt.exe:0045F2CDDwarf Error: mangled line number section.
0040236F  C:\Program Files (x86)\freeciv\Freeciv-2.6.0-alpha+r33044-qt\freeciv-qt.exe:0040236F


observe-mapgrid.png
Post Reply