Crystals-DSA-Foren

Normale Version: Reverse Engineering der NLT
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Vllt wäre es gut wenn du den spielstand beifügst, dann kann evtl der Fehler besser untersucht und er künftig als testcase verwendet werden.
Ich habe die Version vom 26.01.2013, läuft unter Windows 7. Wenn du mir via PN ne Mailadresse schickst, sende ich dir den Spielstand gerne.
Ich habs mal unter Windows mit einem normalen Tempel ausprobiert, funktioniert ... wo war nochmal der Firun-Tempel? :D

Wäre es vielleicht möglich im Ausgabefenster das Builddatum anzeigen zu lassen? Keine Ahnung, ob du das so programmieren kannst. ;)

Edit: Fíonlaighrí, dann probier doch mal die momentan aktuelleste Version vom 23.08.2013: Hier!
(27.08.2013, 17:41)Obi-Wahn schrieb: [ -> ]Ich habs mal unter Windows mit einem normalen Tempel ausprobiert, funktioniert ... wo war nochmal der Firun-Tempel? :D

Der Firun-Tempel befindet sich auf der Strecke Phexcaer-Skelellen, hinter dem Sumpf (ist also vermutlich leichter von Skelellen aus zu erreichen).

(27.08.2013, 17:41)Obi-Wahn schrieb: [ -> ]Wäre es vielleicht möglich im Ausgabefenster das Builddatum anzeigen zu lassen? Keine Ahnung, ob du das so programmieren kannst. ;)

Ja, das ist kein Problem, habs mal eben eingebaut (mit amerikanischem Datum).
Danke, funktioniert unter Linux wunderbar! Das englische Datum reicht ja völlig aus.

Leider gibt es beim neusten Windows-Build ein paar Stunden und Commits später ein Problem:

Code:
..\src\custom\schick\rewrite_m302de\seg095.cpp(203) : error C2664: 'M302de::GUI_dialogbox': Konvertierung des Parameters 1 von 'Bit8u *' in 'RealPt' nicht möglich
        Es gibt keinen Kontext, in dem diese Konvertierung möglich ist
Ein ärgerlicher Faselfehler!
Naja, jetzt lohnt sich der Build noch etwas mehr:
Wenn Nariell die Gruppe verlässt, wird für jeden Held der Talentwert für Schleichen dauerhaft gesteigert.
Durch einen anderen Logikfehler hatte ich das nur für tote Helden zugelassen,
was natürlich falsch ist.
Dank der neuen Vergleichsmöglichkeit hab ich es wieder behoben.
Läuft wieder! :)

