loadworld() noch ein Bug?

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46
Wohnort: Luxemburg
Kontaktdaten:

Beitrag von hardfalcon »

Wenn wir kompatibel bleiben/sind zum MAP-Format, dann brauchen wir u.U. auch keinen eigenen Editor zu schreiben, ein simpler Konverter langt dann vollauf.
„Warum siehst du den Splitter im Auge deines Bruders, aber den dicken fetten schwarzen Zensurbalken vor deinem Auge bemerkst du nicht?“
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46
Wohnort: Luxemburg
Kontaktdaten:

Beitrag von hardfalcon »

Hier mal ein kleines Beispiel einer XML-Datei, wie wir sie benutzen könnten:

Code: Alles auswählen

<?xml version="1.0"?>

<mapinfo>
    <name>Meine erste Map</name>
    <creator>Pascal 'hardfalcon' Ernster</creator>
    <email>hardfalcon -AT- gpfclan . de</email>
    <website>http://hardfalcon.gpfclan.de/</website>
</mapinfo>

<ressources>
    <texture src="sprite.jpg">meinetextur1</texture>
    <texture src="alpha.png">textur_mit_alphachannel</texture>
    <music src="bgmusic.mod">Hintergrundmusik</music>
    <sound scr="expl1.ogg">explosion</sound>
    <mesh scr="mymesh.mesh">mesh1</mesh>
    <!--
    <manualmesh data="">mymesh2</manualmesh>
    -->.
</ressources>

<materials>
    <material texture="meinetextur1">
        material1
        <layer texture="textur_mit_alphachannel" mode="AlphaBlend"></layer>
    </material>
</materials>

<world>
    <terrain src="terrain.png">Terrain</terrain>
    <entity mesh="mesh1" texture="material1" position="12.3;45.6;7.89" health="75" diesound="explosion">object1</entity>
    <gravity>9.82</gravity>
    <skybox>stevecube.zip</skybox>
    <skydome curvature="30">clouds.jpg</skydome>
    <bgmusic>Hintergrundmusik</bgmusic>
</world>
Natürlich gibts da noch SEHR viel dran zu verbessern... :)
„Warum siehst du den Splitter im Auge deines Bruders, aber den dicken fetten schwarzen Zensurbalken vor deinem Auge bemerkst du nicht?“
Sebe
Beiträge: 585
Registriert: 11.09.2004 21:57
Wohnort: Europa
Kontaktdaten:

Beitrag von Sebe »

Code: Alles auswählen

<information>
   <name>NAME OF THE MAP</name>
   <creator>NAME OF THE MAPCREATOR</creator>
   <email domain="DOMAIN.XYZ">EMAIL</email>
   <date>YEAR/MONTH/DAY</date>
</information>

<ressources>
   <scripts type="PAK">\textures\materials.zip</scripts>
   <meshes type="PATH">\modells\</meshes>
   <texture type="PATH">\textures\</texture>
   <music type="PATH">\audio\music\</music>
   <sounds type="PAK">\audio\sound\sounds.zip</sounds>
</ressources>

<world>
   <shadows>ADD/MOD</shadows>
   <gravity>[GRAVITY]</gravity>
   <terrain scale="[X];[Y];[Z]" accuracy="[VALUE]">HEIGHTMAP.PNG</terrain>
   <skybox>SKYBOX.PNG</skybox>
   <skydome curve="[VALUE]">SKYDOME.PNG</skydome>
   <backgroundmusic volume="[VALUE]">BACKGROUNDMUSIC.OGG</backgroundmusic>
</world>

<mlayer>
   <layer texture="TEXTURE.PNG" mode="ADD/REPLACE/ALPHA/MOD">LAYERNAME</layer>
</malayer>

<materials>
   <material texture="TEXTURE.PNG" layer="LAYERNAME1" layer="LAYERNAME2" layer="LAYERNAME3" ambient="[COLOR]" blending="ADD/ALPHA/COLOR" diffuse="[COLOR]" filtering="NONE/BI/TRI" shading="FLAT/GOURAUD/PHONG" specular="[COLOR]">MATERIALNAME</material>
</materials>

<entities>
   <entity mesh="FILE.MESH" material="MATERIALNAME/SCRIPTFILE.MATERIAL" position="[X];[Y];[Z]" scale="[X];[Y];[Z]" friction="[VALUE]" mass="[VALUE]">ENTITYNAME</entity>
