IZone Properties
Locked
Speciality Modding
-
I’m trying to create zones programatically and am trying to map out the structure of IZone. The base FLHook definition we have is as follows:
struct IMPORT IZone { struct FactionSpawn { uint iFaction; // Faction ID, obtainable with e.g. pub::Reputation::GetReputationGroup() float fChance; // Spawn chance }; uint iDunno1[1]; uint iZoneID; uint iSystemID; Matrix mRot; Vector vPos; uint iShapeType; // 1 = sphere, 5 = ring uint iPropertyFlags; Vector vSize; uint iDunno4[13]; CmnAsteroid::LootableZone *lootableZone; uint iStartFaction; // & 0xFF, always zero uint iCountMaxFaction; // & 0xFF, appears related to the max number of factions in a given encounter line st6::list <factionspawn>factionSpawns; uint iDunno5[5]; };</factionspawn>
There is a lot of dunnos there. I took some screenshots after running it through the visual studio debugger to see what changed between two zones:
Does anyone have any ideas what some of the values might be (sorta going out on a limb here)
-
I’m using the names as they appear in the ini.
iDunno1[1] void *vtable; iDunno4[13] long mesh; float edge_fraction; long unused1; // -1 float drag_modifier; float damage; float interference; float unused2; // -1 uint music; // ID_String char *spacedust; // CacheString int spacedust_maxparticles; float property_fog_color[3]; // an RGB type uint iStartFaction bool path_label; uint iCountMaxFaction; st6::list <factionspawn>factionSpawns; st6::/*weighted_*/vector <factionspawn>factionSpawns; uint iDunno5[5]; BYTE visit; uint ids_name; uint ids_info; // two extra</factionspawn></factionspawn> ```[c]iZoneID[/c] and [c]iSystemID[/c] are really [c]ID_String[/c], too; [c]FactionSpawn[/c] might be a [c]std::pair[/c].