Ambrosia Garden Archive
    • 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.

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