Forum



FloSoft am 05.03.2007 15:20 #1145

Großmeister
Ich habe soeben den Quellcode der von uns benutzten und geschriebenen Bibliothek "libendian" freigegeben.

Der Code ist unter Files zu finden.

Beschreibung:
Eine Bibliothek zur Umsetzung der Systembefehle fread und fwrite auf die entsprechenden Varianten für Little und Big-Endian (damit man bei beiden identische Ergebnisse beim Einlesen und Schreiben bekommt)

---
mfg
Flo


Editiert von FloSoft am 05.03.2007 16:00

Prophet am 07.03.2007 18:31 #1146


Bezeichnet das little bzw. big endian nicht nur die reihenfolge der bytes für numerische werte?


FloSoft am 07.03.2007 19:34 #1147

Großmeister
ja genau

Little-Endian 1234
Big-Endian 4321

Naja wenn man z.b eine Datei hat, da steht ka z.b

FF EE

drin (hex)

Wenn ich die nun auf ner Big-Endian maschine in nen unsigned short lesen würde käme da 61183 raus, obwohl da weil das z.b little endian war 65518 sein müsste. Andersrum natürlich genauso.

Da kann man nun eben le_read_us aus der library benutzen un man bekommt immer 61183, egal ob Big oder Little-Endian. Wenn man be_read_us benutzt bekommt man immer 65518 raus.

Natürlich gibts noch Platformen die 3412 (PDB) haben - nur die haben halt da erstmal pech gehabt ;-) (dafür kompiliert die library auch nicht)

---
mfg
Flo


Editiert von FloSoft am 07.03.2007 19:37

Prophet am 07.03.2007 19:59 #1148


In welchem endian sind denn die s2 dateien? Die sind doch überall gleich oder?


FloSoft am 07.03.2007 20:16 #1149

Großmeister
leider nein, darum haben wirs ja gebraucht.

teilweise big-endian, teilweise little-endian, das ist total bescheuert ;)

---
mfg
Flo



Richie am 07.03.2007 23:14 #1150


Hi
Da ihr ja so wie es aussieht, sowieso SDL verwendet, frag ich mich, wieso ihr nicht die in SDL eingebauten Funktionen zum Tauschen der Byteorder verwendet (http://www.libsdl.org/intro.en/usingendian.html). Steht leider nicht in der offiziellen SDL Dokumentation.

Ansonsten finde ich euer Projekt echt Klasse. Weiter so!


FloSoft am 08.03.2007 08:40 #1151

Großmeister
Hi,
wir nutzen nur teilweise SDL - man kann das ganze Teil auch rein mit WinAPI benutzen, oder rein mit Xlib (in dem fall mit hilfe von glfw) unter Linux.

Ansonsten ist natürlich die libsiedler2 generisch gehalten und hat keinerlei Grafikcode drin, darum kann man da auch schlecht auch noch sdl-abhängigkeit erzeugen.

---
mfg
Flo


Editiert von FloSoft am 08.03.2007 08:41

Prophet am 08.03.2007 14:39 #1152


Wenn man die SDL schon verwendet kann man doch gleich alles damit machen. Entsprechende funktionen bietet sie doch (kontrolle der fenster). Warum einen extra port auf WinAPI oder Xlib? Das regelt dann doch so oder so die SDL Bibliothek.

Das eure libsiedler2 keinen Grafikcode enthält ist klar.


OLiver am 08.03.2007 16:15 #1153

FloSofts Coding-Sklave
Weil es so teilweise flexibler ist und man nicht von der SDL abhängig ist. Außerdem ist die SDL etwas lahmer (ok, kann man vernachlässigen ;) ).

---
Warum heißt der Staatsbürger "Staatsbürger"?
-> Weil er für den Staat bürgt.