From c90ade1f10d3ff0c2f7e429ec5d688b7db8637c9 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sun, 7 Jul 2002 21:58:12 +0000 Subject: [PATCH] got rid of std::stack again svn-id: r4484 --- newgui.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/newgui.h b/newgui.h index 8b52e15fcd6..7145699ed9d 100644 --- a/newgui.h +++ b/newgui.h @@ -21,15 +21,26 @@ #ifndef NEWGUI_H #define NEWGUI_H -#include - #include "scummsys.h" class Scumm; class Dialog; -typedef std::stack DialogStack; +// Extremly simple stack class, doesn't even do any error checking (for now) +class DialogStack { +protected: + Dialog *_stack[10]; // Anybody nesting dialogs deeper than 4 is mad anyway + int _size; +public: + DialogStack() : _size(0) {} + + bool empty() const { return _size <= 0; } + void push(Dialog *d) { _stack[_size++] = d; } + Dialog *top() const { return _stack[_size-1]; } + void pop() { if (_size > 0) _stack[--_size] = 0; } +}; +// This class hopefully will replace the old Gui class completly one day class NewGui { friend class Dialog; public: @@ -50,7 +61,6 @@ public: protected: Scumm *_s; bool _need_redraw; -// Dialog *_activeDialog; DialogStack _dialogStack; Dialog *_pauseDialog;