Seite 253 von 254

Re: Jammer-Thread

Verfasst: 28.07.2024, 11:47
von Lord Delvin
Wasted over a day figuring the reason for valgrind showing:

Code: Alles auswählen

==5088== Process terminating with default action of signal 11 (SIGSEGV)
==5088==  Access not within mapped region at address 0x0
==5088==    at 0x1: ???
==5088==  If you believe this happened as a result of a stack
==5088==  overflow in your program's main thread (unlikely but
==5088==  possible), you can try to increase the size of the
==5088==  main thread stack using the --main-stacksize= flag.
==5088==  The main thread stack size used in this run was 8388608.
Without any further errors; I've never seen it before and equally couldn't find anything. Eventually I found out that a compiler bug caused an indirectbr instruction to lack a target:

Code: Alles auswählen

BB24:                                             ; preds = %BB23
  %exitBB = phi i8* [ blockaddress(@_T0_53, %BB25), %BB23 ], !dbg !94
  store i1 true, i1* %seen, align 1, !dbg !106
  indirectbr i8* %exitBB, [], !dbg !106

BB25:                                             ; No predecessors!
This is fully in line with how indirectbr is specified in llvm. It's just unbelievably hard to diagnose. Not sure if it makes sense to add a check for that in general, so I raise it here allowing people to find it or learn from it.

EDIT: The second strange property is that regular execution resulted in exit code 48.

Re: Jammer-Thread

Verfasst: 14.08.2024, 17:27
von Krishty
Thunderbird … da war doch was …

Ach ja, 2022:
Krishty hat geschrieben: 10.11.2022, 14:40 Thunderbird von Version 91 auf 104 aktualisiert, und natürlich ist alles wieder schlechter geworden.
  • Bei Eingabe mehrerer Passwörter nach einander verliert das Fenster den Fokus, und ich muss…
Und 2023:
Krishty hat geschrieben: 16.11.2023, 10:20Schönes Problem, das Thunderbird mit dem letzten GUI-Refactoring eingeführt hat: Es werden nicht nur markierte Nachrichten gelöscht, sondern auch fokussierte. Beispiel: […]
Ach riiiiichtig! Das waren die, die jedes Jahr ihre GUI neu schreiben, und dabei den Rest kaputtmachen!

Drei Mal dürft ihr raten, was Thunderbird jetzt wieder gemacht hat. Seid ihr bereit für … Thunderbirds neue GUI, Nebula!

Sieht schon geil aus … also auf den Screenshots. Auf meinem Computer sieht das nämlich überhaupt nicht so aus. Die Titelleiste ist jetzt total Schrott und leer bei mir.

Schaut euch die Titelleiste mit dieser kolossalen Suchfunktion an:

Bild

Und hier ist meine:

Bild

Aber das, äh … wird das große GUI-Refactoring 2025 sicher wieder richten! Einfach nochmal alles neu schreiben, und dieses Mal wird’s bestimmt besser!!11

Auch schön, dass sie nun beim Starten zwei ungefragte Werbeseiten öffnen. Und Thunderbird startet erst, nachdem die offen sind, denn … PRIORITÄTEN! Thunderbird braucht viele Spenden für … ihr wisst schon, die Entwicklung! Verbesserungen halt!

Re: Jammer-Thread

Verfasst: 14.08.2024, 18:17
von EyDu
Krishty hat geschrieben: 14.08.2024, 17:27 Thunderbird braucht viele Spenden für … ihr wisst schon, die Entwicklung! Verbesserungen halt!
Vielleicht renovieren die Entwickler auch zu Hause gerne. Hier mal eine neue Tür, dort neue Tapeten und hier und da neue Farbe. Das geht halt richtig ins Geld, von irgendetwas müssen sie das doch bezahlen 😅

Re: Jammer-Thread

