#pragma once

namespace game
{
	struct XStoreGameLicense
	{
		char skuStoreId[18]; // STORE_SKU_ID_SIZE
		bool isActive;
		bool isTrialOwnedByThisUser;
		bool isDiscLicense;
		bool isTrial;
		uint32_t trialTimeRemainingInSeconds;
		char trialUniqueId[64]; // TRIAL_UNIQUE_ID_MAX_SIZE
		time_t expirationDate;
	};

	enum ErrorCode : unsigned int
	{
		E_GAMERUNTIME_OK = 0,
		E_GAMERUNTIME_NOT_INITIALIZED = 0x89240100,
		E_GAMERUNTIME_DLL_NOT_FOUND = 0x89240101,
		E_GAMERUNTIME_VERSION_MISMATCH = 0x89240102,
		E_GAMERUNTIME_WINDOW_NOT_FOREGROUND = 0x89240103,
		E_GAMERUNTIME_SUSPENDED = 0x89240104,
		E_GAMERUNTIME_UNINITIALIZE_ACTIVEOBJECTS = 0x89240105,
		E_GAMERUNTIME_MULTIPLAYER_NOT_CONFIGURED = 0x89240106,
		E_GAMERUNTIME_OPTIONS_MISMATCH = 0x89240109,
		E_GAMERUNTIME_OPTIONS_NOT_SUPPORTED = 0x8924010A,
		E_GAMERUNTIME_GAMECONFIG_BAD_FORMAT = 0x8924010B,
		E_GAMERUNTIME_INVALID_HANDLE = 0x8924010C,
		E_GAMEUSER_MAX_USERS_ADDED = 0x89245100,
		E_GAMEUSER_SIGNED_OUT = 0x89245101,
	};

	struct cmd_text 
	{
		byte* data;
		int maxsize;
		int cmdsize;
	};
}
