Graphics Editing
The Graphics Editing dialog serves two main purposes - allowing the editing of the various graphic sets used by the game, and the drag-and-drop of tiles and objects to alter the map and create new objects in the game.

The list of graphic sets is broken up into two tabs - Main and Cutscenes. Main consists of the Font, Game Shapes, Objects, Actors, Portraits, and Mouse Pointers. Cutscenes consists of a series of groups that are used during the cutscenes at the start and end of the game, as well as the in-game user interface.

To alter a particular shape, simply select it and select either the Import Image button or menu item in the Edit menu. You will be prompted for the file to import into the shape, and once selected the shape will be imported. The shape will only be imported if it's dimensions match that of the image it's replacing. When replacing the existing image, the individual pixels of the importing image will be adjusted to the closest matching palette entry of the in-game palette.

Shapes can also be exported by selecting the Export Image button or the menu item from the Edit Menu. You will then be prompted to select a filename for the exported image, as well as selecting the filetype of the image.

As with most of the dialogs in the application, the Graphics Editing dialog also has a right-click context menu with a set of quick options for a selected image.

The Shapes is particularly important, as it contains all the tiles used by ground tiles and objects within the name. By selecting the Properties for a particular tile, you can see the settings for that shape. There are two types of shapes - standard shapes and animated shapes. Animated shapes don't have a shape by themselves, but rather act as a placeholder for the tiles to be animated. Shape entries that are animated tiles are flagged as such by having a small red square in the bottom left-hand corner. Both types have their own custom settings.

All shapes, though, have the following flags in common (some of them, though, are only applicable to ground tiles or game objects):

WaterGround tile is impassable except when in a boat
ImpassableGround/Object space cannot be moved onto
North WallShape represents a northern wall
East WallShape represents an eastern wall
South WallShape represents a southern wall
West WallShape represents a western wall
Top TileThe shape should be drawn on top of any other shape
Wall TileShape is a wall tile
Window TileTile is a window
Double WidthObject is double width*
Double HeightObject is double height*
* Double width/height objects are used to represent game objects on the map that are two tiles wide, high, or both with only a single game object. Any object instance whose representing shape has the Double Width and/or Height flag set will use the shapes at Shape Index - 1 for Double Width or Double Height, and if both is set, the three preceeding shapes will be used to display the object in a 2x2 grid with the starting object being in the bottom right-hand corner.

The shapes can also be used to change the ground tiles - as long as the selected tile is between index 0 to 255, then a shape can be directly dragged onto a position on the map screen, or to a map chunk being edited.

The game objects section provides a list of objects with the game. The way the data within Ultima 6 is represented is to have a base set of 1024 object numbers. These represent each of the unique categories of objects within the game. An internal table maps each object number to a starting shape index within the shape table. Individual object instances then specify a particular object number and a frame number - the offset from the starting shape index for that object number.

The objects list gives a list of all the current object number/frame number combinations currently in use in the game for quick drag-and-drop onto the map to create new instances. Should you wish to create a new object number/frame number combination, use the Add Object selection on the Edit menu or right-click context menu. This will display the Add Object Instance dialog, which lets you select an object number and frame number, as well showing which object numbers currently have a mapping, and adjust the current shape index mapping for particular object numbers.

On a final note, objects, as with actors, do not have their own shapes - they specify shapes within the main Shapes list.

The actors group lists all the actors within the game. Unlike game objects, each actor can only be placed once within the game once, although an actor's schedule can place the actor at different positions at different times. As with game objects, an actor can be dragged onto the map to set it's position. All the remaining properties for the actor can be accessed via the Properties dialog, except for the Conversation script - the properties dialog has a listing of the NPC's script, but to modify it, you need to use the Conversation Script editor window.