In order to edit this wiki, you must register and verify your account.

Bayonetta

From Cemu Wiki
Jump to:navigation Jump to:search
Bayonetta
Bayonetta wii u.jpeg
Developer(s) PlatinumGames
Publisher(s) Nintendo
Series Bayonetta
Release date(s) JP September 20, 2014
NA October 24, 2014
EU October 24, 2014
AUS October 25, 2014
Genre(s) Action, Hack and slash
Mode(s) Single-player
Input methods GamePad, Pro Controller, Classic Controller
Compatibility PlayablePlayable
GameIDs
See also...

Search Google
Wikipedia page

Bayonetta is a third-person action game developed by PlatinumGames and published first by Sega for Xbox 360 and PlayStation 3, and later Nintendo for Wii U. The Wii U version was released alongside its sequel, Bayonetta 2, in September 2014 in Japan and October 2014 in North America and Europe.

Known Issues

Entering the Save/Load Game interface crashes Cemu

  • Autosave functionality is unaffected by this error. Game progress can be resumed after exiting the game by selecting Continue from the Main menu.

Lighting is excessively bright

Cutscene audio and video is not synchronized

  • Setting SpeedHack to 0.5 with the external program Cheat Engine can synchronize cutscene playback.

Accessing the Gallery in the Extra menu loads to a black screen

  • The gallery can be previewed when it is first unlocked. Some selections in the gallery do not display correctly. Attempting to re-access the gallery after the first preview prompts this issue.

Loading Issues

  • As of CEMU V1.11 the game will hang and slowly leak memory while loading. Tester let it run for an hour and it used 6 GB of RAM with no changes.


Configuration

To reduce the bloom lighting effect, first create a Graphics Pack for Bayonetta. Follow this tutorial. You will need to supply your rules.txt file with the titleId for your game version. The following example can be used for all 3 game region titleIds:

titleIds = 5000010157f00, 5000010157e00, 500001014db00

Next create a new text file named c9b60c9de9de5e03_0000000000000079_ps_source.txt. Copy the following into the file:

#version 400
#extension GL_ARB_texture_gather : enable
// shader c9b60c9de9de5e03

const float bloomFactor = 0.99; // bloom strength

uniform ivec4 uf_remappedPS[1];
uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4e11800 res 320x176x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0
in vec4 passParameter0;
layout(location = 0) out vec4 passPixelColor0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
	return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
	return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R123i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
int loopStuckCounter = 0;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0i = floatBitsToInt(passParameter0);
R4i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(((R0i.xy)).xyzw)*bloomFactor)-0.02);
// 0
R1i.x = R0i.x;
PV0i.x = R1i.x;
R1i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0x3c400000));
PV0i.y = R1i.y;
R2i.z = R0i.x;
PV0i.z = R2i.z;
R5i.w = uf_remappedPS[0].w;
PV0i.w = R5i.w;
R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0x3bc00000));
PS0i = R2i.y;
// 1
R3i.x = R0i.x;
PV1i.x = R3i.x;
R3i.y = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(0x3c400000)));
PV1i.y = R3i.y;
R0i.z = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(0x3bc00000)));
PV1i.z = R0i.z;
R1i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.xy)).xyzw);
R2i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.zy)).xyzw);
R3i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R3i.xy)).xyzw);
R0i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xz)).xyzw);
// 0
R123i.x = floatBitsToInt((intBitsToFloat(R1i.w) * intBitsToFloat(0x3ee66666) + intBitsToFloat(R4i.w)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(0x3ee66666) + intBitsToFloat(R4i.x)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(0x3ee66666) + intBitsToFloat(R4i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(0x3ee66666) + intBitsToFloat(R4i.y)));
PV0i.w = R123i.w;
// 1
R123i.x = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(0x3f4ccccd) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(0x3f4ccccd) + intBitsToFloat(PV0i.z)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(0x3f4ccccd) + intBitsToFloat(PV0i.w)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(0x3f4ccccd) + intBitsToFloat(PV0i.y)));
PV1i.w = R123i.w;
// 2
R123i.x = floatBitsToInt((intBitsToFloat(R3i.z) * intBitsToFloat(0x3ee66666) + intBitsToFloat(PV1i.y)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R3i.w) * intBitsToFloat(0x3ee66666) + intBitsToFloat(PV1i.x)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R3i.y) * intBitsToFloat(0x3ee66666) + intBitsToFloat(PV1i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R3i.x) * intBitsToFloat(0x3ee66666) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
// 3
R123i.x = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(0x3f4ccccd) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R0i.y) * intBitsToFloat(0x3f4ccccd) + intBitsToFloat(PV0i.z)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R0i.x) * intBitsToFloat(0x3f4ccccd) + intBitsToFloat(PV0i.w)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R0i.w) * intBitsToFloat(0x3f4ccccd) + intBitsToFloat(PV0i.y)));
PV1i.w = R123i.w;
// 4
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(0x3e924925)));
PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(0x3e924925)));
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(0x3e924925)));
PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(0x3e924925)));
// 5
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.w)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.w)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.w)));
// 6
R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[0].x)));
PV0i.x = R5i.x;
R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[0].y)));
PV0i.y = R5i.y;
R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[0].z)));
PV0i.z = R5i.z;
// export
passPixelColor0 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w));
}

Place this file in the new graphic pack folder along with the rules.txt file, and run Cemu. In the Cemu interface, go to Options -> Graphic Packs and enable the graphic pack you created. If successful, the excessively bright lighting now should be dimmed to an appropriate level.

  • OpenGL api recommended as of Cemu 1.17.0d

