View Single Post
Old 20-08-17, 20:45   #18
Arsunt's Avatar
Join Date: Jan 2010
Location: Russia
Posts: 182

Originally Posted by Alain19 View Post
Really COOL! I have to work to understand it by reading your code (and I like your coding style!) and to imagine finding this out from looking at a binary is amazing
Originally Posted by Alain19 View Post
Now I wonder, do you think you will have a general method to reintroduce this into the existing binaries, or do you use specific patches in them to call the dll, or (dare I hope ) you just rebuild a binary?
I've already heavily modifed the game EXE with the help of assembler and hex editor. For me it's like a LEGO. Most of my work with EXE does not require compilation, because I'm the compiler myself. The library linkage implemented as follows:
  1. Add to the EXE Import Table TR2Draw.dll name, table of names of DLL exported functions and table of pointers to get this functions. Game fills function pointer table at its Initialization step.
  2. Add settings checkboxes, few global variables and some logic to control the feature. Some people may want original PC wallpaper or for example TR1 (darken) or TR3 (grayed) style wallpaper.
  3. Prepare "Context" struct that consists of pointers to the important game variables .
  4. In the wallpaper render function we just call DLL wallpaper function using its pointer from the Import table and pass to it parameters: "Context" struct pointer, texture data, wallpaper type, row count, framerate factor.
  5. DLL does its work like if it is part of the EXE and successfully returns to the EXE.
Child's play compared to what had to be done before. Everyone will get this patched EXE, which uses TR2Draw.dll, TR2Sound.dll, TR2UI.dll, ffplay.dll. Every single OpenSource DLL to solve different tasks. The game code itself will stay in EXE (just yet). Compatibility issues will gone forever.
Originally Posted by Kirishima View Post
About the reverb, I did a bit of searching around some time ago and found Tomb Raider 3 was originally going to support Aureal 3d. The feature ended up being cut due to time constraints, but ended up supposedly being fully implemented in Tomb Raider The Last Revelation. Whether the Aureal 3d support was just 3d positional audio or audio effects like the ps1 version, I don't know. I've been thinking about asking if people remember playing TLR with one of those compatible sound cards to see if people remember what it added to the game, but just haven't yet.
Thank you for information! I'll check this out when I start developing a sound library.
Originally Posted by Dustie View Post
OMG external texture packs! Will they support HD textures?
Originally Posted by Dustie View Post
And, is this coming on Christmas?
I hope earlier
To seek. To learn. To do. (C) Quest for Glory
Arsunt is offline   Reply With Quote