This enumeration lists the message IDs for DI-Guy's custom pdus, not all are usable outside of diguyscenario.
DIGUY_CUSTOM_PDU_ID_SET_CHAR_TYPE
DIGUY_CUSTOM_PDU_ID_SET_CHAR_APPEARANCE
- Contents: String A, String B, String C, Float D
- Meaning: Set the character appearance to A. If strings B and C are present (either both or neither), they set the head appearance (B) and hand item appearance (C). The final float (D) sets the body weight ratio (valid range 0.5 - 2.0, defaults to 1.0).
DIGUY_CUSTOM_PDU_ID_SET_CHAR_ACTION
- Contents: String A, String B, [Float C, Bool D, Float E_x, Float E_y, Float E_z]
- 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. The remaining arguments are optional. Float C represents the speed modifier that force action was called with. Bool D indicates whether the transition uses motion offsets to reposition the character. Floats E_x, E_y, and E_z are an adjustment vector that can be used to slide the character into position during the transition.
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
1 diguyCharacter::agent_accept_message(sender,
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
1 diguyCharacterGroup::send_message_to_all_members(sender,
DIGUY_CUSTOM_PDU_ID_AI_BROADCAST_MESSAGE
- Contents:
- String => sender
- NetFlt32 => radius
- String => message_type
- String => message
- String => message_params
- Meaning: call
1 diguyCharacter::agent_broadcast_message(sender,
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
1 diguyCharacter::agent_broadcast_message_to_group(group_name,
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
1 diguyCharacter::begin_appearance_effect(app_name, link_name, override_scale,
2 override_offset_x, override_offset_y, override_offset_z,
or 1 diguyCharacter::begin_appearance_effect(app_name);
DIGUY_CUSTOM_PDU_ID_END_APPEARANCE_EFFECT ( Gradual Stop )
- Contents:
- String => appearance_effect_name
- Meaning: call
1 diguyCharacter::end_appearance_effect(appearance_effect_name,link_name)
DIGUY_CUSTOM_PDU_ID_STOP_APPEARANCE_EFFECT ( Instant Stop )
- Contents:
- String => appearance_effect_name
- Meaning: call
1 diguyCharacter::stop_appearance_effect(appearance_effect_name, link_name)
DIGUY_CUSTOM_PDU_ID_SET_SCENE_OBJECT_BIT
- Contents:
- bool => true false
- Meaning: call
1 diguyCharacter::set_is_scene_object(value)
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.
3 pdu->pullShort(version, offset);
5 if(version != DIGUY_CUSTOM_PDU_ID_SET_SHAPE_VARIATION_VERSION){
9 pdu->pullBool(force, offset);
10 if(character->get_has_texture_variations() && !force ){
13 character->set_shape_texture_variations_no_effect(1);
16 while(pdu->pullShort(link_index, offset) == 0)
18 short shape_index = 0;
19 pdu->pullShort(shape_index, offset);
21 bdiLink * link = character->get_link_at_index(link_index);
24 bdiShape * shape = link->get_shape(shape_index);
27 // we're done here character's don't match
30 const unsigned char * data_blob = NULL;
32 if(pdu->pullUnsignedData(data_blob, offset, bytes_read) == 0 )
34 // note pull the data first ignore if variation is already set.
35 if(!shape->get_has_custom_variation() || force)
37 // special value to register that rampdata is loaded off network
38 shape->set_variation_index(-2);
40 unsigned char * data_blob_copy = shape->get_unique_ramp_data();
44 data_blob_copy = new unsigned char [ shape->get_unique_ramp_data_size()*4 ];
46 // fill out the 0th index with nothing (that
47 data_blob_copy[0] = 128;
48 data_blob_copy[1] = 128;
49 data_blob_copy[2] = 128;
50 data_blob_copy[3] = 255;
53 for(q = 0; q < bytes_read/3; q++)
55 data_blob_copy[(q+1)*4+3] = 255;;
57 // fill the rest of the buffer with padding
58 for( ; q < shape->get_unique_ramp_data_size()-1; q++)
60 data_blob_copy[(q+1)*4] = 128;
61 data_blob_copy[(q+1)*4+1] = 128;
62 data_blob_copy[(q+1)*4+2] = 128;
63 data_blob_copy[(q+1)*4+3] = 255;
66 shape->set_unique_ramp_data(data_blob_copy);
69 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
- NetFlt32 => body_weight (optional added in 13.2)
- Meaning: call diguyCharacter::set_scale(x,y,z); if body_weight was found in pdu call diguyCharacter::set_weight_scale(body_weight);
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_END_GESTURE |
|
| 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 |
|