</entities>

<particles>
   <emitter scale="[X];[Y];[Z]" type="POINT/BOX" position="[X];[Y];[Z]" material="MATERIALNAME" direction="[X];[Y];[Z]" psize="[W];[H]" rate="[VALUE]" time="[MIN];[MAX]" velocity="[MIN];[MAX]" cfade="[R];[G];[B]" crange="[START];[END]">EMITTERNAME</emitter>
</particles>
So, verschiedene Layer werden jetzt auch berücksichtigt. "Von Hand erstellte" Meshes habe ich nicht berücksichtigt. Wenn man diese noch berücksichtigen WILL, dann am besten in Form eines eigenen Formats. Da dies aber imho wegen dem Mesh Format Unsinn ist habe ich das weggelassen.
Zuletzt geändert von Sebe am 18.02.2006 17:55, insgesamt 1-mal geändert.
Sebe
Beiträge: 585
Registriert: 11.09.2004 21:57
Wohnort: Europa
Kontaktdaten:

Beitrag von Sebe »

Sry für Doppelpost. Evtl. sollten die entsprechenden Beiträge von den Mods in einen eigenständigen Thread ausserhalb des temporären PB4.00 beta Forums verschoben werden. Nur so ein Vorschlag. :)
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46
Wohnort: Luxemburg
Kontaktdaten:

Beitrag von hardfalcon »

Jo, das mit den Handerstellten Meshes kann man IMHO wirklich weglassen. Super arbeit, Sebe! :D
„Warum siehst du den Splitter im Auge deines Bruders, aber den dicken fetten schwarzen Zensurbalken vor deinem Auge bemerkst du nicht?“
Sebe
Beiträge: 585
Registriert: 11.09.2004 21:57
Wohnort: Europa
Kontaktdaten:

Beitrag von Sebe »

Danke falcon :) Die spezifischen Dinge wie health und diesound habe ich ebenfalls weggelassen, aber durch die Strukturen ist das Format natürlich beliebig erweiterbar. Dafür würde ich dann allerdings eine weitere Struktur einführen, z.B. creatures oder so, die dann von der entity Struktur abhängt. :allright:

Nur schade, dass lua oder Konsorten noch nicht fest in PB integriert sind :wink:
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Warum darf ich das nicht erwarten?

Ich habe hier irgendwo gelesen das es neue Collisionsbefehle geben wird.
Diese sind für das BSP-Format gedacht, aber wozu entwickelt Fred dann den Kramm weiter wenn World sowieso nicht funktioniert, außerdem hat so die Ogre-Lib stark an Wert verloren.
I´a dllfreak2001
Sebe
Beiträge: 585
Registriert: 11.09.2004 21:57
Wohnort: Europa
Kontaktdaten:

Beitrag von Sebe »

Link? Ich habe bloss die Infos aus dem Thread zu dem ich den Link gepostet habe. Demnach gibt es den Befehl einfach nicht mehr. Ausserdem finde ich nicht, dass dadurch die OGRE Lib an Wert verliert. BSP ist veraltet und ich habe ehrlich gesagt keine Lust mich noch darum kümmern zu müssen, was mir id Software erlaubt oder nicht. Lade dein Level halt einfach als Mesh, Kollisions- und Physikfunktionen gibt es bereits. Ich hoffe mal, dass wir mit dem eigenen Levelformat auf einen grünen Zweig kommen.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

wenn du deinen Level einfach als mesh lädst, dann gibt es keinerlei szenen management und damit kein visibility und du kannst froh sein, wenn dein quake2 klon auf einem 3GHz rechner einigermaßen ruckelfrei läuft.

von daher finde ich auch, dass die ogre library damit *stark* an wert verloren hat, denn damit jetzt noch einen indoor shooter zu basteln ist wahrscheinlich mehr aufwand als mit opengl bei null anzufangen.
Sebe
Beiträge: 585
Registriert: 11.09.2004 21:57
Wohnort: Europa
Kontaktdaten:

Beitrag von Sebe »

Das glaube ich kaum, zumindest steht auf der OGRE Homepage unter Features auch etwas von Octree Scene Management. Da müsste man tatsächlich mal bei Fred direkt anfragen, aber ich denke Octree wird verwendet. Wäre ansonsten irgendwie komisch :?
Antworten