D3.Pheonix
28.11.2017, 21:36
Задался этим вопросом, нашёл где-то код от DK22pac. Плагин позволяет хранить папку User Files в любом месте
Может кому-то понадобится
C++:
#include "plugin.h"
#include
class
MyDocumentsDir
{
public
:
static
void
SetDocumentsDir
(
)
{
const
char
*
documentsDir
=
"D:\\My Documents\\Hello World - My GTA SA Documents"
;
std
::
experimental
::
filesystem
::
create_directories
(
documentsDir
)
;
strcpy
(
reinterpret_cast
(
0xC92368
)
,
documentsDir
)
;
}
MyDocumentsDir
(
)
{
// skip registry checks
plugin
::
patch
::
SetUInt
(
0x744FD1
,
0x9014C483
)
;
plugin
::
patch
::
Nop
(
0x744FD5
,
10
)
;
plugin
::
patch
::
SetUInt
(
0x745001
,
0x9018C483
)
;
plugin
::
patch
::
Nop
(
0x745005
,
10
)
;
plugin
::
patch
::
SetUInt
(
0x745018
,
0x9004C483
)
;
plugin
::
patch
::
Nop
(
0x74501C
,
16
)
;
// set documents path
plugin
::
patch
::
RedirectCall
(
0x74503E
,
SetDocumentsDir
)
;
plugin
::
patch
::
Nop
(
0x745048
,
2
)
;
}
}
myDocumentsDir
;
Может кому-то понадобится
C++:
#include "plugin.h"
#include
class
MyDocumentsDir
{
public
:
static
void
SetDocumentsDir
(
)
{
const
char
*
documentsDir
=
"D:\\My Documents\\Hello World - My GTA SA Documents"
;
std
::
experimental
::
filesystem
::
create_directories
(
documentsDir
)
;
strcpy
(
reinterpret_cast
(
0xC92368
)
,
documentsDir
)
;
}
MyDocumentsDir
(
)
{
// skip registry checks
plugin
::
patch
::
SetUInt
(
0x744FD1
,
0x9014C483
)
;
plugin
::
patch
::
Nop
(
0x744FD5
,
10
)
;
plugin
::
patch
::
SetUInt
(
0x745001
,
0x9018C483
)
;
plugin
::
patch
::
Nop
(
0x745005
,
10
)
;
plugin
::
patch
::
SetUInt
(
0x745018
,
0x9004C483
)
;
plugin
::
patch
::
Nop
(
0x74501C
,
16
)
;
// set documents path
plugin
::
patch
::
RedirectCall
(
0x74503E
,
SetDocumentsDir
)
;
plugin
::
patch
::
Nop
(
0x745048
,
2
)
;
}
}
myDocumentsDir
;