Sabayon Linux likes to play dirty

My friend just mentioned on IRC a rather unusual banner displayed during the installation of Sabayon Linux, somehow involving Debian. I didn’t pay much attention to his claims at first, but then he uploaded a screenshot he’s kindly authorized me to repost:

Screenshot

Isn’t it nice to know there are Linux distributions resorting to over-simplified, uneducated statements to promote themselves? And the banner design itself is ugly as well. I think this merits no further analysis.

After the Storm 0.6.1

A little more than two weeks after the release of version 0.6.0, After the Storm 0.6.1 is out! And just in time for Christmas Eve in Chile, too.

The last couple of weeks have been particularly productive, as I’ve continued to work on AtS Episode II with the help of my loyal assistants vultraz and Espreon, who have been a valuable help providing early feedback, play-testing, and proofreading. In order to keep people busy for a while, this release includes scenarios 4 through 7, and one cutscene-only scenario, adding up to five new scenarios in this version.

Version 0.6.1 was scheduled for this date immediately after 0.6.0’s release, but it was only intended to contain the finished scenario 4, which landed on SVN trunk on December 15th. Since I was left with plenty of time before the original deadline, I decided to continue working on as many scenarios as possible. E2S7 landed on the 22nd, 22:01 UTC. I would have continued working on E2S8 immediately, but since it requires one new unit baseframe, I decided to postpone it and aim for introducing all the final four scenarios in version 0.7.0 when it’s done (most likely by early to mid-January 2012).

For this version, I decided to increase the Wesnoth version requirement from 1.9.7 to 1.9.10, which was already recommended in the campaign description. While there’s no WML code or maps enforcing the version requirement yet, I’ll simply ignore bug reports against AtS 0.6.1 on 1.9.9 and earlier versions since the engine behavior changed a lot between 1.9.8 and 1.9.10 in some areas — it’s simply impossible to keep supporting old development versions now that mainline is releasing 1.9.10 and later as betas for the upcoming stable 1.10. Besides, as a mainline developer I must also encourage people to test the game and report bugs before 1.10!

Should this inconvenience you, I may be able to provide support on a case-by-case basis given a good reason to do so. My general recommendation if your Internet service isn’t good enough to download the bi-weekly Wesnoth 1.10 betas is to just download the latest one and keep it around until 1.10 final is released. By the looks of things, odds are this won’t happen until January.

The changelog for this version of the campaign is unusually long, even though I deliberately omitted some specific additions in the art department — six new baseframes, all made by myself and awaiting revisions in the near future — and unit WML. Since those are tied to the new scenarios, I decided to not spoil it in the changelog.

Version 0.6.1:
--------------
* Increased minimum Wesnoth version requirement from 1.9.7 to 1.9.10.
* Graphics:
* New or updated unit graphics: Sylvan Warden (chained).
* Scenarios:
* Various prose grammar fixes.
* E1S3 - Civil War in the North:
* Removed deprecated flower terrain.
* E1S5 - Bay of Tirigaz:
* Removed deprecated flower terrain.
* E1S6.2 - Elves of a Different Land:
* Fixed a dialog line wrapped in double parentheses.
* E1S9.1 - The Triad (part 1):
* Don't set Elynia's initial status to slowed.
* Fixed animation glitches.
* E1S9.3 - The Triad (part 3):
* Fixed animation glitches.
* E2S2 - The Heart Forest:
* Increased turn limit.
* Reduced initial gold amounts for enemy sides.
* Set initial gold amount for the player.
* E2S3.2 - Revelations:
* Corrected unit facings.
* E2S4 - Shifting Allegiances:
* New scenario.
* E2S5 - The Eastern Front:
* New scenario.
* E2S5 C - The Eastern Front cutscene:
* New scenario.
* E2S6 - The Voyage Home:
* New scenario.
* E2S7 - Proximus:
* New scenario.
* Units:
* Increased Dryad's HP from 43 to 46.
* Increased Forest Spirit's HP from 37 to 40.
* Simplified Sylvan Warden's animations WML, making her less of a resource
hog.
* Removed Kri'tan.

Have fun, and happy holidays!

Miscellaneous Wesnoth loading tricks on Linux

People using development versions or SVN trunk might find it excessively cumbersome to install Wesnoth’s binaries and data files whenever a new version is released (or commit made, for trunk). Since long ago (probably 1.3.x) Wesnoth supports overriding the data directory by providing its path as the last command line argument and, since 1.9.0, it’s also possible to use to use the --data-dir switch to avoid ambiguity with other switches taking path arguments.

Since version 1.5.4 (more specifically, r28934), Wesnoth will also try to locate a usable data directory by itself, by trying to locate data/_main.cfg in the parent dir of the executable file, which is resolved in Linux by making use of the /proc/self/exe symbolic link.

Until today, it had not occurred to me that this makes it possible to link to the Wesnoth binary from any directory, not just one containing the aforementioned WML file. The /proc/self/exe link points towards the final target if the process image is a symbolic link, so you can have a layout like this work as desired provided ~/bin is in PATH:

shadowm@reicore:~$ ls -l bin/wesnoth*
lrwxrwxrwx 1 shadowm shadowm 33 Dec 10 21:09 bin/wesnoth ->; /home/shadowm/src/wesnoth/wesnoth
lrwxrwxrwx 1 shadowm shadowm 37 Dec 10 21:10 bin/wesnoth-1.8 -> /home/shadowm/src/wesnoth-1.8/wesnoth
lrwxrwxrwx 1 shadowm shadowm 40 Dec 10 21:10 bin/wesnoth-1.9.12 -> /home/shadowm/src/wesnoth-1.9.12/wesnoth

The Wesnoth 1.8 binary in this case is compiled with the scons prefsdir option set to .wesnoth-1.8 so conflicts with the development versions can’t occur — those use the custom .wesnoth-1.9 dir instead. Nowadays things seem to be a little more complicated in that regard, as seemingly the game will opt for an XDG layout if there’s no compiled-in preferences dir path on non-Mac, non-Windows builds. According to the EditingWesnoth article on the wiki, 1.8 builds default to .wesnoth1.8. Why the default doesn’t include a hyphen is beyond me.

With things set up like this, I can start Wesnoth from any directory without having to provide my own command line arguments. Of course, you could say this is a rather archaic approach as it’s also possible to create desktop/panel shortcuts instead, depending on the desktop environment. Since I spend more time looking at a terminal emulator with my hands on the keyboard than staring at the wallpaper and desktop icons with the mouse in hand, my own approach turns out to be more efficient for my purposes.

Finally, there’s an even less known feature introduced in r31261 (before 1.5.7) that also makes it possible to omit the --editor or -e switch to start the map editor if the game executable file contains “editor” in its name. This was added as a replacement for the old wesnoth_editor binary that provided the map editor before it was replaced with the built-in version (“editor2”) as part of GSoC 2008.

After the Storm 0.6.0

After the Storm 0.6.0 has just been released, despite the original deadline I set for myself just a few days ago being Christmas Eve. As a consequence, that day will be the deadline for AtS version 0.6.1 instead, which should include a working scenario E2S4 (i.e. fourth scenario of the second episode). Of course, if a major bug arises in the meantime, that tentative version number will have to change.

Apparently, I work faster when I feel the need to deliver within a specific time frame. In this case, the need stems from fear of public humiliation. Probably.

The changelog for this version follows:

Version 0.6.0:
--------------
* Increased minimum Wesnoth version requirement from 1.9.5 to 1.9.7.
* Scenarios:
* Reworked character recall logic.
* Episode 2 (Fate):
* Scenarios 1 and 2 completed.
* Scenario 3 completed, consisting of two cutscenes.
* Units:
* Reduced Sprite's required XP to advance from 70 to 40.
* Reduced Fire Faerie's required XP to advance from 100 to 70.

Regarding the version requirement increase, it’s not so much because of changes in WML syntax but rather because of a new terrain added in 1.9.7 that’s used in E2S2.

GUI2: Editor Settings, Starting Positions and Uninstall Add-ons

After completing the first episode of After the Storm, a short vacation was a logical option so I could return to work later with fresh ideas and more energy. By ‘vacation’ I don’t mean a traditional Wesbreak as most people do, though — quite the contrary, in fact.

For a long time I’ve been bothered by the haphazard-looking design of the Editor Settings dialog. This (already GUI2) dialog’s main focus is a bunch of lighting options intended for map or terrain authors to test what their creations look like under different Time of Day lighting presents, or even custom lighting, which is also useful for campaign designers trying to come up with an atmospheric feel within Wesnoth’s rendering engine limitations.

Before

I don’t claim to be a UI design expert — I’m fairly certain I’m not — but I feel my vision of the dialog is better than the original author’s, and for this reason I recently committed to trunk these changes along with a couple of fixes for related long-standing bugs that were definitely not introduced by me. I think. I hope.

