// horrible or what? static void getbaseunits (int fullscreen) { multx = multy = 100; struct newresource *nr, *nr2; HWND hwnd; nr = getresource (IDD_PANEL); if (!nr) { write_log (_T("getbaseunits fail!\n")); abort(); } nr2 = scaleresource2(nr, NULL, -1, 0, 0); hwnd = CreateDialogIndirect (nr2->inst, nr2->resource, NULL, TestProc); if (hwnd) { DestroyWindow (hwnd); } else { baserect.left = baserect.top = 0; baserect.right = 800; baserect.bottom = 600; baseclientrect.left = baseclientrect.top = 0; baseclientrect.right = 800; baseclientrect.bottom = 600; } freescaleresource (nr2); freescaleresource (nr); basewidth = baserect.right - baserect.left; baseheight = baserect.bottom - baserect.top; baseclientwidth = baseclientrect.right - baseclientrect.left; baseclientheight = baseclientrect.bottom - baseclientrect.top; baseborderwidth = basewidth - baseclientwidth; baseborderheight = baseheight - baseclientheight; write_log (_T("GUIBase %dx%d (%dx%d)\n"), basewidth, baseheight, baseunitx, baseunity); }
void gdb_initial() /* opens gdbm file */ { if((gdbmfile = gdbm_open (getresource(resourcetype_filename, GDBMINDEX), 0,GDBM_READER, 0, 0)) == NULL) { fprintf(stderr,"Can't open dbm file!\n"); exit(1); } }
static int prcparse(UBYTE *prcfile,size_t_68k prcsize){ palmdb meep; meep.numrecords = prcfile[0x4C] << 8 | prcfile[0x4C + 1]; memcpy(meep.name,prcfile,32); memcpy(&meep.flags,prcfile + 0x20,2); swapword(meep.flags); memcpy(&meep.version,prcfile + 0x22,2); swapword(meep.version); memcpy(&meep.modnum,prcfile + 0x30,4); swaplong(meep.modnum); memcpy(&meep.appinfo,prcfile + 0x34,4); swaplong(meep.appinfo); memcpy(&meep.sortinfo,prcfile + 0x38,4); swaplong(meep.sortinfo); memcpy(meep.type.typec,prcfile + 0x3C,4); memcpy(meep.creator.typec,prcfile + 0x40,4); memcpy(&meep.uuidseed,prcfile + 0x44,4); swaplong(meep.uuidseed); memcpy(&meep.nextrecordlist,prcfile + 0x48,4); swaplong(meep.nextrecordlist); //get the needed 68k memory curmemloc = getnewlinearchunks(NUM_BANKS(prcsize + meep.numrecords * 4)) << 16; if(curmemloc != 0){ avbytes = NUM_BANKS(prcsize + meep.numrecords * 4) * SIZEOFBANK; currealaddr = (UBYTE*)get_real_address(curmemloc); } else return FAILEDMALLOC; meep.open = false; meep.resdb = true; apps.push_back(meep); unsigned int robin; for(robin = 0;robin < meep.numrecords;robin++){ unpackprcresource(robin,prcfile,prcsize,apps.size() - 1); } apps[apps.size() - 1].intmain = getresource(apps.size() - 1,1,'code'); if(apps[apps.size() - 1].intmain != 0){ apps[apps.size() - 1].exe = true; hasbootableapp = true; } return WORKED; }
static void initmodkey() { char tmp; strncpy(&tmp, getresource("modkey", "A"), 1); switch (tmp) { case 'S': modkey = ShiftMask; break; case 'C': modkey = ControlMask; break; case 'W': modkey = Mod4Mask; break; default: modkey = Mod1Mask; } }
void initrules(Bool reload) { int i; char t[64]; const char *tmp; freerules(); rules = ecalloc(64, sizeof(Rule *)); for (i = 0; i < 64; i++) { snprintf(t, sizeof(t), "rule%d", i); tmp = getresource(t, NULL); if (!tmp) continue; rules[nrules] = emallocz(sizeof(Rule)); parserule(tmp, rules[nrules]); nrules++; } // rules = erealloc(rules, nrules * sizeof(Rule *)); compileregs(); }
void initkeys(Bool reload) { unsigned int i, j, l; const char *res; char t[64]; freekeys(); initmodkey(); /* global functions */ for (i = 0; i < LENGTH(KeyItems); i++) { Key key = { 0, }; snprintf(t, sizeof(t), "%s", KeyItems[i].name); XPRINTF("Check for key item '%s'\n", t); if (!(res = getresource(t, NULL))) continue; key.func = KeyItems[i].action; key.arg = KeyItems[i].arg; parsekeys(res, &key); } /* increment, decrement and set functions */ for (j = 0; j < LENGTH(KeyItemsByAmt); j++) { for (i = 0; i < LENGTH(inc_prefix); i++) { Key key = { 0, }; snprintf(t, sizeof(t), "%s%s", inc_prefix[i].prefix, KeyItemsByAmt[j].name); XPRINTF("Check for key item '%s'\n", t); if (!(res = getresource(t, NULL))) continue; key.func = KeyItemsByAmt[j].action; key.arg = NULL; key.act = inc_prefix[i].act; parsekeys(res, &key); } } /* client or screen state set, unset and toggle functions */ for (j = 0; j < LENGTH(KeyItemsByState); j++) { for (i = 0; i < LENGTH(set_prefix); i++) { for (l = 0; l < LENGTH(set_suffix); l++) { Key key = { 0, }; snprintf(t, sizeof(t), "%s%s%s", set_prefix[i].prefix, KeyItemsByState[j].name, set_suffix[l].suffix); XPRINTF("Check for key item '%s'\n", t); if (!(res = getresource(t, NULL))) continue; key.func = KeyItemsByState[j].action; key.arg = NULL; key.set = set_prefix[i].set; key.any = set_suffix[l].any; parsekeys(res, &key); } } } /* functions with a relative direction */ for (j = 0; j < LENGTH(KeyItemsByDir); j++) { for (i = 0; i < LENGTH(rel_suffix); i++) { Key key = { 0, }; snprintf(t, sizeof(t), "%s%s", KeyItemsByDir[j].name, rel_suffix[i].suffix); XPRINTF("Check for key item '%s'\n", t); if (!(res = getresource(t, NULL))) continue; key.func = KeyItemsByDir[j].action; key.arg = NULL; key.dir = rel_suffix[i].dir; parsekeys(res, &key); } } /* per tag functions */ for (j = 0; j < LENGTH(KeyItemsByTag); j++) { for (i = 0; i < MAXTAGS; i++) { Key key = { 0, }; snprintf(t, sizeof(t), "%s%d", KeyItemsByTag[j].name, i); XPRINTF("Check for key item '%s'\n", t); if (!(res = getresource(t, NULL))) continue; key.func = KeyItemsByTag[j].action; key.arg = NULL; key.tag = i; key.dir = RelativeNone; parsekeys(res, &key); } for (i = 0; i < LENGTH(tag_suffix); i++) { Key key = { 0, }; snprintf(t, sizeof(t), "%s%s", KeyItemsByTag[j].name, tag_suffix[i].suffix); XPRINTF("Check for key item '%s'\n", t); if (!(res = getresource(t, NULL))) continue; key.func = KeyItemsByTag[j].action; key.arg = NULL; key.tag = 0; key.dir = tag_suffix[i].dir; key.wrap = tag_suffix[i].wrap; parsekeys(res, &key); } } /* list settings */ for (j = 0; j < LENGTH(KeyItemsByList); j++) { for (i = 0; i < 32; i++) { Key key = { 0, }; snprintf(t, sizeof(t), "%s%d", KeyItemsByList[j].name, i); XPRINTF("Check for key item '%s'\n", t); if (!(res = getresource(t, NULL))) continue; key.func = KeyItemsByList[j].action; key.arg = NULL; key.tag = i; key.any = AllClients; key.dir = RelativeNone; key.cyc = False; parsekeys(res, &key); } for (i = 0; i < LENGTH(lst_suffix); i++) { for (l = 0; l < LENGTH(list_which); l++) { Key key = { 0, }; snprintf(t, sizeof(t), "%s%s%s", KeyItemsByList[j].name, lst_suffix[i].suffix, list_which[l].which); XPRINTF("Check for key item '%s'\n", t); if (!(res = getresource(t, NULL))) continue; key.func = KeyItemsByList[j].action; key.arg = NULL; key.tag = 0; key.any = list_which[l].any; key.dir = lst_suffix[i].dir; key.cyc = False; parsekeys(res, &key); } } for (i = 0; i < LENGTH(cyc_suffix); i++) { for (l = 0; l < LENGTH(list_which); l++) { Key key = { 0, }; snprintf(t, sizeof(t), "cycle%s%s%s", KeyItemsByList[j].name, cyc_suffix[i].suffix, list_which[l].which); XPRINTF("Check for key item '%s'\n", t); if (!(res = getresource(t, NULL))) continue; key.func = KeyItemsByList[j].action; key.arg = NULL; key.tag = 0; key.any = list_which[l].any; key.dir = cyc_suffix[i].dir; key.cyc = True; parsekeys(res, &key); } } } /* layout setting */ for (i = 0; layouts[i].symbol != '\0'; i++) { Key key = { 0, }; snprintf(t, sizeof(t), "setlayout%c", layouts[i].symbol); XPRINTF("Check for key item '%s'\n", t); if (!(res = getresource(t, NULL))) continue; key.func = k_setlayout; key.arg = t + 9; parsekeys(res, &key); } /* spawn */ for (i = 0; i < 64; i++) { Key key = { 0, }; snprintf(t, sizeof(t), "spawn%d", i); XPRINTF("Check for key item '%s'\n", t); if (!(res = getresource(t, NULL))) continue; key.func = k_spawn; key.arg = NULL; parsekeys(res, &key); } }