Skip to content

Releases

Subsystems V0.3.1

Choose a tag to compare

@KERSEX KERSEX released this 26 Oct 17:52
Update 0.2.6 -> 0.3.0: alten Server der Python-Fassung beenden

Der Updater der 0.2.6 beendet beim Tausch nur das HUD. Der Server lief dort
als eigener Prozess (data\main.exe mit eigener Konsole) und blieb stehen: er
hielt 5100/20777, der eingebaute Server der 0.3.0 bekam die Ports nicht
("Start Server (Port belegt?)", HUD leer), bis man die alte Konsole schloss.

* alteServerBeenden(): beendet vor jedem Serverstart genau die Prozesse, deren
  voller Programmpfad data\main.exe oder main.exe neben der EXE ist - ein
  main.exe aus einem anderen Ordner bleibt unberuehrt. PyInstaller-onefile:
  erst das Kind (haelt die Ports), dann geht der Bootloader von selbst und
  raeumt seinen _MEI-Ordner weg.
* LocalServer::start (Autostart und Knopf) und --server nutzen es.
* tst_local: zwei neue Tests mit kers_schlaefer als nachgespieltem main.exe
  (Bootloader + Kind, haelt den Port).
* README: Abschnitte Selbst-Update und "Port belegt".

Gebaut gegen neu erstelltes Qt 6.11.2 statisch (LLVM-MinGW clang 23.1.2):
KERS_Subsystems.exe 57.909.760 Bytes, SHA-256
17b96aad0737c8f79accc59e2ca48e857da533fe73e400006e2126cc3eb11aa0.
8 Test-Suiten gruen. Lage nach dem Update mit der echten EXE nachgestellt
(.bak, hud_state im 0.2.6-Format, laufender data\main.exe auf Testports):
alter Server beendet, eigener Server sofort oben, .bak weg.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Subsystems V0.3.0

Choose a tag to compare

@KERSEX KERSEX released this 08 Oct 21:06
Update 0.2.6 -> 0.3.0: alten Server der Python-Fassung beenden

Der Updater der 0.2.6 beendet beim Tausch nur das HUD. Der Server lief dort
als eigener Prozess (data\main.exe mit eigener Konsole) und blieb stehen: er
hielt 5100/20777, der eingebaute Server der 0.3.0 bekam die Ports nicht
("Start Server (Port belegt?)", HUD leer), bis man die alte Konsole schloss.

* alteServerBeenden(): beendet vor jedem Serverstart genau die Prozesse, deren
  voller Programmpfad data\main.exe oder main.exe neben der EXE ist - ein
  main.exe aus einem anderen Ordner bleibt unberuehrt. PyInstaller-onefile:
  erst das Kind (haelt die Ports), dann geht der Bootloader von selbst und
  raeumt seinen _MEI-Ordner weg.
* LocalServer::start (Autostart und Knopf) und --server nutzen es.
* tst_local: zwei neue Tests mit kers_schlaefer als nachgespieltem main.exe
  (Bootloader + Kind, haelt den Port).
* README: Abschnitte Selbst-Update und "Port belegt".

Gebaut gegen neu erstelltes Qt 6.11.2 statisch (LLVM-MinGW clang 23.1.2):
KERS_Subsystems.exe 57.909.760 Bytes, SHA-256
17b96aad0737c8f79accc59e2ca48e857da533fe73e400006e2126cc3eb11aa0.
8 Test-Suiten gruen. Lage nach dem Update mit der echten EXE nachgestellt
(.bak, hud_state im 0.2.6-Format, laufender data\main.exe auf Testports):
alter Server beendet, eigener Server sofort oben, .bak weg.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Subsystems V0.2.6

Choose a tag to compare

@KERSEX KERSEX released this 15 Sep 20:31
Imola ausliefern - 0.2.6 neu gebaut

