From a86b9a5b5a4836e67d09d84304552ddb68fd8ba0 Mon Sep 17 00:00:00 2001 From: Jeremy Rand Date: Wed, 17 May 2017 01:04:32 -0400 Subject: [PATCH] Add templates for rez files and project templates for CDAs, NDAs and desktop applications --- .DS_Store | Bin 0 -> 6148 bytes Apple2GSXcodeTemplate.pkg | Bin 0 -> 41986 bytes Makefile | 2 +- pkg/Templates/Apple IIgs/.DS_Store | Bin 6148 -> 6148 bytes .../TemplateInfo.plist | 112 ++++++++++ .../main.c | 32 +++ .../TemplateInfo.plist | 124 +++++++++++ .../main.c | 123 +++++++++++ .../main.h | 38 ++++ .../main.rez | 207 ++++++++++++++++++ .../TemplateInfo.plist | 124 +++++++++++ .../New Desk Accessory in C.xctemplate/main.c | 203 +++++++++++++++++ .../New Desk Accessory in C.xctemplate/main.h | 19 ++ .../main.rez | 41 ++++ .../TemplateInfo.plist | 0 .../main.s | 0 .../TemplateInfo.plist | 0 .../main.c | 0 .../Default/___FILEBASENAME___.rez | 12 + .../Rez File.xctemplate/TemplateIcon.png | Bin 0 -> 4171 bytes .../Rez File.xctemplate/TemplateIcon@2x.png | Bin 0 -> 5839 bytes .../Rez File.xctemplate/TemplateInfo.plist | 53 +++++ .../WithHeader/___FILEBASENAME___.h | 14 ++ .../WithHeader/___FILEBASENAME___.rez | 14 ++ pkg/createPackage | 21 +- 25 files changed, 1134 insertions(+), 5 deletions(-) create mode 100644 .DS_Store create mode 100644 Apple2GSXcodeTemplate.pkg create mode 100644 pkg/Templates/Apple IIgs/Classic Desk Accessory in C.xctemplate/TemplateInfo.plist create mode 100644 pkg/Templates/Apple IIgs/Classic Desk Accessory in C.xctemplate/main.c create mode 100644 pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/TemplateInfo.plist create mode 100644 pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/main.c create mode 100644 pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/main.h create mode 100644 pkg/Templates/Apple IIgs/Desktop Application in C.xctemplate/main.rez create mode 100644 pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/TemplateInfo.plist create mode 100644 pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/main.c create mode 100644 pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/main.h create mode 100644 pkg/Templates/Apple IIgs/New Desk Accessory in C.xctemplate/main.rez rename pkg/Templates/Apple IIgs/{Apple IIgs Asm Shell Command.xctemplate => Shell Command in Assembly.xctemplate}/TemplateInfo.plist (100%) rename pkg/Templates/Apple IIgs/{Apple IIgs Asm Shell Command.xctemplate => Shell Command in Assembly.xctemplate}/main.s (100%) rename pkg/Templates/Apple IIgs/{Apple IIgs C Shell Command.xctemplate => Shell Command in C.xctemplate}/TemplateInfo.plist (100%) rename pkg/Templates/Apple IIgs/{Apple IIgs C Shell Command.xctemplate => Shell Command in C.xctemplate}/main.c (100%) create mode 100644 pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/Default/___FILEBASENAME___.rez create mode 100644 pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/TemplateIcon.png create mode 100644 pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/TemplateIcon@2x.png create mode 100644 pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/TemplateInfo.plist create mode 100644 pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/WithHeader/___FILEBASENAME___.h create mode 100644 pkg/Templates/File Templates/Apple IIgs/Rez File.xctemplate/WithHeader/___FILEBASENAME___.rez diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..1b896d3b62987ca40a5ebd3e6ac6073d0b5acaf2 GIT binary patch literal 6148 zcmeHKO>fgc5Z!G|v9Sa}LZaM!FPa)3P5=o>S{dT#XX;pDL9v{5W}*4QG4p z8xK@b#aS_&=;SONV#r`OD^fMhSH+yZ0YHe*UVf5)yltmg|ha;TxPq&2OSfk*neW zF&f_zV=#8`2NOS*jES3dy@}$t?``~xh)-Wk#pe=1L~+4sxt}Na=_rFkra7DtUjcv)!dl?#Pk&%Q0bt137(@gjO)Ai& zO1@%9zBx#fj{cCxHwI0*kow7(ho3C@h9ddmAp<>J$k3p*mI2GaNd{V`*{1XV;raLf zlS#H^8L$leR}4sJC)(+wBtBcu6h~)m0DTE1p>d5todUzhv3BSvUV~~uUqB8pWNZu~ Q0 literal 0 HcmV?d00001 diff --git a/Apple2GSXcodeTemplate.pkg b/Apple2GSXcodeTemplate.pkg new file mode 100644 index 0000000000000000000000000000000000000000..f4ffee17915f000c44aac03ac5ff1e446bf2ab62 GIT binary patch literal 41986 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 T$N&HF|9|}dAOHV<`2T+ZD<-Om literal 0 HcmV?d00001 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 01faf56ea22cfca345bd2b9b04f6b5b9418d5acb..afc2aaab13b70c8cf6b129bae0387cf2879872b9 100644 GIT binary patch delta 267 zcmZoMXfc@J&&akhU^g=(+h!gX7A8Yw1{a1@hGK?nh7yK+h5`l!21g)Sz>vd`$&k#D z2o%i(isu2vGr^?uGdvtI{emPVT2Zypl+5!d;;N;+p7m%o~wy-qSQ7|_(sMS%Z zHa9oWQ7|z!tF7hakW@Dgipy&3n>BmR(q+q69G)D*DsOrOsF56pi%n)^OWn-Q@s}R} DOT$DV delta 28 kcmZoMXfc@J&&aYdU^g=(%Vr)H7N(6Q-x)WvbNuB80DV#j#Q*>R 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 0000000000000000000000000000000000000000..5c8a9d80eddd129f91447abc58a1e6011f9904df GIT binary patch literal 4171 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 VPgJt;g)9I7002ovPDHLkV1j61^2z`J literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..af2497e7346ff52e3a65192d8e60584047c2d0d5 GIT binary patch literal 5839 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 Z{{to=RL}{)Y*YXM002ovPDHLkV1oCpBbxvK literal 0 HcmV?d00001 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