Die Suche ergab 436 Treffer

von Spiele Programmierer
24.06.2026, 14:43
Forum: Allgemeines Talk-Brett
Thema: Anti-Jammer-Thread
Antworten: 2206
Zugriffe: 1081326

Re: Anti-Jammer-Thread

Danke Krishty für deinen Erfahrungsbericht. Hört sich nun nicht mehr so anders an als ich das in Erinnerung habe, nur vlt. etwas praktischer und auf jeden Fall VIEL GÜNSTIGER. Da bekommt man direkt Bock mal was zu dekompilieren. :D Hier wird oft Disassemblieren und Dekompilieren durcheinander geworf...
von Spiele Programmierer
22.06.2026, 21:58
Forum: Allgemeines Talk-Brett
Thema: Anti-Jammer-Thread
Antworten: 2206
Zugriffe: 1081326

Re: Anti-Jammer-Thread

Weiterhin sind auch ihre Rückgabetypen gekennzeichnet, Ghidra weist dann also jeder Variable, die aus malloc() befüllt wird, rekursiv void * zu. Und jeder, die in strcpy() gereicht wird, char * . Damit sind schonmal 80–90 % aller Zeiger, Integer, und Gleitkommazahlen (hatte die PSX nur extrem begre...
von Spiele Programmierer
22.06.2026, 19:38
Forum: Allgemeines Talk-Brett
Thema: Anti-Jammer-Thread
Antworten: 2206
Zugriffe: 1081326

Re: Anti-Jammer-Thread

Hm, ich kenn mich da echt nicht aus, aber "voll simpel" erscheint mir etwas stark - ich hab damals kurz nach state-of-the-art Disassemblern gesucht (nagut, eingeschränkt auf frei erhältliche) und es damit nicht geschafft innerhalb einiger Stunden C-Code zu generieren, der sich kompilieren...
von Spiele Programmierer
22.06.2026, 14:03
Forum: Allgemeines Talk-Brett
Thema: Anti-Jammer-Thread
Antworten: 2206
Zugriffe: 1081326

Re: Anti-Jammer-Thread

Was ist für euch ein KI-Disassembler? Disassemblen ist doch voll simpel, da braucht man doch keine KI dafür. Dekompilieren, Variablennamene wählen und die richtigen Abstraktionen in einer höheren Sprache wie C++ finden, dass ist schwer. Ich weiß nicht, wie weit die Werkzeuge da heute sind, aber da h...
von Spiele Programmierer
22.06.2026, 13:58
Forum: Vorstellungsbereich
Thema: Der Landvogt
Antworten: 239
Zugriffe: 643961

Re: Der Landvogt

Finde beide suboptimal. :) Insgesamt gefällt mir das untere besser. Beim oberen sind die Buchstaben von der Positionierung (z.B. 69 sieht aus wie 6g), den Proportionen (so breit!) und der dicke unellegant und unregelmäßig. Außerdem wirkt es unschwarf. Ich weiß gerade nicht in wie weit das an der von...
von Spiele Programmierer
08.05.2026, 11:56
Forum: Algorithmen und Datenstrukturen
Thema: Effektive Implementierung von Bit Spreading
Antworten: 17
Zugriffe: 13826

Re: Effektive Implementierung von Bit Spreading

Ja genauso wars von mir auch gemeint, nach dem Anfangspost gings ja dann nur noch darum wie man die 0en bei x und y dazwischen bekommt. Fürs Praktische, hier noch meine optimierte Variante zum Rauskopieren: #include <immintrin.h> #include <stdint.h> // For Clang/GCC add "-mpclmul -msse4.1"...
von Spiele Programmierer
08.05.2026, 11:31
Forum: Allgemeines Talk-Brett
Thema: Melde mich zurück!
Antworten: 6
Zugriffe: 1983

Re: Melde mich zurück!

Danke für eure lieben Worte! Der username kommt mir noch sehr bekannt vor, wenngleich ich auch zugeben muss, das mir bei vielen hier die strikte Assoziation "Benutzername" - "das waren seine 5 letzten Themen / Projekte" fehlt. Dabei kenne ich die meisten Namen und Projekte durcha...
von Spiele Programmierer
03.05.2026, 10:56
Forum: Algorithmen und Datenstrukturen
Thema: Effektive Implementierung von Bit Spreading
Antworten: 17
Zugriffe: 13826

