Supreme Ruler Wiki
Register
Tag: Visual edit
Tag: Visual edit
(8 intermediate revisions by one other user not shown)
Line 72: Line 72:
 
* 7: Faction Emblem Object (draw using faction emblem texture) (GR/NG)
 
* 7: Faction Emblem Object (draw using faction emblem texture) (GR/NG)
 
* 8: Shields / Energy Shield Bubble (Unimplemented)
 
* 8: Shields / Energy Shield Bubble (Unimplemented)
  +
* 9: See-Through Object (Rotor/Propeller/Window) (Depth Read only) (GR/NG)
* 9: Reserved
 
 
* 10: Light, fade in/out (Unimplemented)
 
* 10: Light, fade in/out (Unimplemented)
 
* 11: Light, Blink (Unimplemented)
 
* 11: Light, Blink (Unimplemented)
Line 79: Line 79:
 
* 14: Point – Shot Point (Unimplemented)
 
* 14: Point – Shot Point (Unimplemented)
 
* 15: Point – Smokestack Point (Unimplemented)
 
* 15: Point – Smokestack Point (Unimplemented)
*16: Cargo object (Unimplemented)
+
*16: Cargo object (GR/NG - shown if there are units in cargo hold)
 
*20: Turret Rotation Point (Unimplemented)
 
*20: Turret Rotation Point (Unimplemented)
 
*25: Cloud Layer (Planet Object)
 
*25: Cloud Layer (Planet Object)
*26: Day/Night Layer (Planet Object)
+
*26: Day/Night Layer (Planet Object) (May not be required)
 
*27: Rings (Planet Object)
 
*27: Rings (Planet Object)
 
*28: Reserved
 
*28: Reserved
Line 138: Line 138:
 
|
 
|
 
|Override Scale value for Mesh Draw (Default 1.0)
 
|Override Scale value for Mesh Draw (Default 1.0)
  +
|-
  +
|MeshEffect
  +
|
  +
|Effect/Shader to use (GR/NG)
  +
  +
* 0: Default based on type of unit and other triggers
  +
* 1: Unit Effect (Land/Air/Sea/Space unit)
  +
* 2: Terrain
  +
* 3: Planet
  +
* 4: Star
  +
*5+ TBD
 
|-
 
|-
 
|Notes
 
|Notes
Line 171: Line 182:
 
* In INI/CSV/Data files, True/False can be y/n, 1/0, -1/0
 
* In INI/CSV/Data files, True/False can be y/n, 1/0, -1/0
 
*Regional Textures will be attempted and used if they exist. (Some of these elements are only supported in GR/NG)
 
*Regional Textures will be attempted and used if they exist. (Some of these elements are only supported in GR/NG)
**If the RegionalTexture field is used the file will be in the form of: GRAPHICS\MESHES\xc.DDS where x is the RegionalTexture field and c is the region ID character (A-Z)
+
**If the RegionalTexture field is used the file will be in the form of: GRAPHICS\MESHES\xc.DDS where x is the RegionalTexture field and c is the region code character (A-Z)
 
**If no RegionalTexture name, then file name in the form: GRAPHICS\MESHES\UNITxxxc.DDS where xxx is the Meshnum ('''''not''''' picnum) and 'c' is the region ID character (A-Z)
 
**If no RegionalTexture name, then file name in the form: GRAPHICS\MESHES\UNITxxxc.DDS where xxx is the Meshnum ('''''not''''' picnum) and 'c' is the region ID character (A-Z)
 
***''(Prior to version 9.1.200, this used the Picnum accidentally, which is usually the same, but not always)''
 
***''(Prior to version 9.1.200, this used the Picnum accidentally, which is usually the same, but not always)''

Revision as of 15:09, 14 May 2021

3D Model Picture Numbers

In the equipment file units are assigned a picture number. This file defines for the engine what parts of which 3D model should be used as well as the texture (default or override) to use.

The file is located in the \GRAPHICS\MESHES folder

Ordinarily the game will load DEFAULT.PICNUMS although it is possible to specify a different file in the \INI\AllLoad.ini initialization file.

This file is not saved in save-game files, it is loaded from AllLoad.ini on each game start. It is not sync-sensitive.

The numbering of PICNUMS is per this standard as of SRU version 9.0.75 (January 2017):

1 to 999 - current range
1000 to 1023 - reserved for engine use
1024 to 1279 - reserved for engine use (Terrain)
1280 to 1535 - reserved for engine use
1536 to 3071 - new range for unit meshes  
3072 to 4095 - reserved for modder use (will not be used by BG)

.PICNUMS File Definition

Column Definitions
Column Description
Picnum Picnum Reference from Equipment List
Submeshnumber (Mesh 0-X) SR2020/SRU: 0-14 for Submesh for object, or 15 for ‘Use all Submeshes’

GR/SRNG: 0-254 for Submesh for object, or 255 for ‘Use all Submeshes'

