Divinity: Original Sin (Classic)

Divinity: Original Sin (Classic)

Welcome to The Divinity Engine
Here you can find and create custom mods for Divinity: Original Sin
Learn More
Sirius Jul 13, 2014 @ 9:06am
Mod to zoom out and change the angle of the camera
So someone in the larian forum (the user Too Latte and cielos) made this awesome mod, bare in mind that it needs cheatengine to work.

Create a file with the extension .CT and add this code

Then use it with the cheatengine, you can enable or disable the angle camera and the zoom it zoom out, the angle works with shift and + or -

<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>567</ID> <Description>"Camera Tweak"</Description> <Options moHideChildren="1"/> <LastState Activated="1"/> <Color>FF0000</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat aobscan(zoommaxcheckAOB,D9 05 ** ** ** ** D8 93 ** ** ** ** DF E0 F6 C4 05 7A 08) registersymbol(zoommaxcheckAOB) label(iCameraZoomOffset) registersymbol(iCameraZoomOffset) zoommaxcheckAOB+8: iCameraZoomOffset: [DISABLE] //code from here till the end of the code will be used to disable the cheat unregistersymbol(zoommaxcheckAOB) unregistersymbol(iCameraZoomOffset) </AssemblerScript> <CheatEntries> <CheatEntry> <ID>560</ID> <Description>"Zoom Out More"</Description> <Options moHideChildren="1"/> <LastState Activated="1"/> <Color>FF0000</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat label(pCamera) registersymbol(pCamera) label(fCustomZoomMax) registersymbol(fCustomZoomMax) label(fZoomOutMax) registersymbol(fZoomOutMax) alloc(newmem,2048) label(returnhere) label(originalcode) label(exit) newmem: //this is allocated memory, you have read,write,execute access //place your code here mov [pCamera],ebx fstp st(0) fld dword ptr [fCustomZoomMax] mov eax,[iCameraZoomOffset] fcom dword ptr [ebx+eax] originalcode: fnstsw ax test ah,05 exit: jmp returnhere /// pCamera: dd 0 fCustomZoomMax: dd (float)200.0 /// zoommaxcheckAOB+c: //"EoCApp.exe"+147D2B: jmp newmem returnhere: [zoommaxcheckAOB+2]: fZoomOutMax: [DISABLE] //code from here till the end of the code will be used to disable the cheat dealloc(newmem) zoommaxcheckAOB+c: //"EoCApp.exe"+147D2B: db DF E0 F6 C4 05 //Alt: fnstsw ax //Alt: test ah,05 unregistersymbol(pCamera) unregistersymbol(fCustomZoomMax) unregistersymbol(fZoomOutMax) </AssemblerScript> <CheatEntries> <CheatEntry> <ID>566</ID> <Description>"Current Zoom"</Description> <LastState Value="??" Activated="0" RealAddress="00000000"/> <Color>0000FF</Color> <VariableType>Float</VariableType> <Address>pCamera</Address> <Offsets> <Offset>45C</Offset> </Offsets> <Hotkeys> <Hotkey> <Action>Set Value</Action> <Keys> <Key>16</Key> <Key>8</Key> </Keys> <Value>19</Value> <ID>0</ID> </Hotkey> </Hotkeys> </CheatEntry> <CheatEntry> <ID>568</ID> <Description>"Custom Zoom Max"</Description> <LastState Value="??" Activated="0" RealAddress="077B0024"/> <Color>0000FF</Color> <VariableType>Float</VariableType> <Address>fCustomZoomMax</Address> </CheatEntry> <CheatEntry> <ID>561</ID> <Description>"Game Default Zoom Out Max (Reference)"</Description> <LastState Value="??" Activated="0" RealAddress="018B5550"/> <Color>000080</Color> <VariableType>Float</VariableType> <Address>fZoomOutMax</Address> </CheatEntry> </CheatEntries> </CheatEntry> <CheatEntry> <ID>563</ID> <Description>"Camera Angle Tweak"</Description> <Options moHideChildren="1"/> <LastState Activated="1"/> <Color>FF0000</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat aobscan(cameraanglereadAOB,D9 5C 24 1C 8B 54 24 1C D9 44 24 54 89 97) registersymbol(cameraanglereadAOB) label(fCustomCameraAngle) registersymbol(fCustomCameraAngle) alloc(newmem,2048) label(returnhere) label(originalcode) label(exit) newmem: //this is allocated memory, you have read,write,execute access //place your code here fstp st(0) fld dword ptr [fCustomCameraAngle] fstp dword ptr [esp+1C] originalcode: //fstp dword ptr [esp+1C] mov edx,[esp+1C] exit: jmp returnhere /// fCustomCameraAngle: dd (float)1.0 /// cameraanglereadAOB: //"EoCApp.exe"+149D98: jmp newmem nop nop nop returnhere: [DISABLE] //code from here till the end of the code will be used to disable the cheat dealloc(newmem) cameraanglereadAOB: //"EoCApp.exe"+149D98: db D9 5C 24 1C 8B 54 24 1C //Alt: fstp dword ptr [esp+1C] //Alt: mov edx,[esp+1C] unregistersymbol(cameraanglereadAOB) unregistersymbol(fCustomCameraAngle) </AssemblerScript> <Hotkeys> <Hotkey> <Action>Activate</Action> <Keys> <Key>16</Key> <Key>106</Key> </Keys> <ID>0</ID> </Hotkey> <Hotkey> <Action>Deactivate</Action> <Keys> <Key>16</Key> <Key>111</Key> </Keys> <ID>1</ID> </Hotkey> </Hotkeys> <CheatEntries> <CheatEntry> <ID>565</ID> <Description>"Shift -: Look Down || Shift +: Loop Up"</Description> <LastState Value="??" Activated="0" RealAddress="10090015"/> <Color>000080</Color> <VariableType>Float</VariableType> <Address>fCustomCameraAngle</Address> <Hotkeys> <Hotkey> <Action>Decrease Value</Action> <Keys> <Key>16</Key> <Key>107</Key> </Keys> <Value>0.1</Value> <Description>Tilt Down</Description> <ID>0</ID> </Hotkey> <Hotkey> <Action>Increase Value</Action> <Keys> <Key>16</Key> <Key>109</Key> </Keys> <Value>0.1</Value> <Description>Tilt Up</Description> <ID>1</ID> </Hotkey> </Hotkeys> </CheatEntry> </CheatEntries> </CheatEntry> </CheatEntries> </CheatEntry> </CheatEntries> </CheatTable>
Last edited by Sirius; Jul 13, 2014 @ 3:29pm
< >
Showing 1-1 of 1 comments
Shivait Sep 29, 2014 @ 10:14am 
неработает
< >
Showing 1-1 of 1 comments
Per page: 1530 50