Re: Effektive Implementierung von Bit Spreading

Hm, eigentlich ist es nicht komplex. Du gehst so vor wie der "normalen" schriftlichen Multiplikation aber anstelle von normaler Addition in der Breite des Integers nimmst du halt XORs, also effektiv eine Addition für jedes Bit einzeln. Bei Wikipedia ist es erklärt und es gibt auch ein Beis...
von Spiele Programmierer
02.05.2026, 16:17
Forum: Algorithmen und Datenstrukturen
Thema: Effektive Implementierung von Bit Spreading
Antworten: 17
Zugriffe: 13826

Re: Effektive Implementierung von Bit Spreading

Ich glaube, hier kann ich noch was beitragen, auch wenn das Thema schon bisschen älter ist! Man kann "Bit Spreading" auch sehr effektiv mit übertragsloser Multiplikation umsetzen, in dem man eine Zahl so mit sich selbst multipliziert. Z.B. a=0b'wzyx, dann ist CLMUL(a, a) = BITSPREAD(a) = 0...
von Spiele Programmierer
02.05.2026, 14:00
Forum: Allgemeines Talk-Brett
Thema: Melde mich zurück!
Antworten: 6
Zugriffe: 1983

Melde mich zurück!

Hallo (wieder) zusammen! Erinnert sich noch wer an mich? Ich auch weiß nicht ob ich hier einen bleibend-genugen Eindruck hinterlassen habe, sodass mich jemand vermisst hätte oder mein Wegbleiben jemand aufgefallen wäre, aber ich bin meinersets jedenfalls froh wieder hierher gefunden zu haben! Ich ha...
von Spiele Programmierer
24.03.2021, 18:37
Forum: Allgemeines Talk-Brett
Thema: Virenscanner, mal wieder
Antworten: 7
Zugriffe: 2219

Re: Virenscanner, mal wieder

