Demo Editing/Demo Problems And FAQs

From Homecoming Wiki
Revision as of 21:27, 21 August 2011 by imported>Blondeshell (historical) (+wip date)
Jump to navigation Jump to search

Overview

Intro text needed: Encountered problems (and questions) for which there may be solutions/work-arounds (as opposed to just known issues for which there are no "fixes").

Model Does Not Appear During Playback

Demo editing frequently includes working with NPC entities in the demo code, such as replacing an existing NPC or NPC model with another, or inserting new NPCs into a demo. When this is done, the problem sometimes arises that the modified or added NPC entity does not appear when the edited demo is played back. When this occurs, there are several possibilities as to why the NPC may not be visible. Some of the most common reasons are as follows:

  • The NPC model name may be invalid or misspelled.
  • The NPC model may be destructible, requiring HP/HPMAX code.
  • The entity may be a mission objective (SEQ) model.
  • The POS values specified for the entity may be "off screen" or underground.
  • The PYR values specified for the entity may have it oriented underground.
  • The position of the Player entity is too far from camera's position.

Model Name Invalid

This is probably the most obvious possibility, but one that bears mentioning. If the model name specified by the NPC command is misspelled or invalid, no model will be displayed during the demo playback. The model name should be checked to make sure that it exists and is spelled correctly.

Destructible Model

How to manage destructible models is discussed in further detail in the Demo Editing How To Info. In relation to this particular issue, an NPC model which is destructible (one which can be damaged or destroyed in-game) will typically not appear during demo playback if it is missing the associated HP and HPMAX demo command lines.

This can be checked by adding both the HP and HPMAX command lines for the NPC, and setting the values for HP to be the same as for HPMAX. This will tell the game engine to use the default or undestroyed appearance for the model, and should cause it to be visible if it is an issue of the model being destructible.

Mission Objective (SEQ) Models

Non-destructible mission objective entities (entities designated by the SEQ command) are not visible during demo playback. If the problem of a model not appearing is associated with an entity being added by the SEQ command (or by trying to use an SEQ model with the NPC command), this is because these entities do not appear during demo playback.

The only known way to circumvent this limitation is to find an NPC-based model with the same appearance as the SEQ-based model has in-game. Given an equivalent NPC-based model, the SEQ command line can be replaced by an NPC command line with this other model. This should cause an equivalent-appearing object to be visible during demo playback.

POS Value Issues

Particularly for users new to demo editing, one possibility for an entity not being visible during demo playback is that there may be a problem with the POS values attached to the entity that is not showing up. The POS command line establishes the position of an entity on the map. If the POS value specified places an entity inside or behind the map geometry or elements (relative to the camera), then it may not be visible when the demo is played back. For example, the POS command could cause an entity to be placed inside a building, behind a wall, or underground.

Additionally, the POS value specified could also place an entity behind the camera, out of visible range, or otherwise "off screen." If an entity is not visible when the demo is played back, check the POS command to make sure the values appear correct for what you intended and place the entity such that it will be visible to the camera.

Also, a very few models use the top of the model as the model "base" when determining the entity's vertical placement. For example, the base of Ms. Liberty's model is at the model's feet, so a POS of 0 0 0 means that, if the ground has an elevation of "0", Ms. Liberty will be above ground and visible. However, for example, the Vanguard shooting range target models use the top of the target as their base. This means that, with a ground level of "0" and a POS of 0 0 0, one of these models will be completely submerged underground, requiring a vertical elevation of its POS values to make it visible.

PYR Value Issues

Similar to the POS issue, though less frequently encountered, the PYR values specified for an entity can cause to not be visible during demo playback. One possibility for this is that the orientation specified by the PYR command may place the entity inside map geometry or underground, similar the situation which can be created by the entity's POS values.

Player Too Far From Camera

Player position determines render distance. If CAM POS is too far from Player POS, objects, as viewed from camera, won't appear.

Player FX Do Not Display

Previously, demos have at times experienced problems where not all FX will display properly for the Player (the specific demo entity designated by the Player demo command. Usually, FX attached to other player characters or to NPCs function normally with this issue and it is specifically and solely the Player-designated player character that experiences the problem. With this problem, some FX may play normally for the Player while others do not.

This problem can be by-passed by re-designating the entity designated as the Player for the demo recording. Although, the Player is, by default, the POV player character of the demo recording, this designation can be given to another, different entity. One way this can be done is by adding one of the invisible entity models, such as "Puddle" to a demo file and re-designate that entity as the Player. To do this begin by finding the current Player entity in the demo file. For example:

1 0 Version 2
0 0 Map maps/City_Zones/Trial_06_01/Trial_06_01.txt
0 0 Time 21.028650
0 CAM POS 1818.146851 -318.060516 9450.268555
0 CAM PYR -0.346 1.370835 0
0 1 Player
0 1 NEW "Super Dude"

Where "Super Dude" is currently designated as the Player and has an Entity ID of "1".

If this character is having difficulty with an FX appearing, edit the demo file to insert a new entity as the Player. Remember that this entity must be given a new unique Entity ID distinct from the ID number of the player character with the FX difficulty. For example:

1 0 Version 2
0 0 Map maps/City_Zones/Trial_06_01/Trial_06_01.txt
0 0 Time 21.028650
0 CAM POS 1818.146851 -318.060516 9450.268555
0 CAM PYR -0.346 1.370835 0
0 50 Player
0 50 NEW "Invisible Placeholder"
0 50 NPC Puddle
0 50 POS 1803.004883 -319.173309 9443.212891
0 50 PYR 0 3.11 0
0 50 MOV READY 0
0 1 NEW "Super Dude"

Puddle is an invisible NPC model, so by inserting Puddle as the Player this will remove that designation from the player character model with the FX difficulty. This will usually restore normal FX function to the POV player character (which should continue to function normally in spite of losing the Player designation). As Puddle is an invisible model, and you are not attaching any other visual effect or action to it apart from bearing the burden of the Player flag, it will not have any further impact on the demo.