Arkanoid Hacking Projekt / Editor

Sprachbarrieren halten Dich vom Spielen Deines Herzchenspiels ab? Du willst eines Deiner Herzchenspiele Mal ganz neu erleben? Dann bist Du hier genau richtig.

Moderatoren: ikari_01, d4s, Redscorpion

Benutzeravatar
Svambo
Hardcore SNES-Freak
Hardcore SNES-Freak
Beiträge: 555
Registriert: 14. September 2009, 19:09
+Positive Tradingpoints+: 13 von 13

Arkanoid Hacking Projekt / Editor

Beitrag von Svambo » 28. August 2020, 12:44

Bild

Moin zusammen,
wolltest du schon immer mal an einem Rom-Hack mitarbeiten, aber es fehlte das nötige Know-How? Dann kommt hier deine Chance:
Doke und ich haben in den letzten Wochen an einem Editor für das SNES Spiel Arkanoid - Doh it again gearbeitet. Der Editor ist zwar noch nicht ganz fertig, hat aber schon den größten Teil der Funktionen. 
Unser Plan ist, damit einen Hack von dem Spiel zu erstellen und dann später auch den Editor zu veröffentlichen.
Wir suchen nun Mitstreiter, die Lust haben, den Editor auszuprobieren und ein paar eigene Level für den geplanten Hack zu entwerfen. Während dessen wird der Editor auch gleich noch ein wenig ausgetestet (was ist alles intuitiv, was muss evt. noch erläutert werden, welche Funktionen sollten ggf. noch ergänzt werden, gibt es noch Fehler, etc.).
Wer gerne mitmachen möchte kann sich einfach hier im Thread oder per PN bei Doke oder mir melden.

Benutzeravatar
Krischan
SNES-Freak
SNES-Freak
Beiträge: 260
Registriert: 2. Oktober 2014, 14:20
+Positive Tradingpoints+: 20 von 20
Wohnort: Schleswig-Holstein

Re: Arkanoid Hacking Projekt / Editor

Beitrag von Krischan » 29. August 2020, 11:43

Moin, ist ja grundsätzlich ganz spannend. Würde mir den Editor gerne mal anschauen. Wo läuft den euer Editor bzw. in welcher Sprache ist dieser geschrieben? Bekommt man den auch unter OS X/Linux zum laufen?
Danke und VG!

Benutzeravatar
Doke
SNES-Freak
SNES-Freak
Beiträge: 448
Registriert: 14. November 2006, 00:34
+Positive Tradingpoints+: 61 von 61
Wohnort: Schutterwald

Re: Arkanoid Hacking Projekt / Editor

Beitrag von Doke » 29. August 2020, 15:20

Der Editor ist in C# programmiert und benötigt mindestens das .NET Framwork 4.5 :wink:
Unter Linux könntest du es also evtl. mit .NET Core oder Wine zum laufen bekommen.
Wenn du das mal ausprobieren möchtest, könnte dir einer von uns die Anwendung zusenden.
Sofern es funktioniert würden wir uns freuen, wenn du ein kleines Tut hier posten könntest und das hier für andere Linux-User evtl. auch interessant wird :ugly:

Benutzeravatar
Krischan
SNES-Freak
SNES-Freak
Beiträge: 260
Registriert: 2. Oktober 2014, 14:20
+Positive Tradingpoints+: 20 von 20
Wohnort: Schleswig-Holstein

Re: Arkanoid Hacking Projekt / Editor

Beitrag von Krischan » 31. August 2020, 12:40

Ich würde es zumindest mal mit Wine probieren, schickt mir gerne einen Link oder das Programm per PN.
Schon mal überlegt auf Java zu wechseln? Ist syntaktisch gar nicht soweit weg von C# und läuft auf jedem System, für das es eine JRE gibt. ;)

