If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!
Fruit Ninja: Puss In Boots
| Fruit Ninja: Puss In Boots |
|---|
|
Developer:
Halfbrick Studios
|
Fruit Ninja: Puss In Boots is a spinoff of Fruit Ninja starring Puss in Boots from the Shrek animated movie franchise, made to promote his 2011 spin-off film.
Compiled Windows executables
| To do: All of them appear to crash, most likely due to the assets aren't built for Windows, fix if possible. |
The assets.zip archive containing the data in the iOS version has four compiled Windows executables of the game, being for the iPhone Lite/iPhone Free, iPad/HD Lite/HD Free and full versions of the two for both devices, all debug enabled.
| Download Fruit Ninja: Puss In Boots (iPhone) Windows executables
File: FNPIB_iPhoneBuild_WindowsEXEs.zip (6727 KB) (info)
|
| Download Fruit Ninja: Puss In Boots (iPad) Windows executables
File: FNPIB_iPadBuild_WindowsEXEs.zip (5693 KB) (info)
|
Direct3D shaders
The shaders directory has three shaders for the game on Windows, likely related to the leftover Windows builds of the game.
basicmodel.fx:
Texture2D DiffuseMap : register(t0);
SamplerState linearSampler : register(s0);
cbuffer simpleConstantBuffer : register( b0 )
{
matrix worldmatrix;
matrix viewmatrix;
matrix projectionmatrix;
matrix texturematrix;
float4 displayColour;
};
struct VertexShaderInput
{
float2 IN_uv : TEXCOORD0;
uint4 IN_vertexcolour : COLOR0;
float3 IN_normal : NORMAL0;
float3 IN_position : POSITION0;
};
struct PixelShaderInput
{
float4 position : SV_POSITION;
float2 uv : TEXCOORD0;
float4 colour: COLOR0;
};
//--------------------------------------------------------------------------------------
// Vertex Shader
//--------------------------------------------------------------------------------------
PixelShaderInput VS( VertexShaderInput Input )
{
PixelShaderInput result;
float4 pos;
pos.xyz=Input.IN_position;
pos.w=1.0;
// Transform the vertex position into projection space.
pos = mul(pos, worldmatrix);
pos = mul(pos, viewmatrix);
pos = mul(pos, projectionmatrix);
result.uv = Input.IN_uv;
result.colour = Input.IN_vertexcolour / 255.0f;
result.position = pos;
return result;
}
//--------------------------------------------------------------------------------------
// Pixel Shader
//--------------------------------------------------------------------------------------
float4 PS( PixelShaderInput input ) : SV_Target
{
float4 textureSample = DiffuseMap.Sample(linearSampler, input.uv) * input.colour ;
return textureSample;
/// return float4( 1.0f, 1.0f, 0.0f, 1.0f ); // Yellow, with Alpha = 1
}
gles1_vertex_unlit.fx:
Texture2D DiffuseMap : register(t0);
SamplerState linearSampler : register(s0);
cbuffer simpleConstantBuffer : register( b0 )
{
matrix worldmatrix;
matrix viewmatrix;
matrix projectionmatrix;
matrix texturematrix;
float4 displayColour;
};
struct VertexShaderInput
{
float3 IN_position : POSITION0;
float3 IN_normal : NORMAL0;
float3 IN_tangent : NORMAL1;
float3 IN_bitangent : NORMAL2;
float4 IN_vertexcolour : COLOR0;
float2 IN_uv : TEXCOORD0;
};
struct PixelShaderInput
{
float4 position : SV_POSITION;
float2 uv : TEXCOORD0;
float4 colour: COLOR0;
};
//--------------------------------------------------------------------------------------
// Vertex Shader
//--------------------------------------------------------------------------------------
PixelShaderInput VS( VertexShaderInput Input )
{
PixelShaderInput result;
float4 pos;
pos.xyz=Input.IN_position;
pos.w=1.0;
// Transform the vertex position into projection space.
pos = mul(pos, worldmatrix);
pos = mul(pos, viewmatrix);
pos = mul(pos, projectionmatrix);
result.uv = Input.IN_uv;
result.colour = (Input.IN_vertexcolour / 255.0f) * (displayColour / 255.0f);
result.position = pos;
return result;
}
//--------------------------------------------------------------------------------------
// Pixel Shader
//--------------------------------------------------------------------------------------
float4 PS( PixelShaderInput input ) : SV_Target
{
float4 textureSample = DiffuseMap.Sample(linearSampler, input.uv) * input.colour ;
return textureSample;
/// return float4( 1.0f, 1.0f, 0.0f, 1.0f ); // Yellow, with Alpha = 1
}
gles1_vertex_unlit_notexture:
Texture2D DiffuseMap : register(t0);
SamplerState linearSampler : register(s0);
cbuffer simpleConstantBuffer : register( b0 )
{
matrix worldmatrix;
matrix viewmatrix;
matrix projectionmatrix;
matrix texturematrix;
float4 displayColour;
};
struct VertexShaderInput
{
float3 IN_position : POSITION0;
float3 IN_normal : NORMAL0;
float3 IN_tangent : NORMAL1;
float3 IN_bitangent : NORMAL2;
float4 IN_vertexcolour : COLOR0;
float2 IN_uv : TEXCOORD0;
};
struct PixelShaderInput
{
float4 position : SV_POSITION;
float2 uv : TEXCOORD0;
float4 colour: COLOR0;
};
//--------------------------------------------------------------------------------------
// Vertex Shader
//--------------------------------------------------------------------------------------
PixelShaderInput VS( VertexShaderInput Input )
{
PixelShaderInput result;
float4 pos;
pos.xyz=Input.IN_position;
pos.w=1.0;
// Transform the vertex position into projection space.
pos = mul(pos, worldmatrix);
pos = mul(pos, viewmatrix);
pos = mul(pos, projectionmatrix);
result.uv = Input.IN_uv;
result.colour = (Input.IN_vertexcolour / 255.0f) * (displayColour / 255.0f);
result.position = pos;
return result;
}
//--------------------------------------------------------------------------------------
// Pixel Shader
//--------------------------------------------------------------------------------------
float4 PS( PixelShaderInput input ) : SV_Target
{
//float4 textureSample = DiffuseMap.Sample(linearSampler, input.uv) * input.colour ;
float4 textureSample = input.colour ;
return textureSample;
/// return float4( 1.0f, 1.0f, 0.0f, 1.0f ); // Yellow, with Alpha = 1
}
gles1_vertex_unlit_notexture:
Texture2D DiffuseMap : register(t0);
SamplerState linearSampler : register(s0);
cbuffer simpleConstantBuffer : register( b0 )
{
matrix worldmatrix;
matrix viewmatrix;
matrix projectionmatrix;
matrix texturematrix;
float4 displayColour;
};
struct VertexShaderInput
{
float3 IN_position : POSITION0;
float3 IN_normal : NORMAL0;
float3 IN_tangent : NORMAL1;
float3 IN_bitangent : NORMAL2;
float4 IN_vertexcolour : COLOR0;
float2 IN_uv : TEXCOORD0;
};
struct PixelShaderInput
{
float4 position : SV_POSITION;
float2 uv : TEXCOORD0;
float4 colour: COLOR0;
};
//--------------------------------------------------------------------------------------
// Vertex Shader
//--------------------------------------------------------------------------------------
PixelShaderInput VS( VertexShaderInput Input )
{
PixelShaderInput result;
float4 pos;
pos.xyz=Input.IN_position;
pos.w=1.0;
// Transform the vertex position into projection space.
pos = mul(pos, worldmatrix);
pos = mul(pos, viewmatrix);
pos = mul(pos, projectionmatrix);
result.uv = Input.IN_uv;
result.colour = (Input.IN_vertexcolour / 255.0f) * (displayColour / 255.0f);
result.position = pos;
return result;
}
//--------------------------------------------------------------------------------------
// Pixel Shader
//--------------------------------------------------------------------------------------
float4 PS( PixelShaderInput input ) : SV_Target
{
//float4 textureSample = DiffuseMap.Sample(linearSampler, input.uv) * input.colour ;
float4 textureSample = input.colour ;
return textureSample;
/// return float4( 1.0f, 1.0f, 0.0f, 1.0f ); // Yellow, with Alpha = 1
}
Cleanup > To do
Games > Games by content > Games with debugging functions
Games > Games by content > Games with hidden developer messages
Games > Games by content > Games with hidden development-related text
Games > Games by content > Games with uncompiled source code
Games > Games by developer > Games developed by Halfbrick Studios
Games > Games by platform > Android games
Games > Games by platform > IOS games
Games > Games by publisher > Games published by Halfbrick Studios
Games > Games by release date > Games released in 2011
