opentomb / OpenTomb

An open-source Tomb Raider 1-5 engine remake
http://opentomb.github.io/
GNU Lesser General Public License v3.0
1.39k stars 145 forks source link

Backporting complications #390

Open Lwmte opened 8 years ago

Lwmte commented 8 years ago

I'm going to put here all complications that I currently experiencing with backporting "refactored master".

  1. Issue with backporting a092d3d: method of generating entity rigid bodies was changed, so I can't add a code which will generate ghosts instead of "non-collisional" rigid bodies (needed for proper teeth spikes processing, so Lara's hair won't stuck inside them).
  2. Issue with backporting 41398af: there are simply NO such fields as "v_Vertical", "v_Horizontal" and "move" in bone_frame_s structure. Instead, there is some trash called "unused". Seems like bone_frame_s structure was DRASTICALLY changed after refactoring has begun, or TeslaRus decided to downgrade this structure in his branch at some moment. Please, help me to find a commit which introduced this change.
  3. Issue with backporting 1aa2e00: same reason as above.
stohrendorf commented 8 years ago

Maybe such notes are better placed in a project: https://github.com/opentomb/OpenTomb/projects

Gh0stBlade commented 8 years ago

Well I wish I could help, I tend to stay away from altering the engine as these sort of incompatibilities happen (especially since it was fairly obvious most of us expected certain features to be backported). I can only suggest re-integrating them from scratch, adding any missing struct fields etc.

At this point, it just seems clear to me that you don't want to alter any of the engine code or structs? If you do, I don't see any reason why it wouldn't work.

Anyway perhaps @TeslaRus is the better person to ask.

Lwmte commented 8 years ago

@stohrendorf What's the actual difference between project and issue? I'm not considering current issues too serious to be solved via "project", currently I have just two code parts missing which prevents me to backport these three commits :)

@Gh0stBlade I guess yes, I'll re-integrate these two, but at first I wanted to ask if these changes in current master were done purposefully, or were just missing in TeslaRus branch. It's no problem in changing engine code or structs, there are just some parts of code now, which confuse me a lot :)

By the way, I can say that ~80% of feature-critical code is now backported :)

TeslaRus commented 8 years ago

At this point, it just seems clear to me that you don't want to alter any of the engine code or structs? If you do, I don't see any reason why it wouldn't work.

Why not (alter any of the engine code or structs), but only after discussion. If changes are big, they should be decomposed.

Edit: Fixed quote. -Gh0st

Lwmte commented 8 years ago

Well, since current backporting is already full-blown code (not only script) backporting, code is already altering. Of course, it should be all reviewed when pull request will be created.

There is one "critical" change in 71cfb603, cause I needed to change core source files. But I've mentioned it in commit title.

vvs- commented 8 years ago

Please, help me to find a commit which introduced this change.

This happened in b5c7606be45b72200ac9cc4ceddbc9d8be147ca8 and then removed in 8fa3ba789876776da4f86fc7dc73852fab921f7b.

TeslaRus commented 8 years ago

1) Issue with backporting a092d3d... are You trying to create ghosts and disable collisions (it disables non ghosts objects) 2) trash called "unused" - alignment (I am paranoid)

bone_frame_s structure was DRASTICALLY changed after refactoring has begun, or TeslaRus decided to downgrade this structure in his branch at some moment.

bone_frame_s should be bone_frame_s only, not bone_frame_and_non_bone_frame_stuff_s

Edit: Fixed quote. -Gh0st