Return-To-The-Roots / s25client

Return To The Roots (Settlers II(R) Clone)
http://www.rttr.info
GNU General Public License v2.0
470 stars 75 forks source link

[LUA] PatchMap functionality required #1629

Open Spikeone opened 8 months ago

Spikeone commented 8 months ago

Since we want to include the original roman campaign, we need to patch some map files. This could be done by altering the map file itself via lua when loading the file.

I created a diff for all maps (sadly they include a change in the map name, since I fixed the german files, but this shouldn't matter).

The idea is one could just override specific positions in the file, like PatchMap(fPos, fData) e.g. PatchMap(0x973A, 0x00)

MISS200.DIFF.TXT MISS201.DIFF.TXT MISS202.DIFF.TXT MISS203.DIFF.TXT MISS204.DIFF.TXT MISS205.DIFF.TXT MISS206.DIFF.TXT MISS207.DIFF.TXT MISS208.DIFF.TXT MISS209.DIFF.TXT

Flamefire commented 8 months ago

Can't we just distribute the patched map files? Not sure if allowing file modifications from Lua is a good idea...

Spikeone commented 8 months ago

Well, @Flow86 asked @ottml to remove the patched map files in some PR - thats where this patch idea is from. I'm fine with distributing the changed original files, but not sure if we are allowed to do so.

I think it's safe to change the files after they have been loaded, but not on the harddrive.

Spikeone commented 8 months ago

@Flow86 @Flamefire since the PR #1628 might be merged soon, we should decide on this one. At least two of the LUA scripts included will not work correctly. On the first map 7 players are loaded by rttr but 6 have invalid positions, I think on the sixth map, one player position is invalid, thus the game doesn't start. I'd personally just include the files, but not sure if we are legally allowed. But finally having the campaign screen with the original campaign but with 2 maps not working doesn't feel right regarding user expectation :-/