mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-04 06:56:39 +00:00 
			
		
		
		
	Merge branch 'master' into inventoryGUI
This commit is contained in:
		
						commit
						1f85475536
					
				
					 3 changed files with 52 additions and 42 deletions
				
			
		| 
						 | 
					@ -482,6 +482,7 @@ void WindowManager::changeCell(MWWorld::Ptr::CellStore* cell)
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            const ESM::Region* region = MWBase::Environment::get().getWorld()->getStore().regions.search(cell->cell->region);
 | 
					            const ESM::Region* region = MWBase::Environment::get().getWorld()->getStore().regions.search(cell->cell->region);
 | 
				
			||||||
 | 
					            if (region)
 | 
				
			||||||
                name = region->name;
 | 
					                name = region->name;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -86,7 +86,11 @@ namespace MWWorld
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (!((*iter)->cell->data.flags & ESM::Cell::Interior))
 | 
					            if (!((*iter)->cell->data.flags & ESM::Cell::Interior))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                ESM::Land* land = mWorld->getStore().lands.search((*iter)->cell->data.gridX,(*iter)->cell->data.gridY);
 | 
				
			||||||
 | 
					                if (land)
 | 
				
			||||||
                    mPhysics->removeHeightField( (*iter)->cell->data.gridX, (*iter)->cell->data.gridY );
 | 
					                    mPhysics->removeHeightField( (*iter)->cell->data.gridX, (*iter)->cell->data.gridY );
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		mRendering.removeCell(*iter);
 | 
							mRendering.removeCell(*iter);
 | 
				
			||||||
| 
						 | 
					@ -122,6 +126,7 @@ namespace MWWorld
 | 
				
			||||||
            if (!(cell->cell->data.flags & ESM::Cell::Interior))
 | 
					            if (!(cell->cell->data.flags & ESM::Cell::Interior))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                ESM::Land* land = mWorld->getStore().lands.search(cell->cell->data.gridX,cell->cell->data.gridY);
 | 
					                ESM::Land* land = mWorld->getStore().lands.search(cell->cell->data.gridX,cell->cell->data.gridY);
 | 
				
			||||||
 | 
					                if (land)
 | 
				
			||||||
                    mPhysics->addHeightField (land->landData->heights,
 | 
					                    mPhysics->addHeightField (land->landData->heights,
 | 
				
			||||||
                        cell->cell->data.gridX, cell->cell->data.gridY,
 | 
					                        cell->cell->data.gridX, cell->cell->data.gridY,
 | 
				
			||||||
                        0, ( worldsize/(verts-1) ), verts);
 | 
					                        0, ( worldsize/(verts-1) ), verts);
 | 
				
			||||||
| 
						 | 
					@ -255,6 +260,9 @@ namespace MWWorld
 | 
				
			||||||
    void Scene::changeToInteriorCell (const std::string& cellName, const ESM::Position& position)
 | 
					    void Scene::changeToInteriorCell (const std::string& cellName, const ESM::Position& position)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        std::cout << "Changing to interior\n";
 | 
					        std::cout << "Changing to interior\n";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Ptr::CellStore *cell = mWorld->getInterior(cellName);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // remove active
 | 
					        // remove active
 | 
				
			||||||
        CellStoreCollection::iterator active = mActiveCells.begin();
 | 
					        CellStoreCollection::iterator active = mActiveCells.begin();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -265,11 +273,9 @@ namespace MWWorld
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Load cell.
 | 
					        // Load cell.
 | 
				
			||||||
        std::cout << "cellName:" << cellName << std::endl;
 | 
					        std::cout << "cellName:" << cellName << std::endl;
 | 
				
			||||||
        Ptr::CellStore *cell = mWorld->getInterior(cellName);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        loadCell (cell);
 | 
					        loadCell (cell);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
        // adjust player
 | 
					        // adjust player
 | 
				
			||||||
        mCurrentCell = cell;
 | 
					        mCurrentCell = cell;
 | 
				
			||||||
        playerCellChange (cell, position);
 | 
					        playerCellChange (cell, position);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -499,15 +499,17 @@ void WeatherManager::update(float duration)
 | 
				
			||||||
            mCurrentRegion = regionstr;
 | 
					            mCurrentRegion = regionstr;
 | 
				
			||||||
            mWeatherUpdateTime = WeatherGlobals::mWeatherUpdateTime*3600;
 | 
					            mWeatherUpdateTime = WeatherGlobals::mWeatherUpdateTime*3600;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string weather;
 | 
					            std::string weather = "clear";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (mRegionOverrides.find(regionstr) != mRegionOverrides.end())
 | 
					            if (mRegionOverrides.find(regionstr) != mRegionOverrides.end())
 | 
				
			||||||
                weather = mRegionOverrides[regionstr];
 | 
					                weather = mRegionOverrides[regionstr];
 | 
				
			||||||
            else
 | 
					            else
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                // get weather probabilities for the current region
 | 
					                // get weather probabilities for the current region
 | 
				
			||||||
                const ESM::Region *region = MWBase::Environment::get().getWorld()->getStore().regions.find (regionstr);
 | 
					                const ESM::Region *region = MWBase::Environment::get().getWorld()->getStore().regions.search (regionstr);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (region != 0)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
                    float clear = region->data.clear/255.f;
 | 
					                    float clear = region->data.clear/255.f;
 | 
				
			||||||
                    float cloudy = region->data.cloudy/255.f;
 | 
					                    float cloudy = region->data.cloudy/255.f;
 | 
				
			||||||
                    float foggy = region->data.foggy/255.f;
 | 
					                    float foggy = region->data.foggy/255.f;
 | 
				
			||||||
| 
						 | 
					@ -545,6 +547,7 @@ void WeatherManager::update(float duration)
 | 
				
			||||||
                    else
 | 
					                    else
 | 
				
			||||||
                        weather = "clear";
 | 
					                        weather = "clear";
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            setWeather(weather, false);
 | 
					            setWeather(weather, false);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue