[FIXED] Schiffbau:Zentrierung der Karte springt ins Nirgendw
-
- Kapitän
- Beiträge: 429
- phpbb forum styles
- Registriert: Samstag 25. Juni 2011, 10:47
[FIXED] Schiffbau:Zentrierung der Karte springt ins Nirgendw
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.
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.
- Dateianhänge
-
- r78081_Hanuhr_63.sav
- (116.99 KiB) 247-mal heruntergeladen
-
- Flottenkapitän
- Beiträge: 990
- Registriert: Freitag 14. Mai 2010, 14:39
Re: Schiffbau: Zentrierung der Karte springt ins Nirgendwo
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.
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.
- Sir Pustekuchen
- Administrator
- Beiträge: 4183
- Registriert: Dienstag 10. Januar 2006, 16:46
- Kontaktdaten:
Re: Schiffbau: Zentrierung der Karte springt ins Nirgendwo
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.
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.
-
- Flottenkapitän
- Beiträge: 990
- Registriert: Freitag 14. Mai 2010, 14:39
Re: Schiffbau: Zentrierung der Karte springt ins Nirgendwo
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.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.
- Sir Pustekuchen
- Administrator
- Beiträge: 4183
- Registriert: Dienstag 10. Januar 2006, 16:46
- Kontaktdaten:
Re: Schiffbau: Zentrierung der Karte springt ins Nirgendwo
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
Behebt der Fix auch diesen Bug?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.
Re: Schiffbau: Zentrierung der Karte springt ins Nirgendwo
erster Schnelltest: leider nicht, außerdem war dann nur die seitliche Scrollleiste da, aber per Pfeiltaste kein Blättern nach ganz unten möglich.Andi47 hat geschrieben:Behebt der Fix auch diesen Bug?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.
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)