Benutzeravatar
Svambo
Hardcore SNES-Freak
Hardcore SNES-Freak
Beiträge: 555
Registriert: 14. September 2009, 19:09
+Positive Tradingpoints+: 13 von 13

Re: Arkanoid Hacking Projekt / Editor

Beitrag von Svambo » 31. August 2020, 22:21

Hast eine PN

Benutzeravatar
Krischan
SNES-Freak
SNES-Freak
Beiträge: 260
Registriert: 2. Oktober 2014, 14:20
+Positive Tradingpoints+: 20 von 20
Wohnort: Schleswig-Holstein

Re: Arkanoid Hacking Projekt / Editor

Beitrag von Krischan » 1. September 2020, 12:36

Hab's mit OS X 10.14.6 + xQuartz 2.7.7 (x11 Server) + wine-stable 5.0 + wine-mono paket + wine-gecko paket versucht. Das ganze nervt extrem und geht mit jeder Menge Meldungen wie "unbekannte Blockgröße" und was weiß ich nicht alles auf die Bretter. Möglicherweise sollte ich mir eine C#-IDE runterladen und versuchen mir die Executable selbst zu compilieren. Wofür werden die Abhängigkeiten ins .NET-Framework 4.5 benötigt? Irgendwelche speziellen Bibliotheken, die man dafür braucht, möglicherweise in der GUI des Editors?
Vielleicht sollte ich mir einfach eine Windows-10-VM aufsetzen, ist vielleicht ein bischen übertrieben, nur für 1 kleines Program und bräuchte dann ja auch einen Win-Lizensschlüssel. (*Hust :pfeif: )
Ach ich weiß nicht... Hatte gehofft die Tage der Windowsherrschaft sind vorbei... Wohl doch nicht. :wink:

Benutzeravatar
Doke
SNES-Freak
SNES-Freak
Beiträge: 448
Registriert: 14. November 2006, 00:34
+Positive Tradingpoints+: 61 von 61
Wohnort: Schutterwald

Re: Arkanoid Hacking Projekt / Editor

Beitrag von Doke » 2. September 2020, 09:14

Das .NET Framework stellt die ganzen Namespaces (Klassen und Funktionen) bereit, die in der Anwendung benutzt werden.

Hast du über winetricks das dotnet45 installiert? Das wird zwingend benötigt, sonst geht da nix :ugly:

-> Tutorial <-

Falls du möchtest, könntest du dir das Projekt von GitHub clonen und nochmal in Mono kompilieren.
Hierfür schickst mir einfach mal deine E-Mail oder deinen Nick bei GitHub :wink:

Aber ich denke, dass die vorkompilierte exe ausreichen dürfte 8)
Mono und Visual Studio sollten da eigentlich das die gleichen Binaries ausspucken...

Über Mono: mono ArkanEdit.exe und das sollte eigentlich laufen.

Bin sehr gespannt, ob das hinhaut :goofy:

Edit: Für die einmalige Aktivierung von Windows 10 sollte ein Aktivierungsschlüssel* ausreichen :wink:
Übrigens kannst du den 30 tägigen Testzeitraum über 'slmgr -rearm' bis zu 3 mal verlängern und so 120 Tage lang Windows 10 testen.
(* Aktivierungsschlüssel != Lizenzschlüssel, reicht aber trotzdem für die einmalige Aktivierung aus und sind schon für 3 - 4€ erhältlich)

Benutzeravatar
Krischan
SNES-Freak
SNES-Freak
Beiträge: 260
Registriert: 2. Oktober 2014, 14:20
+Positive Tradingpoints+: 20 von 20
Wohnort: Schleswig-Holstein

Re: Arkanoid Hacking Projekt / Editor

Beitrag von Krischan » 2. September 2020, 12:56

