Jump to content

Block rotation reverse selection


w00kien00kie

Recommended Posts

Its something thats been mentioned a few times recently and thought id have a look into it, the ability to go back a rotation when clicking through a blocks rotations. We all know how frustrating it is when youve just passed the rotation you wanted and have to click through another 20 rotations until you get the you wanted!

 

Well the fix is here .... in fact its always been here, its in the core code and functioning!! Currently to reverse rotation you need to do the following press R (Reload bound) + LeftMouseClick at the same time. It works but does need precise timing to work. The issue is that R is bound to pop up the Radial menu at the same time and hence is just very clunky. As said this is already in the vanilla game and works.

 

Ive uploaded a mod to fix this clunkyness in the vanilla game. It will now reverse on LeftShift+LeftMouse click instead of Reload+LeftMouse. It actually uses the command bound to the Run key so if youve rebound this you will have to use this key instead of LeftShift.

 

Be aware this is a dll change and hence counts as full overhaul mod (even if it is just 1 file) and hence youll need to run the non EAC exe to run the game (i.e. 7DaysToDie.exe)

 

New dll can be downloaded here : https://gitlab.com/wookienookie/a18_vanilla_mods/blob/master/7DaysToDie_Data/Managed/Assembly-CSharp.dll

 

Overwrite the following file (preferably in a copy of the vanilla of game) : <steam_games_folder>\7 Days To Die\7DaysToDie_Data\Managed\Assembly-CSharp.dll

 

This is for version A18 b155

 

WARNING : This is a simple change and shouldnt affect game saves but only use at your own risk :wink:

 

- - - Updated - - -

 

For other devs this is the line of code that needs changing :

 

Class : BlockToolSelection

Method : ExecuteAttackAction

Line : itemBlockInventoryData.rotation = Block.list[itemBlockInventoryData.itemValue.ToBlockValue().type].BlockPlacementHelper.LimitRotation(itemBlockInventoryData.mode, ref itemBlockInventoryData.localRot, _data.hitInfo.hit, !playerActions.Reload.IsPressed && !playerActions.PermanentActions.Reload.IsPressed, bv, bv.rotation);

 

Change to the following :

itemBlockInventoryData.rotation = Block.list[itemBlockInventoryData.itemValue.ToBlockValue().type].BlockPlacementHelper.LimitRotation(itemBlockInventoryData.mode, ref itemBlockInventoryData.localRot, _data.hitInfo.hit, !playerActions.Run.IsPressed, bv, bv.rotation);

 

Ill look at getting a DMT Harmony mod built for this later today as well.

Link to comment
Share on other sites

........

 

For other devs this is the line of code that needs changing :

 

Class : BlockToolSelection

Method : ExecuteAttackAction

Line : itemBlockInventoryData.rotation = Block.list[itemBlockInventoryData.itemValue.ToBlockValue().type].BlockPlacementHelper.LimitRotation(itemBlockInventoryData.mode, ref itemBlockInventoryData.localRot, _data.hitInfo.hit, !playerActions.Reload.IsPressed && !playerActions.PermanentActions.Reload.IsPressed, bv, bv.rotation);

 

Change to the following :

itemBlockInventoryData.rotation = Block.list[itemBlockInventoryData.itemValue.ToBlockValue().type].BlockPlacementHelper.LimitRotation(itemBlockInventoryData.mode, ref itemBlockInventoryData.localRot, _data.hitInfo.hit, !playerActions.Run.IsPressed, bv, bv.rotation);

 

Ill look at getting a DMT Harmony mod built for this later today as well.

Thanks You!

Link to comment
Share on other sites

  • 1 month later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...