########################################################################

Title:  Race Driver 1.20 bad-words enabler 0.1
Author: Luigi Auriemma
e-mail: aluigi@autistici.org
web:    aluigi.org

########################################################################


1) Introduction
2) Notes
3) Manual patch
4) Philosophy


########################################################################

===============
1) Introduction
===============

The game Race Driver uses an internal censorship to hide all the bad
words included in an internal database of the game.

The bad-words list is really very funny so take a look to it here:

  http://aluigi.org/papers/rd-badwords.txt

The check that does the censorship work is executed on both clients and
servers, so if the client skips the check (the bad word arrives to the
server in plain-text) but the server has not the same patch it will
block the bad word as it does normally.

So the patch I have created MUST be applied on both clients and servers
because ONLY the people that have applied the patch can read the
uncensored messages.


########################################################################

========
2) Notes
========

The censorship function is really a wasting of CPU: it copies, moves,
checks and recopies the message a lot of times.

For performance reasons (I'm a bit maniac about CPU cicles) my patch
lets the function to return the pointer to the original message skipping
all the other useless instructions.
With the rest of my patch I have changed the check made on the messages
you send during the race because they are managed a bit differently.


########################################################################

===============
3) Manual patch
===============

  Offset   Original Patched
---------------------------
00002AC6   8D       89
00002AC7   54       44
00002ACA   52       50
00002ADC   8D       8B
0001B6A4   81       C3


File: RaceDriver.exe
MD5:  f4d55a44f58ec82b6a7af698deefc504


########################################################################

=============
4) Philosophy
=============

I'm versus any type of censorship and moreover versus the wasting of
time and CPU cicles for stupids and useless checks.


########################################################################

