News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu

Bliss / Cas-Stunts track editor

Started by Cas, March 08, 2015, 01:16:12 AM

Previous topic - Next topic

dreadnaut

Hey Cas, could it be that I have found a small bug?

When I draw bridges with pillars, I get spans in Stunts.

Cas

#166
Quote from: dreadnautWhen I draw bridges with pillars, I get spans in Stunts.
Yes!  That bug was there for very long and nobody noticed, not even myself. KyLiE pointed it out to me only recently and I've fixed it. The version of Bliss currently in its site has this fixed, but I've already fixed more bugs and have another version ready for upload that includes a clearer use of the backslash option and the possibility to read the manual from within Bliss. I'll try to upload it tonight!

EDIT: Version updated to 2.5.8!   I was trying not to add another version, but I kept finding bugs, so now I put all the bug fixes together and there it is. I think it's mostly bug fixes. The only two new features are that you can now read the manual from inside Bliss and the backslash option works more clearly.
Earth is my country. Science is my religion.

afullo

Thanks for the release!

QuoteNOTE for GNU/Linux users: distros are switching from libtinfo.5 to libtinfo.6. Because I updated my OS, the program is now compiled for libtinfo.6, which will be OK for updated distros, but may fail to work out of the box in older LTSs. If so, the program can be recompiled from source or you may upgrade your libtinfo to version 6.

As expected, it does not work on my Ubuntu 18.04.5:

Quote./bliss
./bliss: error while loading shared libraries: libtinfo.so.6: cannot open shared object file: No such file or directory

But I managed to run the Windows version via Wine/Vineyard. I suppose the question mark highlights when backslash has been pressed and thus two hex digits are required...

Cas

Quote from: afulloAs expected, it does not work on my Ubuntu 18.04.5
I'm not sure if it'll work easily, but you can try doing: sudo apt-get install libtinfo.6. Because the library is newer than other files in your system, I assume it'll have unmet dependencies and will try to install them too (and probably fail, as is common in cases like this... "dependency hell"). It'd be easier if it were the other way around (you having a newer system and installing libtinfo.5), but unfortunately, I currently don't have a comfortable way to compile it that way. I love GNU/Linux, but I hate this shared-library trend. Hard drives today are huge and memory is abundant, why can't fully static compilation be the default and straightforward way of doing the things? Anyway...

Quote from: afulloI suppose the question mark highlights when backslash has been pressed and thus two hex digits are required
Yes. Now if you wait too long or press something invalid, you get back to normal key recognition, so no more "What?  Did it crash?  What happened?" :)
Earth is my country. Science is my religion.

afullo

Quote from: Cas on December 20, 2020, 12:43:44 AM
Quote from: afulloAs expected, it does not work on my Ubuntu 18.04.5
I'm not sure if it'll work easily, but you can try doing: sudo apt-get install libtinfo.6. Because the library is newer than other files in your system, I assume it'll have unmet dependencies and will try to install them too (and probably fail, as is common in cases like this... "dependency hell"). It'd be easier if it were the other way around (you having a newer system and installing libtinfo.5), but unfortunately, I currently don't have a comfortable way to compile it that way. I love GNU/Linux, but I hate this shared-library trend. Hard drives today are huge and memory is abundant, why can't fully static compilation be the default and straightforward way of doing the things? Anyway...

Hmm, I guess there is a certain degree of risk in breaking some other mechanics...

Quote from: Cas on December 20, 2020, 12:43:44 AM
Quote from: afulloI suppose the question mark highlights when backslash has been pressed and thus two hex digits are required
Yes. Now if you wait too long or press something invalid, you get back to normal key recognition, so no more "What?  Did it crash?  What happened?" :)

I see, you have three seconds to input the value, which can be a good time window.

Cas

Also, notice the built-in access to the manual, with hyperlinks and all :)
Earth is my country. Science is my religion.

afullo

Nice! I just compiled Bliss 2.5.8 on my machine with FreeBasic 1.07.1, I attach the executable for libtinfo.5.

Cas

Great!  You even compiled the icon!  I think I'll replace the executable in the package with this. Now, KyLiE has pointed out a little bug to me, so I will probably have to make a change to the source and recompile it in a few days. In that case, I'll let you know
Earth is my country. Science is my religion.

afullo

Don't forget the 32-bit exec!  ;)

Maybe it is rhetorical, but better to point out: executables compiled for libtinfo.5 are compatible with libtinfo.6 (but not vice versa), right?

Cas

#174
Oh, I've just updated the package. I didn't change the version number because it's a minimal thing and well, I now see you've sent me the 32bit one, so it's not in the package. This is what I've done now:

- I had made a mistake and the Windows executable did not have the icon. It's now been added
- Both the GNU/Linux and Windows binaries were displaying rejected replays in R4K in the scoreboard. This has been fixed, but the package still contains the executable you sent me. I thought it'd be more important to maintain compatibility with older distros than to provide that update about the rejected replays, so only the Windows executable has this corrected

To answer your question, no, the libtinfos are different and this is very annoying. If the program is compiled for libtinfo5, it will complain on newer distros just as it does in older distros when it's compiled for libtinfo6. The difference is that it's very easy to fix this in newer systems by doing sudo apt-get install libtinfo.5 whereas in older systems, installing libtinfo.6 may lead to a dependency hell. In a year or so, it'll be better to have Bliss posted for libtinfo.6, as more people will have that natively than the other. I've been considering to make an AppImage out of Bliss, but it looks complicated. I have to learn how to do that.

Something specially annoying is that I know that Bliss does not use libtinfo at all. Libtinfo is, if I know well, an alias for ncurses. This library serves the purpose of providing a layer of abstraction that makes it seem like you can create text mode programs for GNU/Linux in a way similar to what was made for DOS. In reality, these text-mode programs position the cursor and change colours by using console escape codes. This is a lot slower and does not support "extended ASCII", so it's not at all the same. My preference is to only use the GNU console as a console, not as a pseudo-text-mode. If my program is a console program, then fine. Otherwise, I just use graphics mode and render my own fonts. Bliss does not use any console... just pure graphics, so this library should not be a dependency, but FreeBasic makes it one.
Earth is my country. Science is my religion.

afullo

Ok. I just recompiled the executables with libtinfo.5, attached you find both the 32-bit and 64-bit versions.

About libtinfo itself, so it is a bit like the Microsoft .NET Framework, for which more than one version installed at the same time could be necessary to run both older and newer software.

Cas

Thanks!  I'll put the binaries in the package.
Libtinfo is a relatively small API with a very specific purpose, as I understand it. It's not crucial at all, yet it's very commonly included. And for a long time, it has been version 5... in fact, I don't remember having had a previous version. By the time of the previous version, I must have still been very little informed about the GNU system. But  now there's version 6. I expect it won't change for a long time.
Earth is my country. Science is my religion.

Cas

Unfortunately, I didn't realise and the scoreboard gathering function for Race For Kicks was still buggy in the version I last posted. KyLiE noticed the inconsistency and when I went to check, I realised it was more serious than I thought. I had to rewrite that whole part. Now it works fine. So again, I'll need new binaries!  I think I'm going to have to find a permanent solution for this. For now, I'd like at least a stable version 2.5.8. I hope this one is it. I'll post the source file alone here for now.
Earth is my country. Science is my religion.

afullo


Cas

Thank you!  I'll upload them tonight with the rest of the package!
Earth is my country. Science is my religion.