anura-engine / anura

Anura Engine
Other
384 stars 78 forks source link

follow the imgui upgrades path #249

Open ghost opened 6 years ago

ghost commented 6 years ago

I'll be using imgui v1.52 for a while, to get confidence with Git submodules.

imgui v1.49 imgui v1.52
screenshot_20180305_153556 screenshot_20180305_153433

For now it seems to me it's working great while it is a bit more cute.

ghost commented 6 years ago

Soon I noticed there was a color picker on the newer imgui pick. It seems this was introduced by https://github.com/ocornut/imgui/releases/tag/v1.51 as I went later to check its changelog.

See this pic provided by that release announcement:

https://user-images.githubusercontent.com/8225057/29674775-bc7f66f2-8925-11e7-8f3a-d5002d97d444.PNG

So I won't record a video now but know that this means for the Time/Color affector you can now have immediate color feedback from the particle system as are sliding the cursor through the color map.

Enabling. Enough cool a feature to justify an upgrade :smiley:.

ghost commented 6 years ago

:slightly_frowning_face: I couldn't resist it.

Click to go to youtube.com: video of the feature

ghost commented 6 years ago

Early dividend in interim content. A humble tribute to the priest shadow magic:

https://thumbs.gfycat.com/GrandioseUnconsciousFlyingfish-max-1mb.gif https://gfycat.com/GrandioseUnconsciousFlyingfish

I've been wanting to do something like that for some months, but for me is hard to use the Time/Color affector when the system is set to the add blend mode, because the bright stuff is hard to control with this combination (compared to the alpha_blend blend mode where the current trunk is very WYSIWYG). A lot of stuff can be made with alpha blend but some things require other blend modes, it is no silver bullet. Since those modes are not as much WYSIWYG as alpha blend, the color picker will be handy there.

Data: https://github.com/davewx7/citadel/commit/02c5152663e1697a47d6318bea265b50bc7f374c

uprego commented 6 years ago

Cross reference mini issue https://github.com/anura-engine/anura/commit/1a7a571ac6949288749d8bf9baa1a598a0d2d179#commitcomment-28016305.

ghost commented 6 years ago

My macOS system is OK to https://github.com/anura-engine/anura/commit/3a8155e82613f773d915541a477f8a9dd3b8f3c9 with https://github.com/anura-engine/imgui/commit/d7ce9212f1d321a1470c8ab8dceeed222c55a3ce.

But when upgrading to https://github.com/anura-engine/anura/commit/1a7a571ac6949288749d8bf9baa1a598a0d2d179 with https://github.com/anura-engine/imgui/commit/d7ce9212f1d321a1470c8ab8dceeed222c55a3c, has problems: Thread 1: EXC_BAD_ACCESS (before attempting to run the unit tests).

I tried there also https://github.com/anura-engine/anura/commit/33edd62522580e8362fbce2a8269d498b6f385ff with https://github.com/anura-engine/imgui/commit/a21023332f2248f396d60e8916390df43c4551db, but there I get some compiler errors on the lines that https://github.com/anura-engine/imgui/pull/2/commits/20b0e83350f208265c381b649b8fdf9e4e5de0fa changed.

I'm not very used to Xcode so when on macOS I simply use Frogatto.xcodeproj without really caring about the libraries.

ghost commented 6 years ago

Errata. I typed:

But when upgrading to https://github.com/anura-engine/anura/commit/1a7a571ac6949288749d8bf9baa1a598a0d2d179 with https://github.com/anura-engine/imgui/commit/d7ce9212f1d321a1470c8ab8dceeed222c55a3c, has problems: Thread 1: EXC_BAD_ACCESS (before attempting to run the unit tests).

I should have typed:

_But when upgrading to https://github.com/anura-engine/anura/commit/1a7a571ac6949288749d8bf9baa1a598a0d2d179 with https://github.com/anura-engine/imgui/commit/63ec07f01863491da301e8b1180b4821497f4568, has problems: Thread 1: EXC_BADACCESS (before attempting to run the unit tests).

ghost commented 6 years ago

EXC_BAD_ACCESS seems to me a Darwin equivalent to SIGSEGV and that kind of C/C++ issues.

I'm waiting trying to validate my concerns with other Anura users at the Frogatto & Friends Discord server. I stated there an emergency plan to get trunk back to imgui 1.49:

Revert 33edd6 after a revert of 1a7a57, and then commit another rev rolling forward the submodule URL update enforced in 33edd6 - just the submodule URL update.

@sweetkristas: I can give you macOS Xcode validations for your revs before pushing them to trunk, if that's useful for you. Thanks again!

ghost commented 6 years ago

I decided to revert trunk back to imgui 1.49 after checking it was not only me who was having problems with the imgui upgrade:

galegosimpatico - 03/12/2018 @ Jetrel: whenever it fits your schedule, if you can confirm Frogatto can build but not boot latest trunk (https://github.com/anura-engine/anura/commit/1a7a571ac6949288749d8bf9baa1a598a0d2d179) whenever the submodule is up to date, then means Anura is safe to be reverted to imgui 1.49 as soon as somebody in Frogatto is needing any other Anura new code. That could cause conflicts at Kristina's but it would be the right thing to do. Jetrel - 03/12/2018 @ galegosimpatico okay, so yeah - indeed I can build it after I do a submodule update, but it crashes on launch with this error:

Thread 1 Queue : com.apple.main-thread (serial)
#0    0x0000000000000000 in 0x00000000 ()
#1    0x000000010045cb3c in ImGui_ImplSdlGL3_CreateDeviceObjects() at /PATH/TO/ANURA/s
rc/kre/imgui_impl_sdl_gl3.cpp:322
#2    0x000000010045ceb0 in ImGui_ImplSdlGL3_NewFrame(SDL_Window*) at /PATH/TO/ANURA/s
rc/kre/imgui_impl_sdl_gl3.cpp:423
#3    0x00000001007f529b in KRE::SDLWindow::clear(KRE::ClearFlags) at /PATH/TO/ANURA/s
rc/kre/WindowManager.cpp:327
#4    0x00000001007f3118 in KRE::SDLWindow::createWindow() at /PATH/TO/ANURA/src/kre/W
indowManager.cpp:302
#5    0x00000001007f062b in KRE::WindowManager::createWindow(std::__1::shared_ptr<KRE:
:Window>) at /PATH/TO/ANURA/src/kre/WindowManager.cpp:723
#6    0x00000001006958c8 in main at /PATH/TO/ANURA/src/main.cpp:1029
#7    0x0000000103e6b235 in start ()
#8    0x0000000103e6b235 in start ()
Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)

Even after at some point it was stated that branching would not be welcome, I still thought the better thing to do was to branch off your latest imgui changes to a feature branch for you to be able to keep works for supporting imgui 1.53 with minimum pain while at the same time having a mint trunk for everybody else not involved in that development.

I'm still using imgui 1.52 from Anura because it comes with the good perks with a lot less merge pain.

Cheers and Regards,