ToME 2 maintenance

Everything about ToME 2.x.x. No spoilers, please

Moderator: Moderator

Message
Author
Castler
Thalore
Posts: 153
Joined: Mon Mar 25, 2013 10:09 pm

Re: ToME 2 maintenance

#316 Post 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.
Qi Daozei (QDZ) - an Oriental-themed fantasy game for T-Engine. ToME Tips - auto-generated spoilers for ToME.

Lord Estraven
Uruivellas
Posts: 712
Joined: Tue Dec 13, 2005 12:35 am

Re: ToME 2 maintenance

#317 Post 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.

Castler
Thalore
Posts: 153
Joined: Mon Mar 25, 2013 10:09 pm

Re: ToME 2 maintenance

#318 Post 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.
Qi Daozei (QDZ) - an Oriental-themed fantasy game for T-Engine. ToME Tips - auto-generated spoilers for ToME.

Lord Estraven
Uruivellas
Posts: 712
Joined: Tue Dec 13, 2005 12:35 am

Re: ToME 2 maintenance

#319 Post by Lord Estraven »

[Edit: moving this discussion to its own thread]
Last edited by Lord Estraven on Wed Mar 02, 2016 2:39 pm, edited 1 time in total.

AnonymousHero
Spiderkin
Posts: 482
Joined: Sat Mar 18, 2006 12:48 pm

Re: ToME 2 maintenance

#320 Post 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.

Lord Estraven
Uruivellas
Posts: 712
Joined: Tue Dec 13, 2005 12:35 am

Re: ToME 2 maintenance

#321 Post by Lord Estraven »

Aye, taking it to a different thread.

darwin
Higher
Posts: 63
Joined: Mon Nov 10, 2008 2:11 pm
Location: USA
Contact:

Re: ToME 2 maintenance

#322 Post by darwin »

If there's a new source archive, please post it.

AnonymousHero
Spiderkin
Posts: 482
Joined: Sat Mar 18, 2006 12:48 pm

Re: ToME 2 maintenance

#323 Post 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.

darwin
Higher
Posts: 63
Joined: Mon Nov 10, 2008 2:11 pm
Location: USA
Contact:

Re: ToME 2 maintenance

#324 Post 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.

AnonymousHero
Spiderkin
Posts: 482
Joined: Sat Mar 18, 2006 12:48 pm

Re: ToME 2 maintenance

#325 Post 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 :(.

Lord Estraven
Uruivellas
Posts: 712
Joined: Tue Dec 13, 2005 12:35 am

Re: ToME 2 maintenance

#326 Post 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.

Post Reply