Schade. Diese Art von Design-Fehlern sind leider in Custom-Level sehr verbreitet. Zu einem gewissen Grad, wurde das ja auch in den offiziellen Leveln vorgemacht (z.B. kennst du das Level mit der U-Bahn in TR3? Da gibt es so 6 Ticketschalter die einfach genau gleich aussehen, aber nur bei einem kann ...
von Spiele Programmierer
23.03.2021, 02:24
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7727
Zugriffe: 2626965

Re: Jammer-Thread

Wer kam eigentlich auf die gloriose Idee, dass bsr / BitScanReverse nichts mehr taugt um man jetzt Nullen zählt? In 99% der Fälle, in dem ich diesen Befehl brauche, will ich genau das machen was Schrompf auch machen will: Den Index des höchsten Bits. Nichts anderes. Niemand will 0en zählen. Warum so...
von Spiele Programmierer
23.03.2021, 01:20
Forum: Allgemeines Talk-Brett
Thema: Virenscanner, mal wieder
Antworten: 7
Zugriffe: 2219

Re: Virenscanner, mal wieder

Als jemand der schonmal in der TR-Custom-Level-Szene mitgewirkt hat, kann ich dir sagen, dass das Problem mit den Virenfalschmeldungen mehr als bekannt ist. Es gibt mindestens zwei große Patcher in der TR-Fan-Gemeine: TREP und TRNG. Wenn ich das richtig im Kopf habe, ist besonders der TREP-Patcher v...
von Spiele Programmierer
21.03.2021, 00:58
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: char* p vs. char *p
Antworten: 5
Zugriffe: 1807

Re: char* p vs. char *p

Der Zeiger ist Teil des Typen, nicht der Variable. Das ist Fakt. Weil man das zu Zeiten als C entworfen wurde noch nicht so wahrgenommen hat, haben wir aber die heutigen Syntaxprobleme wie char* a, b , bei dem nur a ein Zeiger wird, und so Dinge wie char (&a)[] und (void (a)())[] usw., die zieml...
von Spiele Programmierer
14.03.2021, 19:10
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Define in anderer CPP prüfen
Antworten: 4
Zugriffe: 1688

Re: [C++] Define in anderer CPP prüfen

Noch paar Denkanstöße: Die beiden Vorredner haben bereits eine globale Datei mit allen möglichen solchen Einstellungen vorschlagen. Ich möchte dazu noch zu bedenken geben: Wenn du dies machst, musst bei der Änderung jeder Einstellung praktisch alles neukompilieren. Das hängt natürlich sehr vom Anwen...
von Spiele Programmierer
09.03.2021, 18:21
Forum: Vorstellungsbereich
Thema: [Projekt] StoneQuestCPP
Antworten: 95
Zugriffe: 20293

Re: [Projekt] StoneQuestCPP

C++ ist halt die Sprache die man immer benutzten KANN. Es ist sicher nicht immer das perfekte Werkzeug, aber eins das zu 99% funktioniert. Ich kann damit halt von Assembler/Intrinsics bis hin zu OOP oder Templates alles machen. Diese Vielseitigkeit ist sicher auch verantwortlich fuer die weite Verb...
von Spiele Programmierer
08.03.2021, 19:14
Forum: Vorstellungsbereich
Thema: [Projekt] StoneQuestCPP
Antworten: 95
Zugriffe: 20293

Re: [Projekt] StoneQuestCPP

Als jemand der die letzten Jahre vor allem mit C++ gearbeitet hat, kann ich den Vorrednern nur zustimmen und dir von C++ abraten. Ne ehrlich, C++ ist sehr verbreitet und flexibel. Das spricht für die Sprache und ist erstmal gut. Aber sonst, auweh... Das Leid, welches man als C+++-Programmierer alltä...
von Spiele Programmierer
01.03.2021, 18:52
Forum: Allgemeines Talk-Brett
Thema: VS Code oder anderer Text Editor, ganze Zeilen auswählen
Antworten: 5
Zugriffe: 1471

Re: VS Code oder anderer Text Editor, ganze Zeilen auswählen

Noch eine C#-Variante: var ls = File.ReadAllLines("log.txt"); foreach (string l in ls) if (l.Contains("bforartist")) Console.WriteLine(l); Ein klein bisschen länger, aber mit Autovervollständigung praktisch genauso schnell zu tippen. Ob das Werkzeug jetzt Python heißt oder C# ist...
von Spiele Programmierer
01.03.2021, 18:22
Forum: Vorstellungsbereich
Thema: Voxel Cone Tracing-Experiment
Antworten: 18
Zugriffe: 3582

Re: Showroom - Aktuelle Arbeiten und Projekte

AVX256 macht mir tatsächlich auch Spaß :-) :D Meines Erachtens ist das halt wirklich der große Unterschied zum GPU-Programmieren. Sie macht leider viel zu oft keinen Spaß! Die Landschaft ist so zersplittert, es gibt ständig Treiberprobleme mit irgendwelchen Karten, es ist völlig intransparent was d...
von Spiele Programmierer
28.02.2021, 20:51
Forum: Vorstellungsbereich
Thema: Voxel Cone Tracing-Experiment
Antworten: 18
Zugriffe: 3582

Re: Showroom - Aktuelle Arbeiten und Projekte

Es hat sich nämlich herausgestellt, dass std::sort drastisch schneller ist, wenn es mit vorsortierten Daten arbeitet. Wir reden hier mal locker vom Dreifachen bei Sortierung von ~100 int64 . Wenn das Sortieren bei dir ein Engpass ist, schlage ich vor, mal einen anderen Sortieralgorithmus ins Auge f...
von Spiele Programmierer
27.02.2021, 16:43
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Design Pattern fürs Pointer-Speichern
Antworten: 30
Zugriffe: 9340

Re: Design Pattern fürs Pointer-Speichern

Ich verstehe das Problem nicht, welches du bei dem Lösungsvorschlag von Chromanoid siehst. Die Besitzverhältnisse sind zur Ladezeit, soweit ich das sehe, doch eigentlich fast egal. Auch sagt ja niemand, dass du die gesamte Objekthierarchie neuladen willst/musst. Ich verstehe die Lösung so, dass du n...
von Spiele Programmierer
23.02.2021, 18:21
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Design Pattern fürs Pointer-Speichern
Antworten: 30
Zugriffe: 9340

Re: Design Pattern fürs Pointer-Speichern

Fun Fact ohne Wertung: Visual C++ unterstützt das nativ via __based . Eines der Features, die ich schon immer mal ausprobieren wollte, aber ganz genau weiß, dass ich damit die Tore zur Hölle aufstoßen würde :) Der Artikel zeigt auch noch eine weitere Möglichkeit auf: Du kannst deinen Allokator repr...
von Spiele Programmierer
23.02.2021, 01:36
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Design Pattern fürs Pointer-Speichern
Antworten: 30
Zugriffe: 9340

