Пример #1
0
// 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);
}
Пример #2
0
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);
            }
      }
Пример #3
0
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;
}
Пример #4
0
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;
	}
}
Пример #5
0
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();
}
Пример #6
0
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);
	}
}