static/tracks.json hat jetzt 14 Strecken: Imola (#27) kommt dazu, gefahren von
KERS am 11.09. - 871 Punkte, geschlossene Runde, 99 % der Streckenlaenge, Luecke
zwischen erstem und letztem Punkt 1 m. Die 13 bisherigen sind unveraendert.

Gebaut und geprueft: KERS_Subsystems.exe, 243.448.340 Bytes, SHA-256
7AA64D589BE4B96B291602084D63D0F53DA3C4B2668EE5514D03C41A8B03DA4D, Icon
gegengeprueft (alle neun Groessen), 84 + 8 Inhaltspruefungen am Archiv gruen.
Im eingebetteten Server-Payload nachgesehen, denn nur main.exe liest die
Strecken: 14 Strecken, Zeichen fuer Zeichen wie im Projekt. main.py,
hud/derive.py, hud/models.py, hud/demo.py und static/tracks.json sind Byte fuer
Byte die gebauten Quellen, der Stop-&-Go-Fix ist weiterhin drin.

⚠ Diese EXE ersetzt die aus 42c4dc8 (SHA-256 0BD8074F...) - selbe Version 0.2.6,
die ist noch nicht getaggt.

Im Spiel noch nicht gegengefahren.

Tag und Release legt KERS selbst an.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Subsystems V0.2.5

Choose a tag to compare

@KERSEX KERSEX released this 05 Sep 12:07
0.2.5 ausliefern

static/version.txt auf 0.2.5. Dazugekommen seit 0.2.4:

  * Kamera-Tasten kommen im Spiel an - die Taste wird gehalten statt angetippt
  * Haltezeit als Regler in /settings, falls 60 ms nicht reichen
  * Kamera setzen sitzt in den Tower-Zeilen statt in einem eigenen Raster

Gebaut und geprueft: KERS_Subsystems.exe, 243.224.034 Bytes, SHA-256
0FE4A051B334C1CF487C828B65ED5F27FE049ABC1DF5BE0ACD89328A0B742A07, Icon
gegengeprueft, 66 Inhaltspruefungen am Archiv gruen - darunter die Gegenprobe,
dass das alte Kamera-Raster wirklich raus ist und nicht nur ueberdeckt.

Von KERS im Spiel bestaetigt: das Setzen der Kamera funktioniert.

Tag und Release legt KERS selbst an.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Subsystems V0.2.4

Choose a tag to compare

@KERSEX KERSEX released this 05 Sep 10:54
0.2.4 ausliefern

static/version.txt auf 0.2.4. Dazugekommen seit 0.2.3:

  * Kamera aus der Regie setzen - ein Tipp je Position, P21/P22 ueber F8
  * Abschalter dafuer in /settings, die Wahl wird gespeichert

Gebaut und geprueft: KERS_Subsystems.exe, 243.223.666 Bytes, SHA-256
7B0B7BEDE51D17F46A1EEFC21F97C8B3556A1B52EDFB433C63DB63D7D49A3498, Icon
gegengeprueft, 62 Inhaltspruefungen am Archiv gruen.

⚠ Eigens nachgesehen, ob pydirectinput wirklich in der EXE steckt: der Import
sitzt in einem try-Block, und ein Modul, das PyInstaller nicht findet, faellt
still weg - /api/cam meldete dann im fertigen Programm nur "pydirectinput fehlt".
In der PYZ des Payloads liegen KEYEVENTF_SCANCODE und
_genericPyDirectInputChecks, also der echte Modulcode und nicht bloss der Name
aus der Import-Zeile.

Tag und Release legt KERS selbst an.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Subsystems V0.2.3

Choose a tag to compare

@KERSEX KERSEX released this 04 Sep 22:12
0.2.3 ausliefern

static/version.txt auf 0.2.3. Dazugekommen seit 0.2.2:

  * Freies Layout Stufe 4 - Ebenen-Liste und mehrere speicherbare Layouts
  * Bausteine und Ebenen in /settings als Klappbloecke
  * Quali-Tower 75 px schmaler, der Platz rechts war ungenutzt
  * Podiumszahlen schlicht, Metallverlauf umschaltbar
  * Layout ohne laufenden Server geht nicht mehr verloren
  * Quali-Status: ERS entlastet, statt zu belasten

Offen bleibt der dritte Punkt von Stufe 4 - einklappbare Bausteine. Dafuer muss
erst feststehen, was "eingeklappt" je Baustein heissen soll.

Gebaut und geprueft: KERS_Subsystems.exe, 243.207.428 Bytes, SHA-256
FC44C3BB01DCFF59AB88AB1DCDE18F5570E2433397D613589EF0F2D4F95519E8, Icon
gegengeprueft, 51 Inhaltspruefungen am Archiv gruen. Tag und Release legt KERS
selbst an.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Subsystems V0.2.2

Choose a tag to compare

@KERSEX KERSEX released this 23 Aug 03:02
0.2.2: Quali-Tower ist 75 px schmaler - der Platz rechts war ungenutzt

Gemeldet: in der Quali steht rechts neben der Status-Spalte eine leere Flaeche.

Der Panelboden ist fest gesetzt, Quali 732 und Rennen 628. Die 732 stammen aus
tower.css, und dort hat die Quali bis heute eine Sektoren-Spalte (.quali-mode,
150 px). Im QML steht die auf 0 - die Sektorzeiten stehen unten in den
Hotlap-Boxen -, der Boden ist aber stehengeblieben.

Nachgemessen: 657 px Inhalt in einem 732 px breiten Panel, also 75 px tote
Flaeche. In der Quali bestimmt jetzt der Inhalt die Breite.

Der Rennen-Boden von 628 BLEIBT: dort fuellen die Spalten 615 px, und die 13 px
Rest sind die Aufteilung, die so aussehen soll. Im Web-Overlay bleibt 732
ebenfalls richtig - dort gibt es die Sektoren noch.

Die Status-Spalte selbst bleibt bei 86 px. Nachgemessen will die breiteste Pille
("HOTLAP") 70,1 plus 12 Rand = 82,1 und die Kopfzeile 72,0 - da sind vier Pixel
Luft, weiter schrumpfen wuerde abschneiden. Der tote Platz sass rechts NEBEN der
Spalte, nicht darin.

Geprueft mit einem neuen Skript in beiden Modi: Quali 657 zu 657 (nichts
ungenutzt), Rennen unveraendert 628 zu 615.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Subsystems V0.2.1

Choose a tag to compare

@KERSEX KERSEX released this 17 Aug 01:17
0.2.1: Groesse waechst aus der gehaltenen Ecke, nicht aus der Mitte

Fabians Rueckmeldung: es soll von da wachsen, wo man zieht.

Bisher richtete sich das Groessenziehen nach dem ANKERPUNKT des Bausteins: die
Lage blieb fest, und weil x und y aus Ankerpunkt und Flaeche gerechnet werden,
wuchs er von seiner Ankerecke weg. Bei sieben der dreizehn Bausteine ist die
mittig (tc/bc/cc) - Meldungs-Banner, Fastest-Lap-Banner, Ampel, Battle-Boxen,
Hotlap-Boxen, Lower-Third, Gefahrenzone. Die wuchsen dadurch nach BEIDEN Seiten
gleichzeitig, also genau aus der Mitte heraus.

Jetzt bleibt die GEGENUEBERLIEGENDE Ecke liegen: zieht man unten rechts, steht
oben links still, und umgekehrt. Neu ist groesseKarte(), die aus der beim
Anfassen eingefrorenen Flaeche und dem Verhaeltnis der Faktoren die neue Lage
mitrechnet. Bewusst nicht an der Mausposition: so bleibt die feste Ecke wirklich
stehen, statt um Rundungsreste zu wandern. festDx/festDy entfallen dafuer.

⚠ Beim Messen aufgefallen: das Groessenziehen kannte keine Randbegrenzung. Zieht
man einen Baustein an der oberen linken Ecke auf, waechst er nach links - und
lief ungebremst aus dem Bild (gemessen x = -60). Das Verschieben begrenzt seit
Stufe 3 auf die Szene, das Skalieren nicht. Jetzt beides. Am Rand gibt dann die
feste Ecke nach; das ist das kleinere Uebel gegenueber einem Baustein, den man
nicht mehr sieht und ohne die Regler in /settings nicht zurueckholt.

Gemessen an der echten Szene: unten rechts aufziehen laesst linke und obere
Kante stehen (500 -> 500, 400 -> 400), oben links aufziehen laesst rechte und
untere stehen (809 -> 808, 591 -> 590), und bei den mittig verankerten
Battle-Boxen steht die linke Kante still statt mitzuwandern (1117 -> 1117).
Kleiner ziehen, Verschieben in der Mitte und die Randbegrenzung ebenfalls
geprueft; ein Baustein, den man ueber die Ecke aus dem Bild ziehen will, landet
auf 0/0 statt draussen.

⚠ Fuer den Test: einen Baustein erst auf einen freien Platz stellen. Das Onboard
hat an seinem Standardplatz nur 28 px bis zur Unterkante - dort misst man beim
Aufziehen die Randbegrenzung statt der Verankerung, und der Test schlug aus dem
falschen Grund fehl.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Subsystems V0.2.0

Choose a tag to compare

@KERSEX KERSEX released this 16 Aug 02:19
0.2.0: Knopf heisst Standard Layout statt Positionen zurueck

Fabians Wunsch. Nur die Beschriftung und der Titel der Rueckfrage - was der
Knopf tut, bleibt gleich: er leert die Einstellung layout, damit in Overlay.qml
wieder der einprogrammierte Ausdruck je Baustein gilt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Subsystems V0.1.9

Choose a tag to compare

@KERSEX KERSEX released this 15 Aug 01:07
0.1.9: Boxenzahl als Regler unter "Battles & Strategie", 0 = aus

Beide Werte stehen jetzt als Schieberegler (0-4) im Abschnitt "Battles &
Strategie" statt als Zahlenfelder im Feintuning. 0 heisst aus - damit ersetzt
der Regler den frueheren Schalter "Battle-Boxen", der aus der Liste raus ist.

Der alte Schluessel "battles" wird beim Ziehen MITGESCHRIEBEN (battles = wert>0).
Grund: das Web-Overlay (static/parts/battles.js) liest ihn weiter, und er steckt
in den Presets. Ohne das haette der Regler im QML gewirkt und im Web-Renderer
nicht. Umgekehrt zeigt der Regler 0, wenn battles false ist - sonst stuende dort
eine 4, waehrend unten nichts zu sehen ist.

⚠ Dafuer musste renderToggles() umgebaut werden. Die Liste wurde bisher bei
JEDER Aenderung komplett neu gebaut (save -> renderAll -> innerHTML). Mit reinen
Schaltern ging das; ein Schieberegler darin waere beim Ziehen bei jedem Ereignis
neu erzeugt worden, haette den Fokus verloren und sich nicht ziehen lassen. Jetzt
wird einmal gebaut und danach nur aufgefrischt (Auf/Zu, Zaehler, Schalter).

Presets ergaenzt: voll und kompakt 4/4, minimal 0/0.
main.py laesst jetzt 0 zu (vorher 1-4), parts._box_wunsch ebenso - 0 ergibt eine
leere Anzeigeliste, alle Boxen blenden sich aus.

Geprueft im Browser gegen die echte Seite: Abschnitt zeigt zwei Regler 0-4 mit
richtigen Werten, der alte Schalter ist weg, bei 0 steht "aus", die Presets
setzen 0/0 bzw. 4/4 - und der Regler ist nach einem Neuzeichnen noch DASSELBE
DOM-Element (der Punkt, an dem es sonst zerbrochen waere).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>