loadworld() noch ein Bug?
- hardfalcon
- Beiträge: 3447
- Registriert: 29.08.2004 20:46
- Wohnort: Luxemburg
- Kontaktdaten:
- hardfalcon
- Beiträge: 3447
- Registriert: 29.08.2004 20:46
- Wohnort: Luxemburg
- Kontaktdaten:
Hier mal ein kleines Beispiel einer XML-Datei, wie wir sie benutzen könnten:
Natürlich gibts da noch SEHR viel dran zu verbessern...
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>
„Warum siehst du den Splitter im Auge deines Bruders, aber den dicken fetten schwarzen Zensurbalken vor deinem Auge bemerkst du nicht?“
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>
Zuletzt geändert von Sebe am 18.02.2006 17:55, insgesamt 1-mal geändert.
- hardfalcon
- Beiträge: 3447
- Registriert: 29.08.2004 20:46
- Wohnort: Luxemburg
- Kontaktdaten:
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.
Nur schade, dass lua oder Konsorten noch nicht fest in PB integriert sind
Nur schade, dass lua oder Konsorten noch nicht fest in PB integriert sind
- dllfreak2001
- Beiträge: 2925
- Registriert: 07.09.2004 23:44
- Wohnort: Bayern
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.
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
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.
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.
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.