Lyon

Discuss how totally awesome Bang! is here.

Moderator: Terryn

Spectere
wants to have your babies.
Posts: 83
Joined: Wed Jan 26, 2005 11:13 am

Re: Lyon

Post by Spectere »

Saxxon wrote:This can be done using the NAudio library for .NET, which I have been using in a number of other projects. (EDIT: On second thought, since I'm just generating the headers myself, I could probably just generate the wave data myself too.)
I haven't worked with NAudio, personally, but I've heard good things about it. I generally just set up the formats and do the grunt work myself, but that's probably not the best idea for something that a lot of people are going to use. ;)
Saxxon wrote:When I add commit access for you, it can be added in the main branch :)
Woo!
Saxxon wrote:Speaking of which, what's the account so I can add you? (You can PM it to me if you wish.)
spectere <at> gmail <dot> com

Feel free to e-mail me at that address if you need to get in touch with me. I always have access to that account.

User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

You're added now. :)

User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

If anyone's curious what we've been up to:

http://code.google.com/p/roton-zzt/source/list

Since it is now purely C#, you should be able to build it with C# Express Edition. You can also use the Mono compiler since the DirectX dependency has been removed (we will be replacing it with OpenTK). Sound is a little lacking for now as a result- we are currently using the managed API for this as a fallback.

User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

I also found this to be interesting and somewhat relevant to a web-based version. He uses Canvas, just as I was originally planning to:
http://www.evilpaul.org/wp/?p=504

Spectere
wants to have your babies.
Posts: 83
Joined: Wed Jan 26, 2005 11:13 am

Re: Lyon

Post by Spectere »

I created a branch with experimental audio support via OpenAL. There are a few minor buffering issues at this point, and it seems like some #play lines can cause the audio system to have a meltdown (still looking into that), but in general it seems to work fairly well.

I haven't tested this on OS X yet, but I have tested it on both Windows and Linux. I tested it on my old laptop (a Dell Inspiron 9300 running a pretty modest 1.73GHz Pentium M and using Lubuntu) and the audio showed the same minor buffering artifacts that my i7-based machines do.

If you guys want to check this branch out, you can fetch it with the following command:

svn co http://roton-zzt.googlecode.com/svn/branches/nuaudio/ roton-zzt-nuaudio

Spectere
wants to have your babies.
Posts: 83
Joined: Wed Jan 26, 2005 11:13 am

Re: Lyon

Post by Spectere »

FYI for anyone using Macs, I just tested it on mine and the audio playback is kinda funky. The square wave tones sound fine, but the percussion sounds so odd that it's almost hilarious.

Windows and Linux seem to both be fine. Outside of the occasional oddity (the end of the Mission: Enigma "Evil Theme" causes sound to shut off until you press "B" twice) and occasional buffering issue (sounds like an underrun), it doesn't sound half bad. Repeating note don't blend together like they do in some versions of DOSBox, so there's also that.

Edit: I fixed most of the audio issues tonight. I took Lyon through a tour of MUSICBOX.ZZT and it sounded pretty good!

