The Dragon King
Mamehooker WIP 
Sunday, February 21, 2010, 05:56 PM - Mame Hooker
Right now mamehooker is the app in active development, mostly for personal reasons. (My cab is getting a hardware upgrade atm.) So I thought I would share my progress.

I saw headkaze's controls.dat viewer and how it can display secondary artwork on a secondary screen and thought that would be a good layout to make for mamehooker considering it supports display layouts. Then I remembered that mh doesn't support pngs, full path names, aspect ratio preservation, nor does it use the "%rom%" flag when loading images in a ".dis" file. Luckily all of this is easy to implement, so I took 20 minutes and added it all! Also I found some nice example code for vb6 that loads pngs purely with gdi+, which means I get to omit png librarys and the like. This is good news for some of my aging vb6 apps as I can remove the functional, but very slow libpng.

I also thought about the dream cheeky missile launcher support and realized how silly it would be to add it. I don't want to be adding hid devices for the rest of the app's life. This lead me to a better idea. Namely all hid devices support pure byte writing to control them. I will instead add a generic hid function that allows you to send a byte string to a device. All you need is the vendorId ProductId and Device number. And trust me, if you know enough about the device to know what raw bytes to send to it then these things are easy to obtain. I'll try to add this for the next version and also support for the DC missile launchers in the form of mamehooker scripts for each direction. If I can successfully do this then, in theory any future input devices that are made for the community can be supported without me, ensuring the app a long life!

Mame Hooker 3.0 
Saturday, February 20, 2010, 12:25 AM - Mame Hooker
After a very lengthly absence, my first NEW piece of software!

Mamehooker adds a ton of features and bugfixes. Main highlights include support for wiimotes, xbox 360 controllers, speech synthesis and more. For those of you that want a more lengthy "what's new" read the readme. I would post it but the last version of mamehooker released to the public was 2.1 and we are on 3.0 now. The link is in the interop section to the right.

While we are on the subject, the mamehooker section will be redesigned to include sample scripts, layouts and real-life examples. Also we've started a mini-project of documenting all the outputs in mame. I will be working on all of that next. Also the source code will be up soon, but I need to clean out the source folder first.

Don't Call it a Comeback...... 
Tuesday, February 16, 2010, 03:22 PM - General Site News
Almost two years to the day when I left and the Dragon King website is finally back in action! I haven't been sitting on my laurels these past couple of years either, so there are a lot of releases to look forward to. I have finally made the jump from xp to windows 7 and thus now is the time to clean house on all my out-standing projects. Couple that with the fact that I have been doing various hardware-related projects during my hiatus and this god-awful weather we have all been having and this means that the site is going to expand greatly over the next few months.

The first thing you'll notice is a "games" section to the right. Yes I do make games from time to time, but I seldom release them in any grand fashion. I'll be adding more games as the week progresses.

Upcoming releases will also include a non-emulation related section, a GREATLY expanded misc-utilities section, a "my cabinets" section for those of your who bug me about pics of my cabs, a "hardware hacks" section and a brand new release of mamehooker and johnny 5.

All of these things I mentioned are ready to go, they just need uploaded to the site, so they WILL be released. Just be patient as it will take me a while.

Goodbye.... 
Monday, February 25, 2008, 11:48 AM - General Site News
No news isn't always good news I'm afraid. I've spent the last week or so struggling over this decision and believe me when I say it's been a difficult one for me. After a lot of soul searching I've decided to leave byoac forums indefinately. It just seems like it isn't a healthy environment for me to be involved in anymore. Before speculation as to why I'm leaving pops up everyone needs to know that it's no one person's fault or even any group of person's fault, I just feel I will be a lot healthier and happier on my own. I hold no ill-will towards anyone and I hope by explaining myself somewhat I will be leaving on good terms. I honsetly feel like a pompus jerk making a big announcment like this, but when somebody who's been on the forums nearly every day for 10 years suddenly leaves in the middle of a big release the rumors get started as to why they left, so I wanted to squash that right here and now.

I just want to leave to keep some of the stress off of me so let's leave it at that.

This doesn't mean I won't be making applications and utilites anymore, it simply means that the general public won't be a part of the process and I'll release them whenever, without wip or warning. Unless it's a brand new app I probably won't even make a news announcment on byoac's main page, so you'll have to check my homepage regularly. You might see me make a brief visit once in a blue moon, but definately not anytime soon. If you want to get ahold of me, you'll need to do so here or via email as I won't be checking my byoac stuff anymore.


Of course I realize the irony of this announcment as I've just recently moved my homepage to the byoac server. To be honest I haven't figured out what to do on that front. Saint has always treated me like gold, for better or worse and he was nice enough to give me this space after oscarcontrols went down. I'm not sure how appropriate it is for me to keep the space considering I won't be contributing to byoac directly anymore. On the other hand, I don't want all of my applications wiped from existance and would like them to still be available to the community if they should want them. I'm thinking about setting up my own web-space, but I'm not sure if it'd be worth it, because I can guarantee you that new releases will be few and far between for a good while. So for a while, with saint's blessing of course, I'd like to leave everything as-is and consider the whole site a working archive.

In case you are wondering, no dk will not be released at the end of the month as I promised. For one thing, I haven't worked on it in the last two weeks, so I'm way behind schedule. Also I've ran into a minor stumbling block that'll be difficult to fix and I don't have it in me anymore to work on things that aren't fun. What'll probably end up happening is sometime within the next month or so I'll be so bored one weekend I'll give it another look and I'll fix the issue and go ahead and make the final release. No promises though.