Neue Version!
@Henne: Welche SDL-Version benutzt du unter Linux? Ich habe bei mir (leider) 1.2.15 und bekomme damit wieder die Probleme mit dem Numpad und (für mich neu) auch den Pfeiltasten. Da muss ich mir wohl noch eine extra SDL-1.2.13-Version bereitstellen. :(
@Obi: Unter Linux habe ich SDL 1.2.15 und keine Probleme, da ich ja gegen diese Version linke.
Wenn du unter Windows baust, solltest du dort die SDL 1.2.13, da DOSBox in der Heldenedition gegen diese gelinkt wurde.
Die alten Developmentdateien gibt es auf dem FTP-Server von SDL.
Frag mich Morgen nochmal, wenn es nicht geht.

P.S. Segment007 ist auch komplett Borlandifiziert.
Unter Windows baue ich jetzt ja mit SDL 1.2.13 und da funktioniert es problemlos. Und unter Linux habe ich das Problem gerade auch gefunden. Ich hatte die dosbox-binary immer in "bright-eyes" umbenannt und das mochte SDL wohl nicht. Wenn ich einfach bei "dosbox" bleibe , funktionieren die Pfeiltasten und das Numpad ganz normal. :silly:

Edit: Mal geht es, mal nicht. Auch mit der nicht-umbenannten dosbox. Sehr komisch...

Edit2: Hab den Bug gefunden. Wenn ich per F10 das DosBox-Fenster verlasse und dann wieder "rein" komme, gehen Numblock und Pfeiltasten nicht mehr. Blöde, aber immerhin weiß ich jetzt woran es liegt.
Beim neusten Build gibt es ein Problem:

Code:
g:\ObiWahn\spiele\brighteyessource\src\custom\schweif\schweif_c102de.cpp(632) : error C4716: 'ovr249': Muss einen Wert zurückgeben

Edit: Durch ein bisschen raten, habe ich den Fehler vielleicht behoben? War das richtig? Commit ist abgeschickt.
(06.09.2013, 18:33)Obi-Wahn schrieb: [ -> ]Beim neusten Build gibt es ein Problem:

Code:
g:\ObiWahn\spiele\brighteyessource\src\custom\schweif\schweif_c102de.cpp(632) : error C4716: 'ovr249': Muss einen Wert zurückgeben

Edit: Durch ein bisschen raten, habe ich den Fehler vielleicht behoben? War das richtig? Commit ist abgeschickt.

Seltsam, der gcc hat mir da nicht mal eine Warnung ausgespuckt, geschweige denn einen Fehler. Deinen Commit kann ich nicht sehen, hast du den wirklich in HenneNWHs Repository hochgeschoben ('git push')? Hab selber mal einen Commit gemacht für den Fehler.
Der Commit ist wohl ins Nirvana verschwunden. TortoiseGit für Windows ist zwar im Prinzip ein tolles Programm, aber leider nicht immer ganz so einfach bzw. eindeutig zu bedienen. Egal. Build ist jetzt wieder durchgelaufen.

Edit: Neue Version!

Hier auch mal eine Version, die mit Visual Studio Express 2012 erstellt wurde: [attachment=3537]
Ein Unterschied kann ich nicht feststellen...
Ich bin mit den September-Version von BrightEyes gerade in der Zwergenfeste in Oberorken.
An der Stelle wo man eine Spalte mit einer unsichtbaren Wand überspringen muss, passiert bei mir folgendes:
Beim ersten und zweiten Sprung springt meine Gruppe gegen die unsichtbare Wand, es kommt ein passender Text und einer nimmt Schaden.
Beim dritten Sprung kommt aber ein Text "Raum gefüllt und ihr paddelt hilflos im Wasser..." der wahrscheinlich zu der Wasserfalle im Raum davor gehört.

Danach ist die Wand dann weg und die Gruppe kann ohne Probleme über die Spalte springen.
Wenn ich mit dem Schreiben von der Hetfrau ins Zeughaus in Thorwal gehe, habe ich ein Einkaufsproblem.
Beim Hetman habe ich die passenden Antworten gegeben, damit ich für 45 D einkaufen darf.

Wenn ich dann Gegenstände auswähle kommt es zu einem Fehler.

Wähle ich z. B. zuerst auf den hinteren Einkaufsseiten Dinge aus und anschließend die Massenware (also z. B. zuerst 1 Eisenhelm, 1 Eisenschild, 1 Lederhelm, 1 Armbrust, 1 Langbogen und dann 40 Pfeile und 40 Bolzen) kann ich ganz normal um den Einkauf feilschen.

Wähle ich jedoch zuerst die Pfeile und Bolzen aus, dann kann ich nichts weiteres auswählen, weil die Fehlermeldung kommt die Gruppe hätte keinen Platz mehr :frage:

[attachment=3565]
Hallo,

ich habe mir mal die ROUTES.DAT von Sternenschweif angeschaut.
Wie schon am Namen zu vermuten, enthält diese die Streckendaten für die Überlandkarte. Es gibt insgesamt 261 Strecken, Format ist wie folgt:
Header (4*261 + 8 = 1052 Bytes):
4 Bytes pro Strecke, Byte 3 und 4 sind für jede Strecke 0. Die Bedeutung der Bytes 1 und 2 sind mir noch unklar.
Der Header wird durch 8 0xFF-Bytes abgeschlossen.
Dann folgen die Strecken-Pixel, jeweils ein Paar von unsigned shorts für x- und y-Koordinate.

Meine Frage an die Community: Ich habe mal zwei eingefärbte Bilder angehängt. Das erste zeigt (mit dem Grün-Anteil der Strecke) den Wert von Header-Byte 1 an, d.h. je mehr ins Gelb die Strecke geht, desto höher ist der für diese Strecke angegebene Wert (Byte 1) im Header. Das zweite Bild macht das Gleiche mit Byte 2 aus dem Header.

[attachment=3586][attachment=3587]

Kann jemand einen Sinn hinter diesen Werten erkennen?

EDIT: Neue und aussagekräftigere Bilder eingefügt.
(18.09.2013, 16:59)Hendrik schrieb: [ -> ]Kann jemand einen Sinn hinter diesen Werten erkennen?

Wenn ich mir die Bilder anschaue, dann käme mir die Idee, dass die Färbungen für die unterschiedlichen Straßenbedingungen stehen. Je heller eine Strecke ist, umso einfacher und schneller kommt man voran.

Es gibt im Spiel Wege, wo sich die Markierung extrem langsam bewegt (bspw. im Finsterkamm) und andere Wege (bspw. zwischen Gashok und Tiefhusen, das Teilstück vor der Kreuzung, wo man auf Korima treffen kann), wo die Markierung den Turbomodus einlegt, was auf eine gut ausgebaute Straße hindeutet. :think:
Würde ich auch vermuten. Ein byte definiert die Reisegeschwindigkeit, und das andere vielleicht die Ereignishäufigkeit. Oder generell das Gefahrenpotential, hinsichtlich Begegnungen/möglicher Kämpfe und/oder Krankheiten, möglicherweise.
Wenn ich alles richtig gemacht habe dann seh ich gerade auch die Daten der ROUTES.DAT vor mir. Mein erstes mal mit diesen DAT Dateien, hoffe also ich erzähle im Folgenden keinen Mist :pfeif:

Aber deine Angaben über die Header usw. passen zu dem was ich sehe.
Ich würde mal darauf Tippen das Byte 1 wirklich etwas mit der Geschwindigkeit zu tun hat. Die Werte reichen von 0-248 (min/max), also eventuell wäre dann mit 255 kein weiterkommen möglich? Ich habe es nicht getestet, ist nur eine Idee.
Byte 2 und 3 gehören zusammen, sieht man an den letzten 25 Strecken. Byte 2 fängt mit dem Wert 2 an und steigert sich dann bis 277. Wobei es nicht kontinuierlich um eins hoch geht, manchmal wird eine Zahl übersprungen oder die selbe wird doppelt verwendet. Vielleicht sind es Index Nummern für eine Liste in dennen dann mehr Daten hinterlegt sind? Also sowas wie Terrain oder Wahrscheinlichkeiten für Überfälle, verfügbare Pflanzen, Krankheiten oder sowas.
Aber Byte 4 ist wirklich immer 0.
Danke für die Antworten.
Dass Byte 1 die Reisegeschwindigkeit angibt, hatte ich auch schon vermutet.
Durch Helios' Vermutung inspiriert, habe ich mal ein wenig experimentiert mit den Werten. Trage ich für die 1. Strecke (Weg von Kvirasim nach Süden) 0xFF ein, bleibt Schweif beim Aufrufen des Reiseschirms mit einem schwarzen Bildschirm hängen; bei anderen Werten wird die Strecke auf der Karte verschoben. Die Reisegeschwindigkeit hat sich dadurch leider nicht geändert.
Das 2./3. Byte sieht in der Tat wie ein Index aus. Stellt sich nur noch die Frage, wo dann die restlichen Daten liegen.

Übrigens: Hat schon jemand herausgefunden, wo Sternenschweif die klassenspezifischen Ausrüstungs-Einschränkungen speichert?