Why there are double NAME=path declarations with single \ and doble \\ ?

The place to discuss scripting and game modifications for X Rebirth.

Moderators: Moderators for English X Forum, Scripting / Modding Moderators

Post Reply
soundslikerust
Posts: 15
Joined: Mon, 5. Jan 15, 06:43

Why there are double NAME=path declarations with single \ and doble \\ ?

Post by soundslikerust » Thu, 28. Dec 17, 00:53

**************************************************************
*Why there are double NAME=path declarations with single \ and doble \\ ? And which are correct? I assume it's some garbage leftover and on windows both are ok

like this:

macros.xml (both declarations are in the same file):

Code: Select all

<entry name="units_player_cockpit_a_macro" value="assets\units\player\macros\units_player_cockpit_a_macro"/>

<entry name="units_player_cockpit_a_macro" value="assets\\units\\player\\macros\\units_player_cockpit_a_macro"></entry>


**************************************************************
*Why there are units_player_cockpit_1.xml files and units_player_cockpit_b.xml in

extensions\ego_vr\assets\units\player\macros\

while it should be in

extensions\ego_vr\assets\units\player\

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 13817
Joined: Sun, 20. Nov 05, 23:45

Post by UniTrader » Thu, 28. Dec 17, 01:35

regarding the second question:

one of them is a component file, which simply said defines a lego brick (it describes whre are attachment points for further parts are located and how they are oriented, but it does not define which parts are there)
the other is a macro file, which in simple words is a build plan which describes what part attached wo which attachment point, based on its id.
usually ego suffixed the latter with "_macro", but its no requirement for them.. in fact any id would work, even if its the same as a component (both have to be diffrent files in that case ofc)

for the formerquestion: no idea, but very likely just a hiccup in egos database... for my purposes the single \ variant alone worked fine so far...
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

soundslikerust
Posts: 15
Joined: Mon, 5. Jan 15, 06:43

Post by soundslikerust » Thu, 28. Dec 17, 05:17

Thanks, so when i want to move and rotate detail monitor in cockpit what should i change? It looks like my changes doesn't have any visible effect in game

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 13817
Joined: Sun, 20. Nov 05, 23:45

Post by UniTrader » Thu, 28. Dec 17, 19:14

that should be in the component file in this connection:
<connection name="Connection008" tags="part ">

noticeable via this line which defines the special material for the event monitor:
<material id="1" ref="rendertarget.cockpit_eventmonitor"/>

note that this is just the screen itself, the frame is another connection/part, very likely connection 35 - but other parts of the CP might also be part of this part, not sure..


regarding your changes: did you test it in a new game? and you made diff files to describe your changes with <add/> <remove/> <replace/> like other mods do right? can you post your mod files?
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

soundslikerust
Posts: 15
Joined: Mon, 5. Jan 15, 06:43

Post by soundslikerust » Tue, 2. Jan 18, 09:56

Hi i found simple xml error in my file and menu is now working.

I'm after a night long building libxml2 for libxmlpatch on cygwin for X-rebirth to make clean patches to X-rebirth xml files. I didn't succeeded creating xml diffs because libxmlpatch format is not recognized by x-rebirth.

Is there some tool to make xml diffs available (compatible with x-rebirth)? I'm so frustrated right now... I Can't make thousands of replace statements by hand..

Is there some clean option to replace whole md files without unpacking and replacing original folders?

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 13817
Joined: Sun, 20. Nov 05, 23:45

Post by UniTrader » Tue, 2. Jan 18, 19:48

you can either pack them into a subst_01.cat/dat to replace existing files or use the very simple
<replace sel="/*">
and put the entire md script inside there. BUT i really discourage this methods for publishing Mods because it breaks Compatibility with other Mods changing the same file and it will also break future patches doing changes to the same File. Also because you said "thousands replace statements" i assume you think its necesary to make a seperate replace for every little change, which is not the case. Depending on the sel Path you can make your Change as specific as a single Attribute or as broad as replacing the whole file content. or any node and its contents between those extremes.

Also another hint: keep your Patches small if you go for big projects. Putting your own Stuff in seperate Files and adding Hooks where needed in the Core Files is a much safer Approach.. and much easier to fix if anything breaks..
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

soundslikerust
Posts: 15
Joined: Mon, 5. Jan 15, 06:43

Post by soundslikerust » Wed, 3. Jan 18, 04:45

Thanks for your advice it's very helpful.

I'm changing VR x-rebirth into original X-rebirth :) I'm unbutchering whole game. I'll remove most of cuts from VR campaign / maps / economy. I think i'll break all VR version mods compability no matter what i do. I'd like to make it compatible with original X-R. If not... than it will work with very specific mods and patches - it will be fine. I'd like to hear any comments about this if you have any sugestions




I have some problems, if you can help me on those please do:

1. i noticed in ego_vr/content.xml a ENABLED=FALSE statement. Most MODS insert just dependency order without it. How it works? (of course VR mod is working in game no matter what i put there)

Code: Select all


