// Ryzom - MMORPG Framework // Copyright (C) 2010 Winch Gate Property Limited // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . #include "stdpch.h" #include "village.h" #include "nel/georges/u_form.h" #include "nel/georges/u_form_elm.h" #include "nel/misc/vector.h" #include "nel/misc/vector_2f.h" #include "client_sheets/village_sheet.h" #include "client_sheets/entity_sheet.h" #include "zone_util.h" #include "ig_enum.h" #include "ingame_database_manager.h" #include "sheet_manager.h" #include "pacs_client.h" #include "client_cfg.h" #ifdef DEBUG_NEW #define new DEBUG_NEW #endif using namespace NLMISC; using namespace std; //=================================================================================== CVillage::CVillage() : _Scene(NULL) { // Not an output _IsOutpost = false; // Init buildings for (uint i=0; i=RZ_MAX_BUILDING_PER_OUTPOST) return; CBuilding &building= _Buildings[buildingId]; // Form has changed ? if (building.CurrentSheetId != newForm) { // Resize the streamable ig, if needed for (uint i=_IG.getIGNum(); i(entitySheet); if (bldSh) { // todo hulud here, manage multi igs for multi building state igName = bldSh->BuildedIg; } } // Set the building IG _IG.setIG(building.Id, igName, ""); building.CurrentSheetId = newForm; } }