## c't-Projekte - Mailinglisten

[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

### [ct-bot] CVS-Update -- Neuer c't-Sim

Absender: Benjamin Benz
Datum: Do, 22.02.2007 20:04:44

    Hallo,

    endlich ist es soweit: Im CVS sind die neuen Versionen von c't-Sim und
    c't-Bot (Release 13). Achtung, man muss beide Projektteile aktualisieren.

    Neue Features für den Sim:
    * Erste Version eines Applet, das man auf WLAN-Bot laden kann (siehe
    documentation/applet-howto/applet-howto.html)
    * Reale Bots können sich wieder verbinden (per USB und per TCP für
    WLAN-Bots)
    * Wettbewerbs-System, so wie es im Oktober verwendet wurde
    (ctSim.view.contestConductor)
    * Remote-Calls
    * Diverse Verbesserungen und Umstellungen

    Achtung: Die main()-Methode des ctSim ist umgezogen. Sie wohnt nicht
    mehr in ctSim.controller.Controller, sondern in ctSim.controller.Main.
    Man muss zum Starten des c't-Sim also Main laufenlassen, nicht
    Controller. Alte "Run"-Profile in Eclipse müssen dementsprechend
    angepasst werden.

    Die vollen Details verrät das Changelog seit dem letzten Release.

    Binäre Releases und ein Update der Webseite folgen in den nächsten
    Tagen. Wir arbeiten an der Einrichtung eines Bug-Trackers -- bis dahin
    Bug-Berichte weiterhin per Mail an uns.

    MfG Benjamin Benz

    Changelog fuer c't-Sim
    ======================

    2007-02-22 Benjamin Benz [bbe@xxxxxxxx]: internes CVS in externes
    gespiegelt fuer ct-sim-mit-applet-release

    2007-02-22 18:38 Hendrik Krauß [hkr@xxxxxxxx]: Releasevorbereitung 2
    * Applet-Howto rein
    * Javadoc-Ant-Task: Ausgabeverzeichnis geändert

    2007-02-22 18:38 Hendrik Krauß [hkr@xxxxxxxx]: Releasevorbereitung
    * contrib/rxtx wieder eingecheckt (war irgendwie nicht mehr da)
    * Version 2.1b -> 2.1

    2007-02-22 18:22 Hendrik Krauß [hkr@xxxxxxxx]:
    * Fix für 55: Absturz Knopf "Welt generieren"
    * Fix für 23: Logging in Konsole anzeigen
    * Aufgeräumt: ConsoleComponent
    * ct-sim.xml: Timeout jetzt 500 ms
    * Cross-Plattform: Applet unter Linux jetzt auch im Metal-Look-And-Feel
    * Neu: Klasse Init weil Main des Applet und Main der Applikation
    bisschen gemeinsamen Code haben

    2007-02-22 13:53 Hendrik Krauß [hkr@xxxxxxxx]:
    * Fix für 39: Simbots sterben nicht
    * Fix für 44: Steckengebliebene Bots von Simulation ausschließen
    * Fix für 52: Parameter AliveObstacleTimeout raus
    * ct-sim.xml: Bisschen mehr Doku
    * Config matcht jetzt für die neuen os-Attribute nicht volle Strings,
    sondern Anfänge ("Windows" matcht "Windows XP", "Windows 2000" usw.)
    * ThreeDBot etwas aufgeräumt (mehr Doku, paar Umbenennungen, Warnungen
    erledigt)

    2007-02-22 00:16 Timo Sandmann [mail@xxxxxxxxxxxxxxx]:
    * OS-Parameter fuer Mac OS X ergaenzt

    2007-02-21 19:40 Hendrik Krauß [hkr@xxxxxxxx]:
    * Applet etwas robuster, läuft wieder im Applet Viewer
    * Neues Project Setting: Encoding auf UTF-8 (auch für Windows). Jetzt
    sollten Umlaute plattformübergreifend gehen

    2007-02-21 18:58 Hendrik Krauss [hkr@xxxxxxxx]:
    * ct-sim.xml hat jetzt "os"-Attribut, Doku folgt
    * In Eclipse /parcours, /tmp usw. aus dem Build-Path genommen (sind ja
    keine Packages, sondern Ordner) -- Datei .classpath
    * Cross-Plattform: Look and Feel fuer Linux auf Metal
    * Umlaute und so, an denen sich Linux verschluckt, geaendert

    2007-02-20 15:35 Hendrik Krauss [hkr@xxxxxxxx]: Log-Fenster per Default
    breiter (80 Spalten)

    2007-02-20 15:08 Hendrik Krauss [hkr@xxxxxxxx]:
    * Fix fuer 33: Laufenden Remote-Call abbrechen
    * Fix fuer 25: Warnung, wenn keine Welt da und SimulatedBot hinzugefuegt
    * Kleinigkeiten

    2007-02-17 0:50 Hendrik Krauss [hkr@xxxxxxxx]:
    * DefaultController vereinfacht, Prinzip ist: Sequencer-Thread laeuft
    genau dann, wenn eine Welt geladen ist
    * Das fixt hoffentlich Bug 10
    * Stop-Knopf weg (fixt Bug 13)
    * Etliche Todo-Marker durchgesehen
    * Level etlicher Logausgaben angepasst

    2007-02-17 0:38 Hendrik Krauss [hkr@xxxxxxxx]: Remote-Calls getestet und
    verbessert, sind jetzt recht stabil

    2007-02-16 16:47 Hendrik Krauss [hkr@xxxxxxxx]: Fix fuer Bug 12:
    Sim-Absturz beim schliessen eines Bots

    2007-02-16 13:58 Hendrik Krauss [hkr@xxxxxxxx]: Nachtrag zum letzten Checkin

    2007-02-16 13:56 Hendrik Krauss [hkr@xxxxxxxx]:
    * Applet: Log-Level einstellbar zur Fehlersuche
    * Kleinigkeiten

    2007-02-15 18:40 Hendrik Krauss [hkr@xxxxxxxx]: Goldene Regel: Erst
    testen, dann einchecken

    2007-02-15 18:32 Hendrik Krauss [hkr@xxxxxxxx]: Bisschen Updates am
    Applet-Bauen

    2007-02-15 15:52 Hendrik Krauss [hkr@xxxxxxxx]:
    * Neu: Applet (ctSim.applet.Main); wie man's baut siehe Wiki
    * Neu: make-applet.xml, applet.html, java.policy.applet (letztere
    uninteressant, nur Eclipse-intern noetig)
    * Fix fuer Bug 10: Sim-Bug beim Schliessen von Welten
    * Keine "Synch verloren"-Warnungen mehr beim Verbinden mit Real-Bots
    * Icon-Bereitstellung umorganisiert (wegen
    Applet-Sicherheitsbeschraenkungen); IconHashMap umbenannt nach FileIconMap
    * Kleinigkeiten

    2007-02-13 19:22 Hendrik Krauss [hkr@xxxxxxxx]:
    * Fix fuer Bug 4: Auto-Scrolling im Sim-Log-Fenster
    * Fix fuer Bug 5: Sim-Log-Fenster: "Speichern als txt"
    * daher Neu: LogViewer
    * Zu Bug 7: ct-Sim-Probleme OSX 10.4.x -- MainWindow leitet alle Calls,
    die von aussen (Controller) kommen, jetzt auf den EDT um. Vielleicht ist
    das die Loesung des Bug. Mal testen
    * Dialog "Verbinden / Per TCP" ueberarbeitet; IP/Port werden jetzt aus
    Konfig geholt (neue Parameter eingefuehrt)
    * Neu: Icon Save16
    * Neu: BackslashNConverterStream
    * Weg: ComponentGroupGUI war noch von einer Aufraeumaktion uebriggeblieben

    2007-02-13 12:29 Hendrik Krauss [hkr@xxxxxxxx]:
    * Fix fuer Bug 8: Kein Scrollen moeglich, wenn Sim aktiv
    * Fix fuer Bug 3: Logging zum Sim fehlerhaft

    2007-02-13 2:04 Hendrik Krauss [hkr@xxxxxxxx]:
    * Neu: RemoteCallCompnt inkl. Gui
    * Verschoben: Icons werden jetzt von Config bereitgestellt
    * Neu: 2 Hilfsklassen

    2007-02-11 17:57 Hendrik Krauss [hkr@xxxxxxxx]:
    * Nachtrag zum 5.2. -- vergessen im Changelog zu vermerken: Command
    aktualisiert, SubCodes sind jetzt abhaengig von den Codes
    * Weg: @Buisit-Annotation (Applet-Security mag das nicht; laeuft jetzt
    ueber Methodenname, wenn das auch weniger offensichtlich ist)
    * Umbenannt: Closure -> Runnable1 (weniger verwirrend)
    * Command: Setter fuer SubCode und Payload
    * SimBotTcpDump toleriert jetzt ProtocolExceptions
    * Kleinigkeiten

    2007-02-03 23:21 Hendrik Krauss [hkr@xxxxxxxx]:
    * Neu: Verbindungen per USB (COM) werden automatisch erkannt, kein
    Menuepunkt mehr noetig
    * Verschoben: Auf Verbindungen horchen (TCP und USB) und Handshaking
    (TCP) in ComConnection bzw. TcpConnection verlagert und ueberarbeitet.
    DefaultController daher einfacher. Grund: Wird im Applet auch gebraucht,
    das keinen DefaultController zur Verfuegung hat
    * Komplettiert: Doku fuer Command; erzaehlt einiges zum Protokoll
    * Neu: ctSim.util.Menu, duenne Abstraktionsschicht ueber Swing, um
    JMenus / JMenuItems leichter schreiben zu koennen (aus MainWinMenuBar
    ausgekoppelt)
    * Neu: ComConnection geht davon aus, dass sie ein Singleton ist
    * Kleinigkeiten

    2007-01-31 22:43 Hendrik Krauss [hkr@xxxxxxxx]:
    * Weg: MovableObstacle (unklar, was Unterschied zu AliveObst sein soll,
    nirgends verwendet)
    * Neu: Gui fuer Position + Heading
    * Weg: Alte Pos-Gui, BotPosition (hat eigentlich nichts getan)
    * Umbenannt: ctSim.view.gui.Simple -> Tables (ist deskriptiver)
    * Neu: Serial-Port-Einstellungen in der ct-sim.xml (Realbot)
    * Kleinigkeiten

    2007-01-30 16:25 Hendrik Krauss [hkr@xxxxxxxx]:
    * Neu: RealBot; scheint gut zu klappen ueber USB
    * Neu: Sensoren koennen lesen (wegen RealBot)
    * Fix: LED-Reihenfolge war falschrum
    * Neu: SaferThread, weil das Pattern viel vorkommt im Programm
    * Command robuster gemacht gegen NullPointers
    * Connection + Subklassen: Konstruktionsablauf vereinfacht
    * Besseres Exception-Handling fuer ComConnection

    2007-01-30 0:11 Hendrik Krauss [hkr@xxxxxxxx]: Grosse Umstellung
    hinsichtlich der Bots (hoffentlich die letzte)
    * Alles instabil, noch nicht gut getestet
    * Weg: BotManager (in World integriert)
    * AliveObstacle aus der Bothierarchie raus: Verwaltet (1) Shape, (2)
    ObstState/Appearance, (3) Position/Heading und (4) Thread fuer die
    Simulation. Das sind alles Sachen, die nur Sim-Bots brauchen (Real-Bots
    nicht)
    * AliveObstacle jetzt ein Wrapper um einen simulierten Bot
    * Umbenannt: AliveObstacle -> ThreeDBot, s.o.
    * Umbenannt: Bot -> BasicBot
    * Umbenannt: CtBotSim -> SimulatedBot (jetzt ein Interface)
    * Neu: Interface Bot, moeglichst leichtgewichtig
    * Bots erstellen jetzt einfacher (Konstruktorsignaturen); braucht aber
    mehr Klempnerei (Wrapper mit Bot verdrahten, Bot mit Sim usw.); jetzt
    zentralisiert in der Welt
    * Neu: SimulatorFactory, die Bots mit Simulatoren verknuepft
    * Klarer Mechanismus zum Bots beenden (DisposeListener)
    * Komponenten jetzt wo sie hingehoeren (CtBot)
    * Kommando-Auswerte-Kram jetzt wo er hingehoert (BotComponentsList)
    * Test-Bot nach wie vor ausser Funktion
    * Neu: BotBarrier, um die Bots zu synchronisieren
    * Umbenannt: BotBuisitor -> GuiBotBuisitor
    * Kleinigkeiten

    2007-01-26 23:05 Hendrik Krauss [hkr@xxxxxxxx]:
    * Neu: Obststate (AliveObstacle) ist jetzt ein EnumSet, vereinfacht
    manches im AObst und MasterSim
    * Kleinigkeiten

    2007-01-26 1:36 Hendrik Krauss [hkr@xxxxxxxx]:
    * CtBotSimTcp: Paar Todos erledigt
    * I/O im CtBotSimTcp vereinfacht
    * Neu: Nichtverarbeitete Kommandos werden erkannt
    * Neu: Welcome-Kommando wird geprueft
    * Kleinigkeiten

    2007-01-25 21:05 Hendrik Krauss [hkr@xxxxxxxx]: Mist -- ct-sim.xml,
    .classpath, .project versehentlich mitcommittet. Rueckgaengig

    2007-01-25 20:46 Hendrik Krauss [hkr@xxxxxxxx]:
    * Neu: Split-Model-Ansatz fuer BotComponents (haben jetzt ein internes
    und ein externes Model), um Threadsicherheit zu garantieren; Doku folgt
    * Neu: Bot-Komponente Uhr (sagt ihm die Simzeit)
    * Fix: Seit Commit 18. Jan 12:45 war Simulation subtil defekt. Grund:
    Bot verlaesst sich darauf, dass SENS_ERROR das vorletzte Kommando ist
    (DONE das letzte). Sim hat es irgendwo geschickt, nicht unbedingt als
    letztes. CommandOutputStream weiss das jetzt und ist nebenbei einfacher
    geworden
    * SimBotTcpDump startet neu, wenn es die Verbindung verliert
    * Wieder eigene Datei: LcDisplayTest
    * Umgezogen: MemoryLeakTest
    * Kleinigkeiten

    2007-01-18 17:32 Hendrik Krauss [hkr@xxxxxxxx]:
    * Neu: Asynchrones Schreiben fuer Bot-Komponenten (RemoteControl,
    MousePicture)
    * Neu: MousePicture wird angezeigt
    * Kleinigkeiten

    2007-01-18 12:45 Hendrik Krauss [hkr@xxxxxxxx]:
    * Neu: Trans-, Door- und Error-Sensoren
    * Umbenannt: Actuator -> Actuators
    * Umorganisiert: Aktuatoren alle in Datei Actuators umgezogen (400
    Zeilen, vertretbare Groesse)
    * Umorganisiert: Sensoren alle in Datei Sensors umgezogen (210 Zeilen)
    * update()-Calls in MainWindow / WorldViewer waren ueberfluessig
    * Alte Sensoren-Infrastruktur konnte weg
    * Kleinigkeiten

    2007-01-17 20:16 Hendrik Krauss [hkr@xxxxxxxx]:
    * Neu: Maus-Sensor
    * calcPos() ist jetzt auch ein Simulator
    * Threading-Probleme; lassen Simulation jetzt auf dem
    Event-Dispatch-Thread laufen; verlangsamt alles
    * E/A ist jetzt buffered (scheint auch was zu helfen, wenn ich die
    Ausgabe vom Profiler richtig interpretiere)
    * Kleinigkeiten

    2007-01-15 21:07 Hendrik Krauss [hkr@xxxxxxxx]: Mehr Sachen aus meinem
    lokalen Prototyp eingebaut
    * Neu: Konfigoption, die den RC5-Code angibt, der beim Starten an einen
    Sim-Bot gehen soll; Default "Taste 5"
    * Neu: Fernbedienungssensor, -gui
    * Kleinigkeiten

    2007-01-15 13:42 Hendrik Krauss [hkr@xxxxxxxx]: Mehr Sachen aus meinem
    lokalen Prototyp eingebaut
    * Neue, vereinfachte Infrastruktur fuer Simulation
    * TimeLogger hat jetzt Konfig-Einstellung
    * Neu: Buisitor, der Builder+Visitor-Pattern ermoeglicht (Doku folgt)
    * Kleinigkeiten

    2007-01-15 13:42 Hendrik Krauss [hkr@xxxxxxxx]: Mehr Sachen aus meinem
    lokalen Prototyp eingebaut
    * Neu: Abgrundsensoren
    * Neu: Lichtsensoren
    * Kleinigkeiten

    2007-01-15 12:16 Hendrik Krauss [hkr@xxxxxxxx]: Mehr Sachen aus meinem
    lokalen Prototyp eingebaut
    * Neu: Liniensensor
    * Umbenannt: RunOfTheMill -> Simple (versteht ja keiner)

    2007-01-15 01:31 Hendrik Krauss [hkr@xxxxxxxx]: Mehr Sachen aus meinem
    lokalen Prototyp eingebaut
    * Neu: Abstandssensor (schwere Geburt)
    * Neu: Listen und Maps kann man einfacher mit Typinferenz erzeugen;
    Misc.newMap() / Misc.newList(); ueberall umgestellt
    * Kleinigkeiten

    2007-01-14 21:07 Hendrik Krauss [hkr@xxxxxxxx]: Mehr Sachen aus meinem
    lokalen Prototyp eingebaut
    * Neu: CtBotShape, zweifarbige Shape des c't-Bot, zu sehen bei
    Kollisionen/Loechern/abgerissenen TCP-Verbindungen; das neue Aussehen
    ist auch klarer im Code und nicht mehr um 90? gedreht wie bisher
    (konsistent mit Headings)
    * AliveObstacle: Heading um 90? gedreht (vorher: Kurs 0? = nach
    Steuerbord, jetzt: Kurs 0? = geradeaus)
    * AliveObstacle: Appearance-Verwaltung etwas aufgeraeumt
    * Neu: Konsistente und freundliche Bot-Namen
    * Aufgeraeumt: ConfigManager umfassend entschlackt; gesamte Konfig wird
    jetzt von Klasse Config verwaltet; dort auch neuer Appearance-Parser
    * Daher Aenderungen ueberall: ConfigManager -> Config
    * Fix: XmlDocument hat jetzt klaren Umgang mit nicht vorhandenen Nodes
    * Robustheit: Decoratoror wirft mehr Exceptions
    * Fix: Decoratoror hat Methoden aus Object ignoriert
    * Kleinigkeiten

    2007-01-11 21:09 Hendrik Krauss [hkr@xxxxxxxx]: Mehr Sachen aus meinem
    lokalen Prototyp eingebaut
    * Aufgeraumt (Forts.): CtBotSimTcp
    * Neu: Simulatoren-Infrastruktur im CtBotSimTcp (aber weiss noch nicht,
    ob die so bleibt)
    * Neu: EncoderSensor ueberarbeitet + samt seinem Simulator
    * Umbenannt: ctSim.view.gui.Actuators ->
    ctSim.view.gui.RunOfTheMill.Actuators
    * Kleinigkeiten

    2007-01-10 17:19 Hendrik Krauss [hkr@xxxxxxxx]: Mehr Sachen aus meinem
    lokalen Prototyp eingebaut
    * BotComponent jetzt mit CanRead- und CanWrite-Interfaces, scheint mir
    besser so
    * Neu: Governor ueberarbeitet, alte Aktuatoren-Gui konnte damit weg
    * Neu: Unterstuetzung fuer DoorServo
    * Verschoben: Log-Komponente -> freigewordene Actuator-Klasse (die
    kurzen Klassen kann man gut in einer Datei zusammenfassen)
    * Dokumentiert: Component-Flag-Tabellen
    * Kleinigkeiten

    2007-01-09 21:46 Hendrik Krauss [hkr@xxxxxxxx]: Mehr Sachen aus meinem
    lokalen Prototyp eingebaut
    * Fix: Aktuatoren/Sensoren zeigen wieder Werte
    * Neu: LEDs (Indicators umbenannt und aktualisiert)
    * Neu: Entwicklertool ctSim.SimBotTcpDump (Macht die Command-Objekte
    sichtbar, die durch die TCP-Verbindung zwischen c't-Sim und Steuercode
    laufen)
    * Aufgeraeumt: Connection: toter Code weg, Methoden umbenannt wie in
    Java ueblich (send -> write, disconnect -> close); wirkt sich auf
    Commands + deren Verwender aus
    * Aufgeraeumt: TcpConnection: Vereinfacht
    * Neu: ComConnection: Unterstuetzung fuer serielle Verbindungen
    * DefaultController: Unterstuetzung fuer Real-Bots
    * RXTX im Eclipse-Projekt als Library angemeldet
    * Kleinigkeiten

    2007-01-09 15:03 Hendrik Krauss [hkr@xxxxxxxx]: Mehr Sachen aus meinem
    lokalen Prototyp eingebaut
    * Bot: Infrastruktur fuer Component-Flag-Tabellen (Doku folgt)
    * Neuer Log-Aktuator (Klasse Log); noch ungetestet, da Sim-Bot sowas
    nicht sendet und Real-Bot noch nicht geht
    * CtBotSimTcp: Log- und LCD-Kram weg
    * Kleinigkeiten

    2007-01-09 13:20 Hendrik Krauss [hkr@xxxxxxxx]: Mehr Sachen aus meinem
    lokalen Prototyp eingebaut
    * Gui-Bauen-Infrastruktur jetzt Builder/Visitor-Pattern (BotViewer
    angepasst, BotBuisitor dazu, AndEverything dazu); Doku folgt
    * BotComponent: Neue Infrastruktur vorbereitet, Klasse Flags erstellt
    * Erste neue Komponente: LcDisplay, die andern werden nach und nach
    upgedated
    * CtBotSimTcp: LCD-Verwaltungs-Kram in LcDisplay verlagert (da gehoert's
    ja wohl hin)
    * Bot + AliveObst aufgeraeumt
    * Interface TcpBot weg (keine Bedeutung mehr ohne AnsweringMachine)
    * Kleinigkeiten

    2007-01-08 20:07 Hendrik Krauss [hkr@xxxxxxxx]: Mehr Sachen aus meinem
    lokalen Prototyp eingebaut
    * Klasse Command ueberarbeitet, vereinfacht, teilweise dokumentiert.
    Wirkt sich auf alle Stellen aus, wo sie verwendet wird
    * CtBotSimTcp: bisschen aufgeraeumt
    * AnsweringMachine raus, hat keinen Sinn (Streams puffern eh alles)
    * EchoTest und TestServer werden nicht mehr mitkompiliert
    * BotComponent.getType() weg (nirgends verwendet), wirkt sich auf alle
    BotComponents aus
    * Aktuatorklasse Display aufgeraeumt, umbenannt: LcDisplay
    * Kleinigkeiten

    2007-01-08 1:03 Hendrik Krauss [hkr@xxxxxxxx]: Einige Sachen aus meinem
    lokalen Prototyp eingebaut
    * RX/TX-Bibliothek wieder eingecheckt (Vorbereitung fuer
    RealBot-Restauration)
    * CtSimFrame aufgeteilt: MainWindow und MainWinMenuBar
    * JTabbedPaneWithCloseIcons neu implementiert (ClosableTabsPane:
    kuerzer, einfacher, kann bisschen mehr), 2 Icons hinzugefuegt
    * Bot: stop() und die() waren Synonyme, stop() entfernt
    * AObst hat death listener bekommen (wird benachrichtigt, wenn AObst stirbt)
    * BotInfo weg (bestand im Endeffekt nur aus 2 Feldern)
    * BotPanel, DefBotPanel unter dem Namen BotViewer zusammengefasst und
    vereinfacht
    * ControlBar ist aufgrund der Vereinfachungen ueberfluessig geworden
    * Kleinigkeiten

    2007-01-07 18:50 Hendrik Krauss [hkr@xxxxxxxx]:
    Ok, mein letzter Check-in (18. Dez) war Mist. Der ganze NavState klappt
    nicht
    und ich weiss nicht woran's liegt. Verwerfe den letzten Commit: gehe auf den
    vorletzten Check-in zurueck (Stand 6. Dez, denn am 5. war der vorletzte
    Check-in). Dann gehen wir das nochmal ruhiger an.

    2006-12-18 Hendrik Krauss [hkr@xxxxxxxx]: Entwicklungsversion, UNSTABLE
    * Blickrichtung (Heading) wird jetzt fast ueberall in Grad
    (Uhrzeigersinn und 0? = Norden) ausgedrueckt, das ist einfacher und
    weniger irrefuehrend als der bisherige Vector3d. Funktioniert in Gui
    noch nicht
    * Position + Blickrichtung eines AliveObstacle gesammelt in neuer Klasse
    NavState (J3D-Modularisierung)
    * Alten Code in Bot und CtBot geloescht
    * Alle Sensoren/Aktuatoren: Methode getType() weg, wurde nie aufgerufen
    * Diverses

    2006-12-05 Hendrik Krauss [hkr@xxxxxxxx]:
    * FacadeFactory umbenannt in Decoratoror, viel davon umgeschrieben,
    jetzt klarer und weniger umstaendlich
    * Config.java bisschen vereinfacht
    * Bug entdeckt (nicht gefixt, aber ich will das hier dokumentieren):
    Beim Laden von Parcours von Platte treten MalformedURLExceptions auf;
    keine Ahnung seit wann, mindestens seit dem letzten CVS-Tag; da es in
    meiner lokalen Entwicklungskopie nicht auftritt, rechne damit, dass das
    Problem in der naechsten Zeit weggeht

    2006-12-01 Hendrik Krauss [hkr@xxxxxxxx]: Beginn der Operation
    Java3D-Modularisierung, Tag erstellt (weil das geplante Applet kein J3D
    haben wird, muss der ganze J3D benutzende Code so geschickt
    zusammengefasst sein, dass man durch Weglassen eines Sim-Moduls
    ueberhaupt keine Abhaengigkeit zu J3D mehr hat)
    * Unnoetige Abhaengigkeit von Bot auf J3D weg
    * Dito Sensoren und Aktuatoren
    * Fix: Javadoc-Warning in WorldViewer

    2006-11-24-B Hendrik Krauss [hkr@xxxxxxxx]:
    * Infrastruktur: FacadeFactory ermoeglicht Mixins, so ganz generell
    * XmlDocument glorifiziert mit Hilfe von Mixins, liefert jetzt bessere
    Nodes zurueck

    2006-11-24 Hendrik Krauss [hkr@xxxxxxxx]:
    * Mikro-Aenderung, nur ein paar Kommentare

    2006-10-25 Hendrik Krauss [hkr@xxxxxxxx]:
    * Alle Parcours des Wettbewerbs eingecheckt
    * Kleinigkeiten hier und da

    2006-10-19 Benjamin Benz [bbe@xxxxxxxx] / Hendrik Krauss [hkr@xxxxxxxx]:
    * Fix: Restwegfindung beachtet jetzt alle Zielfelder, nicht nur das ganz
    links

    2006-10-18-C Hendrik Krauss [hkr@xxxxxxxx]:
    * ContestConductor und Subsysteme beachten jetzt die Reihenfolge der
    Bots (vorher war es Glueckssache, ob der, der in ctsim_game.bot1 steht
    auch in ctsim_log.pos1x/pos1y/usw. geschrieben wurde)
    * Abgerissene SQL-Verbindungen werden neu aufgebaut (nach Erichs
    nonchalantem Hinweis "och das kann schon mal passieren")
    * Wiedereinstieg in abgebrochene Turniere verbessert: Findet jetzt auch
    wieder rein, wenn Vorrunde komplett, aber Hauptrunde noch nicht geplant

    2006-10-18-B Hendrik Krauss [hkr@xxxxxxxx]:
    * Logschritt ganz am Ende eines Spiels wird jetzt erzwungen, um
    Forentrollen den Wind aus den Segeln zu nehmen ("Der ist ja gar nicht
    ganz im Ziel")

    2006-10-18 Hendrik Krauss [hkr@xxxxxxxx]:
    * 10 Sekunden Pause zwischen Spielen
    * Sortierung Vorrunden-Rangliste nicht nach "finishtime", sondern
    "finishtime, bot1restweg"

    2006-10-17 Hendrik Krauss [hkr@xxxxxxxx]:
    * Absturzresistenz: abgebrochene Contests werden erkannt und
    wiederaufgenommen
    * Wenn einer auf dem Zielfeld steht, kriegt er Restweg = 0
    * Aenderung in TurningPoint vom letzten Checkin rueckgaengig -- hat wohl
    mit den komisch gewordenen Restwegen zu tun
    * Kleinigkeiten

    2006-10-16 Hendrik Krauss [hkr@xxxxxxxx]:
    * Parcours, ParcoursLoader und TurningPoint leicht veraendert auf der
    Suche nach dem Restweg-Minus-1-Fehler; schliesslich gefixt
    * Weiter Vorbereitungen fuer Screenshot-Kram
    * Tool gestrickt, was ein Verzeichnis voller Screenshots in die
    Datenbank laedt (ctSim.view.contestConductor.ScreenshotUploadTool)
    * Kleinigkeiten

    2006-10-11 Hendrik Krauss [hkr@xxxxxxxx]:
    * BotManager: race condition beseitigt, die zu intermittierenden
    Abstuerzen beim Level-Wechseln gefuehrt hat
    * Vorbereitungen fuer Screenshot-Kram getroffen
    * Kleinigkeiten

    2006-10-10-D Hendrik Krauss [hkr@xxxxxxxx]:
    * AliveObstacle hat jetzt keine Liste von ViewPlatforms mehr, da die
    zugehoerigen Methoden ohne einen Zweck zu erfuellen eine NullPtrExcp
    erzeugen

    2006-10-10-C Hendrik Krauss [hkr@xxxxxxxx]:
    * Wenn ein CtBotSimTcp die TCP-Verbindung verliert, stirbt er nicht,
    sondern setzt sich auf Status "halted"
    * ContestConductor schreibt jetzt Restwege (DB: ctsim_game.bot1restweg
    und bot2restweg)
    * Spielstand wird nach Ruecksprache mit ws nur noch alle 200 ms in die
    DB geloggt

    2006-10-10-B Hendrik Krauss [hkr@xxxxxxxx]:
    * Fix: TimeLogger funktioniert auch fuer mehrere Spiele
    * Loggen des letzten Schritts nochmal umgestellt

    2006-10-10 Hendrik Krauss [hkr@xxxxxxxx]:
    * Neuer kleiner View (Klasse TimeLogger) gibt Sim- und Realzeit
    periodisch aus; aktiv nur in Contest-Modus
    * DB-Schema: Neues Feld gametime_real, TournamentPlanner beachtet es
    * Logging erfolgt jetzt standardmaessig in ctsim-N.log, wobei N rotiert
    durch 0, 1, und 2 (= die letzten drei ctSim-Laeufe sind als Log verfuegbar)
    * Hab die Geduld mit dem ErrorHandler verloren -- ist rausgeflogen,
    ersetzt durch Log-Methoden
    * Fix: Letzter Simschritt eines Spiels wird jetzt auch in die DB geloggt
    * Logging-Subsystem wird jetzt ueber die Datei config/logging.conf
    konfiguriert, nicht mehr hardcoded

    2006-10-09 Hendrik Krauss [hkr@xxxxxxxx]:
    * Turnierbaum neu gestrickt; macht Baeume jetzt so, wie's laut
    Maildiskussion sein soll
    * Schema fuer Contest-Datenbank inkl. umfangreicher Doku eingecheckt
    * Diverse Verbesserungen

    2006-10-06 Hendrik Krauss [hkr@xxxxxxxx]:
    * angle-world-lamps.xml eingecheckt als Testparcours fuer den
    PickConeRay-Bug; siehe Doku in der Klasse World
    * CtSimFrame hat jetzt einen Screenshot-Button, der ins Temp-Verzeichnis
    des Systems einen Screenshot legt (Linux: /tmp Windows: /Dokumente und
    Einstellungen/Kasimir/Lokale Einstellungen/Temp)
    * PicoContainer bewirkt, dass ConfigManager sich vereinfacht. Neue
    Klasse Config.

    2006-10-06 Hendrik Krauss [hkr@xxxxxxxx]: Funktion neuimplementiert, die
    pro Simschritt in die DB loggt: unkomplizierter, kein Speicherleck mehr

    2006-10-05 Benjamin Benz [bbe@xxxxxxxx]: remote-Ausfuehrung von Bots geht

    2006-10-05 Benjamin Benz [bbe@xxxxxxxx]: Begonen mit der
    remote-Ausfuehrung von Bots

    2006-10-05 Hendrik Krauss [hkr@xxxxxxxx]: IP der Test-Datenbank stimmt
    jetzt wieder

    2006-10-04 Hendrik Krauss [hkr@xxxxxxxx]: Verschiedene Verbesserungen;
    CtSimFrame bringt keine Logausgaben aus java.util.logging mehr, da das
    als Fehlerquelle des terminate-Bug ausgemacht wurde

    2006-10-14 Peter Koenig [pek@xxxxxxxx]: Bots drehen sich nicht mehr,
    wenn sie in ein Loch gefallen sind

    2006-10-04 Hendrik Krauss [hkr@xxxxxxxx]: Versehentlicher Check-in
    rueckgaengig: Datei ContestConductorRecoveryTest weg

    2006-10-04 Benjamin Benz [bbe@xxxxxxxx]: ContestConductor startet nun
    auch unter Linux die Bots sauber

    2006-10-04 Benjamin Benz [bbe@xxxxxxxx]: Die/Routinen des Botlisteners
    bearbeitet, Contest-config abgepasst

    2006-10-03 Benjamin Benz [bbe@xxxxxxxx]: Es gibt nun einen eigenen
    Timeout fuer Alive Obstacles, der per Config festgesetzt werden darf.
    ueberschreitet ein work()-Zyklus diesen, wird das Obstacle "halted".
    Steht der Timeout auf 0, wird er ignoriert

    2006-10-03 Benjamin Benz [bbe@xxxxxxxx]: AliveObstacles kennen nun einen
    neune Zustand Halted, wenn dieser gesetzt ist, dürfen sie ihre
    work()-Methode nicht ausfuehren

    2006-10-03 Benjamin Benz [bbe@xxxxxxxx]: Config-Datei kommentiert

    2006-10-03 Benjamin Benz [bbe@xxxxxxxx]: Der Controller wartet nun nur
    noch die Zeit, die noch nicht verstrichen ist und nicht pauschal einen
    vollen Zyklus

    2006-10-03 Benjamin Benz [bbe@xxxxxxxx]: Timeout im Controller ist nun
    per Config-Datei konfigurierbar

    2006-10-02 Hendrik Krauss [hkr@xxxxxxxx]:
    * Neue Dependency PicoContainer inkl. Klasse
    ctSim.controller.InitializingPicoContainer; betrifft Initialisierung von
    ctSim und leichte Testbarkeit; Doku folgt
    * Neuimplementierung: ctSim.view.gui.WorldViewer ersetzt WorldPanel und
    WorldView; kuerzer, einfacher, fehlerfreier.
    * ConductorToDatabaseAdapter und DatabaseAdapter grossflaechig
    umgestellt zur Performance-Steigerung, nachdem Profiler-Laeufe ergeben
    haben, dass dort Probleme bzgl. memory footprint sind
    * World: Groessen-Getter umbenannt, um Klarheit zu schaffen
    * Characteristic: main()-Methode wieder funktionsfaehig gemacht zum
    Testen, aufgeraeumt
    * Diverse Verbesserungen

    2006-09-28 Benjamin Benz [bbe@xxxxxxxx]: Timeouts in den Judge
    eingefuegt, LastSavePostion in AliveObstacles hinzugefuegt

    2006-09-25 Hendrik Krauss [hkr@xxxxxxxx]:
    * TournamentTree hat jetzt ein ein kleines Demoprogramm (Klasse
    TournamentTreeGuiTest)
    * Mikroskopische Aenderungen hier und da

    2006-09-22-B Hendrik Krauss [hkr@xxxxxxxx]: Klasse MemoryLeakTest erstellt

    2006-09-22 Hendrik Krauss [hkr@xxxxxxxx]: Umbau Etappe 4 (vorher Tag
    erstellt):
    * ContestConductor vereinfacht; ist jetzt Beta; Test-Durchlaeufe des
    Wettbewerbs scheinen zu funktionieren; Testen wird fortgesetzt
    * neuer Einstiegspunkt:
    ctSim.view.contestConductor.ContestConductorTest, der einen Wettbewerb
    durchlaufen laesst, wobei in jedem Spiel sofort Bot 1 gewinnt
    * View-Interface ausgebaut, damit die neue ContestConductor-Version
    arbeiten kann
    * View-Interface ausgebaut, damit CtSimFrame immer korrekt anzeigen
    kann, welcher Judge gewaehlt ist
    * DefaultController angepasst, um die neuen View-Methoden zu nutzen
    * Konfig wird jetzt wieder geparst und gegen DTD gecheckt (vorher: nur
    Parsen)
    * MySQL-Treiber in Verzeichnis contrib (der Vollstaendigkeit halber);
    .classpath angepasst
    * Weitere 4 unbenutzte Klassen geloescht
    * Diverse Verbesserungen

    2006-09-20 Benjamin Benz [bbe@xxxxxxxx]: Parcours um Routinen zur
    Bestimmung der kuerzesten Distanz zwischen einem Punkt und dem Ziel
    erweitert (dazu einen Leserpatch von Michael Prähofer verwendet)

    2006-09-19 Hendrik Krauss [hkr@xxxxxxxx]: Umbau Etappe 3 (vorher Tag
    erstellt):
    * World: Zeitvariablen und -methoden nach oben verschoben, umbenannt,
    besser bzw. ueberhaupt mal dokumentiert. Semantik nicht veraendert.
    * ParcoursLoader, Parcours, World: Vorbereitungen getroffen fuer Einbau
    des Shortest-Path-Patch
    * Subsystem ctSim.view.contestConductor weiterhin experimentell
    * Konvention zur besseren Unterscheidung von Threads im Debugger: Alle
    von unserem Code direkt erzeugten Threads haben jetzt Namen, die mit
    "ctSim/" anfangen
    * Alle 3 Judges: Straffungen; Arbeit an der Stelle muss aber noch
    weitergehen
    * Logging-System auf java.util.logging-Basis eingefuehrt (Hauptklasse
    fuer uns: ctSim.util.FmtLogger). Sinn: Nach und nach das Gestruepp aus
    System.out, System.err, Debug.out, ErrorHandler und e.printStackTrace
    vereinheitlichen + professionalisieren
    * Weitere 11 unbenutzte Klassen geloescht
    * Diverse Verbesserungen

    2006-09-?? Hendrik Krauss [hkr@xxxxxxxx]: Etappe 2 des
    Umbaus/Aufraeumens: Grosse Umbenennungen und Verschiebungen; vorher auch
    Tag erstellt zur Sicherheit.
    * neuer Einstriegspunkt ins Programm ist die Klasse
    ctSim.controller.Main nach Reorganisation des Controller
    * GUI aus Package ctSim.view in Package ctSim.view.gui
    * ContestJudge heisst jetzt ContestConductor und ist ein View im Package
    ctSim.view.contestConductor (das sollte die endgueltige Architektur sein)
    * Es existieren jetzt Interfaces, ueber die Controller und View
    aufeinander zugreifen, um dieses Objektgestruepp aus Controller,
    CtSimFrame, World, Judge etc. zu strukturieren; Arbeit in dieser
    Richtung wird fortgesetzt
    * diverse Vereinfachungen in der GUI und andernorts
    * ueberfluessige Dateien weg (jd2xx, mindprod, manches aus der GUI)

    2006-0?-?? Hendrik Krauss [hkr@xxxxxxxx]: Etappe 1 vom Umbau des
    ContestJudge (ehemals LabyrinthContestJudge); einige damit verknuepfte
    Aenderungen hier und da; generelles Aufraeumen. ContestJudge ist
    experimentell: kompiliert, aber ist nicht weiter getestet und tut noch
    nicht das, was er soll

    2006-08-23 Felix Beckwermert [felix@xxxxxxxxxxxxxx]: ContestJudge zum
    testen eingecheckt

    2006-08-23 Felix Beckwermert [felix@xxxxxxxxxxxxxx]: BotManager
    eingef?hrt; Ctrl. und View auf diesen angepasst

    2006-08-23 Felix Beckwermert [felix@xxxxxxxxxxxxxx]: Kleinere
    (Sch?nheits-)Anpassungen

    --
    Benjamin Benz
    Heise Zeitschriften Verlag
    Redaktion c't
    eMail: bbe@xxxxxxxx
    WWW  : http://www.heise.de

    Heise Zeitschriften Verlag GmbH & Co. KG
    Registergericht: Amtsgericht Hannover HRA 26709

    Persönlich haftende Gesellschafterin:
    Heise Zeitschriften Verlag Geschäftsführung GmbH
    Registergericht: Amtsgericht Hannover, HRB 60405
    Geschäftsführer: Ansgar Heise, Steven P. Steinkraus, Dr. Alfons Schräder

- Antworten:
  - AW: [ct-bot] CVS-Update -- Neuer c't-Sim
    - From: Ralf Löhmer
  - Re: [ct-bot] CVS-Update -- Neuer c't-Sim
    - From: Holger Thiele

- Voriger (Datum): Re: AW: [ct-bot] neues Pfadplanungs-Verhalten nach der erstellten/ onlineerstellten Karte, Timo Sandmann
- Nächster (Datum): AW: [ct-bot] CVS-Update -- Neuer c't-Sim, Ralf Löhmer
- Voriger (Thread): Re: AW: [ct-bot] neues Pfadplanungs-Verhalten nach der Map, Timo Sandmann
- Nächster (Thread): AW: [ct-bot] CVS-Update -- Neuer c't-Sim, Ralf Löhmer
- Indizes:
  - Datum
  - Thread