Silent Profile picture
Oct 8, 2022 44 tweets 19 min read Read on X
Turns out this release is indeed fully DRM free, and its executable also works with an English version! Well, almost, and to get what's the catch you need to watch with sound on.

I hope it's patchable, as DRM free exes > no-CD exes all the way
I may have jumped the gun a little, it seems more broken than it seemed at first.

CALL THE TELEPHONE NUMBER FOR YOUR GERMANY ImageImage
The version of a Polish DRM-free CMR3 executable matches the international 1.1, but it's compiled a few months later ImageImage
Trying to automate the process of finding changes by using diaphora, an IDA plugin - and seems like it's a bit eager to mismatch functions for what's needed here. These two are the same function, with the only difference highlighted, and yet diaphora thinks they don't match. Odd. Image
Restarted with "Use Slow Heuristics" - that's better! Image
30 minutes later: Found a bug in diaphora already 😂
github.com/joxeankoret/di…
Now we're talking, with diffs like this I should be able to "internationalize" this DRM free executable in a reasonable timeframe 😎 Image
This isn't funny anymore github.com/joxeankoret/di…
Much like the NTSC PS2 version, PC CMR3 has native widescreen partially left over. If I remember correctly, the PAL PS2 version *did* adjust HUD for widescreen, but here only FOV and the co-driver calls seem to change. ImageImage
Looks like the Polish executable is crash happy like this because of the fact they un-hardcoded certain string and instead made them localized. Since the international localizations lack those files, the game reads garbage and crashes. ImageImage
That's disappointing... The reason re-releases fit on 2 CDs instead of 3 of the original release is because #CDProjekt REMOVED Nicky Grist from it! As seen on the screen below, the original Polish release renamed "Language" to "Co-driver's voice" - the re-release cuts it entirely Image
This explains why the Polish executable told me to "call my Germany" - CD Projekt changed the Secrets menu to refer to e-mail and a website instead of phone numbers! This explains them removing the scrolling text reminding about billing charges. Image
Both these phone numbers and the website are down, so maybe for an international executable I could refer to my cheat generator instead 😂
The rabbit hole goes even deeper, with the omission of Nicky Grist not being the only change - turns out that after the original CMR3 PL featured a rally driver Janusz Kulig as a co-driver, he has been replaced in a re-release.
We can only guess the reasons, but it seems quite likely the change was made due to Kulig's fatal driving accident not long after the original game's release, in February 2004. Re-releases came after that, and so they likely couldn't (or didn't want to) feature him anymore.
Shout out to #Sandboxie for making it possible for me to do this research without going crazy - CMR3 won't allow me to install itself multiple times, so I have sandboxes in which I "uninstall" the international release and install Polish ones, and they're unaware of each other. Image
Nice flickering sun you got there, CMR3. dgVoodoo/dxvk don't help so it's quite clearly a game bug. Should be debuggable via PIX since it's a DX9 game. ImageImage
Looks like the flicker is caused by the usage of MSAA (which the game calls FSAA). Disable it and the sun is fine.
Codemasters has missed a lette Image
All translation lines added in the Polish versions - yeah, for some reason they also added 10 empty ones Image
NO CMR3, STOP, DON'T DIVIDE THE CLOCK FREQUENCY, THAT'S NOT HOW YOU SHOULD OBTAIN TIME IN MILLISECONDS! AAAAAAAAA Image
Polish CMR3 localization went through a surprising amount of effort. For this release, they went several steps ahead of the standard FIGS languages and e.g. localized menu cubes by adding new assets.

Polish menu vs English menu vs Polish menu with English assets (missing cubes): ImageImageImage
Unfortunately, Polish fonts delete a few characters from the EFIGS font, so I can't just use them as a drop-in replacement. I'll either have to look for format definitions of the .pcf file that specifies the layout, or write a tool for it myself. Yay 😔 English font atlas from Col...Polish font atlas from Coli...
Change of plans - turns out a rare DVD release of CMR3 for Germany is EVEN NEWER than a Polish re-release, it's v1.1, has EFIGS languages and most importantly, is DRM free! Much of my "internationalization" work is now useless, but it can be reused...
Image
...to merge Polish into the EFIGS release, turning it into a full EFIGSP release.

Now to figure out how to safely and legally redistribute these executables! Most likely will do it via an xdelta patch from 1.1 EFIGS/1.1 Polish -> DRM free versions. This way cracks can't be used.
This actually is good news for the usefulness of a theoretical "SP Manager" - where the application itself could offer the user an option to install by applying the xdelta patch for them. The manager could also tell users about official patches they need.
I can't verify this in the original Polish release (thank you Safedisc), but when I re-enable the Language menu (renamed to Co-driver's Voice) in the re-release, exit animations seem broken - most likely due to an improper removal of the "Text language" option. twitter.com/i/web/status/1…
This project has now officially cost me money, and now I own two copies of Colin McRae Rally 3 Closed box of Colin McRae R...Opened box of Colin McRae R...A jewel case and a DVD box ...
Phew - put some effort in documenting data structures and everything becomes readable. I can already tell modifying the onscreen keyboard to exclude (or include) Polish diacritics should be relatively easy!

