Temporary info on the new features

Got questions about Shipmaker? Get answers here. Please read the stickied topics first!

Moderators: th15, Moderators

Post Reply
Kaelis
Moderator
Posts: 1590
Joined: Fri Dec 14, 2007 4:46 am

Temporary info on the new features

Post by Kaelis »

This is ugly, awkward, has no structure whatsoever and is outdated in places, but itll have to do for now. Proper guides/manuals will come soon.
Last edited by Kaelis on Mon Feb 02, 2009 9:52 am, edited 2 times in total.
Kaelis
Moderator
Posts: 1590
Joined: Fri Dec 14, 2007 4:46 am

Post by Kaelis »

Turretsections
Turretsections are just like rotsections (including children rotating along with their parent), but instead of rotating by themselves, they are driven by a weapon.

To set a driver for selected section, right click on a weapon and pick 'Set Driver'. To clear the driver, right click on a section and pick 'Clear Driver'. Orange arrows will indicate drivers.

For the turretsections to work properly, their drivers cannot be parented to them. So if you want a proper turret, its best to move the driver to be at the same coordinates as turretsection, and hide underneath the turretsection (with weapon depthing) or make it invisible (0 alpha), give it alot hp, and disable shooting (there is an edit field for that).



Weapon linking
Allows you to link weapons, so that children have the same angle as their link parent, and shoot at the same time (and only then) with optional delay (Link delay edit field). The link parent will behave as a normal weapon. When the link parent is destroyed, link children get back to normal weapon behavior. There can be only one link parent for a weapon, but one weapon can have multiple link children.

To pick a link parent for selected weapon, right click on the weapon you want to be the link parent and select Set Link. Select Clear Link to clear the link (its link parent) from the weapon under mouse. If you want weapons on a turretsection that work like barrels, just link them to the driver.



Weapon and module depthing
Depthed weapons/modules behave just like doodads as far as depth is concerned - they render on top of their parent section, but below eveyrything thats above their parent section. Weapons/modules parented to the core cannot be depthed.

Press W to toggle depthing on a selected weapon/module.



Direct Controll mode
In DC mode, you can control how your ship moves and how do its weapons shoot (taking all their parameters like arc range or reload into account) with keyboard and keys.

For ship movement, arrow keys, wsad keys, and mouse are used. There are 4 DC modes.
Mode 1 - ship rotates to face mouse, ws / up and down move ship forward (where its facing) and backward, ad / left right strafe the ship to its (relative to the ship) left/right
Mode 2 - ship rotates to face mouse, wsad / up down left right move the ship in relevant direction relative to the screen
Mode 3 - ship does not rotate to face mouse, ws / up down move ship forward/backward, ad strafe ship to its left/right, left and right rotate ship
Mode 4 - Ship does not rotate to face mouse, wsad / up down left right move the ship in relevant direction relative to the screen AND rotate it to face that direction

To enter DC mode, select a ship and press ctrl+C. To toggle through every mode keep pressing ctrl+C. To immediately exit out of DC mode (without having to toggle through them) press C.

There is also a setting in SM in ship preferences to disable DC on that specific ship.

If you want to control ships weapons, you have to assign them to DC groups in SM via appropriate edit field. Each group corresponds to certain keyboard key or mouse button which will trigger weapons belonging to those groups. Weapons assigned to a DC group will rotate to face the mouse when the ship they belong to is in DC mode, outside of DC mode they will behave like normal weapons.



Custom sprite import
You can import your own sprites for use as sections, doodads, weapons or bullet sprites. These sprites must be in the form of .png or .gif files, and need to be located in Custom sprites directory residing in the program directory. Their names should be short (around 12 characters for sections and doodads, excluding file extension). Every single sprite must have a unique name. Section, doodad and weapon sprites all need a 1pix black border, which will be used as transparency color. All sprites will be imported with their origin set to ceil(width/2), ceil(height/2), where the top left pixel is 0,0. The default gray fill color for sections is 47,47,47 (R, G, B), and the white for outline is just pure 255,255,255 white.

Note that all custom sprite paths for current ship are saved with the sb4 and shp. If you move a sprite out of the directory it was in when youve built the ship, there will be problems with loading that ship in BSF/SM. The only way to change paths in a saved sb4 is to open it up in a text editing app and change them manually (theyre relative to Custom sprites directory). Paths saved in shp cannot be changed, youll need to resave the ship.

To import a section or doodad and insert it directly onto the grid in SM, just drag and drop the files onto the SM window. If you drag a gif, you will be presented with an option to make it either a section or a doodad. For other section import options, refer to 'Section picker and section groups' section.

To set a custom sprite for a weapon or its bullets, use the appropriate edit field. You will be presented with open file dialog, press cancel to go back to default sprites. Note that you won't be able to see how bullet sprites look like until you run the game and load the ship with modified weapon.

Due to changes required for custom sprite import, template strings with sections, doodads and weapons that have custom sprite no longer work flawlessly (the sprite name part is dependent on the current session of SM). This includes ships that were using template strings for 'hacked' section/doodad sprites (sections with stock doodad sprites or doodads with stock section sprites should work, though). You may also need to resave ships made with older versions of SMCE.