Verfasst: 14.08.2024, 19:44
von Lord Delvin
Krishty hat geschrieben: 14.08.2024, 17:27 Ach riiiiichtig! Das waren die, die jedes Jahr ihre GUI neu schreiben, und dabei den Rest kaputtmachen!
JetBrains hat sich's damit bei mir auch verschissen. Wurde gerade von einem Dialog begrüßt, der offensichtlich HiDPI zweimal angewendet hat. Warum kann ich nicht einfach einstellen wie viele Zeilen auf mein Display passen und dann wird alles richtig gemacht? Hätte gerne 80 oder 100.

Re: Jammer-Thread

Verfasst: 14.08.2024, 22:27
von Jonathan
Krishty hat geschrieben: 14.08.2024, 17:27Thunderbird braucht viele Spenden für … ihr wisst schon, die Entwicklung! Verbesserungen halt!
Und ich sitze hier rum und warte einfach nur darauf, dass K9-Mail (was jetzt ja Thunderbird for Android ist) endlich mal hierarchische Ordner bekommt. Ich habe mein ganzes Leben in Ordnerstrukturen sortiert, und mein Postfach hat so ungefähr 200 Unterordner. Schön sortiert. Aber K9 zeigt alles als Flache Liste an. Noch besser: Dank Hierarchie sind die Namen alle viel zu lang (der Pfad ist der Name, soweit machst ja wenigstens noch Sinn), so dass nur die ersten und letzten 10 Zeichen angezeigt werden - dazwischen dann nur "...". Das macht es wirklich absurd nervig, eine Email zu finden. Obwohl man die doch extra händisch sortiert hat, damit man sie jederzeit schnell wiederfindet.

Ich habe extra mal nachgeschaut: Ordnerhierarchien gibt es seit 1971. Das ist jetzt, uhm, 53 Jahre her. Und trotzdem ist das zu innovativ und zu modern für Thunderbird for Android. Meine Fresse...

Re: Jammer-Thread

Verfasst: 14.08.2024, 22:29
von Jonathan
Krishty hat geschrieben: 14.08.2024, 17:27 Schaut euch die Titelleiste mit dieser kolossalen Suchfunktion an:
Fun-Fact: Ich dachte die ersten 5 Minuten, die verpixelte Schrift sei ein Fehler im GUI-Rendering und nicht ein Schutz deiner Privatsphäre. Wobei ich mir jetzt doch irgendwie nicht mehr ganz sicher bin, ob meine erste Vermutung nicht die richtige war :D

Re: Jammer-Thread

Verfasst: 15.08.2024, 09:16
von Krishty
Jonathan hat geschrieben: 14.08.2024, 22:29Fun-Fact: Ich dachte die ersten 5 Minuten, die verpixelte Schrift sei ein Fehler im GUI-Rendering und nicht ein Schutz deiner Privatsphäre. Wobei ich mir jetzt doch irgendwie nicht mehr ganz sicher bin, ob meine erste Vermutung nicht die richtige war :D
Es geht tatsächlich nur um die Titelleiste 🤣

Re: Jammer-Thread

Verfasst: 15.08.2024, 12:48
von LaBerg
Ich würde ja behaupten, dass man es in Thunderbird dem Markführer nachgemacht hat...
outlook.PNG
Die Titelleiste von "Outlook 365" kein bisschen besser....

Re: Jammer-Thread

Verfasst: 04.09.2024, 12:12
von Jonathan
Inkscape hat sich auf meinem Laptop entschieden ein Icon-Set zu verwenden bei dem die Auswahl für Textausrichtung (links, rechts, zentriert, Blocksatz, d.h. 4 verschiedene Optionen) so aussieht:
inkscape_2024-09-04_12-08-56.png
inkscape_2024-09-04_12-08-56.png (3.58 KiB) 4741 mal betrachtet
Sorry, aber den User-Interface-Designer hat man doch als Kind zu heiß gebadet. Welcher normale Mensch denkt denn bitte schön das ein übersichtliches Optionsmenü so aussehen sollte? Das ist echt nochmal eine Stufe schlimmer als der ganze erzalberne Monochrom-Mist der vor ein paar Jahren angefangen hat. Bin da echt sprachlos...

Re: Jammer-Thread

Verfasst: 04.09.2024, 13:13
von Krishty
ROFL