Edit 2: Correction: I fixed most of the audio issues tonight assuming you own an X-Fi (if you don't have one, your audio will suck). Heh. x.x

User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Slowly getting other obscure bugs (or features?) fixed.. Triplet 16ths and 32nds now play the proper long notes.

User avatar
Commodore
fgsdfs
Posts: 2459
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: Lyon

Post by Commodore »

Hmm, I can't get it to run. I used xbuild to compile it. I had to download opentk and edit the Roton project file to point to OpenTK.dll. I get and error when I use mono lyon.exe

Looking into the missing .so file, it seems to be a part of Cairo, and Mono, but even though I have these, I can't find it.

I'm using Slacko Puppy linux so I don't have apt-get to update things, the current slackware package for cairo is version 1.10.2 and Mono is ver 3.0.0
Attachments
capture16314.jpg
*POW* *CLANK* *PING*

Spectere
wants to have your babies.
Posts: 83
Joined: Wed Jan 26, 2005 11:13 am

Re: Lyon

Post by Spectere »

For whatever reason, you're missing the GDI+ library on your system. It's generally installed along with mono, but maybe that's not the case with Puppy.

You can find the source here if you want to build your own: https://github.com/mono/libgdiplus. From the look of it, it looks like it's just a "./autogen.sh && configure && make && sudo make install" job.

User avatar
Commodore
fgsdfs
Posts: 2459
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: Lyon

Post by Commodore »

I downloaded the zip and installed it as you said, but I get the same error. Using file search, I cant find it anywhere, so the install it seems didn't make such a file.
*POW* *CLANK* *PING*

Spectere
wants to have your babies.
Posts: 83
Joined: Wed Jan 26, 2005 11:13 am

Re: Lyon

Post by Spectere »

It might not be liking the fact that it's in /usr/local/lib. You won't have to run autogen.sh again, since configure has already been generated, so try the following:

make clean
./configure --prefix=/usr
make
sudo make install

Alternatively, you could hop into /usr/local/lib and move the .so and its symlinks (if it has any) into /usr/lib. There might be other files that it relies on, though.

Also, how did you initially install mono? Was it via a Slackware-provided package?

User avatar
Commodore
fgsdfs
Posts: 2459
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: Lyon

Post by Commodore »

Well I got stuck. I honestly don't know how I installed mono. I thought I did it through the xwindows application included called "puppy package manager" because that's how I just uninstalled it, but now searching through the application repositories, I can't find the mono package to reinstall it.

I also suspected it was part of this image file that you need to install to puppy to a give it the make command, devx, but I reinstalled that and no mono. Damn my deleting ways. Might be time to put a proper linux on this netbook. (if only for zzt!)
*POW* *CLANK* *PING*

Spectere
wants to have your babies.
Posts: 83
Joined: Wed Jan 26, 2005 11:13 am

Re: Lyon

Post by Spectere »

Ooh...yeah, and you're missing out on some half-decent audio support, if I do say so myself. ;)

Unfortunately, Slackware is probably the only major distro that I haven't really used, and I haven't used Puppy at all, so I'm completely unfamiliar with the package managers in question.

If you're looking for a light and trim distro with a rich selection of applications, you may want to give Lubuntu a shot. I generally stay far away from Ubuntu and its variants (in my experience, it doesn't perform well, it's buggy, and they have an annoying tendency to experiment on their users), but that particular branch amazed me. I loaded Lubuntu up on my old laptop after noticing that the Xubuntu team managed to make Xfce4 run slowly (not an easy feat, believe me) and it's unbelievably fast with the advantage of having an amazingly full package library.

The interface is fairly sparse, but it bears enough of a resemblance to Windows 9x/2000 that it's easy to use. I believe the media keys worked out of the box and, best of all, by default it shares some handy shortcuts with Windows (most notably Win+R for a run prompt).

Like all Ubuntu distros, you can grab a LiveCD and play around with it before installing. I know you like your environments lean and mean, so I think you'll like it.
Last edited by Spectere on Fri Feb 08, 2013 3:01 am, edited 1 time in total.

Spectere
wants to have your babies.
Posts: 83
Joined: Wed Jan 26, 2005 11:13 am

Re: Lyon

Post by Spectere »

Oh yeah, status update. I fixed the glaring buffer issues on software buffered sound OpenAL implementations and properly implemented rests and percussion durations. Saxxon and I also fixed triplets and time-and-a-half notes. Saxxon also made a number of changes in the trunk, which I merged into the nuaudio branch.

Saxxon also created a new event timer that seems to fix some issues that we had with keeping the game in sync on my Mac (though I'm not sure if it's because of the timer's accuracy, "weight," or the fact that Mono's GDI+ implementation on OS X is horrendously slow).

And there you have it, folks!

User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

I merged the nuaudio branch into the trunk. Sounds good on my Windows machine, but I did have to install OpenAL separately. I'm very impressed with how well this works.

With the changes to the UI, there were some parts of the SuperZZT UI that weren't implemented, so I'll be fixing these (stuff like cheat UI, "end this game", etc)

Post Reply