Seite 1 von 1

[FIXED] Schiffbau:Zentrierung der Karte springt ins Nirgendw

Verfasst: Freitag 11. Januar 2013, 19:14
von Andi47
r78081.exe mit Daten von r78176 (neuere Exe gibt's leider im Moment nicht zum Testen):

Wenn ich nach dem Bau eines Schiffes im Nachrichtenmenü auf die entsprechende Schiffsbaumeldung klicke, wird zwar der entsprechende Sektor markiert, aber die Karte springt *irgendwo* hin. (Scrollbalken aktiv)

Ich vermute, dass das mit dem Scrollbug zusammenhängen könnte.

Beim angehängten Spielstand sitzen die Hanuhr nahe der linken unteren Ecke, in zwei Systemen wurden soeben Schiffe gebaut, bei beiden Systemen schiebt die Zentrierung beim Anklicken der Schiffsbaunachricht die Karte deutlich in Richtung Mitte - beim Klick auf die Schiffsbaunachricht aus dem Han-System gerät das Hanuhr-Imperium fast komplett aus dem Blickfeld.

Re: Schiffbau: Zentrierung der Karte springt ins Nirgendwo

Verfasst: Freitag 18. Januar 2013, 22:35
von Anonymissimus
Dies passiert auch, wenn man über einem eigenen System eine Station fertigstellt und auf die Meldung darüber klickt. Bisher war es so, dass dies (und die Meldung über den Fertigbau eines bewegungsfähigen Schiffes) die Ansicht auf das jeweilige System schaltete; dies war recht nützlich und sollte wieder aktiviert werden. Zumindest im Fall des Schiffes; bei der Station weniger, da es das System nicht so betrifft.
Passiert es auch, wenn die Systeme, in denen die Station/das Schiff fertig wird, mehr in der Mitte der Karte liegen ?

EDIT
Mit einem eigenen Spielstand und dem von hier kann ich es *manchmal* reproduzieren wie es scheint (vor allem das erste mal nach dem Laden). Bei meinem ist es ein Stationsbau. Die Kordinaten werden in beiden Fällen korrekt gespeichert und übergeben an CGalaxyMenuView::ScrollToSector, also das Problem liegt irgendwo im gui code. Auch interessant: Ich hatte die scrollbalken immer deaktiviert. Könnte trotzdem dieselbe Ursache haben.

EDIT
Nach einigem weiteren debuggen sieht es für mich fast nach einem upstream-bug aus, also durch MFC verursacht und damit unbehebbar. Kann es jemand deterministisch reproduzieren ?
Falls die Karte irgendwohin springt, dann hilft es vielleicht, es erneut zu versuchen. So ists bei mir. Ansonsten fällt mir nur ein, den Fall zu vermeiden, also eben wieder die Systemansicht öffnen und keine galaxymap + Zentrierung.

Re: Schiffbau: Zentrierung der Karte springt ins Nirgendwo

Verfasst: Samstag 19. Januar 2013, 11:11
von Sir Pustekuchen
Ich bin schon dran. Es liegt an CGalaxyMenuView::ScrollToSector(). Einfach nachzustellen, wenn man eine Tiny Map wählt, auf der Map so weit wie möglich hereinzoomt, dann in der Menüleiste links auf System klickt und danach gleich wieder auf Galaxie klickt. Schwupps, die Zentrierung ist falsch.

Der Code in der Funktion ist falsch. Da stelle ich mich mathematisch gerade zu dumm an, um zu Berechnen, wie man die Ansicht auf eine gegebene Koordinate scrollt, abhängig vom Zoom.

Re: Schiffbau: Zentrierung der Karte springt ins Nirgendwo

Verfasst: Samstag 19. Januar 2013, 18:43
von Anonymissimus
Sir Pustekuchen hat geschrieben:Der Code in der Funktion ist falsch. Da stelle ich mich mathematisch gerade zu dumm an, um zu Berechnen, wie man die Ansicht auf eine gegebene Koordinate scrollt, abhängig vom Zoom.
Ja ? Für mich sahs so aus als ob die an CWnd::SetScrollPos übergebenen Werte *manchmal* aus unbekannten Gründen verändert/ignoriert werden, wenn ich danach links oben schaue (wo die x/y scrollposition angezeigt wird). Am zoom hab ich gar nix gemacht, war immer 1.0.

Re: Schiffbau: Zentrierung der Karte springt ins Nirgendwo

Verfasst: Sonntag 20. Januar 2013, 02:15
von Sir Pustekuchen
Sollte mit Commit 78257 immer exakt funktionieren. Egal welche Auflösung, Galaxiegröße, Zoomlevel und von wo man in die Galaxieansicht springt.

Re: Schiffbau: Zentrierung der Karte springt ins Nirgendwo

Verfasst: Sonntag 20. Januar 2013, 08:54
von Andi47
Sir Pustekuchen hat geschrieben:Sollte mit Commit 78257 immer exakt funktionieren. Egal welche Auflösung, Galaxiegröße, Zoomlevel und von wo man in die Galaxieansicht springt.
Behebt der Fix auch diesen Bug?

Re: Schiffbau: Zentrierung der Karte springt ins Nirgendwo

Verfasst: Sonntag 20. Januar 2013, 11:31
von rainer
Andi47 hat geschrieben:
Sir Pustekuchen hat geschrieben:Sollte mit Commit 78257 immer exakt funktionieren. Egal welche Auflösung, Galaxiegröße, Zoomlevel und von wo man in die Galaxieansicht springt.
Behebt der Fix auch diesen Bug?
erster Schnelltest: leider nicht, außerdem war dann nur die seitliche Scrollleiste da, aber per Pfeiltaste kein Blättern nach ganz unten möglich.
die horizontale Scrollleiste fehlte, aber scrollen per Pfeiltaste nach ganz rechts war möglich

EDIT: Test mit 78298 und Scrollbalken: funktioniert, Doppelklick auf Schiffsbau-Nachricht springt zum Bausystem und zentriert Karte dorthin.

PS: meine Notiz oben bezog sich auf den anderen BUG, der aber einen eigenen Thread hat (und noch besteht)