06-10-2014, 07:22 PM
So with the latest Warband patch, a bunch of operations have been added that look quite promising to me, and they made me wonder; can they improve the NI coding in a significant way?
Stuff like "prop_instance_deform_to_time", or "agent_get_bone_position" sound like they could add quite some depth to all kinds of mods, NI included.
For those of you unaware, this is the full list:
Stuff like "prop_instance_deform_to_time", or "agent_get_bone_position" sound like they could add quite some depth to all kinds of mods, NI included.
For those of you unaware, this is the full list:
try_for_prop_instances = 16 # (try_for_prop_instances, <destination>, [<scene_prop_id>]), # if scene_prop_id is not given, it loops through all prop instances.
game_key_get_mapped_key_name = 65 # (game_key_get_mapped_key_name, <string_register>, <game_key>),
options_get_battle_size = 270 # (options_get_battle_size, <destination>), # returns battle size slider value in 0-1000 range.
options_set_battle_size = 271 # (options_set_battle_size, <value>), # sets battle size slider value in 0-1000 range.
position_rotate_z_floating = 734 # (position_rotate_z_floating,<position_no>,<angle>), #angle in degree * fixed point multiplier
mouse_get_world_projection = 751 # (mouse_get_world_projection, <position_no_1>, <position_no_2>), returns camera position (position_no_1) and mouse projection to back of world (position_no_2)
overlay_set_material = 956 # (overlay_set_material, <overlay_id>, <string_no>),
auto_save = 985 # (auto_save),
party_set_ignore_with_player_party = 1648 # (party_set_ignore_with_player_party, <party_id>, <value>),
party_get_ignore_with_player_party = 1649 # (party_get_ignore_with_player_party, <party_id>),
close_order_menu = 1789 # (close_order_menu),
cast_ray = 1900 # (cast_ray, <destination>, <hit_position_register>, <ray_position_register>, [<ray_length_fixed_point>]), #Casts a ray of length [<ray_length_fixed_point>] starting from <ray_position_register> and stores the closest hit position into <hit_position_register> (fails if no hits). If the body hit is a prop instance, its id will be stored into <destination>
cur_item_add_mesh = 1964 # (cur_item_add_mesh, <mesh_name_string_no>, [<lod_begin>], [<lod_end>]), #only call inside ti_on_init_item in module_items # lod values are optional. lod_end is not included.
cur_item_set_material = 1978 # (cur_item_set_material, <string_no>, <sub_mesh_no>, [<lod_begin>], [<lod_end>]), #only call inside ti_on_init_item in module_items # lod values are optional. lod_end is not included.
agent_get_bone_position = 2076 # (agent_get_bone_position, <position_no>, <agent_no>, <bone_no>, [<local_or_global>]), # returns position of bone. Option 0 for local to agent position, 1 for global
prop_instance_deform_to_time = 2610 # (prop_instance_deform_to_time, <prop_instance_no>, <value>), # value gives the vertex animation time.
prop_instance_deform_in_range = 2611 # (prop_instance_deform_in_range, <prop_instance_no>, <start_frame>, <end_frame>, <duration-in-1/1000-seconds>), #play animation from start frame to end frame
prop_instance_deform_in_cycle_loop = 2612 # (prop_instance_deform_in_cycle_loop, <prop_instance_no>, <start_frame>, <end_frame>, <duration-in-1/1000-seconds> #cyclical animation within start-end frame
prop_instance_get_current_deform_progress = 2615 # (prop_instance_get_current_deform_progress, <destination>, <prop_instance_no>), #returns a percentage value between 0 and 100 if animation is still in progress. returns 100 otherwise.
prop_instance_get_current_deform_frame = 2616 # (prop_instance_get_current_deform_frame, <destination>, <prop_instance_no>), #returns current frame with round to nearest
prop_instance_set_material = 2617 # (prop_instance_set_material, <prop_instance_no>, <sub_mesh_no>, <string_register>), #give sub mesh as -1 to change all meshes' materials.
item_get_weight = 2700 # (item_get_weight, <destination_fixed_point>, <item_kind_no>), #Stores <item_kind_no>'s weight into <destination_fixed_point>
item_get_value = 2701 # (item_get_value, <destination>, <item_kind_no>), #Stores <item_kind_no>'s value into <destination>
item_get_difficulty = 2702 # (item_get_difficulty, <destination>, <item_kind_no>), #Stores <item_kind_no>'s difficulty into <destination>
item_get_head_armor = 2703 # (item_get_head_armor, <destination>, <item_kind_no>), #Stores <item_kind_no>'s head armor into <destination>
item_get_body_armor = 2704 # (item_get_body_armor, <destination>, <item_kind_no>), #Stores <item_kind_no>'s body armor into <destination>
item_get_leg_armor = 2705 # (item_get_leg_armor, <destination>, <item_kind_no>), #Stores <item_kind_no>'s leg armor into <destination>
item_get_hit_points = 2706 # (item_get_hit_points, <destination>, <item_kind_no>), #Stores <item_kind_no>'s hit points into <destination>
item_get_weapon_length = 2707 # (item_get_weapon_length, <destination>, <item_kind_no>), #Stores <item_kind_no>'s weapon length into <destination>
item_get_speed_rating = 2708 # (item_get_speed_rating, <destination>, <item_kind_no>), #Stores <item_kind_no>'s speed rating into <destination>
item_get_missile_speed = 2709 # (item_get_missile_speed, <destination>, <item_kind_no>), #Stores <item_kind_no>'s missile speed into <destination>
item_get_max_ammo = 2710 # (item_get_max_ammo, <destination>, <item_kind_no>), #Stores <item_kind_no>'s max ammo into <destination>
item_get_accuracy = 2711 # (item_get_accuracy, <destination>, <item_kind_no>), #Stores <item_kind_no>'s accuracy into <destination>
item_get_shield_height = 2712 # (item_get_shield_height, <destination_fixed_point>, <item_kind_no>), #Stores <item_kind_no>'s shield height into <destination>
item_get_horse_scale = 2713 # (item_get_horse_scale, <destination_fixed_point>, <item_kind_no>), #Stores <item_kind_no>'s horse scale into <destination>
item_get_horse_speed = 2714 # (item_get_horse_speed, <destination>, <item_kind_no>), #Stores <item_kind_no>'s horse speed into <destination>
item_get_horse_maneuver = 2715 # (item_get_horse_maneuver, <destination>, <item_kind_no>), #Stores <item_kind_no>'s horse maneuver into <destination>
item_get_food_quality = 2716 # (item_get_food_quality, <destination>, <item_kind_no>), #Stores <item_kind_no>'s food quality into <destination>
item_get_abundance = 2717 # (item_get_abundance, <destination>, <item_kind_no>), #Stores <item_kind_no>'s abundance into <destination>
item_get_thrust_damage = 2718 # (item_get_thrust_damage, <destination>, <item_kind_no>), #Stores <item_kind_no>'s thrust damage into <destination>
item_get_thrust_damage_type = 2719 # (item_get_thrust_damage_type, <destination>, <item_kind_no>), #Stores <item_kind_no>'s thrust damage type into <destination>
item_get_swing_damage = 2720 # (item_get_swing_damage, <destination>, <item_kind_no>), #Stores <item_kind_no>'s thrust damage into <destination>
item_get_swing_damage_type = 2721 # (item_get_swing_damage_type, <destination>, <item_kind_no>), #Stores <item_kind_no>'s thrust damage type into <destination>
item_get_horse_charge_damage = 2722 # (item_get_horse_charge_damage, <destination>, <item_kind_no>), #Stores <item_kind_no>'s thrust damage into <destination>
item_has_property = 2723 # (item_has_property, <item_kind_no>, <property>), #Fails if <item_kind_no> doesn't have <property>
item_has_capability = 2724 # (item_has_capability, <item_kind_no>, <capability>), #Fails if <item_kind_no> doesn't have <capability>
item_has_modifier = 2725 # (item_has_modifier, <item_kind_no>, <item_modifier_no>), #Fails if <item_modifier_no> is not a valid modifier for <item_kind_no> # use imod_xxx instead of imodbit_xxx
item_has_faction = 2726 # (item_has_faction, <item_kind_no>, <faction_no>), #Fails if <item_kind_no> doesn't have <faction_no> in its faction list
str_store_player_face_keys = 2747 # (str_store_player_face_keys, <string_no>, <player_id>), #Stores <player_id>'s face key into string.
player_set_face_keys = 2748 # (player_set_face_keys, <player_id>, <string_no>), #Sets <player_id>'s face keys from string.
str_store_troop_face_keys = 2750 # (str_store_troop_face_keys, <string_no>, <troop_no>, [<alt>]), #Stores <troop_no>'s face key into string. if [<alt>] is non-zero the second pair of face keys is stored
troop_set_face_keys = 2751 # (troop_set_face_keys, <troop_no>, <string_no>, [<alt>]), #Sets <troop_no>'s face keys from string. if [<alt>] is non-zero the second pair of face keys is set.
face_keys_get_hair = 2752 # (face_keys_get_hair, <destination>, <string_no>), #Stores face key's hair value into <destination>
face_keys_set_hair = 2753 # (face_keys_set_hair, <string_no>, <value>), #Sets face key's hair value
face_keys_get_beard = 2754 # (face_keys_get_beard, <destination>, <string_no>), #Stores face key's beard value into <destination>
face_keys_set_beard = 2755 # (face_keys_set_beard, <string_no>, <value>), #Sets face key's beard value
face_keys_get_face_texture = 2756 # (face_keys_get_face_texture, <destination>, <string_no>), #Stores face key's face texture value into <destination>
face_keys_set_face_texture = 2757 # (face_keys_set_face_texture, <string_no>, <value>), #Sets face key's face texture value
face_keys_get_hair_texture = 2758 # (face_keys_get_hair_texture, <destination>, <string_no>), #Stores face key's hair texture value into <destination>
face_keys_set_hair_texture = 2759 # (face_keys_set_hair_texture, <string_no>, <value>), #Sets face key's hair texture value
face_keys_get_hair_color = 2760 # (face_keys_get_hair_color, <destination>, <string_no>), #Stores face key's hair color value into <destination>
face_keys_set_hair_color = 2761 # (face_keys_set_hair_color, <string_no>, <value>), #Sets face key's hair color value
face_keys_get_age = 2762 # (face_keys_get_age, <destination>, <string_no>), #Stores face key's age value into <destination>
face_keys_set_age = 2763 # (face_keys_set_age, <string_no>, <value>), #Sets face key's age value
face_keys_get_skin_color = 2764 # (face_keys_get_skin_color, <destination>, <string_no>), #Stores face key's skin color value into <destination>
face_keys_set_skin_color = 2765 # (face_keys_set_skin_color, <string_no>, <value>), #Sets face key's skin color value
face_keys_get_morph_key = 2766 # (face_keys_get_morph_key, <destination>, <string_no>, <key_no>), #Stores face key's morph key value (0-7) into <destination>
face_keys_set_morph_key = 2767 # (face_keys_set_morph_key, <string_no>, <key_no>, <value>), #Sets face key's morph key value (0-7)
game_key_get_mapped_key_name = 65 # (game_key_get_mapped_key_name, <string_register>, <game_key>),
options_get_battle_size = 270 # (options_get_battle_size, <destination>), # returns battle size slider value in 0-1000 range.
options_set_battle_size = 271 # (options_set_battle_size, <value>), # sets battle size slider value in 0-1000 range.
position_rotate_z_floating = 734 # (position_rotate_z_floating,<position_no>,<angle>), #angle in degree * fixed point multiplier
mouse_get_world_projection = 751 # (mouse_get_world_projection, <position_no_1>, <position_no_2>), returns camera position (position_no_1) and mouse projection to back of world (position_no_2)
overlay_set_material = 956 # (overlay_set_material, <overlay_id>, <string_no>),
auto_save = 985 # (auto_save),
party_set_ignore_with_player_party = 1648 # (party_set_ignore_with_player_party, <party_id>, <value>),
party_get_ignore_with_player_party = 1649 # (party_get_ignore_with_player_party, <party_id>),
close_order_menu = 1789 # (close_order_menu),
cast_ray = 1900 # (cast_ray, <destination>, <hit_position_register>, <ray_position_register>, [<ray_length_fixed_point>]), #Casts a ray of length [<ray_length_fixed_point>] starting from <ray_position_register> and stores the closest hit position into <hit_position_register> (fails if no hits). If the body hit is a prop instance, its id will be stored into <destination>
cur_item_add_mesh = 1964 # (cur_item_add_mesh, <mesh_name_string_no>, [<lod_begin>], [<lod_end>]), #only call inside ti_on_init_item in module_items # lod values are optional. lod_end is not included.
cur_item_set_material = 1978 # (cur_item_set_material, <string_no>, <sub_mesh_no>, [<lod_begin>], [<lod_end>]), #only call inside ti_on_init_item in module_items # lod values are optional. lod_end is not included.
agent_get_bone_position = 2076 # (agent_get_bone_position, <position_no>, <agent_no>, <bone_no>, [<local_or_global>]), # returns position of bone. Option 0 for local to agent position, 1 for global
prop_instance_deform_to_time = 2610 # (prop_instance_deform_to_time, <prop_instance_no>, <value>), # value gives the vertex animation time.
prop_instance_deform_in_range = 2611 # (prop_instance_deform_in_range, <prop_instance_no>, <start_frame>, <end_frame>, <duration-in-1/1000-seconds>), #play animation from start frame to end frame
prop_instance_deform_in_cycle_loop = 2612 # (prop_instance_deform_in_cycle_loop, <prop_instance_no>, <start_frame>, <end_frame>, <duration-in-1/1000-seconds> #cyclical animation within start-end frame
prop_instance_get_current_deform_progress = 2615 # (prop_instance_get_current_deform_progress, <destination>, <prop_instance_no>), #returns a percentage value between 0 and 100 if animation is still in progress. returns 100 otherwise.
prop_instance_get_current_deform_frame = 2616 # (prop_instance_get_current_deform_frame, <destination>, <prop_instance_no>), #returns current frame with round to nearest
prop_instance_set_material = 2617 # (prop_instance_set_material, <prop_instance_no>, <sub_mesh_no>, <string_register>), #give sub mesh as -1 to change all meshes' materials.
item_get_weight = 2700 # (item_get_weight, <destination_fixed_point>, <item_kind_no>), #Stores <item_kind_no>'s weight into <destination_fixed_point>
item_get_value = 2701 # (item_get_value, <destination>, <item_kind_no>), #Stores <item_kind_no>'s value into <destination>
item_get_difficulty = 2702 # (item_get_difficulty, <destination>, <item_kind_no>), #Stores <item_kind_no>'s difficulty into <destination>
item_get_head_armor = 2703 # (item_get_head_armor, <destination>, <item_kind_no>), #Stores <item_kind_no>'s head armor into <destination>
item_get_body_armor = 2704 # (item_get_body_armor, <destination>, <item_kind_no>), #Stores <item_kind_no>'s body armor into <destination>
item_get_leg_armor = 2705 # (item_get_leg_armor, <destination>, <item_kind_no>), #Stores <item_kind_no>'s leg armor into <destination>
item_get_hit_points = 2706 # (item_get_hit_points, <destination>, <item_kind_no>), #Stores <item_kind_no>'s hit points into <destination>
item_get_weapon_length = 2707 # (item_get_weapon_length, <destination>, <item_kind_no>), #Stores <item_kind_no>'s weapon length into <destination>
item_get_speed_rating = 2708 # (item_get_speed_rating, <destination>, <item_kind_no>), #Stores <item_kind_no>'s speed rating into <destination>
item_get_missile_speed = 2709 # (item_get_missile_speed, <destination>, <item_kind_no>), #Stores <item_kind_no>'s missile speed into <destination>
item_get_max_ammo = 2710 # (item_get_max_ammo, <destination>, <item_kind_no>), #Stores <item_kind_no>'s max ammo into <destination>
item_get_accuracy = 2711 # (item_get_accuracy, <destination>, <item_kind_no>), #Stores <item_kind_no>'s accuracy into <destination>
item_get_shield_height = 2712 # (item_get_shield_height, <destination_fixed_point>, <item_kind_no>), #Stores <item_kind_no>'s shield height into <destination>
item_get_horse_scale = 2713 # (item_get_horse_scale, <destination_fixed_point>, <item_kind_no>), #Stores <item_kind_no>'s horse scale into <destination>
item_get_horse_speed = 2714 # (item_get_horse_speed, <destination>, <item_kind_no>), #Stores <item_kind_no>'s horse speed into <destination>
item_get_horse_maneuver = 2715 # (item_get_horse_maneuver, <destination>, <item_kind_no>), #Stores <item_kind_no>'s horse maneuver into <destination>
item_get_food_quality = 2716 # (item_get_food_quality, <destination>, <item_kind_no>), #Stores <item_kind_no>'s food quality into <destination>
item_get_abundance = 2717 # (item_get_abundance, <destination>, <item_kind_no>), #Stores <item_kind_no>'s abundance into <destination>
item_get_thrust_damage = 2718 # (item_get_thrust_damage, <destination>, <item_kind_no>), #Stores <item_kind_no>'s thrust damage into <destination>
item_get_thrust_damage_type = 2719 # (item_get_thrust_damage_type, <destination>, <item_kind_no>), #Stores <item_kind_no>'s thrust damage type into <destination>
item_get_swing_damage = 2720 # (item_get_swing_damage, <destination>, <item_kind_no>), #Stores <item_kind_no>'s thrust damage into <destination>
item_get_swing_damage_type = 2721 # (item_get_swing_damage_type, <destination>, <item_kind_no>), #Stores <item_kind_no>'s thrust damage type into <destination>
item_get_horse_charge_damage = 2722 # (item_get_horse_charge_damage, <destination>, <item_kind_no>), #Stores <item_kind_no>'s thrust damage into <destination>
item_has_property = 2723 # (item_has_property, <item_kind_no>, <property>), #Fails if <item_kind_no> doesn't have <property>
item_has_capability = 2724 # (item_has_capability, <item_kind_no>, <capability>), #Fails if <item_kind_no> doesn't have <capability>
item_has_modifier = 2725 # (item_has_modifier, <item_kind_no>, <item_modifier_no>), #Fails if <item_modifier_no> is not a valid modifier for <item_kind_no> # use imod_xxx instead of imodbit_xxx
item_has_faction = 2726 # (item_has_faction, <item_kind_no>, <faction_no>), #Fails if <item_kind_no> doesn't have <faction_no> in its faction list
str_store_player_face_keys = 2747 # (str_store_player_face_keys, <string_no>, <player_id>), #Stores <player_id>'s face key into string.
player_set_face_keys = 2748 # (player_set_face_keys, <player_id>, <string_no>), #Sets <player_id>'s face keys from string.
str_store_troop_face_keys = 2750 # (str_store_troop_face_keys, <string_no>, <troop_no>, [<alt>]), #Stores <troop_no>'s face key into string. if [<alt>] is non-zero the second pair of face keys is stored
troop_set_face_keys = 2751 # (troop_set_face_keys, <troop_no>, <string_no>, [<alt>]), #Sets <troop_no>'s face keys from string. if [<alt>] is non-zero the second pair of face keys is set.
face_keys_get_hair = 2752 # (face_keys_get_hair, <destination>, <string_no>), #Stores face key's hair value into <destination>
face_keys_set_hair = 2753 # (face_keys_set_hair, <string_no>, <value>), #Sets face key's hair value
face_keys_get_beard = 2754 # (face_keys_get_beard, <destination>, <string_no>), #Stores face key's beard value into <destination>
face_keys_set_beard = 2755 # (face_keys_set_beard, <string_no>, <value>), #Sets face key's beard value
face_keys_get_face_texture = 2756 # (face_keys_get_face_texture, <destination>, <string_no>), #Stores face key's face texture value into <destination>
face_keys_set_face_texture = 2757 # (face_keys_set_face_texture, <string_no>, <value>), #Sets face key's face texture value
face_keys_get_hair_texture = 2758 # (face_keys_get_hair_texture, <destination>, <string_no>), #Stores face key's hair texture value into <destination>
face_keys_set_hair_texture = 2759 # (face_keys_set_hair_texture, <string_no>, <value>), #Sets face key's hair texture value
face_keys_get_hair_color = 2760 # (face_keys_get_hair_color, <destination>, <string_no>), #Stores face key's hair color value into <destination>
face_keys_set_hair_color = 2761 # (face_keys_set_hair_color, <string_no>, <value>), #Sets face key's hair color value
face_keys_get_age = 2762 # (face_keys_get_age, <destination>, <string_no>), #Stores face key's age value into <destination>
face_keys_set_age = 2763 # (face_keys_set_age, <string_no>, <value>), #Sets face key's age value
face_keys_get_skin_color = 2764 # (face_keys_get_skin_color, <destination>, <string_no>), #Stores face key's skin color value into <destination>
face_keys_set_skin_color = 2765 # (face_keys_set_skin_color, <string_no>, <value>), #Sets face key's skin color value
face_keys_get_morph_key = 2766 # (face_keys_get_morph_key, <destination>, <string_no>, <key_no>), #Stores face key's morph key value (0-7) into <destination>
face_keys_set_morph_key = 2767 # (face_keys_set_morph_key, <string_no>, <key_no>, <value>), #Sets face key's morph key value (0-7)
I was never here, you saw nothing...
Motivational tip: When you wake up in the morning, look in the mirror and say confidently, "That's a nice head you have on your shoulders."
Motivational tip: When you wake up in the morning, look in the mirror and say confidently, "That's a nice head you have on your shoulders."