the cutting room mirror

Tom Clancy's Splinter Cell 3D

This page contains no introduction.
What makes this game notable or what is it about? Are you a bad enough dude to save this article?

Uncompiled Shaders#

VtxTex.vsh#

Files are the same in all versions (North America, Europe, Korean, Japanese).

// Input registers map
#define aPosition       v0
#define aTexCoord       v1

// Output registers map
#define vPosition       o0
#define vTexCoord       o1

#pragma bind_symbol( aPosition.xyz, v0, v0 )
#pragma bind_symbol( aTexCoord.xy, v1, v1 )

#pragma output_map( position, o0 )
#pragma output_map( texture0, o1 )

#pragma bind_symbol( uProjection, c0, c3 )
#pragma bind_symbol( uModelView, c4, c7 )

main:
    //  vector transformation
    m4x4    r15,        v0,         c4
    dp4     o0.x,       r15,        c0[0]
    dp4     o0.y,       r15,        c0[1]
    dp4     o0.z,       r15,        c0[2]
    dp4     o0.w,       r15,        c0[3]
    // texture coordinates
    mov     o1, aTexCoord
    end
endmain:

VtxColor.vsh#

//
//------------------------------------------------------------
// Copyright(c) 2009-2010 by Digital Media Professionals Inc.
// All rights reserved.
//------------------------------------------------------------
// This source code is the confidential and proprietary
// of Digital Media Professionals Inc.
//------------------------------------------------------------
//
//
// VShader.asm
//

// Input registers map
#define aPosition       v0

// Output registers map
#define vPosition       o0

// Constant registers
#define CONSTANT        c93

def     CONSTANT[0], 0.0, 1.0, 2.0, 3.0
def     CONSTANT[1], 0.125, 0.00390625, 0.5, 0.25

#define CONST_0                 CONSTANT[0].x
#define CONST_1                 CONSTANT[0].y
#define CONST_2                 CONSTANT[0].z
#define CONST_3                 CONSTANT[0].w
#define CONST_HALF              CONSTANT[1].z
#define CONST_QUARTER           CONSTANT[1].w
#define CONST_1_0               CONSTANT[0].yx
#define CONST_1__4              CONSTANT[1].w
#define CONST_1__8              CONSTANT[1].x
#define CONST_1__256            CONSTANT[1].y

#pragma bind_symbol( aPosition.xyz, v0, v0 )

#pragma output_map( position, o0 )

#pragma bind_symbol( uProjection, c0, c3 )
#pragma bind_symbol( uModelView, c4, c7 )

main:
    //  vector transformation
    dp4     r15.x,       v0,        c4[0]
    dp4     r15.y,       v0,        c4[1]
    dp4     r15.z,       v0,        c4[2]
    dp4     r15.w,       v0,        c4[3]
    dp4     o0.x,       r15,        c0[0]
    dp4     o0.y,       r15,        c0[1]
    dp4     o0.z,       r15,        c0[2]
    dp4     o0.w,       r15,        c0[3]
    end
endmain: