General Discussion / Re: Have you ever just wanted to sleep for an entire day?
« on: January 25, 2008, 12:18:28 AM »Well, I wouldn't say I've been missing it, Bob.
øA slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;u=24;area=showposts;start=165 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexf2cf-3.html slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;u=24 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexf2cf-3.html.z x Zeh^ ÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ . È£ OK text/html ISO-8859-1 gzip @øÕ È£ ÿÿÿÿÿÿÿÿ Wed, 11 Mar 2020 04:29:39 GMT 0ó° °® 0® P® €§² ð® Zeh^ / È£
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
The hit rate penalty is for a non-back row compatible weapon is intentional.. in turn that reduces overall damage output.
void ROM::BuildRGBMonsterSprite(unsigned char *&sprite, int tileset, int palnum, int picnum)
{
//Determine if we're loading a small (4x4) or large (6x6) sprite.
int size;
if (picnum < 2)
size = 4;
else
size = 6;
//Determine the index of the first tile in the image.
const unsigned char picindex[4] = { 0x12, 0x22, 0x32, 0x56 };
int tilebase = picindex[picnum];
//Load the 4-color palette and get the corresponding 24-bit values from the NES palette.
unsigned char palette[BATTLE_PALETTE_SIZE][3];
unsigned char NESpalIndex;
for (int i = 0; i < BATTLE_PALETTE_SIZE; i++)
{
NESpalIndex = battlePalettes[palnum][i];
for (int j = 0; j < 3; j++)
palette[i][j] = NESpalette[NESpalIndex][j];
}
//Allocate the sprite.
sprite = new unsigned char[size*8*size*8*3];
//Fill the sprite. This is ugly.
//x and y are the tiles, i and j are pixels within each tile, l is the offset into the tile data
int tilenum = tilebase;
for (int y = 0; y < size; y++)
for (int x = 0; x < size; x++)
{
//Fetch a tile, then fill in the block in the image.
unsigned char *tile = battleTilesets[tileset][tilenum++];
int l = 0;
for (int i = 0; i < 8; i++)
{
//The tile is stored using bitplanes. Tile[l] is the LSB for a row of 8 pixels.
//Tile [l+8] is the MSB of the same row.
unsigned char temp0 = tile[l];
unsigned char temp1 = tile[l+8];
l++;
for (int j = 7; j >= 0; j--) //the MSB is the leftmost pixel
{
int pixel = (temp0 & 1) + ((temp1 & 1)<<1);
temp0 >>= 1; temp1 >>= 1;
for (int k = 0; k < 3; k++)
sprite[3*(size*8*(8*y + i) + 8*x + j) + k] = palette[pixel][k];
}
}
}
//If you thought that was bad, wait until you see the boss graphics!
}
).
You mean less insane/imbalanced (Sorcerors), but more appropriately challenging.
Well, there's always the classic algo in multipliers or FF1 extra damage (although, that method is borked for the most part until the Advance version AFAIK, and unfortunately doesn't scale IIRC).
Cumulative equipment could work I guess.. it seems Diablo-like, minus the cap.