Have they got back to you yet?
Whats this patch you made now?
I don't totally understand its purpose. Not that it might be useful however.

JonoF is still working on his PS/EX Build Editor you know? as the one linked in my previous post is a WIP.
Nope. And since I can't find their contacts (e-mails) anywhere I wonder how I can bring their attention here. I will try to PM them if they didn't turn off forum e-mail notification for that.Corvin wrote:I think those guys only came to push the Powerslave map editing link.
Have they got back to you yet?
As already mentioned in Powerslave map edition link above - Exhumed/PowerSlave are tag-driven game.Corvin wrote:Whats this patch you made now?
I don't totally understand its purpose. Not that it might be useful however.
It's great, but this will not help with lotags since it's game-specific thing.Corvin wrote:JonoF is still working on his PS/EX Build Editor you know? as the one linked in my previous post is a WIP.
Code: Select all
[877]
title=speed loader
lotag=6
hitag=6
xrepeat=76
yrepeat=68
Code: Select all
[877]
title=speed loader
lotag=6
hitag=6
Code: Select all
void loadtables(void) {
long i, fil;
if (tablesloaded == 0) {
initksqrt();
reciptable[0] = 0x7FFFFFFF;
for (i = 1; i < 1024; i++) {
reciptable[i] = 0x40000000 / i;
}
fil = kopen4load("TABLES.DAT", 0);
if (fil != -1) {
kread(fil, sintable, 2048*2);
/* NOTE: skipped something */
klseek(fil, 4096, SEEK_CUR);
/* NOTE: only 640 instead of 640*2 as in Duke3D */
kread(fil, radarang, 640);
kread(fil, textfont, 1024);
kread(fil, smalltextfont, 1024);
kread(fil, britable, 1024);
kclose(fil);
/* (2048*2) + 4096 + 640 + 1024 + 1024 + 1024 = 11904
11904 bytes - TABLES.DAT size in EX/PS */
}
tablesloaded = 1;
}
}
Code: Select all
void loadpalette(void) {
long i, j, fil;
if (paletteloaded != 0) return;
if ((fil = kopen4load("palette.dat", 0)) == -1) return;
numpalookups = (kfilelength(fil) - 768) / 128;
if ((numpalookups % 2) == 0) {
/* no transluc */
numpalookups /= 2;
} else {
/* allocate memory for transluc buffer */
numpalookups = (numpalookups - 255) / 2;
if (!translucloaded) {
transluc = malloc(65536);
if (transluc) {
fixtransluscence(transluc);
translucloaded = 1;
} else if (cachesize >= 262144) {
/* if malloc failed - try to allocate in cache */
cachesize -= 65536;
initcache(pic, cachesize);
transluc = cachesize + pic;
fixtransluscence(transluc);
translucloaded = 1;
}
}
}
/*
41600 - PALETTE.DAT size
numpalookups = (41600 - 768) / 128 = 319
// (319 % 2) != 0 - transluc present
numpalookups = (319 - 255) / 2 = 32
numpalookups = 32
int i, sz;
sz = 0;
for (i = 0; i < 255; i++) { sz += 255 - i; }
printf("%d", sz); // sz == 32640
total size from code:
768 + (32 * 256) + 32640 = 41600
matched with file size
*/
kread(fil, &palette, 768);
/* allocate memory for palookup buffer */
palookup[0] = malloc(numpalookups * 256);
if (!palookup[0]) {
/* if malloc failed - try to allocate in cache */
cachesize -= numpalookups * 256;
initcache(pic, cachesize);
palookup[0] = cachesize + pic;
}
globalpal = 0;
globalpalwritten = palookup[0];
setpalookupaddress(globalpalwritten);
kread(fil, palookup[globalpal], numpalookups * 256);
if (translucloaded == 1) {
for (i = 0; i < 255; i++) {
kread(fil, &transluc[257 * i + 1], 255 - i);
for (j = i + 1; j < 256; j++) {
transluc[256 * j + i] = transluc[256 * i + j];
}
}
for (j = 0; j < 256; j++) {
transluc[257 * j] = j;
}
}
kclose(fil);
paletteloaded = 1;
}
Return to “Powerslave / Exhumed”
Users browsing this forum: No registered users and 2 guests