Page 22 of 22
Re: ToME 2 maintenance
Posted: Sun Feb 28, 2016 2:14 am
by Castler
Lord Estraven wrote:So just a heads up, Clang and GCC support for C++14 are both really iffy on Ubuntu 14.04 LTS, and probably also on Debian Stable. I'm guessing there are a lot of people using LTS as their main desktop; seeing as Canonical loves to break things all the time in non-LTS versions...
Anyway, from what I've read on the subject, there are subtle incompatibilities between C++11 and C++14. As such I'm not sure it's a good idea to move fully to C++14 right now. Personally, I would probably want to hold off until the next LTS version of Ubuntu.
That said, I'm not the C++ programmer here. YMMV.
Edit: on a side note, I've been reading Effective Modern C++, and it's almost enough to put me off C++ completely! It seems as though C++11/14 features introduce many, many new possibilities for undefined behavior at runtime, which can be difficult to detect while writing and compiling code.
What incompatibilities are you running into between C++11 and C++14? I know that GCC's C++11 introduced a
new ABI that's not backwards compatible, but I'd though that C++14 was relatively minor. The ABI issues can be handled by adding "-D_GLIBCXX_USE_CXX11_ABI=0" to your compiler command on distros like 14.04 that still use the old ABI; see
here.
For our C++11 work on Ubuntu 14.04 LTS, we enabled the
toolchain test builds and used latest compilers and libraries from there, for full C++11/C++14 support. However, this is all on systems we control; it's probably kind of radical for a game you're distributing to others. For Clang, I think you could probably install the latest version from
llvm.org's repositories for full C++14 support then distribute the binaries to people without taking further special action, but I haven't tried this.
Similarly, I'd thought that a lot of the changes in C++11 and C++14 and "modern" C++ were supposed to
reduce undefined behavior. (Smart pointers are less error-prone than manual memory management, class initializers make uninitialized member variables less likely, etc.) That's been my experience, at least. I haven't read
Effective Modern C++ yet, so I could easily be missing stuff.
Re: ToME 2 maintenance
Posted: Sun Feb 28, 2016 4:35 pm
by Lord Estraven
@Castler thanks...
It's quite possible I'm misinterpreting what I've read of Effective Modern C++. As I said, I'm not a C++ programmer by profession.
Re undefined behavior - on further reading, I think I have that wrong. Not undefined behavior, so much as lots of gotcha conditions. Meyers describes what seem like a lot of cases, mostly involving the functional programming features; where not-very-obvious mistakes can lead to code that compiles, runs, and does something you don't want.
Granted, it's not like C is any different in that respect. But C has far, far fewer rules to remember.
Re: ToME 2 maintenance
Posted: Tue Mar 01, 2016 2:16 am
by Castler
If you do come across any specific questions regarding C++, I'd be glad to try and answer them. C++ is where I spend most of my day job.
Lord Estraven wrote:Granted, it's not like C is any different in that respect. But C has far, far fewer rules to remember.
I can definitely agree with you there.
Re: ToME 2 maintenance
Posted: Wed Mar 02, 2016 3:10 am
by Lord Estraven
[Edit: moving this discussion to its own thread]
Re: ToME 2 maintenance
Posted: Wed Mar 02, 2016 5:48 am
by AnonymousHero
Lord Estraven wrote:
(snip bits about C++ best practice)
Could you please take it to a different thread? While it's an interesting question, it's cluttering up the thread quite a bit.
Re: ToME 2 maintenance
Posted: Wed Mar 02, 2016 2:38 pm
by Lord Estraven
Aye, taking it to a different thread.
Re: ToME 2 maintenance
Posted: Wed Mar 08, 2017 2:38 am
by darwin
If there's a new source archive, please post it.
Re: ToME 2 maintenance
Posted: Wed Mar 08, 2017 6:11 am
by AnonymousHero
darwin wrote:If there's a new source archive, please post it.
Do you really mean "source"? You can always download source archives from
the GitHub repository with the "Clone or Download" button. Just press that and press the "Download ZIP" link.
Re: ToME 2 maintenance
Posted: Wed Mar 08, 2017 6:26 am
by darwin
AnonymousHero wrote:Do you really mean "source"? You can always download source archives from
the GitHub repository with the "Clone or Download" button. Just press that and press the "Download ZIP" link.
No; I mean source code's location archive--the above URL (hadn't been posted in this thread after years.) Though, I'm still wondering if there will be a future standard numbered version or if I should just try the version from git.
Re: ToME 2 maintenance
Posted: Wed Mar 08, 2017 6:30 am
by AnonymousHero
darwin wrote:AnonymousHero wrote:Do you really mean "source"? You can always download source archives from
the GitHub repository with the "Clone or Download" button. Just press that and press the "Download ZIP" link.
No; I mean source code's location archive--the above URL (hadn't been posted in this thread after years.) Though, I'm still wondering if there will be a future standard numbered version or if I should just try the version from git.
Ah, the repository URL? I'll add an edit to the first post just to make it clearer that it's moved. Thanks the heads-up!
I've been holding off on releasing a numbered version because there's still a couple a few big things in there, but not yet necessarily "stable". I'd like to avoid having to maintain a separate "release" branch -- my time for maintenance is already stretched thin enough as-is

.
Re: ToME 2 maintenance
Posted: Sun Oct 08, 2017 1:06 pm
by Lord Estraven
Either a bug or a missing feature: actions by inscription seems not to work.
What's expected: adding an "inscribed with" entry to an automizer rule creates the entry
What happens instead: the entry is not created, as if I'd hit escape instead of return
I'm mostly free today so I'll try to create a patch and push request.