| 1 |
james |
26 |
REM > CreateJCode:Create |
| 2 |
|
|
|
| 3 |
|
|
DEF PROCCreate(Path$) |
| 4 |
|
|
LOCAL Name$, Sprt$ |
| 5 |
|
|
LOCAL Temp%, Spr1%, Spr2% |
| 6 |
|
|
|
| 7 |
|
|
REMLOCAL ERROR |
| 8 |
|
|
REMON ERROR LOCAL RESTORE ERROR: PROCCreate_Error |
| 9 |
|
|
|
| 10 |
|
|
Name$ = FNWimp_GetLeaf(Path$) |
| 11 |
|
|
|
| 12 |
|
|
SYS"OS_CLI", "CDir " + Path$ |
| 13 |
|
|
SYS"OS_CLI", "Copy " + Task_Path$ + "Base " + Path$ + ".!" + Name$ + " A~C~DFL~N~P~QR~S~T~V" |
| 14 |
|
|
SYS"OS_CLI", "CDir " + Path$ + "." + Name$ |
| 15 |
|
|
SYS"OS_CLI", "CDir " + Path$ + "." + Name$ + ".Basic" |
| 16 |
|
|
|
| 17 |
|
|
PROCWimp_LoadFile(Task_Path$ + "Files.!Sprites", 1, "Sprites") |
| 18 |
|
|
PROCWimp_LoadFile(Task_Path$ + "Files.!Sprites22", 1, "Sprites22") |
| 19 |
|
|
Spr1% = FNHeap_Find(1, "Sprites") |
| 20 |
|
|
Spr2% = FNHeap_Find(1, "Sprites22") |
| 21 |
|
|
Sprt$ = "!" + FNString_Lower(LEFT$(Name$, 11)) |
| 22 |
|
|
$(Spr1% + 4 + &10) = Sprt$ |
| 23 |
|
|
$(Spr2% + 4 + &10) = Sprt$ |
| 24 |
|
|
Spr1%?(4 + &10 + LENSprt$) = 0 |
| 25 |
|
|
Spr2%?(4 + &10 + LENSprt$) = 0 |
| 26 |
|
|
SYS"OS_File", 10, Path$ + ".!" + Name$ + ".!Sprites", &FF9,, Spr1% + 4, Spr1% + !Spr1% + 4 |
| 27 |
|
|
SYS"OS_File", 10, Path$ + ".!" + Name$ + ".!Sprites22", &FF9,, Spr2% + 4, Spr2% + !Spr2% + 4 |
| 28 |
|
|
PROCHeap_Lose(1, "Sprites") |
| 29 |
|
|
PROCHeap_Lose(1, "Sprites22") |
| 30 |
|
|
|
| 31 |
|
|
Type$ = "Obey" |
| 32 |
|
|
PROCCopy(Task_Path$ + "Files.!Run", Path$ + ".!" + Name$ + ".!Run") |
| 33 |
|
|
PROCCopy(Task_Path$ + "Files.!Run2", Path$ + "." + Name$ + ".!Run") |
| 34 |
|
|
PROCCopy(Task_Path$ + "Files.LinkCrunch", Path$ + "." + Name$ +".LinkCrunch") |
| 35 |
|
|
|
| 36 |
|
|
Type$ = "Text" |
| 37 |
|
|
PROCCopy(Task_Path$+"Files.Menus", Path$ + ".!" +Name$+".Resources.UK.Menus") |
| 38 |
|
|
|
| 39 |
|
|
Type$ = "BASIC" |
| 40 |
|
|
PROCBasic(Task_Path$ + "Files.!Main", Path$ + "." + Name$ + ".!Main") |
| 41 |
|
|
PROCBasic(Task_Path$+"Files.Basic.Click",Path$ + "." + Name$ +".Basic.Click") |
| 42 |
|
|
PROCBasic(Task_Path$+"Files.Basic.Init", Path$ + "." + Name$ + ".Basic.Init") |
| 43 |
|
|
PROCBasic(Task_Path$+"Files.Basic.Menu", Path$ + "." + Name$ + ".Basic.Menu") |
| 44 |
|
|
PROCBasic(Task_Path$+"Files.Basic.Quit", Path$ + "." + Name$ + ".Basic.Quit") |
| 45 |
|
|
|
| 46 |
|
|
ENDPROC |
| 47 |
|
|
|
| 48 |
|
|
REM ������������������������������������������������������������������������� |
| 49 |
|
|
|
| 50 |
|
|
DEF PROCCreate_Error |
| 51 |
|
|
PROCHeap_Lose(1, "*") |
| 52 |
|
|
Erro_ERL% = ERL |
| 53 |
|
|
Erro_REPORT$ = REPORT$ |
| 54 |
|
|
Erro_ERR% = Erro_Warn% |
| 55 |
|
|
ERROR Erro_Warn%, REPORT$ |
| 56 |
|
|
ENDPROC |
| 57 |
|
|
|
| 58 |
|
|
REM ������������������������������������������������������������������������� |
| 59 |
|
|
|
| 60 |
|
|
DEF PROCCopy(Fil1$, Fil2$) |
| 61 |
|
|
LOCAL Fil1%, Fil2%, Byte%, Byt1%, Byt2%, Loop% |
| 62 |
|
|
|
| 63 |
|
|
Fil1% = OPENIN(Fil1$) |
| 64 |
|
|
Fil2% = OPENOUT(Fil2$) |
| 65 |
|
|
|
| 66 |
|
|
REMLOCAL ERROR |
| 67 |
|
|
REMON ERROR LOCAL RESTORE ERROR: PROCCopy_Error |
| 68 |
|
|
|
| 69 |
|
|
WHILE NOT EOF#Fil1% |
| 70 |
|
|
Byte% = BGET#Fil1% |
| 71 |
|
|
IF Byte% = ASC"{" THEN |
| 72 |
|
|
Byt1% = BGET#Fil1% |
| 73 |
|
|
Byt2% = BGET#Fil1% |
| 74 |
|
|
IF (Byt1% = ASC"!") AND (Byt2% = ASC"}") THEN |
| 75 |
|
|
FOR Loop% = 1 TO LENName$ |
| 76 |
|
|
BPUT#Fil2%, ASC(MID$(Name$, Loop%, 1)) |
| 77 |
|
|
NEXT |
| 78 |
|
|
ELSE |
| 79 |
|
|
BPUT#Fil2%, Byte% |
| 80 |
|
|
BPUT#Fil2%, Byt1% |
| 81 |
|
|
BPUT#Fil2%, Byt2% |
| 82 |
|
|
ENDIF |
| 83 |
|
|
ELSE |
| 84 |
|
|
BPUT#Fil2%, Byte% |
| 85 |
|
|
ENDIF |
| 86 |
|
|
ENDWHILE |
| 87 |
|
|
|
| 88 |
|
|
REMRESTORE ERROR |
| 89 |
|
|
|
| 90 |
|
|
CLOSE#Fil1% |
| 91 |
|
|
CLOSE#Fil2% |
| 92 |
|
|
SYS"OS_CLI", "SetType " + Fil2$ + " " + Type$ |
| 93 |
|
|
ENDPROC |
| 94 |
|
|
|
| 95 |
|
|
REM ������������������������������������������������������������������������� |
| 96 |
|
|
|
| 97 |
|
|
DEF PROCCopy_Error |
| 98 |
|
|
CLOSE#Fil1% |
| 99 |
|
|
CLOSE#Fil2% |
| 100 |
|
|
Erro_ERL% = ERL |
| 101 |
|
|
Erro_REPORT$ = REPORT$ |
| 102 |
|
|
Erro_ERR% = Erro_Warn% |
| 103 |
|
|
ERROR Erro_Warn%, REPORT$ |
| 104 |
|
|
ENDPROC |
| 105 |
|
|
|
| 106 |
|
|
REM ������������������������������������������������������������������������� |
| 107 |
|
|
|
| 108 |
|
|
DEF PROCBasic(Fil1$, Fil2$) |
| 109 |
|
|
LOCAL Fil1%, Fil2%, Byte%, Byt1%, Byt2% |
| 110 |
|
|
|
| 111 |
|
|
Fil1% = OPENIN(Fil1$) |
| 112 |
|
|
Fil2% = OPENOUT(Fil2$) |
| 113 |
|
|
|
| 114 |
|
|
REMLOCAL ERROR |
| 115 |
|
|
REMON ERROR LOCAL RESTORE ERROR: PROCCopy_Error |
| 116 |
|
|
|
| 117 |
|
|
Byte% = BGET#Fil1% :REM &D |
| 118 |
|
|
BPUT#Fil2%, Byte% |
| 119 |
|
|
Byte% = BGET#Fil1% :REM line 1 |
| 120 |
|
|
WHILE Byte% <> &FF |
| 121 |
|
|
BPUT#Fil2%, Byte% |
| 122 |
|
|
Byte% = BGET#Fil1% :REM line 2 |
| 123 |
|
|
BPUT#Fil2%, Byte% |
| 124 |
|
|
Byte% = BGET#Fil1% :REM length |
| 125 |
|
|
Line$ = "" |
| 126 |
|
|
Byte% = BGET#Fil1% |
| 127 |
|
|
WHILE Byte% <> &D |
| 128 |
|
|
IF Byte% = ASC"{" THEN |
| 129 |
|
|
Byt1% = BGET#Fil1% |
| 130 |
|
|
Byt2% = BGET#Fil1% |
| 131 |
|
|
IF (Byt1% = ASC"!") AND (Byt2% = ASC"}") THEN |
| 132 |
|
|
Line$ += Name$ |
| 133 |
|
|
ENDIF |
| 134 |
|
|
ELSE |
| 135 |
|
|
Line$ += CHR$(Byte%) |
| 136 |
|
|
ENDIF |
| 137 |
|
|
Byte% = BGET#Fil1% |
| 138 |
|
|
ENDWHILE |
| 139 |
|
|
BPUT#Fil2%, LENLine$ + 4 |
| 140 |
|
|
BPUT#Fil2%, Line$; |
| 141 |
|
|
BPUT#Fil2%, Byte% |
| 142 |
|
|
Byte% = BGET#Fil1% :REM line 1 |
| 143 |
|
|
ENDWHILE |
| 144 |
|
|
BPUT#Fil2%, Byte% |
| 145 |
|
|
|
| 146 |
|
|
REMRESTORE ERROR |
| 147 |
|
|
|
| 148 |
|
|
CLOSE#Fil1% |
| 149 |
|
|
CLOSE#Fil2% |
| 150 |
|
|
SYS"OS_CLI", "SetType " + Fil2$ + " " + Type$ |
| 151 |
|
|
ENDPROC |