mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-26 14:56:39 +00:00 
			
		
		
		
	fix the global map updating when pinned
This commit is contained in:
		
							parent
							
								
									8daf790235
								
							
						
					
					
						commit
						71d04e16da
					
				
					 2 changed files with 16 additions and 0 deletions
				
			
		|  | @ -224,6 +224,9 @@ void LocalMapBase::setPlayerPos(const float x, const float y) | ||||||
| { | { | ||||||
|     if (x == mLastPositionX && y == mLastPositionY) |     if (x == mLastPositionX && y == mLastPositionY) | ||||||
|         return; |         return; | ||||||
|  | 
 | ||||||
|  |     notifyPlayerUpdate (); | ||||||
|  | 
 | ||||||
|     MyGUI::IntSize size = mLocalMap->getCanvasSize(); |     MyGUI::IntSize size = mLocalMap->getCanvasSize(); | ||||||
|     MyGUI::IntPoint middle = MyGUI::IntPoint((1/3.f + x/3.f)*size.width,(1/3.f + y/3.f)*size.height); |     MyGUI::IntPoint middle = MyGUI::IntPoint((1/3.f + x/3.f)*size.width,(1/3.f + y/3.f)*size.height); | ||||||
|     MyGUI::IntCoord viewsize = mLocalMap->getCoord(); |     MyGUI::IntCoord viewsize = mLocalMap->getCoord(); | ||||||
|  | @ -239,6 +242,9 @@ void LocalMapBase::setPlayerDir(const float x, const float y) | ||||||
| { | { | ||||||
|     if (x == mLastDirectionX && y == mLastDirectionY) |     if (x == mLastDirectionX && y == mLastDirectionY) | ||||||
|         return; |         return; | ||||||
|  | 
 | ||||||
|  |     notifyPlayerUpdate (); | ||||||
|  | 
 | ||||||
|     MyGUI::ISubWidget* main = mCompass->getSubWidgetMain(); |     MyGUI::ISubWidget* main = mCompass->getSubWidgetMain(); | ||||||
|     MyGUI::RotatingSkin* rotatingSubskin = main->castType<MyGUI::RotatingSkin>(); |     MyGUI::RotatingSkin* rotatingSubskin = main->castType<MyGUI::RotatingSkin>(); | ||||||
|     rotatingSubskin->setCenter(MyGUI::IntPoint(16,16)); |     rotatingSubskin->setCenter(MyGUI::IntPoint(16,16)); | ||||||
|  | @ -407,3 +413,9 @@ void MapWindow::globalMapUpdatePlayer () | ||||||
|     MyGUI::IntPoint viewoffs(0.5*viewsize.width - worldX, 0.5*viewsize.height - worldY); |     MyGUI::IntPoint viewoffs(0.5*viewsize.width - worldX, 0.5*viewsize.height - worldY); | ||||||
|     mGlobalMap->setViewOffset(viewoffs); |     mGlobalMap->setViewOffset(viewoffs); | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | void MapWindow::notifyPlayerUpdate () | ||||||
|  | { | ||||||
|  |     if (mGlobal) | ||||||
|  |         globalMapUpdatePlayer (); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -49,6 +49,8 @@ namespace MWGui | ||||||
|         void onMarkerFocused(MyGUI::Widget* w1, MyGUI::Widget* w2); |         void onMarkerFocused(MyGUI::Widget* w1, MyGUI::Widget* w2); | ||||||
|         void onMarkerUnfocused(MyGUI::Widget* w1, MyGUI::Widget* w2); |         void onMarkerUnfocused(MyGUI::Widget* w1, MyGUI::Widget* w2); | ||||||
| 
 | 
 | ||||||
|  |         virtual void notifyPlayerUpdate() {} | ||||||
|  | 
 | ||||||
|         OEngine::GUI::Layout* mLayout; |         OEngine::GUI::Layout* mLayout; | ||||||
| 
 | 
 | ||||||
|         bool mMapDragAndDrop; |         bool mMapDragAndDrop; | ||||||
|  | @ -93,6 +95,8 @@ namespace MWGui | ||||||
| 
 | 
 | ||||||
|     protected: |     protected: | ||||||
|         virtual void onPinToggled(); |         virtual void onPinToggled(); | ||||||
|  | 
 | ||||||
|  |         virtual void notifyPlayerUpdate(); | ||||||
|     }; |     }; | ||||||
| } | } | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue