OpenMW 0.37.0 (?)

Anything related to PR, release planning and any other non-technical idea how to move the project forward should be discussed here.
User avatar
psi29a
Posts: 5362
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: OpenMW 0.37.0 (?)

Post by psi29a »

The answer is no, we're not going to bump the minor number to some arbitrary value.

We increment the minor number on every iteration (which is about monthly) before we reach feature parity with Morrowind.

Once that happens, we bump to 1.0 and continue the minor iteration.

Can we drop this conversation now?
Cramal
Posts: 186
Joined: 19 Sep 2014, 13:37

Re: OpenMW 0.37.0 (?)

Post by Cramal »

Because it had been told that we will switch to C++11 for the next release.
I do some code on my own but I never had a propoer formation so C++ standard are a mystery for be and I entirely depends of debugging tools to respect them

I'm curious about what change the use of C++11 will do.


Will it have any performance effect, or it's just for having clean code and to garantee future compatibility with the libraries sued in OpenMW.
DocClox
Posts: 101
Joined: 10 May 2015, 13:26

Re: OpenMW 0.37.0 (?)

Post by DocClox »

psi29a wrote: Can we drop this conversation now?
Well, since you asked so nicely, sure.
ezze
Posts: 513
Joined: 21 Nov 2013, 13:20

Re: OpenMW 0.37.0 (?)

Post by ezze »

Cramal wrote:I'm curious about what change the use of C++11 will do.
Of course the final and authoritative can come only from the project developers, but this is my experience in the C++98/03 to C++11 switch.

The new unified initializer is great, so you should use as much as possible. For all built-in types you should consider forgetting the {} almost as "error the compiler does not detect".

The new meaning of auto is also extremely useful. I find Herb position a little extreme, but it shows the point. If from the right expression the type is clear; use auto.

This is how I do it:
If you cannot know the type or it is clear from the right expression, use auto name = expr;
If you want the default constructor or you are declaring a built-in. Use type name {};
If you staring in front of the list of constructors you think "I really want this one!", use the classic () syntax. Eg, std::vector<int> name(102, 23);
If you are thinking, here are the starting values use {1,2,3, ...} syntax. Eg, std::vector<int> v{1,2,3,4,5};

The lambdas make all the functional part much easier than the classic binders and functional tools. For example, you want to convert a vector of strings (that represents numbers) to the same vector of integers, in C++11 you can do this:

Code: Select all

std::vector<int> output{};
std::vector<std::string> input{"1", "2", "3", "4" };
std::transform(input.begin(), input.end(), std::back_inserter(output), [](std::string const& v) { return std::stoi(v, nullptr, 10); });
that IMO is much simpler than the bind1st & co. of C++03. Lambdas also allow to implement *finally* if you really want to.

Also the new memory and time tools are neat, but even in C++03 you had libraries giving similar features.

There is much more, but the greatest impact (on the top of my head) comes from this features.
charlieg
Posts: 50
Joined: 30 Jun 2015, 14:17

Re: OpenMW 0.37.0 (?)

Post by charlieg »

psi29a wrote:Can we drop this conversation now?
I already had. ;)

I'm looking forward to trying out the OSG build. Can you believe that I've never played MorrowWind before? :shock:
User avatar
psi29a
Posts: 5362
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: OpenMW 0.37.0 (?)

Post by psi29a »

Just a heads up, there will be no Utopic build for OpenMW as it will shortly be EoL.
Ubuntu 14.10 (Utopic Unicorn) reaches End of Life on July 23, 2015
charlieg
Posts: 50
Joined: 30 Jun 2015, 14:17

Re: OpenMW 0.37.0 (?)

Post by charlieg »

psi29a wrote:Just a heads up, there will be no Utopic build for OpenMW as it will shortly be EoL.
14.04 still supported, right?
User avatar
psi29a
Posts: 5362
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: OpenMW 0.37.0 (?)

Post by psi29a »

charlieg wrote:
psi29a wrote:Just a heads up, there will be no Utopic build for OpenMW as it will shortly be EoL.
14.04 still supported, right?
Yes, we do our best to support everything not EoL. :)

We're still dragging 12.04 (precise) along... because of travis-ci. :)
User avatar
psi29a
Posts: 5362
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: OpenMW 0.37.0 (?)

Post by psi29a »

Just compiled master with clang, and yes... that is a long compile time. :)

Clang's static analysis found just 2 bugs, fantastic! If these tools are to be believed, our code quality is top notch. ;)
/home/bcurtis/workspace/OpenMW/openmw/apps/essimporter/importer.cpp:54:39: warning: Dereference of null pointer
*(image->data(x,y)+2) = *it++;
~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
1 warning generated.
/home/bcurtis/workspace/OpenMW/openmw/apps/openmw/mwmechanics/aicombat.cpp:337:13: warning: Value stored to 'weapRange' is never read
weapRange = 150.f;
^ ~~~~~
1 warning generated.
User avatar
Ace (SWE)
Posts: 887
Joined: 15 Aug 2011, 14:56

Re: OpenMW 0.37.0 (?)

Post by Ace (SWE) »

I've always found Clangs static analyzer to be good at finding actual issues, less good at suggestions.

So it will catch the bugs in your code, but - unlike most proprietary softwares - it's less good at finding places where performance could be easily improved, code made less complex, or redundancy reduced.
Post Reply