[C#] Habbo Camera API

  • Habbo Camera API

    Hallo,

    Weil Sommerferien waren und mir übelst langweilig war dachte ich mir ich mach mal wieder ein kleines Projekt.. Das Projekt ist noch nicht zu ende also denke ich, dass die Development Sektion ideal dafür ist.

    Was ist das genau?

    Es ist eine Library die in C# geschrieben wurde. Sie soll einem dabei helfen das aufgenommene Bild der Habbo Kamera zu zeichnen und zu speichern (Lokal / FTP). Im Moment hat diese API nicht allzu viel drauf, sie kann die Bilder beinahe originalgetreu darstellen und speichern / hochladen.

    Wie funktioniert das?

    Habbo sendet an den Emulator eine komprimierte JSON "Datei", welche ganz einfach dekomprimiert und gelesen werden kann. In dieser JSON Datei befinden sich zuerst die Wände und den Boden, welcher mittels GDI+ gezeichnet werden kann. Für die Texturen verwende ich eine eigens entwickelte Methode, damit diese im richtigen Winkel gezeichnet werden kann (siehe ApplyTexture Methode in Planes.cs). Die Möbel und der Avatar können ganz einfach eingefärbt und auf das Bild gezeichnet werden. Hierbei soll man aber den Blend Mode beachten, denn wenn dieser auf ADD ist, muss man die RGB Werte vergleichenund jeweils den helleren Farbton verwenden (siehe Blend inImageTools.cs). Für die Filter gibt es 2 verschiedene Varianten. Die einte Variante wäre als einfaches Bild, das in die gewünschte Opazität transformiert wird und dann auf das Bild gezeichnet wird. Die andere etwas kompliziertere Variante funktioniert über die ColorMatrix-Klasse von C#

    Wie verwende ich die Library?

    Ich habe die Library noch nicht in einen Emulator implementiert, da ich noch zu faul dafür war.. Wahrscheinlich wird in kürze eine Anleitung für den Plus Emulator erscheinen!

    Wenn man sich die Implementierung selber zur Aufgabe machen will, dann kann man sich die gut dokumentierte Test-Klasse anschauen, in der die einzelne Schritte Zeile für Zeile erklärt werden.

    Was muss ich sonst noch machen?

    Folgendes gibts noch zu erledigen:

    - Konfigurieren der camera.config

    - Exportieren der Möbel / Kleider

    - door_64_2.png platzieren

    - Tests durchführen :D

    Wie konfigurier ich die Library?

    Bei den Downloadlinks befindet sich eine bereits vorkonfigurierte camera.config Datei. Ich vermute, die Configuration Datei soll selbsterklärend sein.

    Wie exportiere ich die Möbel & Kleider?

    Bei den Downloadlinks befindet sich zum einen ein vorcompilertes Java Programm, welches das exportieren vollständig alleine durchführt. Zum anderen kann man die Source vom Java Programm herunterladen und selbst compilern. Wichtig ist, dass beim vorcompilertem Programm die Möbel im Ordner /swfs/furnis platziert werden und die Kleider im Ordner /swfs/clothes.

    Wo soll ich die door_64_2.png platzieren?

    Bisher war ich zu faul die Datei zu umbenennen. Die Datei soll im Ordner /camera/ platziert werden. Ansonsten soll man damit leben, dass es keine Türen zeichnen kann :D

    Wie führe ich die Tests durch?

    Testdateien platzieren, Code beim Testprogramm entkommentieren und Debugen..

    Known Bugs

    - Spontaner Richtungswechsel bei den Wandtexturen

    - Teilweise falsche Position von Türen und Masken

    Was es noch zu tun gibt

    - Implementierung in Plus Emulator

    - Raum-Thumbnails (für Navigator)

    - Code säubern

    - Library auf Java umschrieben (damit Leute die Arcturus mögen aber nicht zahlen wollen ihren Spass trotzdem haben... Oder für Leute die Comet verwenden wollen)

    Screenshots?

    Keine Screenshots, aber von der Library erzeugten Bilder (Fotos wurden in verschiedenen Räumen im Habbo.de mit ein paar Freunden aufgenommen :D

    584-25192604-02082017-173652.png4262-26245990-02082017-173905.png10250-25192607-02082017-173639.png2132-25712508-02082017-173646.png6197-26245990-02082017-173645.png

    Bei manchen Habbos oder Möbel fehlten ein paar Bilder (von den SWFs etc) was aber nicht Schuld von der Library ist...

    Downloads:

    Library (Source only) -> https://gitlab.com/camera-api/api/

    Restliche Dateien befinden sich beim Dateianhang. camera.config.txt einfach in camera.config umbenennen.

    Updates folgen...


    Peace out,

    Dario

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!