Re: Design Pattern fürs Pointer-Speichern

Sehr gute Frage mit der ich mich schon öfter rumgeärgert habe. Vorweg: Ich denke es gibt keinen Königsweg. Egal wie man es macht, es ist immer leicht fehleranfällig. Zu den von dir genannten Möglichkeiten möchte ich noch drei ergänzen: Falls dies mit deinem Objektsystem kompatibel ist, gibt es noch ...
von Spiele Programmierer
13.02.2021, 15:03
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Tools in Source Control einchecken?
Antworten: 23
Zugriffe: 7415

Re: Tools in Source Control einchecken?

Bei meinen privaten Projekten sind die Tools im Repository (z.B. Ninja, Premake und Nasm). Der Hauptgrund dafür ist, es für andere Leute einfacher zu machen, den Code zu kompilieren. Bei einigen Open Source Projekten gibt es ja eine ganze Anleitung oder sogar Handbuch, was man denn alles eingerichte...
von Spiele Programmierer
31.01.2021, 18:43
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [x86 Intrinsic] Gegenstück zu movemask
Antworten: 13
Zugriffe: 2850

Re: [x86 Intrinsic] Gegenstück zu movemask

Das Punktprodukt ist auch eine sehr schlechte Idee bei AMD-Prozessoren. (Durchsatz von einem Befehl in 10 bzw. 14 Takten laut AMD)

Ich würde daher von diesem Intrinsic Abstand nehmen.
von Spiele Programmierer
30.01.2021, 23:39
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [x86 Intrinsic] Gegenstück zu movemask
Antworten: 13
Zugriffe: 2850

Re: [x86 Intrinsic] Gegenstück zu movemask

@Kristhy Der _pdep_u64 -Intrinsic erfüllt eine super Funktion, hat allerdings eine fiese Falle. Ich bin auch schonmal reingetappt: Man muss dringend davon Abstand nehmen, wenn man AMD-CPUs unterstützen will. Der Befehl ist dort unbrauchbar langsam. Agner spricht von 6 Zyklen für einen Befehl Durchsa...
von Spiele Programmierer
30.01.2021, 20:45
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [x86 Intrinsic] Gegenstück zu movemask
Antworten: 13
Zugriffe: 2850

Re: [x86 Intrinsic] Gegenstück zu movemask

Gukst du einfach hier: https://software.intel.com/sites/landingpage/IntrinsicsGuide xD Sorry, ich konnte es mir nicht verkneifen. Vorweg, du kannst durchaus _mm256_blendv_ps für Integers verwenden, aber nur zur Sicherheit, falls du das noch nicht gehört hast, möchte ich darauf hinweisen, dass beim W...
von Spiele Programmierer
29.01.2021, 23:55
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Betriebssysteme
Antworten: 10
Zugriffe: 2956

Re: Betriebssysteme

Wenn du ein C(++) Programm schreibst, wird dies in Prozessorcode übersetzt. Normalerweise ist das x86 am PC. Mit einem Disassembler (oder mit dem richtigen Flag fest in die meisten Compiler eingebaut), kannst du diesen in Assemblercode umwandeln. Assemblercode korrespondiert i.d.R. 1:1 zu den Bytes ...
von Spiele Programmierer
19.12.2020, 17:10
Forum: Vorstellungsbereich
Thema: Showroom - Aktuelle Arbeiten und Projekte
Antworten: 2163
Zugriffe: 1316027

Re: Showroom - Aktuelle Arbeiten und Projekte

Hört sich doch schon ganz nett an. :) Die Übergänge dürften für meinen Geschmack aber sogar noch etwas ausgedehnt werden. Sowas ähnliches kenne ich vor allem von einem alten PowerPoint-Addin: https://cmpct.info/~calvin/Articles/PowerPointSoundtracks . Das ist glaub ich relativ nahe daran, was dir vo...
von Spiele Programmierer
13.12.2020, 21:36
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7727
Zugriffe: 2626965

Re: Jammer-Thread

Ich glaube Schrompf hat gemeint, dass du in der Warteschlange einfach ganz altmodisch C-Zeiger speicherst und zuvor release t. Eine alternative Möglichkeit wäre einen std::vector zu verwenden und einfach mit std::push_heap und std::pop_heap als Warteschlange zu verwenden. Beispiel: https://www.cplus...