Initial commit: Complete open-source Decal rebuild

All 5 phases of the open-source Decal rebuild:

Phase 1: 14 decompiled .NET projects (Interop.*, Adapter, FileService, DecalUtil)
Phase 2: 10 native DLLs rewritten as C# COM servers with matching GUIDs
  - DecalDat, DHS, SpellFilter, DecalInput, DecalNet, DecalFilters
  - Decal.Core, DecalControls, DecalRender, D3DService
Phase 3: C++ shims for Inject.DLL (D3D9 hooking) and LauncherHook.DLL
Phase 4: DenAgent WinForms tray application
Phase 5: WiX installer and build script

25 C# projects building with 0 errors.
Native C++ projects require VS 2022 + Windows SDK (x86).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
erik 2026-02-08 18:27:56 +01:00
commit d1442e3747
1382 changed files with 170725 additions and 0 deletions

78
Installer/Res/howto.txt Normal file
View file

@ -0,0 +1,78 @@
How to make a new Decal installer:
Update from CVS (or make sure you have the version of the code you want to release)
Update readme.rtf to reflect the current state of Decal
Open the provided VSI project files (DecalInstaller.sln and DecalInstaller.wip)
Change the Product Name, Product Code, Version, Version string in the registry, and whatever else needs to be changed in the installer (but NOT the filename)
Build a new installer
Open Install.vbs
Add a new uninstall entry for the current Product code using the others as an example (AllProducts.Add "<version>", "<GUID>")
Change the ThisVersion constant to reflect the new version number
Save and Close Install.vbs and VSI
Open EnZip 3.00 ( freeware: http://www.cpam.freeserve.co.uk/ )
Choose File, New Archive... (or hit Ctrl-N)
Give a filename such as "Decal_2000.zip" for Decal 2.0.0.0
Add Decal.msi and Install.vbs to the files, using maximum compression (available on the Options tab)
Choose Tools, Create Self-Extractor... (or hit Shift-X)
Click Next to customize the extractor
Click Next to NOT have a message box
Click Next to have it extract to the TEMP folder
Change the Tile Caption to "Decal Installer" and Click Next
Type "Install.vbs" in the Command box, leave the Parameters box empty, then hit Next
Click the Change Icon... button and select the Decal.ico from the source/Installer/Res folder
Select the first icon and Click Ok, then Click Next
Uncheck Display Run Command Checkbox
Check Unzip Automaticly
Make sure Default to overwrite files without prompting is selected
Click Next, then Click Yes to bypass the warning
Verify your options in the displayed listbox and then hit Create (this may look like it's not doing anything, but it is)
When it completes, hit Test Self-Extracting ZIP file now
If everything went ok, it should display a command prompt window while previous Decal versions are uninstalled, then close and start the Decal installer MSI
Click Close, then close EnZip
VERIFY!!!!!!!!
Make sure there is only ONE add/remove entry for Decal
Make sure there is only ONE Decal group in the Start Menu
Make sure there is only ONE Decal icon on the Desktop
Make sure ALL the file versions are correct
Load up Decal and make sure it runs properly (to verify things such as registry values)
Attempt to delete all of the shortcuts, then open IE. If the installer starts and repairs the shortcuts something is wrong.
Test the FavIcon creation
Generally kick it around and attempt to break it
COMMIT!!!!
Commit your new changes with a tag (so that the installer can be rebuilt in it's current state at any time)
If this is a release version (not BETA), create a branch for bugfixes
Upload the binary to SourceForge (see sf.net instructions)
Test the download and verify you get the same file you uploaded
Change the homepage of decaldev.sf.net to point to the new download