Hello to everyone! I hope you all are staying safe.
First, an introduction...
My name is Alejandro, I'm from Argentina and I've been a long time MicroProse fan: started playing back as a kid in 93 w/ F1GP in my A500 and F1GP-ed, then moved to PC GP2/3/4... Before that, tried Stunt Car Racer on the C64 (sadly missed Revs at the time!). MicroProse got me hooked on simracers (mostly AC, rF2 and AMS), and browsing related content I recently found Ted Meat's great F1GP season stream. So I decided to try F1GP with wheel and pedals and was very pleasantly surprised.
Looking around some more landed me on this site, and that got me thinking. From the last time I checked, TSRs, addons and editors for F1GP continued evolving a lot and nowadays they let you do things with F1GP that were hard to imagine a couple of years ago (I'm glad to see that names from years ago such as Rene Smit are still active!). I was also lurking around this group and found a copy of the F1GP EXE IDA database, with several funcions/names/strings/datatypes already decyphered/defined/established.
I'm also a Free Software/Open Source advocate, and right now the open source sim racing landscape is quite barren,
with projects such as TORCS and its forks currently not delivering the potato-PC-safe, back-to-basics, fun but accurate racing sim experience a hypotetical "OpenGP" could. My thinking is, with F1GP/WC it may be
possible to jump from where the Transport Tycoon Deluxe community was several years ago
(TTDpatch, patching the executable to add new functionality) to a new,
opensource reimplementation (OpenTTD) which, in time, became an
excellent game on its own.
So, questions:
1. Is there any reverse-engineering/dissasembly/reimplementation effort of F1GP/WC currently on the works? If so, in what status is it?
2. Is the disassembly in a complete state somewhere? Can an assembly be successfully regenerated and a new, compatible EXE compiled from it?
3. What are the biggest obstacles to overcome? I assume that most game logic, rendering pipeline, AI and physics are still uncharted territory. Is that so?
4. Are there any legal hurdles to accomplish this? From other open source reimplementations, I understand that it is fair game to reimplement commercial software through reverse engineering: CannonBall (OutRun), OpenRA, OpenXcom, OpenTTD, CorsixTH (Theme Hospital) are some examples (IANAL).
5. How can I help?
These are some of my possibly useful skills:
1. Intermediate/Advanced C/JS/Python/PHP/sh/regex coding skills (been a Linux sysadmin for almost 20 years now)
2. Development workflow, toolchain, version control and debugging skills (ditto)
3. Multiple OS experience (Windows, Linux, Mac OS...)
4. Polygon and NURBS 3d modeling (currently studying Industrial Design, so I'm fluent in most CAD and 3d modeling environments)
5. Industrial and graphic design (ditto)
6. Documentation and translation to Spanish (my native language)
In this context, I find myself with more free time than I expected so I may be able to dedicate a few hours per week to this project. Plus, it should help me properly learn x86 assembly to boot!
Anyway, let me know what you think.
Take care,
Alejandro.