Nintendo OpenGL: Difference between revisions

Smea (talk | contribs)
mNo edit summary
Neobrain (talk | contribs)
 
(24 intermediate revisions by 5 users not shown)
Line 4: Line 4:
== Description ==
== Description ==


The PICA200 is an opengl ES 1.1 compliant GPU manufactured by DMP. It comes loaded with a number of extensions that make it similar to an openGL ES 2.0 compliant GPU (ability to run programmable vertex/geometry shaders, for instance). Because of this, Nintendo wrapped GPU access into an openGL ES 2.0 implementation with some limitations. As the fragment stage of the pipeline is non-programmable, Nintendo instead gives developers the ability to configure a number of fragment-related values through glGetUniformLocation and glUniformXX. See below for the full list.
The PICA200 is an OpenGL ES 1.1 compliant GPU manufactured by DMP. It comes loaded with a number of extensions that make it similar to an OpenGL ES 2.0 compliant GPU (ability to run programmable vertex/geometry shaders, for instance). Because of this, Nintendo wrapped GPU access into an OpenGL ES 2.0 implementation with some limitations. As the fragment stage of the pipeline is non-programmable, Nintendo instead gives developers the ability to configure a number of fragment-related values through glGetUniformLocation and glUniformXX. See below for the full list.


== Shader program structure ==
== Shader program structure ==
Line 39: Line 39:
| 0x04
| 0x04
| Number of program-specific uniforms
| Number of program-specific uniforms
|-
| 0x414
| 0x04
| Pointer to vertex shader struct
|-
|-
| 0x64C
| 0x64C
Line 102: Line 106:
| 0x04
| 0x04
| dmp_FragmentLightSource[k].distanceAttenuationScale (float)
| dmp_FragmentLightSource[k].distanceAttenuationScale (float)
|}
vertex/geometry shader struct:
{| class="wikitable" border="1"
! Offset
!  Size
!  Description
|-
| 0x0
| 0x4
| Pointer to shader code data
|-
| 0x4
| 0x4
| Size of shader code (in words)
|-
| 0x8
| 0x4
| Pointer to shader opdesc data
|-
| 0xC
| 0x4
| Size of shader opdescs (in words)
|}
|}


Line 110: Line 137:
2. Take note of its ID and type !
2. Take note of its ID and type !