If and when I start coding seriously again, I intend to change direction. I'll still be working on emulation related things, but less with the front-ends and utilites and more on the actual emulators and simulators. Yes, believe it or not, I've progressed far enough with my coding to attempt (keyword attempt) to start work on some emulators/simulators for some very obscure consoles and arcade devices that nobody else is touching. So, I'm ok... don't start weeping or something. ;-)


So long story short, goodbye and thanks for all the fish. I've had fun, everyone as a whole has been a joy to interact with and I've gotten a lot of help over the years that can never be repaid. Take care of yourselves and drop me a line once in a while. Who knows, I might pull a "frosty the snowman" one day just don't hold your breath.

If anyone wants to relay this post in the byoac forums I'd be very grateful. I'd do it myself but I'd be tempted to stick around for a response and the whole viscious cycle would start again.
10 comments ( 323 views )   |  related link

Blades, Bookkeeping and Lists 
Friday, February 15, 2008, 08:24 PM - Dragon King
Just before the 360 was released with it's blade menu I had a working beta of dk with the exact same idea. Way to steal my thunder m$!!! :-P Anyway, my blade, like their's pops up regardless of where you are in dk with the press of a button. The blade allows you to navigate to any of the lists in dk, with a image preview shown to the right incase you've forgotten the title of the list. It looks something like this:



As of now, when you enter the menu the skin is swapped out, which causes a noticable delay. I've decided to instead incorporate this into the current skin, which will allow for instant display and deployment. It's not the most original idea in the world, but it's something that a lot of fe's are severely lacking.. namely a quick way out of where you currently are.

While we are on the subject, let's talk about how dk's list structure has evolved since the last public beta. Check out this screen shot:



Hmm, I don't remember a mame game named "played games"... We'll it's actually an example of two new list features. First off, dk now allows shortcuts to other lists to be added to any gamelist. This means you can do all sorts of crazy stuff with directory structures now, like replicating the before-mentioned menu blade with a "master list," making shortcuts to toggle clones on and off, having a catlist-based hierarchy of sub-linking setup so you can filter as you navigate or whatever you can think of! Maybe I should show you the inner-workings (which thanks to a utility I'm working on you'll hopefully never have to deal with). Here's the vd entry for the above gamelist:

[path]
logo=Mame.png
caption=Mame
skin=default
dynamic=0
hidden=0
useclones=0
searchstrings:-1=1=&&&& Played Games;5=MAME;0=pacman
filters:6=*mature*;9=*Working No*;6=BIOS;9=*Status Prelimenary*
[/path]

Longtime dk users will find most of this familiar, but there are some important new additions. The logo entry is nothing new, it determines which logo the logo element in a skin will display (actually the logo element can now display other stuff as well, but that's a discussion for another time). Caption, again is nothing new and also quite obvious, it'll be what the list is called in the menu blade and the path caption of the skin. Dynamic... now here's where it gets fun. Before all lists were made at once and they didn't change. Due to the new bookkeeping options (I'll explain those in a sec) this is no longer acceptable. Turning on the dynamic switch has dk filter together a list on-the-fly as you navigate to it. The speed is actually quite decent. While a huge list like every single mame game will cause a slightly noticable delay, most of your special-case lists are going to load instantly. Also, dynamic lists won't be created when you re-generate the master gamelist, which will speed up that process. Hidden is also new and was added as a companion for all of the new list-linking you can do. It became obvious during testing that the traditional list changing method (next and prev list keys) wouldn't cut it if you had several lists caused by a catlist hierarchy or what have you. The solution was to "hide" all of these extra sub-lists from the list collection. When you make a list hidden, it won't show up in the menu-blade and you won't be able to navigate to it unless you use a shortcut link. So for a hierarchy of all mame's cats, you'd make the primary list normal ("Mame") and all the sub-lists (Driving, Platformers, ect..) hidden. In the primary list, you'd link to all the sub-lists. Of course that's all optional, you can make them normal lists if you want. It's all part of the new, more flexible, list system.

Of course clones is pretty obvious and nothing new as are the last two. But check out this entry:

-1=1=&&&& Played Games

This is how we link to other lists. The "-1" tells dk we are searching for a list, in this case the list is list #1 and we want to call the shortcut "Played Games" (The &&&& is just a magic tag to ensure the entry gets added to the top of the list). We could do this other ways as well, like link to the List's caption, the "next list" or what have you. I'll go into more detail as the syntax is finalized and I get the list-builder up and running, but it's really quite useful.


Now for the second part. How exactly does dk make a list of played games? Via the new bookkeeping features of course! Dk now monitors your play habits, recording which games you play, how often you played them, how many times.. ect all to a nifty ini file which the list system can use, in conjunction with special tags, to make lists.

Here is the vd entry for the Played Games list:

[path]
logo=MAME
caption=Played
skin=hell
dynamic=1
hidden=1
useclones=1
searchstrings:-2=mrp
filters:
[/path]

Notice that the search sting this time is "-2=mrp." The "-2" tells dk it needs to search the bookkeeping and "mrp" is a magic tag for the 25 most recently played games. There are other magic tags in bookeeping like the longest played, if it's been played at all, ect... And of course these magically created lists can be filtered off just like any normal list. This takes building a "favorites" list to a whole new level as, with a bit of adjustment you can let dk automatically determine which games you like the most and automatically fill a list with them!

The new list features are really the crowning feature of the release as I've always said that a goodbackbone is far more important than any graphical features. (I've still got a few of those to show, don't worry)

Anyway, raster fonts are pretty much working atm, so I'm now moving on to tweaking the above features for optimum speed. As always, I'll keep you posted.


Back Next