We've hardly ever done any summaries and it's time to have one.
We'll try to sum up almost 4 years (!!!) of constant development.

We've (whole community) made a lot of progress, a lot of new projects and we came up with loads of great, new and fresh ideas for the game.
Here are some facts:

Project Start

Project has started on Dec 21, 2009 when James (angus_young) has posted on The Mod Theater forum under MOH Fix thread.
You can find it here: http://www.modtheater.com/threads/mo...atching.35138/

RazoRapiD's joining the project

I've joined the project on Dec 26, 2009 with the following post:

Hi, I'd like to become a member of the project.
Currently, I ported Elgans wrapper to 1.0 and did some fixes to it, and added some new code, which I can share with the community - it's easy to port it to 1.11 (in most cases it's 100% compatibile)

I know how to use Olly, IDA, detours.. so I can do some reversing but I'm not a God in this you know. I just have some knowledge in ASM.

I also did mod's donwloading (glitchy) for 1.0, fix for SAY Overflow Crash in plain ASM and I'm writing NeonDeath which is a 1.0 anti-cheat.

I know Delphi, some C++ & ASM

I was talking to angus_young before about different aspects of the game.


I also can say that MOHAA is running on Vista and Win7 without problems. sometimes players needed to update theirs video drivers.
First code releases and edits

Before the code was really useable, few people made some important updates and edits in order to have the patch running.

Dec 29, 2009 - Razo[R]apiD
I'm posting updated gamex86 wrapper


- added misc.c and misc.h as a place where we can place our own custom functions, code, structs, so the gamex86 related stuff won't get messed up with it

- added 2 new functions
SendGameMessage - sends a message to the client with given clientId. This message can be sent to different locations:
HUD_MESSAGE_YELLOW - under the compass, yellow color
HUD_MESSAGE_WHITE - under the compass, white color
HUD_MESSAGE_CHAT_WHITE - as a game chat msg, white color
HUD_MESSAGE_CHAT_RED - as a game chat msg, red color - just like when someone dies
BroadcastGameMessage - the same as above, but sends to all clients (you can specify how many clients are going to get the message)

eg. if clientdata_t is 32 then you need to pass 32,
- added some global variables at the beggining of gamex86.c for no-recoil detection

- added other global variables like: gi, *globals, globals_backup as 'extern' at the end of gamex86.h so we can use them in misc.c for eg.

- moved clientdata_t struct the the bottom of gamex86.h so it's easier to find it and it won't get lost between other mohaa structs, since it's our custom struct.

- removed unneeded loop in anti-STWH code (it caused unneeded overload for every client, every frame)

- added anti-NORECOIL code

- added some comments

- removed unused variables, decreasing warnings count during compilation

- added detours.lib and detours.h to the folder so people won't need to look for it/download and it will be easier to compile without 'missing files' errors

Now I'm going to try the 'patched stufftext' detection
Dec 30, 2009 - tommaso
Started from RazoRapid's version in post#100, here is an upgraded version.

* deleted cross-includes between header files that made the compiler run into an infinite loop
* reorganized imports, added linux-specific imports with ifdef's. Now all C sources include all header files,
but header files don't include other header files. Only the gamex86.h is responsible to include all the necessary system libraries, I think it's cleaner this way.
* commented out the definition of sigset_t type in gamex86.h, because it's already defined on linux, and currently unused in the code
* increased BroadcastGameMessage and SendGameMessage buffer size to 4000 and made it safer (Q3 source code max message size is 16384)
* eliminated compiler warnings: first parameter's type changed from client_t * to int in gi.SendServerCommand and gi.DropClient
* added G_Shutdown to unload original game library and custom signal handler on linux
* added custom signal handler to print stack trace on crash (linux only)
* added some useful functions to misc.c (memory allocation, logging, string manipulation, date/time functions etc.)

This one now compiles without warnings and runs on linux.Please continue from this source, I hope I didn't mess up windows functionality or project structure

I forgot to remove the 1.12 log line, and do the refactor for the logging everywhere to use the add_log function. Next time..
Jan 3, 2009 - Bits
The code I have compiles fine under gcc (Linux and Windows) but MSVC6 is missing a few things (__FUNCTION__ macro, vsnprintf, and nanosleep, these weren't implemented by M$ until .NET).

I found an MSVC6 implementation for __FUNCTION__, but implementations of vsnprintf and nanosleep are non-trivial. Best to rewrite those sections of the wrapper to use different calls. Working on that now...

EDIT: This version compiles on all three platforms

-- added file extensions to some files (make CVS happy)
-- added __FUNCTION__ implementation
-- replaced vsnprintf with vsprintf (possible overflow, will need to revisit)
-- replaced nanosleep with sleep (possible resolution issue)
-- moved local variable declaration to top of functions
-- added conditional compilation flag MSVC6 (define as needed)
After the last update from Bits, I started developing my own versions that started from normally updated releases, through EXC (EXC1, EXC2 ... ) versions, to RC versions.

Forum Statistics

803 Members
1,446 Threads
14,293 Posts

Approximately 50 users are active and follow forum content on daily basis.

Reborn Statistics

Since RC3.x version, we have started our own 1.12 Master Server (server that keeps track of all running servers) where Reborn servers sign up.
Our masterserver has 314 unique entries.
Which means that 314 servers at least once used Reborn RC3.x version
It has 145 unique IPs stored. (every IP can run several MoHAA servers on different ports)


This is the list of donators that donated money for developement

16.01.2013 own3mall 50$
30.07.2011 JoTo 15$
29.08.2011 Wojciech Walczuk (probably Tigger or =voy=) 10$
13.09.2011 heatsinkbod (AAAA) 15$
23.09.2011 Sor 25$
28.09.2011 heatsinkbod (AAAA) 15$
04.10.2011 Adrian Aguirre 10$
08.10.2011 Daniel Cunning 25$
19.11.2011 Wojciech Walczuk 10$
14.12.2011 heatsinkbod (AAAA) 15$
16.12.2011 own3mall 50$
28.12.2011 Wojciech Walczuk 10$
25.01.2012 Łukasz Budny 1$
30.03.2012 Marco Catalano 25 Euro

To sum up, something around 281$ (I counted 25 Euro as 30$)

This is the list of donators that donated money for website

Danny Geilen 5$
wojciech lipinski 70$
Wojciech Walczuk 10$
Adrian Aguirre 20$
wojciech lipinski 20$
Sor 20$
Wojciech Walczuk 10$
JoTo 20$
wojciech lipinski 30$
Chris Sowerby 25$
Wojciech Walczuk 8$
Chris Sowerby 15$
Wojciech Walczuk 15$
Wojciech Walczuk 10$
wojciech lipinski 30$
RP van Denderen 5$
Crazy Gamers Clan 10$
RP van Denderen 10$

Please give us your nickname so we can give you a special rank.

Please share your thoughts!