Last active
January 4, 2023 14:25
-
-
Save ammaraskar/bc9b613e26f1a262ce0ea5dcf1e58478 to your computer and use it in GitHub Desktop.
sims2 effects resource
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| meta: | |
| id: effects | |
| file-extension: effects | |
| endian: le | |
| seq: | |
| - id: first_short | |
| type: u2 | |
| - id: num_particles | |
| type: u4 | |
| - id: particles | |
| type: particle | |
| repeat: expr | |
| repeat-expr: num_particles | |
| - id: num_meta_particles | |
| type: u4 | |
| - id: meta_particles | |
| type: meta_particle | |
| repeat: expr | |
| repeat-expr: num_meta_particles | |
| - id: num_decals | |
| type: u4 | |
| - id: decals | |
| type: decal | |
| repeat: expr | |
| repeat-expr: num_decals | |
| - id: num_brushes | |
| type: u4 | |
| - id: num_scrubbers | |
| type: u4 | |
| - id: num_sequences | |
| type: u4 | |
| - id: sequences | |
| type: sequence | |
| repeat: expr | |
| repeat-expr: num_sequences | |
| - id: num_sounds | |
| type: u4 | |
| - id: sounds | |
| type: sound | |
| repeat: expr | |
| repeat-expr: num_sounds | |
| - id: num_cameras | |
| type: u4 | |
| - id: cameras | |
| type: camera | |
| repeat: expr | |
| repeat-expr: num_cameras | |
| - id: num_games | |
| type: u4 | |
| - id: num_models | |
| type: u4 | |
| - id: models | |
| type: model | |
| repeat: expr | |
| repeat-expr: num_models | |
| - id: num_screens | |
| type: u4 | |
| - id: screens | |
| type: screen | |
| repeat: expr | |
| repeat-expr: num_screens | |
| - id: num_waters | |
| type: u4 | |
| - id: waters | |
| type: water | |
| repeat: expr | |
| repeat-expr: num_waters | |
| - id: num_lights | |
| type: u4 | |
| - id: visual_effect_version | |
| type: u2 | |
| - id: num_visual_efects | |
| type: u4 | |
| - id: visual_effects | |
| type: visual_effect | |
| repeat: expr | |
| repeat-expr: num_visual_efects | |
| - id: effect_ids | |
| type: effect_id | |
| repeat: until | |
| repeat-until: _.effect_name.string == "end" | |
| types: | |
| effect_id: | |
| seq: | |
| - id: effect_name | |
| type: length_prefixed_string | |
| - id: effect_id | |
| type: u4 | |
| vec2_float: | |
| seq: | |
| - id: x | |
| type: f4 | |
| - id: y | |
| type: f4 | |
| vec3_float: | |
| seq: | |
| - id: x | |
| type: f4 | |
| - id: y | |
| type: f4 | |
| - id: z | |
| type: f4 | |
| vec3_float_list: | |
| seq: | |
| - id: num_elements | |
| type: u4 | |
| - id: values | |
| type: vec3_float | |
| repeat: expr | |
| repeat-expr: num_elements | |
| bounding_box: | |
| seq: | |
| - id: corner1 | |
| type: vec3_float | |
| - id: corner2 | |
| type: vec3_float | |
| float_curve: | |
| seq: | |
| # TODO: there's a different type here, see if it shows up in practice. | |
| # Marked by (type_and_length & 0xff000000) != 0 | |
| - id: type_and_length | |
| type: u4 | |
| - id: curve_values | |
| type: f4 | |
| repeat: expr | |
| repeat-expr: type_and_length | |
| wiggle: | |
| seq: | |
| - id: time_rate | |
| type: f4 | |
| - id: rate_direction | |
| type: vec3_float | |
| - id: wiggle_direction | |
| type: vec3_float | |
| wiggle_list: | |
| seq: | |
| - id: num_wiggles | |
| type: u4 | |
| - id: wiggles | |
| type: wiggle | |
| repeat: expr | |
| repeat-expr: num_wiggles | |
| tractor_point: | |
| seq: | |
| - id: vec1 | |
| type: vec3_float | |
| - id: vec2 | |
| type: vec3_float | |
| - id: float | |
| type: f4 | |
| tractor_points: | |
| seq: | |
| - id: num_points | |
| type: u4 | |
| - id: points | |
| type: tractor_point | |
| repeat: expr | |
| repeat-expr: num_points | |
| length_prefixed_string: | |
| seq: | |
| - id: length | |
| type: u4 | |
| - id: string | |
| type: str | |
| terminator: 0 | |
| size: length | |
| encoding: UTF-8 | |
| particle_rotation: | |
| seq: | |
| - id: unknown_rotation_u8 | |
| type: u1 | |
| - if: _parent.version < 6 | |
| id: rotate_mult_vary_range | |
| type: f4 | |
| - if: _parent.version < 6 | |
| id: rotate_unknown_float | |
| type: f4 | |
| - if: _parent.version >= 6 | |
| id: rotate_mult_vary_range_vec | |
| type: vec2_float | |
| - if: _parent.version >= 6 | |
| id: rotate_unknown_vec | |
| type: vec2_float | |
| - id: rotation_offsets | |
| type: f4 | |
| - id: rotation_unknown_float | |
| type: f4 | |
| collider: | |
| seq: | |
| - id: flags | |
| type: u4 | |
| - id: unknown_byte | |
| type: u1 | |
| if: (flags & 0x1) == 1 | |
| - id: unknown_string_1 | |
| type: length_prefixed_string | |
| - id: unknown_vec1 | |
| type: vec3_float | |
| - id: unknown_vec2 | |
| type: vec3_float | |
| - id: unknown_vec3 | |
| type: vec3_float | |
| - id: unknown_float1 | |
| type: f4 | |
| - id: unknown_float2 | |
| type: f4 | |
| - if: ((flags & 0x1) == 1) and (unknown_byte != 0) | |
| id: unknown_float3 | |
| type: f4 | |
| - id: unknown_float4 | |
| type: f4 | |
| - id: unknown_float5 | |
| type: f4 | |
| - id: unknown_string_2 | |
| type: length_prefixed_string | |
| - id: unknown_string_3 | |
| type: length_prefixed_string | |
| colliders: | |
| seq: | |
| - id: num_colliders | |
| type: u4 | |
| - id: collider | |
| type: collider | |
| repeat: expr | |
| repeat-expr: num_colliders | |
| random_walk: | |
| seq: | |
| - id: vec1 | |
| type: vec2_float | |
| - id: vec2 | |
| type: vec2_float | |
| - id: f1 | |
| type: f4 | |
| - id: f2 | |
| type: f4 | |
| - id: f3 | |
| type: f4 | |
| particle: | |
| seq: | |
| - id: version | |
| type: u2 | |
| - if: version < 5 | |
| id: flags_old | |
| type: u4 | |
| - if: version >= 5 | |
| type: u8 | |
| - id: life | |
| type: vec2_float | |
| - id: life_preroll | |
| type: f4 | |
| - id: rate_delay | |
| type: vec2_float | |
| - id: rate_trigger | |
| type: vec2_float | |
| - id: unknown_bounding_box | |
| type: bounding_box | |
| - id: emit_speed | |
| type: vec2_float | |
| - id: emit_direction_bounding_box | |
| type: bounding_box | |
| - if: "version > 2" | |
| id: unknown_float | |
| type: f4 | |
| - id: rate_curve | |
| type: float_curve | |
| - id: rate_unknown_float1 | |
| type: f4 | |
| - id: unknown_short1 | |
| type: u2 | |
| - id: rate_speed_scale | |
| type: f4 | |
| - id: size_curve | |
| type: float_curve | |
| - id: size_vary | |
| type: f4 | |
| - id: aspect_curve | |
| type: float_curve | |
| - id: aspect_vary | |
| type: f4 | |
| - id: rotate_axis | |
| type: vec3_float | |
| - id: unknown_vec3_float | |
| type: vec3_float | |
| - id: particle_rotation | |
| type: particle_rotation | |
| - id: unknown_float_curve1 | |
| type: float_curve | |
| - id: unknown_float_curve2 | |
| type: float_curve | |
| - if: version > 4 | |
| id: unknown_vec3_float_2 | |
| type: vec3_float_list | |
| - if: version > 4 | |
| id: unknown_vec3_float_3 | |
| type: vec3_float | |
| - id: alpha_curve | |
| type: float_curve | |
| - id: alpha_vary | |
| type: f4 | |
| - id: color_rgb | |
| type: vec3_float_list | |
| - id: color_vary | |
| type: vec3_float | |
| - id: unknown_string | |
| type: length_prefixed_string | |
| - id: tile_count_u | |
| type: u1 | |
| - id: tile_count_v | |
| type: u1 | |
| - id: particle_alignment_type | |
| type: u1 | |
| - id: particle_draw_type | |
| type: u1 | |
| - id: layer | |
| type: f4 | |
| - id: frame_speed | |
| type: f4 | |
| - id: frame_start | |
| type: u1 | |
| - id: frame_count | |
| type: u1 | |
| - id: unknown_vec3_float_4 | |
| type: vec3_float | |
| - id: unknown_float_2 | |
| type: f4 | |
| - id: unknown_float_3 | |
| type: f4 | |
| - id: unknown_vec3_float_5 | |
| type: vec3_float | |
| - id: unknown_float_4 | |
| type: f4 | |
| - id: unknown_float_5 | |
| type: f4 | |
| - id: screw | |
| type: f4 | |
| - id: unknown_wiggle | |
| type: wiggle_list | |
| - id: unknown_u1_1 | |
| type: u1 | |
| - id: unknown_u1_2 | |
| type: u1 | |
| - id: unknown_u1_3 | |
| type: u1 | |
| - id: unknown_u1_4 | |
| type: u1 | |
| - id: colliders | |
| type: colliders | |
| - id: unknown_string_2 | |
| type: length_prefixed_string | |
| - if: version > 10 | |
| id: unknown_float_6 | |
| type: vec3_float | |
| - id: terrain_bounce | |
| type: f4 | |
| - id: unknown_float_7 | |
| type: f4 | |
| - id: unknown_float_8 | |
| type: f4 | |
| - id: terrain_repel_scout | |
| type: f4 | |
| - id: terrain_repel_vertical | |
| type: f4 | |
| - id: terrain_repel_kill_height | |
| type: f4 | |
| - id: terrain_death | |
| type: f4 | |
| - id: unknown_float_9 | |
| type: f4 | |
| - id: unknown_vec2_float_1 | |
| type: vec2_float | |
| - id: random_walk_delay | |
| type: vec2_float | |
| - id: random_walk_strength | |
| type: vec2_float | |
| - id: random_walk_turn1 | |
| type: f4 | |
| - id: random_walk_turn2 | |
| type: f4 | |
| - if: version < 8 | |
| id: unknown_attractor_vec | |
| type: vec3_float | |
| - if: version < 8 | |
| id: attractor_strength_curve | |
| type: float_curve | |
| - if: version < 8 | |
| id: unknown_attractor_float | |
| type: f4 | |
| meta_particle: | |
| seq: | |
| - id: version | |
| type: u2 | |
| - id: flags | |
| type: u8 | |
| - id: life | |
| type: vec2_float | |
| - id: life_preroll | |
| type: f4 | |
| - id: rate_delay | |
| type: vec2_float | |
| - id: rate_trigger | |
| type: vec2_float | |
| - id: unknown_bounding_box | |
| type: bounding_box | |
| - id: emit_speed | |
| type: vec2_float | |
| - id: emit_direction_bounding_box | |
| type: bounding_box | |
| - if: "version > 1" | |
| id: unknown_float | |
| type: f4 | |
| - id: rate_curve | |
| type: float_curve | |
| - id: rate_unknown_float1 | |
| type: f4 | |
| - id: unknown_u4 | |
| type: u4 | |
| - id: size_curve | |
| type: float_curve | |
| - id: size_vary | |
| type: f4 | |
| - id: aspect_curve | |
| type: float_curve | |
| - id: aspect_vary | |
| type: f4 | |
| - id: rotate_curve | |
| type: float_curve | |
| - id: rotate_vary | |
| type: f4 | |
| - id: rotate_offset | |
| type: f4 | |
| - id: color_rgb | |
| type: vec3_float_list | |
| - id: color_vary | |
| type: vec3_float | |
| - id: alpha_curve | |
| type: float_curve | |
| - id: alpha_vary | |
| type: f4 | |
| - id: base_effect_name | |
| type: length_prefixed_string | |
| - id: particle_alignment_type | |
| type: u1 | |
| - id: unknown_vec3_float_1 | |
| type: vec3_float | |
| - id: unknown_float_1 | |
| type: f4 | |
| - id: unknown_float_2 | |
| type: f4 | |
| - id: unknown_vec3_float_2 | |
| type: vec3_float | |
| - id: unknown_float_3 | |
| type: f4 | |
| - id: unknown_float_4 | |
| type: f4 | |
| - id: unknown_wiggle | |
| type: wiggle_list | |
| - id: bloom_alpha_1 | |
| type: u1 | |
| - id: bloom_alpha_2 | |
| type: u1 | |
| - id: bloom_size_1 | |
| type: u1 | |
| - id: bloom_size_2 | |
| type: u1 | |
| - id: colliders | |
| type: colliders | |
| - id: terrain_bounce | |
| type: f4 | |
| - id: unknown_float_7 | |
| type: f4 | |
| - id: unknown_float_8 | |
| type: f4 | |
| - id: terrain_repel_scout | |
| type: f4 | |
| - id: terrain_repel_vertical | |
| type: f4 | |
| - id: terrain_repel_kill_height | |
| type: f4 | |
| - id: terrain_death | |
| type: f4 | |
| - id: unknown_float_9 | |
| type: f4 | |
| - id: unknown_vec2_float_1 | |
| type: vec2_float | |
| - id: random_walks | |
| type: random_walk | |
| repeat: expr | |
| repeat-expr: 2 | |
| - id: walk_prefer_direction | |
| type: vec3_float | |
| - id: alignment_damp | |
| type: f4 | |
| - id: alignment_bank_wind | |
| type: f4 | |
| - id: alignment_bank | |
| type: f4 | |
| - if: version < 4 | |
| id: attractor_vec | |
| type: vec3_float | |
| - if: version < 4 | |
| id: attractor_curve | |
| type: float_curve | |
| - if: version < 4 | |
| id: attractor_range | |
| type: f4 | |
| - if: version < 3 | |
| id: tractor_points | |
| type: tractor_points | |
| - id: unknown_float_last | |
| type: f4 | |
| decal: | |
| seq: | |
| - id: version | |
| type: u2 | |
| - id: flags | |
| type: u4 | |
| - id: texture_name | |
| type: length_prefixed_string | |
| - id: decal_draw_type | |
| type: u1 | |
| - id: life_type | |
| type: u1 | |
| - id: life | |
| type: f4 | |
| - id: rotate_curve | |
| type: float_curve | |
| - id: size_curve | |
| type: float_curve | |
| - id: alpha_curve | |
| type: float_curve | |
| - id: color_rgb | |
| type: vec3_float_list | |
| - id: aspect_curve | |
| type: float_curve | |
| - id: alpha_vary | |
| type: f4 | |
| - id: size_vary | |
| type: f4 | |
| - id: rotate_vary | |
| type: f4 | |
| - id: texture_repeat | |
| type: f4 | |
| - id: texture_offset | |
| type: vec2_float | |
| sequence_effect: | |
| seq: | |
| - id: activate_time | |
| type: vec2_float | |
| - id: effect_name | |
| type: length_prefixed_string | |
| sequence: | |
| seq: | |
| - id: version | |
| type: u2 | |
| - id: num_sequences | |
| type: u4 | |
| - id: sequence | |
| type: sequence_effect | |
| repeat: expr | |
| repeat-expr: num_sequences | |
| - id: flags | |
| type: u4 | |
| sound: | |
| seq: | |
| - id: version | |
| type: u2 | |
| - id: flags | |
| type: u4 | |
| - id: audio_id | |
| type: u4 | |
| - id: location_update_delta | |
| type: f4 | |
| - id: play_time | |
| type: f4 | |
| - id: volume | |
| type: f4 | |
| camera: | |
| seq: | |
| - id: version | |
| type: u2 | |
| - id: flags | |
| type: u4 | |
| - id: life | |
| type: f4 | |
| - id: shake_fade_length | |
| type: f4 | |
| - id: shake_amplitude | |
| type: float_curve | |
| - id: shake_frequency | |
| type: float_curve | |
| - id: shake_aspect | |
| type: f4 | |
| - id: shake_type | |
| type: u1 | |
| - id: heading | |
| type: float_curve | |
| - id: pitch | |
| type: float_curve | |
| - id: roll | |
| type: float_curve | |
| - id: orbit | |
| type: float_curve | |
| - id: field_of_view | |
| type: float_curve | |
| - id: near_clip | |
| type: float_curve | |
| - id: far_clip | |
| type: float_curve | |
| - id: zoom | |
| type: s1 | |
| - id: rotate | |
| type: s1 | |
| - id: attach_radius | |
| type: f4 | |
| - id: camera_select | |
| type: length_prefixed_string | |
| model: | |
| seq: | |
| - id: version | |
| type: u2 | |
| - id: model_name | |
| type: length_prefixed_string | |
| - id: size | |
| type: f4 | |
| - id: color | |
| type: vec3_float | |
| - id: alpha | |
| type: f4 | |
| screen: | |
| seq: | |
| - id: version | |
| type: u2 | |
| - id: mode | |
| type: u1 | |
| - id: flags | |
| type: u4 | |
| - id: color_rgb | |
| type: vec3_float_list | |
| - id: strength | |
| type: float_curve | |
| - id: length | |
| type: f4 | |
| - id: delay | |
| type: f4 | |
| - id: texture | |
| type: length_prefixed_string | |
| water_zero_flag: | |
| seq: | |
| - id: drop_size | |
| type: f4 | |
| - id: drop_depth | |
| type: f4 | |
| - id: x | |
| type: f4 | |
| water: | |
| seq: | |
| - id: version | |
| type: u2 | |
| - id: flags | |
| type: u4 | |
| - if: flags == 0 | |
| id: zero_variant | |
| type: water_zero_flag | |
| matrix: | |
| seq: | |
| - id: elements | |
| type: vec3_float | |
| repeat: expr | |
| repeat-expr: 3 | |
| visual_effect_transform: | |
| seq: | |
| - id: byte_1 | |
| type: u1 | |
| - id: float_1 | |
| type: f4 | |
| - id: matrix_1 | |
| type: matrix | |
| - id: vec_1 | |
| type: vec3_float | |
| visual_effect: | |
| seq: | |
| - id: flags | |
| type: u4 | |
| - id: short_1 | |
| type: u2 | |
| - if: _parent.visual_effect_version < 3 | |
| id: short_2 | |
| type: u2 | |
| - if: _parent.visual_effect_version >= 3 | |
| id: int_1 | |
| type: u4 | |
| - id: int_2 | |
| type: u4 | |
| - id: int_3 | |
| type: u4 | |
| - id: vec_1 | |
| type: vec2_float | |
| - id: num_visual_descriptions | |
| type: u4 | |
| - id: visual_effect_descriptions | |
| type: visual_effect_description | |
| repeat: expr | |
| repeat-expr: num_visual_descriptions | |
| visual_effect_description: | |
| seq: | |
| - id: base_effect | |
| type: length_prefixed_string | |
| - id: block_type | |
| type: u1 | |
| - id: flags | |
| type: u4 | |
| - id: transform | |
| type: visual_effect_transform | |
| - id: lod_begin | |
| type: u1 | |
| - id: lod_end | |
| type: u1 | |
| - id: emit_scale_begin | |
| type: f4 | |
| - id: emit_scale_end | |
| type: f4 | |
| - id: size_scale_begin | |
| type: f4 | |
| - id: size_scale_end | |
| type: f4 | |
| - id: alpha_scale_begin | |
| type: f4 | |
| - id: alpha_scale_end | |
| type: f4 | |
| - if: _parent._parent.visual_effect_version < 3 | |
| id: short_1 | |
| type: u2 | |
| - if: _parent._parent.visual_effect_version < 3 | |
| id: short_2 | |
| type: u2 | |
| - id: selection_group | |
| type: u2 | |
| - id: selection_chance | |
| type: u2 | |
| - id: time_scale | |
| type: f4 | |
| - id: block_index | |
| type: s4 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment