Index: /Daodan/src/patches/Patches.c
===================================================================
--- /Daodan/src/patches/Patches.c	(revision 874)
+++ /Daodan/src/patches/Patches.c	(revision 875)
@@ -76,4 +76,21 @@
 	return result; 
 }
+
+
+int FLrHook_DebugNameTextureInit(short width, short height, int type, int allocated, int flags, char* name, void** output)
+{
+	//flags = (1 << 10);
+	type = 1;
+	//DDrPatch_Byte( 0x005EB83C + 3, 0xff );
+	DDrPatch_Int32((int*)(OniExe + 0x001EB83C), 0xFF000000 );
+	return M3rTextureMap_New(width, height, type, allocated, flags, name, output);
+}
+
+short FLrHook_DebugNameShadeHack( Character* Char )
+{
+	return TSrContext_SetShade(*(void**)(OniExe + 0x001EB844), ONrCharacter_GetHealthShade( Char->Health, Char->MaxHealth ));
+	//return TSrContext_SetShade(*(void**)0x005EB844, 0xFFFFFFFF);
+}
+
 
 // Disable UUrPlatform_Initalize/Terminate, this enables the Alt-Tab and the
@@ -418,4 +435,28 @@
 }
 
+//Fix crappy ai2_shownames
+void DD_Patch_ShowNames()
+{
+	//Set distance above head to 4.0
+	DDrPatch_Int32((int*)(OniExe + 0x0008C998), 0x005296C8);
+	//texture height
+	DDrPatch_Byte((char*)(OniExe + 0x0008C9DF), 0x3F );
+	//texture	width
+	DDrPatch_NOOP((char*)(OniExe + 0x0008C9CA), 6 );
+
+/*
+// Crashes game.
+	//Set the text color to whatever we like ;)
+	DDrPatch_NOOP((char*)(OniExe + 0x0008C898), 6 );
+	DDrPatch_Byte((char*)(OniExe + 0x0008C898), 0x8B );
+	DDrPatch_Byte((char*)(OniExe + 0x0008C899), 0xCE );
+
+	DDrPatch_MakeCall((void*)(OniExe + 0x0008C8A3), FLrHook_DebugNameShadeHack);
+	
+	//Make the background black for additive blending
+	DDrPatch_MakeCall((void*)(OniExe + 0x0008C802), FLrHook_DebugNameTextureInit );
+*/
+}
+
 bool DD_Patch_Init()
 {
@@ -520,25 +561,5 @@
 	DD_Patch_PrintWarning();
 
-	//Fix crappy ai2_shownames
-	if(1)
-	{
-		//Set distance above head to 4.0
-		DDrPatch_Int32((int*)(OniExe + 0x0008C998), 0x005296C8);
-		//texture height
-		DDrPatch_Byte((char*)(OniExe + 0x0008C9DF), 0x3F );
-		//texture	width
-		DDrPatch_NOOP((char*)(OniExe + 0x0008C9CA), 6 );
-/* Crashes game. Perhaps only valid with the additional FLr-callhooks? Those
-   didn't exist in source though.
-		//Set the text color to whatever we like ;)
-		DDrPatch_NOOP((char*)(OniExe + 0x0008C898), 6 );
-		DDrPatch_Byte((char*)(OniExe + 0x0008C898), 0x8B );
-		DDrPatch_Byte((char*)(OniExe + 0x0008C899), 0xCE );
-*/
-//FLATLINE?		DDrPatch_MakeCall((void*)(OniExe + 0x0008C8A3), FLrHook_DebugNameShadeHack);
-		
-		//Make the background black for additive blending
-//FLATLINE?		DDrPatch_MakeCall((void*)(OniExe + 0x0008C802), FLrHook_DebugNameTextureInit );
-	}
+	DD_Patch_ShowNames();
 
 	if(1)
