Ambrosia Garden Archive
    • NovaTools and Mission Computer intro tutorials


      After having downloaded ResEdit, use it to install NovaTools according to its instructions, if it's not already done. In this tutorial, we'll see how to open data files (which have the same structure and can be opened by the same tools as plug-ins), then make and edit a new plug-in. But before we begin, though, it is better to take a precaution: lock all Nova data files. Whether you run OSX or MacOS 9 and below, locking files is done by selecting the files in the Finder, hitting command-I for Get Info, then checking the "locked" checkbox. Do it for all the files inside your "Nova Files" folder, save for Nova Music and the four movies.

      (attachment=98:attachment)
      (note: the image is to be directly in the guide, not linked to as the attachment system forces me. only the full NovaTools oütf editing window is to be linked, with a thumbnail I provide)

      (you can select all and lock them all at once under OSX; notice the small lock in the bottom-left corner of each icon)
      This should be done because ResEdit automatically saves changes you may mistakenly do, so if there is a problem, the files will remain modified, and that's not a good thing. By locking them, nothing will turn wrong to the point you will have to reinstall the game.

      When you're done locking, open ResEdit. After the splash screen, you get an open dialog. Find and open Nova Data 4. After confirming you really wish to open this locked document, you should obtain something like this.

      (attachment=99:attachment)

      You see some various icons with one 4-letters name each, oütf for instance. Double-click the oütf one. You get a new window with a (long) list of named things, that are called resources. oütf (including the dots above the u) is called a resource type , it's a 4-char code that identifies the kind of resources; Nova uses several of them such as shďp, dësc, etc... Open other resource types ( wëap, përs ) to familiarise yourself with the ResEdit interface. Notice there are numbers in the first column of the resource list ( 128, 129, 130, 131...); this number is the resource ID : it identifies the resource among the other resources in the list (that are of the same type), you can't have two resources of the same type with the same ID in the same file. The second column contains the size of each resource, but it's not interesting for now. The third column contains the resource name , which makes it obvious here the oütf resources match outfits: "Light Blaster", "IR Missile Launcher" , etc...

      Now, go back to the oütf resource list, and double-click the first one, named "Light Blaster". This should open a new window looking like that:
      (attachment=107:attachment)
      click thumbnail to enlarge (100 kb)
      This is the NovaTools oütf editing window. If NovaTools hadn't been installed, ResEdit would show instead a window with hexadecimal gibberish. Thanks to NovaTools, there are a number of checkboxes, menus, text and number fields that show the caracteristics of the outfit, some obvious ( Cost ), some less obvious.
      Let's modify the Light Blaster so that it weights only 1 ton instead of 3. You could make the modification here, but it wouldn't be saved, since the file is locked. No, don't unlock it. Instead, we will create a new file that will hold the modified resource; such a file is a plug-in. Plug-ins allow for safer tinkering (since you just need to remove them from the "Nova Plug-ins" folder to revert to the unmodified game), easier distribution of modifications (since you only need to transmit in a plug-in what is new or modified, not the whole Nova Data file), and make it possible (but not all plug-ins are compatible) to use more than one plug-in at the same time.

      To create a plug-in, tell ResEdit to create a new file (command-N or File -> New...). It will prompt you for a location and a name for the new file: ResEdit automatically saves the changes you do (when quitting/closing you can choose to discard them, but if ResEdit goes down the changes will remain, keep that in mind), so the file needs to be created on the drive before editing can begin. ResEdit will then open it, and you'll see an empty window, as your plug-in contains nothing so far. Then, return to the oütf list of Nova Data 4, select the Light Blaster, and tell ResEdit to copy (command-C or Edit -> Copy). Just click the empty window of your plug-in (to tell ResEdit the destination), then tell to paste (command-V or Edit -> Paste). The window should no longer be empty, and contain an oütf icon: as you copied an oütf resource, ResEdit created an oütf resource list, containing just one resource for now: double-click the oütf icon, there will only be the Light Blaster in the list. Double-click the Light Blaster, and now you can edit the Mass field and put 1 instead of 3:

      (attachment=101:attachment)

      Indeed, the Nova Bible tells that this field states the number of ton(s) the outfit takes from the ship's free mass. Close then the editor window.

      Check that the Light Blaster in your plug has ID 128. This is very important, as the main feature of plug-ins is: a resource in a plug-in will override the resource in the data files that has the same type AND the same ID. This is the overriding rule, and you should know it perfectly. If there is no resource in the data files with the same type and the same ID, the resource in the plug will simply be loaded on top of the resources in the data files. This means that, as the "Light Blaster" in the data files has type oütf and ID 128 as well, the game when launching will completely disregard the "Light Blaster" found in the data files and load the "Light Blaster" in your plug instead. Once this is checked, save your plug-in, but don't close it or quit ResEdit yet.

      Indeed, your file is not a plug-in yet: if you check it in the Finder, it has the appearance of a ResEdit document (actually, it IS a ResEdit document), and Nova will not see it as a plug-in and won't load it. Therefore, you need to modify the file so that it's actualy a plug-in. To do this, you have to go back to your plug-in in ResEdit, and choose "File -> Get info for <plugname>". This will open this window:

      (attachment=102:attachment)

      In this window, we're interested in two things: the Type and the Creator fields. These are two 4-char codes (usually hidden to the user). The Type field identifies the kind of file, and its format: a Quick Time movie, a raw text document, a JPEG picture, an aiff sound, an MP3 music file, etc..., all have an unique Type code. Here, rsrc tells it is a simple resource file. The Creator field identifies which application this file belongs to (mainly setting which application will open the file when the user double-clicks it, allowing documents of the same kind to be opened by default by the different applications that created them), usually the application that created it; here RSED identifies ResEdit indeed. Combined, they allow the Finder to know which icon to give to the document, for instance.

      For your new file to be considered a Nova plug-in, you need to set the Type field to Npďf (capitalisation and inflexion DO matter), and the Creator field to Növä (capitalisation and inflexion DO matter):

      (attachment=103:attachment)

      Now close this window, and confirm the save. Now, if you refresh the icon of your plug-in in the Finder (selecting it, reopening the window, or waiting for a few seconds, usually works), it should now sport the apperance of a Nova plug-in (a black square with tools on it). If it doesn't, get info in ResEdit for your plug-in anew and double-check the two fields you modified.

      In order not to have to do this again for each plug-in you'll do, copy your file which is now a real plug-in, strip the copy from its resource (i.e. open it with ResEdit, select the resource, hit delete, and save), and rename it "Blank Plug", you will only need to copy this to have a new virgin plug in the future.

      You can now quit ResEdit, move your plug-in to the Nova Plug-ins folder, and launch Nova. Then go to a Federation outfitter. The Light Blaster should now be displayed with a mass of 1 ton. Clearly an improvement over the original design!

      If Nova crashes at some point before you can see that, there is a problem, tell us about it in the EV Developer's Corner, with all the info you can give (platform, editor, when it does crash and pilotlog and debuglog). If it simply does not work, i.e. the light blaster still has a mass of 3 tons, quit Nova and double-check everything. Same thing if you don't see any Light Blaster. If it still doesn't work after having double-checked, tell us about it in the EV Developer's Corner, telling what you did and what does not work.

      Otherwise, congratulations, you successfully made your first plug-in! Notice the resource in the plug-in overrided the resource in the data file with the same ID. If the ID of the Light Blaster in the plug-in had been one oütf ID unused in Nova Data 4, there would have been both the original Light Blaster and the modified one in the outfitting. Notice that, in order to modify the ID or the name of a resource in ResEdit, you need to select the resource in the resource list, tell "get resource info" (command-I or Resource -> Get Resource Info...), and modify the resource ID and name in the dialog. Be careful: only use IDs between 128 and 639 (bounds included), Nova won't load any oütf resource with an ID out of this range.

      Now you've made your first plug-in and gotten the fundamental concepts of plugmaking, you can move on to bigger things. I advise you to begin by reading the Bible Explained to Dummies guide, then for each resource the relevant annotated template (a list of which is accessible by a link on the left). Also, there are specific guides for some complicated Nova features (such as one for Contribute/Require and Scanmask), you can have access to them in another link in the left.

      .

      .

      .

      .

      Download Mission Computer and install it, if it's not already done. In this tutorial, we'll see how to open data files, then make and edit a new plug-in. But before we begin, though, it is better to take a precaution: lock all Nova data files. Whether you run OSX or MacOS 9 and below, locking files is done by selecting the files in the Finder, hitting command-I for Get Info, then checking the "locked" checkbox. Do it for all the files inside your "Nova Files" folder, save for Nova Music and the four movies.

      (attachment=98:attachment)

      (you can select all and lock them all at once under OSX; notice the small lock in the bottom-left corner of each icon)
      This should be done because Mission Computer automatically saves changes you may mistakenly do, so if there is a problem, the files will remain modified, and that's not a good thing. By locking them, nothing will turn wrong to the point you will have to reinstall the game.

      When you're done locking, open Mission Computer. If it's the first time you're running it, it will prompt you for the location of the Nova Files folder. You can just close this preference window, but telling where the Nova Files folder is beforehand is recommanded, as it is necessary for some features (ignore, however, the ask for the EV Data and Override Data 1&2 files). Now Mission Computer displays its welcome screen, with the option to create an EVC, EVO, Nova plug-in, or open an existing one. Click the last, "Open an Existing Plug-in", and pick "Nova Data 4" in the open dialog: indeed, data files have the same structure and can be opened by the same tools than plug-ins. Maybe Mission Computer will tell you it hasn't been able to save its dsďg (due to the fact the file is locked), dismiss this with "cancel". Then you see this window:

      (attachment=104:attachment)

      There is a list of 4-letter names, such as oütf. Click the oütf one. The right portion of the window, previously blank, now contains a list of named things, that are called resources. oütf (including the dots above the u) is called a resource type , it's a 4-char code that identifies the kind of resources; Nova uses several of them such as shďp, dësc, etc... Click other resource types ( wëap, përs ) to familiarise yourself with the Mission Computer interface. Notice the number next to the resource types, in the Count column, it tells how many of a certain resource type there is in the file; here all the specific resource types Nova uses are listed, but only certain exist in Nova Data 4, the others are empty, with Count 0.
      Notice there are numbers in the first column of the resource list ( 128, 129, 130, 131...); this number is the resource ID : it identifies the resource among the other resources in the list (that are of the same type), you can't have two resources of the same type with the same ID in the same file. The second column contains the resource name , which makes it obvious here the oütf resources match outfits: "Light Blaster", "IR Missile Launcher" , etc...

      Click oütf in the resource type list to get back the list of oütf resources, and double click the first one, named "Light Blaster". It should open a new window:

      (attachment=105:attachment)

      This is the Mission Computer oütf editing window. Notice the use of tabs: not all the caracteristics of the outfit are shown, the others are shown when activating the other tabs. There are some fields, checkboxes, menus, that store the caracteristics of the outfit, some obvious ( Cost ), some less obvious.
      Let's modify the Light Blaster so that it weights only 1 ton instead of 3. You could make the modification here, but it wouldn't be saved, since the file is locked. No, don't unlock it. Instead, we will create a new file that will hold the modified resource; such a file is a plug-in. Plug-ins allow for safer tinkering (since you just need to remove them from the "Nova Plug-ins" folder to revert to the unmodified game), easier distribution of modifications (since you only need to transmit in a plug-in what is new or modified, not the whole Nova Data file), and make it possible (but not all plug-ins are compatible) to use more than one plug-in at the same time.

      Dismiss first the oütf editing window with "cancel". To create a plug-in, tell Mission Computer to create a new Nova plug-in (command-N or File -> New -> EV Nova plug-in...). It will prompt you for a location and a name for the new file: Mission Computer automatically saves the changes you do (when quitting/closing you can choose to discard them, but if Mission Computer goes down the changes will remain, keep that in mind), so the file needs to be created on the drive before editing can begin. Mission Computer will then open it, and you'll see a window just like the one for Nova Data 4, but with all "Count" values equal to 0, as your plug-in contains nothing so far. Then, return to the oütf list of Nova Data 4, select the Light Blaster, and tell Mission Computer to copy (command-C or Edit -> Copy). Then click the window of your plug-in (to tell Mission Computer the destination), then tell to paste (command-V or Edit -> Paste). The count associated to the oütf resource should now be 1; as you copied an oütf resource, it contains just one resource for now: click oütf, there will only be the Light Blaster in the list. Double-click the Light Blaster, and now you can edit the Mass field and put 1 instead of 3:

      (attachment=106:attachment)

      Indeed, the Nova Bible tells that this field states the number of ton(s) the outfit takes from the ship's free mass. Close then the editor window with "OK".

      Check that the Light Blaster in your plug has ID 128. This is very important, as the main feature of plug-ins is: a resource in a plug-in will override the resource in the data files that has the same type AND the same ID. This is the overriding rule, and you should know it perfectly. If there is no resource in the data files with the same type and the same ID, the resource in the plug will simply be loaded on top of the resources in the data files. This means that, as the "Light Blaster" in the data files has type oütf and ID 128 as well, the game when launching will completely disregard the "Light Blaster" found in the data files and load the "Light Blaster" in your plug instead. Once this is checked, save your plug-in.

      You can now quit Mission Computer, move your plug-in to the Nova Plug-ins folder, and launch Nova. Then go to a Federation outfitter. The Light Blaster should now be displayed with a mass of 1 ton. Clearly an improvement over the original design!

      If Nova crashes at some point before you can see that, there is a problem, tell us about it in the EV Developer's Corner, with all the info you can give (platform, editor, when it does crash and pilotlog and debuglog). If it simply does not work, i.e. the light blaster still has a mass of 3 tons, quit Nova and double-check everything. Same thing if you don't see any Light Blaster. If it still doesn't work after having double-checked, tell us about it in the EV Developer's Corner, telling what you did and what does not work.

      Otherwise, congratulations, you successfully made your first plug-in! Notice the resource in the plug-in overrided the resource in the data file with the same ID. If the ID of the Light Blaster in the plug-in had been one oütf ID unused in Nova Data 4, there would have been both the original Light Blaster and the modified one in the outfitting. Notice that, in order to modify the ID of a resource in Mission Computer, you need to select the resource in the resource list, tell "get info..." (command-I or Resource -> Get Resource Info...), and modify the resource ID in the dialog. Be careful: only use IDs between 128 and 639 (bounds included), Nova won't load any oütf resource with an ID out of this range.

      Now you've made your first plug-in and gotten the fundamental concepts of plugmaking, you can move on to bigger things. I advise you to begin by reading the Bible Explained to Dummies guide, then for each resource the relevant annotated template (a list of which is accessible by a link on the left). Also, there are specific guides for some complicated Nova features (such as one for Contribute/Require and Scanmask), you can have access to them in another link in the left.

      This post has been edited by Zacha Pedro : 16 December 2004 - 07:55 AM

    • second image of NT tutorial; attachments are limited to 100kb per post.
      (attachment=99:attachment)
      third image of NT tutorial, to be linked to (too big!):
      -er, too big for one post (over 100kb). will advise.-
      thumbnail of above image:
      (attachment=100:attachment)
      fourth image of NT tutorial:
      (attachment=101:attachment)
      fifth image:
      (attachment=102:attachment)
      last of NT tutorial:
      (attachment=103:attachment)

      .

      First image of MC tutorial same NT's first

      second image:
      (attachment=104:attachment)

    • last images of MC tutorial:
      (attachment=105:attachment)
      (attachment=106:attachment)

      wait a few hours (need to go to class!) for the NT outf editing window.

    • Actually, no class right now, I badly read the timetable.

      Recompressed the NT oütf editing window screenshot from the original (always keep uncompressed originals, people) with a little more JPEG compression (and degrading) so that it's just < 100kb. Still very readable.
      (attachment=107:attachment)

      .

      .

      .

      You may comment now. Notice that I'm officially taking a breakfrom now on, to do other things such as reexaminating all my annotated templates (there are errors, I will make a new topic with all the corrections to make at once), testing some engine features (and oddities), actually playing something else than the pirate storyline, etc... I'm still very interested in reading comments about my work, see it HTMLised and posted it on websites, but don't expect anything new for a little time.

    • This comment only concerns the MC intro tutorial (as I have only used ResEdit and Nova Tools once to just try it out, and was straight away a fan of MC).

      Once again ZP: great work. Can't find anything else I'd like to add, except for one (though that probably happens only to me: I never checked anywhere because I couldn't be bothered and anyway I got used to it pretty fast):
      Sometimes, MC will have problems saving just the one modification you've done to a resource ("could not save try again", and if you click on either OK or Cancel you're screwed, with either a blank resource or no resource anymore), and so just to be sure not to have it (and not to lose hours of work), use the "save as" feature after a few modifications, even after changing one mďsn resource.

    • Update: when I made this topic I knew little about the attachment system, by now I've realised that I can put attachment from anywhere else in one post, therefore I put all images in the first post, so that it is a little more usable in this form.