Getting Started with Despair

Overview of Features

First of all, Despair has a lot of Balloon Help for the dialogs and menus. If you get stuck, turn your balloons on. Here is a quick rundown of what to expect:

 

Project Oriented Design

You will work from a central project file. Into this project file, you bring a mesh, a picture to use, and up to 100 imported objects (unit, amso, lpgr, mode, scen, proj, etc.). The only thing that Despair produces is a built mesh, which can either be made as an independent copy or a replacement for the current mesh.


An example layout

I recommend keeping everything related to the project in one folder, and when you want to test your map, build a copy into the tags:local:mesh folder. Once a mesh has been opened, you may import objects. Imported objects may be removed. The selection of objects available is shown in the object list. Pressing Command-L will bring it up.

What your project file saves:

  • A path to your current mesh
  • A path to your current picture
  • How many imports you have brought in and their codes only. That is all that is needed.

What your project file DOES NOT save:

  • Changes made to your mesh, including addition of any players, markers, or objects
  • The map parameters you have chosen with the "Build Extras..." dialog.
  • The actual data in your imports. In fact, if the files later disappear, it will not matter.

Working with a project like this will be different, at first, but I think that you will find that it is a great deal more flexible.

Keyboard navigation of your project's windows:

  • Command-1 will zap you to your project window.
  • Command-2 will bring the picture to the front.
  • Command-3 will bring the Object List to the front, if it is open.

 

Bringing a Picture Into Your Project

The latest version of MythTech will work just fine for this. To save on memory and speed up drawing time, Despair requires a 16 or 32 bit (16 is faster) PICT file that will fit comfortably on the screen. The first thing you will need to do is extract the .256 for the map you are planning to edit, with a plug-in header. Rename it to just it's four-letter code - a code that is called by your mesh file. Put it in the ".256 in" folder of the MythTech folder. Rename a copy of your mesh to "mesh" and put it in the MythTech folder. Run the "Get Level" application. If all went well, you will find a bunch of files in the "Graphics.out" folder. If you have more trouble with this process, consult the MythTech Tutorial for enlightenment.

Once you have extracted the textures files with MythTech (the extracted files are .bmp's), open the texture in PhotoShop and switch to RGB. If you would like the shadow map incorporated, make a new layer on top and set it to "Multiply" mode. Paste the Shadow Map into it. Now resize the picture so that it fits comfortably on the screen you will be using Despair in, retaining the same ratios. For example, if you have a 1024 by 768 screen, you will need to resize it so that the vertical size is around 700 pixels to leave room for the menu and title bars. Save a copy as a 16-bit PICT in your project folder with no compression and you are ready to go.

One thing to note is that Macintosh Easy Open can conflict with file dialogs. Even though PICT only is specified, Easy Open allows all types to be shown and you could make a mistake.

Remember to save your project file when you add things like a mesh, imports and a picture to it. When it is repoened, all the needed resources will be restored.

 

Editing Your Mesh

Unfortunately, Despair will not create a new mesh from scratch. You will need to import your own, or one of Bungie's. This may change in the future. Once you have added a mesh to your project, you are ready to edit. Hopefully, you are using a picture for placement.

Adding/Removing Teams:

You can add and remove teams very easily, and all objects under a removed teams are deleted themselves. You may not remove Team 0, the team which stores non-player items like scenery, models, and ambient sounds.

The Object Palette:

The OP is a multi-column list that stores all of the object types used on the map. There is a column for each team, and hitting the "-" team "+" buttons will scroll the palette horizontally. For each palette entry, there are a given number of markers. When a palette entry is clicked on, a list of markers that are members of that palette entry will appear in the marker list. There are some checkboxes next to the OP that will set (if the palette entry has at least one marker member) certain options for that palette. These options will affect all marker members. Double Clicking on a pallete entry will show you its entry in the Object List.

The Marker Palette:

When a marker list exists (a palette entry is selected), you will see a list of IDs along with (possibly) some letters. The letters indicate the following conditions:

u: The marker has a user data value greater than zero. Some models use the data field as a means to identify themselves as certain members in a group, like a World Knot - or perhaps the data represents what state they are in. Each model seems to use this data differently.

h: The marker is hidden. Helpful for quick reference.

d: The marker has a minimum difficulty greater than 0.

f: The marker has flags turned on other than the hidden flag.

v: The marker has a vector.

These indicators can be extremely helpful, so watch for them, and know what they mean. When a marker is selected, all of the fields pertaining to the marker (to the right of the marker list) will become available for editing. Use Balloon Help to learn about these. Keep in mind that X increases to your left on the picture, and Y increases downward. You will adjust to this in time.

Editing From the Project Dialog:

Changing positions of markers in the PD is pretty simple. You can type a new position in, and press RETURN to update the record after all your editing has been done. ESC will revert the marker. You may bump the marker's z value up and down from the PD by pressing "a" and "z" respectivey. Holding shift while doing this will magnify the effect. When you change the values of marker flags, they are updated automatically, unike when you type in positions. The only exception in all this is the "Get Z" function, which looks up severl grid height values on the map and interpolates an exact Z level for you. This will change the marker permanently. Get Z is automatically performed every time you drag, create, or place a marker.

Editing From the Picture:

A great deal of options are available to you when the picture is frontmost. You may directly select one marker at a time (no multiple selections) by clicking within one pixel of the marker. It will be selected in the Project window, in case you want to look at it's data. Here are some ways you can move or view markers:

Zoom: You may zoom in when a picture is visible by pressing Command +. You will be locked in the picture with a cross cursor. Click on the location you would like to center the zoom on. You may see white areas where there is no texture map. This is normal, and Despair will not let you move markers there. Try placing one there... Oleg will bitch you out ;) The amount of zoom you can have is indefinite, but you will definitely notice slowdowns the further in you go. Command - will zoom you out one level.