Valid (Mesh 0-X) T/F if this Mesh Entry is valid / used
Secondary (Mesh 0-X) 0/1 for Which Mesh[#] is Referenced for entry (usually 0:Base 1:Turret)
Turretview (Mesh 0-X) T/F if this object is part of the Turret transformation (rotation)
TeamAlpha (Mesh 0-X) Always apply Faction colour to units, even original region (GR/NG)
MeshType (Mesh 0-X) Mesh Type: Mesh Usage type 0-255
  • 0: Ground Plane / Overhead quad
    • Always drawn when Pitchonly False
  • 1: Overhead quad (No-pitch use, also shadow use)
    • Overhead use: Pitchonly False, bhasshadow False
      • (Only shown if NO pitch; full colour)
    • Shadow use: Pitchonly True, bhasshadow True
      • (Colour modulated to ½ alpha black)
    • Both: Pitchonly False, bhasshadow True
      • (Shadow if pitch, Overhead if no pitch)
  • 2: Standard Object (Hull/base or Turret if ‘TurretView’ true)
  • 3: Non-Rotation Object (keeps facing in same direction)
  • 4: NOT USED (Subsystem upgrades are now 34-48)
  • 5: Animated (Rotating) object, full rotation loop (currently Unimplemented)
  • 6: Animated (Rotating) object, ping-pong using limited arc (Unimplemented)
  • 7: Faction Emblem Object (draw using faction emblem texture) (GR/NG)
  • 8: Shields / Energy Shield Bubble (Unimplemented)
  • 9: See-Through Object (Rotor/Propeller/Window) (Depth Read only) (GR/NG)
  • 10: Light, fade in/out (Unimplemented)
  • 11: Light, Blink (Unimplemented)
  • 12: Ammo object – Regular Ammo (Unimplemented)
  • 13: Ammo object – Missile Ammo (Unimplemented)
  • 14: Point – Shot Point (Unimplemented)
  • 15: Point – Smokestack Point (Unimplemented)
  • 16: Cargo object (GR/NG - shown if there are units in cargo hold)
  • 20: Turret Rotation Point (Unimplemented)
  • 25: Cloud Layer (Planet Object)
  • 26: Day/Night Layer (Planet Object) (May not be required)
  • 27: Rings (Planet Object)
  • 28: Reserved
  • 29: Star Surface (Star Object)
  • 30: Nebula Object (future)
  • 34 - 48: Subsystem Upgrade Object GR/NG (also affected by OptionOb)
    • 34-36 : Armour Upgrades 1/2/3
    • 37-39 : Command Upgrades 1/2/3
    • 40-42 : Cargo Upgrades 1/2/3
    • 43-45 : Engine Upgrades 1/2/3
    • 46-48 : Weapon Upgrades 1/2/3
Unused (Mesh 0-X)
OptionOb (Mesh 0-X) T/F For Subsystem Upgrades, if set then replace (instead of cumulative)
Fastanim (Mesh 0-X) Animation/lights act ‘fast’ (Not Implemented)
PitchOnly (Mesh 0-X) Only display when map view angle is pitched (not 'top down' direct view)
MeshNumBase Unit .x Mesh File Number for first set (usually Base) of this object (Mesh[0])
MeshNumTurret Unit .x Mesh File Number for secondary set (usually Turret) of this object (Mesh[1])
TextureOverride (0-3) Texture Name overrides for each Mesh – Default is to use Mesh Default Texture

[0] – Texture Override for Mesh[0] Overhead Textures (Type 0/1)

[1] – Texture Override for Mesh[0] Other Textures

[2] – Texture Override for Mesh[1] Overhead Textures (Type 0/1)

[3] – Texture Override for Mesh[1] Other Textures

RegionalTexture The name of the texture file (without extension) to be used for regional texturing.

This is an optional field and may be left blank to use the default regional texturing method.

Scale Override Scale value for Mesh Draw (Default 1.0)
MeshEffect Effect/Shader to use (GR/NG)
  • 0: Default based on type of unit and other triggers
  • 1: Unit Effect (Land/Air/Sea/Space unit)
  • 2: Terrain
  • 3: Planet
  • 4: Star
  • 5+ TBD
Notes Designer notes or information

How it works:

  • Up to two Meshes files (.X) can be used for each Picnum.
    • These can be used to combine two meshes into the one object, such as base and turret.
  • There can be up to X partial (sub) meshes used in the object (0-X)
    • Each sub mesh can either be a single submesh of the .X file, or submesh # 255 is "use all meshes" (in SRU/1936/2020 # 15 is used for "all")
    • Each sub mesh can be from either the Mesh .X file [0] (usually base) or [1] (usually turret)
    • A standard object uses meshtype 2; other types are for additional uses such as Ground Plane
    • SR2020/1936/SRU supports 4 partial (sub) meshes (0-3)
    • Galactic Ruler and SRNG will support 20 partial (sub) meshes (0-19)
    • Meshtype 34 to 48 are 'Subsystem Upgrade Object' Meshtype; will integrate with Subsystem Upgrade tech effects to determine which are drawn

Notes:

  • The number of UGBITS pages supported is increased to 16 from 4 in version 9.0.75 to match.
  • Range from 1536 to 1999 may be assigned by BattleGoat to specific modders that provide their content back to the main game.
  • Prior to version 9.0.75, and in prior games (SR1936, SRCW, and SR2020), the maximum PICNUMS value was 999.
  • In INI/CSV/Data files, True/False can be y/n, 1/0, -1/0
  • Regional Textures will be attempted and used if they exist. (Some of these elements are only supported in GR/NG)
    • If the RegionalTexture field is used the file will be in the form of: GRAPHICS\MESHES\xc.DDS where x is the RegionalTexture field and c is the region code character (A-Z)
    • If no RegionalTexture name, then file name in the form: GRAPHICS\MESHES\UNITxxxc.DDS where xxx is the Meshnum (not picnum) and 'c' is the region ID character (A-Z)
      • (Prior to version 9.1.200, this used the Picnum accidentally, which is usually the same, but not always)
    • If not found, then the appropriate TextureOverride is tried: GRAPHICS\MESHES\TEXTUREOVERRIDEc.DDS
    • If still not found, then the appropriate TextureOverride is used with no region code
    • If none of the above is found or exists, then the default texture in the object Mesh file is used. (Regional ID characters are not appended to the default texture)