3. Depending on whether its a float or not, go through the gigantic switches in shm_uniformfv or shm_uniformiv (non-float) based on the ID of your uniform
3. Depending on whether its a float or not, go through the gigantic switches in shm_uniformfv or shm_uniformiv (non-float) based on the ID of your uniform (in the case of '''steeldiver: sub wars''' you can now just go directly to the handler as it's listed in the table below)


4. Once you find the piece of code specific to your uniform, take note of how the values passed to shm_uniformfv/shm_uniformiv are written to the shader object
4. Once you find the piece of code specific to your uniform, take note of how the values passed to shm_uniformfv/shm_uniformiv are written to the shader object
Line 124: Line 151:
!  Type
!  Type
!  Name
!  Name
!  Handler address in Steeldiver : Sub Wars
!  Handler address (Steeldiver : Sub Wars)
!  Shader Program struct offset
!  GPU Register
|-  
|-  
| 0x0
| 0x0
Line 130: Line 159:
| dmp_Texture[0].perspectiveShadow
| dmp_Texture[0].perspectiveShadow
| 0x0012A504
| 0x0012A504
| ?
| 0x008B bit0 (0 = enable??)
|-  
|-  
| 0x1
| 0x1
Line 135: Line 166:
| dmp_Texture[0].shadowZBias
| dmp_Texture[0].shadowZBias
| 0x00155584
| 0x00155584
| 0xE44
| ?
|-  
|-  
| 0x2
| 0x2
Line 140: Line 173:
| dmp_Texture[0].shadowZScale
| dmp_Texture[0].shadowZScale
| 0x001556A0
| 0x001556A0
| 0xE48
| ?
|-  
|-  
| 0x3
| 0x3
Line 145: Line 180:
| dmp_Texture[0].samplerType
| dmp_Texture[0].samplerType
| 0x0012A5D0
| 0x0012A5D0
| ?
| ?
|-  
|-  
| 0x4
| 0x4
Line 150: Line 187:
| dmp_Texture[1].samplerType
| dmp_Texture[1].samplerType
| 0x0012A6F8
| 0x0012A6F8
| ?
| ?
|-  
|-  
| 0x5
| 0x5
Line 155: Line 194:
| dmp_Texture[2].samplerType
| dmp_Texture[2].samplerType
| 0x0012A774
| 0x0012A774
| ?
| ?
|-  
|-  
| 0x6
| 0x6
Line 160: Line 201:
| dmp_Texture[3].samplerType
| dmp_Texture[3].samplerType
| 0x0012A7F0
| 0x0012A7F0
| ?
| 0x0080 bit10 (?)
|-  
|-  
| 0x7
| 0x7
Line 165: Line 208:
| dmp_Texture[2].texcoord
| dmp_Texture[2].texcoord
| 0x0012A8B4
| 0x0012A8B4
| ?
| 0x0080 bit13 (1 = use texcoords from texture unit 1)
|-  
|-  
| 0x8
| 0x8
Line 170: Line 215:
| dmp_Texture[3].texcoord
| dmp_Texture[3].texcoord
| 0x0012A97C
| 0x0012A97C
| ?
| 0x0080 bit8-9 (0-2 = use texcoords from texture unit 0-2 resp., 3 = forbidden?)
|-  
|-  
| 0x9
| 0x9
Line 175: Line 222:
| dmp_Texture[3].ptRgbMap
| dmp_Texture[3].ptRgbMap
| 0x0012AA54
| 0x0012AA54
| ?
| 0x00A8 bit6-9
|-  
|-  
| 0xA
| 0xA
Line 180: Line 229:
| dmp_Texture[3].ptAlphaMap
| dmp_Texture[3].ptAlphaMap
| 0x0012AB94
| 0x0012AB94
| ?
| 0x00A8 bit10-13
|-  
|-  
| 0xB
| 0xB
Line 185: Line 236:
| dmp_Texture[3].ptAlphaSeparate
| dmp_Texture[3].ptAlphaSeparate
| 0x0012ACD4
| 0x0012ACD4
| ?
| 0x00A8 bit14
|-  
|-  
| 0xC
| 0xC
Line 190: Line 243:
| dmp_Texture[3].ptClampU
| dmp_Texture[3].ptClampU
| 0x0012ADB8
| 0x0012ADB8
| ?
| 0x00A8 bit0-2
|-  
|-  
| 0xD
| 0xD
Line 195: Line 250:
| dmp_Texture[3].ptClampV
| dmp_Texture[3].ptClampV
| 0x0012AEC0
| 0x0012AEC0
| ?
| 0x00A8 bit3-5
|-  
|-  
| 0xE
| 0xE
Line 200: Line 257:
| dmp_Texture[3].ptShiftU
| dmp_Texture[3].ptShiftU
| 0x0012AFD0
| 0x0012AFD0
| ?
| 0x00A8 bit16-17
|-  
|-  
| 0xF
| 0xF
Line 205: Line 264:
| dmp_Texture[3].ptShiftV
| dmp_Texture[3].ptShiftV
| 0x0012B0A0
| 0x0012B0A0
| ?
| 0x00A8 bit18-19
|-  
|-  
| 0x10
| 0x10
Line 210: Line 271:
| dmp_Texture[3].ptMinFilter
| dmp_Texture[3].ptMinFilter
| 0x0012B168
| 0x0012B168
| ?
| 0x00AC bit0-2
|-  
|-  
| 0x11
| 0x11
Line 215: Line 278:
| dmp_Texture[3].ptTexWidth
| dmp_Texture[3].ptTexWidth
| 0x0012B270
| 0x0012B270
| ?
| 0x00AC bit11-18
|-  
|-  
| 0x12
| 0x12
Line 220: Line 285:
| dmp_Texture[3].ptTexOffset
| dmp_Texture[3].ptTexOffset
| 0x0012B334
| 0x0012B334
| ?
| 0x00AD bit0-7
|-  
|-  
| 0x13
| 0x13
Line 225: Line 292:
| dmp_Texture[3].ptTexBias
| dmp_Texture[3].ptTexBias
| 0x001556B4
| 0x001556B4
| 0xE10
| 0x00A8 bit20-27
|-  
|-  
| 0x14
| 0x14
Line 230: Line 299:
| dmp_Texture[3].ptNoiseEnable
| dmp_Texture[3].ptNoiseEnable
| 0x0012B3E0
| 0x0012B3E0
| ?
| 0x00A8 bit15
|-  
|-  
| 0x15
| 0x15
Line 235: Line 306:
| dmp_Texture[3].ptNoiseU
| dmp_Texture[3].ptNoiseU
| 0x00155878
| 0x00155878
| 0xE14
| 0x00A9, 0x00AB
|-  
|-  
| 0x16
| 0x16
Line 240: Line 313:
| dmp_Texture[3].ptNoiseV
| dmp_Texture[3].ptNoiseV
| 0x00155A7C
| 0x00155A7C
| 0xE20
| 0x00AA, 0x00AB
|-  
|-  
| 0x17
| 0x17
Line 245: Line 320:
| dmp_Texture[3].ptSamplerRgbMap
| dmp_Texture[3].ptSamplerRgbMap
| 0x0012B4B0
| 0x0012B4B0
| 0xDF0
| ?
|-  
|-  
| 0x18
| 0x18
Line 250: Line 327:
| dmp_Texture[3].ptSamplerAlphaMap
| dmp_Texture[3].ptSamplerAlphaMap
| 0x0012B4F4
| 0x0012B4F4
| 0xDF4
| ?
|-  
|-  
| 0x19
| 0x19
Line 255: Line 334:
| dmp_Texture[3].ptSamplerNoiseMap
| dmp_Texture[3].ptSamplerNoiseMap
| 0x0012B540
| 0x0012B540
| 0xDF8
| ?
|-  
|-  
| 0x1A
| 0x1A
Line 260: Line 341:
| dmp_Texture[3].ptSamplerR
| dmp_Texture[3].ptSamplerR
| 0x0012B58C
| 0x0012B58C
| 0xDFC
| ?
|-  
|-  
| 0x1B
| 0x1B
Line 265: Line 348:
| dmp_Texture[3].ptSamplerG
| dmp_Texture[3].ptSamplerG
| 0x0012B5D8
| 0x0012B5D8
| 0xE00
| ?
|-  
|-  
| 0x1C
| 0x1C
Line 270: Line 355:
| dmp_Texture[3].ptSamplerB
| dmp_Texture[3].ptSamplerB
| 0x0012B624
| 0x0012B624
| 0xE04
| ?
|-  
|-  
| 0x1D
| 0x1D
Line 275: Line 362:
| dmp_Texture[3].ptSamplerA
| dmp_Texture[3].ptSamplerA
| 0x0012B670
| 0x0012B670
| 0xE08
| ?
|-  
|-  
| 0x1E
| 0x1E
Line 280: Line 369:
| dmp_FragOperation.mode
| dmp_FragOperation.mode
| 0x0012B6BC
| 0x0012B6BC
| 0xE38
| ?
|-  
|-  
| 0x1F
| 0x1F
Line 285: Line 376:
| dmp_FragOperation.penumbraScale
| dmp_FragOperation.penumbraScale
| 0x00155C98
| 0x00155C98
| 0xE40
| ?
|-  
|-  
| 0x20
| 0x20
Line 290: Line 383:
| dmp_FragOperation.penumbraBias
| dmp_FragOperation.penumbraBias
| 0x00155D8C
| 0x00155D8C
| 0xE3C
| ?
|-  
|-  
| 0x21
| 0x21
Line 295: Line 390:
| dmp_FragOperation.wScale
| dmp_FragOperation.wScale
| 0x00155E9C
| 0x00155E9C
| 0xE4C
| ?
|-  
|-  
| 0x22
| 0x22
Line 300: Line 397:
| dmp_FragOperation.enableClippingPlane
| dmp_FragOperation.enableClippingPlane
| 0x0012EAEC
| 0x0012EAEC
| 0x568
| 0x0047 bit0
|-  
|-  
| 0x23
| 0x23
Line 305: Line 404:
| dmp_FragOperation.clippingPlane
| dmp_FragOperation.clippingPlane
| 0x00159474
| 0x00159474
| 0xE50
| ?
|-  
|-  
| 0x24
| 0x24
Line 310: Line 411:
| dmp_FragOperation.enableAlphaTest
| dmp_FragOperation.enableAlphaTest
| 0x0012EBAC
| 0x0012EBAC
| 0x64C
| ?
|-  
|-  
| 0x25
| 0x25
Line 315: Line 418:
| dmp_FragOperation.alphaTestFunc
| dmp_FragOperation.alphaTestFunc
| 0x0012EC64
| 0x0012EC64
| 0x64C
| ?
|-  
|-  
| 0x26
| 0x26
Line 320: Line 425:
| dmp_FragOperation.alphaRefValue
| dmp_FragOperation.alphaRefValue
| 0x0015971C
| 0x0015971C
| 0x64C ?
| ?
|-  
|-  
| 0x27
| 0x27
Line 325: Line 432:
| dmp_Gas.lightXY
| dmp_Gas.lightXY
| 0x001560EC
| 0x001560EC
| 0xE84
| 0x0120 (vec[0] -> bit0-7, vec[1] -> bit8-15, vec[2] -> bit16-23)
|-  
|-  
| 0x28
| 0x28
Line 330: Line 439:
| dmp_Gas.lightZ
| dmp_Gas.lightZ
| 0x00156268
| 0x00156268
| 0xE90
| 0x0121 (vec[0] -> bit0-7, vec[1] -> bit8-15, vec[2] -> bit16-23), 0x0122 (vec[3] -> bit 0-7)
|-  
|-  
| 0x29
| 0x29
Line 335: Line 446:
| dmp_Gas.deltaZ
| dmp_Gas.deltaZ
| 0x001564D4
| 0x001564D4
| 0xEA0
| 0x0126 bit0-23
|-  
|-  
| 0x2A
| 0x2A
Line 340: Line 453:
| dmp_Gas.accMax
| dmp_Gas.accMax
| 0x001565C0
| 0x001565C0
| 0xEA4
| 0x00E5
|-  
|-  
| 0x2B
| 0x2B
Line 345: Line 460:
| dmp_Gas.autoAcc
| dmp_Gas.autoAcc
| 0x0012B790
| 0x0012B790
| 0xE74
| ?
|-  
|-  
| 0x2C
| 0x2C
Line 350: Line 467:
| dmp_Gas.attenuation
| dmp_Gas.attenuation
| 0x00156684
| 0x00156684
| 0xEA8
| 0x00E4
|-  
|-  
| 0x2D
| 0x2D
Line 355: Line 474:
| dmp_Gas.colorLutInput
| dmp_Gas.colorLutInput
| 0x0012B7A4
| 0x0012B7A4
| 0x640
| 0x0122 bit8 (0x6060/0x6061 -> 0/1)
|-  
|-  
| 0x2E
| 0x2E
Line 360: Line 481:
| dmp_Gas.shadingDensitySrc
| dmp_Gas.shadingDensitySrc
| 0x0012B854
| 0x0012B854
| 0x624
| 0x00E0 bit3 (0x605E/0x605F -> 0/1)
|-  
|-  
| 0x2F
| 0x2F
Line 365: Line 488:
| dmp_Gas.samplerTR
| dmp_Gas.samplerTR
| 0x0012B910
| 0x0012B910
| 0xE78
| ?
|-  
|-  
| 0x30
| 0x30
Line 370: Line 495:
| dmp_Gas.samplerTG
| dmp_Gas.samplerTG
| 0x0012B95C
| 0x0012B95C
| 0xE7C
| ?
|-  
|-  
| 0x31
| 0x31
Line 375: Line 502:
| dmp_Gas.samplerTB
| dmp_Gas.samplerTB
| 0x0012B9A8
| 0x0012B9A8
| 0xE80
| ?
|-  
|-  
| 0x32
| 0x32
Line 380: Line 509:
| dmp_FragmentLighting.enabled
| dmp_FragmentLighting.enabled
| 0x0012B9F4
| 0x0012B9F4
| 0x590
| 0x00A8 bit0, 0x01C6 (0 = enabled)
|-  
|-  
| 0x33
| 0x33
Line 385: Line 516:
| dmp_FragmentLighting.ambient
| dmp_FragmentLighting.ambient
| 0x00156744
| 0x00156744
| 0xA10
| 0x01C0?
|-  
|-  
| 0x34
| 0x34
Line 390: Line 523:
| dmp_FragmentMaterial.emission
| dmp_FragmentMaterial.emission
| 0x00156E1C
| 0x00156E1C
| 0xDE0
| 0x01C0?
|-  
|-  
| 0x35
| 0x35
Line 395: Line 530:
| dmp_FragmentMaterial.ambient
| dmp_FragmentMaterial.ambient
| 0x0015696C
| 0x0015696C
| 0xDA0
| 0x01C0
|-  
|-  
| 0x36
| 0x36
Line 400: Line 537:
| dmp_FragmentMaterial.diffuse
| dmp_FragmentMaterial.diffuse
| 0x00157048
| 0x00157048
| 0xDB0
| ?
|-  
|-  
| 0x37
| 0x37
Line 405: Line 544:
| dmp_FragmentMaterial.specular0
| dmp_FragmentMaterial.specular0
| 0x001572E0
| 0x001572E0
| 0xDC0
| ?
|-  
|-  
| 0x38
| 0x38
Line 410: Line 551:
| dmp_FragmentMaterial.specular1
| dmp_FragmentMaterial.specular1
| 0x0015756C
| 0x0015756C
| 0xDD0
| ?
|-  
|-  
| 0x39
| 0x39
Line 415: Line 558:
| dmp_FragmentLightSource[0].enabled
| dmp_FragmentLightSource[0].enabled
| 0x0012BD24
| 0x0012BD24
| 0xA20+0*0x70+0x00
| 0x01C5
|-  
|-  
| 0x3A
| 0x3A
Line 420: Line 565:
| dmp_FragmentLightSource[1].enabled
| dmp_FragmentLightSource[1].enabled
| 0x0012BD24
| 0x0012BD24
| 0xA20+1*0x70+0x00
| 0x01C5
|-  
|-  
| 0x3B
| 0x3B
Line 425: Line 572:
| dmp_FragmentLightSource[2].enabled
| dmp_FragmentLightSource[2].enabled
| 0x0012BD24
| 0x0012BD24
| 0xA20+2*0x70+0x00
| 0x01C5
|-  
|-  
| 0x3C
| 0x3C
Line 430: Line 579:
| dmp_FragmentLightSource[3].enabled
| dmp_FragmentLightSource[3].enabled
| 0x0012BD24
| 0x0012BD24
| 0xA20+3*0x70+0x00
| 0x01C5
|-  
|-  
| 0x3D
| 0x3D
Line 435: Line 586:
| dmp_FragmentLightSource[4].enabled
| dmp_FragmentLightSource[4].enabled
| 0x0012BD24
| 0x0012BD24
| 0xA20+4*0x70+0x00
| 0x01C5
|-  
|-  
| 0x3E
| 0x3E
Line 440: Line 593:
| dmp_FragmentLightSource[5].enabled
| dmp_FragmentLightSource[5].enabled
| 0x0012BD24
| 0x0012BD24
| 0xA20+5*0x70+0x00
| 0x01C5
|-  
|-  
| 0x3F
| 0x3F
Line 445: Line 600:
| dmp_FragmentLightSource[6].enabled
| dmp_FragmentLightSource[6].enabled
| 0x0012BD24
| 0x0012BD24
| 0xA20+6*0x70+0x00
| 0x01C5
|-  
|-  
| 0x40
| 0x40
Line 450: Line 607:
| dmp_FragmentLightSource[7].enabled
| dmp_FragmentLightSource[7].enabled
| 0x0012BD24
| 0x0012BD24
| 0xA20+7*0x70+0x00
| 0x01C5
|-  
|-  
| 0x41
| 0x41
Line 455: Line 614:
| dmp_FragmentLightSource[0].ambient
| dmp_FragmentLightSource[0].ambient
| 0x001579CC
| 0x001579CC
| 0xA20+0*0x70+0x04
| 0x0143
|-  
|-  
| 0x42
| 0x42
Line 460: Line 621:
| dmp_FragmentLightSource[1].ambient
| dmp_FragmentLightSource[1].ambient
| 0x001579CC
| 0x001579CC
| 0xA20+1*0x70+0x04
| 0x0153
|-  
|-  
| 0x43
| 0x43
Line 465: Line 628:
| dmp_FragmentLightSource[2].ambient
| dmp_FragmentLightSource[2].ambient
| 0x001579CC
| 0x001579CC
| 0xA20+2*0x70+0x04
| 0x0163
|-  
|-  
| 0x44
| 0x44
Line 470: Line 635:
| dmp_FragmentLightSource[3].ambient
| dmp_FragmentLightSource[3].ambient
| 0x001579CC
| 0x001579CC
| 0xA20+3*0x70+0x04
| 0x0173
|-  
|-  
| 0x45
| 0x45
Line 475: Line 642:
| dmp_FragmentLightSource[4].ambient
| dmp_FragmentLightSource[4].ambient
| 0x001579CC
| 0x001579CC
| 0xA20+4*0x70+0x04
| 0x0183
|-  
|-  
| 0x46
| 0x46
Line 480: Line 649:
| dmp_FragmentLightSource[5].ambient
| dmp_FragmentLightSource[5].ambient
| 0x001579CC
| 0x001579CC
| 0xA20+5*0x70+0x04
| 0x0193
|-  
|-  
| 0x47
| 0x47
Line 485: Line 656:
| dmp_FragmentLightSource[6].ambient
| dmp_FragmentLightSource[6].ambient
| 0x001579CC
| 0x001579CC
| 0xA20+6*0x70+0x04
| 0x01A3
|-  
|-  
| 0x48
| 0x48
Line 490: Line 663:
| dmp_FragmentLightSource[7].ambient
| dmp_FragmentLightSource[7].ambient
| 0x001579CC
| 0x001579CC
| 0xA20+7*0x70+0x04
| 0x01B3
|-  
|-  
| 0x49
| 0x49
Line 495: Line 670:
| dmp_FragmentLightSource[0].diffuse
| dmp_FragmentLightSource[0].diffuse
| 0x00157C10
| 0x00157C10
| 0xA20+0*0x70+0x14
| 0x0142
|-  
|-  
| 0x4A
| 0x4A
Line 500: Line 677:
| dmp_FragmentLightSource[1].diffuse
| dmp_FragmentLightSource[1].diffuse
| 0x00157C10
| 0x00157C10
| 0xA20+1*0x70+0x14
| 0x0152
|-  
|-  
| 0x4B
| 0x4B
Line 505: Line 684:
| dmp_FragmentLightSource[2].diffuse
| dmp_FragmentLightSource[2].diffuse
| 0x00157C10
| 0x00157C10
| 0xA20+2*0x70+0x14
| 0x0162
|-  
|-  
| 0x4C
| 0x4C
Line 510: Line 691:
| dmp_FragmentLightSource[3].diffuse
| dmp_FragmentLightSource[3].diffuse
| 0x00157C10
| 0x00157C10
| 0xA20+3*0x70+0x14
| 0x0172
|-  
|-  
| 0x4D
| 0x4D
Line 515: Line 698:
| dmp_FragmentLightSource[4].diffuse
| dmp_FragmentLightSource[4].diffuse
| 0x00157C10
| 0x00157C10
| 0xA20+4*0x70+0x14
| 0x0182
|-  
|-  
| 0x4E
| 0x4E
Line 520: Line 705:
| dmp_FragmentLightSource[5].diffuse
| dmp_FragmentLightSource[5].diffuse
| 0x00157C10
| 0x00157C10
| 0xA20+5*0x70+0x14
| 0x0192
|-  
|-  
| 0x4F
| 0x4F
Line 525: Line 712:
| dmp_FragmentLightSource[6].diffuse
| dmp_FragmentLightSource[6].diffuse
| 0x00157C10
| 0x00157C10
| 0xA20+6*0x70+0x14
| 0x01A2
|-  
|-  
| 0x50
| 0x50
Line 530: Line 719:
| dmp_FragmentLightSource[7].diffuse
| dmp_FragmentLightSource[7].diffuse
| 0x00157C10
| 0x00157C10
| 0xA20+7*0x70+0x14
| 0x01B2
|-  
|-  
| 0x51
| 0x51
Line 535: Line 726:
| dmp_FragmentLightSource[0].specular0
| dmp_FragmentLightSource[0].specular0
| 0x00157E5C
| 0x00157E5C
| 0xA20+0*0x70+0x24
| 0x01C8 ?
|-  
|-  
| 0x52
| 0x52
Line 540: Line 733:
| dmp_FragmentLightSource[1].specular0
| dmp_FragmentLightSource[1].specular0
| 0x00157E5C
| 0x00157E5C
| 0xA20+1*0x70+0x24
| 0x01C8 ?
|-  
|-  
| 0x53
| 0x53
Line 545: Line 740:
| dmp_FragmentLightSource[2].specular0
| dmp_FragmentLightSource[2].specular0
| 0x00157E5C
| 0x00157E5C
| 0xA20+2*0x70+0x24
| 0x01C8 ?
|-  
|-  
| 0x54
| 0x54
Line 550: Line 747:
| dmp_FragmentLightSource[3].specular0
| dmp_FragmentLightSource[3].specular0
| 0x00157E5C
| 0x00157E5C
| 0xA20+3*0x70+0x24
| 0x01C8 ?
|-  
|-  
| 0x55
| 0x55
Line 555: Line 754:
| dmp_FragmentLightSource[4].specular0
| dmp_FragmentLightSource[4].specular0
| 0x00157E5C
| 0x00157E5C
| 0xA20+4*0x70+0x24
| 0x01C8 ?
|-  
|-  
| 0x56
| 0x56
Line 560: Line 761:
| dmp_FragmentLightSource[5].specular0
| dmp_FragmentLightSource[5].specular0
| 0x00157E5C
| 0x00157E5C
| 0xA20+5*0x70+0x24
| 0x01C8 ?
|-  
|-  
| 0x57
| 0x57
Line 565: Line 768:
| dmp_FragmentLightSource[6].specular0
| dmp_FragmentLightSource[6].specular0
| 0x00157E5C
| 0x00157E5C
| 0xA20+6*0x70+0x24
| 0x01C8 ?
|-  
|-  
| 0x58
| 0x58
Line 570: Line 775:
| dmp_FragmentLightSource[7].specular0
| dmp_FragmentLightSource[7].specular0
| 0x00157E5C
| 0x00157E5C
| 0xA20+7*0x70+0x24
| 0x01C8 ?
|-  
|-  
| 0x59
| 0x59
Line 575: Line 782:
| dmp_FragmentLightSource[0].specular1
| dmp_FragmentLightSource[0].specular1
| 0x001580B4
| 0x001580B4
| 0xA20+0*0x70+0x34
| 0x01C8 ?
|-  
|-  
| 0x5A
| 0x5A
Line 580: Line 789:
| dmp_FragmentLightSource[1].specular1
| dmp_FragmentLightSource[1].specular1
| 0x001580B4
| 0x001580B4
| 0xA20+1*0x70+0x34
| 0x01C8 ?
|-  
|-  
| 0x5B
| 0x5B
Line 585: Line 796:
| dmp_FragmentLightSource[2].specular1
| dmp_FragmentLightSource[2].specular1
| 0x001580B4
| 0x001580B4
| 0xA20+2*0x70+0x34
| 0x01C8 ?
|-  
|-  
| 0x5C
| 0x5C
Line 590: Line 803:
| dmp_FragmentLightSource[3].specular1
| dmp_FragmentLightSource[3].specular1
| 0x001580B4
| 0x001580B4
| 0xA20+3*0x70+0x34
| 0x01C8 ?
|-  
|-  
| 0x5D
| 0x5D
Line 595: Line 810:
| dmp_FragmentLightSource[4].specular1
| dmp_FragmentLightSource[4].specular1
| 0x001580B4
| 0x001580B4
| 0xA20+4*0x70+0x34
| 0x01C8 ?
|-  
|-  
| 0x5E
| 0x5E
Line 600: Line 817:
| dmp_FragmentLightSource[5].specular1
| dmp_FragmentLightSource[5].specular1
| 0x001580B4
| 0x001580B4
| 0xA20+5*0x70+0x34
| 0x01C8 ?
|-  
|-  
| 0x5F
| 0x5F
Line 605: Line 824:
| dmp_FragmentLightSource[6].specular1
| dmp_FragmentLightSource[6].specular1
| 0x001580B4
| 0x001580B4
| 0xA20+6*0x70+0x34
| 0x01C8 ?
|-  
|-  
| 0x60
| 0x60
Line 610: Line 831:
| dmp_FragmentLightSource[7].specular1
| dmp_FragmentLightSource[7].specular1
| 0x001580B4
| 0x001580B4
| 0xA20+7*0x70+0x34
| 0x01C8 ?
|-  
|-  
| 0x61
| 0x61
Line 615: Line 838:
| dmp_FragmentLightSource[0].position
| dmp_FragmentLightSource[0].position
| 0x001584B0
| 0x001584B0
| 0xA20+0*0x70+0x44
| 0x01C8 ?
|-  
|-  
| 0x62
| 0x62
Line 620: Line 845:
| dmp_FragmentLightSource[1].position
| dmp_FragmentLightSource[1].position
| 0x001584B0
| 0x001584B0
| 0xA20+1*0x70+0x44
| 0x01C8 ?
|-  
|-  
| 0x63
| 0x63
Line 625: Line 852:
| dmp_FragmentLightSource[2].position
| dmp_FragmentLightSource[2].position
| 0x001584B0
| 0x001584B0
| 0xA20+2*0x70+0x44
| 0x01C8 ?
|-  
|-  
| 0x64
| 0x64
Line 630: Line 859:
| dmp_FragmentLightSource[3].position
| dmp_FragmentLightSource[3].position
| 0x001584B0
| 0x001584B0
| 0xA20+3*0x70+0x44
| 0x01C8 ?
|-  
|-  
| 0x65
| 0x65
Line 635: Line 866:
| dmp_FragmentLightSource[4].position
| dmp_FragmentLightSource[4].position
| 0x001584B0
| 0x001584B0
| 0xA20+4*0x70+0x44
| 0x01C8 ?
|-  
|-  
| 0x66
| 0x66
Line 640: Line 873:
| dmp_FragmentLightSource[5].position
| dmp_FragmentLightSource[5].position
| 0x001584B0
| 0x001584B0
| 0xA20+5*0x70+0x44
| 0x01C8 ?
|-  
|-  
| 0x67
| 0x67
Line 645: Line 880:
| dmp_FragmentLightSource[6].position
| dmp_FragmentLightSource[6].position
| 0x001584B0
| 0x001584B0
| 0xA20+6*0x70+0x44
| 0x01C8 ?
|-  
|-  
| 0x68
| 0x68
Line 650: Line 887:
| dmp_FragmentLightSource[7].position
| dmp_FragmentLightSource[7].position
| 0x001584B0
| 0x001584B0
| 0xA20+7*0x70+0x44
| 0x01C8 ?
|-  
|-  
| 0x69
| 0x69
Line 655: Line 894:
| dmp_FragmentLightSource[0].spotDirection
| dmp_FragmentLightSource[0].spotDirection
| 0x001587E4
| 0x001587E4
| 0xA20+0*0x70+0x54
| 0x01C8 ?
|-  
|-  
| 0x6A
| 0x6A
Line 660: Line 901:
| dmp_FragmentLightSource[1].spotDirection
| dmp_FragmentLightSource[1].spotDirection
| 0x001587E4
| 0x001587E4
| 0xA20+1*0x70+0x54
| 0x01C8 ?
|-  
|-  
| 0x6B
| 0x6B
Line 665: Line 908:
| dmp_FragmentLightSource[2].spotDirection
| dmp_FragmentLightSource[2].spotDirection
| 0x001587E4
| 0x001587E4
| 0xA20+2*0x70+0x54
| 0x01C8 ?
|-  
|-  
| 0x6C
| 0x6C
Line 670: Line 915:
| dmp_FragmentLightSource[3].spotDirection
| dmp_FragmentLightSource[3].spotDirection
| 0x001587E4
| 0x001587E4
| 0xA20+3*0x70+0x54
| 0x01C8 ?
|-  
|-  
| 0x6D
| 0x6D
Line 675: Line 922:
| dmp_FragmentLightSource[4].spotDirection
| dmp_FragmentLightSource[4].spotDirection
| 0x001587E4
| 0x001587E4
| 0xA20+4*0x70+0x54
| 0x01C8 ?
|-  
|-  
| 0x6E
| 0x6E
Line 680: Line 929:
| dmp_FragmentLightSource[5].spotDirection
| dmp_FragmentLightSource[5].spotDirection
| 0x001587E4
| 0x001587E4
| 0xA20+5*0x70+0x54
| 0x01C8 ?
|-  
|-  
| 0x6F
| 0x6F
Line 685: Line 936:
| dmp_FragmentLightSource[6].spotDirection
| dmp_FragmentLightSource[6].spotDirection
| 0x001587E4
| 0x001587E4
| 0xA20+6*0x70+0x54
| 0x01C8 ?
|-  
|-  
| 0x70
| 0x70
Line 690: Line 943:
| dmp_FragmentLightSource[7].spotDirection
| dmp_FragmentLightSource[7].spotDirection
| 0x001587E4
| 0x001587E4
| 0xA20+7*0x70+0x54
| 0x01C8 ?
|-  
|-  
| 0x71
| 0x71
Line 695: Line 950:
| dmp_FragmentLightSource[0].shadowed
| dmp_FragmentLightSource[0].shadowed
| 0x0012C20C
| 0x0012C20C
| 0x7C0
| 0x01C8 ?
|-  
|-  
| 0x72
| 0x72
Line 700: Line 957:
| dmp_FragmentLightSource[1].shadowed
| dmp_FragmentLightSource[1].shadowed
| 0x0012C20C
| 0x0012C20C
| 0x7C0
| 0x01C8 ?
|-  
|-  
| 0x73
| 0x73
Line 705: Line 964:
| dmp_FragmentLightSource[2].shadowed
| dmp_FragmentLightSource[2].shadowed
| 0x0012C20C
| 0x0012C20C
| 0x7C0
| 0x01C8 ?
|-  
|-  
| 0x74
| 0x74
Line 710: Line 971:
| dmp_FragmentLightSource[3].shadowed
| dmp_FragmentLightSource[3].shadowed
| 0x0012C20C
| 0x0012C20C
| 0x7C0
| 0x01C8 ?
|-  
|-  
| 0x75
| 0x75
Line 715: Line 978:
| dmp_FragmentLightSource[4].shadowed
| dmp_FragmentLightSource[4].shadowed
| 0x0012C20C
| 0x0012C20C
| 0x7C0
| 0x01C8 ?
|-  
|-  
| 0x76
| 0x76
Line 720: Line 985:
| dmp_FragmentLightSource[5].shadowed
| dmp_FragmentLightSource[5].shadowed
| 0x0012C20C
| 0x0012C20C
| 0x7C0
| 0x01C8 ?
|-  
|-  
| 0x77
| 0x77
Line 725: Line 992:
| dmp_FragmentLightSource[6].shadowed
| dmp_FragmentLightSource[6].shadowed
| 0x0012C20C
| 0x0012C20C
| 0x7C0
| 0x01C8 ?
|-  
|-  
| 0x78
| 0x78
Line 730: Line 999:
| dmp_FragmentLightSource[7].shadowed
| dmp_FragmentLightSource[7].shadowed
| 0x0012C20C
| 0x0012C20C
| 0x7C0
| 0x01C8 ?
|-  
|-  
| 0x79
| 0x79
Line 735: Line 1,006:
| dmp_FragmentLightSource[0].geomFactor0
| dmp_FragmentLightSource[0].geomFactor0
| 0x0012C018
| 0x0012C018
| 0x7D8
| 0x0149 bit2
|-  
|-  
| 0x7A
| 0x7A
Line 740: Line 1,013:
| dmp_FragmentLightSource[1].geomFactor0
| dmp_FragmentLightSource[1].geomFactor0
| 0x0012C018
| 0x0012C018
| 0x7D8
| 0x0159 bit2
|-  
|-  
| 0x7B
| 0x7B
Line 745: Line 1,020:
| dmp_FragmentLightSource[2].geomFactor0
| dmp_FragmentLightSource[2].geomFactor0
| 0x0012C018
| 0x0012C018
| 0x7D8
| 0x0169 bit2
|-  
|-  
| 0x7C
| 0x7C
Line 750: Line 1,027:
| dmp_FragmentLightSource[3].geomFactor0
| dmp_FragmentLightSource[3].geomFactor0
| 0x0012C018
| 0x0012C018
| 0x7D8
| 0x0179 bit2
|-  
|-  
| 0x7D
| 0x7D
Line 755: Line 1,034:
| dmp_FragmentLightSource[4].geomFactor0
| dmp_FragmentLightSource[4].geomFactor0
| 0x0012C018
| 0x0012C018
| 0x7D8
| 0x0189 bit2
|-  
|-  
| 0x7E
| 0x7E
Line 760: Line 1,041:
| dmp_FragmentLightSource[5].geomFactor0
| dmp_FragmentLightSource[5].geomFactor0
| 0x0012C018
| 0x0012C018
| 0x7D8
| 0x0199 bit2
|-  
|-  
| 0x7F
| 0x7F
Line 765: Line 1,048:
| dmp_FragmentLightSource[6].geomFactor0
| dmp_FragmentLightSource[6].geomFactor0
| 0x0012C018
| 0x0012C018
| 0x7D8
| 0x01A9 bit2
|-  
|-  
| 0x80
| 0x80
Line 770: Line 1,055:
| dmp_FragmentLightSource[7].geomFactor0
| dmp_FragmentLightSource[7].geomFactor0
| 0x0012C018
| 0x0012C018
| 0x7D8
| 0x01B9 bit2
|-  
|-  
| 0x81
| 0x81
Line 775: Line 1,062:
| dmp_FragmentLightSource[0].geomFactor1
| dmp_FragmentLightSource[0].geomFactor1
| 0x0012C114
| 0x0012C114
| 0x7D8
| 0x0149 bit3
|-  
|-  
| 0x82
| 0x82
Line 780: Line 1,069:
| dmp_FragmentLightSource[1].geomFactor1
| dmp_FragmentLightSource[1].geomFactor1
| 0x0012C114
| 0x0012C114
| 0x7D8
| 0x0159 bit3
|-  
|-  
| 0x83
| 0x83
Line 785: Line 1,076:
| dmp_FragmentLightSource[2].geomFactor1
| dmp_FragmentLightSource[2].geomFactor1
| 0x0012C114
| 0x0012C114
| 0x7D8
| 0x0169 bit3
|-  
|-  
| 0x84
| 0x84
Line 790: Line 1,083:
| dmp_FragmentLightSource[3].geomFactor1
| dmp_FragmentLightSource[3].geomFactor1
| 0x0012C114
| 0x0012C114
| 0x7D8
| 0x0179 bit3
|-  
|-  
| 0x85
| 0x85
Line 795: Line 1,090:
| dmp_FragmentLightSource[4].geomFactor1
| dmp_FragmentLightSource[4].geomFactor1
| 0x0012C114
| 0x0012C114
| 0x7D8
| 0x0189 bit3
|-  
|-  
| 0x86
| 0x86
Line 800: Line 1,097:
| dmp_FragmentLightSource[5].geomFactor1
| dmp_FragmentLightSource[5].geomFactor1
| 0x0012C114
| 0x0012C114
| 0x7D8
| 0x0199 bit3
|-  
|-  
| 0x87
| 0x87
Line 805: Line 1,104:
| dmp_FragmentLightSource[6].geomFactor1
| dmp_FragmentLightSource[6].geomFactor1
| 0x0012C114
| 0x0012C114
| 0x7D8
| 0x01A9 bit3
|-  
|-  
| 0x88
| 0x88
Line 810: Line 1,111:
| dmp_FragmentLightSource[7].geomFactor1
| dmp_FragmentLightSource[7].geomFactor1
| 0x0012C114
| 0x0012C114
| 0x7D8
| 0x01B9 bit3
|-  
|-  
| 0x89
| 0x89
Line 815: Line 1,118:
| dmp_FragmentLightSource[0].twoSideDiffuse
| dmp_FragmentLightSource[0].twoSideDiffuse
| 0x0012BF10
| 0x0012BF10
| 0x7D8
| 0x0149 bit1
|-  
|-  
| 0x8A
| 0x8A
Line 820: Line 1,125:
| dmp_FragmentLightSource[1].twoSideDiffuse
| dmp_FragmentLightSource[1].twoSideDiffuse
| 0x0012BF10
| 0x0012BF10
| 0x7D8
| 0x0159 bit1
|-  
|-  
| 0x8B
| 0x8B
Line 825: Line 1,132:
| dmp_FragmentLightSource[2].twoSideDiffuse
| dmp_FragmentLightSource[2].twoSideDiffuse
| 0x0012BF10
| 0x0012BF10
| 0x7D8
| 0x0169 bit1
|-  
|-  
| 0x8C
| 0x8C
Line 830: Line 1,139:
| dmp_FragmentLightSource[3].twoSideDiffuse
| dmp_FragmentLightSource[3].twoSideDiffuse
| 0x0012BF10
| 0x0012BF10
| 0x7D8
| 0x0179 bit1
|-  
|-  
| 0x8D
| 0x8D
Line 835: Line 1,146:
| dmp_FragmentLightSource[4].twoSideDiffuse
| dmp_FragmentLightSource[4].twoSideDiffuse
| 0x0012BF10
| 0x0012BF10
| 0x7D8
| 0x0189 bit1
|-  
|-  
| 0x8E
| 0x8E
Line 840: Line 1,153:
| dmp_FragmentLightSource[5].twoSideDiffuse
| dmp_FragmentLightSource[5].twoSideDiffuse
| 0x0012BF10
| 0x0012BF10
| 0x7D8
| 0x0199 bit1
|-  
|-  
| 0x8F
| 0x8F
Line 845: Line 1,160:
| dmp_FragmentLightSource[6].twoSideDiffuse
| dmp_FragmentLightSource[6].twoSideDiffuse
| 0x0012BF10
| 0x0012BF10
| 0x7D8
| 0x01A9 bit1
|-  
|-  
| 0x90
| 0x90
Line 850: Line 1,167:
| dmp_FragmentLightSource[7].twoSideDiffuse
| dmp_FragmentLightSource[7].twoSideDiffuse
| 0x0012BF10
| 0x0012BF10
| 0x7D8
| 0x01B9 bit1
|-  
|-  
| 0x91
| 0x91
Line 855: Line 1,174:
| dmp_FragmentLightSource[0].samplerSP
| dmp_FragmentLightSource[0].samplerSP
| 0x0012C31C
| 0x0012C31C
| 0xA20+0*0x70+0x60
| 0x01C8 ?
|-  
|-  
| 0x92
| 0x92
Line 860: Line 1,181:
| dmp_FragmentLightSource[1].samplerSP
| dmp_FragmentLightSource[1].samplerSP
| 0x0012C31C
| 0x0012C31C
| 0xA20+1*0x70+0x60
| 0x01C8 ?
|-  
|-  
| 0x93
| 0x93
Line 865: Line 1,188:
| dmp_FragmentLightSource[2].samplerSP
| dmp_FragmentLightSource[2].samplerSP
| 0x0012C31C
| 0x0012C31C
| 0xA20+2*0x70+0x60
| 0x01C8 ?
|-  
|-  
| 0x94
| 0x94
Line 870: Line 1,195:
| dmp_FragmentLightSource[3].samplerSP
| dmp_FragmentLightSource[3].samplerSP
| 0x0012C31C
| 0x0012C31C
| 0xA20+3*0x70+0x60
| 0x01C8 ?
|-  
|-  
| 0x95
| 0x95
Line 875: Line 1,202:
| dmp_FragmentLightSource[4].samplerSP
| dmp_FragmentLightSource[4].samplerSP
| 0x0012C31C
| 0x0012C31C
| 0xA20+4*0x70+0x60
| 0x01C8 ?
|-  
|-  
| 0x96
| 0x96
Line 880: Line 1,209:
| dmp_FragmentLightSource[5].samplerSP
| dmp_FragmentLightSource[5].samplerSP
| 0x0012C31C
| 0x0012C31C
| 0xA20+5*0x70+0x60
| 0x01C8 ?
|-  
|-  
| 0x97
| 0x97
Line 885: Line 1,216:
| dmp_FragmentLightSource[6].samplerSP
| dmp_FragmentLightSource[6].samplerSP
| 0x0012C31C
| 0x0012C31C
| 0xA20+6*0x70+0x60
| 0x01C8 ?
|-  
|-  
| 0x98
| 0x98
Line 890: Line 1,223:
| dmp_FragmentLightSource[7].samplerSP
| dmp_FragmentLightSource[7].samplerSP
| 0x0012C31C
| 0x0012C31C
| 0xA20+7*0x70+0x60
| 0x01C8 ?
|-  
|-  
| 0x99
| 0x99
Line 895: Line 1,230:
| dmp_FragmentLightSource[0].spotEnabled
| dmp_FragmentLightSource[0].spotEnabled
| 0x0012C380
| 0x0012C380
| ?
| 0x01C4 bit3 (1 = disable?)
|-  
|-  
| 0x9A
| 0x9A
Line 900: Line 1,237:
| dmp_FragmentLightSource[1].spotEnabled
| dmp_FragmentLightSource[1].spotEnabled
| 0x0012C380
| 0x0012C380
| ?
| 0x01C4 bit4 (1 = disable?)
|-  
|-  
| 0x9B
| 0x9B
Line 905: Line 1,244:
| dmp_FragmentLightSource[2].spotEnabled
| dmp_FragmentLightSource[2].spotEnabled
| 0x0012C380
| 0x0012C380
| ?
| 0x01C4 bit5 (1 = disable?)
|-  
|-  
| 0x9C
| 0x9C
Line 910: Line 1,251:
| dmp_FragmentLightSource[3].spotEnabled
| dmp_FragmentLightSource[3].spotEnabled
| 0x0012C380
| 0x0012C380
| ?
| 0x01C4 bit6 (1 = disable?)
|-  
|-  
| 0x9D
| 0x9D
Line 915: Line 1,258:
| dmp_FragmentLightSource[4].spotEnabled
| dmp_FragmentLightSource[4].spotEnabled
| 0x0012C380
| 0x0012C380
| ?
| 0x01C4 bit7 (1 = disable?)
|-  
|-  
| 0x9E
| 0x9E
Line 920: Line 1,265:
| dmp_FragmentLightSource[5].spotEnabled
| dmp_FragmentLightSource[5].spotEnabled
| 0x0012C380
| 0x0012C380
| ?
| 0x01C4 bit8 (1 = disable?)
|-  
|-  
| 0x9F
| 0x9F
Line 925: Line 1,272:
| dmp_FragmentLightSource[6].spotEnabled
| dmp_FragmentLightSource[6].spotEnabled
| 0x0012C380
| 0x0012C380
| ?
| 0x01C4 bit9 (1 = disable?)
|-  
|-  
| 0xA0
| 0xA0
Line 930: Line 1,279:
| dmp_FragmentLightSource[7].spotEnabled
| dmp_FragmentLightSource[7].spotEnabled
| 0x0012C380
| 0x0012C380
| ?
| 0x01C4 bit10 (1 = disable?)
|-  
|-  
| 0xA1
| 0xA1
Line 935: Line 1,286:
| dmp_FragmentLightSource[0].distanceAttenuationBias
| dmp_FragmentLightSource[0].distanceAttenuationBias
| 0x00158AE8
| 0x00158AE8
| 0xA20+0*0x70+0x64
| 0x01C8 ?
|-  
|-  
| 0xA2
| 0xA2
Line 940: Line 1,293:
| dmp_FragmentLightSource[1].distanceAttenuationBias
| dmp_FragmentLightSource[1].distanceAttenuationBias
| 0x00158AE8
| 0x00158AE8
| 0xA20+1*0x70+0x64
| 0x01C8 ?
|-  
|-  
| 0xA3
| 0xA3
Line 945: Line 1,300:
| dmp_FragmentLightSource[2].distanceAttenuationBias
| dmp_FragmentLightSource[2].distanceAttenuationBias
| 0x00158AE8
| 0x00158AE8
| 0xA20+2*0x70+0x64
| 0x01C8 ?
|-  
|-  
| 0xA4
| 0xA4
Line 950: Line 1,307:
| dmp_FragmentLightSource[3].distanceAttenuationBias
| dmp_FragmentLightSource[3].distanceAttenuationBias
| 0x00158AE8
| 0x00158AE8
| 0xA20+3*0x70+0x64
| 0x01C8 ?
|-  
|-  
| 0xA5
| 0xA5
Line 955: Line 1,314:
| dmp_FragmentLightSource[4].distanceAttenuationBias
| dmp_FragmentLightSource[4].distanceAttenuationBias
| 0x00158AE8
| 0x00158AE8
| 0xA20+4*0x70+0x64
| 0x01C8 ?
|-  
|-  
| 0xA6
| 0xA6
Line 960: Line 1,321:
| dmp_FragmentLightSource[5].distanceAttenuationBias
| dmp_FragmentLightSource[5].distanceAttenuationBias
| 0x00158AE8
| 0x00158AE8
| 0xA20+5*0x70+0x64
| 0x01C8 ?
|-  
|-  
| 0xA7
| 0xA7
Line 965: Line 1,328:
| dmp_FragmentLightSource[6].distanceAttenuationBias
| dmp_FragmentLightSource[6].distanceAttenuationBias
| 0x00158AE8
| 0x00158AE8
| 0xA20+6*0x70+0x64
| 0x01C8 ?
|-  
|-  
| 0xA8
| 0xA8
Line 970: Line 1,335:
| dmp_FragmentLightSource[7].distanceAttenuationBias
| dmp_FragmentLightSource[7].distanceAttenuationBias
| 0x00158AE8
| 0x00158AE8
| 0xA20+7*0x70+0x64
| 0x01C8 ?
|-  
|-  
| 0xA9
| 0xA9
Line 975: Line 1,342:
| dmp_FragmentLightSource[0].distanceAttenuationScale
| dmp_FragmentLightSource[0].distanceAttenuationScale
| 0x00158C44
| 0x00158C44
| 0xA20+0*0x70+0x68
| 0x01C8 ?
|-  
|-  
| 0xAA
| 0xAA
Line 980: Line 1,349:
| dmp_FragmentLightSource[1].distanceAttenuationScale
| dmp_FragmentLightSource[1].distanceAttenuationScale
| 0x00158C44
| 0x00158C44
| 0xA20+1*0x70+0x68
| 0x01C8 ?
|-  
|-  
| 0xAB
| 0xAB
Line 985: Line 1,356:
| dmp_FragmentLightSource[2].distanceAttenuationScale
| dmp_FragmentLightSource[2].distanceAttenuationScale
| 0x00158C44
| 0x00158C44
| 0xA20+2*0x70+0x68
| 0x01C8 ?
|-  
|-  
| 0xAC
| 0xAC
Line 990: Line 1,363:
| dmp_FragmentLightSource[3].distanceAttenuationScale
| dmp_FragmentLightSource[3].distanceAttenuationScale
| 0x00158C44
| 0x00158C44
| 0xA20+3*0x70+0x68
| 0x01C8 ?
|-  
|-  
| 0xAD
| 0xAD
Line 995: Line 1,370:
| dmp_FragmentLightSource[4].distanceAttenuationScale
| dmp_FragmentLightSource[4].distanceAttenuationScale
| 0x00158C44
| 0x00158C44
| 0xA20+4*0x70+0x68
| 0x01C8 ?
|-  
|-  
| 0xAE
| 0xAE
Line 1,000: Line 1,377:
| dmp_FragmentLightSource[5].distanceAttenuationScale
| dmp_FragmentLightSource[5].distanceAttenuationScale
| 0x00158C44
| 0x00158C44
| 0xA20+5*0x70+0x68
| 0x01C8 ?
|-  
|-  
| 0xAF
| 0xAF
Line 1,005: Line 1,384:
| dmp_FragmentLightSource[6].distanceAttenuationScale
| dmp_FragmentLightSource[6].distanceAttenuationScale
| 0x00158C44
| 0x00158C44
| 0xA20+6*0x70+0x68
| 0x01C8 ?
|-  
|-  
| 0xB0
| 0xB0
Line 1,010: Line 1,391:
| dmp_FragmentLightSource[7].distanceAttenuationScale
| dmp_FragmentLightSource[7].distanceAttenuationScale
| 0x00158C44
| 0x00158C44
| 0xA20+7*0x70+0x68
| 0x01C8 ?
|-  
|-  
| 0xB1
| 0xB1
Line 1,015: Line 1,398:
| dmp_FragmentLightSource[0].distanceAttenuationEnabled
| dmp_FragmentLightSource[0].distanceAttenuationEnabled
| 0x0012C4A0
| 0x0012C4A0
| ?
| 0x01C8 ?
|-  
|-  
| 0xB2
| 0xB2
Line 1,020: Line 1,405:
| dmp_FragmentLightSource[1].distanceAttenuationEnabled
| dmp_FragmentLightSource[1].distanceAttenuationEnabled
| 0x0012C4A0
| 0x0012C4A0
| ?
| 0x01C8 ?
|-  
|-  
| 0xB3
| 0xB3
Line 1,025: Line 1,412:
| dmp_FragmentLightSource[2].distanceAttenuationEnabled
| dmp_FragmentLightSource[2].distanceAttenuationEnabled
| 0x0012C4A0
| 0x0012C4A0
| ?
| 0x01C8 ?
|-  
|-  
| 0xB4
| 0xB4
Line 1,030: Line 1,419:
| dmp_FragmentLightSource[3].distanceAttenuationEnabled
| dmp_FragmentLightSource[3].distanceAttenuationEnabled
| 0x0012C4A0
| 0x0012C4A0
| ?
| 0x01C8 ?
|-  
|-  
| 0xB5
| 0xB5
Line 1,035: Line 1,426:
| dmp_FragmentLightSource[4].distanceAttenuationEnabled
| dmp_FragmentLightSource[4].distanceAttenuationEnabled
| 0x0012C4A0
| 0x0012C4A0
| ?
| 0x01C8 ?
|-  
|-  
| 0xB6
| 0xB6
Line 1,040: Line 1,433:
| dmp_FragmentLightSource[5].distanceAttenuationEnabled
| dmp_FragmentLightSource[5].distanceAttenuationEnabled
| 0x0012C4A0
| 0x0012C4A0
| ?
| 0x01C8 ?
|-  
|-  
| 0xB7
| 0xB7
Line 1,045: Line 1,440:
| dmp_FragmentLightSource[6].distanceAttenuationEnabled
| dmp_FragmentLightSource[6].distanceAttenuationEnabled
| 0x0012C4A0
| 0x0012C4A0
| ?
| 0x01C8 ?
|-  
|-  
| 0xB8
| 0xB8
Line 1,050: Line 1,447:
| dmp_FragmentLightSource[7].distanceAttenuationEnabled
| dmp_FragmentLightSource[7].distanceAttenuationEnabled
| 0x0012C4A0
| 0x0012C4A0
| ?
| 0x01C8 ?
|-  
|-  
| 0xB9
| 0xB9
Line 1,055: Line 1,454:
| dmp_FragmentLightSource[0].samplerDA
| dmp_FragmentLightSource[0].samplerDA
| 0x0012C578
| 0x0012C578
| 0xA20+0*0x70+0x6C
| 0x01C8 ?
|-  
|-  
| 0xBA
| 0xBA
Line 1,060: Line 1,461:
| dmp_FragmentLightSource[1].samplerDA
| dmp_FragmentLightSource[1].samplerDA
| 0x0012C578
| 0x0012C578
| 0xA20+1*0x70+0x6C
| 0x01C8 ?
|-  
|-  
| 0xBB
| 0xBB
Line 1,065: Line 1,468:
| dmp_FragmentLightSource[2].samplerDA
| dmp_FragmentLightSource[2].samplerDA
| 0x0012C578
| 0x0012C578
| 0xA20+2*0x70+0x6C
| 0x01C8 ?
|-  
|-  
| 0xBC
| 0xBC
Line 1,070: Line 1,475:
| dmp_FragmentLightSource[3].samplerDA
| dmp_FragmentLightSource[3].samplerDA
| 0x0012C578
| 0x0012C578
| 0xA20+3*0x70+0x6C
| 0x01C8 ?
|-  
|-  
| 0xBD
| 0xBD
Line 1,075: Line 1,482:
| dmp_FragmentLightSource[4].samplerDA
| dmp_FragmentLightSource[4].samplerDA
| 0x0012C578
| 0x0012C578
| 0xA20+4*0x70+0x6C
| 0x01C8 ?
|-  
|-  
| 0xBE
| 0xBE
Line 1,080: Line 1,489:
| dmp_FragmentLightSource[5].samplerDA
| dmp_FragmentLightSource[5].samplerDA
| 0x0012C578
| 0x0012C578
| 0xA20+5*0x70+0x6C
| 0x01C8 ?
|-  
|-  
| 0xBF
| 0xBF
Line 1,085: Line 1,496:
| dmp_FragmentLightSource[6].samplerDA
| dmp_FragmentLightSource[6].samplerDA
| 0x0012C578
| 0x0012C578
| 0xA20+6*0x70+0x6C
| 0x01C8 ?
|-  
|-  
| 0xC0
| 0xC0
Line 1,090: Line 1,503:
| dmp_FragmentLightSource[7].samplerDA
| dmp_FragmentLightSource[7].samplerDA
| 0x0012C578
| 0x0012C578
| 0xA20+7*0x70+0x6C
| 0x01C8 ?
|-  
|-  
| 0xC1
| 0xC1
Line 1,095: Line 1,510:
| dmp_LightEnv.absLutInputD0
| dmp_LightEnv.absLutInputD0
| 0x0012C5D8
| 0x0012C5D8
| ?
| 0x01D0 bit12 (1 = disable?)
|-  
|-  
| 0xC2
| 0xC2
Line 1,100: Line 1,517:
| dmp_LightEnv.absLutInputD1
| dmp_LightEnv.absLutInputD1
| 0x0012C5D8
| 0x0012C5D8
| ?
| 0x01D0 bit13 (1 = disable?)
|-  
|-  
| 0xC3
| 0xC3
Line 1,105: Line 1,524:
| dmp_LightEnv.absLutInputSP
| dmp_LightEnv.absLutInputSP
| 0x0012C5D8
| 0x0012C5D8
| ?
| 0x01D0 bit14 (1 = disable?)
|-  
|-  
| 0xC4
| 0xC4
Line 1,110: Line 1,531:
| dmp_LightEnv.absLutInputFR
| dmp_LightEnv.absLutInputFR
| 0x0012C5D8
| 0x0012C5D8
| ?
| 0x01D0 bit15 (1 = disable?)
|-  
|-  
| 0xC5
| 0xC5
Line 1,115: Line 1,538:
| dmp_LightEnv.absLutInputRB
| dmp_LightEnv.absLutInputRB
| 0x0012C5D8
| 0x0012C5D8
| ?
| 0x01D0 bit16 (1 = disable?)
|-  
|-  
| 0xC6
| 0xC6
Line 1,120: Line 1,545:
| dmp_LightEnv.absLutInputRG
| dmp_LightEnv.absLutInputRG
| 0x0012C5D8
| 0x0012C5D8
| ?
| 0x01D0 bit17 (1 = disable?)
|-  
|-  
| 0xC7
| 0xC7
Line 1,125: Line 1,552:
| dmp_LightEnv.absLutInputRR
| dmp_LightEnv.absLutInputRR
| 0x0012C5D8
| 0x0012C5D8
| ?
| 0x01D0 bit18 (1 = disable?)
|-  
|-  
| 0xC8
| 0xC8
Line 1,130: Line 1,559:
| dmp_LightEnv.lutInputD0
| dmp_LightEnv.lutInputD0
| 0x0012C6E8
| 0x0012C6E8
| ?
| 0x01D1 bit0-2
|-  
|-  
| 0xC9
| 0xC9
Line 1,135: Line 1,566:
| dmp_LightEnv.lutInputD1
| dmp_LightEnv.lutInputD1
| 0x0012C6E8
| 0x0012C6E8
| ?
| 0x01D1 bit4-6
|-  
|-  
| 0xCA
| 0xCA
Line 1,140: Line 1,573:
| dmp_LightEnv.lutInputSP
| dmp_LightEnv.lutInputSP
| 0x0012C6E8
| 0x0012C6E8
| ?
| 0x01D1 bit8-10
|-  
|-  
| 0xCB
| 0xCB
Line 1,145: Line 1,580:
| dmp_LightEnv.lutInputFR
| dmp_LightEnv.lutInputFR
| 0x0012C6E8
| 0x0012C6E8
| ?
| 0x01D1 bit12-14
|-  
|-  
| 0xCC
| 0xCC
Line 1,150: Line 1,587:
| dmp_LightEnv.lutInputRB
| dmp_LightEnv.lutInputRB
| 0x0012C6E8
| 0x0012C6E8
| ?
| 0x01D1 bit16-18
|-  
|-  
| 0xCD
| 0xCD
Line 1,155: Line 1,594:
| dmp_LightEnv.lutInputRG
| dmp_LightEnv.lutInputRG
| 0x0012C6E8
| 0x0012C6E8
| ?
| 0x01D1 bit20-22
|-  
|-  
| 0xCE
| 0xCE
Line 1,160: Line 1,601:
| dmp_LightEnv.lutInputRR
| dmp_LightEnv.lutInputRR
| 0x0012C6E8
| 0x0012C6E8
| ?
| 0x01D1 bit24-26
|-  
|-  
| 0xCF
| 0xCF
Line 1,165: Line 1,608:
| dmp_LightEnv.lutScaleD0
| dmp_LightEnv.lutScaleD0
| 0x00155404
| 0x00155404
| ?
| 0x01D2 bit0-3
|-  
|-  
| 0xD0
| 0xD0
Line 1,170: Line 1,615:
| dmp_LightEnv.lutScaleD1
| dmp_LightEnv.lutScaleD1
| 0x00155404
| 0x00155404
| ?
| 0x01D2 bit4-7
|-  
|-  
| 0xD1
| 0xD1
Line 1,175: Line 1,622:
| dmp_LightEnv.lutScaleSP
| dmp_LightEnv.lutScaleSP
| 0x00155404
| 0x00155404
| ?
| 0x01D2 bit8-11
|-  
|-  
| 0xD2
| 0xD2
Line 1,180: Line 1,629:
| dmp_LightEnv.lutScaleFR
| dmp_LightEnv.lutScaleFR
| 0x00155404
| 0x00155404
| ?
| 0x01D2 bit12-15
|-  
|-  
| 0xD3
| 0xD3
Line 1,185: Line 1,636:
| dmp_LightEnv.lutScaleRB
| dmp_LightEnv.lutScaleRB
| 0x00155404
| 0x00155404
| ?
|0x01D2 bit16-19
|-  
|-  
| 0xD4
| 0xD4
Line 1,190: Line 1,643:
| dmp_LightEnv.lutScaleRG
| dmp_LightEnv.lutScaleRG
| 0x00155404
| 0x00155404
| ?
| 0x01D2 bit20-23
|-  
|-  
| 0xD5
| 0xD5
Line 1,195: Line 1,650:
| dmp_LightEnv.lutScaleRR
| dmp_LightEnv.lutScaleRR
| 0x00155404
| 0x00155404
| ?
| 0x01D2 bit24-27
|-  
|-  
| 0xD6
| 0xD6
Line 1,200: Line 1,657:
| dmp_FragmentMaterial.samplerD0
| dmp_FragmentMaterial.samplerD0
| 0x0012C7D0
| 0x0012C7D0
| ?
| ?
|-  
|-  
| 0xD7
| 0xD7
Line 1,205: Line 1,664:
| dmp_FragmentMaterial.samplerD1
| dmp_FragmentMaterial.samplerD1
| 0x0012C7D0
| 0x0012C7D0
| ?
| ?
|-  
|-  
| 0xD8
| 0xD8
Line 1,210: Line 1,671:
| dmp_FragmentMaterial.samplerFR
| dmp_FragmentMaterial.samplerFR
| 0x0012C7D0
| 0x0012C7D0
| ?
| ?
|-  
|-  
| 0xD9
| 0xD9
Line 1,215: Line 1,678:
| dmp_FragmentMaterial.samplerRB
| dmp_FragmentMaterial.samplerRB
| 0x0012C7D0
| 0x0012C7D0
| ?
| ?
|-  
|-  
| 0xDA
| 0xDA
Line 1,220: Line 1,685:
| dmp_FragmentMaterial.samplerRG
| dmp_FragmentMaterial.samplerRG
| 0x0012C7D0
| 0x0012C7D0
| ?
| ?
|-  
|-  
| 0xDB
| 0xDB
Line 1,225: Line 1,692:
| dmp_FragmentMaterial.samplerRR
| dmp_FragmentMaterial.samplerRR
| 0x0012C7D0
| 0x0012C7D0
| ?
| ?
|-  
|-  
| 0xDC
| 0xDC
Line 1,230: Line 1,699:
| dmp_LightEnv.shadowSelector
| dmp_LightEnv.shadowSelector
| 0x0012CE44
| 0x0012CE44
| ?
| 0x01C3 bit24-25
|-  
|-  
| 0xDD
| 0xDD
Line 1,235: Line 1,706:
| dmp_LightEnv.bumpSelector
| dmp_LightEnv.bumpSelector
| 0x0012CD88
| 0x0012CD88
| ?
| 0x01C3 bit22-23
|-  
|-  
| 0xDE
| 0xDE
Line 1,240: Line 1,713:
| dmp_LightEnv.bumpMode
| dmp_LightEnv.bumpMode
| 0x0012D4B4
| 0x0012D4B4
| ?
| ?
|-  
|-  
| 0xDF
| 0xDF
Line 1,245: Line 1,720:
| dmp_LightEnv.bumpRenorm
| dmp_LightEnv.bumpRenorm
| 0x0012D8A0
| 0x0012D8A0
| ?
| ?
|-  
|-  
| 0xE0
| 0xE0
Line 1,250: Line 1,727:
| dmp_LightEnv.config
| dmp_LightEnv.config
| 0x0012D5E4
| 0x0012D5E4
| ?
| ?
|-  
|-  
| 0xE1
| 0xE1
Line 1,255: Line 1,734:
| dmp_LightEnv.invertShadow
| dmp_LightEnv.invertShadow
| 0x0012CF04
| 0x0012CF04
| ?
| ?
|-  
|-  
| 0xE2
| 0xE2
Line 1,260: Line 1,741:
| dmp_LightEnv.shadowPrimary
| dmp_LightEnv.shadowPrimary
| 0x0012CFD4
| 0x0012CFD4
| ?
| ?
|-  
|-  
| 0xE3
| 0xE3
Line 1,265: Line 1,748:
| dmp_LightEnv.shadowSecondary
| dmp_LightEnv.shadowSecondary
| 0x0012D1B8
| 0x0012D1B8
| ?
| ?
|-  
|-  
| 0xE4
| 0xE4
Line 1,270: Line 1,755:
| dmp_LightEnv.shadowAlpha
| dmp_LightEnv.shadowAlpha
| 0x0012D350
| 0x0012D350
| ?
| ?
|-  
|-  
| 0xE5
| 0xE5
Line 1,275: Line 1,762:
| dmp_LightEnv.fresnelSelector
| dmp_LightEnv.fresnelSelector
| 0x0012D720
| 0x0012D720
| ?
| ?
|-  
|-  
| 0xE6
| 0xE6
Line 1,280: Line 1,769:
| dmp_LightEnv.clampHighlights
| dmp_LightEnv.clampHighlights
| 0x0012D9B0
| 0x0012D9B0
| ?
| ?
|-  
|-  
| 0xE7
| 0xE7
Line 1,285: Line 1,776:
| dmp_LightEnv.lutEnabledD0
| dmp_LightEnv.lutEnabledD0
| 0x0012DA80
| 0x0012DA80
| ?
| ?
|-  
|-  
| 0xE8
| 0xE8
Line 1,290: Line 1,783:
| dmp_LightEnv.lutEnabledD1
| dmp_LightEnv.lutEnabledD1
| 0x0012DB58
| 0x0012DB58
| ?
| ?
|-  
|-  
| 0xE9
| 0xE9
Line 1,295: Line 1,790:
| dmp_LightEnv.lutEnabledRefl
| dmp_LightEnv.lutEnabledRefl
| 0x0012C83C
| 0x0012C83C
| ?
| ?
|-  
|-  
| 0xEA
| 0xEA
Line 1,300: Line 1,797:
| dmp_TexEnv[0].combineRgb
| dmp_TexEnv[0].combineRgb
| 0x0012DC2C
| 0x0012DC2C
| ?
| 0xC2
|-  
|-  
| 0xEB
| 0xEB
Line 1,305: Line 1,804:
| dmp_TexEnv[1].combineRgb
| dmp_TexEnv[1].combineRgb
| 0x0012DC2C
| 0x0012DC2C
| ?
| 0xCA
|-  
|-  
| 0xEC
| 0xEC
Line 1,310: Line 1,811:
| dmp_TexEnv[2].combineRgb
| dmp_TexEnv[2].combineRgb
| 0x0012DC2C
| 0x0012DC2C
| ?
| 0xD2
|-  
|-  
| 0xED
| 0xED
Line 1,315: Line 1,818:
| dmp_TexEnv[3].combineRgb
| dmp_TexEnv[3].combineRgb
| 0x0012DC2C
| 0x0012DC2C
| ?
| 0xDA
|-  
|-  
| 0xEE
| 0xEE
Line 1,320: Line 1,825:
| dmp_TexEnv[4].combineRgb
| dmp_TexEnv[4].combineRgb
| 0x0012DC2C
| 0x0012DC2C
| ?
| 0xF2
|-  
|-  
| 0xEF
| 0xEF
Line 1,325: Line 1,832:
| dmp_TexEnv[5].combineRgb
| dmp_TexEnv[5].combineRgb
| 0x0012DC2C
| 0x0012DC2C
| ?
| 0xFA
|-  
|-  
| 0xF0
| 0xF0
Line 1,330: Line 1,839:
| dmp_TexEnv[0].combineAlpha
| dmp_TexEnv[0].combineAlpha
| 0x0012DD9C
| 0x0012DD9C
| ?
| 0xC2
|-  
|-  
| 0xF1
| 0xF1
Line 1,335: Line 1,846:
| dmp_TexEnv[1].combineAlpha
| dmp_TexEnv[1].combineAlpha
| 0x0012DD9C
| 0x0012DD9C
| ?
| 0xCA
|-  
|-  
| 0xF2
| 0xF2
Line 1,340: Line 1,853:
| dmp_TexEnv[2].combineAlpha
| dmp_TexEnv[2].combineAlpha
| 0x0012DD9C
| 0x0012DD9C
| ?
| 0xD2
|-  
|-  
| 0xF3
| 0xF3
Line 1,345: Line 1,860:
| dmp_TexEnv[3].combineAlpha
| dmp_TexEnv[3].combineAlpha
| 0x0012DD9C
| 0x0012DD9C
| ?
| 0xDA
|-  
|-  
| 0xF4
| 0xF4
Line 1,350: Line 1,867:
| dmp_TexEnv[4].combineAlpha
| dmp_TexEnv[4].combineAlpha
| 0x0012DD9C
| 0x0012DD9C
| ?
| 0xF2
|-  
|-  
| 0xF5
| 0xF5
Line 1,355: Line 1,874:
| dmp_TexEnv[5].combineAlpha
| dmp_TexEnv[5].combineAlpha
| 0x0012DD9C
| 0x0012DD9C
| ?
| 0xFA
|-  
|-  
| 0xF6
| 0xF6
Line 1,360: Line 1,881:
| dmp_TexEnv[0].srcRgb
| dmp_TexEnv[0].srcRgb
| 0x0012DF08
| 0x0012DF08
| ?
| 0xC0
|-  
|-  
| 0xF7
| 0xF7
Line 1,365: Line 1,888:
| dmp_TexEnv[1].srcRgb
| dmp_TexEnv[1].srcRgb
| 0x0012DF08
| 0x0012DF08
| ?
| 0xC8
|-  
|-  
| 0xF8
| 0xF8
Line 1,370: Line 1,895:
| dmp_TexEnv[2].srcRgb
| dmp_TexEnv[2].srcRgb
| 0x0012DF08
| 0x0012DF08
| ?
| 0xD0
|-  
|-  
| 0xF9
| 0xF9
Line 1,375: Line 1,902:
| dmp_TexEnv[3].srcRgb
| dmp_TexEnv[3].srcRgb
| 0x0012DF08
| 0x0012DF08
| ?
| 0xD8
|-  
|-  
| 0xFA
| 0xFA
Line 1,380: Line 1,909:
| dmp_TexEnv[4].srcRgb
| dmp_TexEnv[4].srcRgb
| 0x0012DF08
| 0x0012DF08
| ?
| 0xF0
|-  
|-  
| 0xFB
| 0xFB
Line 1,385: Line 1,916:
| dmp_TexEnv[5].srcRgb
| dmp_TexEnv[5].srcRgb
| 0x0012DF08
| 0x0012DF08
| ?
| 0xF8
|-  
|-  
| 0xFC
| 0xFC
Line 1,390: Line 1,923:
| dmp_TexEnv[0].srcAlpha
| dmp_TexEnv[0].srcAlpha
| 0x0012E0FC
| 0x0012E0FC
| ?
| 0xC0
|-  
|-  
| 0xFD
| 0xFD
Line 1,395: Line 1,930:
| dmp_TexEnv[1].srcAlpha
| dmp_TexEnv[1].srcAlpha
| 0x0012E0FC
| 0x0012E0FC
| ?
| 0xC8
|-  
|-  
| 0xFE
| 0xFE
Line 1,400: Line 1,937:
| dmp_TexEnv[2].srcAlpha
| dmp_TexEnv[2].srcAlpha
| 0x0012E0FC
| 0x0012E0FC
| ?
| 0xD0
|-  
|-  
| 0xFF
| 0xFF
Line 1,405: Line 1,944:
| dmp_TexEnv[3].srcAlpha
| dmp_TexEnv[3].srcAlpha
| 0x0012E0FC
| 0x0012E0FC
| ?
| 0xD8
|-  
|-  
| 0x100
| 0x100
Line 1,410: Line 1,951:
| dmp_TexEnv[4].srcAlpha
| dmp_TexEnv[4].srcAlpha
| 0x0012E0FC
| 0x0012E0FC
| ?
| 0xF0
|-  
|-  
| 0x101
| 0x101
Line 1,415: Line 1,958:
| dmp_TexEnv[5].srcAlpha
| dmp_TexEnv[5].srcAlpha
| 0x0012E0FC
| 0x0012E0FC
| ?
| 0xF8
|-  
|-  
| 0x102
| 0x102
Line 1,420: Line 1,965:
| dmp_TexEnv[0].operandRgb
| dmp_TexEnv[0].operandRgb
| 0x0012E2F0
| 0x0012E2F0
| ?
| 0xC1
|-  
|-  
| 0x103
| 0x103
Line 1,425: Line 1,972:
| dmp_TexEnv[1].operandRgb
| dmp_TexEnv[1].operandRgb
| 0x0012E2F0
| 0x0012E2F0
| ?
| 0xC9
|-  
|-  
| 0x104
| 0x104
Line 1,430: Line 1,979:
| dmp_TexEnv[2].operandRgb
| dmp_TexEnv[2].operandRgb
| 0x0012E2F0
| 0x0012E2F0
| ?
| 0xD1
|-  
|-  
| 0x105
| 0x105
Line 1,435: Line 1,986:
| dmp_TexEnv[3].operandRgb
| dmp_TexEnv[3].operandRgb
| 0x0012E2F0
| 0x0012E2F0
| ?
| 0xD9
|-  
|-  
| 0x106
| 0x106
Line 1,440: Line 1,993:
| dmp_TexEnv[4].operandRgb
| dmp_TexEnv[4].operandRgb
| 0x0012E2F0
| 0x0012E2F0
| ?
| 0xF1
|-  
|-  
| 0x107
| 0x107
Line 1,445: Line 2,000:
| dmp_TexEnv[5].operandRgb
| dmp_TexEnv[5].operandRgb
| 0x0012E2F0
| 0x0012E2F0
| ?
| 0xF9
|-  
|-  
| 0x108
| 0x108
Line 1,450: Line 2,007:
| dmp_TexEnv[0].operandAlpha
| dmp_TexEnv[0].operandAlpha
| 0x0012E51C
| 0x0012E51C
| ?
| 0xC1
|-  
|-  
| 0x109
| 0x109
Line 1,455: Line 2,014:
| dmp_TexEnv[1].operandAlpha
| dmp_TexEnv[1].operandAlpha
| 0x0012E51C
| 0x0012E51C
| ?
| 0xC9
|-  
|-  
| 0x10A
| 0x10A
Line 1,460: Line 2,021:
| dmp_TexEnv[2].operandAlpha
| dmp_TexEnv[2].operandAlpha
| 0x0012E51C
| 0x0012E51C
| ?
| 0xD1
|-  
|-  
| 0x10B
| 0x10B
Line 1,465: Line 2,028:
| dmp_TexEnv[3].operandAlpha
| dmp_TexEnv[3].operandAlpha
| 0x0012E51C
| 0x0012E51C
| ?
| 0xD9
|-  
|-  
| 0x10C
| 0x10C
Line 1,470: Line 2,035:
| dmp_TexEnv[4].operandAlpha
| dmp_TexEnv[4].operandAlpha
| 0x0012E51C
| 0x0012E51C
| ?
| 0xF1
|-  
|-  
| 0x10D
| 0x10D
Line 1,475: Line 2,042:
| dmp_TexEnv[5].operandAlpha
| dmp_TexEnv[5].operandAlpha
| 0x0012E51C
| 0x0012E51C
| ?
| 0xF9
|-  
|-  
| 0x10E
| 0x10E
Line 1,480: Line 2,049:
| dmp_TexEnv[0].scaleRgb
| dmp_TexEnv[0].scaleRgb
| 0x00155464
| 0x00155464
| ?
| ?
|-  
|-  
| 0x10F
| 0x10F
Line 1,485: Line 2,056:
| dmp_TexEnv[1].scaleRgb
| dmp_TexEnv[1].scaleRgb
| 0x00155464
| 0x00155464
| ?
| ?
|-  
|-  
| 0x110
| 0x110
Line 1,490: Line 2,063:
| dmp_TexEnv[2].scaleRgb
| dmp_TexEnv[2].scaleRgb
| 0x00155464
| 0x00155464
| ?
| ?
|-  
|-  
| 0x111
| 0x111
Line 1,495: Line 2,070:
| dmp_TexEnv[3].scaleRgb
| dmp_TexEnv[3].scaleRgb
| 0x00155464
| 0x00155464
| ?
| ?
|-  
|-  
| 0x112
| 0x112
Line 1,500: Line 2,077:
| dmp_TexEnv[4].scaleRgb
| dmp_TexEnv[4].scaleRgb
| 0x00155464
| 0x00155464
| ?
| ?
|-  
|-  
| 0x113
| 0x113
Line 1,505: Line 2,084:
| dmp_TexEnv[5].scaleRgb
| dmp_TexEnv[5].scaleRgb
| 0x00155464
| 0x00155464
| ?
| ?
|-  
|-  
| 0x114
| 0x114
Line 1,510: Line 2,091:
| dmp_TexEnv[0].scaleAlpha
| dmp_TexEnv[0].scaleAlpha
| 0x00158EDC
| 0x00158EDC
| ?
| ?
|-  
|-  
| 0x115
| 0x115
Line 1,515: Line 2,098:
| dmp_TexEnv[1].scaleAlpha
| dmp_TexEnv[1].scaleAlpha
| 0x00158EDC
| 0x00158EDC
| ?
| ?
|-  
|-  
| 0x116
| 0x116
Line 1,520: Line 2,105:
| dmp_TexEnv[2].scaleAlpha
| dmp_TexEnv[2].scaleAlpha
| 0x00158EDC
| 0x00158EDC
| ?
| ?
|-  
|-  
| 0x117
| 0x117
Line 1,525: Line 2,112:
| dmp_TexEnv[3].scaleAlpha
| dmp_TexEnv[3].scaleAlpha
| 0x00158EDC
| 0x00158EDC
| ?
| ?
|-  
|-  
| 0x118
| 0x118
Line 1,530: Line 2,119:
| dmp_TexEnv[4].scaleAlpha
| dmp_TexEnv[4].scaleAlpha
| 0x00158EDC
| 0x00158EDC
| ?
| ?
|-  
|-  
| 0x119
| 0x119
Line 1,535: Line 2,126:
| dmp_TexEnv[5].scaleAlpha
| dmp_TexEnv[5].scaleAlpha
| 0x00158EDC
| 0x00158EDC
| ?
| ?
|-  
|-  
| 0x11A
| 0x11A
Line 1,540: Line 2,133:
| dmp_TexEnv[0].constRgba
| dmp_TexEnv[0].constRgba
| 0x00158FF4
| 0x00158FF4
| ?
| 0xC3
|-  
|-  
| 0x11B
| 0x11B
Line 1,545: Line 2,140:
| dmp_TexEnv[1].constRgba
| dmp_TexEnv[1].constRgba
| 0x00158FF4
| 0x00158FF4
| ?
| 0xCB
|-  
|-  
| 0x11C
| 0x11C
Line 1,550: Line 2,147:
| dmp_TexEnv[2].constRgba
| dmp_TexEnv[2].constRgba
| 0x00158FF4
| 0x00158FF4
| ?
| 0xD3
|-  
|-  
| 0x11D
| 0x11D
Line 1,555: Line 2,154:
| dmp_TexEnv[3].constRgba
| dmp_TexEnv[3].constRgba
| 0x00158FF4
| 0x00158FF4
| ?
| 0xDB
|-  
|-  
| 0x11E
| 0x11E
Line 1,560: Line 2,161:
| dmp_TexEnv[4].constRgba
| dmp_TexEnv[4].constRgba
| 0x00158FF4
| 0x00158FF4
| ?
| 0xF3
|-  
|-  
| 0x11F
| 0x11F
Line 1,565: Line 2,168:
| dmp_TexEnv[5].constRgba
| dmp_TexEnv[5].constRgba
| 0x00158FF4
| 0x00158FF4
| ?
| 0xFB
|-  
|-  
| 0x120
| 0x120
Line 1,570: Line 2,175:
| dmp_TexEnv[0].bufferColor
| dmp_TexEnv[0].bufferColor
| 0x001591C0
| 0x001591C0
| ?
| ?
|-  
|-  
| 0x121
| 0x121
Line 1,575: Line 2,182:
| dmp_TexEnv[1].bufferInput
| dmp_TexEnv[1].bufferInput
| 0x0012E6D0
| 0x0012E6D0
| ?
| ?
|-  
|-  
| 0x122
| 0x122
Line 1,580: Line 2,189:
| dmp_TexEnv[2].bufferInput
| dmp_TexEnv[2].bufferInput
| 0x0012E6D0
| 0x0012E6D0
| ?
| ?
|-  
|-  
| 0x123
| 0x123
Line 1,585: Line 2,196:
| dmp_TexEnv[3].bufferInput
| dmp_TexEnv[3].bufferInput
| 0x0012E6D0
| 0x0012E6D0
| ?
| ?
|-  
|-  
| 0x124
| 0x124
Line 1,590: Line 2,203:
| dmp_TexEnv[4].bufferInput
| dmp_TexEnv[4].bufferInput
| 0x0012E6D0
| 0x0012E6D0
| ?
| ?
|-  
|-  
| 0x125
| 0x125
Line 1,595: Line 2,210:
| dmp_Fog.mode
| dmp_Fog.mode
| 0x0012E7F8
| 0x0012E7F8
| ?
| 0x00E0 bit0-2 (5 -> fog (0x0B60), 7 -> gas (0x6050))
|-  
|-  
| 0x126
| 0x126
Line 1,600: Line 2,217:
| dmp_Fog.color
| dmp_Fog.color
| 0x00159338
| 0x00159338
| ?
| ?
|-  
|-  
| 0x127
| 0x127
Line 1,605: Line 2,224:
| dmp_Fog.zFlip
| dmp_Fog.zFlip
| 0x0012E9DC
| 0x0012E9DC
| ?
| 0x00E0 bit16
|-  
|-  
| 0x128
| 0x128
Line 1,610: Line 2,231:
| dmp_Fog.sampler
| dmp_Fog.sampler
| 0x0012EAA4
| 0x0012EAA4
| ?
| ?
|}
|}


On steeldiver's uniform handlers : R1 is a pointer to the current shader program object, R12 is a pointer to the data the uniform is being set to.
On steeldiver's uniform handlers : R1 is a pointer to the current shader program object, R12 is a pointer to the data the uniform is being set to.
== Other Symbols ==
The list above is not exhaustive. A number of other strings specific to Nintendo's rendering framework have been found. Below is a table listing those strings including the location they were found in.
{| class="wikitable" border="1"
! Name
!  Context
!  Occurrence
|-
| dmp_Point.viewport.xy
| Name of a shader uniform
| CTRAging's romfs:/gpu/GasCessna/shader.shbin
|-
| dmp_Point.distanceAttenuation
| Name of a shader uniform
| CTRAging's romfs:/gpu/GasCessna/shader.shbin
|-
| dmp_Point.Position
| Name of a shader uniform
| CTRAging's romfs:/gpu/GasCessna/shader.shbin
|-
| dmp_Point.PointSize
| Name of a shader uniform
| CTRAging's romfs:/gpu/GasCessna/shader.shbin
|}