pilot data

Greetings!

I know that someone found the bits where the amount of money is stored but is there any other information available?
I would be really interested in the combat rating!

Playing "Pale" at the moment my rating is ultimate for quite a while now and it would be nice to know how much it climbs up after destroying some more Cruisers.

Any idea?

- Marko

Ultimate is the highest it can go. 🙂

If you want to improve your combat rating, just use Resedt to makes shuttles have about 64,000 people on board. 🙂

------------------
Dan! The food's gone!

There was a cheat-like application for EV that could take your EV Pilot File and change the type of ship it had. Get it in the EV add ons.

------------------
Zacha K
(url="http://"http://users.aol.com/zachakplug/sigdir/index.html")The Zacha K Space(/url)
(url="http://"http://users.aol.com/zachakplug/sigdir/azach.html")Find out more about the Zachit(/url)
(url="http://"mailto:ZachaKPlug@aol.com")mailto:ZachaKPlug@aol.com(/url)ZachaKPlug@aol.com

sigh you didn't even READ his post did you, thursday?

to awnser your question... i don't know, all i know about is the money and ship bits (e.g. Moneyhack or whatever and EV InstaShip)

it would be very cool if some one made templates to edit the pilot file, although i think that would be pretty hard... than again, i have no idea 😄

------------------

Zacha K posted while i was typing, anyways, it's called EV_$Hack, i don't know if it's available in the addons, but if it were, it would be in the EV addons, not the EVO addons.

------------------

The pilot file is encoded, so making a ResEdit template would be VERY difficult, if not impossible.

I'm @ work now, but at home I have the source code of an old EV utility that was made to fix an error in pilot files. I've been playing with it and have found that it will decode the pilot file, thus allowing you to mess around with the information stored in it.

Once I get home I'll compress everything (source and some info I once got from Ambrosia on the pilot file structure), upload it to a site, and post another message here.

-STH

------------------

Doesn't the program ACE work with EV/O pilot files? I don't know what exactly it can modify, though.

------------------
Brooklyn. Where the weak are killed and eaten.

AIM: obormot345

Quote

Originally posted by Obormot:
**Doesn't the program ACE work with EV/O pilot files? I don't know what exactly it can modify, though.

**

ACE modifies Missles, Fuel, Credits, and the current date for EV
and the same for EVO except no missles in EVO.

------------------

(url="http://"mailto:JAce21@chollian.net")mailto:JAce21@chollian.net(/url)JAce21@chollian.net

Ok. I'm not going to post the source to the progam I was talking about, because I discovered it's on the EV add-ons page (http://www.ambrosias...tor10d1.sit.hqx). If you want this program to work with EVO files, go in the code and change all the occurances of MpďL to OpďL. Alternately, I know you can do the same thing in ResEdit. If I remember correctly, look under the "code" resource and make the same changes. I could be wrong; it's been a while.

What I will do is pass along the pilot file specs I received from Ambrosia. The spec are for EV pilot files, but I don't think the structure has changed (If anyone from Ambrosia is reading this, can you pass along a newer version of the pilot file specs, if this one is out of date?).

=======

/*

Escape Velocity Player File Specification
by Matt Burch
Revision 1 - 4/5/97
Valid for pilot files created by EV 1.0.4 or later
See EV Bible for additional information

Note: EV pilot files are encrypted with Andrew Welch's SimpleCrypt
algorithm, available
at (url="http://"http://www.ambrosiasw.com/XXXXXXXXXXX")http://www.ambrosiasw.com/XXXXXXXXXXX(/url). The code key used to
decrypt EV 'MpďL'
resources is 0xABCD1234. (pretty imaginative eh?)

*/

struct PlayerFileDataStruct // 'MpďL' resource 128 in the pilot
file
{
short lastStellar; // last stellar object to be visited (0-1499)
short shipClass; // player's ship class (0-63)
short cargo(6); // current quantity of each of the six
types of basic cargo
short unused; // unused
short fuel; // current fuel quantity, 100 units
per jump
short month, day, year; // current date
short exploration(1000); // current state of each system's
exploration: <= 0 means unexplored, 1 means player has visited, 2 means
player has visited and landed within this system
short itemCount(128); // how many of each type of outfit
item owned
short legalStatus(1000); // legal status in each system (0 =
neutral)
short weapCount(64); // how many of each type of weapon
the player's ship has
short ammo(64); // how much ammo each
weapon has (see EV Bible for restrictions and variations on ammo usage)
long cash; // how many credits
player has
MissionObjectives missionObj(8); // data on
currently-running missions' objectives
MissionData missionData(8); // data on
currently-running missions' parameters
Boolean missionBit(256); // the state of
each of the mission bits
Boolean stelDominated(1500); // whether or not each of
the stellar objects is dominated
short escortClass(36); // stores the player's current
escorts: for each one: -1 means not an escort data item, 0-63 means a
captured escort (the number is the escort's ship class), 1000-1063 means a
hired escort. (don't make EV crash by abusing the ability to have more than
the normal number of escorts!)
short fighterClass(36); // stores the player's current
deployed fighters: for each one: -1 means not a fighter data item, 0-63
means a fighter of a certain class
long rating; // player's combat rating
};

struct AltPlayerFileDataStruct // 'MpďL' resource 129 in the pilot
file - the name of this resource is the name of the player's ship
{
short versionInfo; // used internally
short strictPlayFlag; // 0 = strict play off
short stelShipCount(1500); // number of defense ships
remaining at each planet
short personActive(512); // flag to set each 'pers' active
or not
short personGrudge(512); // flag to give a 'pers' a grudge
against the player
short unused(64); // ignored
short stelAnnoyance(1500); // keeps track of planets'
propensity to overthrow your rule
Boolean seenIntroScreen; // the player has seen the game
intro screen
short disasterTime(128); // time left on active disasters
(<0 = inactive)
short disasterStellar(128); // where each disaster is currently
active
short junkQty(128); // how much of each type of
'junk' the player has aboard
short priceFlux(2)(2); // global price fluctuations
};

struct MissionObjectives
{
Boolean active; // mission is active
Boolean travelObjComplete; // player has visited assigned
destination
Boolean shipObjComplete; // player has completed
special-ship assignment
Boolean missionFailed; // mission was failed
DateTimeRec missionDeadline; // mission completion deadline (see
Inside Mac)
};

struct MissionData
{
short destStellar; // destination stellar
object (0-1499)
short destSystem; // destination system (0-999)
short returnStellar; // return stellar object (0-1499)
short specialShipCount; // number of remaining special ships
short specialShipDude; // special ship 'dude' type
short specialShipGoal; // special ship goal
short specialShipBehavior; // special ship behavior
short specialShipSyst; // special ship system
short cargoType, cargoQty; // mission cargo type and quantity
short pickupMode, dropoffMode; // mission cargo pickup/dropoff mode
short scanGovt; // which govt tries to scan the player for
this mission (0-127, or -1 if none)
short compBitSet(2); // which bits to set on completion
short compGovt, compReward; // successful-mission
government and reward
short failBitSet; // which bit to set on failure
long pay; // how many credits to give player upon successful
completion
short specialShipsKilled, specialShipsBoarded; // how many special
ships have been killed or boarded
short specialShipsDisabled; // how many special ships
have been disabled
short specialShipsJumpedIn, specialShipsJumpedOut; // how many
special ships have jumped in or out
short initialShipCount; // how many special ships there
were at the start of the mission
Boolean failIfScanned; // fail the mission if the player is scanned
Boolean canAbort; // player can abort this mission
Boolean cargoLoaded; // mission cargo is aboard
short briefText, quickBriefText, loadCargoText, dropOffCargoText,
compText, failText; // 'dësc' ID's for various text messages
short timeLeft; // number of days remaining
short specialShipNameResID; // ID of 'STR#' resource
used to name the special ships
short specialShipNameIndex; // index of the string
within the above 'STR#' resource
short unused; // ignored
short specialShipDelay; //
short unused2; // ignored
unsigned short flags; // mission flags (see EV Bible)
short auxShipCount, auxShipDude, auxShipSyst, auxShipsJumpedIn,
auxShipDelay, auxShipsLeft; // similar to above values, but for
auxShips
char specialShipName(32); // the name of the special ship(s)
Str255 missionName; // the name of the mission
};

------------------

Wow, looks interesting but I'm not sure if I can use it.
Thanks seant, I'll have a look and if anyone discovers some information: please post it.

- Marko

Wow cool, I spent some hours with this list and I think this is covers everything you might want to know about your pilot file. (at least all I want to know :))

I wrote down some offsets you can look for in ResEdit. If there is interest for a nice-looking guide, maybe I could do that too.
I had some trouble with the mission-entries though. I don't know the size of each mission data and until now I didn't bother finding out which data is stored there. If someone knows it, please let me know.

Get the de/encryption tool mentioned above and decrypt (a copy of) a pilot with it. then open the file in ResEdit and seach for the desired offset value. Check the Ev Data for details, remember to use hexadecimal numbers and don't forget to encrypt the pilot afterwards (I didn't do that the first time and crashed my computer :-)).

Really easy to watch (and edit) is the amount of cash and fuel or the combat rating (the very last number of resource 128)
For sditing weapons, make sure to adjust 'weapon' and 'outfit'. I tried it with 8 topedo launchers and had no problems in the game (of course some poor victims didn't find that funny :)).

OK, here it is, I just took seant's text and added some offsets which might be useful (I hope, this board doesn't mess up the strukture):

Have fun!

- Marko


Start- ____struct PlayerFileDataStruct // 'MpďL' resource 128 in the pilot file
Offset $:
{
00-01_______short lastStellar; // last stellar object to be visited (0-1499)
____________short shipClass; // player's ship class (0-63)
____________short cargo(6); // current quantity of each of the six types of basic cargo
____________short unused; // unused
12-13_______short fuel; // current fuel quantity, 100 units per jump
14-19_______short month, day, year; // current date
001A-07EB __short exploration(1000); // current state of each system's exploration: <= 0 means unexplored, 1 means player has visited, 2 means player has visited and landed within this system
07EA________short itemCount(128); // how many of each type of outfit item owned
08EA________short legalStatus(1000); // legal status in each system (0 = neutral)
1066________short weapCount(64); // how many of each type of weapon the player's ship has
10E6 (?)____short ammo(64); // how much ammo each weapon has (see EV Bible for restrictions and variations on ammo usage)
11BA-11BD___long cash; // how many credits player has
11BE________MissionObjectives missionObj(8); // data on currently-running missions' objectives MissionData missionData(8); // data on currently-running missions' parameters
____________Boolean missionBit(256); // the state of each of the mission bits
1962 (?)__Boolean stelDominated(1500); // whether or not each of the stellar objects is dominated
251A________short escortClass(36); // stores the player's current escorts: for each one: -1 means not an escort data item, 0-63 means a captured escort (the number is the escort's ship class), 1000-1063 means a hired escort. (don't make EV crash by abusing the ability to have more than the normal number of escorts!)
2562________short fighterClass(36); // stores the player's current deployed fighters: for each one: -1 means not a fighter data item, 0-63 means a fighter of a certain class
25AA-25AD
long rating; // player's combat rating
};


PS: Grrr, seems that this board can't display spaces.

(This message has been edited by Marko (edited 06-15-2000).)

could just ONE person send the de/encryptor to me through
mail? my ISP is having trouble DL it...

------------------
(url="http://"mailto:JAce21@chollian.net")mailto:JAce21@chollian.net(/url)JAce21@chollian.net

Marko...Are you finnish?

------------------

Quote

Originally posted by seant:
**
Note: EV pilot files are encrypted with Andrew Welch's SimpleCrypt
algorithm, available at http://www.ambrosiasw.com/XXXXXXXXXXX. The code key used to decrypt EV 'MpďL'resources is 0xABCD1234. (pretty imaginative eh?)
**

Ok. Even though I posted this (passed on to me by mburch some months ago), I don't completely understand it. I've looked at the source for the pilot file encrypt/decrypt app(http://www.ambrosias...tor10d1.sit.hqx), and don't understand what is being done to decrypt the pilot data.

Can someone walk me through what is being done to decrypt the pilot file info?

-STH

------------------

Wow, after some weeks of absence, I came back and this thread still isn't dead 😉

To Kalle:
Why do you think so? Du I write "finnish" somehow? Or can I win something if I say "yes"? 😉
At the left side of this page, there should be some lines containing the names, # of posts, locations,... just have a look.
Your name does sound somewhat skandinavian though, are you from there and moved to "down under" later?

To Seant:
What exactly is your question? You can't get it to decrypt the resources?
Well, quite some time passed since I played with this file, so I'll come back soon with more info.

- Marko

(This message has been edited by Marko (edited 10-30-2000).)

Quote

Originally posted by Marko:
**To Seant:
What exactly is your question? You can't get it to decrypt the resources?
**

The program and source are fine; I can get them to work without a problem. What I'm trying to do is understand what is being done in the C source to encrypt and decrypt the pilot resources. It's not enough that it works. I want to understand how it works.

I had posted questions to Andrew, but I think they were not specific enough for him. (see (url="http://"http://www.AmbrosiaSW.com/webboard/Forum9/HTML/001017.html)")http://www.AmbrosiaS....ML/001017.html)(/url)

Any insight is welcome.

-STH

------------------

Quote

Originally posted by seant:
**The program and source are fine; I can get them to work without a problem. What I'm trying to do is understand what is being done in the C source to encrypt and decrypt the pilot resources. It's not enough that it works. I want to understand how it works.
**

Oh, then I won't be able to help you. For me it is enough that it works 😉
Unfortunately, I don't know anything about C.

But maybe there is someone else who has doesn't know exactly what this piece of info is good for. I wrote a short guide about how to use it, so if anyone is interested go to:
the pilot file guide

**

Quote

I had posted questions to Andrew, but I think they were not specific enough for him. (see http://www.AmbrosiaS....ML/001017.html)

**

Quote

Originally posted by Marko:
Hmm, he is not very talkative, is he? If you manage to program this "extractor" please let us know. Good luck!)

I figured it out last night (finally). God, do I feel dumb. No wonder Andrew didn't answer my questions: I had everything I needed to figure out what was going on, but still couldn't do it.

Sigh.

Anyway, I understand it now.

------------------