Пример #1
0
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;
}
Пример #2
0
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;
}
Пример #3
0
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;
}
Пример #4
0
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);
}
Пример #5
0
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;
}
Пример #6
0
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;
}
Пример #7
0
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;
}
Пример #8
0
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(), "");
}
Пример #10
0
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;
}