Gameplay Videos

Testing

Testing
1.4
Version OS Version Region CPU GPU Tester FPS Status Additional Notes
1.4.0c Windows 10 EUR Intel Core i7 6700K @ 4.2GHz NVIDIA GeForce GTX 970 chrisfand N/A Unplayable Stuck on "Loading" screen during startup.
1.4.1 Windows 7 EUR AMD FX-6350 ATi Radeon 5770 Hydris 10-60 Loads Main menu runs 60 fps, but has visual glitches. Loading takes over a minute, and even then nothing is properly visible. Saving doesn't work. No audio.
1.4.2b Windows 7 EUR AMD FX-6350 ATI Radeon 5770 Hydris 8-60 Loads Saving takes either over 15 minutes or never happens. Intro level is not properly rendered. First cutscene heavily flickers. Infinite loading for mission start screen.
1.5
Version OS Version Region CPU GPU Tester FPS Status Additional Notes
1.5.1 Windows 10 EUR Intel Core i7-6700HQ Nvida GTX 950m SwaggyP 60 Loads Loads for like 5 minutes then tells u that a controller is disconnected then even if u press something it doesnt react to it
1.5.2 Windows 10 EUR Intel Core i5 3470 Nvidia Gtx 970 SomaCruz97 60 Unplayable it will load but shows a white screen
1.6
Version OS Version Region CPU GPU Tester FPS Status Additional Notes
1.6.0 Windows 10 EUR Intel Core i7-4710HQ Nvidia Geforce GTX860M herohiralal 17 Runs Minor graphical glitches. Game runs in slow-motion because of low framerate.
1.6.0 Windows 7 USA AMD FX 8320 @ 4.4GHz AMD Radeon R9 390 Darkemaste 15-18 Runs Performance appears to be rather consistent in-game, audio is slowed down.
1.6.0 Windows 7 EUR Intel Core i7-920 Nvidia GTX970 Asper 12 Runs Some glitches+no sound
1.6.1 Windows 10 USA Intel Core i3 3220 Nvidia GTX670 Roberto 60 Unplayable
1.6.1 Windows 7 USA AMD FX 8320 @ 4.4GHz AMD Radeon R9 390 Darkemaste 18-20 Playable Performance appears to be rather consistent in-game, audio is no longer slowed down. Appears to have major lighting issues. (lighting is excessively bright)
1.6.2 Windows 7 USA AMD FX 8320 @ 4.4GHz AMD Radeon R9 390 Darkemaste 45-55 Playable Substantially increased performance and stability. Cutscenes limited to/capped at 30fps.

Lighting issues in certain areas are still present. (lighting is excessively bright)

1.7
Version OS Version Region CPU GPU Tester FPS Status Additional Notes
1.7.3d Windows 10 EUR Intel Core i5-6300HQ Nvidia GTX 960M Nes370 45-60 Playable Menu graphical errors are significantly reduced from previous versions.
1.7.3d Windows 10 USA Intel Core i7-6700k (4.7GHz OC) Nvidia GTX 1070 Bloodhorde 55-60 Playable Opening movie doesn't play/Game title screen has a constant sound/Sound desync during cutscenes/Lighting issues(too bright)
1.9
Version OS Version Region CPU GPU Tester FPS Status Additional Notes
1.9.1 Windows 10 US AMD FX-9370 @ 4.4GHz Nvidia GTX 1070 Daemon_necis 18-30 Runs
1.11
Version OS Version Region CPU GPU Tester FPS Status Additional Notes
1.11.4b Windows 10 US AMD FX-9370 Nvidia GTX 1070 dsjrb 60 Loads Loads main screen with large graphical issues. Game will hang on any loading screen. It will use about as much CPU and GPU as running it normally, however it will slowly leak RAM. Tested for 1 hour, leaked 6GB of RAM with no changes on screen.
1.15
Version OS Version Region CPU GPU Tester FPS Status Additional Notes
1.15.0e Windows 10 EU Intel i7-3770 AMD Radeon R9 200 Series Daemon_necis 18-30 Loads Loads, but shows a lot of graphic errors in menu and game.
1.16
Version OS Version Region CPU GPU Tester FPS Status Additional Notes
1.16.1 Windows 10 USA AMD FX-8320E NVidia GTX 1060 6GB PickleRick! 60 Loads Vulkan API, Stuck at "white screen" before menu
1.17
Version OS Version Region CPU GPU Tester FPS Status Additional Notes
1.17.0d Windows 10 US AMD FX-8320E NVidia GTX 1060 6GB PickleRick! 35-45 Playable OpenGl mode is more stable than Vulkan. The fps is the same but Vulkan demonstrated more visual glitches
1.18
Version OS Version Region CPU GPU Tester FPS Status Additional Notes
1.18.0c Windows 10 US Intel Core i5-2300 NVidia GTX 560 1024MB Glebman 50-60 Playable Played on my old weak PC just fine. Walked through the whole game in 1K resolution OpenGL API. The game still has some graphical issues in cutscenes. Occasional flickering of graphics in menus and in gameplay.
1.21
Version OS Version Region CPU GPU Tester FPS Status Additional Notes
1.21.1b Windows 10 EU AMD Ryzen 5 3600 NVidia GTX 1660 Super 6 GB Bergory55 60 Playable Flawless combat performance, lighting effects and such. Major visual glitches during cutscenes. Using Vulkan or OpenGL has no meaningful impact on performance, but the cutscenes audio seemed to de-synchronize more often with Vulkan.