Difference between revisions of "HPL3/SOMA/Level Design/Combos"

From Frictional Wiki
< HPL3‎ | SOMA‎ | Level Design
Jump to navigation Jump to search
(Add source-verified reference; mark undocumented workflow and behavior for expansion.)
 
(Expand the SOMA guide with verified stock examples, practical steps and precise remaining documentation gaps.)
 
Line 1: Line 1:
 
{{shortPageTitle}}
 
{{shortPageTitle}}
 +
 
{{stub}}
 
{{stub}}
  
−
The SOMA Level Editor toolbar documentation describes Combo EditMode as the mode for placing compound objects saved as combos.
+
A combo is a saved compound: an arrangement of objects that can be placed again through the SOMA Level Editor’s Combo EditMode. Use it when you want to reuse a group of pieces rather than assemble each member separately.
 +
 
 +
== Understand the three kinds of grouping ==
 +
* A '''compound''' groups objects so they can be transformed together in the editor.
 +
* A '''combo''' stores a compound in a <code>.cmb</code> file for placement through Combo EditMode.
 +
* '''Combine EditMode''' groups static geometry for loading as a whole; the toolbar documentation describes this as an optimization feature. This is a separate toolbar mode from placing saved combos.
 +
 
 +
== Start with a shipped example ==
 +
# Open your mod’s map in <code>LevelEditor.exe</code>; see [[HPL3/SOMA/Getting Started/Edit Your First Map|Edit Your First Map]] for the working-mod setup and save/reopen check.
 +
# Select '''Combo EditMode''' on the toolbar. It is the mode documented for placing saved compounds.
 +
# Use <code>combos/urban/tech/alarm_clock.cmb</code> as the small reference combo. It contains <code>alarm_clock_1</code> and <code>alarm_clock_button_1</code>, each referencing its own <code>.ent</code> file.
 +
# After placing the combo, compare its members with that file’s <code>Components</code> and <code>Compound</code> sections. The compound records both member IDs; it is a group containing two entities.
 +
# Move the compound with its '''Position''' property, then save and reopen the mod map. Compound position, rotation and scale transform the group together.
 +
 
 +
The alarm-clock combo uses <code>entities/urban/tech/alarm_clock/alarm_clock.ent</code> and <code>entities/urban/tech/alarm_clock/alarm_clock_button.ent</code>. A larger example, <code>combos/urban/furniture/desk_work.cmb</code>, contains one desk and three drawer entities. The vegetation example <code>combos/organic/vegetation_clusters/vegetation_cluster01.cmb</code> contains both static objects and an entity. These are examples of the contents a shipped combo can store.
  
−
Compound objects group simple objects so they can be transformed together. The documented compound properties are Name, Position, Rotation and Scale.
+
== Compound transforms ==
 +
{| class="wikitable"
 +
! Property !! What it changes
 +
|-
 +
| '''Name''' || The name of the compound.
 +
|-
 +
| '''Position''' || The compound’s center position.
 +
|-
 +
| '''Rotation''' || The rotation of the group; a member that cannot rotate can restrict this.
 +
|-
 +
| '''Scale''' || The scale of the group; a member that cannot scale can restrict this.
 +
|}
  
−
Compound rotation or scaling can be restricted when the group includes an object that cannot be rotated or scaled.
+
== Saving your own combo ==
 +
The shipped editor includes controls labelled '''Create Compound''', '''Save as Combo''' and '''Destroy Compound'''. The saved examples use the <code>.cmb</code> extension and contain <code>FileIndices</code>, <code>Components</code>, <code>Compound</code> and <code>Thumbnail</code> sections.
 +
 
 +
The exact save dialog, destination selection, browser refresh procedure and behavior when an existing combo file changes still need direct editor verification. This page therefore does not prescribe an unverified save-and-refresh sequence.
  
 
== See also ==
 
== See also ==
 
* [[HPL3/SOMA/Level Design/Compounds|Compound objects]]
 
* [[HPL3/SOMA/Level Design/Compounds|Compound objects]]
−
 
+
* [[HPL3/SOMA/Level Design/Level Editor Toolbar|Editor modes]]
−
== Documentation to expand ==
+
* [[HPL3/Level Design/Working with Static Objects|Static geometry and automatic combining]]
−
Saving, importing and editing combo files need verified workflow documentation.
 
  
 
[[Category:English]]
 
[[Category:English]]

Latest revision as of 14:48, 2 October 2026


A combo is a saved compound: an arrangement of objects that can be placed again through the SOMA Level Editor’s Combo EditMode. Use it when you want to reuse a group of pieces rather than assemble each member separately.

Understand the three kinds of grouping

  • A compound groups objects so they can be transformed together in the editor.
  • A combo stores a compound in a .cmb file for placement through Combo EditMode.
  • Combine EditMode groups static geometry for loading as a whole; the toolbar documentation describes this as an optimization feature. This is a separate toolbar mode from placing saved combos.

Start with a shipped example

  1. Open your mod’s map in LevelEditor.exe; see Edit Your First Map for the working-mod setup and save/reopen check.
  2. Select Combo EditMode on the toolbar. It is the mode documented for placing saved compounds.
  3. Use combos/urban/tech/alarm_clock.cmb as the small reference combo. It contains alarm_clock_1 and alarm_clock_button_1, each referencing its own .ent file.
  4. After placing the combo, compare its members with that file’s Components and Compound sections. The compound records both member IDs; it is a group containing two entities.
  5. Move the compound with its Position property, then save and reopen the mod map. Compound position, rotation and scale transform the group together.

The alarm-clock combo uses entities/urban/tech/alarm_clock/alarm_clock.ent and entities/urban/tech/alarm_clock/alarm_clock_button.ent. A larger example, combos/urban/furniture/desk_work.cmb, contains one desk and three drawer entities. The vegetation example combos/organic/vegetation_clusters/vegetation_cluster01.cmb contains both static objects and an entity. These are examples of the contents a shipped combo can store.

Compound transforms

Property What it changes
Name The name of the compound.
Position The compound’s center position.
Rotation The rotation of the group; a member that cannot rotate can restrict this.
Scale The scale of the group; a member that cannot scale can restrict this.

Saving your own combo

The shipped editor includes controls labelled Create Compound, Save as Combo and Destroy Compound. The saved examples use the .cmb extension and contain FileIndices, Components, Compound and Thumbnail sections.

The exact save dialog, destination selection, browser refresh procedure and behavior when an existing combo file changes still need direct editor verification. This page therefore does not prescribe an unverified save-and-refresh sequence.

See also