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