So langsam komme ich ein wenig dahinter ;) :
Du benutzt in deinem Programm also Klassen und Objekte, die Teil des .NET Framework 4.5 sind. Diese Klassen und Objekte sind der .exe nicht enthalten, sondern lediglich Verweise darauf, also ganz anders als zum Beispiel in einer Java .jar Datei, wo etwaig verwendete Bibliotheken mit eingebettet würden. (mal abgesehen von den sonstigen Unterschieden wie Bytecode ungleich Objektcode, die .exe wird aus meiner SIcht keinen "puren" Machinecode enthalten) Somit muss ich sehen, dass die Bibliotheken auch bei mir vorhanden sind. Welches mono-Paket ich genau installiert habe, kann ich nicht sagen, da ich wine per dmg-Installer installiert habe und wine-mono mir während der Installation als Zusatzpaket angeboten wurde. Die mono-Version müsste ich dann ja im wine-Installer ablesen können wie im Screenshot der von dir verlinkten Seite. (dort ist es 4.7.1)
Ich schaue dort nochmal nach, ob meine Version > 4.5 ist und installiere ansonten nochmal wie angegeben(winetricks) nach.

Meinem (bisherigen) Verständnis nach sollte der Aufruf dann aber trotzdem "wine mono ArkanEdit.exe" o. ä sein, oder? Wenn ich es richtig verstehe, ist mono dann eine "WIndows-Anwendung", die in wine läuft. Bei notepad wäre es dann sinngemäß "wine notepad -PATHC:\Test.txt". Oder liege ich da völlig falsch? :?

DIe VM wäre für mich der letzte Schritt, alleine der benötigte Speicherplatz für die VM-Ware und die Partitions-Datei, welche ja auch eine win-swap-Datei enthalten muss, erscheint mir schon sehr unverhältnismäßig. ;) Da warte ich lieber noch auf .Net5.0 im Nov., wenn es denn Hoffnung gibt, dass es dann besser läuft.

Schon mal danke für die viele Mühe die du/ihr dir/euch mach(s)t, um mich hier zum Testen des Editors zu kriegen. :)
Was mich vorab noch interessieren würde: Wie bekommt ihr die mit dem Editor erstellten Level in den .ips-Patch für die Originalrom?

Benutzeravatar
Krischan
SNES-Freak
SNES-Freak
Beiträge: 260
Registriert: 2. Oktober 2014, 14:20
+Positive Tradingpoints+: 20 von 20
Wohnort: Schleswig-Holstein

Re: Arkanoid Hacking Projekt / Editor

Beitrag von Krischan » 2. September 2020, 13:18

Gut, dass ich noch nicht die neueste OS X Version verwende. ;) Aus der Mono-doku:

NOTE: on macOS you’ll have to wait around a minute the very first time you run this command. You also need to use mono32 since WinForms isn’t supported on 64bit yet. As of macOS 10.15 Catalina there’s no 32bit support anymore so WinForms doesn’t work there at the moment.

Benutzeravatar
Doke
SNES-Freak
SNES-Freak
Beiträge: 448
Registriert: 14. November 2006, 00:34
+Positive Tradingpoints+: 61 von 61
Wohnort: Schutterwald

Re: Arkanoid Hacking Projekt / Editor

Beitrag von Doke » 2. September 2020, 13:20

Ja, deine Ansichten zum .NET Framework sollten so in etwa stimmen :nice:
Das .NET Framework ist sozusagen als Bestandteil des Windows OS zu sehen und kann von jeglichen Anwendungen angesprochen und genutzt werden.
PowerShell ist z.b. auch so ein Kandidat, der sich das zunutze macht :wink:

Wine Mono ist wieder so eine "von hinten durch die Brust ins Auge"-Sache :ugly:
Du verwendest dadurch die Windows Version von Mono in der Linux-Umgebung.
Benutze lieber die reine Linux Version, damit wirst du vermutlich weniger Probleme haben.
Mono kannst du dann vermutlich aus Wine wieder entfernen, sofern das nicht für andere Anwendungen bei dir relevant sein sollte.
Dann kannst du die .exe einfach über 'mono ArkanEdit.exe' aufrufen.

