Skip to content

Commit

Permalink
KOTOR: Use ScopedPtr in main menu GUI classes
Browse files Browse the repository at this point in the history
  • Loading branch information
DrMcCoy committed Oct 26, 2016
1 parent bbfa45d commit a553266
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 23 deletions.
7 changes: 2 additions & 5 deletions src/engines/kotor/gui/main/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,6 @@ MainMenu::MainMenu(Module &module, bool isXbox, ::Engines::Console *console) : G
load(isXbox ? "mainmenu" : "mainmenu16x12");

addBackground(kBackgroundTypeMenu);

_movies = 0;
_options = 0;
}

MainMenu::~MainMenu() {
Expand All @@ -61,15 +58,15 @@ void MainMenu::createMovies() {
return;

// Create the movies menu
_movies = new MoviesMenu(_console);
_movies.reset(new MoviesMenu(_console));
}

void MainMenu::createOptions() {
if (_options)
return;

// Create the options menu
_options = new OptionsMenu(_console);
_options.reset(new OptionsMenu(_console));

}

Expand Down
6 changes: 4 additions & 2 deletions src/engines/kotor/gui/main/main.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
#ifndef ENGINES_KOTOR_GUI_MAIN_MAIN_H
#define ENGINES_KOTOR_GUI_MAIN_MAIN_H

#include "src/common/scopedptr.h"

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

namespace Engines {
Expand All @@ -47,8 +49,8 @@ class MainMenu : public GUI {
Module *_module;
bool _isXbox;

GUI *_movies;
GUI *_options;
Common::ScopedPtr<GUI> _movies;
Common::ScopedPtr<GUI> _options;

void createMovies();
void createOptions();
Expand Down
15 changes: 5 additions & 10 deletions src/engines/kotor/gui/main/options.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,20 +41,15 @@ namespace KotOR {
OptionsMenu::OptionsMenu(::Engines::Console *console) : GUI(console) {
load("optionsmain");

_gameplay = new OptionsGameplayMenu(_console);
_feedback = new OptionsFeedbackMenu(_console);
_autopause = new OptionsAutoPauseMenu(_console);
_graphics = new OptionsGraphicsMenu(_console);
_sound = new OptionsSoundMenu(_console);
_gameplay.reset(new OptionsGameplayMenu(_console));
_feedback.reset(new OptionsFeedbackMenu(_console));
_autopause.reset(new OptionsAutoPauseMenu(_console));
_graphics.reset(new OptionsGraphicsMenu(_console));
_sound.reset(new OptionsSoundMenu(_console));

}

OptionsMenu::~OptionsMenu() {
delete _gameplay;
delete _feedback;
delete _autopause;
delete _graphics;
delete _sound;
}

void OptionsMenu::callbackActive(Widget &widget) {
Expand Down
14 changes: 8 additions & 6 deletions src/engines/kotor/gui/main/options.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,12 @@
#ifndef ENGINES_KOTOR_GUI_MAIN_OPTIONS_H
#define ENGINES_KOTOR_GUI_MAIN_OPTIONS_H

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

#include "src/graphics/aurora/highlightable.h"

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

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

namespace Engines {
Expand All @@ -46,11 +48,11 @@ class OptionsMenu : public GUI {
private:
void adoptChanges();

GUI *_gameplay;
GUI *_feedback;
GUI *_autopause;
GUI *_graphics;
GUI *_sound;
Common::ScopedPtr<GUI> _gameplay;
Common::ScopedPtr<GUI> _feedback;
Common::ScopedPtr<GUI> _autopause;
Common::ScopedPtr<GUI> _graphics;
Common::ScopedPtr<GUI> _sound;
};

} // End of namespace KotOR
Expand Down

0 comments on commit a553266

Please sign in to comment.