[Scummvm-cvs-logs] SF.net SVN: scummvm:[47793] scummvm/trunk/engines/sci

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Mon Feb 1 11:16:45 CET 2010


Revision: 47793
          http://scummvm.svn.sourceforge.net/scummvm/?rev=47793&view=rev
Author:   m_kiewitz
Date:     2010-02-01 10:16:45 +0000 (Mon, 01 Feb 2010)

Log Message:
-----------
SCI: implemented reset for GfxMenu, not recreating object anymore

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/game.cpp
    scummvm/trunk/engines/sci/graphics/gui.cpp
    scummvm/trunk/engines/sci/graphics/gui.h
    scummvm/trunk/engines/sci/graphics/menu.cpp

Modified: scummvm/trunk/engines/sci/engine/game.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/game.cpp	2010-02-01 09:53:42 UTC (rev 47792)
+++ scummvm/trunk/engines/sci/engine/game.cpp	2010-02-01 10:16:45 UTC (rev 47793)
@@ -35,6 +35,7 @@
 #include "sci/engine/kernel_types.h"
 #include "sci/engine/message.h"
 #include "sci/graphics/gui.h"
+#include "sci/graphics/menu.h"
 #include "sci/sound/music.h"
 
 namespace Sci {
@@ -270,8 +271,8 @@
 	}
 
 	// Initialize menu TODO: Actually this should be another init()
-	if (s->_gui)
-		s->_gui->menuReset();
+	if (s->_gfxMenu)
+		s->_gfxMenu->reset();
 
 	s->successor = NULL; // No successor
 

Modified: scummvm/trunk/engines/sci/graphics/gui.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/gui.cpp	2010-02-01 09:53:42 UTC (rev 47792)
+++ scummvm/trunk/engines/sci/graphics/gui.cpp	2010-02-01 10:16:45 UTC (rev 47793)
@@ -276,12 +276,6 @@
 	}
 }
 
-void SciGui::menuReset() {
-	delete _menu;
-	_menu = new GfxMenu(_s->_event, _s->_segMan, this, _ports, _paint16, _text16, _screen, _cursor);
-	_s->_gfxMenu = _menu;
-}
-
 void SciGui::drawPicture(GuiResourceId pictureId, int16 animationNr, bool animationBlackoutFlag, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo) {
 	Port *oldPort = _ports->setPort((Port *)_ports->_picWind);
 

Modified: scummvm/trunk/engines/sci/graphics/gui.h
===================================================================
--- scummvm/trunk/engines/sci/graphics/gui.h	2010-02-01 09:53:42 UTC (rev 47792)
+++ scummvm/trunk/engines/sci/graphics/gui.h	2010-02-01 10:16:45 UTC (rev 47793)
@@ -75,7 +75,6 @@
 
 	virtual void drawStatus(const char *text, int16 colorPen, int16 colorBack);
 	virtual void drawMenuBar(bool clear);
-	virtual void menuReset();
 
 	virtual void drawPicture(GuiResourceId pictureId, int16 animationNr, bool animationBlackoutFlag, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo);
 	virtual void drawCel(GuiResourceId viewId, int16 loopNo, int16 celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo, bool hiresMode = false, reg_t upscaledHiresHandle = NULL_REG);

Modified: scummvm/trunk/engines/sci/graphics/menu.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/menu.cpp	2010-02-01 09:53:42 UTC (rev 47792)
+++ scummvm/trunk/engines/sci/graphics/menu.cpp	2010-02-01 10:16:45 UTC (rev 47793)
@@ -59,8 +59,14 @@
 
 GfxMenu::~GfxMenu() {
 	// TODO: deallocate _list and _itemList
+	reset();
 }
 
+void GfxMenu::reset() {
+	_list.clear();
+	_itemList.clear();
+}
+
 void GfxMenu::kernelAddEntry(Common::String title, Common::String content, reg_t contentVmPtr) {
 	GuiMenuEntry *menuEntry;
 	uint16 itemCount = 0;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list