X Tutup
Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
d2bce7b
SCUMM: MACGUI: Add very broken Mac GUI for v6 and v7
Dec 10, 2024
0c566aa
SCUMM: MACGUI: More work in progress
Dec 11, 2024
e9205bd
SCUMM: MACGUI: Initial "About" implementation for V6-7 games
Dec 11, 2024
67d4172
SCUMM: MACGUI: Fix gamma correction for v6-7 About screens
Dec 11, 2024
c0de848
SCUMM: MACGUI: First attempt at black screen while menu is open
Dec 12, 2024
9d96bbb
SCUMM: MACGUI: Fix clearing background on menu activation in v6-7
Dec 12, 2024
5400e82
SCUMM: MACGUI: Add missing menu for v6-v7
Dec 13, 2024
3ab9924
SCUMM: MACGUI: Very early (very broken) work on the v6-v7 quit dialog
Dec 13, 2024
f51a983
SCUMM: MACGUI: Implement the rest of the V6-7 quit dialog
Dec 14, 2024
66e9d66
SCUMM: MACGUI: Small cleanup
Dec 14, 2024
6431dd7
SCUMM: MACGUI: Simplify v6-v7 dialog border drawing
Dec 14, 2024
f221349
SCUMM: MACGUI: Black out the screen for all v6-7 dialogs
Dec 14, 2024
8a12cb1
SCUMM: MACGUI: Add todo comment
Dec 14, 2024
fb888e2
SCUMM: MACGUI: Implement v6 restart dialog
Dec 14, 2024
f8a587f
SCUMM: MACGUI: Implement "Skip scene" menu item.
Dec 14, 2024
742020b
SCUMM: MACGUI: Update Mac window manager from SMUSH player
Dec 15, 2024
106d065
SCUMM: MACGUI: Use the real palette, not the engine palette
Dec 16, 2024
d026f73
SCUMM: MACGUI: Fix game name in v6-v7 Apple menu
Dec 16, 2024
d29f7bf
SCUMM: MACGUI: Use _gameName for v6-v7 restart dialog
Dec 16, 2024
5ef43fd
SCUMM: MACGUI: Initial v6/v7 save/load dialogs, plus other fixes
Dec 16, 2024
11aa9c3
SCUMM: MACGUI: Implement much of the remaining v6-7 menus
Dec 17, 2024
049b69b
SCUMM: MACGUI: Fix bugs in icon loader, plus early v6-7 options dialog
Dec 17, 2024
7c2ef25
SCUMM: MACGUI: Complete rework of v6-7 window palettes
Dec 18, 2024
d980052
SCUMM: MACGUI: Make OK the default button in v6-7 options dialogs
Dec 18, 2024
c52e5f4
SCUMM: MACGUI: Add missing static graphics to DOTT options dialog
Dec 18, 2024
2607ca3
SCUMM: MACGUI: Add missing static graphics to Sam & Max options dialog
Dec 19, 2024
b64adf6
SCUMM: MACGUI: Add missing static graphics to Full Throttle options
Dec 19, 2024
9587085
SCUMM: MACGUI: Add missing static graphics to Maniac Mansion options
Dec 19, 2024
0fe4d04
SCUMM: MACGUI: Work in progress on the drop down list widget
Dec 19, 2024
fd0c88b
SCUMM: MACGUI: Finish drop down implementation, at least for now
Dec 20, 2024
5118c33
SCUMM: MACGUI: Combine MacIcon and MacPicture into a single widget
Dec 20, 2024
b1b2105
SCUMM: MACGUI: Fix palette regression with monochrome images
Dec 20, 2024
3ab3dda
SCUMM: MACGUI: Preliminary work on image slider to support V6-7 sliders
Dec 20, 2024
b2d12fd
SCUMM: MACGUI: The slider widgets sort of work
Dec 20, 2024
bd91832
SCUMM: MACGUI: Use correct bounds for icons
Dec 20, 2024
a24270e
SCUMM: MACGUI: Add mechanism to override the calculated slider stops
Dec 20, 2024
d243c1b
SCUMM: MACGUI: Add "snap while dragging" for MacImageSlider
Dec 20, 2024
08d09c3
SCUMM: MACGUI: Add support for icon masks
Dec 21, 2024
90c8b7c
SCUMM: MACGUI: Add missing "override" keyword
Dec 21, 2024
bdf55f1
SCUMM: MACGUI: Add support for The Dig Mac demo
Dec 21, 2024
d100cd0
SCUMM: MACGUI: Add support for Sam & Max demo
Dec 21, 2024
58f80fd
SCUMM: MACGUI: Fix memory leaks
Dec 22, 2024
8f38fd1
SCUMM: MACGUI: Allow the Mac Fate of Atlantis demo to run
Dec 22, 2024
5773454
SCUMM: MACGUI: Remove leftover debug message
Dec 22, 2024
1d03451
SCUMM: MACGUI: Hopefully fix palette regression
Dec 22, 2024
dfababb
SCUMM: MACGUI: Attempt to fix menu glitch for earlier games
Dec 22, 2024
819ebae
SCUMM: MACGUI: Add About dialog for Mac Fate of Atlantis Demo
Dec 22, 2024
525fcca
SCUMM: MACGUI: Adjust "About" timing for the Fate of Atlantis Mac Demo
Dec 22, 2024
a83d8bf
SCUMM: MACGUI: Hopefully fix crash with non-English v6-7 games
Dec 23, 2024
bbe8a3e
SCUMM: MACGUI: Further tweaks to the Fate of Atlantis demo About dialog
Dec 23, 2024
891b892
SCUMM: MACGUI: Hopefully fix detection of floppy Fate of Atlantis
Dec 23, 2024
58b86bf
SCUMM: MACGUI: Simplified Indy 4 floppy version check
Dec 23, 2024
c160683
SCUMM: MACGUI: Minor cleanup
Dec 23, 2024
ae4c426
SCUMM: MACGUI: Fix major oops when dealing with "user items" in dialogs
Dec 23, 2024
285461c
SCUMM: MACGUI: Silence warning about unknown DITL item
Dec 23, 2024
bf607f1
SCUMM: MACGUI: Renamed the drop down list to pop-up menu
Dec 23, 2024
c8fedd5
SCUMM: MACGUI: Generate pop-up menus from the DITL resource
Dec 23, 2024
aa54c7c
SCUMM: MACGUI: Read menu IDs from MBAR resource where available
Dec 23, 2024
d596ba5
SCUMM: MACGUI: Remove hardcoded "Game" menu name
Dec 24, 2024
736fc62
SCUMM: MACGUI: Clarify comment a bit
Dec 24, 2024
4ad24b1
SCUMM: MACGUI: Rework the dialog window event loop
Dec 24, 2024
d27ec70
SCUMM: MACGUI: Add thumbnail support to V6-7 open dialog. Kind of.
Dec 25, 2024
2b3e75e
SCUMM: MACGUI: Fix thumbnail color quantization a bit
Dec 25, 2024
49851a2
SCUMM: MACGUI: Fix palette glitch
Dec 25, 2024
575b100
SCUMM: MACGUI: Slightly better color quantization for v6-7 thumbnails
Dec 26, 2024
38cea5e
SCUMM: MACGUI: Minor cleanup
Dec 26, 2024
0f4eac0
SCUMM: MACGUI: Fix regression from using String's Pascal string reader
Dec 26, 2024
a378ae5
SCUMM: MACGUI: Enable Mac GUI for Full Throttle demo
Dec 26, 2024
a48fa37
GRAPHICS: MACGUI: Add callback for when the menu is activated
Dec 27, 2024
3c5e517
SCUMM: MACGUI: Use the Mac Window Manager menu activation callback
Dec 27, 2024
f5f75ad
SCUMM: MACGUI: Fix About dialog for Full Throttle demo
Dec 27, 2024
46f5e06
SCUMM: MACGUI: Simplify word wrapping in demo About dialogs
Dec 28, 2024
eecca7d
SCUMM: MACGUI: Populate the options dialogs with the actual settings
Dec 28, 2024
14a407c
SCUMM: (SAM/Mac) - fix icon color init/remap
athrxx Dec 28, 2024
1fa7904
SCUMM: MACGUI: Use ConfMan to retrieve volume settings
Dec 28, 2024
39b525d
SCUMM: MACGUI: Options dialog cleanup
Dec 28, 2024
4bb9891
SCUMM: cleanup v7/8 specific syncSoundSettings() code
athrxx Dec 29, 2024
6284308
SCUMM: (SCUMM6/7/Mac) - implement sound mute menu option
athrxx Dec 29, 2024
56d53dc
SCUMM: (IMS/Mac) - fix volume init values
athrxx Dec 29, 2024
3a2dc78
SCUMM: MACGUI: Add very untested code for saving most v6-7 options
Dec 29, 2024
19f0d56
SCUMM: Fix build when v7 and v8 aren't enabled
Dec 29, 2024
8299a51
SCUMM: Remove unnecessary version check from v7 function
Dec 29, 2024
97c157c
SCUMM: MACGUI: Fix Digital iMUSE volume setting.
Dec 29, 2024
ff738d6
SCUMM: MACGUI: Don't crash on restart if there is no restart dialog
Dec 29, 2024
f0e0a28
SCUMM: MACGUI: Fix interval for text speed sliders
Dec 29, 2024
7d1153d
SCUMM: MACGUI: Word wrap static text widgets by default
Dec 29, 2024
bf56e02
SCUMM: MACGUI: Save v6-7 subtitle/voice settings from options dialog
Dec 29, 2024
eda228b
SCUMM: MACGUI: Implement "Resume Game"
Dec 29, 2024
2b48f51
SCUMM: Hopefully fix pausing of SMUSH movies
Dec 29, 2024
339b422
SCUMM: MACGUI: Fix v6-7 slider widgets that don't start at 0
Dec 30, 2024
ee0be7b
SCUMM: Prevent SMUSH palette changes and screen updates while paused
Dec 30, 2024
a3f9746
SCUMM: MACGUI: Suppress Mac GUI if a message banner is active
Dec 30, 2024
342c29a
IMAGE: Make the mask a Surface instead of a buffer
Dec 30, 2024
4928d5a
SCUMM: MACGUI: Don't erase slider handle before it's been drawn
Dec 30, 2024
e635c8f
IMAGE: Remove unnecessary mask-related methods
Dec 30, 2024
31c0689
SCUMM: MACGUI: Adapted better color quantizer from Dr. Dobb's
Dec 31, 2024
1220cae
SCUMM: MACGUI: Fix corner case when reducing the octree
Dec 31, 2024
725fa8b
SCUMM: MACGUI: Cleanup
Jan 1, 2025
453a737
SCUMM: MACGUI: Clean up color quantization code a bit
Jan 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
SCUMM: MACGUI: Fix game name in v6-v7 Apple menu
  • Loading branch information
