|
-
Zitat von Sporthistoriker
Wo finde ich das Script selber (rein zum archivieren)?
Das Neueste (?) hat George (im post über dir) in seinem ersten Satz verlinkt. (Für ältere Versionen musst Du dem 10 Jahre alten post vom The-DeathKnight folgen, auf den mein letzter post verlinkt, s. auch dein Zitat.)
-
Zitat von Sporthistoriker
Interessant, private Arbeit oder etwas in Planung? Interessant woher die Grafiken kommen. Wäre es möglich Landschaft und Gebäude aus ArcaniA in die Gothic 3 Engine zu bekommen? Was kanonisch ist wird sich sicher in der Richtung nach dem Aufkauf von PB und der Rechte an Gothic allgemein, von TQ Nordic dahingehend positiv verändern. Die Südlichen Inseln in Gothic 3 wären hammer. An den Werkzeugen haben wir ja gearbeitet, fehlen aber noch ein paar Infos und evtl. habe ich noch das ein oder andere im Chaos rumliegen: Arcania Modding - Informationen (letzte Beiträge beachten)
Momentan noch Private 'Machbarkeitsstudie', wie aufwendig das ganze ist.
Ausserdem bin ich nur 3D-ler und kein Scripter.
ArcaniA verwendet eine völlig andere Game-Engine.
Meines Wissens verwenden die dort auch High-Maps als Terrains und keine richtigen Meshes.
Gebäude und VOBs zu übernehmen ist fast unmöglich (abgesehen vom Rechtlichen)
-
Zitat von karim09
Ausserdem bin ich nur 3D-ler und kein Scripter.
Du hattest nach einer Beschreibung des .node Datei Formats gefragt.
Das angesprochene script gibt die meines Wissens umfassendste "Beschreibung" der Weltdaten-Dateien aus. (Du musst kein Scripter sein, um das script im TinyHexer ablaufen zu lassen.)
Als 3D-ler sollte so etwas doch sehr aufschlussreich für dich sein (also der text rechts, nicht das Hex-Gedöns links)?
Code:
0x000296F9 0x3200 Start Class Entry (Version) ????
0x000296FB 0x0100 0x0101 0x0001 010001010001 (Sub-)Class Identifier
0x00029701 0x2200 0x0022 Class Type: eCVisualMeshStatic_PS
0x00029703 0x0100 ????
0x00029705 0x00 ????
0x00029706 0x5300 (Class Version)
0x00029708 0x5300 83 Class Version(!)
0x0002970A 0x71000000 (0002970E + 00000071 = 0002977F) Size Until Dead Code
0x0002970E 0x1E00 30 Property Class Version
0x00029710 0x07000000 7 Property Type Count
0x00029714 0x0C00 0x000C Property Name: ResourceFilePath
0x00029716 0x2300 0x0023 Property Class Type: bCMeshResourceString
0x00029718 0x1E00 0x001E Magic Value
0x0002971A 0x02000000 2 Size
0x0002971E 0x5100 0x0051 Value: G3_Nordmar_Xardas_Tower_01.xcmsh
0x00029720 0x2500 0x0025 Property Name: ResourceFileName
0x00029722 0x2300 0x0023 Property Class Type: bCMeshResourceString
0x00029724 0x1E00 0x001E Magic Value
0x00029726 0x02000000 2 Size
0x0002972A 0x5100 0x0051 Value: G3_Nordmar_Xardas_Tower_01.xcmsh
0x0002972C 0x2600 0x0026 Property Name: StaticLightingType
0x0002972E 0x2700 0x0027 Property Class Type: bTPropertyContainer<enum eEStaticLighingType>
0x00029730 0x1E00 0x001E Magic Value
0x00029732 0x06000000 6 Size
0x00029736 0x0100 Identifier/Active(Word) ???
0x00029738 0x00000000 00000000 StaticLighingType: eEStaticLighingType_Lightmap = 0
0x0002973C 0x2800 0x0028 Property Name: LightmapAmbientOcclusion
0x0002973E 0x2900 0x0029 Property Class Type: bTPropertyContainer<enum eELightmapAmbientOcclusion>
0x00029740 0x1E00 0x001E Magic Value
0x00029742 0x06000000 6 Size
0x00029746 0x0100 Identifier/Active(Word) ???
0x00029748 0x01000000 00000001 LightmapAmbientOcclusion: eELightmapAmbientOcclusion_PerTriangle = 1
0x0002974C 0x2A00 0x002A Property Name: LightmapType
0x0002974E 0x2B00 0x002B Property Class Type: bTPropertyContainer<enum eELightmapType>
0x00029750 0x1E00 0x001E Magic Value
0x00029752 0x06000000 6 Size
0x00029756 0x0100 Identifier/Active(Word) ???
0x00029758 0x01000000 00000001 LightmapType: eELightmapType_Mixed = 1
0x0002975C 0x2C00 0x002C Property Name: UnitsPerLightmapTexel
0x0002975E 0x2D00 0x002D Property Class Type: float
0x00029760 0x1E00 0x001E Magic Value
0x00029762 0x04000000 4 Size
0x00029766 0x00004842 50 (Value)
0x0002976A 0x2E00 0x002E Property Name: MaterialSwitch
0x0002976C 0x2F00 0x002F Property Class Type: int
0x0002976E 0x1E00 0x001E Magic Value
0x00029770 0x04000000 4 Size
0x00029774 0x00000000 0 (Value(?))
..........
0x00029778 0x3200 End Class Entry (Version) ????
0x0002977A 0x01 ??? Bool? Active?
0x0002977B 0x00020001 ??? eCVisualMeshDynamic_PS: two Words? 0x00020001
0x0002977F 0xDEC0ADDE DEADC0DE Magic value (DeadCode) End Of Class Entry
(Wobei man das wahrscheinlich auch in G3dit sieht; habe ich aber ewig nicht mehr benutzt.)
-
Zitat von karim09
Momentan noch Private 'Machbarkeitsstudie', wie aufwendig das ganze ist.
Ausserdem bin ich nur 3D-ler und kein Scripter.
ArcaniA verwendet eine völlig andere Game-Engine.
Meines Wissens verwenden die dort auch High-Maps als Terrains und keine richtigen Meshes.
Gebäude und VOBs zu übernehmen ist fast unmöglich (abgesehen vom Rechtlichen)
Rüstungen habens doch auch ins spiel geschaft warum nicht gebäude`?
-
Zitat von Redmatix
Rüstungen habens doch auch ins spiel geschaft warum nicht gebäude`?
Dass das geht haben unsere Techniker doch längst bewiesen...
Neue Fachwerkhäuser in Montera#1 #2
Umfassende Erweiterungen im Kloster in Nordmar
Umbauten in Xardas Turm
-
Ich glaube es geht ihm hier um Arcania und nicht um Gothic 3.
Ich habe vor einiger Zeit auch mal versucht, die Spieldaten zu entpacken, bin aber nicht an die Meshes gekommen. Es existieren leider kaum zugängliche Tutorials, wie man die Tools, die es gibt, benutzen muss.
-
Zitat von tombom81
Das Neueste (?) hat George (im post über dir) in seinem ersten Satz verlinkt. (Für ältere Versionen musst Du dem 10 Jahre alten post vom The-DeathKnight folgen, auf den mein letzter post verlinkt, s. auch dein Zitat.)
Mein dunkelmach-Tool für den Browser hat das wieder optisch gefressen, danke.
Zitat von karim09
Momentan noch Private 'Machbarkeitsstudie', wie aufwendig das ganze ist.
Ausserdem bin ich nur 3D-ler und kein Scripter.
ArcaniA verwendet eine völlig andere Game-Engine.
Meines Wissens verwenden die dort auch High-Maps als Terrains und keine richtigen Meshes.
Gebäude und VOBs zu übernehmen ist fast unmöglich (abgesehen vom Rechtlichen)
Einiges hat aus ArcaniA ja schon den Weh nach Gothic 3 gefunden, seinerzeit auch geduldet vom Rechteinhaber. HerrFenrisWolf bestätigt das ja auch.
Zitat von Askanius
Ich glaube es geht ihm hier um Arcania und nicht um Gothic 3.
Ich habe vor einiger Zeit auch mal versucht, die Spieldaten zu entpacken, bin aber nicht an die Meshes gekommen. Es existieren leider kaum zugängliche Tutorials, wie man die Tools, die es gibt, benutzen muss.
Es geht mir um beides, die meisten Tools für ArcaniA waren lange verlohren gewesen für die breitere Öffentlichkeit. Diese haben wir soweit wieder zur Verfügung gestellt. Es fehlen aber in der Tat Beschreibungen und Anleitungen. Zum einen wollte ich auf diese evtl. vergessene Möglichkeit Hinweisen, zum anderen animieren wenn einer noch Infos hat, Anleitungen oder Wissen dieses zu teilen.
Aktueller Zustand: Bin zuhause, viel am schlafen aber sonst geht es. (PMs hole ich dieses Wochende nach)
Pflegestufe 3 ist DURCH !!!, Behinderten Prozente 100% mit Begleitung Bearbeitung, physisch und psychologisch arg angeschlagen.
[Bild: 47439305ao.png]
-
Zitat von tombom81
Es gibt eine (10 Jahre alte) Scripterweiterung für Mirkes Tiny Hexer: https://forum.worldofplayers.de/foru...s#post10633444
Soweit ich mich erinnern kann, funktionierte die mit den original .node-Dateien sehr gut, dauerte auf den damaligen PCs zwar etwas, bis das Ascii-Log erstellt war (Beispiel G3_World_01_x95000y0z135000_CStat.node mit Xardas Turm):
Code:
0x00029576 Number of Entity: 189 Entity: G3_Nordmar_Xardas_Tower_01 (ST-IDX: 0050)
0x0002967A 0x4934B547, 0x6038B346, 0x02B10348 92776.5703124999936, 22940.1875, 134852.03125
0x00029686 0xAF0BC147, 0x88611B47, 0x1AC70848 98839.3671875000064, 39777.53125, 140060.40625
0x00029692 0xE0D239C5, 0x4007ECC3, 0x805E22C5 -2973.1796875, -472.056640625, -2597.90625
0x0002969E 0xE0194145, 0x26B57F46, 0xC0272345 3089.6171875, 16365.2871093749984, 2610.484375
0x000296AA 0x4934B547, 0x6038B346, 0x02B10348 92776.5703124999936, 22940.1875, 134852.03125
0x000296B6 0xAF0BC147, 0x88611B47, 0x1AC70848 98839.3671875000064, 39777.53125, 140060.40625
0x000296C2 0x509C1146 9319.078125 ????
0x000296C6 0xFC1FBB47, 0xB8FDF446, 0x0E3C0648 95807.96875, 31358.859375, 137456.21875
0x000296D2 0x509C1146 9319.078125 ????
0x000296D6 0xFC1FBB47, 0xB8FDF446, 0x0E3C0648 95807.96875, 31358.859375, 137456.21875
.......... START OF CLASS (Number: 1 of 3)
.......... for Entity: G3_Nordmar_Xardas_Tower_01 (Number: 189)
0x000296F9 0x3200 Start Class Entry (Version) ????
0x000296FB 0x0100 0x0101 0x0001 010001010001 (Sub-)Class Identifier
0x00029701 0x2200 0x0022 Class Type: eCVisualMeshStatic_PS
0x00029703 0x0100 ????
0x00029705 0x00 ????
0x00029706 0x5300 (Class Version)
0x00029708 0x5300 83 Class Version(!)
0x0002970A 0x71000000 (0002970E + 00000071 = 0002977F) Size Until Dead Code
0x0002970E 0x1E00 30 Property Class Version
0x00029710 0x07000000 7 Property Type Count
0x00029714 0x0C00 0x000C Property Name: ResourceFilePath
0x00029716 0x2300 0x0023 Property Class Type: bCMeshResourceString
0x00029718 0x1E00 0x001E Magic Value
0x0002971A 0x02000000 2 Size
0x0002971E 0x5100 0x0051 Value: G3_Nordmar_Xardas_Tower_01.xcmsh
0x00029720 0x2500 0x0025 Property Name: ResourceFileName
0x00029722 0x2300 0x0023 Property Class Type: bCMeshResourceString
0x00029724 0x1E00 0x001E Magic Value
0x00029726 0x02000000 2 Size
0x0002972A 0x5100 0x0051 Value: G3_Nordmar_Xardas_Tower_01.xcmsh
0x0002972C 0x2600 0x0026 Property Name: StaticLightingType
0x0002972E 0x2700 0x0027 Property Class Type: bTPropertyContainer<enum eEStaticLighingType>
0x00029730 0x1E00 0x001E Magic Value
0x00029732 0x06000000 6 Size
0x00029736 0x0100 Identifier/Active(Word) ???
0x00029738 0x00000000 00000000 StaticLighingType: eEStaticLighingType_Lightmap = 0
0x0002973C 0x2800 0x0028 Property Name: LightmapAmbientOcclusion
0x0002973E 0x2900 0x0029 Property Class Type: bTPropertyContainer<enum eELightmapAmbientOcclusion>
0x00029740 0x1E00 0x001E Magic Value
0x00029742 0x06000000 6 Size
0x00029746 0x0100 Identifier/Active(Word) ???
0x00029748 0x01000000 00000001 LightmapAmbientOcclusion: eELightmapAmbientOcclusion_PerTriangle = 1
0x0002974C 0x2A00 0x002A Property Name: LightmapType
0x0002974E 0x2B00 0x002B Property Class Type: bTPropertyContainer<enum eELightmapType>
0x00029750 0x1E00 0x001E Magic Value
0x00029752 0x06000000 6 Size
0x00029756 0x0100 Identifier/Active(Word) ???
0x00029758 0x01000000 00000001 LightmapType: eELightmapType_Mixed = 1
0x0002975C 0x2C00 0x002C Property Name: UnitsPerLightmapTexel
0x0002975E 0x2D00 0x002D Property Class Type: float
0x00029760 0x1E00 0x001E Magic Value
0x00029762 0x04000000 4 Size
0x00029766 0x00004842 50 (Value)
0x0002976A 0x2E00 0x002E Property Name: MaterialSwitch
0x0002976C 0x2F00 0x002F Property Class Type: int
0x0002976E 0x1E00 0x001E Magic Value
0x00029770 0x04000000 4 Size
0x00029774 0x00000000 0 (Value(?))
..........
0x00029778 0x3200 End Class Entry (Version) ????
0x0002977A 0x01 ??? Bool? Active?
0x0002977B 0x00020001 ??? eCVisualMeshDynamic_PS: two Words? 0x00020001
0x0002977F 0xDEC0ADDE DEADC0DE Magic value (DeadCode) End Of Class Entry
.......... END OF CLASS (Number: 1 of 3)
.......... START OF CLASS (Number: 2 of 3)
.......... for Entity: G3_Nordmar_Xardas_Tower_01 (Number: 189)
0x00029783 0x3F00 Start Class Entry (Version) ????
0x00029785 0x0100 0x0101 0x0001 010001010001 (Sub-)Class Identifier
0x0002978B 0x0200 0x0002 Class Type: eCCollisionShape_PS
0x0002978D 0x0100 ????
0x0002978F 0x00 ????
0x00029790 0x5300 (Class Version)
0x00029792 0x5300 83 Class Version(!)
0x00029794 0x51020000 (00029798 + 00000251 = 000299E9) Size Until Dead Code
0x00029798 0x1E00 30 Property Class Version
0x0002979A 0x05000000 5 Property Type Count
0x0002979E 0x0300 0x0003 Property Name: Group
0x000297A0 0x0400 0x0004 Property Class Type: bTPropertyContainer<enum eECollisionGroup>
0x000297A2 0x1E00 0x001E Magic Value
0x000297A4 0x06000000 6 Size
0x000297A8 0x0100 Identifier/Active(Word) ???
0x000297AA 0x01000000 00000001 CollisionGroup: eECollisionGroup_Static = 1
0x000297AE 0x0500 0x0005 Property Name: Range
0x000297B0 0x0600 0x0006 Property Class Type: bTPropertyContainer<enum eEPhysicRangeType>
0x000297B2 0x1E00 0x001E Magic Value
0x000297B4 0x06000000 6 Size
0x000297B8 0x0100 Identifier/Active(Word) ???
0x000297BA 0x01000000 00000001 PhysicRangeType: eEPhysicRangeType_ProcessingRange = 1
0x000297BE 0x0700 0x0007 Property Name: DisableCollision
0x000297C0 0x0800 0x0008 Property Class Type: bool
0x000297C2 0x1E00 0x001E Magic Value
0x000297C4 0x01000000 1 Size
0x000297C8 0x00 false (Value)
0x000297C9 0x0900 0x0009 Property Name: DisableResponse
0x000297CB 0x0800 0x0008 Property Class Type: bool
0x000297CD 0x1E00 0x001E Magic Value
0x000297CF 0x01000000 1 Size
0x000297D3 0x00 false (Value)
0x000297D4 0x0A00 0x000A Property Name: IgnoredByTraceRay
0x000297D6 0x0800 0x0008 Property Class Type: bool
0x000297D8 0x1E00 0x001E Magic Value
0x000297DA 0x01000000 1 Size
0x000297DE 0x00 false (Value)
.......... START OF SUB CLASS
0x000297DF 0x3F00 ???? Sub Class ????
0x000297E1 0x02000000 2 Number Of SubClasses
.......... START OF SUB CLASS
0x000297E5 0x0100 0x0101 0x0001 010001010001 (Sub-)Class Identifier
0x000297EB 0x3000 0x0030 Class Type: eCCollisionShape
0x000297ED 0x0100 ????
0x000297EF 0x00 ????
0x000297F0 0x5300 (Class Version)
0x000297F2 0x5300 (Class Version)
0x000297F4 0xEF000000 (000297F8 + 000000EF = 000298E7) Size Until Dead Code
0x000297F8 0x1E00 Property Class Version (Magic Value)
0x000297FA 0x0F000000 15 Property Type Count
0x000297FE 0x3100 0x0031 Property Name: ShapeType
0x00029800 0x3200 0x0032 Property Class Type: bTPropertyContainer<enum eECollisionShapeType>
0x00029802 0x1E00 0x001E Magic Value
0x00029804 0x06000000 6 Size
0x00029808 0x0100 Identifier/Active(Word) ???
0x0002980A 0x01000000 00000001 ShapeType: eECollisionShapeType_TriMesh
0x0002980E 0x0300 0x0003 Property Name: Group
0x00029810 0x3300 0x0033 Property Class Type: bTPropertyContainer<enum eEShapeGroup>
0x00029812 0x1E00 0x001E Magic Value
0x00029814 0x06000000 6 Size
0x00029818 0x0100 Identifier/Active(Word) ???
0x0002981A 0x01000000 00000001 (Bone-)ShapeGroup: eEShapeGroup_Static = 1
0x0002981E 0x3400 0x0034 Property Name: Material
0x00029820 0x3500 0x0035 Property Class Type: bTPropertyContainer<enum eEShapeMaterial>
0x00029822 0x1E00 0x001E Magic Value
0x00029824 0x06000000 6 Size
0x00029828 0x0100 Identifier/Active(Word) ???
0x0002982A 0x04000000 00000004 (Bone-)ShapeMaterial: eEShapeMaterial_Stone = 4
0x0002982E 0x3600 0x0036 Property Name: ShapeAABBAdaptMode
0x00029830 0x3700 0x0037 Property Class Type: bTPropertyContainer<enum eEShapeAABBAdapt>
0x00029832 0x1E00 0x001E Magic Value
0x00029834 0x06000000 6 Size
0x00029838 0x0100 Identifier/Active(Word) ???
0x0002983A 0x00000000 00000000 ShapeAABBAdapt: eEShapeAABBAdapt_None = 0
0x0002983E 0x0A00 0x000A Property Name: IgnoredByTraceRay
0x00029840 0x0800 0x0008 Property Class Type: bool
0x00029842 0x1E00 0x001E Magic Value
0x00029844 0x01000000 1 Size
0x00029848 0x00 false (Value)
0x00029849 0x3800 0x0038 Property Name: EnableCCD
0x0002984B 0x0800 0x0008 Property Class Type: bool
0x0002984D 0x1E00 0x001E Magic Value
0x0002984F 0x01000000 1 Size
0x00029853 0x00 false (Value)
0x00029854 0x3900 0x0039 Property Name: OverrideEntityAABB
0x00029856 0x0800 0x0008 Property Class Type: bool
0x00029858 0x1E00 0x001E Magic Value
0x0002985A 0x01000000 1 Size
0x0002985E 0x00 false (Value)
0x0002985F 0x0700 0x0007 Property Name: DisableCollision
0x00029861 0x0800 0x0008 Property Class Type: bool
0x00029863 0x1E00 0x001E Magic Value
0x00029865 0x01000000 1 Size
0x00029869 0x00 false (Value)
0x0002986A 0x0900 0x0009 Property Name: DisableResponse
0x0002986C 0x0800 0x0008 Property Class Type: bool
0x0002986E 0x1E00 0x001E Magic Value
0x00029870 0x01000000 1 Size
0x00029874 0x00 false (Value)
0x00029875 0x3A00 0x003A Property Name: TriggersOnTouch
0x00029877 0x0800 0x0008 Property Class Type: bool
0x00029879 0x1E00 0x001E Magic Value
0x0002987B 0x01000000 1 Size
0x0002987F 0x00 false (Value)
0x00029880 0x3B00 0x003B Property Name: TriggersOnUntouch
0x00029882 0x0800 0x0008 Property Class Type: bool
0x00029884 0x1E00 0x001E Magic Value
0x00029886 0x01000000 1 Size
0x0002988A 0x00 false (Value)
0x0002988B 0x3C00 0x003C Property Name: TriggersOnIntersect
0x0002988D 0x0800 0x0008 Property Class Type: bool
0x0002988F 0x1E00 0x001E Magic Value
0x00029891 0x01000000 1 Size
0x00029895 0x00 false (Value)
0x00029896 0x3D00 0x003D Property Name: SkinWidth
0x00029898 0x2D00 0x002D Property Class Type: float
0x0002989A 0x1E00 0x001E Magic Value
0x0002989C 0x04000000 4 Size
0x000298A0 0x17B7D138 9.999999747378752E-5 (Value)
0x000298A4 0x3E00 0x003E Property Name: IsLazyGenerated
0x000298A6 0x0800 0x0008 Property Class Type: bool
0x000298A8 0x1E00 0x001E Magic Value
0x000298AA 0x01000000 1 Size
0x000298AE 0x00 false (Value)
0x000298AF 0x3F00 0x003F Property Name: FileVersion
0x000298B1 0x4000 0x0040 Property Class Type: short
0x000298B3 0x1E00 0x001E Magic Value
0x000298B5 0x02000000 2 Size
0x000298B9 0x4A00 74 (Value(?))
.......... END OF SUB CLASS
..........
0x000298BB 0x4A00 Start/End Class Entry (Version) ????
.......... START OF SUB CLASS EXTRA DEFINITION ???
Decided upon ShapeType! So far only _TriMesh(1), _Box(3), _Capsule(4) and _ConvexHull(6) will be tried!
.......... ShapeType was: eECollisionShapeType_TriMesh
0x000298BD 0x5200 0x0052 ShapeType-DefinitionFile?: G3_Nordmar_Xardas_Tower_01_COL.xnvmsh
0x000298BF 0x00000100 ??? dont know ???
0x000298C3 0xE0D239C5, 0x4007ECC3, 0x805E22C5 -2973.1796875, -472.056640625, -2597.90625
0x000298CF 0xE0194145, 0x26B57F46, 0xC0272345 3089.6171875, 16365.2871093749984, 2610.484375
0x000298DB 0x00000000, 0x00000000, 0x00000000 0, 0, 0
.......... END OF SUB CLASS EXTRA DEFINITION ???
.......... START OF SUB CLASS
und so weiter...
StringTable
---------------------------------------------------------------
0x0004E673 0xEFBEADDE DEADBEEF Magic value (Dead Beef Section)
0x0004E677 0x01 ID ????
0x0004E678 0xAD000000 173 String Table Entry Count
.......... String Table ->(index), (size), String
0x0004E67C (0x00) (4) Root
0x0004E682 (0x01) (0)
0x0004E684 (0x02) (19) eCCollisionShape_PS
0x0004E699 (0x03) (5) Group
0x0004E6A0 (0x04) (42) bTPropertyContainer<enum eECollisionGroup>
0x0004E6CC (0x05) (5) Range
0x0004E6D3 (0x06) (43) bTPropertyContainer<enum eEPhysicRangeType>
0x0004E700 (0x07) (16) DisableCollision
0x0004E712 (0x08) (4) bool
0x0004E718 (0x09) (15) DisableResponse
0x0004E729 (0x0A) (17) IgnoredByTraceRay
0x0004E73C (0x0B) (14) eCSpeedTree_PS
0x0004E74C (0x0C) (16) ResourceFilePath
0x0004E75E (0x0D) (25) bCSpeedTreeResourceString
0x0004E779 (0x0E) (26) G3_Tree_bush_01_winter.spt
0x0004E795 (0x0F) (10) EnableWind
0x0004E7A1 (0x10) (31) InfluenceGlobalAmbientOcclusion
0x0004E7C2 (0x11) (18) AmbientEnvironment
0x0004E7D6 (0x12) (46) bTPropertyContainer<enum eEAmbientEnvironment>
0x0004E806 (0x13) (16) eCIlluminated_PS
0x0004E818 (0x14) (21) EnableDynamicLighting
0x0004E82F (0x15) (13) EnableAmbient
0x0004E83E (0x16) (17) StaticIlluminated
0x0004E851 (0x17) (45) bTPropertyContainer<enum eEStaticIlluminated>
0x0004E880 (0x18) (11) CastShadows
0x0004E88D (0x19) (13) ReciveShadows
0x0004E89C (0x1A) (21) DirectionalShadowType
0x0004E8B3 (0x1B) (49) bTPropertyContainer<enum eEDirectionalShadowType>
0x0004E8E6 (0x1C) (17) ReciveTreeShadows
0x0004E8F9 (0x1D) (17) CastStaticShadows
0x0004E90C (0x1E) (19) ReciveStaticShadows
0x0004E921 (0x1F) (26) G3_Tree_bush_04_winter.spt
0x0004E93D (0x20) (26) G3_Tree_bush_05_winter.spt
0x0004E959 (0x21) (26) G3_Tree_bush_03_winter.spt
0x0004E975 (0x22) (21) eCVisualMeshStatic_PS
0x0004E98C (0x23) (20) bCMeshResourceString
0x0004E9A2 (0x24) (29) G3_Object_Stone_Snow_01.xcmsh
0x0004E9C1 (0x25) (16) ResourceFileName
0x0004E9D3 (0x26) (18) StaticLightingType
0x0004E9E7 (0x27) (45) bTPropertyContainer<enum eEStaticLighingType>
0x0004EA16 (0x28) (24) LightmapAmbientOcclusion
0x0004EA30 (0x29) (52) bTPropertyContainer<enum eELightmapAmbientOcclusion>
0x0004EA66 (0x2A) (12) LightmapType
0x0004EA74 (0x2B) (40) bTPropertyContainer<enum eELightmapType>
0x0004EA9E (0x2C) (21) UnitsPerLightmapTexel
0x0004EAB5 (0x2D) (5) float
0x0004EABC (0x2E) (14) MaterialSwitch
0x0004EACC (0x2F) (3) int
0x0004EAD1 (0x30) (16) eCCollisionShape
0x0004EAE3 (0x31) (9) ShapeType
0x0004EAEE (0x32) (46) bTPropertyContainer<enum eECollisionShapeType>
0x0004EB1E (0x33) (38) bTPropertyContainer<enum eEShapeGroup>
0x0004EB46 (0x34) (8) Material
0x0004EB50 (0x35) (41) bTPropertyContainer<enum eEShapeMaterial>
0x0004EB7B (0x36) (18) ShapeAABBAdaptMode
0x0004EB8F (0x37) (42) bTPropertyContainer<enum eEShapeAABBAdapt>
0x0004EBBB (0x38) (9) EnableCCD
0x0004EBC6 (0x39) (18) OverrideEntityAABB
0x0004EBDA (0x3A) (15) TriggersOnTouch
0x0004EBEB (0x3B) (17) TriggersOnUntouch
0x0004EBFE (0x3C) (19) TriggersOnIntersect
0x0004EC13 (0x3D) (9) SkinWidth
0x0004EC1E (0x3E) (15) IsLazyGenerated
0x0004EC2F (0x3F) (11) FileVersion
0x0004EC3C (0x40) (5) short
0x0004EC43 (0x41) (33) G3_Object_Stone_Snow_01_CV.xnvmsh
0x0004EC66 (0x42) (26) G3_Tree_bush_06_winter.spt
0x0004EC82 (0x43) (29) G3_Object_Stone_Snow_02.xcmsh
0x0004ECA1 (0x44) (33) G3_Object_Stone_Snow_02_CV.xnvmsh
0x0004ECC4 (0x45) (29) G3_Object_Stone_Snow_05.xcmsh
0x0004ECE3 (0x46) (33) G3_Object_Stone_Snow_05_CV.xnvmsh
0x0004ED06 (0x47) (29) G3_Object_Stone_Snow_03.xcmsh
0x0004ED25 (0x48) (33) G3_Object_Stone_Snow_03_CV.xnvmsh
0x0004ED48 (0x49) (26) G3_Tree_bush_02_winter.spt
0x0004ED64 (0x4A) (34) G3_Tree_L_DouglasFir_01_winter.spt
und so weiter ...
aber relativ aufschlussreich, nachdem man sich etwas in die properties eingefuchst hatte.
(Letzte Version des scripts war 0.48, afair, mit einem update vom CST.)
Hallo tombom81
Danke für den HexDump der .node Datei
Die Stelle habe ich in der G3_World_01_x95000y0z135000_CStat.node gefunden
an offset 0x0011 (17) des headers steht als long die länge der class
Danach kommen die Propertys die man auch im G3Edit einsehen kann.
Wie komme ich an die Offsets in der Sting-Tabelle am ende der datei ran?
0x0051 Name der Mesh Datei
Hast die auch eine ungefähre Beschreibung des Dateiheaders der .node Datei
Anzahl Einträge, Start des ersten Eintrags,...
Grüße
Karim
-
Was genau möchtest du denn erreichen?
Wenn du unbedingt verstehen möchtest, was g3dit im Hintergrund so tut bzw. was man mit dem Script alles frickeln kann, ist vielleicht folgendes Tutorial ganz hilfreich (Achtung, alt, kompliziert und zum Nachmachen nicht empfohlen).
Da geht es zwar um den Einbau eines NPCs, aber es steht auch viel zum Aufbau einer node, offsests und so weiter drin.
https://forum.worldofplayers.de/foru...1#post13685311
-
Zitat von karim09
Hallo tombom81
Hallo Karim.
Wie komme ich an die Offsets in der Sting-Tabelle am ende der datei ran?
0x0051 Name der Mesh Datei
Zwei Fundstellen (Einträge für ResourceFilePath und Name sind identisch):
0x00029718 0x1E00 ----------0x001E Magic Value
0x0002971A 0x02000000 ----------2 Size
0x0002971E 0x5100 ----------0x0051 Value: G3_Nordmar_Xardas_Tower_01.xcmsh
0x00029724 0x1E00 ---------- 0x001E Magic Value
0x00029726 0x02000000 ---------- 2 Size
0x0002972A 0x5100 ---------- 0x0051 Value: G3_Nordmar_Xardas_Tower_01.xcmsh
(Du suchst nach 02 00 00 00 51 00 im Hexeditor. 02 00 00 00 sollte immer vor dem Mesh resourcestring Index stehen (2 ist die Länge des Index' in bytes). Die "magic" 1E 00 zur Sicherheit, falls es zuviele Fundstellen gibt.)
Achtung: die Adressen (hier 0x0002971E z.B.) können bei dir anders sein; das hängt vom Datum der CStat node Datei ab. Meine ist vom Mai 2010. Eventuell haben sich Weltdateien nach patches erwas geändert.
btw: 0x51 ist der Index des Strings in der Stringtable. Was du suchst, ist also der Offset, wo du diesen Index in der CStat node findest. Es gibt ca. 10 Fundstellen von 51 00 in der Datei, daher muss man weitere charakteristische Bytes davor in die Suche einbeziehen.
Hast die auch eine ungefähre Beschreibung des Dateiheaders der .node Datei
Anzahl Einträge, Start des ersten Eintrags,...
Anzahl der entities:
0x00000010 0x41010000 ---------- = 321 Number of Entities defined in this file ! (with Root)
erste entity:
0x00000197 Number of Entity: 1 Entity: (ST-IDX: 0001)
Die 0x197 als Startadresse kann bei anderen Weltdateien als den CStat node anders sein, afair. (Habe aber gerade keine lrentdat z.B. zur Hand, um das zu prüfen.)
An 0x0000000A steht der Offset zur Stringtable - sollte bei allen Weltdaten so sein.
Ich habe mich 2016 intensiver damit beschäftigt, daher ist die Erinnerung etwas verblasst - möglicherweise hilft dir der link von Askanius weiter.
Grüße
tombom
Geändert von tombom81 (01.09.2019 um 09:12 Uhr)
-
Hallo tombom81
Anzahl der entities und offset zur Stringtabelle stimmen,
nur der offset zum ersten Entity stimmt nicht
es sei den es gibt variable Dateiheader.
Zitat von Askanius
Was genau möchtest du denn erreichen?
Wenn du unbedingt verstehen möchtest, was g3dit im Hintergrund so tut bzw. was man mit dem Script alles frickeln kann, ist vielleicht folgendes Tutorial ganz hilfreich (Achtung, alt, kompliziert und zum Nachmachen nicht empfohlen).
Da geht es zwar um den Einbau eines NPCs, aber es steht auch viel zum Aufbau einer node, offsests und so weiter drin.
https://forum.worldofplayers.de/foru...1#post13685311
Den Link habe ich schon durchgelesen.er ist auch in der "[Linksammlung] Gothic3 Editing und Modifikationen" zu finden.
Mit dem Hex-Editor die .node Dateien zu bearbeiten finde ich aber nicht mehr zeitgemäß
und geht mit dem G3Edit einfacher
ich wollte versuchen einen Lib der Objekte auf zu bauen ähnlich demVOB Bild Katalog in G2
-
Zitat von karim09
Den Link habe ich schon durchgelesen.er ist auch in der "[Linksammlung] Gothic3 Editing und Modifikationen" zu finden.
Mit dem Hex-Editor die .node Dateien zu bearbeiten finde ich aber nicht mehr zeitgemäß
und geht mit dem G3Edit einfacher
ich wollte versuchen einen Lib der Objekte auf zu bauen ähnlich dem VOB Bild Katalog in G2
g3dit hat einen Renderer eingebaut, den man bisher allerdings nicht automatisiert steuern kann.
Wenn du wirklich einen solchen Katalog aufbauen möchtest, könnte ich g3dit um entsprechende Kommandozeilenparameter ergänzen.
-
Ist das Ziel ein neues Dorf in Nordmar zu bauen?
-
Zitat von Arthur Fleck
Ist das Ziel ein neues Dorf in Nordmar zu bauen?
Ja, ich versuche (erst mal zum Test) ein kleines Dorf in der Nähe vom Meer auf zu bauen
-
Zitat von karim09
Ja, ich versuche (erst mal zum Test) ein kleines Dorf in der Nähe vom Meer auf zu bauen
Nur so zum ansehen? Sozusagen als Machbarkeitsstudie oder hast du Ideen darüber hinaus? Hört sich jedenfalls gut an.
-
Zitat von Arthur Fleck
Nur so zum ansehen? Sozusagen als Machbarkeitsstudie oder hast du Ideen darüber hinaus? Hört sich jedenfalls gut an.
Erst mal so zum Testen,
mit dem Scripten (Quest schreiben, Quest-Log oder neue NPCs und Monster in die Welt einfügen)
habe ich mich für Gothic 3 noch nicht beschäftigt
-
Zitat von George
g3dit hat einen Renderer eingebaut, den man bisher allerdings nicht automatisiert steuern kann.
Wenn du wirklich einen solchen Katalog aufbauen möchtest, könnte ich g3dit um entsprechende Kommandozeilenparameter ergänzen.
Meine Idee wäre, dass man über Copy & Paset in G3Edit Objekte in eine .node Datei einfügen könnte.
Für die Object Metadaten müsste man ein neues Clipboard-Format definieren.
die zugehörige Strings könnte man als CF_TEXT auf die Zwischenablage kopieren.
Hier noch die erste
Beta der G3-ObjectLib
-
Schöner viewer!
So was ähnliches (OBJ viewer) hatte ich auch schon, aber ohne Texturbilder, also nur das rohe mesh. Ist aber damals irgendwo im Sande verlaufen...
https://forum.worldofplayers.de/foru...1#post25206254
Zu den nodes/ihre Bearbeitung: für ELEX habe ich einen De_composer entwickelt (für secdoc files, das ist das Ascii-Äquivalent von Weltdateien). Damit kann man Weltdateien komplett in ihre Komponenten (sprich Objekte oder entities) zerlegen und wieder zusammensetzen.
In einer list-Datei habe ich die wesentlichen Parameter festgehalten
Code:
"Obj_Dec_Hum_ACRoofUnit_1_damaged_L1" {
GUID = {8F0FD14D-E892-421C-BDA4-A85CC9B3CB3D};
Creator = {E0C9737E-5842-4046-93D9-1B61ECA13F36};
MatrixLocal = (mat 0.166827247 0 0.985986233 0 0 1 0 0 -0.985986233 0 0.166827247 0 -92751.1094 31413.8633 -171447.906 1);
MatrixGlobal = (mat 0.166827247 0 0.985986233 0 0 1 0 0 -0.985986233 0 0.166827247 0 -92751.1094 31413.8633 -171447.906 1);
Extents = (box -92939.3672 31412.6172 -171939.969 -92447.6484 31552.1133 -171264.031);
Center = (vec -92693.5078 31482.3652 -171602);
Radius = 423.715118;
Range = 10000;
"Obj_Dec_Hum_ACUnit_2" {
GUID = {A287ED8F-DEAB-4E87-A889-F165356D1A39};
Creator = {9A77F34E-0205-4B37-938C-05FB57AD8070};
MatrixLocal = (mat -0.148650721 0 -0.988889754 0 0 1 0 0 0.988889754 0 -0.148650721 0 -93009.4688 31147.4805 -171834.063 1);
MatrixGlobal = (mat -0.148650721 0 -0.988889754 0 0 1 0 0 0.988889754 0 -0.148650721 0 -93009.4688 31147.4805 -171834.063 1);
Extents = (box -93064.9219 31147.3809 -171902.453 -93002.1094 31223.2324 -171782.578);
Center = (vec -93033.5156 31185.3066 -171842.516);
Radius = 77.5707474;
Range = 2500;
"Obj_Dec_Hum_Barrel_1_L1" {
GUID = {29FD2CBC-5BD9-43E5-BFC7-2013A52872BD};
Creator = {12E2711D-AC24-4065-8701-33CCAAC97E4C};
MatrixLocal = (mat 0.707106769 0 0.707106769 0 0 1 0 0 -0.707106769 0 0.707106769 0 -92822.7422 30991.6621 -171473 1);
MatrixGlobal = (mat 0.707106769 0 0.707106769 0 0 1 0 0 -0.707106769 0 0.707106769 0 -92822.7422 30991.6621 -171473 1);
Extents = (box -92875.9375 30990.9238 -171526.188 -92769.5469 31106.8496 -171419.813);
Center = (vec -92822.7422 31048.8867 -171473);
Radius = 94.9649811;
Range = 8000;
-
Zitat von karim09
Hier noch die erste Beta der G3-ObjectLib
Ist schon eine nette Übersicht.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|
|