🎄 Merry Christmas, TCRF! 🎄
Fruit Ninja: Puss In Boots
This game is defunct. Do note the game no longer works at all without modifications. This is most likely due to the game's servers being shut down. As a result, further official developments with the game are unlikely to happen. |
Fruit Ninja: Puss In Boots |
---|
Developer: Halfbrick Studios This game has uncompiled source code. |
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.
Contents
Compiled Windows executables
To do:
|
The assets.zip archive containing the data in the iOS version has four compiled Windows executables of the game, being for the iPhone Lite/Free, iPad/HD Lite/Free and full versions of the two for both devices, all are debug enabled. They all have a Fruit Ninja icon, instead of this game. Despite being built for iOS devices, Android assets can also be used. The Lite/Free and iPad builds use xgs audio files instead of ogg and wav.pcm, they also read string tables starting with translations instead of FruitNinjaPussInBoots. The iPhone build has a lot more printouts compared to the other builds.
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)
|
Debug Menu
Pressing 'D' on the keyboard pauses game logic and shows a debug menu with the following options. Unfortunately the debug folder with the textures is missing, making no textures visible, you can find it along with readable textures in the Final Android version. You can change the input by altering Input/Input.txt. Every option aside from QUIT plays a click sound.
Option | In-game effect | ||||||
---|---|---|---|---|---|---|---|
FRAME STEP | Advances one frame. | ||||||
CHALLENGE SELECT | Shows a menu with the following options:
| ||||||
PARTICLE EDITOR | Unknown? Doesn't appear to work on iPhone. | ||||||
FORCE_RESULT | Instant result toggle. Can be set to NO FORCE RESULT, being using standard game logic to determine a win or a loss. FORCE PASS forcing a success or FORCE FAIL forcing a failure, In Classic, forces a Game Over. | ||||||
UNLOCK STASH | Stash unlock toggle. Can be set to STASH NORMAL which follows original requirements while STASH UNLOCKED unlocks everything available temporarily. | ||||||
UI EDIT MODE | Unknown? | ||||||
CHANGE LANGUAGE | Changes the language of the game. | ||||||
DRAW COLLISION | See #Collision Display. A button call rather than a keypress. Doesn't appear to work on iPhone. | ||||||
LITE UPSELL MODE | Can be set to UPSELL NORMAL, FN UPSELL or JETPACK UPSELL. | ||||||
GIVE HEART | Adds a heart to your life meter. | ||||||
GIVE BEAN | Adds a Magic Bean to the playfield. | ||||||
GIVE PINATA | Adds a Pinata to the playfield. | ||||||
INFINITE PINATA TIME | Grants infinite time to break the Pinata. | ||||||
QUIT | Closes the Debug Menu. |
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 }
The Shrek series
| |
---|---|
PlayStation | Treasure Hunt |
PlayStation 2 | SuperSlam (Demo) • Shrek the Third • Shrek's Carnival Craze |
PlayStation 3 | Forever After |
PlayStation Portable | Shrek the Third |
Xbox | Shrek • SuperSlam |
Xbox 360 | Shrek the Third • Forever After |
GameCube | SuperSlam |
Wii | Shrek the Third • Shrek's Carnival Craze • Forever After |
Game Boy Color | Fairy Tale Freakdown |
Game Boy Advance | Swamp Kart Speedway • Hassle at the Castle • Reekin' Havoc • Shrek 2 • Beg for Mercy • SuperSlam • Smash n' Crash Racing |
Windows | Twisted Fairy Tale Fun • Shrek 2 • SuperSlam • Shrek the Third • Shrek's Carnival Craze • Forever After |
Nintendo DS | SuperSlam • Smash n' Crash Racing • Ogres and Dronkeys (Prototype) • Shrek's Carnival Craze |
iOS, Android | Shrek Kart HD • Fruit Ninja: Puss In Boots |
Adobe Flash | Charming Dragon • Fairytale Lanes • Tickle Fight |
V.Smile | Dragon's Tale |
See Also | |
DreamWorks |
The Fruit Ninja series
| |
---|---|
iOS/Android | Fruit Ninja • Puss In Boots • Math Master |
- Pages missing developer references
- Games developed by Halfbrick Studios
- Pages missing publisher references
- Games published by Halfbrick Studios
- IOS games
- Android games
- Pages missing date references
- Games released in 2011
- Games released in October
- Games released on October 20
- Games with uncompiled source code
- Games with hidden developer messages
- Games with hidden development-related text
- Games with debugging functions
- To do
- Shrek series
- Fruit Ninja series
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
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
Games > Games by release date > Games released in October
Games > Games by release date > Games released in October > Games released on October 20
Games > Games by series > Fruit Ninja series
Games > Games by series > Shrek series