OpenTomb icon indicating copy to clipboard operation
OpenTomb copied to clipboard

Backporting complications

Open Lwmte opened this issue 8 years ago • 7 comments

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.

Lwmte avatar Oct 15 '16 02:10 Lwmte

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

stohrendorf avatar Oct 15 '16 08:10 stohrendorf

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.

Gh0stBlade avatar Oct 15 '16 09:10 Gh0stBlade

@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 :)

Lwmte avatar Oct 15 '16 09:10 Lwmte

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

TeslaRus avatar Oct 15 '16 11:10 TeslaRus

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.

Lwmte avatar Oct 15 '16 11:10 Lwmte

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

This happened in b5c7606be45b72200ac9cc4ceddbc9d8be147ca8 and then removed in 8fa3ba789876776da4f86fc7dc73852fab921f7b.

vvs- avatar Oct 15 '16 11:10 vvs-

  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

TeslaRus avatar Oct 15 '16 11:10 TeslaRus