Esempio n. 1
0
void Tribe::ShareMemories(NPC* npc)
{
    csList<Memory*>::Iterator it(memories);
    while(it.HasNext())
    {
        Memory* memory = it.Next();
        if(memory->npc == npc)
        {
            if(FindMemory(memory->name,memory->pos,memory->GetSector(),memory->radius))
            {
                // Tribe know this so delete the memory.
                memories.Delete(it);
                delete memory;
            }
            else
            {
                memory->npc = NULL; // Remove private indicator.
                SaveMemory(memory);
            }
        }
    }
}
Esempio n. 2
0
int kCSRI::Open(std::wstring wstr)
{
    // Close
    if(kInstance) csri_close(kInstance);
    kInstance = NULL;

    // CSRI variables
    csri_rend* renderer = NULL;

    // Matching renderer not found, fallback to default
    renderer = csri_renderer_default();
    if(!renderer)
        return 1; // no CSRI

    // Open from memory
    std::vector<char> data;
    SaveMemory(data, wstr);
    if(data.size() == 0)
        return 2; // no data
    kInstance = csri_open_mem(renderer, &data[0], data.size(), NULL);
    return 0;
}