Torbjörn Andersson committed Dec 27, 2024
commit d026f73869a17016be342b87f5f15f78fe10cc5c
2 changes: 1 addition & 1 deletion engines/scumm/macgui/macgui_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ class MacGuiImpl {

bool runOkCancelDialog(Common::String text);

bool readStrings();
virtual bool readStrings();
void parseSTRSBlock(uint8 *strsData, const MacSTRSParsingEntry *parsingTable, int parsingTableSize);

// These are non interactable, no point in having them as widgets for now...
Expand Down
4 changes: 1 addition & 3 deletions engines/scumm/macgui/macgui_strings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -603,14 +603,12 @@ static const MacGuiImpl::MacSTRSParsingEntry strsIndy4FloppyVariant2Table[] = {
#undef SKIP_P

bool MacGuiImpl::readStrings() {
if (_vm->_game.version >= 6) {
// TODO: Fix this!
if (_vm->_game.version >= 6 || _vm->_game.id == GID_MANIAC) {
_strsStrings.clear();
_strsStrings.reserve(128);
for (int i = 0; i < 128; i++) {
_strsStrings.emplace_back("");
}
_strsStrings[kMSIAboutGameName] = "About some game...";
return true;
}

Expand Down
32 changes: 29 additions & 3 deletions engines/scumm/macgui/macgui_v6.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,19 @@ namespace Scumm {
MacV6Gui::MacV6Gui(ScummEngine *vm, const Common::Path &resourceFile) : MacGuiImpl(vm, resourceFile) {
_backupScreen = nullptr;
_backupPalette = nullptr;

if (_vm->_game.id == GID_TENTACLE)
_gameName = "Day of the Tentacle";
else if (_vm->_game.id == GID_SAMNMAX)
_gameName = "Sam & Max";
else if (_vm->_game.id == GID_DIG)
_gameName = "The Dig";
else if (_vm->_game.id == GID_FT)
_gameName = "Full Throttle";
else if (_vm->_game.id == GID_MANIAC)
_gameName = "Maniac Mansion";
else
_gameName = "Some Game I Do Not Know";
}

MacV6Gui::~MacV6Gui() {
Expand All @@ -68,8 +81,18 @@ MacV6Gui::~MacV6Gui() {
delete _backupPalette;
}

bool MacV6Gui::readStrings() {
_strsStrings.clear();
_strsStrings.reserve(128);
for (int i = 0; i < 128; i++)
_strsStrings.emplace_back("");

_strsStrings[kMSIAboutGameName] = "About " + _gameName + "...";
return true;
}

const Graphics::Font *MacV6Gui::getFontByScummId(int32 id) {
// V5 games do not use CharsetRendererMac
// V6 and V7 games (and Maniac Mansion) do not use CharsetRendererMac
return nullptr;
}

Expand Down Expand Up @@ -408,11 +431,14 @@ bool MacV6Gui::runRestartDialog() {

window->setDefaultWidget(buttonOk);

// Only Day of the Tentacle seems to have a Restart dialog?
window->addSubstitution("");
window->addSubstitution("");
window->addSubstitution("");
window->addSubstitution("Day of the Tentacle");

if (_vm->_game.id == GID_TENTACLE)
window->addSubstitution("Day of the Tentacle");
else
window->addSubstitution("Sam & Max");

Common::Array<int> deferredActionsIds;

Expand Down
4 changes: 4 additions & 0 deletions engines/scumm/macgui/macgui_v6.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ class MacGuiImpl;

class MacV6Gui : public MacGuiImpl {
private:
Common::String _gameName;

Graphics::Surface *_backupScreen;
byte *_backupPalette;

Expand All @@ -41,6 +43,8 @@ class MacV6Gui : public MacGuiImpl {
MacV6Gui(ScummEngine *vm, const Common::Path &resourceFile);
~MacV6Gui();

bool readStrings() override;

uint32 getBlack() const override;
uint32 getWhite() const override;

Expand Down
X Tutup