Re: Jammer-Thread

Verfasst: 11.09.2024, 14:44
von Matthias Gubisch
Mein TAA implementierung konvergiert nicht mehr zu einem statischen Image sondern der Jitter schlägt immer voll durch..
Problem: ich hab keine Ahnung was ich geändert habe um dieses Verhalten zu provozieren, eigentlich habe ich die relevanten stellen nicht angefasst...

Re: Jammer-Thread

Verfasst: 11.09.2024, 14:54
von Schrompf
Ach Mist, das wird die Hölle zu debuggen. Vielleicht erstmal in die Versionsverwaltung gucken, ob wirklich alles beim Alten ist?

Re: Jammer-Thread

Verfasst: 13.09.2024, 11:30
von Matthias Gubisch
Hmm man sollte immer auf mehreren Karten entwicklen
Die Ursache war eine falsche Barriere die sich scheinbar nach einem Treiberupdate mehr Auswirkte aber auf meiner Nvidia Laptopkarte nicht gefunden wurde.
Auf der AMD Karte in meinem großen Rechner hat mir der DebugLayer sofort den richtigen Hinweis gegeben....

Re: Jammer-Thread

Verfasst: 23.09.2024, 13:05
von Jonathan
Hmm, mein In-House Model-Viewer ist jetzt offiziell aufgegeben :'(

Model-Viewer gibt es natürlich wie Sand am Meer. Aber trotzdem braucht wohl jede Engine nochmal ihren eigenen, einerseits und sicherzustellen, dass es korrekt lädt, andererseits um sicherzustellen, dass es korrekt rendert. Shader sind überall ein wenig anders und nur weil die Normalmap in Blender gut aussieht, muss sie ja noch lange nicht in meinem Spiel gut aussehen. Und nur weil die Animation exportiert wurde, heißt es ja noch lange nicht, dass sie korrekt abgespielt wird. Jedesmal ein Spielobjekt erstellen und das Spiel neu starten ist aber auch blöde und nervig, also muss ich meinen eigenen Modelviewer haben.

Bisher basierte der auf C++/Qt und als ich ihn nach langer Zeit nochmal kompilieren wollte, gab es dumme Fehler mit doppelt definierten OpenGL Befehlen. Weil Qt grundsätzlich seine eigenen OGL Header einbindet und man nicht ohne große Mühen in der selben Datei Qt und irgendetwas eigenes, was mit OGL zu tun hat, benutzen kann. Irgendwas hab ich dann jetzt wohl irgendwann mal geändert, und jetzt kann ich den Viewer halt nicht mehr kompilieren.

Ich könnte mich jetzt einen Nachmittag lang hinsetzen und das fixen - aber ich will nicht mehr. Qt ist dann doch so krampfig zu benutzen, und vor allen Dingen ist es eine monströse Abhängigkeit und selbst wenn es eingerichtet ist und funktioniert, braucht man immer noch eine Reihe dummer DLLs weil die Lizenz statisches Linken halt nicht zulässt. Im Gegensatz dazu ist ImGUI bloß eine handvoll Dateien die man einfach mitkompiliert, es braucht keine Abhängigkeiten und ist viel schneller zu benutzen. Nachteil ist, dass ich die GUI ansich hässlich finde, es sieht immer mehr nach komischen Hack anstatt nach einer richtigen Benutzeroberfläche aus. Aber ALLES ANDERE ist daran halt besser.

Früher hatte ich ja auch noch einen eigenen Leveleditor geschrieben, auch als Qt-Programm. Heute bin ich da pragmatischer und schneller und effizienter. Gebäude z.B. sind eine einfache JSON-Datei, die kann man auch sehr gut im Texteditor ändern. Eine GUI in der man hierarchische Komponenten hinzufügen und alle Werte vernünftig editieren kann würde lange in der Entwicklung dauern, und wäre selbst dann vermutlich schlechter, als all die Freiheit, die ein Texteditor bietet.
Und für Levels, und Terrain, und Building-Brushes und ganz viel anderes auch, kann man halt auch echt super Blender verwenden. Im Zombiespiel sind die Levels z.B. in Blender gebaut, Objekte sind Marker die per Pythonscript in eine Textdatei geschrieben werden und das Verhalten wird über Scripte gesteuert, die über identische Objektnamen mit dem Level verknüpft sind. Das ist fast so gut wie ein komplett selbstgemachter Editor, wo man Objekte und ihr Verhalten in einem Programm definiert, aber es hat halt nur einen halben Tag nachdenken gekostet, wie man das am besten in Blender macht. Der Editor hätte vermutlich Monate an Entwicklungszeit gekostet.

Unterm Strich bleibt damit für mich aktuell gar kein Grund mehr, Qt nochmal für irgendetwas zu verwenden. Was komisch ist, denn es war jahrzehntelang meine Standardlösung für GUI. Aber irgendwie ist es auch befreiend sich nie wieder mit dem Quatsch rumschlagen zu müssen.

(Das Problem ist nur, dass der Viewer jetzt in der aktuellen Engine-Version steckengeblieben ist, ich kann damit also keine neuen Effekte mehr testen. Irgendwann steht also zwangsläufig ein kompletter Rewrite an...)

Re: Jammer-Thread

Verfasst: 23.09.2024, 14:04
von Jonathan
Ich hab versucht den aktuellen Stand des Viewers zu archivieren und wollte alle benötigten DLLs zusammen kopieren. Nix da, Qt bringt diese komische "Platform PlugIn could not be initialized" Meldung. Dependency Walker hat leider auch keine nützlichen Informationen geliefert. Es könnte irgendeine andere DLL sein die indirekt verlink wird, es könnte eine Config-Datei oder ein fehlender Pfad in den Umgebungsvariablen sein - das Internet war da nicht sehr eindeutig.

Nun, auf meinem PC mit der vollen Qt-Dev Installation läuft der Viewer noch, und ich habe endgültig die Schnauze voll irgendeinen dummen Qt-Quatsch zu debuggen, nur weil die Fehlermeldungen unnötig nützliche Hinweise verschweigen.

Re: Jammer-Thread

Verfasst: 23.09.2024, 19:57
von TomasRiker
Der Dependency Walker kann, wenn ich mich richtig erinnere, auch eine .exe starten und das dynamische Laden von DLLs aufzeichnen (wahrscheinlich indem LoadLibrary gehooked wird). Vielleicht hilft dir das, um die fehlende DLL auszumachen.

Re: Jammer-Thread

Verfasst: 23.09.2024, 20:26
von Krishty
Jonathan hat geschrieben: 23.09.2024, 14:04Nix da, Qt bringt diese komische "Platform PlugIn could not be initialized" Meldung.
Du musst im Verzeichnis deiner EXE ein neues Verzeichnis plugins/platforms anlegen und qwindows.dll reinkopieren (oder qwindowsd.dll in der Debug-Version).

Ja, Qt ist das klassische Beispiel für etwas, das nach einer guten Idee klingt und dann dein ganzes Projekt zerfrisst.

Re: Jammer-Thread

Verfasst: 23.09.2024, 20:49
von antisteo
THREE.js hat einen Raycaster, aber sein Verhalten bei der Kollisionsprüfung mit Punktewolken ist traurig. Man kann nur einmalig global festlegen, wie dick eine Kugel ist. Dabei kann bei mir jede Kugel eine individuelle Dicke haben. Da muss ich wohl mal contributen :'(

Re: Jammer-Thread

Verfasst: 26.09.2024, 19:28
von Lord Delvin
antisteo hat geschrieben: 23.09.2024, 20:49 THREE.js hat einen Raycaster, aber sein Verhalten bei der Kollisionsprüfung mit Punktewolken ist traurig. Man kann nur einmalig global festlegen, wie dick eine Kugel ist. Dabei kann bei mir jede Kugel eine individuelle Dicke haben. Da muss ich wohl mal contributen :'(
Oder dir einfach eingestehen, dass du ein Quärulant mit seltsamen Vorstellungen bist. Immer diese Extrawürste ;)

