Saturday, August 18, 2012

Updated Gource visualization of the Haiku Git repository

I had done a version of this around 5 months ago, but had a few glitches in it due to features that weren't working at the time (since fixed), and some bugs in the physics parts of Gource that I since learned how to work around... so recently in response to a request for an updated version in relation to an upcoming Haiku on-line conference, "Haiku Down Under 2012 - Beta Blockers", I decided to tackle it again and make a slightly improved version.

Just to be clear, the conference starts tomorrow morning Australian time, but actually tonight at 7PM EST time (Sunday 19st August, 2012 - 9AM (GMT +10))! So be sure not to miss it! See the conference website for more information. Also try this time zone converter: http://wwp.greenwichmeantime.com/gmt-converter/ I found it easier to use than the one linked on the conference website.

For convenience I'll include the full description here;

Visualization of activity on the Haiku OS git repository done with Gource.

https://www.haiku-os.org/ http://code.google.com/p/gource/ https://www.haiku-os.org/guides/building/get-source-git

I used a combination of the Gravatar script ( http://code.google.com/p/gource/wiki/GravatarExample ) and some custom done icons for some of the users, replaced the default user icon with a modified "People" icon from Haiku, dropped in the Haiku logo, and did a number of other tweaks.

Command line:

gource --hide filenames -c 2 --load-config gource.cfg --max-user-speed 100 -r 25 -o gource.ppm

Encoding line:

ffmpeg -y -i audio.mp3 -vcodec ppm -r 72 -f image2pipe -i gource.ppm -vcodec mpeg4 -r 29.97 -preset veryslow -q:v 1 -threads 8 -b:v 10000k -bf 0 -comp_duration 204 -ac 2 -acodec copy gource.mp4

Config file:

[display]
viewport=1280x720

[gource]
auto-skip-seconds=0.01
camera-mode=overview
default-user-image=person.png
font-colour=ff7600
hide=progress
highlight-colour=ffe980
dir-colour=d5eaff
#highlight-dirs=true
highlight-users=true
key=true
logo=HAIKU logo - white on transparent - small.png
seconds-per-day=0.01
stop-at-end=true
time-scale=1.2
user-image-dir=.git/avatar/
user-scale=8

This is about as good as I could get the video without the size being too excessive.

I also kept having trouble with YouTube making all my video uploads into grey pixelated useless garbage. :( So I'm trying this one as MPEG4 to see if it makes a difference.

I might do a nice 1080p copy of this after my new monitor arrives, if I can get this YouTube video scrambling problem figured out, and if I can free up enough disk space.

I decided to add music to this version on the suggestion of someone in #haiku... and I think it adds a fun little twist to it. The selection I used was "Flight of the Bumblebee", which seemed perfectly fitting to the frenetic pace of the development shown in the video.

Friday, August 10, 2012

ioQuake3 update for Haiku

Over the past several days I've been playing with some of the open sourced id code on Haiku. As part of that I decided to try updating the version of Quake3 that was in Haiku Ports.

Based on some of the previous patches that were submitted, and some invaluable help from the folks in #haiku, I updated the ioquake3 open source version to the latest revision (r2306 as of today) and got it to compile and run again.

You need one of the latest Haiku nightly revisions, an install of SDL 1.2.15 from Haiku Ports (or from installoptionalpackage), and the proper pak files (either official ones from id with the accompanying q3key file(s), or possibly some open source versions but I'm not sure about those) as prerequisites. It won't compile and run properly without these.

Currently the frame rate is unplayably low (2 to 4fps on default settings) due to the current lack of hardware acceleration. So even with the details turned down etc you're probably not going to get more than about 7 to 10fps at most.

I was playing it yesterday just fine on Haiku r44483 gcc2h on bare metal (installed directly to my hard drive), but today when I was finishing up the patch and bep file on Haiku r44507 gcc2h while running under virtualbox, I kept getting KDLs (system crashes to the kernel debugger) after I exited the game.

I've submitted the updated bep and patch to Haiku Ports, and a bug report about the KDLs to Haiku's Trac.

If you want to try this out yourself, first make sure you have HaikuPorter installed (follow the directions on the main HaikuPorts page), then grab the r2306 bep and patch I submitted and place the bep file in "/boot/common/develop/haikuports/games-fps/quake3/" (you'll probably have to create the "games-fps" and "quake3" folders), and then place the patch file in "/boot/common/develop/haikuports/games-fps/quake3/patches/". Then run "haikuporter -i quake3" to compile and install it.

I haven't tested this under a gcc4/gcc4h build yet, so I have no idea if that works or if it performs any differently.

Although I'd like to hope that this might help motivate some folks to work more on the hardware acceleration issue, I think the issue is more complex than that. The up to date Mesa builds require gcc4, and probably any related stuff like current hardware drivers for the video cards etc... so it's impractical to consider both a fork and a backport of these to gcc2 that would have to be maintained independently etc.

So we probably aren't going to see a lot of improved features like this in Haiku until after R1 (the first full official release of Haiku, meant to have binary compatibility with the last release of BeOS, which was gcc-2.95.3 based) when the builds can switch to gcc4 as the default and pull a lot of modern code into the main official build.

The "Team Arena" mission pack seems to work fine as well, as shown below.

New red/green color blind friendly Pe icons

Well, for those who are red/green colorblind like I am at least. ;)

Since I started using Haiku this has always been an irritation to me and up until very recently I didn't even have a clue that the StyleEdit and Pe icons were actually different colors. I thought they were both yellow.

Only when I finally got fed up with confusing the two did I finally take a very close look in preparation to change the color and notice that the Pe icons were in fact green and not yellow.

Here's some of the description from a bug report I filed on the issue;

For people who have red/green deficient vision, the icons for StyleEdit and Pe are almost indistinguishable, especially at smaller sizes where the slight difference in the pencils becomes less pronounces and the overall color of the icon (from the paper) becomes the major visually distinguishing factor.

This is the most common form of color blindness, affecting from 7% to 10% of males.

These 2 links give you an idea how the icons look to color deficient folks. (For me the lightness/darkness is even less pronounced and the papers appear essentially identical.)

So to make a very clear differentiation, I redid both the color of the paper and the writing on the paper (borrowing from the XEmacs hvif icon).

More recently I started working on the Doom 3 source code here on Haiku and again got irritated by not being able to tell the file type icons apart, so I made up new icons for the different Pe filetypes using a variation on the main Pe application icon. So the little document papers have pseudo-code style writing on them instead of the plain lines of a normal text document.

Yes I know about the iodoom3 project. The problem for me was that the iodoom3 source currently is in much worse shape than the albertz repo. Albertz and others already did a lot of work to add things like FreeBSD support and clean up a lot of the numerous warnings in the code and generally make it a lot nicer to work with. So that is the code I decided to work with.

I then used the FileTypes application to drag and drop replace the icons for the main Pe file types.

Just drag the new icon onto the icon preview in the Icon box and it will replace that icon for the selected file type.

Once I'd done that, I could easily distinguish StyleEdit, Pe, and unassociated file types in Tracker and I was a very happy camper.

And last but not least, here are the actual HVIF Pe icons: Download PeIcons2.zip