mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2025-04-12 02:38:38 +01:00
Remove WallPaper time offset undo.
Fix lingering 'HC' to 'CC'. Fix EdLiteUpdate incorrect tab width. Move PCNet driver into Drivers/ folder. Add graphics demos. Add JSON lexer to Net/ folder. Increase entropy of Splash screen mottos.
This commit is contained in:
parent
cbb5272ccd
commit
0778e2dd16
25 changed files with 615 additions and 17 deletions
Zenith-latest-2021-06-28-07_02_56.isoZenith-latest-2021-06-29-18_04_38.iso
src
Demo
Home
Kernel
Misc
Zenith
Binary file not shown.
BIN
Zenith-latest-2021-06-28-10_55_52.iso → Zenith-latest-2021-06-29-18_04_38.iso
Normal file → Executable file
BIN
Zenith-latest-2021-06-28-10_55_52.iso → Zenith-latest-2021-06-29-18_04_38.iso
Normal file → Executable file
Binary file not shown.
102
src/Demo/Graphics/Clock.CC
Executable file
102
src/Demo/Graphics/Clock.CC
Executable file
|
@ -0,0 +1,102 @@
|
|||
#define USE_JIFFIES TRUE // Set FALSE for less smooth but more accurate time.
|
||||
|
||||
#define CLOCK_CENTER 70
|
||||
#define CLOCK_RADIUS (CLOCK_CENTER-2)
|
||||
|
||||
#define SECOND_HAND_LEN CLOCK_RADIUS
|
||||
#define MINUTE_HAND_LEN 8 * CLOCK_RADIUS / 10
|
||||
#define HOUR_HAND_LEN CLOCK_RADIUS / 2
|
||||
|
||||
#define CLOCK_BASE_COLOR BLACK
|
||||
#define SECOND_HAND_COLOR DKGRAY
|
||||
#define MINUTE_HAND_COLOR DKGRAY
|
||||
#define HOUR_HAND_COLOR BLACK
|
||||
|
||||
// set this either 24 or 12
|
||||
#define HOUR_MAX 12
|
||||
|
||||
#define ç 2*ã
|
||||
|
||||
|
||||
//EST NY -> India: 9.5
|
||||
//EST NY -> China: 12
|
||||
CDate clock_time_offset = 0 * 60 * 60 * CDATE_FREQ;
|
||||
|
||||
CDateStruct *ds = CAlloc(sizeof(CDateStruct));
|
||||
CDate d = Now + clock_time_offset;
|
||||
Date2Struct(ds, d);
|
||||
I64 init_jiff = counts.jiffies;
|
||||
I64 cur_jiff;
|
||||
F64 sec, min, hr;
|
||||
|
||||
U0 ClockDrawIt(CTask *, CDC *dc)
|
||||
{
|
||||
if (USE_JIFFIES)
|
||||
{
|
||||
cur_jiff = counts.jiffies - init_jiff;
|
||||
sec = ds->sec + cur_jiff/1000.0;
|
||||
min = ds->min + cur_jiff/1000.0/60;
|
||||
hr = (ds->hour % HOUR_MAX) + cur_jiff/1000.0/60/60;
|
||||
}
|
||||
else
|
||||
{
|
||||
d = Now + clock_time_offset;
|
||||
Date2Struct(ds, d);
|
||||
sec = ds->sec;
|
||||
min = ds->min;
|
||||
hr = ds->hour % HOUR_MAX;
|
||||
}
|
||||
/*
|
||||
|
||||
public Bool GrLine3(CDC *dc=gr.dc,I64 x1,I64 y1,I64 z1,
|
||||
I64 x2,
|
||||
I64 y2,
|
||||
I64 z2, I64 step=1,I64 start=0)
|
||||
*/
|
||||
//draw second hand
|
||||
dc->thick = 1;
|
||||
dc->color = SECOND_HAND_COLOR;
|
||||
GrLine3(dc, CLOCK_CENTER, CLOCK_CENTER, GR_Z_ALL,
|
||||
(CLOCK_CENTER + SECOND_HAND_LEN * Cos(3*ç/4 + sec * ç/60)),
|
||||
(CLOCK_CENTER + SECOND_HAND_LEN * Sin(3*ç/4 + sec * ç/60)),
|
||||
GR_Z_ALL);
|
||||
|
||||
// draw minute hand
|
||||
dc->thick = 2;
|
||||
dc->color = MINUTE_HAND_COLOR;
|
||||
GrLine3(dc, CLOCK_CENTER, CLOCK_CENTER, GR_Z_ALL,
|
||||
(CLOCK_CENTER + MINUTE_HAND_LEN * Cos(3*ç/4 + min * ç/60)),
|
||||
(CLOCK_CENTER + MINUTE_HAND_LEN * Sin(3*ç/4 + min * ç/60)),
|
||||
GR_Z_ALL);
|
||||
|
||||
// draw hour hand
|
||||
dc->thick = 3;
|
||||
dc->color = HOUR_HAND_COLOR;
|
||||
GrLine3(dc, CLOCK_CENTER, CLOCK_CENTER, GR_Z_ALL,
|
||||
(CLOCK_CENTER + HOUR_HAND_LEN * Cos(3*ç/4 + hr * ç/HOUR_MAX)),
|
||||
(CLOCK_CENTER + HOUR_HAND_LEN * Sin(3*ç/4 + hr * ç/HOUR_MAX)),
|
||||
GR_Z_ALL);
|
||||
|
||||
|
||||
dc->color = CLOCK_BASE_COLOR;
|
||||
//GrPrint(dc, 0, 0, "%d", ds->sec);
|
||||
|
||||
//draw clock base
|
||||
GrCircle(dc, CLOCK_CENTER, CLOCK_CENTER, CLOCK_RADIUS);
|
||||
|
||||
}
|
||||
|
||||
U0 ClockDemo()
|
||||
{
|
||||
SettingsPush;
|
||||
DocClear;
|
||||
DocCursor;
|
||||
Fs->draw_it = &ClockDrawIt;
|
||||
StrCopy(Fs->task_title, "Time");
|
||||
|
||||
while (CharGet(,FALSE) != CH_SHIFT_ESC) {};
|
||||
|
||||
SettingsPop;
|
||||
};
|
||||
|
||||
ClockDemo;
|
BIN
src/Demo/Graphics/GrDir.CC
Executable file
BIN
src/Demo/Graphics/GrDir.CC
Executable file
Binary file not shown.
|
@ -202,7 +202,7 @@ public CDoc *Doc2Html(CDoc *doc_in, U8 *html_header=NULL, U8 *body_header=NULL,
|
|||
"<head>\n"
|
||||
"<meta http-equiv=\"Content-Type\" "
|
||||
"content=\"text/html;charset=US-ASCII\">\n"
|
||||
"<meta name=\"generator\" content=\"$TX,"ZenithOS V1.13",D="DD_OS_NAME_VERSION"$\">\n";
|
||||
"<meta name=\"generator\" content=\"$TX,"ZenithOS V2.01",D="DD_OS_NAME_VERSION"$\">\n";
|
||||
if (!body_header)
|
||||
body_header =
|
||||
"<body>\n"
|
||||
|
@ -399,7 +399,7 @@ public U0 ToHtml(U8 *_in_name, U8 *_out_name=NULL, U8 *html_header=NULL,
|
|||
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
|
||||
WinHorz(0, width - 1); //Sets doc width for word wrap.
|
||||
|
||||
in_name=ExtDefault(_in_name, "HC");
|
||||
in_name=ExtDefault(_in_name, "CC");
|
||||
if (_out_name)
|
||||
out_name = ExtDefault(_out_name, "html");
|
||||
else
|
||||
|
|
|
@ -26,13 +26,13 @@ BootHDIns;
|
|||
"\n\nSuccessful? ";
|
||||
if (YorN)
|
||||
{
|
||||
// Once( "CursorRemove(\"/*\");;;"
|
||||
// "#include \"DoDistro\";;"
|
||||
// "if (DriveIsWritable)"
|
||||
// "{"
|
||||
// "Del(\"~/Registry.CC\");"
|
||||
// "OutU16(0x4004, 0x3400);"
|
||||
// "}");
|
||||
Once( "CursorRemove(\"/*\");;;"
|
||||
"#include \"DoDistro\";;"
|
||||
"if (DriveIsWritable)"
|
||||
"{"
|
||||
"Del(\"~/Registry.CC\");"
|
||||
"OutU16(0x4004, 0x3400);"
|
||||
"}");
|
||||
|
||||
// Once(
|
||||
// "#include \"DoDistro\";;");
|
||||
|
|
307
src/Home/Net/JSON/JSON.CC
Executable file
307
src/Home/Net/JSON/JSON.CC
Executable file
|
@ -0,0 +1,307 @@
|
|||
#define JSONT_INVALID 0
|
||||
#define JSONT_STRING 1
|
||||
#define JSONT_INTEGER 2
|
||||
#define JSONT_FLOAT 3
|
||||
#define JSONT_ARRAY 4
|
||||
#define JSONT_BOOL 5
|
||||
#define JSONT_OBJ 6
|
||||
#define JSONT_NULL 7
|
||||
|
||||
#define JSON_HASHTABLE_SIZE 1024
|
||||
|
||||
#define HTT_JSON 0x00100 //identical to HTT_DICT_WORD
|
||||
|
||||
class CJSONDataEntry:CQueue
|
||||
{
|
||||
U8 type;
|
||||
|
||||
I64 int_data;
|
||||
F64 float_data;
|
||||
U8 *string_data;
|
||||
Bool bool_data;
|
||||
CJSONDataEntry *list_data;
|
||||
CHashTable *hash_table;
|
||||
};
|
||||
|
||||
class CJSONDataHash:CHash
|
||||
{
|
||||
CJSONDataEntry *data;
|
||||
};
|
||||
|
||||
U8 **JSONGetKeys(CHashTable *table)
|
||||
{
|
||||
I64 i, count = 0;
|
||||
CHash *temp_hash;
|
||||
U8 **keys;
|
||||
I64 key_index = 0;
|
||||
|
||||
for (i = 0; i <= table->mask; i++) //mask is table length 0-based
|
||||
if (temp_hash = table->body[i]) //if temp_hash exists
|
||||
count++;
|
||||
|
||||
keys = CAlloc(sizeof(U8*) * count); // alloc string list
|
||||
for (i = 0; i <= table->mask; i++)
|
||||
if (temp_hash = table->body[i])
|
||||
{
|
||||
keys[key_index] = StrNew(temp_hash->str);//add key string to list
|
||||
key_index++;
|
||||
}
|
||||
|
||||
return keys;
|
||||
}
|
||||
|
||||
U0 JSONIndentLine(I64 indent)
|
||||
{
|
||||
I64 i;
|
||||
// for (i = 0; i < indent; i++) {" ";}
|
||||
for (i = 0; i < indent; i++) {" ";}
|
||||
|
||||
}
|
||||
|
||||
U0 JSONDataRep(CJSONDataEntry *data, I64 indent=0)
|
||||
{
|
||||
U8 **keys;// = JSONGetKeys(data->hash_table);
|
||||
I64 index;
|
||||
I64 count;// = MSize(keys) / sizeof(U8*);
|
||||
CJSONDataEntry *entry;// = data->list_data->next;//one after head.
|
||||
CJSONDataHash *temp_hash;
|
||||
|
||||
JSONIndentLine(indent);
|
||||
|
||||
switch (data->type)
|
||||
{
|
||||
case JSONT_INVALID:
|
||||
"Invalid JSON.\n";
|
||||
break;
|
||||
|
||||
case JSONT_STRING:
|
||||
"%s\n", data->string_data;
|
||||
break;
|
||||
|
||||
case JSONT_INTEGER:
|
||||
"%d\n", data->int_data;
|
||||
break;
|
||||
|
||||
case JSONT_FLOAT:
|
||||
"%.9f\n", data->float_data;
|
||||
break;
|
||||
|
||||
case JSONT_BOOL:
|
||||
"%Z\n", data->bool_data, "ST_FALSE_TRUE";
|
||||
break;
|
||||
|
||||
case JSONT_NULL:
|
||||
"Null.\n";
|
||||
break;
|
||||
|
||||
case JSONT_ARRAY:
|
||||
"Array:\n";
|
||||
JSONIndentLine(indent);
|
||||
"[\n";
|
||||
entry = data->list_data->next;//one after head.
|
||||
while (entry != data->list_data)//head ignored, stop on head.
|
||||
{
|
||||
JSONDataRep(entry, indent + 1); // recursive Rep on the list entry
|
||||
entry = entry->next;
|
||||
}
|
||||
JSONIndentLine(indent);
|
||||
"]\n";
|
||||
break;
|
||||
|
||||
case JSONT_OBJ:
|
||||
"Object.\n";
|
||||
JSONIndentLine(indent);
|
||||
"{\n";
|
||||
|
||||
keys = JSONGetKeys(data->hash_table);
|
||||
count = MSize(keys) / sizeof(U8*);
|
||||
|
||||
for (index = 0; index < count; index++)
|
||||
{
|
||||
JSONIndentLine(indent);
|
||||
"Key: %s\n", keys[index];
|
||||
temp_hash = HashFind(keys[index], data->hash_table, HTT_JSON);
|
||||
JSONDataRep(temp_hash->data, indent + 1);
|
||||
}
|
||||
JSONIndentLine(indent);
|
||||
"}\n";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
CJSONDataEntry *JSONParse(CCompCtrl *cc)
|
||||
{
|
||||
CJSONDataEntry *result = CAlloc(sizeof(CJSONDataEntry));
|
||||
I64 tk, last_tk;
|
||||
Bool is_done = FALSE;
|
||||
CJSONDataEntry *temp_entry;// = JSONParse(cc);
|
||||
CJSONDataHash *temp_hash = CAlloc(sizeof(CJSONDataHash));
|
||||
|
||||
while (tk = Lex(cc))
|
||||
{
|
||||
// ClassRep(cc);
|
||||
switch (tk)
|
||||
{
|
||||
|
||||
case '}':
|
||||
LexExcept(cc, "Expected Value, got '}'.");
|
||||
case TK_STR:
|
||||
result->type = JSONT_STRING;
|
||||
result->string_data = StrNew(cc->cur_str);
|
||||
|
||||
is_done = TRUE;
|
||||
break;
|
||||
|
||||
case TK_I64: //todo, LexExcept on 0x or 0b vals.
|
||||
result->type = JSONT_INTEGER;
|
||||
result->int_data = cc->cur_i64;
|
||||
|
||||
// LexPush(cc);
|
||||
// "got hex val, token string is %s\n",cc->cur_str;
|
||||
// ClassRep(cc);
|
||||
// Break;
|
||||
|
||||
is_done = TRUE;
|
||||
break;
|
||||
|
||||
case TK_F64:
|
||||
result->type = JSONT_FLOAT;
|
||||
result->float_data = cc->cur_f64;
|
||||
|
||||
is_done = TRUE;
|
||||
break;
|
||||
|
||||
case TK_IDENT:
|
||||
if (!StrCompare(cc->cur_str, "true") ||
|
||||
!StrCompare(cc->cur_str, "false"))
|
||||
{
|
||||
result->type = JSONT_BOOL;
|
||||
|
||||
if (!StrCompare(cc->cur_str, "true"))
|
||||
result->bool_data = TRUE;
|
||||
if (!StrCompare(cc->cur_str, "false"))
|
||||
result->bool_data = FALSE;
|
||||
|
||||
is_done = TRUE;
|
||||
}
|
||||
if (!StrCompare(cc->cur_str, "null"))
|
||||
{
|
||||
result->type = JSONT_NULL;
|
||||
|
||||
is_done = TRUE;
|
||||
}
|
||||
|
||||
is_done = TRUE;
|
||||
break;
|
||||
|
||||
case '[':
|
||||
result->type = JSONT_ARRAY;
|
||||
result->list_data = CAlloc(sizeof(CJSONDataEntry));
|
||||
QueueInit(result->list_data);
|
||||
|
||||
lex_listitem:
|
||||
/*
|
||||
CCompCtrl* temp_cc = NULL;
|
||||
MemCopy(temp_cc, cc, CompCtrlSize(cc));
|
||||
tk = Lex(temp_cc);
|
||||
// CompCtrlDel(temp_cc);
|
||||
*/
|
||||
last_tk = tk;
|
||||
LexPush(cc);
|
||||
tk = Lex(cc);
|
||||
|
||||
if (last_tk == ',' && tk == ']')
|
||||
LexExcept(cc, "Expected List value, got ']'");
|
||||
|
||||
if (tk == ']')
|
||||
goto lex_listdone;
|
||||
|
||||
if (tk == ',')
|
||||
LexExcept(cc, "Expected List Value, got comma.");
|
||||
|
||||
LexPopRestore(cc);
|
||||
temp_entry = JSONParse(cc);
|
||||
QueueInsert(temp_entry, result->list_data->last);
|
||||
|
||||
tk = Lex(cc);
|
||||
if (tk == ',')
|
||||
goto lex_listitem;
|
||||
|
||||
lex_listdone:
|
||||
|
||||
// LexPopNoRestore(cc);
|
||||
is_done = TRUE;
|
||||
break;
|
||||
|
||||
case '{':
|
||||
result->type = JSONT_OBJ;
|
||||
result->hash_table = HashTableNew(JSON_HASHTABLE_SIZE);
|
||||
|
||||
lex_objkey:
|
||||
//lex next. expect TK_STR. Make a temp_hash.
|
||||
last_tk = tk;
|
||||
tk = Lex(cc);
|
||||
|
||||
if (last_tk == ',' && tk == '}')
|
||||
LexExcept(cc, "Expected Key after comma.");
|
||||
|
||||
if (tk == '}')
|
||||
goto lex_objdone;
|
||||
|
||||
if (tk != TK_STR)
|
||||
LexExcept(cc, "Expected Key String.");
|
||||
|
||||
temp_hash = CAlloc(sizeof(CJSONDataHash));
|
||||
|
||||
//set hash type and StrNew with cc->cur_str into hash str.
|
||||
temp_hash->type = HTT_JSON;
|
||||
temp_hash->str = StrNew(cc->cur_str);
|
||||
|
||||
//lex next. expect ':'.
|
||||
tk = Lex(cc);
|
||||
if (tk != ':')
|
||||
LexExcept(cc, "Expected ':' after Key String.");
|
||||
|
||||
//now expect JSONDataEntry-able value next.
|
||||
//Recursive JSONParse into hash data member.
|
||||
temp_hash->data = JSONParse(cc);
|
||||
|
||||
//JSONParse leaves off on the last token. e.g. int, tk will
|
||||
//still be TK_I64.
|
||||
|
||||
//add hash to result hash_table.
|
||||
HashAdd(temp_hash, result->hash_table);
|
||||
// "Debugging.\nHash added with str:%s.\n",temp_hash->str;
|
||||
// ClassRep(temp_hash->data);
|
||||
|
||||
//lex next. expect ',' or '}'.
|
||||
tk = Lex(cc);
|
||||
if (tk != ',' && tk != '}')
|
||||
LexExcept(cc, "Expected ',' or '}' after Object Value.");
|
||||
//if ',' ... Terry's parsing code would imply labels and gotos.
|
||||
//i wonder if there's a better, less BASIC way.
|
||||
if (tk == ',')
|
||||
goto lex_objkey;
|
||||
lex_objdone:
|
||||
|
||||
is_done = TRUE;
|
||||
break;
|
||||
}
|
||||
|
||||
if (is_done)
|
||||
break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
U0 Test(U8 *filename)
|
||||
{
|
||||
CCompCtrl *cc = CompCtrlNew(MStrPrint("#include \"%s\"", filename));
|
||||
CJSONDataEntry *result = JSONParse(cc);
|
||||
|
||||
JSONDataRep(result);
|
||||
}
|
||||
|
||||
Cd(__DIR__);
|
||||
Test("JSON1.TXT");
|
23
src/Home/Net/JSON/JSON0.TXT
Executable file
23
src/Home/Net/JSON/JSON0.TXT
Executable file
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"key1":"value1",
|
||||
"key2":"value2",
|
||||
"key3":"value3",
|
||||
"hex":0x333,
|
||||
"floats":444.4,
|
||||
"twos":222222,
|
||||
"listkey":
|
||||
[
|
||||
123,
|
||||
456,
|
||||
789,
|
||||
99.99,
|
||||
"stringval",
|
||||
{
|
||||
"objlist":[1,2,3,4,5,6,7],
|
||||
"objobj": {"objobjlist":[23.22,534.44,true]}
|
||||
}
|
||||
],
|
||||
"boolkey1":true,
|
||||
"twentythree":23,
|
||||
"boolkey2":false
|
||||
}
|
28
src/Home/Net/JSON/JSON1.TXT
Executable file
28
src/Home/Net/JSON/JSON1.TXT
Executable file
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"key1": "value1",
|
||||
"key2": "value2",
|
||||
"key3": "value3",
|
||||
"hex": 0x333,
|
||||
"floats": 444.4,
|
||||
"twos": 222222,
|
||||
"listkey":
|
||||
[
|
||||
123,
|
||||
456,
|
||||
789,
|
||||
99.99,
|
||||
"stringval",
|
||||
{
|
||||
"objlist":
|
||||
[1, 2, 3, 4, 5, 6, 7],
|
||||
"objobj":
|
||||
{
|
||||
"objobjlist":
|
||||
[23.22, 534.44, true]
|
||||
}
|
||||
}
|
||||
],
|
||||
"boolkey1": true,
|
||||
"twentythree": 23,
|
||||
"boolkey2": false
|
||||
}
|
22
src/Home/Net/JSON/JSON2.TXT
Executable file
22
src/Home/Net/JSON/JSON2.TXT
Executable file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"glossary": {
|
||||
"title": "example glossary",
|
||||
"GlossDiv": {
|
||||
"title": "S",
|
||||
"GlossList": {
|
||||
"GlossEntry": {
|
||||
"ID": "SGML",
|
||||
"SortAs": "SGML",
|
||||
"GlossTerm": "Standard Generalized Markup Language",
|
||||
"Acronym": "SGML",
|
||||
"Abbrev": "ISO 8879:1986",
|
||||
"GlossDef": {
|
||||
"para": "A meta-markup language, used to create markup languages such as DocBook.",
|
||||
"GlossSeeAlso": ["GML", "XML"]
|
||||
},
|
||||
"GlossSee": "markup"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
27
src/Home/Net/JSON/JSON3.TXT
Executable file
27
src/Home/Net/JSON/JSON3.TXT
Executable file
|
@ -0,0 +1,27 @@
|
|||
{"widget": {
|
||||
"debug": "on",
|
||||
"window": {
|
||||
"title": "Sample Konfabulator Widget",
|
||||
"name": "main_window",
|
||||
"width": 500,
|
||||
"height": 500
|
||||
},
|
||||
"image": {
|
||||
"src": "Images/Sun.png",
|
||||
"name": "sun1",
|
||||
"hOffset": 250,
|
||||
"vOffset": 250,
|
||||
"alignment": "center"
|
||||
},
|
||||
"text": {
|
||||
"data": "Click Here",
|
||||
"size": 36,
|
||||
"style": "bold",
|
||||
"name": "text1",
|
||||
"hOffset": 250,
|
||||
"vOffset": 100,
|
||||
"alignment": "center",
|
||||
"onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
|
||||
}
|
||||
}}
|
||||
|
89
src/Home/Net/JSON/JSON4.TXT
Executable file
89
src/Home/Net/JSON/JSON4.TXT
Executable file
|
@ -0,0 +1,89 @@
|
|||
{"web-app": {
|
||||
"servlet": [
|
||||
{
|
||||
"servlet-name": "cofaxCDS",
|
||||
"servlet-class": "org.cofax.cds.CDSServlet",
|
||||
"init-param": {
|
||||
"configGlossary:installationAt": "Philadelphia, PA",
|
||||
"configGlossary:adminEmail": "ksm@pobox.com",
|
||||
"configGlossary:poweredBy": "Cofax",
|
||||
"configGlossary:poweredByIcon": "/images/cofax.gif",
|
||||
"configGlossary:staticPath": "/content/static",
|
||||
"templateProcessorClass": "org.cofax.WysiwygTemplate",
|
||||
"templateLoaderClass": "org.cofax.FilesTemplateLoader",
|
||||
"templatePath": "templates",
|
||||
"templateOverridePath": "",
|
||||
"defaultListTemplate": "listTemplate.htm",
|
||||
"defaultFileTemplate": "articleTemplate.htm",
|
||||
"useJSP": false,
|
||||
"jspListTemplate": "listTemplate.jsp",
|
||||
"jspFileTemplate": "articleTemplate.jsp",
|
||||
"cachePackageTagsTrack": 200,
|
||||
"cachePackageTagsStore": 200,
|
||||
"cachePackageTagsRefresh": 60,
|
||||
"cacheTemplatesTrack": 100,
|
||||
"cacheTemplatesStore": 50,
|
||||
"cacheTemplatesRefresh": 15,
|
||||
"cachePagesTrack": 200,
|
||||
"cachePagesStore": 100,
|
||||
"cachePagesRefresh": 10,
|
||||
"cachePagesDirtyRead": 10,
|
||||
"searchEngineListTemplate": "forSearchEnginesList.htm",
|
||||
"searchEngineFileTemplate": "forSearchEngines.htm",
|
||||
"searchEngineRobotsDb": "WEB-INF/robots.db",
|
||||
"useDataStore": true,
|
||||
"dataStoreClass": "org.cofax.SqlDataStore",
|
||||
"redirectionClass": "org.cofax.SqlRedirection",
|
||||
"dataStoreName": "cofax",
|
||||
"dataStoreDriver": "com.microsoft.jdbc.sqlserver.SQLServerDriver",
|
||||
"dataStoreUrl": "jdbc:microsoft:sqlserver://LOCALHOST:1433;DatabaseName=goon",
|
||||
"dataStoreUser": "sa",
|
||||
"dataStorePassword": "dataStoreTestQuery",
|
||||
"dataStoreTestQuery": "SET NOCOUNT ON;select test='test';",
|
||||
"dataStoreLogFile": "/usr/local/tomcat/logs/datastore.log",
|
||||
"dataStoreInitConns": 10,
|
||||
"dataStoreMaxConns": 100,
|
||||
"dataStoreConnUsageLimit": 100,
|
||||
"dataStoreLogLevel": "debug",
|
||||
"maxUrlLength": 500}},
|
||||
{
|
||||
"servlet-name": "cofaxEmail",
|
||||
"servlet-class": "org.cofax.cds.EmailServlet",
|
||||
"init-param": {
|
||||
"mailHost": "mail1",
|
||||
"mailHostOverride": "mail2"}},
|
||||
{
|
||||
"servlet-name": "cofaxAdmin",
|
||||
"servlet-class": "org.cofax.cds.AdminServlet"},
|
||||
|
||||
{
|
||||
"servlet-name": "fileServlet",
|
||||
"servlet-class": "org.cofax.cds.FileServlet"},
|
||||
{
|
||||
"servlet-name": "cofaxTools",
|
||||
"servlet-class": "org.cofax.cms.CofaxToolsServlet",
|
||||
"init-param": {
|
||||
"templatePath": "toolstemplates/",
|
||||
"log": 1,
|
||||
"logLocation": "/usr/local/tomcat/logs/CofaxTools.log",
|
||||
"logMaxSize": "",
|
||||
"dataLog": 1,
|
||||
"dataLogLocation": "/usr/local/tomcat/logs/dataLog.log",
|
||||
"dataLogMaxSize": "",
|
||||
"removePageCache": "/content/admin/remove?cache=pages&id=",
|
||||
"removeTemplateCache": "/content/admin/remove?cache=templates&id=",
|
||||
"fileTransferFolder": "/usr/local/tomcat/webapps/content/fileTransferFolder",
|
||||
"lookInContext": 1,
|
||||
"adminGroupID": 4,
|
||||
"betaServer": true}}],
|
||||
"servlet-mapping": {
|
||||
"cofaxCDS": "/",
|
||||
"cofaxEmail": "/cofaxutil/aemail/*",
|
||||
"cofaxAdmin": "/admin/*",
|
||||
"fileServlet": "/static/*",
|
||||
"cofaxTools": "/tools/*"},
|
||||
|
||||
"taglib": {
|
||||
"taglib-uri": "cofax.tld",
|
||||
"taglib-location": "/WEB-INF/tlds/cofax.tld"}}}
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
#include "C:/Home/Net/NetLog"
|
||||
|
||||
#include "C:/Home/Net/NetQueue"
|
||||
#include "C:/Home/Net/PCNet"
|
||||
#include "C:/Home/Net/Drivers/PCNet"
|
||||
#include "C:/Home/Net/Ethernet"
|
||||
|
||||
#include "C:/Home/Net/ARP"
|
||||
|
@ -39,7 +39,7 @@ if (Fs != zenith_task)
|
|||
|
||||
"\nNow run one of the $MA,"Tests",LM="Cd(\"C:/Home/Net/Tests\");Dir;\n"$ or $MA,"Programs",LM="Cd(\"C:/Home/Net/Programs\");Dir;\n"$.\n";
|
||||
|
||||
"\nIf a test crashes to Debug, try typing $BLACK$G2;$FG$\n\n";
|
||||
"\nIf a test crashes to Debug, try typing $FG,0$G2;$FG$\n\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -327,7 +327,7 @@ returns default.
|
|||
("/Kernel/KHashA.CC",NULL,NULL) returns "D:/Kernel"
|
||||
("/Kernel",NULL,"PRJ") returns "D:/Kernel/Kernel.PRJ"
|
||||
("/Kernel/BlkDev",NULL,"PRJ") returns "D:/Kernel/Kernel.PRJ"
|
||||
("/Apps/Psalmody","Load","HC") returns "D:/Apps/Psalmody/Load.CC"
|
||||
("/Apps/Psalmody","Load","CC") returns "D:/Apps/Psalmody/Load.CC"
|
||||
*/
|
||||
U8 *st = DirNameAbs(dirname), *st2, *st3, *res, *default = NULL, *ext;
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ U0 EdLiteUpdate(CLine *head, CLine *cur_line, I64 cur_col, I64 line_start_col)
|
|||
k = 0;
|
||||
for (j = 0; j < cur_col; j++)
|
||||
if (tmpl->line[j] == '\t')
|
||||
k = (k + 4) & ~3;
|
||||
k = (k + 8) & ~7;
|
||||
else
|
||||
k++;
|
||||
cursor_col = k;
|
||||
|
@ -36,7 +36,7 @@ U0 EdLiteUpdate(CLine *head, CLine *cur_line, I64 cur_col, I64 line_start_col)
|
|||
while (ch = *st++)
|
||||
{
|
||||
if (ch == '\t')
|
||||
k2 = (k + 4) & ~3;
|
||||
k2 = (k + 8) & ~7;
|
||||
else
|
||||
k2 = k + 1;
|
||||
if (line_start_col <= k < line_start_col + text.cols)
|
||||
|
|
0
src/Misc/Bible.TXT
Normal file → Executable file
0
src/Misc/Bible.TXT
Normal file → Executable file
|
@ -305,7 +305,7 @@ public F64 PopUpRangeF64Log(F64 lo, F64 hi, I64 steps, U8 *format="%9.4f", U8 *h
|
|||
public I64 ZenithFile(U8 *filename, Bool warn_ext=TRUE)
|
||||
{//Make zenith_task execute file.
|
||||
Bool okay = TRUE;
|
||||
U8 *name = FileNameAbs(filename), *name2 = ExtDefault(name, "HC");
|
||||
U8 *name = FileNameAbs(filename), *name2 = ExtDefault(name, "CC");
|
||||
I64 res = 0;
|
||||
|
||||
if (warn_ext && !FilesFindMatch(name2, FILEMASK_JIT) && !PopUpCancelOk(ST_WARN_ST "Not .CC File\n\n"))
|
||||
|
@ -321,7 +321,7 @@ public I64 ZenithFile(U8 *filename, Bool warn_ext=TRUE)
|
|||
public I64 PopUpFile(U8 *filename, Bool warn_ext=TRUE, CTask *parent=NULL, CTask **_pu_task=NULL)
|
||||
{//$LK,"ExeFile2",A="MN:ExeFile2"$() in $LK,"PopUp",A="MN:PopUp"$ task. Cont as User.
|
||||
Bool okay = TRUE;
|
||||
U8 *st, *name = FileNameAbs(filename), *name2 = ExtDefault(name, "HC");
|
||||
U8 *st, *name = FileNameAbs(filename), *name2 = ExtDefault(name, "CC");
|
||||
I64 res = 0;
|
||||
|
||||
if (warn_ext && !FilesFindMatch(name2, FILEMASK_JIT) && !PopUpCancelOk(ST_WARN_ST "Not .CC File\n\n"))
|
||||
|
@ -340,7 +340,7 @@ public I64 PopUpFile(U8 *filename, Bool warn_ext=TRUE, CTask *parent=NULL, CTask
|
|||
|
||||
public I64 PopUpRunFile(U8 *filename, I64 ccf_flags=0, ...)
|
||||
{//$LK,"ExeFile",A="MN:ExeFile"$() with args using $LK,"LastFun",A="MN:LastFun"$() in $LK,"PopUp",A="MN:PopUp"$ task.
|
||||
U8 *st, *name = FileNameAbs(filename), *name2 = ExtDefault(name, "HC");
|
||||
U8 *st, *name = FileNameAbs(filename), *name2 = ExtDefault(name, "CC");
|
||||
I64 res = 0;
|
||||
|
||||
st = MStrPrint("\"$$$$WW+H,1$$$$\";ExeFile2(\"%s\",0x%X);LastFun(0x%X,0x%X);", name2, ccf_flags, argc, argv);
|
||||
|
|
0
src/Zenith/God/GodBible.CC
Normal file → Executable file
0
src/Zenith/God/GodBible.CC
Normal file → Executable file
0
src/Zenith/God/GodExterns.CC
Normal file → Executable file
0
src/Zenith/God/GodExterns.CC
Normal file → Executable file
0
src/Zenith/God/HolySpirit.CC
Normal file → Executable file
0
src/Zenith/God/HolySpirit.CC
Normal file → Executable file
0
src/Zenith/God/MakeGod.CC
Normal file → Executable file
0
src/Zenith/God/MakeGod.CC
Normal file → Executable file
0
src/Zenith/God/Vocab.DD
Normal file → Executable file
0
src/Zenith/God/Vocab.DD
Normal file → Executable file
Binary file not shown.
Binary file not shown.
Loading…
Reference in a new issue