Skip to content

Commit

Permalink
KOTOR: Pass Module reference up to SaveLoadMenu
Browse files Browse the repository at this point in the history
  • Loading branch information
vkremianskii committed May 13, 2018
1 parent 3a24c6d commit eba9083
Show file tree
Hide file tree
Showing 8 changed files with 28 additions and 16 deletions.
3 changes: 2 additions & 1 deletion src/engines/kotor/gui/ingame/hud.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ namespace Engines {

namespace KotOR {

HUD::HUD(Engines::Console *console) : GUI(console) {
HUD::HUD(Module &module, Engines::Console *console)
: GUI(console), _menu(module, console) {
unsigned int wWidth = WindowMan.getWindowWidth();
unsigned int wHeight = WindowMan.getWindowHeight();

Expand Down
3 changes: 2 additions & 1 deletion src/engines/kotor/gui/ingame/hud.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@

#include "src/engines/aurora/console.h"

#include "src/engines/kotor/module.h"
#include "src/engines/kotor/gui/gui.h"

#include "src/engines/kotor/gui/ingame/container.h"
Expand All @@ -39,7 +40,7 @@ namespace KotOR {

class HUD : public GUI {
public:
HUD(::Engines::Console *console = 0);
HUD(Module &module, ::Engines::Console *console = 0);

void setReturnStrref(uint32 id);
void setReturnQueryStrref(uint32 id);
Expand Down
4 changes: 2 additions & 2 deletions src/engines/kotor/gui/ingame/ingame.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ namespace Engines {

namespace KotOR {

IngameGUI::IngameGUI(Module &UNUSED(module), Console *console) {
_hud.reset(new HUD(console));
IngameGUI::IngameGUI(Module &module, Console *console) {
_hud.reset(new HUD(module, console));
}

void IngameGUI::show() {
Expand Down
7 changes: 4 additions & 3 deletions src/engines/kotor/gui/ingame/menu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ namespace Engines {

namespace KotOR {

Menu::Menu(Console *console) : GUI(console), _currentMenu(0), _lastProto(0) {
Menu::Menu(Module &module, Console *console)
: GUI(console), _currentMenu(0), _lastProto(0) {
load("top");

addBackground(kBackgroundTypeMenu, true);
Expand All @@ -43,8 +44,8 @@ Menu::Menu(Console *console) : GUI(console), _currentMenu(0), _lastProto(0) {
_menuJou.reset(new MenuJournal(console));
_menuMap.reset(new MenuMap(console));
_menuOpt.reset(new MenuOptions(console));
_menuLoad.reset(new SaveLoadMenu(console, kSaveLoadMenuTypeLoad, true));
_menuSave.reset(new SaveLoadMenu(console, kSaveLoadMenuTypeSave, true));
_menuLoad.reset(new SaveLoadMenu(module, console, kSaveLoadMenuTypeLoad, true));
_menuSave.reset(new SaveLoadMenu(module, console, kSaveLoadMenuTypeSave, true));

_protoEqu = getProtoItem("LBLH_EQU");
_protoInv = getProtoItem("LBLH_INV");
Expand Down
2 changes: 1 addition & 1 deletion src/engines/kotor/gui/ingame/menu.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ namespace KotOR {

class Menu : public GUI {
public:
Menu(::Engines::Console *console = 0);
Menu(Module &module, ::Engines::Console *console = 0);

/** Set the return string ref. */
void setReturnStrref(uint32);
Expand Down
2 changes: 1 addition & 1 deletion src/engines/kotor/gui/main/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ void MainMenu::createLoadGame() {
return;

// Create the load game menu
_loadGame.reset(new SaveLoadMenu(_console));
_loadGame.reset(new SaveLoadMenu(*_module, _console));
}

void MainMenu::startMainMusic() {
Expand Down
9 changes: 7 additions & 2 deletions src/engines/kotor/gui/saveload.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,13 @@ namespace KotOR {

static const int kMaxVisibleSlots = 6;

SaveLoadMenu::SaveLoadMenu(::Engines::Console *console, uint8 type,
bool frontBackground) : GUI(console), _type(type) {
SaveLoadMenu::SaveLoadMenu(Module &module,
::Engines::Console *console,
uint8 type,
bool frontBackground)
: GUI(console),
_module(&module),
_type(type) {
load("saveload");
addBackground(kBackgroundTypeMenu, frontBackground);
createSlotWidgets();
Expand Down
14 changes: 9 additions & 5 deletions src/engines/kotor/gui/saveload.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@
#include "src/common/scopedptr.h"

#include "src/engines/aurora/console.h"

#include "src/engines/kotor/module.h"

#include "src/engines/kotor/gui/gui.h"

namespace Engines {
Expand All @@ -43,17 +46,18 @@ enum {

class SaveLoadMenu : public GUI {
public:
SaveLoadMenu(::Engines::Console *console,
SaveLoadMenu(Module &module,
::Engines::Console *console,
uint8 type = kSaveLoadMenuTypeLoad,
bool frontBackground = false);
protected:
uint8 _type;

void callbackActive(Widget &widget);
private:
Module *_module;
uint8 _type;
std::vector<KotORWidget *> _slots;
std::vector<Common::UString> _savedGames;

void callbackActive(Widget &widget);

void createSlotWidgets();
void addNewSlotItem();
void addSavedGameItems();
Expand Down

0 comments on commit eba9083

Please sign in to comment.