- OTM_TextureClient::MergeUpdate: force reload does now switch the correct texture (previously it lead to a crash)
- OTM_TextureClient::MergeUpdate: volume and cube textures are now loaded (if they were not loaded before)
- OTM_TextureServer: if textures were added more than once, they could not be deleted correctly
- OTM_Sender::SendTextures: if texture were loaded, but get unloaded due to a rearranging of the list, they are now marked correctly as unloaded
Improvements:
- OTM keeps in mind the actual window position
- added a MORE_TEXTURES flag for the pipe comunication: if more data is written to the pipe, than the size of the buffer, the Mainloop of the OTM_TextureServer will wait for the rest of the date before it prepare an update for the OTM_TextureClient.
- added the last missing texture formats of D3DFORMAT (except two formats)
Improvements:
- DLL: The fake textures are sorted according their hash values (see previous commit) and now the MergeUpdate() function is improved in speed.
DLL: Fake textures are sorted by their hash values and therefore the search is faster (if the game loads a texture).
I rearranged the code in the OTM_DX9/OTM_DX9_dll.cpp, I hope it is now easier to read.
Changed c-runtime linkage of the GUI to static.
The use of Mutex is enabled, for a secure execution of the server thread in the dll.
BugFix:
- GUI: If texture are removed (which were previously loaded) they are now marked as not loaded.
- DLL: Added AddRef/Release counter to ensure a clean up before the device is destroyed.
- DLL: The reference to the FileToMod array is now update to the new value (after merging an updated).
- DLL: SingleTexture is now unswitched, if it was switched with a texture, which shall be replaced with a texture due to a new update.
- when loading a template, the layout function of the sizer is called, thus the new packages are also shown
- Author and NoComment are also loaded from a language pack
- append '\0' at the end of game name (dll injection)
- Release() fake texture (if force reload) instead of calling RemoveTexture(..)
Improvements:
- template support, you can now have more than one template set one of them as default.
- update function will only update the texture if this is needed or the reload button is pressed.
- textures will also be removed, if they are removed from the package list.
- OTM_IDirect3DDevice9::UpdateTexture passes not the correct textures to the original function
- OTM_IDirect3DTexture9: functions which handle with the original data are now redirected to the cross reference (if the texture was switched)
- GUI: memory expand function: more then 10 games can be started and mor then 100 texture packs be added.
- remove dots, slash and backslash at the beginning of filenames in the texmod.def
- selected language will now be stored
- now one has to set all keys, if save single texture is set to true
BugFix:
- removed CheckBoxVSizer, it was unused, but object were detached
- correct estimation of the number of hash entries in OTM_Sender::SendTextures
Improvements:
- added a comment support for tpf and zip files
- a bug prevented to unload Mods, which were new added to the list
Improvements:
- OpenTexMod can now be started only once
- language support (German package provided)
- added more error comments
-BoolSaveSingleTexture was not initialized on start of OTM_TextureServer
Improvements:
-add error handling for all operations in the GUI
-colour support for font an switched texture (if save single texture is enabled)
-hash function to crc32 function (tpf support)
Improvements:
-whole textures can be send to game (needed for zip and tpf)
-zip support (normal and as tpf format)
-tpf support
- OTM_FileHandler::Remove and OTM_TextureHandler::Remove set now the correct Reference
- SingleTexture is deleted, if device is released the last time
- if original texture is released the last time and it is linked with SingleTexture, SingleTexture is not released any more
- texture->AddRef is now directed to the original texture (if texture was switched)
- texture->Release() is now directed to the original texture (if texture is switched)
improvement:
- texture->Release(): if a texture is released which was switched also the fake texture is released, for that no OTM_TextureHandler FakeTextures is needed any more.
- you can run the makefile with NO_INJECTION=1 and a dll without hook is compiled, copy this dll to the game directory, if you don't like to or even can't use the dll-injection over hooking.