Ich an Karlos: ich wäre dann soweit...
Ich an Karlos: hm. Du hast Recht, da stimmt was mit der Kachelgröße nicht...
Ich an Karlos: aber nur in einer Richtung? Langsam verzweifle ich...
Ich an Karlos: Dei Kugelraumer bekommt Strukturen :-)
Karlos: Wird schon. Deine Konstante 100 muss noch wo dazu
Ich an Karlos: ok, eben gefunden, war nur positive z-Richtung! Refreshen...
Karlos: Mein 100x100 müssen wir aber weiter Rennen zur Kachel
Karlos: Da werde ich immer über die Beispiele 'rein gehen
Karlos: Username dann von Cooky bitte
Ich an Karlos: da müssen wir uns in Ruhe was überlegen.
Ich an Karlos: Username per Anmeldung geht über Cookie.
Karlos: Nicke mal bitte
Karlos: ok
Ich an Karlos: weiß schon, nicht so toll...
Ich an Karlos: wäre cool, in den Kugelraumer reinzukommen.
Karlos: kommt noch 2017
Ich an Karlos: du planst aber weit im Voraus :-)
Ich an Karlos: Hab mal geschaut: w3d.de ist belegt, 3dwiki.de auch.
Karlos: Ich kann ja mal einen Zwichenboden einbauen :)
Karlos: ach, mus ich gugen, was da ist
Ich an Karlos: 3dvsc.de wäre frei, 3dwik.de auch.
Karlos: Rooms oder Hall?
Ich an Karlos: Wenn wir die Adresse rumerzählen, sollten wir eine eigene Domain haben.
Ich an Karlos: Bei one.com kostet eine Domain mit 15GB Webspace rund 16,- pro Jahr.
Karlos: Ach halt: 'frei', ok. Ja domain-Händler
Karlos: Aber das können wir uns schon leisten
Ich an Karlos: Jetzt habe ich kapiert, was du mit Gerüst meintest :-)
Karlos: auf!
Karlos: Vorsicht, noch kein Geländer!
Ich an Karlos: Glaube bin auf der obersten Etage...
Ich an Karlos: mir ist schon schummrig im Magen...
Karlos: Kamikaze!
Ich an Karlos: Ich sehe schon: 100x100 wäre besser, Platzangst...
Ich an Karlos: DU STEHTS AUF DER KANTE
Ich an Karlos: ...runtergefallen?
Karlos: jau
Ich an Karlos: sehr praktisch: mit PgDown zur nächttieren Etage...
Karlos: spaß
Karlos: Runterschupsen geht noch nicht :)
Ich an Karlos: Gerüst mit Geländer wäre auch interessant
Ich an Karlos: wär ja noch schöner :-))
Ich an Karlos: musst du nicht arbeiten? :-)
Karlos: dooooch. Wie bekommt man herumstehende Avatare weg?
Ich an Karlos: die verhungerten User? Muss mal über Verfalldatum nachdenken...
Ich an Karlos: zwischendeck in der "Crest" wäre praktisch...
Karlos: Kommt.
Karlos: Chrest hatte 2500m! Das hier 50
Ich an Karlos: Brauchen mehr Vielfalt in Sachen Avatare...
Karlos: Hast du den BB-8 gesehen?
Ich an Karlos: ok - du bist der Spezialist. Das ist halt die Kaulquappe Chrest-2.5
Ich an Karlos: nein, noch nicht. Ein OBJ-Modell?
Karlos: Old Man hatte 350km
Ich an Karlos: Wenn man über PerryRhoden-Dimensionen spricht, reichen Kacheln 100x100m bestimmt nicht.
Karlos: Da machen wir 2018 eine sonder-Edition für
Karlos: Ist ja auch so noch zu tun. Jetzt muss ich aber, byby
----- gesichert 2016-01-05 15:32 ------------------------------------------ Ich an Karlos: Habe mit Himmelsfarben experimentiert; dunkel ist besser, glaube ich.
----- gesichert 2016-01-05 16:09 ------------------------------------------ Ubuntu: Hi, kleiner Test von Ubuntu!
Karlos: Juhu, Kachelwechsel 100x100 geht jetzt
Karlos: Peng Ratatata zisch!
Karlos: Refresh mit neuer Version einer JS mit neuem Bodenbelag wollte lange nicht aktuallisieren
Karlos: So langsam wird meine Grafikkarte warm (Lüfter läuft)
Karlos: buildGround bitte optional mit scalefactor (derzeit fest 4 im w3dTools
Ich an Ubuntu: ok, mach ich :-) moin, Karl.
Ich an Karlos: hi, Karl! ground-Scalefaktor geht klar.
Ich an Karlos: Die "Sonne" sieht interessant aus von hier oben...
Ich an Karlos: Die Kaulquappe wird kriegerisch :-)
Karlos: Ratatatata!!!
Karlos: Bei PR geht das nicht anders. Die Konstruktion ist ja von Arkoniden übernommen
Karlos: Das will ich ins Cardboard! Aber erst THREE.TextureLoader
Ich an Karlos: Ob die Arkoniden auch ein Internet mit virtuellen Welten hatten?
Ich an Karlos: Immerhin hatten sie Qualitätsstahl.
Ich an Karlos: Neu: Länger passive User verblassen und werden transparent, verschwinden nach 5 Tagen.
Ich an Karlos: Ich plane eine Dienstfunktionen für Hintergrundfarbe, Helligkeit und Nebelreichweite.
Ich an Karlos: Kann jede Kachel dann selber wählen. buildGround() hat jetzt einen zweiten (optionalen) Parameter.
Karlos: !! habe gerade w3dTools.js kaput gemacht: leere Datei geladen und
Karlos: meine verbesserte dafür in WORLD geladen (zu lang für Textfenster)
Ich an Karlos: geht alles wieder? Dafür habe ich Probleme mit dem Verfalldatum der User... stelle ich zurück.
----- gesichert 2016-01-06 15:50 ------------------------------------------ Karlos: geht wieder. du hattest auch Kachel-Scala eingebaut? :-)
Karlos: Die JS-Funktinen kommen dann natürlich auch als VSR Kommandos
Ich an Karlos: In w3dTools.js habe ich noch die Transparenz der Figuren wieder eingebaut.
Ich an Karlos: Bin noch nicht sicher, ob die "Verfallszeit" klappt - mal sehen.
Ich an Karlos: Dynamisches Laden ist eine Herausforderung; träume von einer Art "Tile-Server" (Tile=Kachel)
Ich an Karlos: zB auch eine Satellitenansicht zur Übersicht... aber manchmal ist alles so mühsam...
Karlos: Tile-Server=?: Wenn wir Objekte in JS verbieten ist alles in VSC.
Karlos: Wenn man X Meter vom Rand ist, wird der Nachbar "geladen"
Karlos: Wenn man Tile wechselt werden die "weit hinten" 'rausgeschmissen.
Karlos: Damit es nicht Ruckelt, muß man "im Hintergrund" laden, wenn Zeit ist auch schon alle 8 drumrum
Karlos: Sowas können wir gerne gemeinsam brainstormen, per audio
Karlos: Der Auf-Ab-Blick bewegt nicht nur die Nase sondern den ganzen Avatar :-)
Karlos: Ich schaue jetzt mal nach CardBoard. Der graue Chat Knöpfe Status dürfte stören.
Karlos: Den Status kannst du doch auch alles nach oben legen. Senden kann weg, Clear in MENU
Ich an Karlos: Du meinst nur EIN JS und viele VSC-Scripts? Ist sicher eine Einschränkung.
Ich an Karlos: Man mus jede dynamische Aktion in das Gesamt-JS packen; könnte viel werden.
Ich an Karlos: Ab Montag in der Kaffeeküche - es bleibt aufregend! :-)
Karlos: Um die Nachbarn darzustellen nur deren VSC (könnte man im eigenen JS mal testen)
Ich an Karlos: Zumindest der Bodenbelag muss beim Wechsel konstant bleiben; mehrere VSC können leicht parallel geführt werden.
Karlos: Boden sollte auch vom VSC definiert werden
Ich an Karlos: Vermutlich werden wir VSC auch um etliche dynamische Features erweitern, dann gehts vlt mit weniger JS
Karlos: CardBord: Siehe Wiki, Fehler im Frame2
Karlos: Möglichst alles im VSC denn nur das kann man dann auch In-World editieren
Ich an Karlos: Cardboard-Bewegungssteuerung ist mir im Moment zu komplex, habe auch kein Testgerät.
Karlos: Ist ja schon eingebaut
Ich an Karlos: Hast du das mal in Gang gesetzt?
Karlos: im Frame2 ist alles vorgesehen ...
Karlos: Ich schaffe es nicht, meinen LocalHost vom iPhone zu nutzen ...
Karlos: Da müßte ich Frame2 ändern und Laden, sollte gehen
Ich an Karlos: Ich möchte zuerst den Ortswechsel flüssig hinkriegen, zumindest den Weg klären, dann gehts weiter.
Karlos: Bei dir hochlanden
Karlos: ...
Ich an Karlos: Wir machen eh schon große Schritte, dürfen nicht ungeduldig werden :-)
Ich an Karlos: Wie geht die Kommandokanzel ohne spezifische JS-Programmierung?
Karlos: SIE get ins Bett (Schnupfen) ...
Karlos: KK geht über OBJ Lader
Ich an Karlos: Stimmt ja, das bleibt uns immer.
Ich an Karlos: Gute Besserung! Steck dich nicht an...
Karlos: Ausserdem bekommen Freaks JS-Erlaubniss, aber nicht für das was Nachbarn sehen sollen
Ich an Karlos: Wie weit reicht dein Kachelboden?
Karlos: Ich nutze nur deine Funktion ...
Ich an Karlos: ok, sehe schon, überlappt sich um einige Meter.
Karlos: Ein Stück über den Kachelrand!
Ich an Karlos: Morgen teste ich mal mehrere VSC zu laden und ein/auszuschalten, vlt. in der Mehrzweckhalle...
Karlos: Ich werde mal in der Orion-Kachel auch PR-VSC laden. Wie kann ich die 100m Versatz hin bekommen?
Karlos: Morgen "will" ich arbeiten ;-)
Ich an Karlos: Jede Kachel hat im JS und VSC lokale Koordinaten
Ich an Karlos: Oben in der Statuszeile sieht man die x/z-Absolutwerte, im JS u. VSG gilt immer der relative Nullpunkt der Kachel.
Ich an Karlos: Muss aber nicht so bleiben, hat Vorteile, wenn man umziehen will.
Karlos: Klar, aber wenn ich ein Nachbar.VSC lade, wird es überlappend sein ohne x/z-Offset ...
Karlos: aber ich kann es ja über eine Zwischen-Mesa mit Translate verschieben :)
Ich an Karlos: Richtig, du kannst den Bereich überschreiten, Sichtweite durch Nebel und Skybox begrenzt.
Ich an Karlos: Im Moment aber bei Kachelwechsel auch VSC-Objekte weg.
Karlos: Klar, dann muss wieder alles geladen werden, halt auch die Nachbarn. Provisorium
Karlos: Man kann aber alle Kacheln-VCS-Meshes akkumulieren und ...
Ich an Karlos: Habe eine Methode gefunden, genau ein VSC dynamisch nachzuladen ohne HTML-Refresh.
Karlos: beim Kachelwechsel alle mit translate wieder passend schieben
Ich an Karlos: Habe trotzdem eine optische Unterbrechung, weil ich die auszutauschenden Funktionen eine Zeitlang nicht mehr benutzen darf.
Karlos: Macht das nicht jede JS sowieso mit seiner VCS?
Ich an Karlos: Muss weiter forschen, das Ziel ist ziemlich klar, werde kleine Test-VSCs schreiben und ein System finden.
Karlos: Langfristig wird es wohl EINE VR-Weld sein und nur 5050 in der Mitte 0,0 haben ...
Ich an Karlos: Ich mach jetzt den Rücksturz ins Schlafzimmer - wir sprechen uns wieder :-)
Karlos: Beim VSC-Laden kann man leicht den Offset realisieren ...
Karlos: schwer wird es mit den dynamischen Sachen. Heute nicht mehr
Ich an Karlos: Vlt kommen wir mit einer "Standard-JS" für den Normalbetrieb aus, und für Sonderfälle
Karlos: Gute Nacht :)
Ich an Karlos: z.B. Kransimulation oder Modelleisenbahn gibts Extras...
Ich an Karlos: Bis denn!
Karlos: Frame2 geändert: CardBord geht, nur <> invertiert bei mir. Neigung=Bewegung!!
Karlos: Wir machen aus dem Parameter "ori" 0=aus 1=iPhone, 2,3,4=deine. Denn es sind auch Achsen vertauscht.
Karlos: Besser alles was CardBord ist in ein eigenes JS
Karlos: Bastelst du? Alle Kacheln zeigen W_PR!
Karlos: bin weg
Ich an Karlos: Ich denke, du hast Frame2.php geändert. Zeile 38 bindet fest w_pr.js ein statt include 'loadw.php'
Ich an Karlos: Ich korrigiere das. Ansonsten habe ich heute noch nichts hochgeladen,
Ich an Karlos: bin am Bauen einer neuen Welt. Dynamisch JS-Nachladen mehrerer Tiles ist in Reichweite.
Ich an Karlos: Bis jetzt ist das API nahezu gleich geblieben; die JS-Files werden per PHP in einen
Ich an Karlos: spezifischen Rahmen gesteckt, sodass sie nebeneinander existieren können.
Ich an Karlos: Bis denn!
Karlos: Ha!:
Karlos: < ? php include 'loadw.php'; ? >
Karlos: ich hatte das GANZ aktuelle Frame2 per Page-Source gezogen
Karlos: weil ich nicht sicher war, ob das im ZIP aktuell ist. Kar:Quatsch PHP ist nur im ZIP!
Karlos: Es scheint aber nur diese eine Zeile oben anders zu sein
Karlos: Ich bastle jetzt die Varianten der Smartphones hinein
Ich an Karlos: Beim Laden vom Server tauscht dieser die Zeile aus! wenn du das geladene File aus dem Browser sicherst,
Ich an Karlos: kriegst du die ausgetauschte Zeile. Die Neue Welt ist reines HTML mit JS, da wird alles mit AJAX gemacht.
Ich an Karlos: Die Kunst ist, mehrere Kachel-LS parat zu haben und ordentlich zu verwalten. Der Weg ist aber geklärt.
Karlos: Das Thema hat dich, gell. Wo wir schon über "zurück zu Kacheln mit Wänden"
Karlos: gesprochen hatten machst du es jetzt sauber.
Karlos: Ich denke noch an: 1 Ordner pro Kachel mit allem world.js, world.vc Bitmaps und Materialien
Ich an Karlos: Wir werden auf jeden Fall Ordnung in die Ordner bringen müssen, bevor es zuviele Daten werden.
Ich an Karlos: Heute früh habe ich transparente Texturen eingebaut - coole Effekte. Lade ich später hoch.
Karlos: Mit jedem Kachelwechsel werden die Chat-Zeilen öffter wiederholt
Ich an Karlos: Stimmt; kümmere ich mich später drum; besser zu oft als unter den Tisch gefallen...
Ich an Karlos: Mir schwirrt der Kopf; balanciere mit JS-Konstrukten, ist wie die Mohrrübe vor der Nase:
Ich an Karlos: Wenn man kurz davor ist, stolpert man über das nächste Problem.
Ich an Karlos: API musste ich leicht ändern, VSC-Verwaltung mit ID-Registrierung je Kachel...
Ich an Karlos: Immerhin: Habe eine Testszene mit vier aktiven Kacheln gleichzeitig; der Wechsel muss noch ausprogrammiert werden.
Ich an Karlos: Traue mich nicht, das hochzuladen; API-Änderung muss abgestimmt erfolgen; evt. ein Folder neben "world"...
Ich an Karlos: muss Pause machen...
Ich an Karlos: ach ja: Text im Wiki hinterlassen, Planung der Grenzübertritte...
Karlos: Habe Koordinatensystem kommentiert
Karlos: Sehe gerade Kaulquappe im Cordbord stereo mit Bewegungsechtheit
Karlos: Siehe Frame2karl.php
Karlos: Bis zum Kaffee :-)
Ich an Karlos: Hi Karl, soeben den VSC-"Compiler" hochgeladen: torus-Element neu
Ich an Karlos: bis morgen!
Ich an Karlos: Hi Karl, denke habe jetzt den Durchbruch geschafft. Bin schon etwa 6 Kacheln geradeaus marschiert und wieder zurück
Ich an Karlos: und dabei alle Szenenwechsel überlebt. Kein Rucker mehr beim Grenzübertritt.
Ich an Karlos: Probleme noch mit Wechsel der BoundingBoxes; werde das Ganze unter "world1" hochladen,
Ich an Karlos: bis die gröbsten Punkte sauber sind.
Ich an Karlos: Kolateralschäden... Chatboard kaum lesbar...
Ich an Karlos: Probier mal auf der Startseite unten "Neue Welt direkt"
Ich an Karlos: So, einiges geht jetzt besser.
Karlos: Hm, ich sehe nur grünes Gitter. Wo geht hochladen hin?
Guest: 2 Errors in der Log Konsole
Karlos: in world1: Die Orion-Antriebsringe stimmen nicht mehr, muss ich anpassen
Karlos: Du hast ein Wobbeln eingebaut?
Guest: world1 IE Kugelraumer geht nicht
Guest: Bird's Eye: Bewegten seltsamm
Ich an Karlos: Bin wieder am Verzweifeln. Was FF-Win kann, macht keiner der anderen; keine Antwort auf Ajax-Request.
Ich an Karlos: obwohl das in Frame2.php immer schon ging. Sehe gerade: FF-ubuntu kanns auch richtig.
Ich an Karlos: Ja, das Wobbeln war ein Experiment, macht nur Sinn bei langsamem Laufen. Mach ich abschaltbar.
Ich an Karlos: Habe das Gefühl, dass mr53.de manchmal stockt. dauert oft viele Sekunden bis was kommt.
----- gesichert 2016-01-14 22:31 ------------------------------------------ Karlos: Stocken: Ja bemerkt (ich dachte Siemens-Firewall)
Karlos: Beileid zum Browserkampf
Karlos: Gerade Stocken beim Kachelnachladen kurz vor Ecke
Karlos: Huch, meine Kanonen sind dünn geworden: Scriptforschungstag heute
Karlos: Als Entspannung mal das "lokale" translate,rotate,size,shift?
Karlos: Bei snap 0 stört das translate = 0 mich in der Logic
Karlos: Du hast alles stabiel auf /w3d/world umgestellt? Dann kann ich aufräumen
Karlos: URL-Parameter für 4/9/27 Kacheln?
Ich an Karlos: VSC-Compiler jetzt in w3dVsc.js; snap sollte jetzt richtig tun.
Ich an Karlos: Jetzt tut w3d auf jedem Browser, der WebGL kann, richtig!
Ich an Karlos: Die Kaulquappe ist ziemlich verbogen, weil du "work-araounds" zurücknehmen musst.
Ich an Karlos: Die URL-Parameter in der Kachelübersicht habe ich angepasst.
Ich an Karlos: Teste mal die neue Menüposition "ViewMode"! alles noch provisorisch...
Karlos: Orion ist gesnappt. Drehen fehlt noch ...
Karlos: Meine schöne Orion JS is wech, neu machen
Ich an Karlos: sollte aber alles im Zip File enthalten sein!?
Ich an Karlos: Versuche mich jetzt auch mit Cardboard. Habe coole Android-Apps für VR gefunden, sehr anregend...
Karlos: symbol geht nicht auf Sub-Objekte, vermute ich
Karlos: Gefunden, läuft wieder
Karlos: Gefunden, läuft wieder
Karlos: Im ZIP war eine ältere Version, egal, ist ok
Karlos: symbol Drehen 0 360 -5
Ich an Karlos: Symbol müsste auf jedes eindeutig benamste Objekt gehen: siehe Robot-Arm.
Ich an Karlos: Habe auf Anmeldeseite 2 Links gebaut: iPhone und Android Cardboard.
Ich an Karlos: Dann entfallen Anzeigen oben und unten. Werde ich jetzt testen.
Ich an Karlos: Mein Aufzug trägt mich noch nicht; muss ich suchen.
Karlos: "symbol" im Sub-Objekt geht, aber nur die 1. Instanz
Karlos: Sub-Objekte haben keinen eindeutigen Namen (bis wir den Pfad davor machen)
Karlos: Sub-Objekte haben keinen eindeutigen Namen (bis wir den Pfad davor machen)
Karlos: Eine "drehte" jetzt andersrum :-) gerade Hochgeladen. CTRL-R!
Karlos: Template jetzt mit Beispielen und Lampe. Orion-Kachel ohne Testecke
Karlos: Template jetzt mit Beispielen und Lampe. Orion-Kachel ohne Testecke
Karlos: Beim erstmal Laden einer Kachel timeouts, geht aber
Karlos: Kachelboden wieder verlegt bei Orion und PR
Karlos: Thermostrahler repariert. Die Eck-Kacheln kommen recht spät
Karlos: ViewMode zerlegt mir bald die Grafikkarte Safari-Neustart
Ich an Karlos: Komme mit den Sensoren nicht klar. Nach wilden Versuchen blockiert jetzt alles...
Ich an Karlos: Der Mittelpunkt der Eckkacheln liegt weiter weg, daher erst später erfasst.
Ich an Karlos: Alles Feinabgleich später.
Ich an Karlos: Dein Boden ist ziemlich grell, wie Schnee!
Karlos: Der Schnee ist nur am Anfang, bis die JPG ganz geladen ist
Karlos: Kopfstand :)
Karlos: Da bist du bestimmt im Karton unterwegs
Ich an Karlos: Wo kommt das denn jetzt her? Auch alle Bewegungen verkehrt herum...
Ich an Karlos: jetzt nicht mehr... mUseSensors sollte Null sein...
Karlos: Wenn man auf dem Kopf steht , muss das so sein
Karlos: Ich habe mich mit "nach unten kucken gedreht"
Ich an Karlos: ok - im Status ist die x-Drehung gespeichert, war 180 Grad zu weit!
Karlos: Besser. Aua, der haut mich
Ich an Karlos: wer?
Karlos: Der Arm
Ich an Karlos: Würde sagen, er durchdringt dich!
Karlos: Ich ziehe mal meine Pappe an, ok?
Ich an Karlos: Hat was mit Kartesischem Safety zu tun...
Karlos: Da habe ich heute von gehört
Ich an Karlos: tut gar nicht weh...
Ich an Karlos: Hat sicher mit intelligenter Kollisionskontrolle zu tun.
Ich an Karlos: Ich mach Schluss für heute. Morgen kommt der Karton dran.
Karlos: Ok, ich war gerade noch im Frame2 in der Papa. W3D pri=1 geht nicht
Karlos: Man müßt am Phone ein Alert bekommen, wenn einer hier 'reinkommt :)
Karlos: Es gibt tatsächlich Stellen, wo der Boden glänzt, muss mit der Beleuchtung zu tun haben.
Karlos: Interessant: Man schaltet nur die Boxen der Kachel, in der man ist
Guest: FireFox geht wieder 43.0.4
Karlos: Das fehlende ile muss ich schuld sein mit w_karl*, aber wie?
Karlos: Das "ile" war eigendlich die Variable "Tile" :-/
Karlos: Man, stehen da Leute rum :) 7!
Karlos: Es währe schön, wenn man beim Reload an der Stelle bleibt, wo man stand
Ich an Karlos: Hi Karl, Punkt e sind notiert. Außerdem: Du hast Post!
----- gesichert 2016-01-18 20:19 ------------------------------------------ Karlos: Schiebetür mit Tretmine
Karlos: Ist natürlich der Sensor. Spielt die Höhe eine Rolle?
Ich an Karlos: Die Tretmine war für mich nur ein Anhaltspunkt für die Lage des Sensors. Gehört vlt oben an den Türrahmen.
Ich an Karlos: Habe gestern abend PC neu installiert: Win7 Ubuntu auf eine SSD. Läuft jetzt.
Ich an Karlos: Räume ein bisschen JS-Quellen auf und aktualisiere mr53. Dann versuche ich Android-Karton zu klären.
Karlos: w3dSvc.js edit: gestern verwirrung, heute gewühtet!
Karlos: Da könnte ich gut mitarbeiten. Was brauchst du? ;-)
Karlos: 3 Chat sind zu viel, hm?
Susi: servus
Ich an Susi: hi
----- gesichert 2016-01-23 18:30 ------------------------------------------ Ich an Karlos: Hi Karl, habe df5nl aktualisiert, aber der Server stolpert vor sich hin...
Ich an Karlos: Hier auf mr53 gehts halbwegs flüssig. Schau mal, ob in df5nl/world.txt deine Files richtig sind.
Ich an Karlos: Die Entfernungen werden größer :-)
----- gesichert 2016-02-19 21:13 ------------------------------------------ Ich an Guest: Hallo Gast!
----- gesichert 2016-08-25 16:00 ------------------------------------------