desc.ext: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Redirect to Description.ext)
Tag: New redirect
 
(22 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Until bis break their own code again, file references in desc.ext seem to follow the following conventions
#REDIRECT [[Description.ext]]
 
note this is incompatible with arma1 and resistance. the rules have changed
 
all references in a desc.ext are relative to the location of the desc.ext. A \hardpath or lack of one makes no difference.
 
==missionroot==
 
as above. all references, \hardpathed or otherwise are relative to mission.sqm
 
 
==campaignroot==
A campaignroot\desc.ext is 'special' in that the only useable locations are dtaext\ (and scripts\)
 
scripts\ are a global entity for mission.sqms. They aren't desc.ext related.
 
unlike mission.sqms, you cannot have a sounds\ child folder as such (or any other)
 
All references are implied DtaExt (sigh)
 
sounds[]=fred
and
sounds[]=\fred
 
mean DtaExt\fred
 
 
In fact, the DtaExt default is quite pointless. Inconsistent as ever, campaignroot's can't have the same structure as missions. but, there's no reason anymore why they shouldn't.
 
Bis have crippled the original default folders of DtaExt\sounds for sounds, and DtaExt\Music for music. They must be fully specified as
 
sounds[]=Sounds\whatever; (which actually means DtaExt\Sounds\....
 
 
This isn't a bad thing, but there wasn't a reason to keep the dtaext at all!!!!
 
There may or may not be other 'special' folders, 'my documents'\arma\username and other trifles. But you can't rely on it or them. they are likely to break or disappear at whim.
 
Bis themselves dont actually use dtaext (or scripts) in any of their campaigns. Probably because their mission makers either weren't aware of them, or could understand them.
 
But, from not making used of the global architecture, means common sound files (and common scripts) are bloated in each mission that uses one, for any official campaign.
 
 
=other=
 
 
<pre>
class CfgRadio //straightfoward array of {filename,volume,pitch}
{
  sounds[]={};
  class Seq0{name="Seq0";  sound[]={"sound\09r06.wss", db-40, 1.0}; title=$STRM_09r06;  };
};
class CfgSFX
{
  sounds[]={hospoda2};
  class Hospoda2
  {
    name="Hospoda2";
    sounds[]={sound1};//<<<<<name of sound array
    sound1[]={"hospoda2.ogg", db-0,1, 1, 1, 1, 1};//who knows
    empty[]= {, , , , 1 , 5, 20};
  };
};
</pre>
=cfgSounds=
one hell of a mess with titleS note the plural
 
ofp used semi colons between
 
titles[]={StartTime,Text};
titles[]=
 
<pre>
class CfgSounds
{
  sounds[]={};
  class Seq1 {name="Seq1";  sound[]={"sound\09v07.ogg", db, 1.0};    titles[]={0,      $STRM_09v07};  };//standard
 
  class 11v01{name="11v01"; sound[]={"sound\11v01.ogg", db-05, 1.0}; titles[]={{0,0.4}, $STRM_11v01};  };
  class 11v04{name="11v04"; sound[]={"sound\11v04.ogg", db-05, 1.0}; titles[]={ 0,      $STRM_11v04,  {5.5,0.5}, $STRM_11v04a};    };
</pre>
=cfgENVsounds==
<pre>
class CfgEnvSounds
{
  sounds[]={dest};
  class dest
  {
    name="dest";
    sound[]={"sound\dest.ogg", db, 1.0};
    soundNight[]={"sound\dest.ogg", db, 1.0};//<<<<
    titles[]={};
  };
};
</pre>
 
 
=Scripts=
scripts are part of mission.sqm and \hardpaths to addons are valid. Therefore, all relative references in a mission.sqm (and their scripts) are relative to the mission.sqm, NOT the folder they are encountered in. (sigh)
 
expActiv="nul=[] execVM ""scripts\dialog.sqf""";
 
relative to mission.sqm
 
expActiv="nul=[] execVM ""\scripts\dialog.sqf""";
 
would refer to a (non existent) pboprefix 'scripts'
 
fowley kbAddTopic ["dialog", "scripts\dialog.bikb", ""];
 
again, relative to mission.sqm, even tho, this piece of text is in the 'scripts' folder.
 
Note that Campaign root scripts folder is implied if it cannot find file in the mission.
 
execvm thing.sqf // assumes it's in mission.sqm root, OR campaignroot\scripts
execvm Scripts\thing.sqf // will look in mission.sqm\scripts or campaignRoot\scripts\scripts
 
previously, mission.sqm\scripts and ~\sound were also a default folders. but it looks like they broke it.
 
==bikb==
 
    speech[] = {"\sound\02v1.ogg"};
 
another, dreadful piece of inconsistency where the '\hardpath' refers to mission space. feel free to scream.
 
    speech[] = {"sound\02v1.ogg"};
 
 
goes off to wander land
 
this because of some hotfix patch in version 1.05, where previously, bikb couldn't access anything except addons
 
 
note that bikb is only a convention. you can have any extension. the file cannot be binarised even tho it's classtext

Latest revision as of 20:22, 22 April 2024

Redirect to: