diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..1b896d3
Binary files /dev/null and b/.DS_Store differ
diff --git a/Apple2GSXcodeTemplate.pkg b/Apple2GSXcodeTemplate.pkg
new file mode 100644
index 0000000..f4ffee1
Binary files /dev/null and b/Apple2GSXcodeTemplate.pkg differ
diff --git a/Makefile b/Makefile
index 0dfa38c..8008855 100644
--- a/Makefile
+++ b/Makefile
@@ -20,7 +20,7 @@ PGM=___PACKAGENAME___
# nda - A new desk accessory
# xcmd - A HyperCard XCMD or XCFN
#
-TARGETTYPE=shell
+# TARGETTYPE=shell
# TARGETTYPE=desktop
# TARGETTYPE=cda
# TARGETTYPE=cdev
diff --git a/pkg/Templates/Apple IIgs/.DS_Store b/pkg/Templates/Apple IIgs/.DS_Store
index 01faf56..afc2aaa 100644
Binary files a/pkg/Templates/Apple IIgs/.DS_Store and b/pkg/Templates/Apple IIgs/.DS_Store differ
diff --git a/pkg/Templates/Apple IIgs/Classic Desk Accessory in C.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/Classic Desk Accessory in C.xctemplate/TemplateInfo.plist
new file mode 100644
index 0000000..71fb651
--- /dev/null
+++ b/pkg/Templates/Apple IIgs/Classic Desk Accessory in C.xctemplate/TemplateInfo.plist
@@ -0,0 +1,112 @@
+
+
+
+
+ Nodes
+
+ main.c
+ Makefile
+ make/head.mk
+ make/orca-asm
+ make/orca-cc
+ make/orca-rez
+ make/tail.mk
+
+ Definitions
+
+ main.c
+
+ Path
+ main.c
+
+ make/head.mk
+
+ Group
+ make
+ Path
+ make/head.mk
+
+ make/orca-asm
+
+ Group
+ make
+ Path
+ make/orca-asm
+
+ make/orca-cc
+
+ Group
+ make
+ Path
+ make/orca-cc
+
+ make/orca-rez
+
+ Group
+ make
+ Path
+ make/orca-rez
+
+ make/tail.mk
+
+ Group
+ make
+ Path
+ make/tail.mk
+
+ Makefile
+
+ Path
+ Makefile
+
+
+ Kind
+ Xcode.Xcode3.ProjectTemplateUnitKind
+ Identifier
+ com.halcyontouch.apple2gsCCDA
+ Ancestors
+
+ com.apple.dt.unit.externalBuildSystem
+
+ Concrete
+
+ Description
+ This template creates an Apple IIgs C code project to build a classic desk accessory. The project starts with a single C file which you can modify. You can also add more assembly or C files as you may like.
+ Options
+
+ Targets
+
+
+ TargetType
+ Legacy
+ TargetIdentifier
+ com.apple.dt.cocoaLegacyTarget
+ BuildToolPath
+ ___VARIABLE_buildToolPath___
+ BuildToolArgsString
+ -C ___PACKAGENAME___ $(ACTION)
+ SharedSettings
+
+ OTHER_CFLAGS
+
+ OTHER_LDFLAGS
+
+
+ Configurations
+
+ Debug
+
+ DEBUGGING_SYMBOLS
+ YES
+ GCC_GENERATE_DEBUGGING_SYMBOLS
+ YES
+ GCC_OPTIMIZATION_LEVEL
+ 0
+
+ Release
+
+
+
+
+
+
diff --git a/pkg/Templates/Apple IIgs/Classic Desk Accessory in C.xctemplate/main.c b/pkg/Templates/Apple IIgs/Classic Desk Accessory in C.xctemplate/main.c
new file mode 100644
index 0000000..27df588
--- /dev/null
+++ b/pkg/Templates/Apple IIgs/Classic Desk Accessory in C.xctemplate/main.c
@@ -0,0 +1,32 @@
+/*
+ * ___FILENAME___
+ * ___PACKAGENAME___
+ *
+ * Created by ___FULLUSERNAME___ on ___DATE___.
+ * Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
+ *
+ */
+
+
+
+#pragma cda "___PACKAGENAME___" start shutdown
+
+
+#include
+
+
+char str[256];
+
+void start(void)
+{
+ printf("Hello, world!\n");
+ printf("\n\n Press ENTER to quit...");
+
+ fgets(str, sizeof(str), stdin);
+}
+
+
+void shutdown(void)
+{
+}
+
diff --git a/pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/TemplateInfo.plist
new file mode 100644
index 0000000..4450607
--- /dev/null
+++ b/pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/TemplateInfo.plist
@@ -0,0 +1,124 @@
+
+
+
+
+ Nodes
+
+ main.c
+ main.h
+ main.rez
+ Makefile
+ make/head.mk
+ make/orca-asm
+ make/orca-cc
+ make/orca-rez
+ make/tail.mk
+
+ Definitions
+
+ main.c
+
+ Path
+ main.c
+
+ main.h
+
+ Path
+ main.h
+
+ main.rez
+
+ Path
+ main.rez
+
+ make/head.mk
+
+ Group
+ make
+ Path
+ make/head.mk
+
+ make/orca-asm
+
+ Group
+ make
+ Path
+ make/orca-asm
+
+ make/orca-cc
+
+ Group
+ make
+ Path
+ make/orca-cc
+
+ make/orca-rez
+
+ Group
+ make
+ Path
+ make/orca-rez
+
+ make/tail.mk
+
+ Group
+ make
+ Path
+ make/tail.mk
+
+ Makefile
+
+ Path
+ Makefile
+
+
+ Kind
+ Xcode.Xcode3.ProjectTemplateUnitKind
+ Identifier
+ com.halcyontouch.apple2gsCDesktopApp
+ Ancestors
+
+ com.apple.dt.unit.externalBuildSystem
+
+ Concrete
+
+ Description
+ This template creates an Apple IIgs C code project to build desktop application. The project starts with a single C file which you can modify. You can also add more assembly or C files as you may like.
+ Options
+
+ Targets
+
+
+ TargetType
+ Legacy
+ TargetIdentifier
+ com.apple.dt.cocoaLegacyTarget
+ BuildToolPath
+ ___VARIABLE_buildToolPath___
+ BuildToolArgsString
+ -C ___PACKAGENAME___ $(ACTION)
+ SharedSettings
+
+ OTHER_CFLAGS
+
+ OTHER_LDFLAGS
+
+
+ Configurations
+
+ Debug
+
+ DEBUGGING_SYMBOLS
+ YES
+ GCC_GENERATE_DEBUGGING_SYMBOLS
+ YES
+ GCC_OPTIMIZATION_LEVEL
+ 0
+
+ Release
+
+
+
+
+
+
diff --git a/pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/main.c b/pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/main.c
new file mode 100644
index 0000000..2c8685e
--- /dev/null
+++ b/pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/main.c
@@ -0,0 +1,123 @@
+/*
+ * ___FILENAME___
+ * ___PACKAGENAME___
+ *
+ * Created by ___FULLUSERNAME___ on ___DATE___.
+ * Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
+ *
+ */
+
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "___FILEBASENAME___.h"
+
+
+BOOLEAN done;
+EventRecord myEvent;
+
+
+void DoAbout(void)
+{
+ AlertWindow(awCString + awResource, NULL, aboutAlertString);
+}
+
+
+GrafPortPtr NewDocument(void)
+{
+ return(NewWindow2("\pMyWindow", 0, NULL, NULL, 0x02, windowRes, rWindParam1));
+}
+
+
+void CloseDocument(GrafPortPtr wPtr)
+{
+ if (wPtr != NULL) {
+ CloseWindow(wPtr);
+ }
+}
+
+
+void HandleMenu(void)
+{
+ int menuNum;
+ int menuItemNum;
+
+ menuNum = myEvent.wmTaskData >> 16;
+ menuItemNum = myEvent.wmTaskData;
+
+ switch (menuItemNum) {
+ case appleAbout:
+ DoAbout();
+ break;
+ case fileNew:
+ NewDocument();
+ break;
+ case fileOpen:
+ NewDocument();
+ break;
+ case fileClose:
+ CloseDocument(FrontWindow());
+ break;
+ case fileQuit:
+ done = TRUE;
+ break;
+ case editUndo:
+ break;
+ case editCut:
+ break;
+ case editCopy:
+ break;
+ case editPaste:
+ break;
+ case editClear:
+ break;
+ }
+ HiliteMenu(FALSE, menuNum);
+}
+
+
+void InitMenus(void)
+{
+ int height;
+ MenuBarRecHndl menuBarHand;
+
+ menuBarHand = NewMenuBar2(refIsResource, menuBar, NULL);
+ SetSysBar(menuBarHand);
+ SetMenuBar(NULL);
+ FixAppleMenu(appleMenu);
+ height = FixMenuBar();
+ DrawMenuBar();
+}
+
+
+int main(void)
+{
+ int event;
+
+ startdesk(640);
+ InitMenus();
+ InitCursor();
+
+ done = FALSE;
+ myEvent.wmTaskMask = 0x001F7FFF;
+ while (!done) {
+ event = TaskMaster(everyEvent, &myEvent);
+ switch (event) {
+ case wInSpecial:
+ case wInMenuBar:
+ HandleMenu();
+ break;
+ case wInGoAway:
+ CloseDocument((GrafPortPtr)myEvent.wmTaskData);
+ break;
+ }
+ }
+ enddesk();
+}
+
diff --git a/pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/main.h b/pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/main.h
new file mode 100644
index 0000000..a7b42f9
--- /dev/null
+++ b/pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/main.h
@@ -0,0 +1,38 @@
+/*
+ * ___FILENAME___
+ * ___PACKAGENAME___
+ *
+ * Created by ___FULLUSERNAME___ on ___DATE___.
+ * Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
+ *
+ */
+
+#ifndef _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
+#define _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
+
+
+#define menuBar 1
+
+#define appleMenu 3
+#define fileMenu 4
+#define editMenu 5
+
+#define editUndo 250
+#define editCut 251
+#define editCopy 252
+#define editPaste 253
+#define editClear 254
+
+#define fileNew 401
+#define fileOpen 402
+#define fileClose 255
+#define fileQuit 256
+
+#define appleAbout 301
+
+#define aboutAlertString 1
+
+#define windowRes 1001
+
+
+#endif /* defined(_____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____) */
diff --git a/pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/main.rez b/pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/main.rez
new file mode 100644
index 0000000..46be5fd
--- /dev/null
+++ b/pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/main.rez
@@ -0,0 +1,207 @@
+/*
+ * ___FILENAME___
+ * ___PROJECTNAME___
+ *
+ * Created by ___FULLUSERNAME___ on ___DATE___.
+ * ___COPYRIGHT___
+ */
+
+
+#include "types.rez"
+#include "___FILEBASENAME___.h"
+
+
+resource rMenuBar (menuBar) {
+ {
+ appleMenu,
+ fileMenu,
+ editMenu
+ };
+};
+
+
+resource rMenu (appleMenu) {
+ appleMenu,
+ refIsResource * menuTitleRefShift
+ + refIsResource * itemRefShift
+ + fAllowCache,
+ appleMenu,
+ {
+ appleAbout
+ };
+};
+
+
+resource rMenu (fileMenu) {
+ fileMenu,
+ refIsResource * menuTitleRefShift
+ + refIsResource * itemRefShift
+ + fAllowCache,
+ fileMenu,
+ {
+ fileNew,
+ fileOpen,
+ fileClose,
+ fileQuit
+ };
+};
+
+
+resource rMenu (editMenu) {
+ editMenu,
+ refIsResource * menuTitleRefShift
+ + refIsResource * itemRefShift
+ + fAllowCache,
+ editMenu,
+ {
+ editUndo,
+ editCut,
+ editCopy,
+ editPaste,
+ editClear
+ };
+};
+
+
+resource rMenuItem (editUndo) {
+ editUndo,
+ "Z", "z",
+ 0,
+ refIsResource * itemTitleRefShift
+ + fDivider,
+ editUndo
+};
+
+
+resource rMenuItem (editCut) {
+ editCut,
+ "X", "x",
+ 0,
+ refIsResource * itemTitleRefShift,
+ editCut
+};
+
+
+resource rMenuItem (editCopy) {
+ editCopy,
+ "C", "c",
+ 0,
+ refIsResource * itemTitleRefShift,
+ editCopy
+};
+
+
+resource rMenuItem (editPaste) {
+ editPaste,
+ "V", "v",
+ 0,
+ refIsResource * itemTitleRefShift,
+ editPaste
+};
+
+
+resource rMenuItem (editClear) {
+ editClear,
+ "", "",
+ 0,
+ refIsResource * itemTitleRefShift,
+ editClear
+};
+
+
+resource rMenuItem (fileNew) {
+ fileNew,
+ "N", "n",
+ 0,
+ refIsResource * itemTitleRefShift,
+ fileNew
+};
+
+
+resource rMenuItem (fileOpen) {
+ fileOpen,
+ "O", "o",
+ 0,
+ refIsResource * itemTitleRefShift
+ + fDivider,
+ fileOpen
+};
+
+
+resource rMenuItem (fileClose) {
+ fileClose,
+ "W", "w",
+ 0,
+ refIsResource * itemTitleRefShift
+ + fDivider,
+ fileClose
+};
+
+
+resource rMenuItem (fileQuit) {
+ fileQuit,
+ "Q", "q",
+ 0,
+ refIsResource * itemTitleRefShift,
+ fileQuit
+};
+
+
+resource rMenuItem (appleAbout) {
+ appleAbout,
+ "", "",
+ 0,
+ refIsResource * itemTitleRefShift
+ + fDivider,
+ appleAbout
+};
+
+
+resource rPString (appleMenu, noCrossBank) {"@"};
+resource rPString (fileMenu, noCrossBank) {" File "};
+resource rPString (editMenu, noCrossBank) {" Edit "};
+
+resource rPString (editUndo, noCrossBank) {"Undo"};
+resource rPString (editCut, noCrossBank) {"Cut"};
+resource rPString (editCopy, noCrossBank) {"Copy"};
+resource rPString (editPaste, noCrossBank) {"Paste"};
+resource rPString (editClear, noCrossBank) {"Clear"};
+
+resource rPString (fileNew, noCrossBank) {"New"};
+resource rPString (fileOpen, noCrossBank) {"Open"};
+resource rPString (fileClose, noCrossBank) {"Close"};
+resource rPString (fileQuit, noCrossBank) {"Quit"};
+
+resource rPString (appleAbout, noCrossBank) {"About ___PROJECTNAME___..."};
+
+
+resource rAlertString (aboutAlertString) {
+ "43/"
+ "___PROJECTNAME___\n"
+ " by ___FULLUSERNAME___\n"
+ "\n"
+ "Contains libraries from ORCA C,\n"
+ "Copyright 1991, Byte Works Inc."
+ "/^#0\$00";
+};
+
+
+resource rWindParam1 (windowRes) {
+ $DDA5, /* wFrameBits */
+ nil, /* wTitle */
+ 0, /* wRefCon */
+ {0, 0, 0, 0}, /* ZoomRect */
+ nil, /* wColor ID */
+ {0, 0}, /* Origin */
+ {1, 1}, /* data size */
+ {0, 0}, /* max height-width */
+ {8, 8}, /* scroll ver hors */
+ {0, 0}, /* page ver horiz */
+ 0, /* winfoRefCon */
+ 10, /* wInfoHeight */
+ {30, 10, 183, 602}, /* wposition */
+ infront, /* wPlane */
+ nil, /* wStorage */
+ $0000 /* wInVerb */
+};
+
diff --git a/pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/TemplateInfo.plist
new file mode 100644
index 0000000..d0afa1f
--- /dev/null
+++ b/pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/TemplateInfo.plist
@@ -0,0 +1,124 @@
+
+
+
+
+ Nodes
+
+ main.c
+ main.h
+ main.rez
+ Makefile
+ make/head.mk
+ make/orca-asm
+ make/orca-cc
+ make/orca-rez
+ make/tail.mk
+
+ Definitions
+
+ main.c
+
+ Path
+ main.c
+
+ main.h
+
+ Path
+ main.h
+
+ main.rez
+
+ Path
+ main.rez
+
+ make/head.mk
+
+ Group
+ make
+ Path
+ make/head.mk
+
+ make/orca-asm
+
+ Group
+ make
+ Path
+ make/orca-asm
+
+ make/orca-cc
+
+ Group
+ make
+ Path
+ make/orca-cc
+
+ make/orca-rez
+
+ Group
+ make
+ Path
+ make/orca-rez
+
+ make/tail.mk
+
+ Group
+ make
+ Path
+ make/tail.mk
+
+ Makefile
+
+ Path
+ Makefile
+
+
+ Kind
+ Xcode.Xcode3.ProjectTemplateUnitKind
+ Identifier
+ com.halcyontouch.apple2gsCNDA
+ Ancestors
+
+ com.apple.dt.unit.externalBuildSystem
+
+ Concrete
+
+ Description
+ This template creates an Apple IIgs C code project to build a new desktop accessory. The project starts with a single C file which you can modify. You can also add more assembly or C files as you may like.
+ Options
+
+ Targets
+
+
+ TargetType
+ Legacy
+ TargetIdentifier
+ com.apple.dt.cocoaLegacyTarget
+ BuildToolPath
+ ___VARIABLE_buildToolPath___
+ BuildToolArgsString
+ -C ___PACKAGENAME___ $(ACTION)
+ SharedSettings
+
+ OTHER_CFLAGS
+
+ OTHER_LDFLAGS
+
+
+ Configurations
+
+ Debug
+
+ DEBUGGING_SYMBOLS
+ YES
+ GCC_GENERATE_DEBUGGING_SYMBOLS
+ YES
+ GCC_OPTIMIZATION_LEVEL
+ 0
+
+ Release
+
+
+
+
+
+
diff --git a/pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/main.c b/pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/main.c
new file mode 100644
index 0000000..ddeb85d
--- /dev/null
+++ b/pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/main.c
@@ -0,0 +1,203 @@
+/*
+ * ___FILENAME___
+ * ___PACKAGENAME___
+ *
+ * Created by ___FULLUSERNAME___ on ___DATE___.
+ * Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
+ *
+ */
+
+
+#pragma nda NDAOpen NDAClose NDAAction NDAInit -1 0x03FF " ___PACKAGENAME___\\H**"
+
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "___FILEBASENAME___.h"
+
+
+static BOOLEAN ndaActive;
+static GrafPortPtr winPtr;
+static unsigned int userId;
+static unsigned int resourceId;
+static Str255 gStrBuf;
+
+
+BOOLEAN OpenResourceFork(void)
+{
+ GSString255Ptr fPtr;
+ unsigned id;
+
+ id = SetHandleID(0, FindHandle((Pointer) OpenResourceFork));
+ fPtr = (GSString255Ptr) LGetPathname2(id, 1);
+ if (toolerror() == 0)
+ resourceId = OpenResourceFile(1, NULL, (Pointer) fPtr);
+ return toolerror() == 0;
+}
+
+
+void NDAClose(void)
+{
+ if (ndaActive) {
+ CloseWindow(winPtr);
+ winPtr = NULL;
+ ndaActive = FALSE;
+ }
+
+ CloseResourceFile(resourceId);
+ ResourceShutDown();
+}
+
+
+void NDAInit(int code)
+{
+ /* When code is 1, this is tool startup, otherwise tool
+ * shutdown.
+ */
+
+ if (code) {
+ ndaActive = FALSE;
+ userId = MMStartUp();
+ } else {
+ if (ndaActive)
+ NDAClose();
+ }
+}
+
+
+#pragma databank 1
+void DrawContents(void)
+{
+ PenNormal();
+ MoveTo(7,10);
+ DrawCString("Hello, world!");
+}
+#pragma databank 0
+
+
+GrafPortPtr NDAOpen(void)
+{
+ Pointer pathToSelf;
+ unsigned int oldResourceApp;
+ LevelRecGS levelDCB;
+ unsigned int oldLevel;
+ SysPrefsRecGS prefsDCB;
+ unsigned int oldPrefs;
+
+ if (ndaActive)
+ return NULL;
+
+ oldResourceApp = GetCurResourceApp();
+ ResourceStartUp(userId);
+ pathToSelf = LGetPathname2(userId, 1);
+
+ levelDCB.pCount = 2;
+ GetLevelGS(&levelDCB);
+ oldLevel = levelDCB.level;
+ levelDCB.level = 0;
+ SetLevelGS(&levelDCB);
+
+ prefsDCB.pCount = 1;
+ GetSysPrefsGS(&prefsDCB);
+ oldPrefs = prefsDCB.preferences;
+ prefsDCB.preferences = (prefsDCB.preferences & 0x1fff) | 0x8000;
+ SetSysPrefsGS(&prefsDCB);
+
+ resourceId = OpenResourceFile(readEnable, NULL, pathToSelf);
+
+ winPtr = NewWindow2("\p ___PACKAGENAME___ ", 0, DrawContents, NULL, 0x02, windowRes, rWindParam1);
+
+ SetSysWindow(winPtr);
+ ShowWindow(winPtr);
+ SelectWindow(winPtr);
+ SetPort(winPtr);
+
+ ndaActive = TRUE;
+
+ prefsDCB.preferences = oldPrefs;
+ SetSysPrefsGS(&prefsDCB);
+
+ levelDCB.level = oldLevel;
+ SetLevelGS(&levelDCB);
+
+ SetCurResourceApp(oldResourceApp);
+
+ return winPtr;
+}
+
+
+void HandleAction(void)
+{
+}
+
+
+void HandleControl(EventRecord *event)
+{
+}
+
+
+void HandleKey(EventRecord *event)
+{
+}
+
+
+void HandleMenu(int menuItem)
+{
+}
+
+
+BOOLEAN NDAAction(EventRecord *sysEvent, int code)
+{
+ int event;
+ static EventRecord localEvent;
+ unsigned int eventCode;
+ BOOLEAN result = FALSE;
+
+ switch (code) {
+ case runAction:
+ HandleAction();
+ break;
+
+ case eventAction:
+ BlockMove((Pointer)sysEvent, (Pointer)&localEvent, 16);
+ localEvent.wmTaskMask = 0x001FFFFF;
+ eventCode = TaskMasterDA(0, &localEvent);
+ switch(eventCode) {
+ case updateEvt:
+ BeginUpdate(winPtr);
+ DrawContents();
+ EndUpdate(winPtr);
+ break;
+
+ case wInControl:
+ HandleControl(&localEvent);
+ break;
+
+ case keyDownEvt:
+ case autoKeyEvt:
+ HandleKey(&localEvent);
+ break;
+ }
+ break;
+
+ case cutAction:
+ case copyAction:
+ case pasteAction:
+ case clearAction:
+ result = TRUE;
+ HandleMenu(code);
+ break;
+ }
+
+ return result;
+}
+
diff --git a/pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/main.h b/pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/main.h
new file mode 100644
index 0000000..1d030cf
--- /dev/null
+++ b/pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/main.h
@@ -0,0 +1,19 @@
+/*
+ * ___FILENAME___
+ * ___PACKAGENAME___
+ *
+ * Created by ___FULLUSERNAME___ on ___DATE___.
+ * Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
+ *
+ */
+
+#ifndef _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
+#define _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
+
+
+#define linedColors 1
+
+#define windowRes 1001
+
+
+#endif /* defined(_____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____) */
diff --git a/pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/main.rez b/pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/main.rez
new file mode 100644
index 0000000..fdbdb0e
--- /dev/null
+++ b/pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/main.rez
@@ -0,0 +1,41 @@
+/*
+ * ___FILENAME___
+ * ___PROJECTNAME___
+ *
+ * Created by ___FULLUSERNAME___ on ___DATE___.
+ * ___COPYRIGHT___
+ */
+
+
+#include "types.rez"
+
+#include "___FILEBASENAME___.h"
+
+
+resource rWindParam1 (windowRes) {
+ $C0A5, /* wFrameBits */
+ nil, /* wTitle */
+ 0, /* wRefCon */
+ {0,0,0,0}, /* ZoomRect */
+ linedColors, /* wColor ID */
+ {0,0}, /* Origin */
+ {0,0}, /* data size */
+ {0,0}, /* max height-width */
+ {0,0}, /* scroll ver hors */
+ {0,0}, /* page ver horiz */
+ 0, /* winfoRefcon */
+ 0, /* wInfoHeight */
+ {50,50,62,200}, /* wposition */
+ infront, /* wPlane */
+ nil, /* wStorage */
+ $0800 /* wInVerb */
+};
+
+
+resource rWindColor (linedColors) {
+ 0x0000, /* frameColor */
+ 0x0F00, /* titleColor */
+ 0x020F, /* tbarColor */
+ 0xF0F0, /* growColor */
+ 0x00F0, /* infoColor */
+};
diff --git a/pkg/Templates/Apple IIgs/Apple IIgs Asm Shell Command.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/Shell Command in Assembly.xctemplate/TemplateInfo.plist
similarity index 100%
rename from pkg/Templates/Apple IIgs/Apple IIgs Asm Shell Command.xctemplate/TemplateInfo.plist
rename to pkg/Templates/Apple IIgs/Shell Command in Assembly.xctemplate/TemplateInfo.plist
diff --git a/pkg/Templates/Apple IIgs/Apple IIgs Asm Shell Command.xctemplate/main.s b/pkg/Templates/Apple IIgs/Shell Command in Assembly.xctemplate/main.s
similarity index 100%
rename from pkg/Templates/Apple IIgs/Apple IIgs Asm Shell Command.xctemplate/main.s
rename to pkg/Templates/Apple IIgs/Shell Command in Assembly.xctemplate/main.s
diff --git a/pkg/Templates/Apple IIgs/Apple IIgs C Shell Command.xctemplate/TemplateInfo.plist b/pkg/Templates/Apple IIgs/Shell Command in C.xctemplate/TemplateInfo.plist
similarity index 100%
rename from pkg/Templates/Apple IIgs/Apple IIgs C Shell Command.xctemplate/TemplateInfo.plist
rename to pkg/Templates/Apple IIgs/Shell Command in C.xctemplate/TemplateInfo.plist
diff --git a/pkg/Templates/Apple IIgs/Apple IIgs C Shell Command.xctemplate/main.c b/pkg/Templates/Apple IIgs/Shell Command in C.xctemplate/main.c
similarity index 100%
rename from pkg/Templates/Apple IIgs/Apple IIgs C Shell Command.xctemplate/main.c
rename to pkg/Templates/Apple IIgs/Shell Command in C.xctemplate/main.c
diff --git a/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/Default/___FILEBASENAME___.rez b/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/Default/___FILEBASENAME___.rez
new file mode 100644
index 0000000..c26f018
--- /dev/null
+++ b/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/Default/___FILEBASENAME___.rez
@@ -0,0 +1,12 @@
+/*
+ * ___FILENAME___
+ * ___PROJECTNAME___
+ *
+ * Created by ___FULLUSERNAME___ on ___DATE___.
+ * ___COPYRIGHT___
+ */
+
+
+#include "types.rez"
+
+
diff --git a/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/TemplateIcon.png b/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/TemplateIcon.png
new file mode 100644
index 0000000..5c8a9d8
Binary files /dev/null and b/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/TemplateIcon.png differ
diff --git a/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/TemplateIcon@2x.png b/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/TemplateIcon@2x.png
new file mode 100644
index 0000000..af2497e
Binary files /dev/null and b/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/TemplateIcon@2x.png differ
diff --git a/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/TemplateInfo.plist b/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/TemplateInfo.plist
new file mode 100644
index 0000000..3227e56
--- /dev/null
+++ b/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/TemplateInfo.plist
@@ -0,0 +1,53 @@
+
+
+
+
+ AllowedTypes
+
+ com.apple.rez-source
+
+ DefaultCompletionName
+ File
+ Description
+ An empty resource file.
+ Kind
+ Xcode.IDEKit.TextSubstitutionFileTemplateKind
+ MainTemplateFile
+ ___FILEBASENAME___.rez
+ Options
+
+
+ Description
+ The name of the file to create
+ Identifier
+ productName
+ Name
+ Name:
+ NotPersisted
+
+ Required
+
+ Type
+ text
+
+
+ Default
+ true
+ Description
+ Whether to create a header file with the same name
+ Identifier
+ WithHeader
+ Name
+ Also create a header file
+ NotPersisted
+
+ Type
+ checkbox
+
+
+ SortOrder
+ 2
+ Summary
+ An empty resource file.
+
+
diff --git a/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/WithHeader/___FILEBASENAME___.h b/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/WithHeader/___FILEBASENAME___.h
new file mode 100644
index 0000000..db8ba8c
--- /dev/null
+++ b/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/WithHeader/___FILEBASENAME___.h
@@ -0,0 +1,14 @@
+/*
+ * ___FILENAME___
+ * ___PROJECTNAME___
+ *
+ * Created by ___FULLUSERNAME___ on ___DATE___.
+ * ___COPYRIGHT___
+ */
+
+#ifndef _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
+#define _____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____
+
+
+
+#endif /* defined(_____PROJECTNAMEASIDENTIFIER________FILEBASENAMEASIDENTIFIER_____) */
diff --git a/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/WithHeader/___FILEBASENAME___.rez b/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/WithHeader/___FILEBASENAME___.rez
new file mode 100644
index 0000000..f7f4504
--- /dev/null
+++ b/pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/WithHeader/___FILEBASENAME___.rez
@@ -0,0 +1,14 @@
+/*
+ * ___FILENAME___
+ * ___PROJECTNAME___
+ *
+ * Created by ___FULLUSERNAME___ on ___DATE___.
+ * ___COPYRIGHT___
+ */
+
+
+#include "types.rez"
+
+#include "___FILEBASENAME___.h"
+
+
diff --git a/pkg/createPackage b/pkg/createPackage
index e96206e..38a7e45 100755
--- a/pkg/createPackage
+++ b/pkg/createPackage
@@ -4,11 +4,24 @@ TMPDIR=/tmp/pkg.$$
cp -R pkg/Templates $TMPDIR
-for PROJECT in "Apple IIgs C Shell Command" "Apple IIgs Asm Shell Command"
+PROJECTS=/tmp/projects.$$
+cat > $PROJECTS << EOF
+shell:Shell Command in C
+shell:Shell Command in Assembly
+cda:Classic Desk Accessory in C
+nda:New Desk Accessory in C
+desktop:Desktop Application in C
+EOF
+
+while read PROJECT
do
- echo cp -R Makefile make "${TMPDIR}/Apple IIgs/${PROJECT}.xctemplate/"
- cp -R Makefile make "${TMPDIR}/Apple IIgs/${PROJECT}.xctemplate/"
-done
+ PROJECTTYPE=`echo $PROJECT | awk -F: '{print $1}'`
+ PROJECTNAME=`echo $PROJECT | awk -F: '{print $2}'`
+ sed "/^# TARGETTYPE=${PROJECTTYPE}/s/^# //" Makefile > "${TMPDIR}/Apple IIgs/${PROJECTNAME}.xctemplate/Makefile"
+ cp -R make "${TMPDIR}/Apple IIgs/${PROJECTNAME}.xctemplate/"
+done < $PROJECTS
+
+rm -f $PROJECTS
pkgbuild --root $TMPDIR --version 0.1 --identifier com.halcyontouch.Apple2gsTemplate.pkg --install-location /Library/Developer/Xcode/Templates/ --scripts pkg/scripts/ Apple2GSXcodeTemplate.pkg
productbuild --distribution pkg/Distribution.xml --resource ./pkg temp.pkg