/* <2a916> ../engine/hashpak.c:243 */ void HPAK_AddToQueue(char *pakname, struct resource_s *pResource, void *pData, FileHandle_t fpSource) { hash_pack_queue_t *n = (hash_pack_queue_t *)Mem_Malloc(sizeof(hash_pack_queue_t)); if (!n) Sys_Error("Unable to allocate %i bytes for hpak queue!", sizeof(hash_pack_queue_t)); Q_memset(n, 0, sizeof(hash_pack_queue_t)); n->pakname = Mem_Strdup(pakname); Q_memcpy(&n->resource, pResource, sizeof(resource_t)); n->datasize = pResource->nDownloadSize; n->data = Mem_Malloc(pResource->nDownloadSize); if (!n->data) Sys_Error("Unable to allocate %i bytes for hpak queue!", n->datasize); if (pData) { Q_memcpy(n->data, pData, n->datasize); n->next = gp_hpak_queue; gp_hpak_queue = n; } else { if (!fpSource) Sys_Error("Add to Queue called without data or file pointer!"); FS_Read(n->data, n->datasize, 1, fpSource); n->next = gp_hpak_queue; gp_hpak_queue = n; } }
void kexInputKey::BindCommand(char key, const char *string) { keycmd_t *keycmd; cmdlist_t *newcmd; keycmd = &keycmds[keycode[bShiftdown][key]]; newcmd = (cmdlist_t*)Mem_Malloc(sizeof(cmdlist_t), hb_static); newcmd->command = Mem_Strdup(string, hb_static); newcmd->next = keycmd->cmds; keycmd->cmds = newcmd; }