The need to change or edit the file based on the current act was not very appealing. Therefore i changed the code in my version a litte. The default guimap.ws line 320 was a useful guide here.
At first glance this worked well in act1. But i do not have an act2 savegame yet. Therefore i can not guarantee that this will work in act2 too. I'll try to remember to update this post.
My code changes: // define some variables var mapFile: string; // bigger version of minimap file - not used here var miniMapFile : string; // minimap file - not used here var flipX: bool;// is x flipped - not used here var flipY: bool; // is y flipped - this is important
//reset rotations/fixed minimap //cameraRot.Yaw = 180.0;//rotation for act 1 //cameraRot.Yaw = 0.0;//rotation for act 2 //Dynamic version theHud.GetMapInfo( thePlayer.GetCurrentMapId(), theHud.m_mapCommon.GetMapId(), mapFile, miniMapFile, flipX, flipY ); //This will set flipY. if ( flipY ) cameraRot.Yaw = 180; else cameraRot.Yaw = 0;
nice this worked on mine. just to clarify, the modded file was the:
base_scripts\game\gui\guihud.ws around line 490ish where it start with defining some original vars. specifically inside the function: "final function SendNavigationDataToGUI( master : CEntity ){<NEW VARS HERE> --ORIGINAL VARS-- <DYNAMIC MOD HERE> --SOME CODE--}",
and funny enough in my case I had to define the additional vars around those var compilation otherwise the compiler doesn't understand the "var" notation
then you can continue with the actual "Dynamic version", mine was at line 522(end of original var compilation defining, after the original var x,y defined)
currently I'm at chapter 1 so haven't tried the dynamism of the code but it worked fine at ch 1
I''ve found a way to automatically detect whether the map needs to be flipped or not. So there is no need to change "base_scripts.dzip" when going from Act1 to Act2: // MY TWEAK: Lock Minimap North up var mapFile : string; var miniMapFile : string; var flipX, flipY : bool; theHud.GetMapInfo( thePlayer.GetCurrentMapId(), theHud.m_mapCommon.GetMapId(), mapFile, miniMapFile, flipX, flipY ); if ( flipY ) { cameraRot.Yaw = 180.0; } else { cameraRot.Yaw = 0.0; } Oh, I just saw that someone already found the same lines in "guimap.ws". Yep, it indeed works in Act1 and Act2!
I second what Selenarious is saying. The next best thing would be to send your own version of the modified file so we could compare the differences between the vanilla one and the modified one ! (I've sent you a pm about it too.)
Can you tell exactly where to put this code? Tried to insert into the same line and the same file where the author of the mod advises, but the game does not start and gives an error.
HERE IS HOW IT IS DONE: You don't need this mod, just use Gibbed RED Tools With UI(https://www.nexusmods.com/witcher2/mods/1027) to unpack base_scripts.dzip located in "The Witcher 2\CookedPC" THEN YOU NEED TO EDIT THE FILE "guihud.ws" IN "base_scripts\game\gui" with vscode/notepad.
Below "y = ( playerPos.Y-theHud.miniMapMinY ) * theHud.miniMapScaleY;" you need to add the code this dude post. Save the file, repack it with Gibbed RED Tools and replace the original in "The Witcher 2\CookedPC"(if it's still there)
Is this the only one that needs to be changed? I add the code, but it's still rotate. I use the original `base_scripts.dzip` file, don't know which MOD is still in conflict with, or did this method just fail? By the way, I'm playing the GOG EE.
Honestly bless you for not only making this mod, but giving us such detailed directions to help us mod the scripts ourselves. That garbage spinning compass was driving me insane. I'm running a heavily modded game, so it was such an enormous help to be able to have that guide to go in and fix up the relevant line myself. Which means I didn't even need to download the mod, but I wanted to anyway just to give you the credit/traffic/endorsement. Thank you again!
Your download that is supposed to be turned 180 degrees for act 1 is just the same as the 0 degrees for act 2. The minimap-only version is correct, but downloading the act 1 full version gives me "base_scripts_minimap34.zip-756-1-0", and my minimap is upside down.
Is there a chance of getting a version that only changes the mini-map? I want to avoid modding the Witcher beyond what is was originally made to be, I just can't stand the rotating map. Much appreciated.
Sorry I know it's few months late, but I wasn't playing Witcher lately, and i didn't get any message on email about your post. Anyway I added optional files with only map rotation fix included. You probably finished your playtrough already ( I still haven't :/ ), but maybe it will come handy one day, if you decide to go again
I do not understand. I also wanted a version with only the minimap nonrotating but you have an act 1 that looks like it says that; then act 2 looks like it says it rotates 180. shrug. Is there a version for both acts that does not rotate without other files? I really hate that.
19 comments
At first glance this worked well in act1. But i do not have an act2 savegame yet. Therefore i can not guarantee that this will work in act2 too. I'll try to remember to update this post.
My code changes:
// define some variables
var mapFile: string; // bigger version of minimap file - not used here
var miniMapFile : string; // minimap file - not used here
var flipX: bool;// is x flipped - not used here
var flipY: bool; // is y flipped - this is important
//reset rotations/fixed minimap
//cameraRot.Yaw = 180.0;//rotation for act 1
//cameraRot.Yaw = 0.0;//rotation for act 2
//Dynamic version
theHud.GetMapInfo( thePlayer.GetCurrentMapId(), theHud.m_mapCommon.GetMapId(), mapFile, miniMapFile, flipX, flipY ); //This will set flipY.
if ( flipY ) cameraRot.Yaw = 180; else cameraRot.Yaw = 0;
base_scripts\game\gui\guihud.ws around line 490ish where it start with defining some original vars. specifically inside the function:
"final function SendNavigationDataToGUI( master : CEntity ){<NEW VARS HERE> --ORIGINAL VARS-- <DYNAMIC MOD HERE> --SOME CODE--}",
and funny enough in my case I had to define the additional vars around those var compilation otherwise the compiler doesn't understand the "var" notation
then you can continue with the actual "Dynamic version", mine was at line 522(end of original var compilation defining, after the original var x,y defined)
currently I'm at chapter 1 so haven't tried the dynamism of the code but it worked fine at ch 1
// MY TWEAK: Lock Minimap North up
Oh, I just saw that someone already found the same lines in "guimap.ws". Yep, it indeed works in Act1 and Act2!var mapFile : string;
var miniMapFile : string;
var flipX, flipY : bool;
theHud.GetMapInfo( thePlayer.GetCurrentMapId(), theHud.m_mapCommon.GetMapId(), mapFile, miniMapFile, flipX, flipY );
if ( flipY ) {
cameraRot.Yaw = 180.0;
} else {
cameraRot.Yaw = 0.0;
}
Could you kindly tell me where exactly I need to copy and paste your above lines?
You don't need this mod, just use Gibbed RED Tools With UI(https://www.nexusmods.com/witcher2/mods/1027) to unpack base_scripts.dzip located in "The Witcher 2\CookedPC"
THEN YOU NEED TO EDIT THE FILE "guihud.ws" IN "base_scripts\game\gui" with vscode/notepad.
Below "y = ( playerPos.Y-theHud.miniMapMinY ) * theHud.miniMapScaleY;" you need to add the code this dude post.
Save the file, repack it with Gibbed RED Tools and replace the original in "The Witcher 2\CookedPC"(if it's still there)
Sigh. Stupid minimap
I use the original `base_scripts.dzip` file, don't know which MOD is still in conflict with, or did this method just fail?
By the way, I'm playing the GOG EE.
thanks for mods