Zu deiner IPS-Patch Frage: Wir würden da jedem eine Range von Leveln zuweisen, die er bearbeiten darf und aus jeder eingesendeten Datei dann einen IPS-Patch erstellen. Diese wenden wir dann alle auf ein ROM an und erstellen von diesem dann wiederum einen IPS-Patch. Hoffe das war einigermaßen verständlich :ugly:

Edit: Generell wurde ArkanEdit für Any CPU kompiliert, es sollte also keine Rolle spielen, ob 32 oder 64 Bit. Aber das aktuellste OSX wohl weder 32 noch 64 Bit Windows Forms Anwendungen unterstützt hast du da echt nochmal Schwein gehabt :ugly:
Zuletzt geändert von Doke am 2. September 2020, 13:30, insgesamt 1-mal geändert.

Benutzeravatar
Krischan
SNES-Freak
SNES-Freak
Beiträge: 260
Registriert: 2. Oktober 2014, 14:20
+Positive Tradingpoints+: 20 von 20
Wohnort: Schleswig-Holstein

Re: Arkanoid Hacking Projekt / Editor

Beitrag von Krischan » 2. September 2020, 13:30

Ahhhh, ich verstehe! :idea:
Ihr ersetzt also nur die Originallevel in der ROM, somit kann ich die im Editor erstellten Level direkt als .ips wegspeichern? Das wäre ja traumhaft und ich könnte ein erstelltes Level direkt auf mein SD2SNES bringen. :D

Ich werde heute Abend nochmal rumprobieren und anschließend berichten! (mit wine und ohne wine ;))

Benutzeravatar
Doke
SNES-Freak
SNES-Freak
Beiträge: 448
Registriert: 14. November 2006, 00:34
+Positive Tradingpoints+: 61 von 61
Wohnort: Schutterwald

Re: Arkanoid Hacking Projekt / Editor

Beitrag von Doke » 2. September 2020, 13:48

Leider nicht ganz :ugly:

Der Editor erfordert ein ROM, welches du editieren willst (EU/US/JP/BS) und speichert deine Änderungen auch wieder in diesem oder je nachdem als Kopie. Das ROM wäre somit sofort einsatzbereit und kann auf dein SD2SNES kopiert und gezockt werden :wink:

Wenn du einen IPS-Patch erstellen wolltest, müsstest du das mit einem separaten Tool machen.

Wir sammeln sozusagen die einzelnen ROMs, erstellen daraus je einen IPS-Patch und wenden dann alle IPS-Patches auf ein ROM an.
Daraus entsteht dann der Gesamt-ROM-Hack :megaman:

Benutzeravatar
Svambo
Hardcore SNES-Freak
Hardcore SNES-Freak
Beiträge: 555
Registriert: 14. September 2009, 19:09
+Positive Tradingpoints+: 13 von 13

Re: Arkanoid Hacking Projekt / Editor

Beitrag von Svambo » 2. September 2020, 18:02

Wir haben im discord einen channel angelegt, in dem selbst gebastelte Level eingestellt werden können. Kannst deine kreativen Werke da gerne mit einbringen...

Benutzeravatar
Krischan
SNES-Freak
SNES-Freak
Beiträge: 260
Registriert: 2. Oktober 2014, 14:20
+Positive Tradingpoints+: 20 von 20
Wohnort: Schleswig-Holstein

Re: Arkanoid Hacking Projekt / Editor

Beitrag von Krischan » 3. September 2020, 17:15

Puhh, ich bin gefühlt kurz davor mit mono für OS X den Editor zum laufen zu kriegen, aber irgendwie auch weit entfernt. :roll:
Mit mono64-Bit geht gar nichts. Das verwendete Windows.Forms wird von mono auf das Carbon-Framework "verlinkt". (also in etwa zu jeder Funktion und jedem Objekt in WIndows.Forms wird eine entsprechende Carbon-Funktion oder ein Carbon-Objekt zugewiesen) Aber Carbon gibt es (noch?) nicht für 64-Bit-Systeme.

