by David Dunham
In this How To I finally tackle the world of EV plug ins. Specifically how to convert an EV ship resource in an EV plug into a Ship resource in an EVO plug in. This article will not tell you how to make a plug in, only how to convert one that has already been made. If you would like to know how to make a plug in from scratch, you need to read these articles written by Cajun, my predecessor here at the tech support desk.
http://www.AmbrosiaSW.com/Ambrosia_Times/November_96/3.6HowTo.html
http://www.AmbrosiaSW.com/Ambrosia_Times/May_97/4.3HowTo.html
http://www.AmbrosiaSW.com/Ambrosia_Times/July_97/4.4HowTo.html
In these articles, Cajun covers plug in creation in a much more in depth way than I will be here. The big difference between EV and EVO is the index numbers and their conventions. These differences are explained pretty fully in the EV Objects Formulas, on which I will be relying very heavily in this article, thanks to Thierry and Dyna Systemes. The EVO Objects formulas are available at: http://www.AmbrosiaSW.com/Products/Add_Ons/EVOverride_AddOns.html To create a ship resource in EV the index numbers must be between the values of 154 and 190. So the NewShip id # is greater than 154 and less than 190. For EVO the range is from 175 to 190, NewShip id # is greater than 175 and less than 190.
So to get your NewShip ID # in EVO take your NewShip ID # from EV and add to it until it is greater than or equal to 175. For all you kids who asked what they would ever need algebra for in the real world, remember this(?) - Let's say that number is X ;-), so that:
175 < [EV NewShip ID# + X] = EVO NewShip ID # < 190
In EV: 154 < ID # of NewShip < 190 but
in EVO: 175 < ID # of NewShip < 190
Now to calculate the position of your new ship by subtracting 128 from the NewShip ID #.
posShip = ID # NewShip - 128 Therefore: EVO posShip = (EV NewShip ID# + X) - 128 You also need to create 6 PICT resources.
From EVO Objects formulas:
1. a 36 frame grid whose width and height must be a multiple of 8.
1050 < ID # of ShipSprites < 1998 This
should be an even number.
2. Its corresponding mask:
ID # of ShipMask = ID # of ShipSprites +
1
3. A target display PICT: 128 X 64 pixels.
ID # of TargetPICT = 3000 + posShip
Therefore: EVO ID # of TargetPICT = 3000 + [(EV
NewShip ID# + X) - 128]
4. A Shipyard selection PICT: 100X 100 pixels.
ID # ShipYardPICT = 5000 + posShip
Therefore:
EVO ID # ShipYardPICT = 5000 + [(EV NewShip ID# + X) -
128]
5. A shipyard thumbnail: above scaled to 32 X 32 pixels.
ID # ThumbnailPICT = 5101 + posShip
Therefore:
EVO ID # ThumbnailPICT = 5101 + [(EV NewShip ID#
+ X) - 128]
6. A communiction dialogue PICT: 100 X 100 pixels.
ID # CommPICT = 5300 + posShipTherefore:
EVO ID # CommPICT = 5300 + [(EV NewShip ID# + X) - 128]Now you need to create a spin resource containing the ID #s of your Sprite and Mask PICTs.
ID # ShipSpin = ID # NewShipTherefore:
EVO ID # ShipSpin = ID # EV NewShip + XNow you need to enter the ID # ShipSprite and ID # ShipMask into the corresponding fields of the Spin resource. Now you need to create 4 STR resources. 1. Ship's name. This name can't be longer than 15 characters.
ID # ShipShortName = 3600 + posShipTherefore:
EVO ID # ShipShortName = 3600 + [(EV NewShip ID# + X) - 128]2. Ship's long name. This is the complete name of the ship.
ID # ShipFullName = 3700 + posShipTherefore:
EVO ID # ShipFullName = 3700 + [(EV NewShip ID# + X) - 128]3. Ships shortened name for communication. Only 14 characters or less.
ID # ShipCommName = 3800 + posShipTherefore:
EVO ID # ShipCommName = 3800 + [(EV NewShip ID# + X) - 128]4. Independant ship's name. Even shorter than the above.
ID # IndependentShipName = 3900 + posShipTherefore:
ID # IndependentShipName = 3900 + [(EV NewShip ID# + X) - 128]Finally you need to create two desc resources. 1. The description of the ship when it is bought.
ID # ShipBuyDesc = 2000 + posShipTherefore:
ID # ShipBuyDesc = 2000 + [(EV NewShip ID# + X) - 128]2. Description of ship when it's being hired as an escort.
ID # ShipHireDesc = 2100 + posShipTherefore:
ID # ShipHireDesc = 2100 + [(EV NewShip ID# + X) - 128]In all cases EV NewShip ID # is the ID number of your ship in EV and X is the number you added to it to get it to be greater than 175. By following the above guidelines you can convert a ship resource in an EV plug in to a ship resource in an EVO plug in.
For more info consult the EVO objects formulas and EV/EVO Bible, both available on the EVO add ons page at:
http://www.AmbrosiaSW.com/Products/Add_Ons/EVOverride_AddOns.html
You can also get the EV plug in package on the EV add ons page. This deals with EV plug ins only, but with the info in the Objects Formulas and the EVO Bible, you should be able to get your plug in up and running. Good luck, and most of all, have fun!!