Author Topic: Do we can retexture VVVVVV?  (Read 4673 times)

Riki the crewmate

  • Crewmate
  • **
  • Posts: 31
  • Since, I'm the new active guy on Terry's forum!
    • View Profile
Do we can retexture VVVVVV?
« on: April 28, 2015, 09:09:43 pm »
I'm trying to change the textures by going to C:/ and changing images from graphics. I really wanna make my viridian yellow, I tried to do it, But when i was almost done i saved everything launched VVVVVV, The images didn't change, How do we edit textures?

allison

  • Captain
  • *****
  • Posts: 926
  • monolithic since 2012??
    • View Profile
    • Allison Fleischer
Re: Do we can retexture VVVVVV?
« Reply #1 on: April 28, 2015, 11:26:05 pm »
Crewmates are automatically color corrected by the game engine (which is why there's only one set of character sprites).

Riki the crewmate

  • Crewmate
  • **
  • Posts: 31
  • Since, I'm the new active guy on Terry's forum!
    • View Profile
Re: Do we can retexture VVVVVV?
« Reply #2 on: April 29, 2015, 12:20:20 am »
oh..

WHY TERRY WHY

:victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria: :victoria:HERE COME THE RANTERS!!!!!!!!!!!!!!!

Dav999

  • Global Moderator
  • Captain
  • *****
  • Posts: 2185
    • View Profile
    • The Open Level Project
Re: Do we can retexture VVVVVV?
« Reply #3 on: April 29, 2015, 07:11:20 am »
The only way would be to hexedit the game and change something in the scripts to changeplayercolour(yellow) (think of a jukebox terminal), if you know what you're doing, and it's very limited because you can only really make it temporary that way and if you increase the game size by even one character it stops working.

Maybe Viridian's color is in there too, but what complicates matters is that the color alternates all the time.

@Kreator

  • Guest
Re: Do we can retexture VVVVVV?
« Reply #4 on: April 29, 2015, 02:19:09 pm »
We could just get ShinyWolf to tell us how he made this: http://distractionware.com/forum/index.php?topic=1742.0

I'd like to play more levels with Verdigris

EDIT: *looks to the left of this post* Hmmm... that gives me an idea for a new texture pack... :vermillion:

allison

  • Captain
  • *****
  • Posts: 926
  • monolithic since 2012??
    • View Profile
    • Allison Fleischer
Re: Do we can retexture VVVVVV?
« Reply #5 on: April 29, 2015, 10:49:01 pm »
We could just get ShinyWolf to tell us how he made this: http://distractionware.com/forum/index.php?topic=1742.0

I'd like to play more levels with Verdigris

EDIT: *looks to the left of this post* Hmmm... that gives me an idea for a new texture pack... :vermillion:
He made that with internal scripting. Modifying the scripts used in the main game is borderline impossible.

Terry

  • Administrator
  • Captain
  • *****
  • Posts: 608
    • View Profile
    • distractionware
Re: Do we can retexture VVVVVV?
« Reply #6 on: May 07, 2015, 02:59:51 pm »
I don't think hexediting the game to change the actual colours would work; there's no one value to modify: it's a big messy function with lots of preset values.

What you COULD do is hexedit those values, if you can somehoe figure out where they are. But I wouldn't know where to start and it's probably not a good idea.

Anyway, here's the function where it happens:

Code: [Select]
void Graphics::setcol( int t, UtilityClass& help )
{
int temp;

//Setup predefinied colours as per our zany palette
switch(t)
{
//Player Normal
case 0:
ct.colour = getRGB(160- help.glow/2 - (fRandom()*20), 200- help.glow/2, 220 - help.glow);
break;
//Player Hurt
case 1:
ct.colour = getRGB(196 - (fRandom() * 64), 10, 10);
break;
//Enemies and stuff
case 2:
ct.colour = getRGB(225-(help.glow/2), 75, 30);
break;
case 3: //Trinket
if (!trinketcolset)
{
trinketr = 200 - (fRandom() * 64);
trinketg = 200 - (fRandom() * 128);
trinketb = 164 + (fRandom() * 60);
trinketcolset = true;
}
ct.colour = getRGB(trinketr, trinketg, trinketb);
break;
case 4: //Inactive savepoint
temp = (help.glow/2) + (fRandom() * 8);
ct.colour = getRGB(80 + temp, 80 + temp, 80 + temp);
break;
case 5: //Active savepoint
ct.colour = getRGB(164+(fRandom()*64),164+(fRandom()*64), 255-(fRandom()*64));
break;
case 6: //Enemy : Red
ct.colour = getRGB(250 - help.glow/2, 60- help.glow/2, 60 - help.glow/2);
break;
case 7: //Enemy : Green
ct.colour = getRGB(100 - help.glow/2 - (fRandom()*30), 250 - help.glow/2, 100 - help.glow/2 - (fRandom()*30));
break;
case 8: //Enemy : Purple
ct.colour = getRGB(250 - help.glow/2, 20, 128 - help.glow/2 + (fRandom()*30));
break;
case 9: //Enemy : Yellow
ct.colour = getRGB(250 - help.glow/2, 250 - help.glow/2, 20);
break;
case 10: //Warp point (white)
ct.colour = getRGB(255 - (fRandom() * 64), 255 - (fRandom() * 64), 255 - (fRandom() * 64));
break;
case 11: //Enemy : Cyan
ct.colour = getRGB(20, 250 - help.glow/2, 250 - help.glow/2);
break;
case 12: //Enemy : Blue
ct.colour = getRGB(90- help.glow/2, 90 - help.glow/2, 250 - help.glow/2);
break;
//Crew Members
//green
case 13:
ct.colour = getRGB(120- help.glow/4 - (fRandom()*20), 220 - help.glow/4, 120- help.glow/4);
break;
//Yellow
case 14:
ct.colour = getRGB(220- help.glow/4 - (fRandom()*20), 210 - help.glow/4, 120- help.glow/4);
break;
//pink
case 15:
ct.colour = getRGB(255 - help.glow/8, 70 - help.glow/4, 70 - help.glow / 4);
break;
//Blue
case 16:
ct.colour = getRGB(75, 75, 255- help.glow/4 - (fRandom()*20));
break;


case 17: //Enemy : Orange
ct.colour = getRGB(250 - help.glow/2, 130 - help.glow/2, 20);
break;
case 18: //Enemy : Gray
ct.colour = getRGB(130- help.glow/2, 130 - help.glow/2, 130 - help.glow/2);
break;
case 19: //Enemy : Dark gray
ct.colour = getRGB(60- help.glow/8, 60 - help.glow/8, 60 - help.glow/8);
break;
//Purple
case 20:
ct.colour = getRGB(220 - help.glow / 4 - (fRandom() * 20), 120 - help.glow / 4, 210 - help.glow / 4);
break;

case 21: //Enemy : Light Gray
ct.colour = getRGB(180- help.glow/2, 180 - help.glow/2, 180 - help.glow/2);
break;
case 22: //Enemy : Indicator Gray
ct.colour = getRGB(230- help.glow/2, 230- help.glow/2, 230- help.glow/2);
break;
case 23: //Enemy : Indicator Gray
ct.colour = getRGB(255- help.glow/2 - (fRandom() * 40) , 255- help.glow/2 - (fRandom() * 40), 255- help.glow/2 - (fRandom() * 40));
break;

//Trophies
//cyan
case 30:
ct.colour = RGBf(160, 200, 220);
break;
//Purple
case 31:
ct.colour = RGBf(220, 120, 210);
break;
//Yellow
case 32:
ct.colour = RGBf(220, 210, 120);
break;
//red
case 33:
ct.colour = RGBf(255, 70, 70);
break;
//green
case 34:
ct.colour = RGBf(120, 220, 120);
break;
//Blue
case 35:
ct.colour = RGBf(75, 75, 255);
break;
//Gold
case 36:
ct.colour = getRGB(180, 120, 20);
break;
case 37: //Trinket
if (!trinketcolset)
{
trinketr = 200 - (fRandom() * 64);
trinketg = 200 - (fRandom() * 128);
trinketb = 164 + (fRandom() * 60);
trinketcolset = true;
}
ct.colour = RGBf(trinketr, trinketg, trinketb);
break;
//Silver
case 38:
ct.colour = RGBf(196, 196, 196);
break;
//Bronze
case 39:
ct.colour = RGBf(128, 64, 10);
break;
//Awesome
case 40: //Teleporter in action!
temp = fRandom() * 150;
if(temp<33)
{
ct.colour = RGBf(255 - (fRandom() * 64), 64 + (fRandom() * 64), 64 + (fRandom() * 64));
}
else if (temp < 66)
{
ct.colour = RGBf(64 + (fRandom() * 64), 255 - (fRandom() * 64), 64 + (fRandom() * 64));
}
else if (temp < 100)
{
ct.colour = RGBf(64 + (fRandom() * 64), 64 + (fRandom() * 64), 255 - (fRandom() * 64));
}
else
{
ct.colour = RGBf(164+(fRandom()*64),164+(fRandom()*64), 255-(fRandom()*64));
}
break;

case 100: //Inactive Teleporter
temp = (help.glow/2) + (fRandom() * 8);
ct.colour = getRGB(42 + temp, 42 + temp, 42 + temp);
break;
case 101: //Active Teleporter
ct.colour = getRGB(164+(fRandom()*64),164+(fRandom()*64), 255-(fRandom()*64));
break;
case 102: //Teleporter in action!
temp = fRandom() * 150;
if(temp<33)
{
ct.colour = getRGB(255 - (fRandom() * 64), 64 + (fRandom() * 64), 64 + (fRandom() * 64));
}
else if (temp < 66)
{
ct.colour = getRGB(64 + (fRandom() * 64), 255 - (fRandom() * 64), 64 + (fRandom() * 64));
}
else if (temp < 100)
{
ct.colour = getRGB(64 + (fRandom() * 64), 64 + (fRandom() * 64), 255 - (fRandom() * 64));
}
else
{
ct.colour = getRGB(164+(fRandom()*64),164+(fRandom()*64), 255-(fRandom()*64));
}
break;

default:
ct.colour = 0xFFFFFF;
break;
}
//ct.color = endian_swap(ct.color);
}


shiny

  • Captain
  • *****
  • Posts: 1560
  • Welcome to the MOTHER3 world
    • View Profile
Re: Do we can retexture VVVVVV?
« Reply #7 on: August 11, 2015, 06:14:59 pm »
Oh my. I would love how to get THAT into the game.

onepamop_wl

  • Crewmate
  • *
  • Posts: 8
  • oh, hi everyone!
    • View Profile
Re: Do we can retexture VVVVVV?
« Reply #8 on: August 12, 2015, 05:32:24 am »
Oh my. I would love how to get THAT into the game.

you thread-bumper

@Kreator

  • Guest
Re: Do we can retexture VVVVVV?
« Reply #9 on: August 13, 2015, 03:37:55 pm »
You're one to talk, Mr. Thread-Bumping Master. Respect.

But on-topic: that level of ShinyWolf's was amazing, so I'm probably going to learn how to implement player color-changing for my future levels

Lollipop

  • Captain
  • *****
  • Posts: 422
  • fornite funnys
    • View Profile
Re: Do we can retexture VVVVVV?
« Reply #10 on: August 13, 2015, 06:25:43 pm »
You're one to talk, Mr. Thread-Bumping Master. Respect.

But on-topic: that level of ShinyWolf's was amazing, so I'm probably going to learn how to implement player color-changing for my future levels

There was actually a bug with the level (Not a bug, but just something I found out about) If you die
in a room with a checkpoint (There actually were no rooms like that, I pressed R) The script didn't work and I stayed Viridian until I died in another room.

@Kreator

  • Guest
Re: Do we can retexture VVVVVV?
« Reply #11 on: August 13, 2015, 10:09:02 pm »
Yeah, resetting sounds like a thing that would cause problems with color-changing scripts