Ich habe letztes WE mal wieder ein bißchen gewerkelt. Neben einem Redesign einiger Datenstrukturen (Mehrere Animationssequenzen werden jetzt auch in mehreren GIFs gespeichert) habe ich Unterstützung für BOB-Dateien eingebaut. Die funktioniert sowohl für Schweif als auch für Riva, wobei ich noch mit ein paar Feinheiten zu kämpfen habe.
Unter anderem ist die Positionierung der Teilanimationen manchmal um 1 Pixel verschoben (bei Riva), wie die Bilddaten komprimiert sind, wird momentan auch eher schlecht als recht geraten, da ich keinen blaßen Schimmer habe, wo im Header diese Information stehen soll.
Wie auch immer, hier mal eine kleine Kostprobe aus der Datei MARKET.BOB von Sternenschweif, die es wohl nicht ins Spiel geschafft hat (ich kann mich jedenfalls nicht erinnern, das Bild je gesehen zu haben):
Hallo, ich bin's - der Bart von Fidel Castro. Und mir ist total langweilich nie geschnitten wurde.
I'm a roleplayer. My dice are like my relationships: platonic and unlucky.
Gibt es von any2any auch einen Windows Build?
Sonst wäre es toll wenn man die Abhängigkeiten entfernen oder zumindest reduzieren könnte. Pkg-config unter Windows ist grausam.
Es gibt eigentlich nur eine externe Abhängigkeit, und das ist die giflib.
GraphicsMagick hatte ich vorher benutzt, aber die war kaum benutzbar (selten so eine frickelige Bibliothek gesehen).
Ich habe die unnötige Abhängigkeit jetzt mal rausgenommen. Ohne giflib wird es leider kaum gehen, da ich den GIF-Support für die Animationen brauche und keine kompletten Speicher- und Laderoutinen für GIF nachbauen möchte.
Hallo, ich bin's - der Bart von Fidel Castro. Und mir ist total langweilich nie geschnitten wurde.
I'm a roleplayer. My dice are like my relationships: platonic and unlucky.
Danke, es funktioniert jetzt fast.
Probleme macht noch giflib, weil MinGW nur die alte Version 4.1 zur Verfügung stellt. Dort gab es z.B. noch kein GraphicsControlBlock.
Duch Auskommentieren ist es mir gelungen any2any zu kompilieren. In diesem Fall nicht so schlimm, da es erstmal um die NVFs geht.
Es gibt dort aber scheinbar ein Problem mit den Paletten. Getestet mit FIGHTOBJ.NVF zu TGA. Eventuell wäre es auch sinvoll eine Palette auswählen zu können. Einige Bilder können wohl mit unterschiedlichen Paletten verwendet werden. Welche das genau sind kann ich leider nicht sagen. Aber bei der SCENARIO.LST werden 4 unterschiedliche Paletten verwendet.
Wie im anderen Thread neulich angesprochen, habe ich auch ein kleines Problem mit nltpack. Ich benutze dabei die große STAR.DAT von der CD.
Beim Entpacken fehlen einige Dateien, es gibt aber keine Fehlermeldung. Insgesammt fehlen, abzüglich Dummys, 58 Dateien.
Ein paar Beispiele: GAMES.NAM, CHARS1.DAT, CHARS2.DAT, RORKVELL.INF, BINGE1.MAD, ...
11.05.2014, 10:47 (Dieser Beitrag wurde zuletzt bearbeitet: 11.05.2014, 14:36 von Wetzer.)
Hi,
ich bin Anfänger und bin daher im Welpenschutzprogramm.
Ich habe das kompilieren des any2any-Tools unter Visual Studio nicht hinbekommen. Es werden nur noch mehr Fehler. Muss ich die gif_lib.h noch einbinden und wenn ja, woher bekomme ich eine kompatible Version für VS 2012?
Oder hat etwa schon jemand etwas mit einer GUI zusammengeschraubt?
Trotzdem bekomme ich noch Fehlermeldungen:
* C2059 Syntaxfehler `) ´ in den loader-Dateien
* C2065 __func__ nichdeklarierter Bezeichner in den loader-Dateien
Update3: __func__ durch __FUNCTION__ ersetzt.
* C2065 extensionblock nichdeklarierter Bezeichner in den loader-Dateien
Ich habe auch die inline-Anweisungen auskommentiert, weil da auch Syntax-Fehler kommen und das "nur" für den Kompiler ist, oder?
Liegt das daran, dass ich ein C-Programm in VS 2012 kompilieren will?
Update2:
Nach dem Hinweis von tommy, dass ich c-code vor mir habe, habe ich ein Video bei youtube gefunden, dass mir zeigt, wie ich das umstellen kann: http://www.youtube.com/watch?v=bjHD1N7tjV4
Trotzdem kommen noch Fehler (zum Beispiel mit den Klammern).
Daher:
Quick and Dirty würde mir auch eine unter Win 8.1 lauffähige exe weiterhelfen.
(11.05.2014, 10:47)Wetzer schrieb: Liegt das daran, dass ich ein C-Programm in VS 2012 kompilieren will?
jap genau das ist der fehler...liegt nicht direkt an c, sondern vielmehr an nicht einheitlich unterstützten standards und erweiterungen...
es ist zwar möglich den code zum laufen zu bekommen, jedoch müssen dann erstmal so einige Dinge angepasst werden...am besten wäre, wenn du jemanden findest, der es schon kompelliert hat...bei mir liegt da leider gerade keine Version von rum...
"Mut ist der Zauber, der Träume Wirklichkeit werden lässt"
25.07.2014, 02:25 (Dieser Beitrag wurde zuletzt bearbeitet: 25.07.2014, 03:48 von pixie.)
Hallo ihr!
Ich habe ein kleines Problem mit nltpack.
Alle Daten von nltpack habe ich in den Ordner DSA3\DATA verschoben, ich hoffe das ist richtig so!
Dann habe ich cmd.exe (auf einem PC mit Windows 7) gestartet, und stellte mit dem Befehl ,,cd ´ ´ den richtigen Pfad ein, wo nltpack.exe (und co.) und riva.alf sich befanden.
Dann startete ich nltpack.exe, benuttze die Kommandos ,,nltpack m/l/x riva.alf'' und dann hatte ich eigentlich im Archivs-ordner MODULEFIANIS die datei NIXE.ace raus kopiert, sie W_JAEGER.ace genannt und (nachdem ich eine Backup-datei von W_Jaeger gemacht hatte) die neue W_JAEGER.ace datei in MODULEFIANIS rein kopiert um die alte W_JAEGER zu ersetzen.
Als ich dann mit ,,nltpack c riva.alf ´ ´ versucht habe, riva.alf wieder einzupacken, kam leider folgeneder Fehler:
"File MODULEFIGHT/MONNAMES.LXT is missing, archive creation impossible."
Ich habe dann alles nochmal probiert (mit einem backup vom ganzen Ordner DATA), ohne die Nixe die Jägerin ersetzen zu lassen, einfach erst das Kommando m, x und dann c!
Leider kam da die selbe Fehlermeldung!
Sorry für den langen post! Und ich hoffe ihr wisst vielleicht weiter in dem Punkt!
(Die Datei MONNAMES.LXT ist natürlich vorhanden! Irgendetwas mache ich falsch, dass das Programm sie nicht finden kann.)
im Reverse Engineering-Thread habe ich dasselbe Problem geschildert, was Hendrik nicht verstehen konnte, also habe ich die Modifikationen einfach direkt in der Riva.alf vorgenommen, ich habe dazu einfach mittels Hexeditor die Stelle der entpackten Datei in der Riva.alf gesucht und konnte direkt dort editieren. Ich weiß allerdings nicht, ob das in deinem Fall eine Lösung ist, weil ich nicht weiß, welche Änderungen du in welcher Datei vorgenommen hast.
Hacke Tau, Kumpels!
Ihr seid Freunde der alten NLT? Freunde des Mikromanagements? Ihr sucht eine neue Herausforderung, weil euch die NLT zu leicht war?
Dann spielt doch mal Schicksalsklinge HD 1.36 von Crafty Studios!
25.07.2014, 20:01 (Dieser Beitrag wurde zuletzt bearbeitet: 25.07.2014, 20:07 von pixie.)
Danke dir! Das klingt als könnte es in meinem fall auch interessant sein!
Ich wollte eigentlich die Datei MODULEFIANIS/NIXE.ace (kopieren und umbennen) und die Datei MODULEFIANIS/W_JAEGER.ace ersetzen lassen. (sorry für den merkwürdigen Satz!)
Ich will als Nixe spielen können! Schon seitdem meine Mama das Spiel als es raus kam mir gezeigt hatte, will ich Zorca spielen!
Leider weiss ich gar nicht, welche Datei das wäre, wenn ich Riva.alf mit einem Hexeditor öffne Weisst du, nach was ich schauen müsste dort?
Den Wert für die Kampfanimationen einer Klasse habe ich bisher in Speicherständen nicht gefunden. Die Animation ändert sich dort meistens, wenn man die Klasse wechselt oder den NSC-Wert über 0 treibt.
26.07.2014, 00:01 (Dieser Beitrag wurde zuletzt bearbeitet: 26.07.2014, 00:18 von Lippens die Ente.)
Wenn die beiden ACE-Dateien ein Teil der RIVA.ALF sind, der genau übereinstimmt, kann ich die Position der Daten in der Riva.alf schon lokalisieren. Da die Datei wohl in einem Modul drinnen ist, wird das wohl zutreffen, ich schau mal rein, ein bisschen Geduld bitte.
Gut, die NIXE.ACE beginnt in der Riva.alf ab Position 4693201 und ist recht lang, etwa 80000 bytes.
Jäger.ACE beginnt bei Position 3444846.
vielleicht hilft das dir weiter. So weit ich aber weiß, können Necker nur Dreizack verwenden, ist es dir das wert?
Hacke Tau, Kumpels!
Ihr seid Freunde der alten NLT? Freunde des Mikromanagements? Ihr sucht eine neue Herausforderung, weil euch die NLT zu leicht war?
Dann spielt doch mal Schicksalsklinge HD 1.36 von Crafty Studios!
Hey, vielen Dank, ich habe es damit etwas weiter geschafft, glaube ich!
Ich habe von Position 4693201 an 80000 Werte markiert und kopiert, dann habe ich von Position 344484 an wieder 80000 Stellen markiert und eingefügt.
Geklappt hat es leider nicht, das Spiel ist abgestürzt beim Hochfahren
Aber irgendwie klappt das vielleicht noch!
(26.07.2014, 00:01)Lippens die Ente schrieb: vielleicht hilft das dir weiter. So weit ich aber weiß, können Necker nur Dreizack verwenden, ist es dir das wert?
Absolut!!! Ich würde mich so freuen, wenn es klappen würde! Die Animationen sind so toll!
Ich glaube, ich weiß, woran das liegen könnte: erstens habe ich ungefähr 80000 gesagt, nicht genau 80000, du brauchst schon die genaue Länge, außerdem sind die ACE-Dateien der verschiedenen Charaktere nicht gleich lang:
NIXE: 89102 bytes, Jäger: 36520 bytes sie stehen in der ALF auch nahtlos aneinander und unterscheiden sich außer ihrer Länge nur um wenige bytes. Es ist also gar nicht so einfach herauszufinden, wo hier was steckt: monster.dat oder chest.dat waren hier einfacher zu finden, aber ich hoffe auch, dass du es schaffst.
Kleiner Tipp: der Anfang jeder ACE-Datei ist immer 41 43 45 und enden auf mindestens 3 mal 3F, bevor der nächste beginnt. Wenn du die beiden ACE-Datein un die Riva.alf gleichzeitig im Hexeditor öffnest, erkennst du es.
Bei manchen (zB skelett.ace) steht hinten auch eine längere 3f-Reihe, aber der Beginn 41 43 45 ist doch ziemlich markant.
Entscheidend wird sein, ob das Programm eine kürzere Datei anstelle der längeren akzeptiert (ich habe deinen Gedanken entnommen, dass du die Jäger.ace durch die nixe ersetzen willst (oder?)
dir ist aber schon klar, dass sich die jäger.ace auf den Gegnertyp jäger und nicht auf den Heldentyp bezieht? das macht vielleicht einen unterschied.
Hacke Tau, Kumpels!
Ihr seid Freunde der alten NLT? Freunde des Mikromanagements? Ihr sucht eine neue Herausforderung, weil euch die NLT zu leicht war?
Dann spielt doch mal Schicksalsklinge HD 1.36 von Crafty Studios!
(26.07.2014, 12:21)Lippens die Ente schrieb: Ich glaube, ich weiß, woran das liegen könnte: erstens habe ich ungefähr 80000 gesagt, nicht genau 80000, du brauchst schon die genaue Länge, außerdem sind die ACE-Dateien der verschiedenen Charaktere nicht gleich lang:
NIXE: 89102 bytes, Jäger: 36520 bytes sie stehen in der ALF auch nahtlos aneinander und unterscheiden sich außer ihrer Länge nur um wenige bytes. Es ist also gar nicht so einfach herauszufinden, wo hier was steckt: monster.dat oder chest.dat waren hier einfacher zu finden, aber ich hoffe auch, dass du es schaffst.
Kleiner Tipp: der Anfang jeder ACE-Datei ist immer 41 43 45 und enden auf mindestens 3 mal 3F, bevor der nächste beginnt. Wenn du die beiden ACE-Datein un die Riva.alf gleichzeitig im Hexeditor öffnest, erkennst du es.
Bei manchen (zB skelett.ace) steht hinten auch eine längere 3f-Reihe, aber der Beginn 41 43 45 ist doch ziemlich markant.
Entscheidend wird sein, ob das Programm eine kürzere Datei anstelle der längeren akzeptiert (ich habe deinen Gedanken entnommen, dass du die Jäger.ace durch die nixe ersetzen willst (oder?)
dir ist aber schon klar, dass sich die jäger.ace auf den Gegnertyp jäger und nicht auf den Heldentyp bezieht? das macht vielleicht einen unterschied.
Liebe Ente, dein Kommentar hat mir meinen DSA-Traum gerettet.
Ich habe es jetzt ernsthaft geschafft, die weibliche Zwergenanimationen durch die der Nixen zu ersetzen!!!
Die Zwergin hatte ganz viele 3Fs am Ende. Genau genommen so viele, dass die Bytes, die der Nixe fehlen, nun einfach nur 3Fs sind. Ist das nicht wunderschön? Ich kann eine Nixe spielen!!!
Ich danke dir wirklich tausend mal!
26.07.2014, 13:35 (Dieser Beitrag wurde zuletzt bearbeitet: 26.07.2014, 13:41 von Lippens die Ente.)
Das habe ich doch gerne gemacht. Es ist fast immer verkehrt, wenn man knapp am Ziel dran ist, aufzugeben. Deshalb mein letzter Kommentar, womit auch bewiesen ist, das auch dies möglich ist. Vielleicht werden Hendrik, Henne und CO durch diese Erkenntnis beflügelt werden und noch viel mehr entdecken können. Shihan ist auch schon bei der Riva-3D-Geschichte dran. Ich würde noch ganz gerne wissen, welcher meiner letzten Sätze deinen Traum Wirklichkeit werden ließ? Ich bin nämlich wahrlich kein Hexmeister, sondern habe mich erst durch dieses Forum damit beschäftigt, weil ich dadurch eine Chance sah, meine eigene NLT zu basteln, waas auch schon teilweise gelungen ist. Vielleicht entdecke ich ja auch noch mehr. Deine Nixe nach Schick oder Schweif zu tranponieren ist aber wohl unmöglich, oder? Dein Worte in allen Ehren, viel Spaß beim Spielen!
Was die Heldentypen nehmen können oder nicht, steht in den Blacklisten der Riva.exe Ob das jetzt bei deiner Nixe abweicht oder ob sie jetzt die Zwergenblacklist verwendet, weiß ich nicht. Es gibt aber einen Trick, das einfach beim Spiel herauszufinden:
In der Zwergenbinge ist ein Schmiedhammer versteckt, der nur von Zwergen herausgezogen werden kann und auch nur von diesen verwendet werden kann. Wenn deine Nixe also den Hammer bergen kann, ist meine obige Annahme bestätigt.
Spielst du Nixe solo oder mit einer Gruppe? Für Leute, die es interessiert, kannst du ja ein lets play daraus machen, damit jeder sehen kann, was technisch alles geht.
Hacke Tau, Kumpels!
Ihr seid Freunde der alten NLT? Freunde des Mikromanagements? Ihr sucht eine neue Herausforderung, weil euch die NLT zu leicht war?
Dann spielt doch mal Schicksalsklinge HD 1.36 von Crafty Studios!
Glückwunsch pixie
Ich hoffe das nltpack bald vollständig funktionieren wird. Damit sollte es deutlich einfacher sein.
@Lippens
Die Nixe könnte auch in Schweif benutzt werden. Eventuell muss man die Kompression verändern. Aber da sowohl Riva als auch Schweif das ACE-Format für Animationen benutzen sollte es gehen.
Da nur die Animation verändert wurde sollte der Char die Zwergenblacklist verwenden. Wobei ich nicht weiß was passiert wenn man Waffen verwendet für die es keine Animation gibt. Also wenn eine Nixe nen Hammer schwingt wird es wahrscheinlich nicht korrekt dargestellt.