OpenGL rendering #250

Merged
merged 22 commits into from Jul 16, 2017

Conversation

Projects
None yet
2 participants
@wheybags
Owner

wheybags commented Feb 25, 2017

-librocket doesn't work, but I want to get rid of it anyway (probably for myGui + lua) Nuklear! https://github.com/vurtun/nuklear
-probably won't be merged until this is done

@Fuco1

This comment has been minimized.

Show comment
Hide comment
@Fuco1

Fuco1 Jun 27, 2017

Contributor

Looking at the gui code a lot of it could also be replaced with the state machine designe proposed in #264. Each screen would be its own state and there would be clean separation of where the user can switch (I'm talking about the loading screen/menus mostly).

Contributor

Fuco1 commented on 062d133 Jun 27, 2017

Looking at the gui code a lot of it could also be replaced with the state machine designe proposed in #264. Each screen would be its own state and there would be clean separation of where the user can switch (I'm talking about the loading screen/menus mostly).

This comment has been minimized.

Show comment
Hide comment
@wheybags

wheybags Jun 27, 2017

Owner
Owner

wheybags replied Jun 27, 2017

wheybags added some commits Jul 8, 2017

Fix bug where calling setImmortal on a raw sprite could cause corruption
Corruption would only occur if we attempted to setImmortal() a raw sprite
before we had ever rendered it.
get() in SpriteManager handles raw sprites with directInsert, but calling
setImmortal would skip straight to SpriteCache::setImmortal, which ensures
the sprite exists by calling get() and then setting the immortal flag.
However, since this was implemented inside SpriteCache, it wasn't handling
raw sprites, so it woul give an invalid sprite cache lookup error, and
corrupt the mUsedList member. The solution is to call get() in
SpriteManager::setImmortal before calling SpriteCache::SetImmortal, to
ensure that the raw sprite is created before we go into SpriteCache.
CMakeLists.txt
+# Use C++11
+if (CMAKE_VERSION VERSION_LESS "3.1")
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ set (CMAKE_CXX_FLAGS "--std=gnu++11 ${CMAKE_CXX_FLAGS}")

This comment has been minimized.

@Fuco1

Fuco1 Jul 10, 2017

Contributor

Any reason not to use c++14? I've had it set locally ever since I've started working on this project and everything seems to work just fine.

@Fuco1

Fuco1 Jul 10, 2017

Contributor

Any reason not to use c++14? I've had it set locally ever since I've started working on this project and everything seems to work just fine.

This comment has been minimized.

@wheybags

wheybags Jul 15, 2017

Owner

Travis is still using gcc 4.6.3, I'm not sure how much of c++14 is supported in that?

@wheybags

wheybags Jul 15, 2017

Owner

Travis is still using gcc 4.6.3, I'm not sure how much of c++14 is supported in that?

This comment has been minimized.

@Fuco1

Fuco1 Jul 15, 2017

Contributor

Oh, I see. No big deal I guess, as far as I can tell we're not using any new features. But it's good to preemptively use newer standards if possible.

@Fuco1

Fuco1 Jul 15, 2017

Contributor

Oh, I see. No big deal I guess, as far as I can tell we're not using any new features. But it's good to preemptively use newer standards if possible.

wheybags added some commits Jul 15, 2017

@wheybags wheybags merged commit eb7e331 into master Jul 16, 2017

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@wheybags wheybags deleted the opengl branch Jul 16, 2017

@wheybags wheybags referenced this pull request Jul 16, 2017

Closed

Re-add main menu #272

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment