For starters, the EV Plug-in FAQ is available on the Web from our Escape Velocity Add Ons page (http://www.ambrosiasw.com/Products/Add_Ons/EV_AddOns.html) as well as somewhere on the vast Escape Velocity Web site (http://www.escape-velocity.com). It is labeled "EV Plug-in package" and contains the FAQ text file, the EV Bible and the Starter Plug-in. This is a file that anyone can use to begin creating a plug-in. Also, you can find an HTML version of the EV Plug-in FAQ at: http://www.AmbrosiaSW.com/FAQs/EV_Plug-in_FAQ.html.
ID conventions
One thing to keep in mind here is that no ID will be lower than 128. This is a standard practice that all programmers use. ID's below 128 are used by the system, and setting an ID lower that 128 is asking for trouble.
So, when you open a resource group in ResEdit, the lowest ID you will ever see will be 128. Sounds easy, right? Well, the trouble comes when in some fields of some resources in EV, you need to place the ID of a related resource. For example, if you have a weap resource for ammunition, the AmmoType field of the weap resource holds the ID of the outf resource (the gun). However, the field in the weap resource starts counting at 1, and resources start counting at 128, so you need to subtract 128 from the outf resource ID to reference it properly. There are formulas in the FAQ to help you.
HEX Numbers
HEX numbers are another way to illustrate binary data. They represent a string of bits that can be turned either on or off. Each bit can tell a program about certain characteristics (often called "flags") and can be used in a variety of different ways. What all this means is that you can set a number of "bits" and hold them in one variable, or in EV's case, one field.
In the EV Bible, you will see different characteristics that can be set in a "Flags" field. Flags can either be 4 or 8 digits long, and are preceded by the characters "0x."
To combine different characteristics, you need to add together the hex flags for each desired characteristic. To add the hex flags together, add up the columns. The trick is, though, you don't carry digits. Rather, 10 = A, 11 = B, 12 = C, 13 = D, 14 = E, 15 = F. So, say you've got the following flags to add:
0x0001
0x0002
0x0008
0x0010
0x0040
0x0800
____
0x085B
The last column adds to 11, so put in B) Add the columns and substitute a letter for any value that is over 9. In the EV Bible, the '0x' before the number indicates that it is a HEX number, and is ignored when you add them together. However, when you enter a HEX number in a ResEdit field, replace the '0x' with a '$'.
If you add sounds or graphics (including sprites) to the game, you need to give EV more memory to accommodate these new items. There are many plug-ins that will require you to increase the memory allocation for the EV application. The Read Me that comes with the plug-in should tell you what you need.
However, sometimes EV will present this message due to an ill written plug-in. I have also found that corruption of files, including the EV Preferences file, can also be the source of this problem. It is usually a good idea to have a copy of the EV Installer on your machine just in case you need to reinstall a fresh copy of the game. If you are developing a plug-in, and you receive this message when you place your plug-in into the Plug-ins folder, do the following, in order, launching EV after each step:
Computer programs are drones - they will do exactly what you tell them to do. If you tell them to do the wrong thing, they will do the wrong thing. If you find that your plug-in is not behaving as expected, then the best thing to do is to go through the plug-in with a fine toothed comb. There is bound to be something that is incorrect.
Also, use your brain, and try to follow the logic of the game. If you are getting the wrong graphics for a ship, then check all of the factors associated with that ship's graphic. If you know exactly what is going wrong, then you should be able to find the error.
As always, comments can be directed to help@AmbrosiaSW.com.