コード例 #1
0
ファイル: persistent.cpp プロジェクト: dev-riker/roguelikes
void Map::Save(TCODZip &zip)
{
    zip.putInt(seed_);
    for (int32_t i = 0; i < width_ * height_; i++) {
        zip.putInt(tiles_[i].explored_);
    }
}
コード例 #2
0
ファイル: Aura.cpp プロジェクト: cottog/CASTER-EDITION
void Aura::save(TCODZip &zip) {
	zip.putInt(stat);
	zip.putInt(totalDuration);
	zip.putInt(duration);
	zip.putInt(bonus);
	zip.putInt(life);
}
コード例 #3
0
ファイル: Pickable.cpp プロジェクト: cottog/CASTER-EDITION
void Healer::save(TCODZip &zip) {
	zip.putInt(type);
	zip.putFloat(amount);
	zip.putInt(stacks);
	zip.putInt(stackSize);
	zip.putInt(value);
}
コード例 #4
0
void
Engine::Save() {
	if(player->destructible->IsDead()) {
		TCODSystem::deleteFile("game.sav");
	}
	else {
		TCODZip zip;

		zip.putInt(SAVEGAME_VERSION);

		zip.putInt(map->width);
		zip.putInt(map->height);
		map->Save(zip);

		player->Save(zip);

		zip.putInt(allActors.size() - 2);

		for(Actor** it = allActors.begin(); it != allActors.end(); ++it) {
			if(*it != player) {
				(*it)->Save(zip);
			}
		}

		gui->Save(zip);

		zip.saveToFile("game.sav");
	}
}
コード例 #5
0
ファイル: Engine.cpp プロジェクト: PeterMRegan/CS1310
void Engine::save()
{
	if (player->destructible->isDead())
	{
		TCODSystem::deleteFile("game.sav");
	}
	else
	{
		TCODZip zip;
		//save the map first
		zip.putInt(map->width);
		zip.putInt(map->height);
		map->save(zip);
		//then the player
		player->save(zip);
		//then the stairs
		stairs->save(zip);
		//then all the other actors
		zip.putInt(map->actors.size()-2);
		for (Actor **i=map->actors.begin(); i!=map->actors.end(); i++)
		{
			if (*i!=player && *i!=stairs)
			{
				(*i)->save(zip);
			}
		}
		// finally the message log
		topGui->save(zip);
		zip.saveToFile("game.sav");
	}
}
コード例 #6
0
void ConfusedMonsterAi::save(TCODZip &zip)
{
    zip.putInt(CONFUSED_MONSTER);
    zip.putInt(nbTurns);
    oldAi->save(zip);
    zip.putColor(&oldColor);
}
コード例 #7
0
ファイル: persistent.cpp プロジェクト: dev-riker/roguelikes
void Container::Save(TCODZip &zip)
{
    zip.putInt(size_);
    zip.putInt(inventory.size());
    for (Actor **it = inventory.begin(); it != inventory.end(); it++) {
        (*it)->Save(zip);
    }
}
コード例 #8
0
void Destructible::save(TCODZip &zip) {
	zip.putFloat(maxHp);
	zip.putFloat(hp);
	zip.putFloat(defense);
	zip.putString(corpseName);
	zip.putInt(maxAp);
	zip.putInt(ap);
}
コード例 #9
0
ファイル: Pickable.cpp プロジェクト: cottog/CASTER-EDITION
void Poison::save(TCODZip &zip) {
	zip.putInt(type);
	zip.putFloat(tick);
	zip.putInt(duration);
	zip.putInt(stacks);
	zip.putInt(stackSize);
	zip.putInt(value);
}
コード例 #10
0
ファイル: Pickable.cpp プロジェクト: cottog/CASTER-EDITION
void Confuser::save(TCODZip &zip) {
	zip.putInt(type);
	zip.putInt(nbTurns);
	zip.putFloat(range);
	zip.putInt(stacks);
	zip.putInt(stackSize);
	zip.putInt(value);
}
コード例 #11
0
ファイル: Pickable.cpp プロジェクト: cottog/CASTER-EDITION
void LightningBolt::save(TCODZip &zip) {
	zip.putInt(type);
	zip.putFloat(range);
	zip.putFloat(damage);
	zip.putInt(stacks);
	zip.putInt(stackSize);
	zip.putInt(value);
}
コード例 #12
0
void
Map::Save(TCODZip& zip) {
	zip.putInt(seed);

	for(int i = 0; i < width * height; ++i) {
		zip.putInt(tiles[i].explored);
	}
}
コード例 #13
0
void Pickable::save(TCODZip &zip){
    zip.putInt(selector != NULL);
    zip.putInt(effect != NULL);
    if(selector)
        selector->save(zip);
    if(effect)
        effect->save(zip);
}
コード例 #14
0
ファイル: Pickable.cpp プロジェクト: cottog/CASTER-EDITION
void Fireball::save(TCODZip &zip) {
	zip.putInt(type);
	zip.putFloat(range);
	zip.putFloat(aoe);
	zip.putFloat(damage);
	zip.putInt(stacks);
	zip.putInt(stackSize);
	zip.putInt(value);
}
コード例 #15
0
void clBuilding::Save(TCODZip &file)
{
    file.putChar(CL_BUILDING);
    file.putInt(mytile->GetSave()->num);
    file.putInt(t->GetBuildingID());
    file.putInt(mypic);
    file.putInt(data);
    file.putInt(mat->ID);
}
コード例 #16
0
void Map::save(TCODZip &zip, NodeType type){
    zip.putInt(seed);
    for(int i = 0; i < width * height; i++){
        zip.putInt(tiles[i].explored);
        //zip.putInt(tiles[i].walkable);
        //zip.putInt(tiles[i].inFOV);
    }

    zip.putInt(actors.size());
    for(Actor **it = actors.begin(); it != actors.end(); it++){
        (*it)->save(zip);
    }

    zip.putInt(nextLevel != NULL);
    zip.putInt(prevLevel != NULL);

    if(nextLevel && (type == ROOT || type == BELOW_ROOT)){
        zip.putInt(nextLevel->width);
        zip.putInt(nextLevel->height);
        nextLevel->save(zip, BELOW_ROOT);
    }
    if(prevLevel && (type == ROOT || type == ABOVE_ROOT)){
        zip.putInt(prevLevel->width);
        zip.putInt(prevLevel->height);
        prevLevel->save(zip, ABOVE_ROOT);
    }
}
コード例 #17
0
void
Actor::Save(TCODZip& zip) {
	zip.putInt(x);
	zip.putInt(y);

	zip.putInt(code);
	zip.putColor(&color);

	zip.putString(name);

	zip.putInt(blocks);
	zip.putInt(fovOnly);

	zip.putInt(destructible != nullptr);
	zip.putInt(ai != nullptr);
	zip.putInt(pickable != nullptr);
	zip.putInt(container != nullptr);

	if(destructible) {
		destructible->Save(zip);
	}

	if(ai) {
		ai->Save(zip);
	}

	if(pickable) {
		pickable->Save(zip);
	}

	if(container) {
		container->Save(zip);
	}
}
コード例 #18
0
ファイル: Gui.cpp プロジェクト: cottog/CASTER-EDITION
void Gui::save(TCODZip &zip) {
	zip.putInt(log.size());
	for (Message **it = log.begin(); it != log.end(); it++) {
		zip.putString((*it)->text);
		zip.putColor(&(*it)->col);
	}
}
コード例 #19
0
ファイル: Destructible.cpp プロジェクト: cottog/Game
void Destructible::save(TCODZip &zip) {
	zip.putFloat(maxHp);
	zip.putFloat(hp);
	zip.putFloat(baseDefense);
	zip.putFloat(totalDefense);
	zip.putString(corpseName);
	zip.putInt(xp);
}
コード例 #20
0
ファイル: Aura.cpp プロジェクト: cottog/CASTER-EDITION
void DamagingAura::save(TCODZip &zip){
	zip.putInt(stat);
	zip.putInt(totalDuration);
	zip.putInt(duration);
	zip.putInt(bonus);
	zip.putInt(life);
	zip.putInt(radius);
	zip.putInt(smart);
}
コード例 #21
0
ファイル: Pickable.cpp プロジェクト: cottog/CASTER-EDITION
void Equipment::save(TCODZip &zip) {
	zip.putInt(type);
	zip.putInt(equipped);
	zip.putInt(slot);
	zip.putInt(stacks);
	zip.putInt(stackSize);
	zip.putInt(value);
	zip.putInt(bonus.size());
	for (int i = 0; i < bonus.size(); i++) {
		bonus.get(i)->save(zip);
	}
	requirement->save(zip);
}
コード例 #22
0
ファイル: Persistent.cpp プロジェクト: alec-parks/rlTutorial
void Engine::save() {
  if (player->destructible->isDead() ){
    TCODSystem::deleteFile("game.sav");
  }else {
    TCODZip zip;
    //save the map
    zip.putInt(map->width);
    zip.putInt(map->height);
    map->save(zip);
    //then the player
    player->save(zip);
    //All the other actors
    zip.putInt(actors.size()-1);
    for (Actor **iterator=actors.begin(); iterator!=actors.end();
           iterator++){
      if(*iterator != player){
        (*iterator)->save(zip);
      }
    }
    //Save the logs
    gui->save(zip);
    zip.saveToFile("game.sav");
  }
}
コード例 #23
0
ファイル: persistent.cpp プロジェクト: dev-riker/roguelikes
void Engine::Save(void)
{
    if (player_->destructible_->IsDead()) {
        TCODSystem::deleteFile("game.sav");
    } else {
        TCODZip zip;
        // save the map
        zip.putInt(map_->width_);
        zip.putInt(map_->height_);
        map_->Save(zip);
        // save the player
        player_->Save(zip);
        // then all the other actors
        zip.putInt(actors_.size()-1);
        for (Actor **it = actors_.begin(); it != actors_.end(); it++) {
            if (*it != player_) {
                (*it)->Save(zip);
            }
        }
        // finally the message log
        gui_->Save(zip);
        zip.saveToFile("game.sav");
    }
}
コード例 #24
0
ファイル: persistent.cpp プロジェクト: dev-riker/roguelikes
void Actor::Save(TCODZip &zip)
{
    zip.putInt(x_);
    zip.putInt(y_);
    zip.putInt(ch_);
    zip.putColor(&col_);
    zip.putString(name_);
    zip.putInt(blocks_);
    zip.putInt(attacker_ != NULL);
    zip.putInt(destructible_ != NULL);
    zip.putInt(ai_ != NULL);
    zip.putInt(pickable_ != NULL);
    zip.putInt(container_ != NULL);
    if (attacker_ != NULL) attacker_->Save(zip);
    if (destructible_ != NULL) destructible_->Save(zip);
    if (ai_ != NULL) ai_->Save(zip);
    if (pickable_ != NULL) pickable_->Save(zip);
    if (container_ != NULL) container_->Save(zip);
}
コード例 #25
0
ファイル: Actor.cpp プロジェクト: cottog/Game
void Actor::save(TCODZip &zip) {
	zip.putInt(x);
	zip.putInt(y);
	zip.putInt(ch);
	zip.putColor(&col);
	zip.putString(name);
	zip.putInt(blocks);
	zip.putInt(attacker != NULL);
	zip.putInt(destructible != NULL);
	zip.putInt(ai != NULL);
	zip.putInt(pickable != NULL);
	zip.putInt(container != NULL);
	
	if (attacker) attacker->save(zip);
	if (destructible) destructible->save(zip);
	if (ai) ai->save(zip);
	if (pickable) pickable->save(zip);
	if (container) container->save(zip);
}
コード例 #26
0
ファイル: Scroll.cpp プロジェクト: PeterMRegan/CS1310
void LightningBolt::save(TCODZip &zip)
{
	zip.putInt(LIGHTNING_BOLT);
	zip.putFloat(range);
	zip.putFloat(damage);
}
コード例 #27
0
ファイル: Ai.cpp プロジェクト: cottog/CASTER-EDITION
void PlayerAi::save(TCODZip &zip) {
	zip.putInt(PLAYER);
}
コード例 #28
0
void MonsterDestructible::save(TCODZip &zip)
{
    zip.putInt(MONSTER);
    Destructible::save(zip);
}
コード例 #29
0
void PlayerDestructible::save(TCODZip &zip)
{
    zip.putInt(PLAYER);
    Destructible::save(zip);
}
コード例 #30
0
ファイル: Ai.cpp プロジェクト: cottog/CASTER-EDITION
void MonsterAi::save(TCODZip &zip) {
	zip.putInt(MONSTER);
	zip.putInt(moveCount);
}