Author Topic: Transculent Enemies in FFVII  (Read 5737 times)

Kislinskiy

  • Guest
Transculent Enemies in FFVII
« on: 2006-08-22 13:50:18 »
Hi, folks!  :-)

I noticed that the Crown Lance (a purble/cyan jellyfish) has a transculent bell. This incited me to re-examine the triangle/rectangle data in ENEMY120 (Crown Lance) and I made a find.

Vertex colors are stored as follows:

Byte Red
Byte Green
Byte Blue
Byte X

OK, nothing really new. But wait... Usually the X-element of the first color of a triangle/rectangle is 0x30/0x38. A triangle is transculent if this value is 0x32, a rectangle is transculent if this value is 0x3A.

edit: Does anyone have a screenshot of Reno's Pyramid or Crown Lance to check what transculency mode is used (0.25, 0.5 or 1.0 * source pixel + destination pixel)?
« Last Edit: 2006-08-22 20:21:39 by Kislinskiy »

Cyberman

  • *
  • Posts: 1572
    • View Profile
Re: Transculent Enemies in FFVII
« Reply #1 on: 2006-08-22 17:13:37 »
That appears to be a GPU command
0b001XXXXX
The translation of the command is something like

0 0 1[4][3][2][1][0]
where
4 - 0 = flat shading
   1 = gourad shading
3 - 0 = triangle
    1 = quadric
2 - 0 = Texture Mapping Off
    1 = Texture Mapping On
1 - 0 = Semi Transparency Off
    1 = Semi Transparency On
0 - 0 = Compute Brightness While Texture Mapping On
    1 = Compute Brightness While Texture Mapping Off

So
0x32 = gourad shaded trinagle with semi transparency.
0x3A = gourad shaded rectangle with semi transparency.

The semi transparency mode is set by tweaking the ABR bits of the status register in the PS1's GPU.  As for the mode setting hmmm... I'm afraid that the modes you have aren't available on the PS1 :)
abr 00 0.5xB+0.5 x F Semi transparent state
    01 1.0xB+1.0 x F
    10 1.0xB-1.0 x F
    11 1.0xB+0.25 x F

Are it My guess is that they are using the first mode [00].

Cyb

Kislinskiy

  • Guest
Re: Transculent Enemies in FFVII
« Reply #2 on: 2006-08-22 17:30:21 »
Ah, nice. It seems I looked at the wrong doc for the semi transparency modes.  :-)
Where can I read more about GPU commands? Halkun's PSX-doc?

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Re: Transculent Enemies in FFVII
« Reply #3 on: 2006-08-22 17:47:25 »
I'm guessing...

Though I don't that halkun guy sometimes doesn't know what he's talking about...

Cyberman

  • *
  • Posts: 1572
    • View Profile
Re: Transculent Enemies in FFVII
« Reply #4 on: 2006-08-22 17:56:13 »
Ah, nice. It seems I looked at the wrong doc for the semi transparency modes.  :-)
Where can I read more about GPU commands? Halkun's PSX-doc?
I think so, I have Joshua Walkers doc although it's not perfect it's fairly acurate.
It might be the same as Halkun's and he might be the fabled Joshua Walker. ;)   I'm clueless often about these things :D

I've used it for handling FF8's model data information as well. Mostly useful for that ;)

Cyb


Kislinskiy

  • Guest
Re: Transculent Enemies in FFVII
« Reply #5 on: 2006-08-22 20:18:44 »
OK, in a nutshell:

0x30 colored triangle
0x32 colored transculent triangle

0x38 colored rectangle
0x3A colored transculent triangle

A hint that make it easier to implement: Transculent primitives are always stored before the opaque ones.

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Re: Transculent Enemies in FFVII
« Reply #6 on: 2006-08-23 01:07:45 »

Quote
It might be the same as Halkun's and he might be the fabled Joshua Walker. ;)   I'm clueless often about these things :D

I've used it for handling FF8's model data information as well. Mostly useful for that ;)

Cyb



Well, that "Joshua Walker" fellow has aways been kind of a shady person. Trust me, I know. Me and him are like... || <-- that and sometimes I don't know about him. I mean he has this wierd bald head because he lost his hair like when he was 22 or something. Can you imagine? Said it happened during a snorkeling accident off the coast of North Dakota. I think he's lying myself.

Cyberman

  • *
  • Posts: 1572
    • View Profile
Re: Transculent Enemies in FFVII
« Reply #7 on: 2006-08-23 14:57:07 »
OK, in a nutshell:

0x30 colored triangle
0x32 colored transculent triangle

0x38 colored rectangle
0x3A colored transculent triangle

A hint that make it easier to implement: Transculent primitives are always stored before the opaque ones.
Hmmmm That seems kind of strange.  I'm wondering why they would do that.  Unless the ordering of things is such that the translucent primitives are drawn last?  Or perhaps briliantly they rely on depth sorting to sort it out ;) (why would they do that).

Well, that "Joshua Walker" fellow has aways been kind of a shady person. Trust me, I know. Me and him are like... || <-- that and sometimes I don't know about him. I mean he has this wierd bald head because he lost his hair like when he was 22 or something. Can you imagine? Said it happened during a snorkeling accident off the coast of North Dakota. I think he's lying myself. /quote]That's the WORST kind of person! Self deception.  Now where I currently work they might call that accident an incident.  Then again it may never have happened like falling off the Sears tower type accidents err incidents.

Kislinskiy:
Unfortunately we have no such good fortune with texture polygons do we?

Cyb