I am not keen on having Title Case on checkboxes, either, but for some reason the wiki says it’s what we should use, so I’m going to stick to that for 1.10 as it’s already used in most places anyway. I hope we can clear that up during the 1.11.x development cycle since even GNOME’s Human Interface Guidelines recommend sentence case for such elements.

(Note to self: rephrase the MDI option label again since “allow having” doesn’t sound proper at all.)

The item selection menu triggered by the Starting Position tool in the editor was a generic GUI1 dialog, until now. I decided to tackle this conversion task and add a feature in the process: existing starting locations are shown in the second column of the player list, in the form of map coordinates. This is not too helpful since we already had keyboard shortcuts to reach starting locations in the map editor (1-9 number keys), but in my opinion looks nice. The giant help tip in the dialog description had to go though, but don’t worry, for the tooltip on the editor palette already provided the exact same information in a more consistent fashion with regard to the other editing tools.

And finally, something more useful for the large majority of the userbase: removing multiple add-ons at once without having to return to the Uninstall Add-ons menu. I have not committed this to trunk yet, though, and I’m not even sure I’ll be able to merge it before the feature freeze in preparation for the final lap towards 1.10 comes into effect.

More on the imminent hard disk crash

As I previously reported, reicore’s hard disk might be dying. This is not surprising in the least, since I have been hearing loud noises from the drive during high activity since a long while — playing vanilla Minecraft is apparently the most straining task for it for some reason. Considering reicore didn’t present any such issues at the beginning, it’s possible the person who gave her to me when bluecore croaked did something bad to her while I wasn’t looking. He’s unlikely to confirm such a thing, though.

A short drive self-test last night revealed that one of the bad blocks is currently part of the very root filesystem. Since I started to consistently hit a bad block while logging into KDE, I decided to run e2fsck -c on all partitions from a Grml live CD system (also Debian-based).

(Yes, I just realized I inadvertently left the swap partition out of the emergency check procedure. I just ran badblocks on it in read-only mode and it appears to be clean.)

Scanning a 466 GiB hard disk for bad sectors isn’t a quick task, but it took just as long as it did with the 1.18 GiB disk on my first computer back in 1998 — about two hours and some minutes — and here are the good news: there are only two damaged sectors, both of them within the root filesystem, and only one file was lost: /usr/lib/libQtDesigner.so.4.7.3, provided by the libqt4-designer package in Debian wheezy.

Why the dynamic linker felt it necessary to access this file while launching Akregator and KMail during the login process is beyond me, but it’s good that nothing was lost, as I promptly reinstalled the package. Either way, I had a fresh pre-upgrade backup in my external 2 TiB hard disk drive ready just in case.

I’ll certainly have to get used to making backups more often than my previous, sloppy biweekly n-weekly schedule. Thanks goodness for rsnapshot.

Giving Debian Wheezy another whirl, and an unpleasant surprise from Reicore

The last time I tried to switch from Debian stable to testing I was hit by a disease known as X.org Server 1.10, and more specifically, fd.o bug #31017, which made my KDE experience less than worthwhile, to say the last. The solution I devised was not particularly productive either.

However, X.org Server 1.11.1 hit Testing a while ago, and it’s what I am using right now — I successfully switched to “wheezy” again, today, and this time it would seem a massive rollback won’t be required, since the aforementioned bug is finally fixed.

I don’t think I can claim the upgrade was smooth, though.

Continue reading “Giving Debian Wheezy another whirl, and an unpleasant surprise from Reicore

After the Storm 0.5.0

The idea of continuing and developing the Invasion from the Unknown storyline further was in my mind from the beginning, and I apparently started to work on a sequel on May 2008, if the Wesnoth-UMC-Dev registry is anything to go by.

After the Storm’s development has been repeatedly impacted and put at risk by various “real life” issues.

Earlier this year, I decided to go back to work on the campaign after a long hiatus — so long I don’t remember how long anymore — but my attempt ultimately failed anyway. I promised a delivery, but the delivery did not happen.

Until I rediscovered the fun in video games. Then, magic ensued.

I said I would try to finish the first episode of the campaign before December. I am glad to say that mission has just been accomplished. After the Storm 0.5.0 is out in the Wesnoth 1.9.x add-ons server, with the first episode (that’s 13 scenarios) complete!

For those who’d rather read a terse piece of text with no emotive speech in it, the changelog for this version follows:

