ROTA
unread,Sep 11, 2011, 9:47:09 AM9/11/11Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to TexMod development
OpenTexMod (OTM) is the (state of the art)++ of modding texture ;)
First of all:
DON'T USE OpenTexMod WITH AN ONLINE GAME!!
The game can detect if they are modded, so your game account might be
banned!!
Just wait for a release, and maybe the game designer will endure
officially the release version of OTM.
OTM is separated in two parts a library and a GUI. The dll will be
explained more in detail in an extra post.
what I used to compile (and probably you will need):
- Visual Studio Express 2010 (compiling the dll)
- mingw32 (gcc) v 4.5.2 (compiling GUI and using makefiles for dll and
GUI)
- Windows SDK
- Microsoft DirectX SDK (June 2010)
- wxWidgets 2.9.1 (GUI)
I have tested it with:
- Win 7
- Battlefront II
how to compile:
OTM_DX9 (dll):
1) the dll will only work, if the name of the executable is saved in a
file (currently: D:\OTM.txt). If you want to change this file name,
you have to edit in OTM_DX9_dll.cpp the HookThisProgramm() function.
2) make (you will need to open the special command prompt of Visual
Studio)
OTM_GUI (GUI):
1) in the makefile: change the WX_DIR to your installation directory
of wxWidgets
2) make
how to run:
create D:\OTM.txt (or to you changed it) and simply write the name of
the executable you want to mod. One executable per line (without the
path and with .exe)
e.g:
Game1.exe
Game2.exe
Now start the OTM_GUI.exe in the bin directory.
The GUI is not developed so far, cause I don't know, if we will stay
at wxWidgets or not.
If you have started the GUI, you can simply start your game by your
self (you can't at the moment and you don't need to start it through
the GUI). If everything works, a new tab should open in the GUI (which
doesn't look great, but for testing purpose it is fine). The 3 Choices-
Handle will be in future to choose the keys for extracting the
textures. Currently they are:
back: Numpad /
save: Numpad *
next: Numpad -
You need to set a save directory, each time you start the game (only
if you want to save textures)
You can add a texture to mod by pressing the open button (if ticked,
the texture will be modded, else it will be unmodded)
And don't change the name of the saved texture, if you want to load
them as a mod (OTM extract the hash value out of the file name)
Submit each change by pressing the update button
Current features of OTM:
- load and remove textures on the fly
- save all textures (switch on/off on the fly)
- save single textures (switch on/off on the fly)
- command line support for the game is obsolete, cause you can start
the game by your own
- it can handle more than one game at the same time, even more than
one instance of the same game, each with different mods etc. (but I
have only tested with one game)
What should be done in future (GUI/dll):
- easy way of getting the user directory to store the OTM.txt. So the
GUI can modify this file and thus control on the fly which games
should be hooked or not.
What should be done in future (GUI):
- first of all: make the GUI more user-friendly and find errors ;)
- create and save standard scheme for each game, that will be loaded
at game start (see OTM_GameInfo)
- command line support for the GUI
- start the game with command line support also from the GUI
- intelligent update routine (now each ticked texture is reloaded and
each non ticked is removed, while pressing the update button, but the
dll can deal the difference to the old mod)
- zip-file support (if we stay at wxWidgets this should be easy)
- Onscreen display for save single textures
- add multi language support (first steps are done)
What should be done in future (dll):
- find errors
- speed up the OTM_TextureClient::MergeUpdate(), because this function
is called from the game-render-thread during rendering a frame!
- port the dll to dx8, dx10 and dx11. if dx10 and dx11 (hopefully this
will be a simple copy and paste with little changes, we can do this if
OTM works fine with dx9)
so far ROTA