diff options
author | Torbjörn Andersson | 2003-09-28 14:13:57 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2003-09-28 14:13:57 +0000 |
commit | 49fa159ed4a7edb99891de2c54e5e30b7aaa86a9 (patch) | |
tree | 3009965248607c818c8a7edd377b7127f80fd3dd /sword2/driver/menu.cpp | |
parent | 1f5d51c2586d8aa53853ebb3336bc58d0a9c085d (diff) | |
download | scummvm-rg350-49fa159ed4a7edb99891de2c54e5e30b7aaa86a9.tar.gz scummvm-rg350-49fa159ed4a7edb99891de2c54e5e30b7aaa86a9.tar.bz2 scummvm-rg350-49fa159ed4a7edb99891de2c54e5e30b7aaa86a9.zip |
More cleanup, plus support for cutscene leadout music. For now, we only
play that music for cutscenes that have subtitles.
svn-id: r10460
Diffstat (limited to 'sword2/driver/menu.cpp')
-rw-r--r-- | sword2/driver/menu.cpp | 89 |
1 files changed, 34 insertions, 55 deletions
diff --git a/sword2/driver/menu.cpp b/sword2/driver/menu.cpp index 7a3647fa43..f0783eac6a 100644 --- a/sword2/driver/menu.cpp +++ b/sword2/driver/menu.cpp @@ -17,61 +17,6 @@ * $Header$ */ -//============================================================================= -// -// Filename : menu.c -// Created : 14th November 1996 -// By : P.R.Porter -// -// Summary : This module holds the code for the driver96 menu system. -// -// Functions -// --------- -// -// -------------------------------------------------------------------------- -// -// int32 ProcessMenu(void) -// -// This function should be called regularly to process the menuber system. -// The rate at which this function is called will dictate how smooth the menu -// system is. The menu cannot be drawn at a higher rate than the system -// vbl rate. -// -// -------------------------------------------------------------------------- -// -// int32 ShowMenu(uint8 menu) -// -// This function brings the menu in to view. The choice of top or bottom menu -// is defined by the parameter menu being either RDMENU_TOP or RDMENU_BOTTOM. -// An error code is returned if the menu is already shown. -// -// -------------------------------------------------------------------------- -// -// int32 HideMenu(uint8 menu) -// -// This function hides the menu defined by the parameter menu. If the menu is -// already hidden, an error code is returned. -// -// -------------------------------------------------------------------------- -// -// int32 SetMenuIcon(uint8 menu, uint8 pocket, uint8 *icon) -// -// This function sets a menubar icon to that passed in. If icon is NULL, the -// pocket is cleared, otherwise, that icon is placed into pocket. The menu is -// either RDMENU_TOP or RDMENU_BOTTOM. Valid error codes include -// RDERR_INVALIDPOCKET if the pocket number does not exist. Initially, there -// are 15 pockets. -// -// -------------------------------------------------------------------------- -// -// uint8 GetMenuStatus(uint8 menu) -// -// This function returns the status of the menu passed in menu. Return values -// are RDMENU_OPENING, RDMENU_CLOSING, RDMENU_HIDDEN and RDMENU_SHOWN. -// -//============================================================================= - - #include "stdafx.h" #include "driver96.h" #include "menu.h" @@ -115,6 +60,12 @@ void ClearIconArea(int menu, int pocket, ScummVM::Rect *r) { } } +/** + * This function should be called regularly to process the menubar system. The + * rate at which this function is called will dictate how smooth the menu + * system is. + */ + int32 ProcessMenu(void) { byte *src, *dst; uint8 menu; @@ -258,6 +209,12 @@ int32 ProcessMenu(void) { return RD_OK; } +/** + * This function brings a specified menu into view. + * @param menu RDMENU_TOP or RDMENU_BOTTOM, depending on which menu to show + * @return RD_OK, or an error code + */ + int32 ShowMenu(uint8 menu) { // Check for invalid menu parameter if (menu > RDMENU_BOTTOM) @@ -272,6 +229,12 @@ int32 ShowMenu(uint8 menu) { return RD_OK; } +/** + * This function hides a specified menu. + * @param menu RDMENU_TOP or RDMENU_BOTTOM depending on which menu to hide + * @return RD_OK, or an error code + */ + int32 HideMenu(uint8 menu) { // Check for invalid menu parameter if (menu > RDMENU_BOTTOM) @@ -286,6 +249,10 @@ int32 HideMenu(uint8 menu) { return RD_OK; } +/** + * This function hides both menus immediately. + */ + int32 CloseMenuImmediately(void) { ScummVM::Rect r; int i; @@ -308,6 +275,14 @@ int32 CloseMenuImmediately(void) { return RD_OK; } +/** + * This function sets a menubar icon. + * @param menu RDMENU_TOP or RDMENU_BOTTOM, depending on which menu to change + * @param pocket the menu pocket to change + * @param icon icon data, or NULL to clear the icon + * @return RD_OK, or an error code + */ + int32 SetMenuIcon(uint8 menu, uint8 pocket, uint8 *icon) { ScummVM::Rect r; @@ -341,6 +316,10 @@ int32 SetMenuIcon(uint8 menu, uint8 pocket, uint8 *icon) { return RD_OK; } +/** + * @return The status of the menu + */ + uint8 GetMenuStatus(uint8 menu) { if (menu > RDMENU_BOTTOM) return RDMENU_HIDDEN; |