Code: Alles auswählen

Krischans-MacBook-Air-5:~ krischan$ mono --arch=64 /Users/krischan/Downloads/ArkanEdit.exe 
WARNING: The Carbon driver has not been ported to 64bits, and very few parts of Windows.Forms will work properly, or at all
System.NotSupportedException: Specified method is not supported.
  at System.Drawing.MacSupport.GetCGContextForView (System.IntPtr handle) [0x0001a] in <96c2003d15dd4c1784674780359bf078>:0 
  at System.Drawing.Graphics.FromHwnd (System.IntPtr hwnd) [0x00055] in <96c2003d15dd4c1784674780359bf078>:0 
  at System.Windows.Forms.Control.CreateGraphics () [0x00019] in <0cb4fbe6da104c0e9a146523b449f33b>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control.CreateGraphics()
  at System.Windows.Forms.Document.owner_HandleCreated (System.Object sender, System.EventArgs e) [0x00000] in <0cb4fbe6da104c0e9a146523b449f33b>:0 
  at System.Windows.Forms.Control.OnHandleCreated (System.EventArgs e) [0x00019] in <0cb4fbe6da104c0e9a146523b449f33b>:0 
  at System.Windows.Forms.TextBoxBase.OnHandleCreated (System.EventArgs e) [0x00000] in <0cb4fbe6da104c0e9a146523b449f33b>:0 (...)
Gut, dass ich zufällig die letzte OS X-Version installiert habe, die noch native 32-Bit-Programme unterstützt. Dachte ich zumindest...
Zunächst 2-3 Sekunden große Freude, aber dann...

Code: Alles auswählen

Krischans-MacBook-Air-5:~ krischan$ mono --arch=32 /Users/krischan/Downloads/ArkanEdit.exe 
Kein Fenster erscheint, nichts passiert, keine Exceptions auf dem StdOut, Programm terminiert aber auch nicht! :bang:
Mit mono --verbose bekommt man tausende Zeilen pro Sekunde um die Ohren gehauen, bringt also auch erstmal nix.

Grund ist wohl dieser hier:

Code: Alles auswählen

Krischans-MacBook-Air-5:~ krischan$ mono-test-install 
Active Mono: /Library/Frameworks/Mono.framework/Versions/Current/Commands/mono
Warning: pkg-config could not find mono installed on this system
No dotnet pkgconfig found, Windows.Forms, System.Drawing and others will not work
Hab mal mit Umgebungsvariablen rumprobiert, aber auch keinen Erfolg. Z. B.:

Code: Alles auswählen

#folder to the PKG_CONFIG_PATH variable
export PKG_CONFIG_PATH="/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig":$PKG_CONFIG_PATH
Irgendwelche Ideen? :(
Ansonsten muss ich mal auf dem Rechner eines Freundes probieren und vielleicht bin ich dann so motiviert mir extra dafür eine VM einzurichten. 8)

Benutzeravatar
Svambo
Hardcore SNES-Freak
Hardcore SNES-Freak
Beiträge: 555
Registriert: 14. September 2009, 19:09
+Positive Tradingpoints+: 13 von 13

Re: Arkanoid Hacking Projekt / Editor

Beitrag von Svambo » 8. September 2020, 21:09

Das wäre vermutlich das einfachste ...


So Leute ... der Editor ist inzwischen weit fortgeschritten. Wir brauchen noch 2-3 kreative Mitstreiter die Lust haben, Level zu basteln.
Kein Vor- oder Fachwissen erforderlich - nur ein Windows-Rechner (sorry Krischan ... konnt's mit nicht verkneifen :wink: )

Wer mitmachen möchte einfach hier im Thread melden oder Doke oder mich per PN anschreiben ...

Antworten