Dragging: You can drag a marker from place to place by clicking and holding on it. If the cursor changes to a cross, drag it to it's new location. A Get Z will be performed when you drag it to its new location.

Placing: Press the space bar, and the picture window will be brough to the front, if it was not already. The cursor will then change to a cross and you will see the window title change. Click where you would like it to go. If you would like to change the face as well as place, you can gesture click like so: When the cross cursor appears, click and hold on the spot you want the marker to end up at, and drag in the direction you want the marker to face. You must let the mouse button up within the picture. You will be locked in the picture, by the way, until you either place the marker or press ESC to cancel. When you place a marker, a Get Z will be performed automatically.

Nudging: When a marker is selected and the picture is frontmost, tapping the arrow keys will move the marker around. Unmodified, you will not notice much, if any, difference. The amount nudged depends on which modifier keys you had down when the arrow was pressed:

  • CapsLock: 0.0001 mesh points
  • None: 0.0078 mesh points
  • Shift: 0.0625 mesh points
  • Option: 0.250 mesh points
  • Option+Shift: 1.000 mesh points

Adding and Removing Markers and Objects

When a palette entry is selected, but a marker is not, hitting "Remove" will delete an entire pelette entry and its associated markers. When a marker is selected, it will delete the marker. There is no undo yet, so take care with this feature and be sure to build once in a while. In order to add a marker, a palette entry must be selected. When you add a palette entry, you are shown the Object List. You are expected to double-click on an object from that list, which can be navigated quickly with keys (u for unit, i for imports, a for amso, etc). You may also import an object before selecting one, in case you forgot to import it beforehand. You will be locked into the object list until you either select an object to add, or click on another window to cancel the operation. This cancellation procedure applies to the object changing feature, placing, and zooming as well. All of these procedures try to guide you to clicking on the right spot, and are easily cancelled.

 

Building Your Mesh

Once you have gotten your map going, you should take a trip to the "Build Extras..." dialog before building. If you will need help with the dialog, turn balloons on before opening it. Select your options, then build your mesh. I recommend saving the mesh in your project folder under a different name (you cannot replace your project mesh). Once the mesh is built, you have the option to incorporate it as the current mesh file, discarding the old one. Save your project after choosing "Yes", as this makes a change to the project file.

To try out your map, drag it to the tags:local:mesh folder and make sure all needed resources are in tags:local:whatever as well. I have built many maps with Despair, so if your map does not work, it is more than likely because you have incorrectly set "Build Extras...". If problems persist, however, let me know about it and give me the particulars.

If you encounter clicking sounds during a build or load of a mesh, chances are your mesh is corrupt or there are illegal marker types on there.

 

I realize this documentation is very paltry. I plan on getting back to it a bit after release. If you have any questions about how the program works or how it was made, feel free to mail me. I am building a FAQ and I would really like to know your questions.