.
|
|
| Autor | Beitrag |
|---|---|
|
000 13.12.2006, 03:46 Kriz |
Ich habe mein Wiki-Tutorial über die Half-Life Sprite Spezifikation überarbeitet und denke, daß ich es diese Woche zuendeführen kann. Viele Punkte sind überarbeitet, einige Ergänzungen hinzugefügt sowie Unnützes entfernt worden. Ich hoffe, daß die Spezifikation dann soweit vollständig sein wird. --K:R-I)Z++ Dieser Beitrag wurde am 13.12.2006 um 03:48 von Kriz bearbeitet. |
|
Profil || Suche |
|
001 13.12.2006, 12:53 KhanRKerensky |
Unter Win2k (gcc 3.irgentwas) hat bei mir int wie auch long eine Breite von 4 Byte. Unter Ubuntu (AMD64, gcc 4.1.2) hat nen int 4 Byte und nen long 8 Byte. -- "[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book |
|
Profil || Suche |
|
002 13.12.2006, 14:12 Buster |
Sicher? Bei Little Endian liegt doch das least significant Byte bei der niedrigsten Adresse, oder nicht? -- |
|
Profil || Suche |
|
003 13.12.2006, 14:35 Kriz |
@Khan: Sowas. Normalerweise ist ja long long der 64 Bitter bzw. __int64 und long nachwievor der 32 Bitter bzw. war long laut ISO/IEC immer "mindestens" 32 Bit. Tja, dann muß man halt dort adaptieren. So langsam kommt der Pseudostandard für C/C++ aus dem Gleichgewicht... Ich werde das noch im Tut korrigieren. Danke :) @Buster: Es kommt darauf an, wie man das Beispiel beschreibt. Wenn ich als Referenzwert z.B. 0xAABBCCDD nehme und _nicht_ auf die binäre Leserichtung von rechts nach links achte, dann ist bei Little Endian die Darstellung 0xDDCCBBAA und bei Big Endian eben 0xAABBCCDD. Wenn ich aber 0xAABBCCDD heranziehe und sage, die Leserichtung entspricht der binären Weise rechts nach links, dann stimmt es bei Little Endian mit 0xAABBCCDD und bei Big Endian mit 0xDDCCBBAA. Aber ich sehe, daß scheint wohl Probleme zu bereiten. Ich werde es überarbeiten. Irgendwann liest man Computerwerte automatisch von rechts nach links, das geht ins Blut über ;) --K:R-I)Z++ |
|
Profil || Suche |
|
004 13.12.2006, 15:31 theDon |
... Das einzige, was wirklich festgelegt ist, ist: \o tanz den naziprau! o/ And more than ever, I hope to never fall, |
|
Profil || Suche |
|
005 13.12.2006, 16:18 dp Administrator |
ich hab mal nach wiki-board verschoben. man sollte lieber auf wikipedia verlinken statt solche allgemeinen dinge versuchen zu erklaeren, relevant ist doch hier nur das dateiformat und sonst nichts. -- |
|
Profil || Suche |
|
006 13.12.2006, 18:14 Kriz |
Wäre auch ne Möglichkeit. --K:R-I)Z++ |
|
Profil || Suche |
|
007 28.02.2007, 15:12 Buster |
Ist die Spezifikation schon tutto completto? Mir fehlen da nämlich noch ein paar Strukturen, die du nicht veranschaulichst. Laut dieser Seite/Spezifikation ist da nämlich noch einiges, was in deiner Spezi fehlt. Gut du brauchst zwar nicht auf das Quake Format einzugehen aber die Paletten (nur kurz am Rande angestochen), Single - (auf das gehst du teilweise ein, scheint aber trotzdem nicht vollständig) und Grouped Frame Strukturen sollten schon noch Beachtung finden. Also - wäre dir sehr dankbar, wenn du das noch überarbeiten könntest. :) ** War nicht böse oder so gemeint, aber ich finde die Veranschaulichung auf der Seite, die ich oben angegeben habe sehr unübersichtlich. Sprich - ich finde deine "struct" - Darstellung à la C/C++ viel gelungener, von daher die Bitte um Vervollständigung. Damit kann man besser arbeiten. ;) ** --Dieser Beitrag wurde am 28.02.2007 um 15:17 von Buster bearbeitet. |
|
Profil || Suche |
|
008 26.03.2007, 15:44 Kriz |
Ich arbeite gerade an einem Java Package für Half-Life bezogene Inhalte, u.a. auch Klassen für Sprites usw. Wenn das fertig ist, dann werde ich die Sektion entsprechend erweitern. --K:R-I)Z++ |
|
Profil || Suche |
|
009 31.03.2007, 03:56 Kriz |
Erstmal danke für den Link! Hat mir sehr geholfen. Habe Header, Palette und Palettenfarben schonmal hingebogen bekommen, soll heißen daß ich schonmal Sprites laden kann (direkt oder per URL) und der Header und die Palette samt Farben verarbeitet werden. Kommt nur noch der Teil mit den Frames, aber damit beschäftige ich mich nächste Woche. PS: Wenn ein Sprite dann vollständig ist, kann man sich die einzelnen Frames als Image Objekt holen und dann in einem Fenster zeichnen lassen. Aber bis dahin... --K:R-I)Z++ Dieser Beitrag wurde am 31.03.2007 um 03:57 von Kriz bearbeitet. |
|
Profil || Suche |
|
010 11.04.2007, 18:58 Kriz |
Ok, die Spezifikation ist fertig. Wer Bugs finden sollte, der möge sich bitte melden oder das Wiki gleich editieren. Das nächste Projekt wird wohl die Spezifikation des Texturenformats und des WAD-Formats sein. Sounds haben wir ja soweit schon definiert. Danke an alle, die die Spritespezifikation unterstützt haben (theDon, Buster und weiß der Henker wer noch :) --K:R-I)Z++ |
|
Profil || Suche |
|
011 12.04.2007, 12:36 oxff |
Kriz: Meinst du nicht, es gibt auch sinnvolle Projekte? --mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik |
|
Profil || Suche |
|
012 12.04.2007, 15:53 Kriz |
Die einen sammeln Viren und Trojaner, die anderen versuchen Licht in den HL-Dschungel zu bekommen. Wo liegt das Problem? --K:R-I)Z++ |
|
Profil || Suche |
|
013 12.04.2007, 19:42 Pyro Phoenix |
*sabber* <- Das is doch wohl Grund genug für so ein Projekt ... *KLICK !* <- Und das erst recht €dit: Die Anzahl der Frames kann garnich Unbegrenzt sein ... :D [spoiler] Die Kombination aus int und numframes ist des Rätsels lösung [/spoiler] -- Dieser Beitrag wurde am 12.04.2007 um 20:34 von Pyro Phoenix bearbeitet. |
|
Profil || Suche |
|
014 12.04.2007, 23:03 Kriz |
Das ist mir auch klar, aber ein Integer reicht für die "Theorie" ja auch vollkommen aus. Ein 32 Bit signed Integer ist groß genug, um als "unbegrenzter" Framescounter zu gelten. --K:R-I)Z++ |
|
Profil || Suche |
|
015 13.04.2007, 07:12 theDon |
Schwachsinn, ein Integer hat grundsaetzlich einen beschraenkten Wertebereich. --\o tanz den naziprau! o/ And more than ever, I hope to never fall, |
|
Profil || Suche |
|
016 13.04.2007, 13:18 Kriz |
Ja klar, das Sprite mit 2.000.000 Frames will ich sehen... --K:R-I)Z++ |
|
Profil || Suche |
|
017 13.04.2007, 13:30 theDon |
Mal ganz davon abgesehen, dass 2 * 10^6 mit einem 32-bit-Integer durchaus noch darstellbar ist: \o tanz den naziprau! o/ And more than ever, I hope to never fall, |
|
Profil || Suche |
|
018 13.04.2007, 13:42 Kriz |
.oO(Schlimmer als ein Bürokrat) Es ist für das Spriteformat ausreichend, es wäre sogar ein short ausreichend gewesen, wenn nicht sogar ein char. Das int begrenzt ist, sollte allgemein bekannt sein und das alles auf einem Rechner begrenzt ist, sollte noch mehr bekannt sein. Alles weitere ist überflüssige Diskussion zu diesem Thema. --K:R-I)Z++ |
|
Profil || Suche |
|
019 13.04.2007, 15:17 Pyro Phoenix |
Könntest du diesen Teil noch ein wenig genauer beschreiben ? Den kapier ich nich so richtig ... Werden da ALLE Intervalle geladen ? Oder nur einer, für das jeweilige Frame ? -- |
|
Profil || Suche |
|
020 13.04.2007, 16:31 Kriz |
Jeder einzelne Groupframe besitzt das Intervallarray. Das ist zwar unökonomisch, aber leider Fakt. Es wird nur einmal gebraucht für alle Groupframes, trotzdem ist es in jedem Groupframe immer dabei. --K:R-I)Z++ |
|
Profil || Suche |
|
021 13.04.2007, 17:10 Pyro Phoenix |
Öhh ... wie soll denn dann bestimmt werden, welchen Intervallindex das |
|
Profil || Suche |
|
022 13.04.2007, 19:28 Kriz |
Ganz einfach, wenn das Intervallarray 6 float-Elemente hat, dann gibt es auch 6 Groupframes. interval[0] = 1. Groupframe bis interval[5] = 6. Groupframe. Das sollte eventuell noch besser hervorgehoben werden im Wiki. Mach ich gleich. --K:R-I)Z++ |
|
Profil || Suche |
|
023 15.04.2007, 20:44 Pyro Phoenix |
So. Gibt neue Infos zum Thema Maximale Frames ! Ich hab mir mal den original Quellcode von VALV'es sprgen.exe
|
|
Profil || Suche |
|
024 15.04.2007, 22:21 Kriz |
Ok, wird gleich eingebaut. --K:R-I)Z++ |
|
Profil || Suche |
|