Section groups
All sections in SM are now distributed between four groups, which can be arranged any way you like. There is also a section picker available, to help with choosing sections.

1, 2, 3 and 4 keys are used to change currently active groups, but only when those keys are set to 'group' mode. To change 1234 keys mode, press tilde ( ~ ) or go into Tools/'1234 keys mode'. There is a '1234mode' setting in smconfig.ini that governs what mode should be set as default one when SM starts, 0 for normal (insert), 1 for group.

When you change active groups, the set of sections available for insertion will change to reflect that. Section button arrows and section mousewheel/key scroll will now scroll through that set of sections. The section button on the sidebar will also change (it remembers the position of last selected section from relevant group).

You can save and open section groups using relevant options in Tools menu. This will save a separate sprite ini. When you open a sprite ini, all sections that are currently on the grid will stay as they are. Only the groups will change.

You can change what doodads are loaded by editing the ini directly as well.

By default, sm loads smsprites.ini (included with the download).



Section picker
To activate section picker, press Z. Press Z again to deactivate it. Section picker will show all sections from current group. If there are more section in current group than the section picker can show, you can scroll through them with mousewheel while the mouse is over the section picker, or by moving the mouse to top/bottom edge. To insert a section, simply click it.

You can import custom sections to the end of current group by dragging and dropping a file onto the section picker.



Section group arrange
To manage section groups inside SM (you can do that by directly editing the inis, too), go into Tools/Group Arrange. The normal SM gui will be replaced by all four sections groups shown like sections pickers. They are scrolled like section picker as well.

You can select sections by clicking them. Ctrl+click selects multiple, shift+click selects block. Delete removes selected sections from the group. You can move selected sections in their group or between groups by simply dragging them. A yellow line will indicate to what position they will be moved.

You can import custom sections into a specific group and specific position by dragging and dropping files into place while group arrange is active. Imported sections will be inserted directly after the section which was under mouse when they were dropped.



Color buttons
There are now color buttons on the sidebar, which behave much like color keys.

First three buttons are for teamcolors, with the ability to change them, they work just like in BSF in that aspect. Next 9 buttons are for the 9 custom colors.

To change the color of selected object (or set it to team color), press the buttons. To change one of the colors, right click on it. You can also ctrl+click on one of the button, to select it as the color which new sections will start with.

If you ctrl+right click on a button, you will be presented with four options:
Fill - assigns the color to all sections that have the same color as currently selected section
Sample - color picker, samples the color from currently selected section
C Mode - toggles through assign and cycle C modes. In cycle mode, C key behaves normally. In assign mode, C key will set the color of selected object to the color that is currently selected as default insertion color (the one picked with ctrl+click)
Save colors - saves colors to smconfig.ini, excluding team colors (by default the ini is no longer modified, you have to specifically pick this option to save your colors)



Section hiding
You can hide sections to increase performance and possibly help with selection in dense areas.

For the hide/unhide options to work, core must not be selected. To hide section under mouse (or selected section, if theres no section under mouse), press H. To temporarily unhide all sections, press U, press again to hide them again. To unhide all sections, press shift+U.

To hide sections in a rectangular area defined by mouse, press ctrl+H where you want the area start, then press lmb where you want the area to end. Ctrl+U is for rectangular unhide.

You can also hold Y and press left/right mouse button to hide/unhide sections in an area around mouse. While Y is pressed, a circle will be drawn to show how big the area is. You can change the radius in smconfig.ini, 'mousehradius' setting.

Do not use group flip or group rotate with hidden sections!



Other changes/features:

Fine move/rotate - by default, objects will be moved/rotated by the step defined in smconfig.ini by rotnormalstep (default 5) and movnormalstep (default 1). If you press End key or Tools/'Mov/Rot step' you will toggle fine mov/rot mode, which will move/rotate objects by steps defined by rotfinestep and movfinestep.

Section and doodad rotate and flip with V/X+mousewheel/click - You can rotate selected sections and doodads by holding V (15 degrees by default) or X (5 degrees) and rotating the mousewheel. You can flip them by pressing lmb and rmb when V is pressed. For V/X rotate steps, there is a setting in smconfig.ini, called rotxstep and roystep respectively.

Weapon/module transparency - You can set weapon and module transparency now with [ and ] keys. There is an edit field for that, as well.

No-glow and no-shimmer settings for sections - There are separate edit fields for disabling glow and shimmer for sections. Shimmer is a slight change in color brightness for all sections, normally barely noticeable, but becomes an issue when trying to perfectly match turret bases with weapon sprites. Theres alos a 'Shimmer' setting in BSF ini for globally disabling shimmer for all sections.

Option to reparent children of a section to another section - Right click on a target section and pick 'Reparent children' to reparent all children from selected section to section under mouse.

Remirror option - Remirror deletes the entire lower half of the ship and mirrors everything again. Press ctrl+M to perform remirroring. Mirror status clearing has been moved to shift+M.

