News for hackers. Stuff that matters.
Re:GTA III and Vice City fully reverse engineered: re3 by albertzeyer on Sunday February 14, 2021 @09:24AM (#26132608)
Can you give some more details how the reverse engineering was done exactly? (And maybe put that also in the README or somewhere, because I think this is probably interesting to some.)

You write:

> re3 was started sometime in the spring of 2018, initially as a way to test reversed collision and physics code inside the game. This was done by replacing single functions of the game with their reversed counterparts using a dll.

How exactly? So the game EXE exported all the function symbol names? How did you know the function signature (arguments, return type)? And then it is enough to preload a DLL to replace the function? There is no global state or so which must be accessed?

Re:GTA III and Vice City fully reverse engineered: re3 by aap_ on Sunday February 14, 2021 @09:30AM (#26132665)
Maybe you'll find the first commit instructive: https://github.com/GTAmodding/re3/tree/600bf0351476a5a21aabb...

We were very lucky that we had symbols for global things, which inludes function names and signatures but not return types. We then replaced the first instruction of a function with a jump to our own. global variables can be done with a reference to a raw address. virtual methods are a bit of a challenge but we found way to handle them.

Re:GTA III and Vice City fully reverse engineered: re3 by dom96 on Sunday February 14, 2021 @09:34AM (#26132702)
Wow, that's cool, so you replaced each of the game's functions individually until you had the majority replaced and working stand-alone?
Re:GTA III and Vice City fully reverse engineered: re3 by aap_ on Sunday February 14, 2021 @09:54AM (#26132862)
Not the majority. every single one!
Re:GTA III and Vice City fully reverse engineered: re3 by breakingcups on Sunday February 14, 2021 @05:00PM (#26136669)
(Except libraries like Renderware and Miles Sound System, because there'd be almost no point in wasting time on that. Only R* code was reversed.)
Re:GTA III and Vice City fully reverse engineered: re3 by aap_ on Sunday February 14, 2021 @05:28PM (#26136876)
That's true, though I did write a replacement for RW. It's not an exact copy but it does the job.
Re:GTA III and Vice City fully reverse engineered: re3 by d26900 on Sunday February 14, 2021 @10:11AM (#26133000)
Wow, impressive!

Can the assets be "reverse engineered" as well?

Also, can R* shut this project down? Is there a legal basis for them?

Re:GTA III and Vice City fully reverse engineered: re3 by softwhale on Sunday February 14, 2021 @10:42AM (#26133259)
Apparently, this project requires the game assets to work - so you have to own a (legitimate) PC version of the game. https://github.com/GTAmodding/re3#intro

Of course, R*/Take-Two could always make a case.

Re:GTA III and Vice City fully reverse engineered: re3 by kmeisthax on Sunday February 14, 2021 @01:40PM (#26134876)
Assets are typically "reverse engineered" by writing tools that convert them to and from whatever proprietary formats the game uses. Other than that, there's not much else to do with them once they're in standard format.

As for the legality of the whole project: there's several different legal objections one could raise under copyright law:

1. That the EULA prohibits reverse-engineering

2. That the resulting reverse-engineering project is infringing the copyright on GTA3's program code (which it kind of has to in order to be a faithful disassembly)

Re:GTA III and Vice City fully reverse engineered: re3 by aap_ on Sunday February 14, 2021 @10:55AM (#26133360)
Not sure what reverse engineering assets means. There is source code for them so they are what they are.
Re:GTA III and Vice City fully reverse engineered: re3 by d26900 on Sunday February 14, 2021 @11:12AM (#26133511)
With "asset reverse engineering" I meant: recreating the assets from scratch. Just like a painter reproducing another painting.
Re:GTA III and Vice City fully reverse engineered: re3 by aap_ on Sunday February 14, 2021 @11:33AM (#26133697)
Of course you can create new assets.
Re:GTA III and Vice City fully reverse engineered: re3 by hda2 on Sunday February 14, 2021 @09:58PM (#26138559)
> Just like a painter reproducing another painting.

That would be copyright infringement. At that point, you might as well just hit copy files from the original game.