diff --git a/GpApp/Dynamics.cpp b/GpApp/Dynamics.cpp
index d8887e2..cb33ae0 100644
--- a/GpApp/Dynamics.cpp
+++ b/GpApp/Dynamics.cpp
@@ -10,6 +10,7 @@
#include "Environ.h"
#include "MainWindow.h"
#include "Objects.h"
+#include "PLHacks.h"
#include "RectUtils.h"
#include "Room.h"
@@ -396,11 +397,27 @@ void HandleMacPlus (short who)
AddRectToWorkRects(&dinahs[who].dest);
else if (dinahs[who].timer == 1)
{
- PlayPrioritySound(kMacBeepSound, kMacBeepPriority);
- CopyBits((BitMap *)*GetGWorldPixMap(applianceSrcMap),
- (BitMap *)*GetGWorldPixMap(backSrcMap),
- &plusScreen2, &dinahs[who].dest,
+ if (!IsMacPlusSoundBanned())
+ PlayPrioritySound(kMacBeepSound, kMacBeepPriority);
+
+ if (IsMacPlusGraphicBanned())
+ {
+ CGraf *oldPort = GetGraphicsPort();
+ SetGraphicsPort(backSrcMap);
+
+ ForeColor(whiteColor);
+ PaintRect(&dinahs[who].dest);
+
+ SetGraphicsPort(oldPort);
+ }
+ else
+ {
+ CopyBits((BitMap *)*GetGWorldPixMap(applianceSrcMap),
+ (BitMap *)*GetGWorldPixMap(backSrcMap),
+ &plusScreen2, &dinahs[who].dest,
srcCopy, nil);
+ }
+
AddRectToBackRects(&dinahs[who].dest);
}
else if (dinahs[who].timer == 30)
diff --git a/GpApp/ObjectDraw2.cpp b/GpApp/ObjectDraw2.cpp
index 9f7c17d..53396a5 100644
--- a/GpApp/ObjectDraw2.cpp
+++ b/GpApp/ObjectDraw2.cpp
@@ -15,7 +15,7 @@
#include "RectUtils.h"
#include "Room.h"
#include "Utilities.h"
-
+#include "PLHacks.h"
#define k8WhiteColor 0
#define kIntenseYellowColor 5
@@ -601,6 +601,18 @@ void DrawSimpleAppliance (short what, Rect *theRect)
void DrawMacPlus (Rect *theRect, Boolean isOn, Boolean isLit)
{
Rect screen;
+
+ if (IsMacPlusGraphicBanned())
+ {
+ CGraf *wasGraph = GetGraphicsPort();
+ SetGraphicsPort(backSrcMap);
+
+ ForeColor(blackColor);
+ PaintRect(theRect);
+
+ SetGraphicsPort(wasGraph);
+ return;
+ }
if (isLit)
{
diff --git a/PortabilityLayer/PLHacks.cpp b/PortabilityLayer/PLHacks.cpp
new file mode 100644
index 0000000..fdd3a2e
--- /dev/null
+++ b/PortabilityLayer/PLHacks.cpp
@@ -0,0 +1,11 @@
+#include "PLHacks.h"
+
+bool IsMacPlusGraphicBanned()
+{
+ return true;
+}
+
+bool IsMacPlusSoundBanned()
+{
+ return true;
+}
diff --git a/PortabilityLayer/PLHacks.h b/PortabilityLayer/PLHacks.h
new file mode 100644
index 0000000..db810bc
--- /dev/null
+++ b/PortabilityLayer/PLHacks.h
@@ -0,0 +1,4 @@
+#pragma once
+
+bool IsMacPlusGraphicBanned();
+bool IsMacPlusSoundBanned();
diff --git a/PortabilityLayer/PortabilityLayer.vcxproj b/PortabilityLayer/PortabilityLayer.vcxproj
index a0605fc..e658a8e 100644
--- a/PortabilityLayer/PortabilityLayer.vcxproj
+++ b/PortabilityLayer/PortabilityLayer.vcxproj
@@ -192,6 +192,7 @@
+
@@ -287,6 +288,7 @@
+
diff --git a/PortabilityLayer/PortabilityLayer.vcxproj.filters b/PortabilityLayer/PortabilityLayer.vcxproj.filters
index 5ddd491..bb3ebe2 100644
--- a/PortabilityLayer/PortabilityLayer.vcxproj.filters
+++ b/PortabilityLayer/PortabilityLayer.vcxproj.filters
@@ -384,6 +384,9 @@
Header Files
+
+ Header Files
+
@@ -581,5 +584,8 @@
Source Files
+
+ Source Files
+
\ No newline at end of file