The function at 0x00479C80 (SoundSystem::findSamplePlaceForSoundUnk) is as of now subject of #76 and has shown a difference that was unsolvable through various tries.
As it turns out, we might have the wrong compiler version. According to sources like this list, MSVC 2005 released in two "main" versions.
- Visual C++ 2005:
- Product version: 8.00.50727.42
- Compiler version: 14.00.50727.42
- Linker version: 8.00.50727.42
- Visual C++ 2005 SP1:
- Product version: 8.00.50727.762
- Compiler version: 14.00.50727.762
- Linker version: 8.00.50727.762
Trying the compilation of 0x00479C80 with the SP1 version actually got rid of the seemingly unsolvable difference.
A thing to consider however: There seems to have been other patches and even other versions. Wikipedia lists the base RTM release as 14.00.50320, for example. Regardless if we have a difference here between RTM and SP1 or two different SP1 patch versions, the 762 produced more fitting bytecode, at least for this version.
The tasks are the following:
- Replace the current MSVC with a SP1 (...762) version.
- msvc800_sp1 for example contains the compiler, however, it lacks stuff like the redistributables for debugging and is therefore incomplete.
- It would be better to also control the source (repo)
- If this happend, all cpp files done so far would need to be tested again: If we have a regression, we need to reconsider.
- Note that the implementation status percent usually not the percentage as if the resolvers would use the reimplemented code.
- Also consider that a regression that can be fixed by moving code around a bit is less servere than the mismatch from 0x00479C80, which was otherwise unsolvable.
The function at 0x00479C80 (SoundSystem::findSamplePlaceForSoundUnk) is as of now subject of #76 and has shown a difference that was unsolvable through various tries.
As it turns out, we might have the wrong compiler version. According to sources like this list, MSVC 2005 released in two "main" versions.
Trying the compilation of 0x00479C80 with the SP1 version actually got rid of the seemingly unsolvable difference.
A thing to consider however: There seems to have been other patches and even other versions. Wikipedia lists the base RTM release as 14.00.50320, for example. Regardless if we have a difference here between RTM and SP1 or two different SP1 patch versions, the 762 produced more fitting bytecode, at least for this version.
The tasks are the following: