// TODO: Actually support campaigns import { CommandId, ResultCodes } from "../../../lib/constants/aimedb"; import { CampaignClearInfoResponseStruct, CampaignResponseStruct, OldCampaignResponseStruct, } from "../types/campaign"; import { PacketHeaderStruct } from "../types/header"; import type { AimeDBHandlerFn } from "../types/handlers"; export const GetCampaignInfoHandler: AimeDBHandlerFn<"CampaignResponse" | "OldCampaignResponse"> = ( header, _ ) => { header.commandId = CommandId.CAMPAIGN_INFO_RESPONSE; header.result = ResultCodes.SUCCESS; if (header.version < 0x3030) { header.length = PacketHeaderStruct.baseSize + OldCampaignResponseStruct.baseSize; return new OldCampaignResponseStruct(); } header.length = PacketHeaderStruct.baseSize + CampaignResponseStruct.baseSize; return new CampaignResponseStruct(); }; export const GetCampaignClearInfoHandler: AimeDBHandlerFn<"CampaignClearInfoResponse"> = ( header, _ ) => { header.commandId = CommandId.CAMPAIGN_CLEAR_INFO_RESPONSE; header.result = ResultCodes.SUCCESS; header.length = PacketHeaderStruct.baseSize + CampaignClearInfoResponseStruct.baseSize; return new CampaignClearInfoResponseStruct(); };