MFC-Dialoge
-
- Kadett
- Beiträge: 13
- phpbb forum styles
- Registriert: Montag 31. März 2014, 06:32
Re: MFC-Dialoge
Das ist natürlich ein triftiger Grund! Dann werde ich mir VS2008 installieren. Hat jemand eine Meinung zum Thema Views neu machen mit SFML?
Re: MFC-Dialoge
SFML...verstehe ja von dem anderen auch nichts
Wenn's funktioniert und wenn Puste nichts dagegen hat (falls Malle oder sonst wer zu ihm durchkam....ansonsten entscheiden wir das halt selbst )
Wenn's funktioniert und wenn Puste nichts dagegen hat (falls Malle oder sonst wer zu ihm durchkam....ansonsten entscheiden wir das halt selbst )
-
- Flottenkapitän
- Beiträge: 990
- Registriert: Freitag 14. Mai 2010, 14:39
Re: MFC-Dialoge
Was den Aufbau unsres Gui-Frameworks betrifft hab ich leider auch keine Ahnung.
Ich könnte dir höchstens mal nen Branch machen zum rumwerken. Das muss dann Puste entscheiden.
Und wenn was mit VS ohne Warnungen kompiliert dann hat das, naja, nicht unbedingt allzuviel zu bedeuten, da es ein schlechter Kompiler ist.
Ich könnte dir höchstens mal nen Branch machen zum rumwerken. Das muss dann Puste entscheiden.
Und wenn was mit VS ohne Warnungen kompiliert dann hat das, naja, nicht unbedingt allzuviel zu bedeuten, da es ein schlechter Kompiler ist.
-
- Kadett
- Beiträge: 13
- Registriert: Montag 31. März 2014, 06:32
Re: MFC-Dialoge
Mit dem Branch wäre ich sehr zufrieden. Ansonsten arbeite ich erstmal nur lokal.
Na, das war jetzt aber nicht gerade eine qualifizierende Aussage . Ich habe den Code kompiliert und startbar bekommen, das hat soweit geklappt. Nur beim Beenden hatte ich ein paar Debug-Asserts wegen fehlerhafter Speicherverwaltung.Und wenn was mit VS ohne Warnungen kompiliert dann hat das, naja, nicht unbedingt allzuviel zu bedeuten, da es ein schlechter Kompiler ist.
-
- Flottenkapitän
- Beiträge: 990
- Registriert: Freitag 14. Mai 2010, 14:39
Re: MFC-Dialoge
Sowas ist leider inakzeptabel. Da haben wir schon genug Probleme mit. (Das mein ich u.A. damit dass es nicht viel zu bedeuten hat wenn was kompilierbar ist...)trommlbomml2 hat geschrieben:fehlerhafter Speicherverwaltung.
-
- Kadett
- Beiträge: 13
- Registriert: Montag 31. März 2014, 06:32
Re: MFC-Dialoge
Ich glaube nicht dass das an der compilerversion liegt sondern am selbstgeschriebenen code. Das könnte ich mir auch mal anschauen. Aber wie gesagt 2008 ist schon OK.
Re: MFC-Dialoge
puste hat zurückgemailt:
Sir Pustekuchen hat geschrieben:1: Für jede GUI gibt es eine eigene Klasse, welche von CView abgeleitet ist. Diese Klassen sind alle bei der CMainFrame (komplettes Fenster) registriert. Es wird abhängig von einer bestimmten View immer eine Klasse sichtbar geschaltet. Darum kümmert sich die CMultiSplitterView Klasse, welcher verschiedene Views zugeordnet werden. Wenn ich die Frage also richtig verstehe, handelt es sich immer noch um das gleiche Hauptfenster, die einzelnen Views sind aber unterschiedlich. Man kann sich das am besten mit Tabs im Browser vorstellen. Es gibt ein Browserfenster (MainFrame) und viele einzelne Seiten (CViews), welche man einzeln in den Vordergrund holt.
2: Die Positionen sind immer gleich. Wir haben keine Animationen drin, so dass ein Planet oder ein Schiff z.B. von links nach rechts wandert. Von daher sollte es sich immer um feste Postionen handeln.
-
- Kadett
- Beiträge: 13
- Registriert: Montag 31. März 2014, 06:32
Re: MFC-Dialoge
Sehr gut, dann habe ich das ja richtig verstanden. Genau das, was ich wissen wollte.
Dann sollte ich mal schleunigst zusehen, eine Lösung vorschlagen zu können.
Dann sollte ich mal schleunigst zusehen, eine Lösung vorschlagen zu können.
-
- Flottenkapitän
- Beiträge: 990
- Registriert: Freitag 14. Mai 2010, 14:39
Re: MFC-Dialoge
Ich hab einen neuen branch planet_animation für dich gepusht. Um ihn zu verwenden dürfte das hier funktionieren
http://stackoverflow.com/questions/1783 ... ote-branch
Du könntest aber auch ein pull request verwenden.
http://stackoverflow.com/questions/1783 ... ote-branch
Du könntest aber auch ein pull request verwenden.
-
- Flottenkapitän
- Beiträge: 990
- Registriert: Freitag 14. Mai 2010, 14:39
Re: MFC-Dialoge
trommlbomml2:
Warte mal noch, bevor du VS2008 installierst usw. Es könnte sein, dass wir bald auch mit 2010+ erstellen können (siehe http://www.forum.birth-of-the-empires.d ... 820#p33820)
Falls ich danach ne Bestätigung von dir kriege, dass es tatsächlich auch mit 2012 oder so geht, wär das besonders toll.
Warte mal noch, bevor du VS2008 installierst usw. Es könnte sein, dass wir bald auch mit 2010+ erstellen können (siehe http://www.forum.birth-of-the-empires.d ... 820#p33820)
Falls ich danach ne Bestätigung von dir kriege, dass es tatsächlich auch mit 2012 oder so geht, wär das besonders toll.
-
- Kadett
- Beiträge: 13
- Registriert: Montag 31. März 2014, 06:32
Re: MFC-Dialoge
Das kann ich dann ja einfach ausprobieren .
Ansonsten habe ich mir mal etwas genauer angeschaut, wie man diese Technik in BotE einbauen kann und muss sagen es ist gar nicht so einfach wie gedacht:
Es werden am Anfang des Spiels alle Views instanziiert und in einer std::map nach Id gespeichert und entsprechend nach Spielzustand ausgetauscht. Auf jeden Fall eine gute Idee, soweit ich MFC verstanden habe. Problem dabei ist, dass das Rendering mit SFML so angedacht war, dass für alle aktiven Views das Custom-Rendering mit SFML angestoßen wird, falls sie dieses implementieren. Dazu müsste der View aber wissen, ob er gerade aktiv ist. Soweit ich das sehe, ist das so direkt nicht herauszufinden, weil ein View einfach ab und zu neu gezeichnet wird. Idealerweise stelle ich mir das so vor, vielleicht könnt ihr mir ein bisschen helfen:
1) Jeder View, der mit SFML rendern soll (wäre jetzt erstmal nur der PlanetBottomView) implementiert OnCustomRender(), welches man in einer Basisklasse aller Views unterbringt.
2) Der HauptDialog startet einen Timer, der 30 mal pro Sekunde einen Handler aufruft, bei dem bei allen aktiven Views OnCustomRender() aufgerufen.
Soweit denke ich kein Problem zu implementieren, nur baue ich da ziemlich an den Eingeweiden von BotE rum und soweit ich das verstanden habe, kennt sich hier auch keiner weiter doll aus. Trotzdem wäre eure Meinung hilfreich.
Frohe Ostern übrigens
Ansonsten habe ich mir mal etwas genauer angeschaut, wie man diese Technik in BotE einbauen kann und muss sagen es ist gar nicht so einfach wie gedacht:
Es werden am Anfang des Spiels alle Views instanziiert und in einer std::map nach Id gespeichert und entsprechend nach Spielzustand ausgetauscht. Auf jeden Fall eine gute Idee, soweit ich MFC verstanden habe. Problem dabei ist, dass das Rendering mit SFML so angedacht war, dass für alle aktiven Views das Custom-Rendering mit SFML angestoßen wird, falls sie dieses implementieren. Dazu müsste der View aber wissen, ob er gerade aktiv ist. Soweit ich das sehe, ist das so direkt nicht herauszufinden, weil ein View einfach ab und zu neu gezeichnet wird. Idealerweise stelle ich mir das so vor, vielleicht könnt ihr mir ein bisschen helfen:
1) Jeder View, der mit SFML rendern soll (wäre jetzt erstmal nur der PlanetBottomView) implementiert OnCustomRender(), welches man in einer Basisklasse aller Views unterbringt.
2) Der HauptDialog startet einen Timer, der 30 mal pro Sekunde einen Handler aufruft, bei dem bei allen aktiven Views OnCustomRender() aufgerufen.
Soweit denke ich kein Problem zu implementieren, nur baue ich da ziemlich an den Eingeweiden von BotE rum und soweit ich das verstanden habe, kennt sich hier auch keiner weiter doll aus. Trotzdem wäre eure Meinung hilfreich.
Frohe Ostern übrigens
-
- Flottenkapitän
- Beiträge: 990
- Registriert: Freitag 14. Mai 2010, 14:39
Re: MFC-Dialoge
Hört sich so an, als könnte man jedem view einen boolmember geben, der true/false geschaltet wird and der Stelle wo die views umgeschaltet werden ? Dann weiß ein view ob er aktiv ist.
-
- Kadett
- Beiträge: 13
- Registriert: Montag 31. März 2014, 06:32
Re: MFC-Dialoge
Genau. Aber um das Konzept nicht zu brechen, sollte jeder View einfach wissen, wenn er Zeichnen soll, in dem er eine extra Methode aufruft. MFC entscheidet ja auch, wann OnDraw() aufgerufen wird. Ich versuche mich mal daran, da ich einen Branch habe, ist das ganze kein Problem. an den Branch müsste ich doch auch mit clone und dann checkout branchname hinkommen...
-
- Flottenkapitän
- Beiträge: 990
- Registriert: Freitag 14. Mai 2010, 14:39
Re: MFC-Dialoge
Ja.
Allerdings weise ich mal auf commit dfae1b4c63931ae4b993bf2202cb40d3836e377a hin, welches BotE kompilierbar machen sollte mit VS2010+. Besser ein eigenes pull request erstellen.
Allerdings weise ich mal auf commit dfae1b4c63931ae4b993bf2202cb40d3836e377a hin, welches BotE kompilierbar machen sollte mit VS2010+. Besser ein eigenes pull request erstellen.
Re: MFC-Dialoge
Ich hab vor recht langer Zeit in einem anderen Projekt mal OpenGL in MFC-Views erfolgreich eingebettet. Falls das irgendwie weiterhilft, koennte ich das mal herauskramen. Meine sehr dunkle Erinnerung sagt mir, dass es da eine Schwierigkeit mit BotE gab, sonst haetten wir das wahrscheinlich schon integriert (Animationen und 3D waren damals schon erwuenscht), ich weiss allerdings nicht mehr, was genau das war. Aber vielleicht taeusche ich mich da auch.
Ich hatte auch mal einen DirectX-basierten Prototypen begonnen. Allerdings haette der umfangreichere Rewrites erfordert; damit war das Projekt eigentlich von vornherein doomed.
Ich hatte auch mal einen DirectX-basierten Prototypen begonnen. Allerdings haette der umfangreichere Rewrites erfordert; damit war das Projekt eigentlich von vornherein doomed.
Zuletzt geändert von CBot am Dienstag 22. April 2014, 08:34, insgesamt 1-mal geändert.
I wish I could read my mind.