Version 0.5.0:
--------------
* Scenarios:
* 09 - The Triad (part 3):
* Fixed problems with the final cutscene on Wesnoth 1.9.8 and earlier.
* 11 - Return to Wesmere (part 2):
* New scenario.
* Completed episode I.
* Units:
* Removed Skirmisher ability from Elynia.
* Spawners have a small chance of deactivating themselves after spawning a
unit.

I have tried to make sure AtS remains playable on Wesnoth 1.9.8, but my primary development target is still 1.9.9 and support for 1.9.5, 1.9.6 and 1.9.7 is mainly theoretical at the moment. If you encounter any “Invalid WML errors” or such, and you are using Wesnoth 1.9.7 or earlier, try with Wesnoth 1.9.8 or 1.9.9 instead if you can, and give me some feedback in the forum thread so I can address any such issues as soon as I may.

I take this opportunity to remind you that you can also find and follow me on Twitter as @irydacea or join my personal channel ##shadowm in the freenode IRC network.

Have a lot of fun!

Wesnoth.org DNS issues

Wesnoth.org appears to have DNS issues at the moment, resulting in the site’s address being impossible to resolve to a numeric address (IP) for most people. We are doing everything that’s possible at the moment to restore it.

UPDATE: Apparently, it’s been solved already. However, the new records could still take some time for some people to have an effect due to DNS caching.

UPDATE 2: My own evidence indicates that it’s not solved yet.

UPDATE 3 (Oct. 3rd): It’s solved now. Some DNS servers could still claim wesnoth.org doesn’t exist, so just give them a few more hours.

If you trust me (since I’m the forum administrator and all), you can follow these simple instructions to fix your access to Wesnoth.org’s services in the meantime. If you don’t feel comfortable editing system files or don’t have admin access, you can try connecting directly to Wesnoth.org’s current IP, 65.18.193.12, but this will not work correctly with the wiki and forums which use the wiki. and forums. subdomains.

Do note that what I describe should be considered a temporary workaround. If Wesnoth.org’s IP changes in the future, you’ll need to remove any hosts file entries you added.

Note: make sure to backup your /etc/hosts file first in case you accidentally delete its previous contents, which could cause some applications to behave incorrectly.

  • Edit the file /etc/hosts with a plain text editor such as gnome-editor, Kwrite/Kate, vi/vim, Emacs, and such.
  • Add the following line to it and save:
    65.18.193.12 wesnoth.org www.wesnoth.org forums.wesnoth.org wiki.wesnoth.org add-ons.wesnoth.org server.wesnoth.org coc.wesnoth.org replays.wesnoth.org bugs.wesnoth.org
  • Done!

An alternative is just issuing the following command as administrator. Notice that it uses >> instead of the usual > in order to append rather than replace the file!

# echo "65.18.193.12 wesnoth.org www.wesnoth.org forums.wesnoth.org wiki.wesnoth.org add-ons.wesnoth.org server.wesnoth.org coc.wesnoth.org replays.wesnoth.org bugs.wesnoth.org" >> /etc/hosts
  • Login with an account with administrator access.
  • Edit or create the file C:\WINDOWS\System32\Drivers\etc\hosts with a plain text editor such as Notepad (replace C:\WINDOWS with the correct installation path of your OS if necessary.
  • Add the following line to it and save:
    65.18.193.12 wesnoth.org www.wesnoth.org forums.wesnoth.org wiki.wesnoth.org add-ons.wesnoth.org server.wesnoth.org coc.wesnoth.org replays.wesnoth.org bugs.wesnoth.org
  • Done!

Unfortunately, I have no idea about Mac OS X since I’ve never had an Apple computer. If anyone knows more than I do, feel free to post a comment explaining the steps.

After the Storm 0.4.0

What should have occurred last March or April occurred now, instead.

After a record break of 6 months I got back to work on scenario 9 of After the Storm and completed it, in a fairly different fashion than I originally planed. Still, it’s another step towards completion of Episode I. Version 0.4.0 is available for download now in the 1.9.x add-ons server and SourceForge.net.

I think I have avoided to spread many spoilers about AtS’ plot since day zero; there were, of course, some early storyboards circulating around the forums and IRC at the beginning, but as I’ve been saying for quite a while, they are no longer canon and I am departing from the original plan on purpose.

I am fully aware that some people will not like my choices in 0.4.0, and they may even seem blasphemous, but the truth is I scattered enough foreshadowing everywhere to prepare them for the time being. What are these choices I speak of, anyway? Too bad, you’ll have to play the campaign to find out!