Good going, still need to find why the Languages menu broke though. Image
Sure enough, once it's documented fixing broken menu animations in the Polish version was easy - this menu is kind of hacked not to show the first entry (Text language), but would've been a good enough hack if it wasn't for the fact they re-apply it every time the menu closes.
This seems to be the reason behind CMR3's sun flickering with MSAA enabled - 9 years ago someone had the same issue in their project and nobody answered 😹stackoverflow.com/questions/1524…
Goodbye sun flickering when multisampling was enabled, you won't be missed Image
Wow, at the moment widescreen is a bit of a mess. By default, the game only lists 4:3 resolutions but once unlocked, widescreen resolutions automatically adjust FOV, albeit VERT-. Enable an unused widescreen flag on top and you get VERT- on top of HOR+ lol
Different combinations: ImageImageImageImage
To give credit where it's due - seems like that was already found by
AuToMaNiAk005 years ago, just presumably by forcing 640x480 to be a desktop resolution instead of "unlocking" selectable 1080p. At least this proves that the hack was not at fault.
Whoops Image
Using CMR3 to improve Microsoft D3D9 documentation 🥳 @Codemasters using cutting edge tech for those games (DX9 in 2003!) is for sure a factor
github.com/MicrosoftDocs/…
And to be clear - I have not checked how, but Colin McRae Rally 04 *does* fix that issue. With 8x MSAA, sun still looks fine.

I'd be curious to see if they dealt with the occlusion query result correctly, or maybe just clamped it. Image
Update: They didn't fix it properly! Instead, they only clamp the value to 0 - 1 range, remove that clamp and rainbow sun is back.

SP for CMR3 fixes it "properly" by clamping the value *and* dividing the result by sample count.

#SilentPatchIt Image
Timing for all this SilentPatching and research couldn't be better, happy 20th birthday to CMR3!
Adjustable FOV fixed for widescreen! Funny enough, I'm getting flashbacks to CMR2.0, I think the code I fixed there was similar, but operating on a lower level (near rendering) than by changing data.

Funnily, gear stick is animated but you normally can't see it due to FOV 😂 ImageImageImage
Ok WTF, I confirmed that it's not my changes but seems like THIS is how splitscreen looks on PC and you need to Alt+Tab to fix it??? I have a hard time believing @Codemasters would ship PC splitscreen this broken, so maybe it broke in a patch or newer Windows? Can anyone confirm? ImageImage
@Codemasters Forcing the game to use one core helps... However, I can still see a brief flicker just as the game starts fading in, like so.

Just when I was praising this port for its quality ImageImageImage
Accidental free camera Image
By "freezing" camera in place I can confirm that when split screen is broken, CARS ARE NOT EVEN SPAWNED ON THE STAGE. What the heck is this bug 🤦‍♂️ ImageImage

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Silent

Silent Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @__silent_

Nov 10, 2021
SilentPatch for The Definitive Editions? Let's see:
* Take-Two/Rockstar took down mods, in hindsight almost definitely seeing them as a "threat" to those releases
* re3/reVC lawsuit hasn't even properly started yet
* Original games are gone
* There's been 0 information on...(1/4)
* ...those releases pre-release, and looking at the current gameplays this almost seems deliberate.
* Many original bugs fixed in SP are here, even though changelogs could have been used as a reference for them.

And the expectation to this is that the same modding... (2/4)
...community that's been abused by Rockstar/T2 should now be voluntarily fixing those releases alongside the dev? Nah🙂

Unlike the original games, it's a *brand new product* someone gets paid to maintain as we speak. They don't deserve any more unpaid effort put into... (3/4)
Read 4 tweets
Jul 17, 2021
Taking down re3 and GTA V map mods was not enough, now map mods for **GTA San Andreas** are being taken down. How long before this slippery slope kills all modding?

I think I'm just about done with GTA modding now. In 2014 modders' work would be boosted on Newswire... (1/5) ImageImage
...while in 2021 modders have to be scared of their work being taken down "just because".

GTA modding scene has shaped generations of skilled people, either moving on to work on their own projects or in select cases even hired by Rockstar. This modding scene keeps... (2/5)
...these old games thrive years after release. Despite the fact modding was never supported, GTAs were always a test bed for those who wanted to challenge themselves and provide something cool for others. Rockstar used to acknowledge this, but now someone either in... (3/5)
Read 5 tweets
Apr 18, 2021
Now an absolute banger - Virtua Fighter 5 in Yakuza 6 and Yakuza LAD appears to be FULL CONSOLE VERSION 😱 By default, it can only boot to Arcade Mode or VS Mode directly, but boot it to mode 0 and this happens. Netplay/leaderboards/achievements obviously don't work... (1/2)
...and the in-game pause menu is a bit broken because of a forced Yakuza pause menu, but other than that it seems to be a functional port of the Xbox 360 version! That is insane and increases the appeal of running this game standalone from Yakuzas by a tenfold. (2/2}
Arcade "customization" works fine, conversion to a Yakuza arcade did not break them - and it could have, since those parameters are now "input parameters" for the DLL!
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(