This enumeration lists the message IDs for DI-Guy's custom pdus, not all are usuable outside of diguyscenario.
DIGUY_CUSTOM_PDU_ID_SET_CHAR_TYPE
DIGUY_CUSTOM_PDU_ID_SET_CHAR_APPEARANCE
DIGUY_CUSTOM_PDU_ID_SET_CHAR_ACTION
- Contents: String A, String B, Float C
- Meaning: Set the character action to A, the second string is either "p" or "" (the empty string). A value of "p" for the second string indicates that the action is paused. Characters are typically paused if the sending application such as DI-Guy Scenario has been playing and the user hits "pause" on the VCR control. float C is optional and represent the speed modifier that force action was called with.
DIGUY_CUSTOM_PDU_ID_SET_CHAR_VISIBLE
DIGUY_CUSTOM_PDU_ID_SET_SCENARIO_FRAME
- Contents: Long val
- Meaning: call diguyScenario::set_frame_desired(val)
DIGUY_CUSTOM_PDU_ID_SET_SCENARIO_PLAYBACK_MODE
- Contents: Long val
- Meaning: call diguyScenario::set_playback_mode(val)
DIGUY_CUSTOM_PDU_ID_LOAD_SCENARIO_CAMERA
DIGUY_CUSTOM_PDU_ID_RESET
DIGUY_CUSTOM_PDU_ID_HAIL
DIGUY_CUSTOM_PDU_ID_LOAD_SCENARIO_FILE
- Contents: string
- Meaning: call diguyScenario::load(string)
DIGUY_CUSTOM_PDU_ID_SET_CAMERA_DETAILS
Internal Use only
DIGUY_CUSTOM_PDU_ID_XC_LOAD_SCENARIO
- Contents:
- NetU16 => Target_site
- NetU16 => Target_host
- String => Filename
- String => Reference name
DIGUY_CUSTOM_PDU_ID_XC_LOAD_SCENARIO_COMPLETE
- Contents: string
- Meaning: Indicates scenario has finished loading
DIGUY_CUSTOM_PDU_ID_XC_MERGE_SCENARIO
- Contents:
- NetU16 => Target_site
- NetU16 => Target_host
- NetFlt32 => Time of Day
- NetFlt32[3] => Refx, Refy, Refz
- NetFlt32[3] => x, y, z
- NetFlt32[3] => w,r,p
- String => Filename
- String => Reference name
DIGUY_CUSTOM_PDU_ID_XC_MERGE_SCENARIO_COMPLETE
- Contents: string
- Meaning: Indicates scenario has finished loading
DIGUY_CUSTOM_PDU_ID_XC_SET_TIN_TOD
DIGUY_CUSTOM_PDU_ID_XC_TIME_NOW
- Contents:
- NetFlt32 => seconds since midnight
- NetFlt32 => seconds to smooth
- Meaning: call diguyScenario::set_sync_info()
DIGUY_CUSTOM_PDU_ID_XC_CONTROL
- Contents:
- NetU16 => Target_site
- NetU16 => Target_host
- String => Command ("RUN", "STOP", "RESET", "FF", "REWIND")
DIGUY_CUSTOM_PDU_ID_XC_TRIGGER_SCRIPT
- Contents:
- NetU16 => Target_site
- NetU16 => Target_host
- String Script name
DIGUY_CUSTOM_PDU_ID_XC_EVAL_SCRIPT
- Contents:
- NetU16 => Target_site
- NetU16 => Target_host
- String => Script text
DIGUY_CUSTOM_PDU_ID_XC_SET_FF_SPEED
- Contents:
- NetU16 => Target_site
- NetU16 => Target_host
- NetFlt32 => Speed multiple
DIGUY_CUSTOM_PDU_ID_XC_TRIGGER_SIGNAL
- Contents:
- NetU16 => Target_site
- NetU16 => Target_host
- String => Signal to trigger
DIGUY_CUSTOM_PDU_ID_XC_RESET_SCENARIO
- Contents:
- NetU16 => Target_site
- NetU16 => Target_host
DIGUY_CUSTOM_PDU_ID_XC_ENTER_SLAVE_MODE
- Contents:
- NetU16 => Target_site
- NetU16 => Target_host
DIGUY_CUSTOM_PDU_ID_XC_EXIT_SLAVE_MODE
- Contents:
- NetU16 => Target_site
- NetU16 => Target_host
DIGUY_CUSTOM_PDU_ID_VARIABLE_STATE
- Contents:
- NetU16 => Target_site
- NetU16 => Target_host
- String => variable
- String => value
DIGUY_CUSTOM_PDU_ID_SAVE_SCENARIO
- Contents:
- NetU16 => Target_site
- NetU16 => Target_host
- NetU16 => use_user_name
- String => file name
DIGUY_CUSTOM_PDU_ID_SAVE_SCENARIO_COMPLETE
DIGUY_CUSTOM_PDU_ID_AI_SEND_MESSAGE_TO_CHARACTER
- Contents:
- NetU16 => Target_site
- NetU16 => Target_host
- NetU16 => target AI network number
- String => sender
- String => message_type
- String => message
- String => message_params
- Meaning: call
message_type,
message,
message_params);
on character with diguyCharacter::get_network_entity_number() == target AI network number
DIGUY_CUSTOM_PDU_ID_AI_SEND_MESSAGE_TO_GROUP
- Contents:
- String => group_name
- String => sender
- String => message_type
- String => message
- String => message_params
- Meaning: call
message_type,
message,
message_params);
DIGUY_CUSTOM_PDU_ID_AI_BROADCAST_MESSAGE
- Contents:
- String => sender
- NetFlt32 => radius
- String => message_type
- String => message
- String => message_params
- Meaning: call
radius,
message_type,
message,
message_params);
Where character is the sender of message.
DIGUY_CUSTOM_PDU_ID_AI_BROADCAST_MESSAGE_TO_GROUP
- Contents:
- String => sender
- String => group_name
- NetFlt32 => radius
- String => message_type
- String => message
- String => message_params
- Meaning: call
radius,
message_type,
message,
message_params);
Where character is the sender of message.
DIGUY_CUSTOM_PDU_ID_BEGIN_APPEARANCE_EFFECT
- Contents:
- String => appearance effect
- bool => flag if theres extended data
- Optional extended data:
- NetFlt32 => override scale
- NetFlt32[3] => override_offset x, y, z
- NetFlt32 => override duration
- Meaning: call
override_offset_x, override_offset_y, override_offset_z,
override_duration,
or
DIGUY_CUSTOM_PDU_ID_END_APPEARANCE_EFFECT ( Gradual Stop )
- Contents:
- String => appearance_effect_name
- Meaning: call
DIGUY_CUSTOM_PDU_ID_STOP_APPEARANCE_EFFECT ( Instant Stop )
- Contents:
- String => appearance_effect_name
- Meaning: call
DIGUY_CUSTOM_PDU_ID_SET_SCENE_OBJECT_BIT
- Contents:
- bool => true false
- Meaning: call
DIGUY_CUSTOM_PDU_ID_BROADCAST_EXERCISE_DATETIME
internal use only
- Contents:
- NetU16 => Target_site
- NetU16 => Target_host
- NetU16[7] => year, month, day, hour, minute, second, msec
- Meaning: call bdiScenario::set_network_datetime(network_datetime);
DIGUY_CUSTOM_PDU_ID_REQUEST_EXERCISE_DATETIME_BROADCAST
Unused
DIGUY_CUSTOM_PDU_ID_SET_SHAPE_VARIATION_2
- Contents:
- complicated: a series of NetU16 ( link index ), NetU16 (shape index ) followed by a slightly compressed chunk of pixel data. should probably only happen once per character, DI-Guy 13 adds a force update and a version number to this PDU.
int offset = 0;
short version = 0;
pdu->pullShort(version, offset);
return;
}
bool force = 0;
pdu->pullBool(force, offset);
if(character->get_has_texture_variations() && !force ){
return;
}
character->set_shape_texture_variations_no_effect(1);
short link_index = 0;
while(pdu->pullShort(link_index, offset) == 0)
{
short shape_index = 0;
pdu->pullShort(shape_index, offset);
bdiLink * link = character->get_link_at_index(link_index);
if(link)
{
bdiShape * shape = link->get_shape(shape_index);
if(!shape )
{
break;
}
const unsigned char * data_blob = NULL;
int bytes_read;
if(pdu->pullUnsignedData(data_blob, offset, bytes_read) == 0 )
{
if(!shape->get_has_custom_variation() || force)
{
shape->set_variation_index(-2);
unsigned char * data_blob_copy = shape->get_unique_ramp_data();
int new_data = 0;
if(!data_blob_copy){
new_data = 1;
data_blob_copy = new unsigned char [ shape->get_unique_ramp_data_size()*4 ];
}
data_blob_copy[0] = 128;
data_blob_copy[1] = 128;
data_blob_copy[2] = 128;
data_blob_copy[3] = 255;
int q;
for(q = 0; q < bytes_read/3; q++)
{
data_blob_copy[(q+1)*4+3] = 255;;
}
for( ; q < shape->get_unique_ramp_data_size()-1; q++)
{
data_blob_copy[(q+1)*4] = 128;
data_blob_copy[(q+1)*4+1] = 128;
data_blob_copy[(q+1)*4+2] = 128;
data_blob_copy[(q+1)*4+3] = 255;
}
if(new_data){
shape->set_unique_ramp_data(data_blob_copy);
}
else{
shape->update_variation_texture();
}
}
}
}
}
DIGUY_CUSTOM_PDU_ID_EXECUTE_GESTURE
- Contents:
- String => gesture_name
- Long => reps
- NetFlt32 => overall_duration
- NetFlt32 => channel_A_weight
- Meaning: call diguyCharacter::execute_gesture(gesture_name,reps, overall_duration, channel_A_weight);
DIGUY_CUSTOM_PDU_ID_CHARACTER_SCALE
- Contents:
- NetFlt32[3] => scale x,y,z
- Meaning: call diguyCharacter::set_scale(x,y,z);
DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED0 DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED9
| Enumerator |
|---|
| DIGUY_CUSTOM_PDU_ID_ESCAPE_RESERVED |
|
| DIGUY_CUSTOM_PDU_ID_SET_CHAR_TYPE |
|
| DIGUY_CUSTOM_PDU_ID_SET_CHAR_APPEARANCE |
|
| DIGUY_CUSTOM_PDU_ID_SET_CHAR_ACTION |
|
| DIGUY_CUSTOM_PDU_ID_SET_CHAR_VISIBLE |
|
| DIGUY_CUSTOM_PDU_ID_SET_CHAR_PAUSED |
|
| DIGUY_CUSTOM_PDU_ID_SET_SCENARIO_FRAME |
|
| DIGUY_CUSTOM_PDU_ID_SET_SCENARIO_PLAYBACK_MODE |
|
| DIGUY_CUSTOM_PDU_ID_LOAD_SCENARIO_CAMERA |
|
| DIGUY_CUSTOM_PDU_ID_RESET |
|
| DIGUY_CUSTOM_PDU_ID_HAIL |
|
| DIGUY_CUSTOM_PDU_ID_LOAD_SCENARIO_FILE |
|
| DIGUY_CUSTOM_PDU_ID_SET_CAMERA_DETAILS |
|
| DIGUY_CUSTOM_PDU_ID_XC_LOAD_SCENARIO |
|
| DIGUY_CUSTOM_PDU_ID_XC_LOAD_SCENARIO_COMPLETE |
|
| DIGUY_CUSTOM_PDU_ID_XC_MERGE_SCENARIO |
|
| DIGUY_CUSTOM_PDU_ID_XC_MERGE_SCENARIO_COMPLETE |
|
| DIGUY_CUSTOM_PDU_ID_XC_SET_TIN_TOD |
|
| DIGUY_CUSTOM_PDU_ID_XC_TIME_NOW |
|
| DIGUY_CUSTOM_PDU_ID_XC_CONTROL |
|
| DIGUY_CUSTOM_PDU_ID_XC_TRIGGER_SCRIPT |
|
| DIGUY_CUSTOM_PDU_ID_XC_EVAL_SCRIPT |
|
| DIGUY_CUSTOM_PDU_ID_XC_SET_FF_SPEED |
|
| DIGUY_CUSTOM_PDU_ID_XC_TRIGGER_SIGNAL |
|
| DIGUY_CUSTOM_PDU_ID_XC_RESET_SCENARIO |
|
| DIGUY_CUSTOM_PDU_ID_XC_ENTER_SLAVE_MODE |
|
| DIGUY_CUSTOM_PDU_ID_XC_EXIT_SLAVE_MODE |
|
| DIGUY_CUSTOM_PDU_ID_VARIABLE_STATE |
|
| DIGUY_CUSTOM_PDU_ID_SAVE_SCENARIO |
|
| DIGUY_CUSTOM_PDU_ID_SAVE_SCENARIO_COMPLETE |
|
| DIGUY_CUSTOM_PDU_ID_AI_SEND_MESSAGE_TO_CHARACTER |
|
| DIGUY_CUSTOM_PDU_ID_AI_SEND_MESSAGE_TO_GROUP |
|
| DIGUY_CUSTOM_PDU_ID_AI_BROADCAST_MESSAGE |
|
| DIGUY_CUSTOM_PDU_ID_AI_BROADCAST_MESSAGE_TO_GROUP |
|
| DIGUY_CUSTOM_PDU_ID_BEGIN_APPEARANCE_EFFECT |
|
| DIGUY_CUSTOM_PDU_ID_END_APPEARANCE_EFFECT |
|
| DIGUY_CUSTOM_PDU_ID_STOP_APPEARANCE_EFFECT |
|
| DIGUY_CUSTOM_PDU_ID_SET_SCENE_OBJECT_BIT |
|
| DIGUY_CUSTOM_PDU_ID_BROADCAST_EXERCISE_DATETIME |
|
| DIGUY_CUSTOM_PDU_ID_REQUEST_EXERCISE_DATETIME_BROADCAST |
|
| DIGUY_CUSTOM_PDU_ID_SET_SHAPE_VARIATION |
|
| DIGUY_CUSTOM_PDU_ID_EXECUTE_GESTURE |
|
| DIGUY_CUSTOM_PDU_ID_CHARACTER_SCALE |
|
| DIGUY_CUSTOM_PDU_ID_SET_SHAPE_VARIATION_2 |
|
| DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED0 |
|
| DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED1 |
|
| DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED2 |
|
| DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED3 |
|
| DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED4 |
|
| DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED5 |
|
| DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED6 |
|
| DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED7 |
|
| DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED8 |
|
| DIGUY_CUSTOM_PDU_ID_PLUGIN_RESERVED9 |
|
| DIGUY_CUSTOM_PDU_ID_COUNT |
|