Freelancer Community Network
Reminder: Internet Explorer 6 or below are NOT supported.
HomeHome
ForumForum
WikiWiki
DownloadsDownloads
ForgeForge
Multiplayer Connection Tutorial
Collapse/Expand Random Image
Collapse/Expand Login
Username:

Password:

Remember me



Lost Password?

Register now!
Collapse/Expand Chat
Collapse/Expand Who's Online
46 user(s) are online (19 user(s) are browsing Forum)

Members: 0
Guests: 46

more...
Collapse/Expand Donations
Monthly costs: -30€
Income (ads): +5€
Donations (last month): +0€

Current balance: 60€
(last updated 03/2020)

Please make a donation if you want to help keeping The-Starport online:

Bitcoin address:
Thanks!
Collapse/Expand Links
Collapse/Expand Advertisement
There are currently 52 users playing Freelancer on 45 servers.
May. 27, 2020

Browsing this Thread:   1 Anonymous Users



 Bottom   Previous Topic   Next Topic  Register To Post



IZone Properties

Joined:
2016/3/29 21:54
From Cambridge, England
Group:
Registered Users
Trusted Speciality Developers
Posts: 35
Offline
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:

Code:

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];
};


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:

Open in new window


Open in new window


Does anyone have any ideas what some of the values might be (sorta going out on a limb here)

Posted on: 3/30 22:48
Way too ambitious for his own good.
Top
Re: IZone Properties
Home away from home
Joined:
2009/8/16 2:58
From Qld, Aus.
Group:
Registered Users
FLServer Admins
Trusted Speciality Developers
Senior Members
Posts: 1951
Offline
I'm using the names as they appear in the ini.

Code:
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

iZoneID and iSystemID are really ID_String, too; FactionSpawn might be a std::pair.

Posted on: 3/31 4:08
Top