/* EQUIPMENT.C symbols in this file: 000E5F40 0060: _equipment_place (0000) 000E5FA0 0040: _equipment_handle_pickup (0000) 000E5FE0 0030: _equipment_definition_handle_pickup (0000) */ /* ---------- headers */ #include "cseries.h" #include "equipment.h" #include "equipment_definitions.h" #include "items/items.h" #include "objects/object_types.h" #include "objects/objects.h" #include "sound/game_sound.h" /* ---------- constants */ /* ---------- macros */ /* ---------- structures */ /* ---------- prototypes */ /* ---------- globals */ /* ---------- public code */ void equipment_place( long equipment_index, struct scenario_equipment_datum *scenario_equipment) { struct item_datum *equipment = equipment_get(equipment_index); SET_FLAG( equipment->object.flags, _object_at_rest_bit, TEST_FLAG(scenario_equipment->object.misc_flags, _scenario_equipment_levitate_bit)); equipment->object.flags |= FLAG(_object_cannot_be_garbage_bit) | FLAG(_object_shadowless_bit); SET_FLAG( equipment->item.flags, _equipment_orient_to_ground_bit, !TEST_FLAG(scenario_equipment->object.misc_flags, _scenario_equipment_does_not_orient_to_ground_bit)); if (!TEST_FLAG(scenario_equipment->object.misc_flags, _scenario_equipment_levitate_bit)) equipment->object.position.z += 0.05f; return; } void equipment_handle_pickup( long equipment_index) { struct item_datum *equipment = equipment_get(equipment_index); struct equipment_definition *equipment_definition = equipment_definition_get(equipment->definition_index); if (equipment_definition->equipment.pickup_sound.index != NONE) unspatialized_impulse_sound_new(equipment_definition->equipment.pickup_sound.index, 1.f); return; } void equipment_definition_handle_pickup( long equipment_definition_index) { struct equipment_definition *equipment_definition = equipment_definition_get(equipment_definition_index); if (equipment_definition->equipment.pickup_sound.index != NONE) unspatialized_impulse_sound_new(equipment_definition->equipment.pickup_sound.index, 1.f); return; } /* ---------- private code */