#pragma once

#include <trx/game/objects/common.h>
#include <trx/game/objects/ids.h>

extern const OBJECT_ID g_CreatureObjects[];
extern const OBJECT_ID g_ProjectileObjects[];
extern const OBJECT_ID g_WaterObjects[];
extern const OBJECT_ID g_LoyalObjects[];
extern const OBJECT_ID g_PickupObjects[];
extern const OBJECT_ID g_ElevatedPickupObjects[];
extern const OBJECT_ID g_SwitchObjects[];
extern const OBJECT_ID g_ReceptacleObjects[];
extern const OBJECT_ID g_GunObjects[];
extern const OBJECT_ID g_GunAmmoObjects[];
extern const OBJECT_ID g_DoorObjects[];
extern const OBJECT_ID g_TrapdoorObjects[];
extern const OBJECT_ID g_AnimObjects[];
extern const OBJECT_ID g_NullObjects[];
extern const OBJECT_ID g_InvObjects[];
extern const OBJECT_ID g_WaterSpriteObjects[];
extern const OBJECT_ID g_BossObjects[];
extern const OBJECT_ID g_SecretObjects[];
extern const OBJECT_ID g_QuestObjects[];
extern const OBJECT_ID g_MovableBlockObjects[];
extern const OBJECT_ID g_GameSpriteObjects[];
extern const OBJECT_ID g_GenericInvOptions[];

extern const GAME_OBJECT_PAIR g_GunAmmoObjectMap[];
extern const GAME_OBJECT_PAIR g_ItemToInvObjectMap[];
extern const GAME_OBJECT_PAIR g_KeyItemToReceptacleMap[];
extern const GAME_OBJECT_PAIR g_ReceptacleToReceptacleDoneMap[];

extern const OBJECT_ID g_ShatterableObjects[];
extern const OBJECT_ID g_HeavyShatterableObjects[];
extern const OBJECT_ID g_HeavyMissileObjects[];
extern const OBJECT_ID g_SmashableObjects[];
extern const OBJECT_ID g_ShoalObjects[];
