| Field | Type | Offset | Description | Notes |
| sfx_id | s32 | 0x0 | The SFX ID of this particular bullet. Sometimes unlisted here and sometimes provided by the EMEVD. | |
| spawn_location | u8 | 0x4 | Where the bullet will spawn in relation to the parent. | This field uses the following enum: SpawnLocation |
| spawn_direction | u8 | 0x5 | Affects how the bullet is spawned. | This field uses the following enum: SpawnDirection |
| online_visibility | u8 | 0x6 | | This field is a boolean. |
| spawn_flag_1 | u8 | 0x7 | | |
| relative_z_coord | f32 | 0x8 | Offset the bullet's spawn location. +Z is above the player, -Z is below the player. | |
| relative_y_coord | f32 | 0xc | Offset the bullet's spawn location. +Y is to the right of the player, -Y is to the left of the player. | |
| relative_x_coord | f32 | 0x10 | Offset the bullet's spawn location. +X is in front of the player, -X is behind the player. | |
| relative_vertical_angle | f32 | 0x14 | In radians. | |
| relative_horizontal_angle | f32 | 0x18 | In radians. | |
| lockon_vertical_angle | f32 | 0x1c | In radians. | |
| lockon_horizontal_angle | f32 | 0x20 | In radians. | |
| vertical_angle_randomizer | f32 | 0x24 | In radians. Applies random value between 0 and the specified angle here on shoot to the vertical shoot angle. | |
| horizontal_angle_randomizer | f32 | 0x28 | In radians. Applies random value between 0 and the specified angle here on shoot to the horizontal shoot angle. | |
| Unk00 | u8 | 0x2c | Related to lock-on | |
| Unk01 | u8 | 0x2d | Related to lock-on | |
| shoot_once_count | u8 | 0x2e | | |
| shoot_sequential_count | u8 | 0x2f | | |
| shoot_once_relative_vertical_angle | f32 | 0x30 | | |
| shoot_once_relative_horizontal_angle | f32 | 0x34 | | |
| shoot_sequential_interval | f32 | 0x38 | | |
| shoot_sequential_relative_vertical_angle | f32 | 0x3c | | |
| shoot_sequential_relative_horizontal_angle | f32 | 0x40 | | |
| Unk04 | u8 | 0x44 | | |
| Unk05 | u8 | 0x45 | | |
| Unk06 | u8 | 0x46 | | |
| Unk07 | u8 | 0x47 | | |
| max_life | f32 | 0x48 | | |
| initial_horizontal_velocity | f32 | 0x4c | | |
| horizontal_acceleration_start_delay | f32 | 0x50 | | |
| horizontal_target_velocity | f32 | 0x54 | | |
| horizontal_max_velocity | f32 | 0x58 | | |
| initial_vertical_velocity | f32 | 0x5c | | |
| vertical_acceleration_start_delay | f32 | 0x60 | | |
| vertical_target_velocity | f32 | 0x64 | | |
| vertical_max_velocity | f32 | 0x68 | | |
| initial_tan_vertical_velocity | f32 | 0x6c | | |
| tan_vertical_acceleration_start_delay | f32 | 0x70 | | |
| tan_vertical_target_velocity | f32 | 0x74 | | |
| tan_vertical_max_velocity | f32 | 0x78 | | |
| initial_tan_horizontal_velocity | f32 | 0x7c | | |
| tan_horizontal_acceleration_start_delay | f32 | 0x80 | | |
| tan_horizontal_target_velocity | f32 | 0x84 | | |
| tan_horizontal_max_velocity | f32 | 0x88 | | |
| Unk08 | f32 | 0x8c | | |
| max_angle_change | f32 | 0x90 | | |
| max_tracking_angle_change | f32 | 0x94 | In radians. | |
| max_tracking_time | f32 | 0x98 | | |
| Unk09 | f32 | 0x9c | | |
| Unk10 | f32 | 0xa0 | | |
| Unk11 | f32 | 0xa4 | | |
| Unk12 | f32 | 0xa8 | | |
| Unk13 | f32 | 0xac | | |
| hit_character | u8 | 0xb0 | | This field is a boolean. |
| hit_wall | u8 | 0xb1 | | This field is a boolean. |
| hit_floor | u8 | 0xb2 | | This field is a boolean. |
| hit_water | u8 | 0xb3 | | This field is a boolean. |
| shoot_sfx_id | s32 | 0xb4 | SFX to play on shoot. | |
| Unk14 | u8 | 0xb8 | | |
| Unk15 | u8 | 0xb9 | | |
| Unk16 | u8 | 0xba | | |
| Unk17 | u8 | 0xbb | | |
| hit_sfx_id | s32 | 0xbc | SFX to play when the bullet collides with something. | |
| expire_sfx_id | s32 | 0xc0 | SFX to play when the bullet expires. | |
| sfx_duration_on_expiration | f32 | 0xc4 | | |
| Unk18 | f32 | 0xc8 | | |
| bullet_attach_param_id | s32 | 0xcc | | This field refers to the following params: BulletAttachParam |
| Unk19 | s32 | 0xd0 | | |
| child_bullet_1_bullet_id | s32 | 0xd4 | | This field refers to the following params: BulletParam, EnemyBulletParam |
| child_bullet_1_damage_id | s32 | 0xd8 | | This field refers to the following params: EnemyDamageParam, PlayerDamageParam, SystemDamageParam |
| child_bullet_2_bullet_id | s32 | 0xdc | | This field refers to the following params: BulletParam, EnemyBulletParam |
| child_bullet_2_damage_id | s32 | 0xe0 | | This field refers to the following params: EnemyDamageParam, PlayerDamageParam, SystemDamageParam |
| child_bullet_3_bullet_id | s32 | 0xe4 | | This field refers to the following params: BulletParam, EnemyBulletParam |
| child_bullet_3_damage_id | s32 | 0xe8 | | This field refers to the following params: EnemyDamageParam, PlayerDamageParam, SystemDamageParam |
| spawn_child_bullet_on_hit | u8 | 0xec | | This field is a boolean. |
| spawn_child_bullet_on_expire | u8 | 0xed | | This field is a boolean. |
| spawn_child_bullet_on_unknown | u8 | 0xee | | This field is a boolean. |
| spawn_child_bullet_on_alive | u8 | 0xef | | This field is a boolean. |
| Unk20 | s32 | 0xf0 | | |
| Unk21 | s32 | 0xf4 | | |
| Unk22 | s32 | 0xf8 | | |
| Unk23 | s32 | 0xfc | | |
| Unk24 | u8 | 0x100 | | |
| Unk25 | u8 | 0x101 | | |
| Unk26 | u8 | 0x102 | | |
| Unk27 | u8 | 0x103 | | |
| Unk28 | u8 | 0x104 | | |
| Unk29 | u8 | 0x105 | | |
| Unk30 | u8 | 0x106 | | |
| Unk31 | u8 | 0x107 | | |
| Unk32 | f32 | 0x108 | | |
| Unk33 | f32 | 0x10c | | |
| Unk34 | f32 | 0x110 | | |
| Unk35 | s32 | 0x114 | | |
| Unk36 | s32 | 0x118 | | |
| Unk37 | f32 | 0x11c | | |
| Unk38 | f32 | 0x120 | | |
| Unk39 | f32 | 0x124 | | |
| child_bullet_spawn_delay | f32 | 0x128 | | |
| Unk40 | f32 | 0x12c | | |
| Unk41 | s32 | 0x130 | | |
| Unk42 | s32 | 0x134 | | |
| Unk43 | s32 | 0x138 | | |
| Unk44 | s32 | 0x13c | | |