Re: Jammer-Thread

Verfasst: 26.09.2024, 21:53
von antisteo
Lord Delvin hat geschrieben: 26.09.2024, 19:28
antisteo hat geschrieben: 23.09.2024, 20:49 THREE.js hat einen Raycaster, aber sein Verhalten bei der Kollisionsprüfung mit Punktewolken ist traurig. Man kann nur einmalig global festlegen, wie dick eine Kugel ist. Dabei kann bei mir jede Kugel eine individuelle Dicke haben. Da muss ich wohl mal contributen :'(
Oder dir einfach eingestehen, dass du ein Quärulant mit seltsamen Vorstellungen bist. Immer diese Extrawürste ;)
hab jetzt geforkt und contributed. Mal sehen, ob die meinen Patch mergen werden.

Re: Jammer-Thread

Verfasst: 27.09.2024, 16:27
von Jonathan
Mir ist gerade aufgegangen: Animationen sind wichtiger als Meshs und Materialien. Das ist schlecht, denn mit Animationen hab ich sehr wenig praktische Erfahrung :(

Ich meine, denkt man drüber nach, was wirkt cooler: Ein hyperrealistisch modellierter Kopf der starr ist und sich unnatürlich bewegt, oder ein simples Strichmännchen mit 2 Kugeln und 'n Strich als Gesicht, das aufwändig animiert ist? Eben. Das erste ist mega creepy, das zweite kann quasi sämtliche Emotionen transportieren die man möglicherweise rüberbringen will. Vielleicht sogar besser als mit echten Menschen. Man denke an den gestiefelten Kater mit seinen riesigen Augen in Shrek - da wurden die Emotionen stark überzeichnet (Augen sind viel zu groß), aber weils kein realistisches Menschengesicht ist, sieht es nicht abstoßend unnatürlich aus.

Oder Thomas was alone: Alle Charaktere sind Vierecke (!!!) aber man würde es trotzdem als erstaunlich gut animiert und ziemlich fluffig beschreiben.

Tjoo, muss ich mich wohl mehr mit Animieren beschäftigen, wie es aussieht :D

Re: Jammer-Thread

Verfasst: 28.09.2024, 17:49
von mtorc1
Jonathan hat geschrieben: 27.09.2024, 16:27 Vielleicht sogar besser als mit echten Menschen.
Das glaube ich auch. Man überlege mal, wie viel einfacher es Retro-Pixel-RPG haben, Stimmung zu übertragen im Vergleich zu grafisch realistischeren moderneren Titeln. Der Eindruck mag natürlich nostalgisch verblendet sein, aber vielleicht ist es das "Mehr" an Abstraktion bei schlichter Grafik, die eher die Fantasie des Spielers anregen.

Re: Jammer-Thread

Verfasst: 01.10.2024, 21:29
von Schrompf
Boah, gerade die alten Spaß-Demos von den Splitterwelten auf der Platte wiedergefunden. Und was da schon alles ging... man konnte mit Leuten reden, Quests annehmen und weitertreiben, ins Tagebuch gucken und die Karte aufrufen. Da brannte das Luftschiff ab, man konnte Pflanzen finden und essen, Wein trinken und einen Ring anlegen. Und in jeder Ecke gab's semilustige absolut steife Monster oder Menschen, mit denen man Quatschen konnte. Ach Mensch. So eine Verschwendung.

Und die Engine läuft heutzutage mit 300+ fps, so dass die Physiksteps zu klein werden und in der Fließkomma-Ungenauigkeit verschwinden.
bild0000.png

Re: Jammer-Thread

Verfasst: 01.10.2024, 22:36
von Jonathan
Jaaa, ich erinnere mich noch an dieses Monster in der Höhle. Und dieses Bison-Viech auf der Wiese.

Re: Jammer-Thread

Verfasst: 02.10.2024, 11:08
von Matthias Gubisch
Oh ja das waren noch Zeiten damals :)

Re: Jammer-Thread

Verfasst: 02.10.2024, 15:48
von antisteo
Bei HTL gerade 1h an einem Bug gesessen.

Mal für euch das Rätsel: Finde den Unterschied

Code: Alles auswählen

      if ($data['side'] == 0) {
         $mission['x'] = $x - $data['pos1'] + $data['pos2'];
         $mission['z'] = $z - $containergap + $oldRoom['depth'] / 2 + $newRoom['depth'] / 2;
      }
      if ($data['side'] == 1) {
         $mission['x'] = $x + $containergap - $oldRoom['width'] / 2 - $newRoom['width'] / 2;
         $mission['z'] = $x - $data['pos1'] + $data['pos2'];
      }
      if ($data['side'] == 2) {
         $mission['x'] = $x - $data['pos1'] + $data['pos2'];
         $mission['z'] = $z + $containergap - $oldRoom['depth'] / 2 - $newRoom['depth'] / 2;
      }
      if ($data['side'] == 3) {
         $mission['x'] = $x - $containergap + $oldRoom['width'] / 2 + $newRoom['width'] / 2;
         $mission['z'] = $z - $data['pos1'] + $data['pos2'];
      }

Code: Alles auswählen

      if ($data['side'] == 0) {
         $mission['x'] = $x - $data['pos1'] + $data['pos2'];
         $mission['z'] = $z - $containergap + $oldRoom['depth'] / 2 + $newRoom['depth'] / 2;
      }
      if ($data['side'] == 1) {
         $mission['x'] = $x + $containergap - $oldRoom['width'] / 2 - $newRoom['width'] / 2;
         $mission['z'] = $z - $data['pos1'] + $data['pos2'];
      }
      if ($data['side'] == 2) {
         $mission['x'] = $x - $data['pos1'] + $data['pos2'];
         $mission['z'] = $z + $containergap - $oldRoom['depth'] / 2 - $newRoom['depth'] / 2;
      }
      if ($data['side'] == 3) {
         $mission['x'] = $x - $containergap + $oldRoom['width'] / 2 + $newRoom['width'] / 2;
         $mission['z'] = $z - $data['pos1'] + $data['pos2'];
      }

Re: Jammer-Thread

Verfasst: 02.10.2024, 16:24
von Hannes
in zeile 7 setht ein x was ein z sein sollte? Hab ich was gewonnen?

Re: Jammer-Thread

Verfasst: 02.10.2024, 19:10
von antisteo
Hannes hat geschrieben: 02.10.2024, 16:24 in zeile 7 setht ein x was ein z sein sollte? Hab ich was gewonnen?
ja, gewonnen.

Nächster Jammer-Topic: Three.js-Internas sind NULL dokumentiert. Die haben massenweise an Helpern und Vorlagen für Beleuchtung für die Shader, man muss nur glsl-Fragmente einfügen, schon macht der das alles. Ich habe jetzt 3h am Stück verbracht, deren System halbwegs so zu verstehen, dass ich die Lichtquellen aus der Szene in meine Shader-Parameter einlesen kann und somit das Licht über die Szene steuern kann.

Re: Jammer-Thread

Verfasst: 03.10.2024, 10:26
von Jonathan
Matthias Gubisch hat geschrieben: 02.10.2024, 11:08 Oh ja das waren noch Zeiten damals :)
Btw. Erinnert sich noch jemand an dieses Echtzeitstrategie Spiel, 2D, isometrisch, ein bisschen wie C&C. "Die Verbotene Welt" oder so ähnlich hieß das. Es gab mal ein Video und ich glaube es wurde mal auf irgendeinem Spieleentwicklertreffen vorgestellt, aber nie veröffentlicht. Hat mich immer interessiert, was daraus geworden ist, denn es sah damals schon so so gut aus. Muss aber locker 15 Jahre her sein...

Re: Jammer-Thread

Verfasst: 04.10.2024, 00:55
von Chromanoid
ja klar, das war ja regelmäßig auf Developia zu bestaunen. https://m.youtube.com/@sechstasinn

sieht ziemlich aufgegeben aus :(