content id="ego_vr" name="X Rebirth VR" description="Experimental VR Universe" author="Egosoft" version="100" date="2016-06-06" enabled="false">    <------------ HERE
  <dependency version="410" />
  <!-- optional="true": No error if dependency missing/disabled. This is only used to define the loading order of extensions (dependencies are loaded first). -->
  <dependency id="ego_dlc_teladi_outpost" version="100" optional="true" />
  <dependency id="ego_dlc_2" version="100" optional="true" />
</content>


2. What tool do YOU use for xml patch creation? I still don't have proper tools for the job, can you help me?


3. There are MANY differences beetween X-Rebirth original game and X-Rebirth-VR ie. in main jobs.xml files
I'm not talkin about extensions\ego_vr\libraries\jobs.xml but BOTH packed in CAT in main folder:

X Rebirth\libraries\jobs.xml <---left side
X Rebirth VR\libraries\jobs.xml <---right side

I think i should change them to original but i'm not sure?? (look at cluster numbers and behavior change etc)

Image

Image


4. What do i have to do to make a mod start BEFORE Home of light and Teladi Outpost DLCs? (If i'll change those jobs.xml it have to be before DLCs and the rest of my changes in second mod after ego_vr)


5. I removed those from extensions\ego_vr\ - What do you think?

remove from index\components.xml:

Code: Select all

<entry name="cluster_sm_vr_background" value="extensions\ego_vr\assets\environments\cluster\cluster_sm_vr_background">
	</entry>
remove from index\components.xml:

Code: Select all


	<!--entry name="interiors_rooms_adsign_trade_a" value="extensions\ego_vr\assets\interiors\rooms\interiors_rooms_adsign_trade_a"/>
	<entry name="interiors_rooms_adsign_trade_c" value="extensions\ego_vr\assets\interiors\rooms\interiors_rooms_adsign_trade_c"/>
	<entry name="interiors_rooms_adsign_sex_a" value="extensions\ego_vr\assets\interiors\rooms\interiors_rooms_adsign_sex_a"/>
	<entry name="interiors_rooms_adsign_sex_b" value="extensions\ego_vr\assets\interiors\rooms\interiors_rooms_adsign_sex_b"/-->

EDIT in index\macros.xml:

Code: Select all

<entry name="xu_ep1_vr_universe_macro" value="maps\XU_ep1_universe\galaxy"/>

Remove folders :

Code: Select all

extensions\ego_vr\md\
extensions\ego_vr\maps\
extensions\ego_vr\structures\
extensions\ego_vr\assets\environments\

Remove from index\macros.xml:

Code: Select all

        <entry name="cluster_sm_vr_background_macro" value="extensions\ego_vr\assets\environments\cluster\macros\cluster_sm_vr_background_macro"/>

	<entry name="cluster_a_superhighway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sechighways"/>
	<entry name="cluster_b_superhighway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sechighways"/>
	<entry name="cluster_c_superhighway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sechighways"/>
	<entry name="cluster_d_superhighway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sechighways"/>
	<entry name="cluster_e_superhighway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sechighways"/>
	<entry name="cluster_f_superhighway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sechighways"/>
	<entry name="cluster_t_macro" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_t_Sector01_macro" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_t_Sector02_macro" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_t_Sector01_Zone*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_t_Sector02_Zone*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\zones"/>
	<entry name="cluster_t_zonehighway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\zonehighways"/>
	<entry name="cluster_t_superhighway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sechighways"/>
	<entry name="cluster_m_macro" value="extensions\ego_vr\maps\xu_ep1_vr_universe\clusters"/>
	<entry name="cluster_m_sector01_macro" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_m_sector02_macro" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_m_sector03_macro" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_m_sector04_macro" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_n_macro" value="extensions\ego_vr\maps\xu_ep1_vr_universe\clusters"/>
	<entry name="cluster_n_sector01_macro" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_l_macro" value="extensions\ego_vr\maps\xu_ep1_vr_universe\clusters"/>
	<entry name="cluster_l_sector01_macro" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_l_sector02_macro" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_l_sector03_macro" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="tzonecluster_m_*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\zones"/>
	<entry name="tzonecluster_n_*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\zones"/>
	<entry name="tzonecluster_l_*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\zones"/>
	<entry name="cluster_m_highway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\zonehighways"/>
	<entry name="cluster_m_superhighway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sechighways"/>
	<entry name="cluster_n_highway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\zonehighways"/>
	<entry name="cluster_n_superhighway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sechighways"/>
	<entry name="cluster_l_highway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\zonehighways"/>
	<entry name="cluster_l_superhighway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sechighways"/>
	<entry name="superhighway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sechighways"/>
	<entry name="cluster_a_sector*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_b_sector*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_c_sector*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_d_sector*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_e_sector*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_f_sector*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\sectors"/>
	<entry name="cluster_*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\clusters"/>
	<entry name="tzonecluster*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\zones"/>
	<entry name="shcon*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\zones"/>
	<entry name="highway*" value="extensions\ego_vr\maps\xu_ep1_vr_universe\zonehighways"/>

Post Reply

Return to “X Rebirth - Scripts and Modding”