nemo's blog

32bit linux now works again using pas2c.

A bit of history. With Hedgewars 0.9.23, we shifted to SDL2. While there were a fair # of SDL2 related issues that had to be addressed, there was one we didn't notice. Unbeknownst to us, FreePascal had an alignment bug. This was triggered by a CPU feature detection in SDL2 which could not be disabled, causing instant crashes.

It took a while for us to be aware of this since there aren't many 32 bit linux users, and many of them were on a long-term stable like Debian. Eventually they caught up and the error report feedback flooded in, this year in particular with 0.9.24.
I did reply to many of these feedbacks, but Google tends to send my emails to the Spam folder (which GMail users never check), so I got few responses.

With 0.9.25, we reenabled pas2c. What is pas2c? It was a tokeniser written in Haskell long ago by unc0rr to support the emscripten toolchain. At the time it went something like this. Pascal source —(Haskell tokeniser)→ C sources —(Clang)→ LLVM —(Emscripten)→ Javascript.
This worked, and we got an actual playable hedgewars in web browsers. Unfortunately the project has not been maintained.

Fortunately, pas2c still exists, so after some tweaking of the source code and fixing a few errors, it was usable once more for build purposes. You can use it to target any platform clang supports, extending the supported platforms for distros quite a bit.
We also attempted to force-enable it in CMakeLists.txt for 32 bit linux - you can see that here:
https://hg.hedgewars.org/hedgewars/file/06672690d71b/CMakeLists.txt#l72

The upshot is that Haskell is now a required dependency for 32 bit linux builds. The good news is that clang is a bit better at optimisation than FreePascal, so in general things load and run faster if you build using pas2c.

0.9.23 tries to catch files that might crash the game early. A few bad HWPs have been floating around that could cause this.

• Any that have an old version of the Beach theme - beach is now an official theme and they are likely to mismatch.

• Hedgecraft - unfortunately the Hedgecraft HWP was badly packaged and overrides rubber globally, instead of just in the mod.

Any lua script that modifies key images that could change the map like girder, rubber or theme objects needs to be packaged like this:
MAIN.HWP → script.lua, script.hwp

With the override graphics of the script.hwp kept safely tucked away.

That way script.hwp will only be loaded when script.lua is launched.

Anyone feel like testing a beta?

As usual w/ betas, we haven't added much content yet, art might change etc. If anyone has content they totally feel should be included, feel free to package something up. Ideally as a proper hwp for easy testing/inclusion.

Anyway, after firing up the Windows VM and issuing the usual imprecations, the following was produced:
Windows 0.9.22-BETA2

As usual, Linux users are hopefully using:
Building on Linux
to stay up to date, and OSX users are SOL until an OSX user does a build.

To do your own build, please use revision 599bb42d7448 (hg pull -u;hg up -r 599bb42d7448;cmake .;make install)

*beta bump - few bug fixes, techracer changes, nothing too dramatic. we are slackers.

Hedgewars 0.9.21 Release Candidate

So, one year later...

Yes, there's still lots of stuff we'd like to do, and not all of it is in here, but we do have to draw the line somewhere right?

Testing would be very much appreciated. Apart from possibly adding new content such as themes or hats, there are no planned code changes unless bugs are found. So, if you would like to avoid bugs in the next release, now's the time to test!


Windows build:
Download and unpack this zip

For Linux:
We tend to have a fair number of Linux testers using our fairly copy-and-paste Building on Linux instructions already. Those should still apply, but it is strongly recommended to run:

cd ~/hg/hedgewars/trunk;hg pull -u;hg up 9819e69bc6db;cmake .;make install

To ensure you are in sync with the revision used to make the Windows build.

http://hedgewars.googlecode.com/hg/ChangeLog.txt?r=9819e69bc6db change log here, although it might be missing one or two things, should give an idea of what to test.


[EDIT by sheepluva]

Since construction mode is supposedly one of the bigger features of next release I hereby remind you guys of testing it :)
Also feel free to check out Tech Racer!

Please help us test 0.9.21 beta

Testing in Progress

Greetings beta testers!

Man, sure has been a long time since the last release right?
Well, there are a few new goodies for you guys.

This is NOT the release candidate. For release there might be minor features tossed in, new themes and other content that often gets collected at the last minute.

But, we aren't planning to add anything significant this release, so please test what's been added so far!

Windows build:
Download and unpack this zip

For Linux:
We tend to have a fair number of Linux testers using our fairly copy-and-paste Building on Linux instructions already. Those should still apply, but it is strongly recommended to run:
cd ~/hg/hedgewars/trunk;hg pull -u;hg up 5ae7ba0b2849;cmake .;make install

To ensure you are in sync with the revision used to make the Windows build.

http://hedgewars.googlecode.com/hg/ChangeLog.txt change log here, although it might be missing one or two things, should give an idea of what to test.

Syndicate content

User login

Copyright © 2004-2017 Hedgewars Project. All rights reserved. [ contact ]