static void MagMessage_setUInt32(MagMessage_t *msg, const char *name, ui32 value){ MagItem_t *item; item = allocateItem(msg, name); item->mType = TypeSize; item->u.ui32Value = value; }
static void MagMessage_setDouble(MagMessage_t *msg, const char *name, fp64 value){ MagItem_t *item; item = allocateItem(msg, name); item->mType = TypeDouble; item->u.doubleValue = value; }
static void MagMessage_setInt64(MagMessage_t *msg, const char *name, i64 value){ MagItem_t *item; item = allocateItem(msg, name); item->mType = TypeInt64; item->u.int64Value = value; }
static void MagMessage_setString(MagMessage_t *msg, const char *name, const char *s){ MagItem_t *item; item = allocateItem(msg, name); item->mType = TypeString; item->u.stringValue = mag_strdup(s); }
static void MagMessage_setFloat(MagMessage_t *msg, const char *name, fp32 value){ MagItem_t *item; item = allocateItem(msg, name); item->mType = TypeFloat; item->u.floatValue = value; }
Child *AGOSEngine::allocateChildBlock(Item *i, uint type, uint size) { Child *child = (Child *)allocateItem(size); child->next = i->children; i->children = child; child->type = type; return child; }
static void MagMessage_setMessage(MagMessage_t *msg, const char *name, struct mag_message *message, boolean owndedByMsg){ MagItem_t *item; item = allocateItem(msg, name); item->mType = TypeMessage; item->mOwnedByMsg = owndedByMsg; item->u.messageValue = message; }
static void MagMessage_setPointer(MagMessage_t *msg, const char *name, void *value, boolean owndedByMsg){ MagItem_t *item; item = allocateItem(msg, name); item->mType = TypePointer; item->mOwnedByMsg = owndedByMsg; item->u.ptrValue = value; }
void toTemplateEdit::changeSelection(void) { bool update = false; if (LastTemplate != TemplateMap.end()) { if (Name->text() != (*LastTemplate).first || Description->text() != (*LastTemplate).second) { TemplateMap.erase(LastTemplate); TemplateMap[Name->text()] = Description->text(); allocateItem(); update = true; } } else if (!Name->text().isEmpty()) { TemplateMap[Name->text()] = Description->text(); allocateItem(); update = true; } LastTemplate = TemplateMap.end(); toTreeWidgetItem *item = Templates->selectedItem(); if (item) { QString str = name(item); LastTemplate = TemplateMap.find(str); if (LastTemplate != TemplateMap.end()) { Name->setText((*LastTemplate).first); Description->setText((*LastTemplate).second); Preview->setText((*LastTemplate).second); } else { Name->setText(QString::null); Description->clear(); Preview->setText(QString::null); } } else LastTemplate = TemplateMap.end(); clearUnused(Templates->firstChild(), ""); }
int AGOSEngine::allocGamePcVars(Common::SeekableReadStream *in) { uint32 itemArraySize, itemArrayInited, stringTableNum; uint32 version; uint32 i; itemArraySize = in->readUint32BE(); version = in->readUint32BE(); itemArrayInited = in->readUint32BE(); stringTableNum = in->readUint32BE(); // First two items are predefined if (getGameType() == GType_ELVIRA1 || getGameType() == GType_ELVIRA2) { itemArraySize += 2; itemArrayInited = itemArraySize; } else { itemArrayInited += 2; itemArraySize += 2; } if (version != 0x80) error("allocGamePcVars: Not a runtime database"); _itemArrayPtr = (Item **)calloc(itemArraySize, sizeof(Item *)); if (_itemArrayPtr == NULL) error("allocGamePcVars: Out of memory for Item array"); _itemArraySize = itemArraySize; _itemArrayInited = itemArrayInited; for (i = 1; i < itemArrayInited; i++) { _itemArrayPtr[i] = (Item *)allocateItem(sizeof(Item)); } // The rest is cleared automatically by calloc allocateStringTable(stringTableNum + 10); _stringTabNum = stringTableNum; return itemArrayInited; }