New/changed saving/loading options - Encryption for sb4 has been removed to speed up saving/loading. To load encrypted sb4 (so saved with an older version of SMCE) press shift+O, or File/'Open encrypted .sb4". You can also save sb4 separately now (not saving the .shp) by pressing shift+S or File/'Save .sb4'

Ability to hide gui in SM - You can hide GUI to gain some performance by pressing F12 or Tools/'Hide Gui'.

Setting for depthed bridge rendering - There is an smconfig.ini setting for rendering bridge sprite above core, but below everything else (so just like in BSF), 'renderbridge'. 1 for old rendering method, 0 for the new one.

Setting for default SM background - Theres a setting 'background' for loading a custom background on SM startup. Path must be absolute (C:\Program Files\Battleships Forever\background.bmp, for example).
Linear Movement
Sections with linear movement enabled will move between their origin (starting point, where theyre placed in SM) and their move target. You can either change the move target by using appropriate edit fields (x and y coordinates and/or distance and direction), or you can press T to get a visual representation of the target point and manipulate it with mouse and keyboard arrows (shift+mouse move/fine move apply). Press left mouse button or again T to confirm, press right mouse button to abort.
Other parameters are similar to rotation/effect fade, and can be found in Ed2 tab.

Screenshots and capturing frames
By default, SM saves screenshots in png format to a separate directory 'SMScreenshots'. Also by default, it lets you pick a rectangular area to capture instead of capturing the whole window. You can still capture the whole window by pressing ctrl+F9.

There is a new option to capture a set number of frames. Press shift+F9 to use it. As with normal screenshot, you will be able to pick a rectangular area (right click to abort), then you will be presented with a dialog that will let you specify how many frames you want to capture, after which there will be a dialog for frameskip (0 for no skip). Once you press ok on the second dialog, capturing will begin. You can abort it by pressing F9 while its running. Mind you, capturing frames is slow, especially with large capture areas and/or with big ships. Each frame will be output as .png into 'SMFrames' directory.

New module: ThrusterEx
A thruster with fraxy-like exhaust flare instead of puffs of smoke. You can set a custom flare sprite for them, among other settings.

Triggers
There are two types of triggers: trigger on and trigger off. As the name suggest, trigger on triggers something online (for example, start rotation), trigger off puts it offline (stops rotation). For both triggers, you can pick which action should be used for that trigger.

The available actions are:
Frames elapsed (self) - will trigger when a set number of frames has elapsed after its been triggered off (if its set for trigger on) or trigged on (if its set to trigger off). There is a field ('On frames' and 'Off frames') for defining the amount of frames.
Key pressed: , (comma), . (period), / (slash) - will trigger when the picked key is pressed.
Rotation reach CW/CCW border - will trigger when the picked rotation border is reached.
Movement reach target/origin - will trigger when the move target/origin is reached
Fade reach hi/lo limit - will trigger when the selected fade limit is reached
Weapon fire - will trigger when weapon fires
Weapon acquired target - will trigger when weapon has acquired target (providing that there was no target before)
Weapon lost target - will trigger when weapon has lost target (providing that no new target has been assigned at the same time)

Actions that have (self) or (s) beside their name mean that the action will be taken from the same section that will be triggered; the section will trigger itself. For example, if you set the section to rotating and enabled borders, set on trigger to 'Rotation reach CW border (self)', and set mode to Move, it will mean that once this section has reached CW border while rotating, itll also start moving.

For actions that have no (self) tag, you will need to set a trigger on/trigger off parent. Do that by right clicking on the desired parent (section or weapon) while you have a section/weapon selected, and picking either 'Set on trigger' or 'Set off trigger'. For example, if you have set Trigger on action to 'Fade reach hi limit', you will need to right click on a section that fades and pick 'Set on trigger'. If youve picked one of the weapon-specific actions for off trigger, you will have to click on a weapon and set pick 'Set off trigger'. Cyan arrows indicate on trigger parents, magenta arrows indicate off parents, and blue arrows indicate that both on and off triggers are set to that parent.

If both triggers are set to the same actions, and they have the same trigger parent (doesn't matter for (self) triggers), the action will toggle selected behavior between on and off.

Mode defines what kind of behavior will be triggered. For sections, it is Move, Rotate, and Fade. For weapons, its Online/Offline (if weapon is offline, it won't shoot, rotate, or gain targets), Shooting, Force fire (means that the weapon will be forced to fire, in this mode the off trigger has no effect).

You can set the delay in triggering a behavior (mode) after receiving a trigger for both triggers by using the 'On delay' and 'Off delay' fields.

You can preview key trigger action in preview mode by pressing relevant keys. Triggers will be executed for all section/weapons with those actions as on/off trigger. You can trigger weapon fire/weapon gained target/weapon lost target in the same way by pressing Q, W and E respectively.
Kaelis
Moderator
Posts: 1590
Joined: Fri Dec 14, 2007 4:46 am

Post by Kaelis »

Whoops, forgot to sticky it.
Post Reply