| TheBlasphemer's profileStuffplug 3 Development ...PhotosBlogLists | Help |
|
April 29 It's been a while...It's been a while since I last wrote an update to this space... Blame school :P
Finally school seems to be done. I've got a few weeks of voluntary school left untill the exams, but I don't plan to attend those lessons unless the teachers have anything special planned (like little freshen-up courses ;)). So I'll have quite a bit of time now to work on SP :)
Some of you may have read the article over at Fanatic Live, and had a look at the features I currently have at least somewhat done. If you haven't, you should... It's a quick outline of the feature that are already done so far. I haven't really added anything revolutionary new since that, but here's a quick list of what I did get done:
So when can we expect SP3, and what will it include ? Well, I don't know. There's still a lot of coding to be done before this is a final product, and I don't want to release before it's done ;) I do know which features I want to have done before I release though:
Right, enough typing for today. I guess I'm going to play some more Oblivion, haven't had time to touch that game for ages now :(
Bye, TB April 15 april 15th updateWow! about a month since my last update! Sorry about that, I just didn't have time inbetween my school exams and Oblivion addiction to work on SP :( As a matter of fact, I still have one re-exam left for tuesday: Literature. Had a big fat failing grade for that, so I gotta do it again... *sigh* I hate literature :( Anyway, the content-stealer is somewhat functional now! You can already save images now :) There's still a bunch of stuff you can't do, like switching between emoticons and display pictures :P I still want to turn it into a threaded application ;) Currently in it's unthreaded form, it can freeze for a while if you have a lot of images stored. If I thread it, it might take a while for all the images to load, but you can already browse the ones that ARE loaded :) I still have to write a little detection scheme to figure out what sort of file it is exactly, as some animated emoticons are .gif, and others are .png, but at least I got the basics working! Once I get the content-stealer working with the CEs and DPs, I'll work on the chat-only name. After that I'm going to put some thought and work into stealing winks and DDPs, but I'm still not sure if it's worth all the trouble :/ Just noticed it's 0:49AM now, so I guess this is a nice time to stop typing and go to bed :P so goodnight ;) Bye, TB March 19 March 19th, memory searching done0123 The Netherlands. Memory searching is finally done. That header above was supposed to look JAG (or any other military series/movie for that fact) like, however the time being 01:23AM now kinda spoils that since 0123 looks stupid :P Anyway, Reached another (what I'd call) milestone today. As some of you might know, most StuffPlug features are quite similar to patches. They look for certain byte-codes, and replace them. The only real difference being that patches do it on disk, and SP does it in-memory. There's a few more differences, but I'll spare you the details ;) To keep StuffPlug compatible with future release of messenger, I've been using a memory search module that I wrote way back somewhere in SP-NG or something. It used a syntax like this: {0x86,0xFF,0xB6,0x58,...} It's split up in bytes, and each byte is prefixed with 0x to indicate it's hex. Also the 0xFF was used as a "wildcard" that would match anything. This screwed up a few features in the past because the numner -1 is represented in memory as FFFFFFFF, so I could never search for -1 as that'd end up being 4 wildcards ;) Today, I decided I wanted a new memory search engine. I wanted the disadvantages of the old method gone: - No more funky wildcard character that fucks things up - Fast - Easy to use and update for me So I write this new method that takes this as an input: {L"CEDPStealer",MEMPATTERN::TYPE_NORMAL,"74 ?? FF 75 E4 E8"}, The ? is now wildcards, and it can work on a per nibble (half a byte) basis too, that's the solution for easy to use and update :). Furthermore all search patterns are now stored in one place, and It's all written in such a way that I can easily add other memory-search routines later (see the MEMPATTERN::TYPE_NORMAL thing ;)), and I can easily cache offsets. Yes, that's right, caching :D That means that StuffPlug will only have to search for patterns if you update your messenger, so StuffPlug might take a few seconds to start up the first time, and if you update messenger, but apart from that it will launch blittering fast :D Apart from that I had a bit of a fight with the user-interface a while back. It just refuses to stretch 32-bit (alpha transparent) PNG files. I ended up just using normal PNG files. It's a bit of a let-down for me personally, as I consider it cheating. But it gives the same results so what the heck ;) Last, but not least, I've seen someone comment in the last blog-post about becoming a beta-tester. To clear things up, I'll explain what I had in mind for testing StuffPlug. The initial release will be divided up into 5 stages. Updates will probably have other stages, but for the first SP3, this is what's going to happen: - Stage 1: Alpha. Only I and a few select people get to see it, and only for testing purposes. No getting into this stage unless I ask you ;) - Stage 2: Private beta. Once I think the add-on is stable, I'll allow friends to test it. No getting into this stage unless you're a friend ;) - Stage 3: Managed beta & Translating. If the selected group of testers has had time to test, I'll enlarge the number of testers. I will probably post a request for beta-testers on the stuffplug site, and I think I will also invite translators to join this beta so they can start translating. If you want to get in this stage, start thinking about what you'd write if I'd ask you why you want to be a beta tester :) - Stage 4: "public" beta. In this stage I will allow messenger-sites to test Stuffplug and prepare re- and previews. If you want to get in this, you should have a popular messenger site :) Also the managed beta-testers will get permission to write previews and post screenshots. - Stage 5: Released. :) I hope that cleared everything up :) It's now 01:37, and I think I should go to bed ;) Goodnight, TB March 14 First update. Plug-in taking shape.Right, with "Taking shape" I don't necesarilly mean that it's almost ready for release. It's still very far from that. But I made some changes today that will load the installation path from registry and load the skin and language from the appropriate places, instead of the hard-coded one :)
I've also fought with the image-loading for most of the day. I thought that GDI-plus (image library included with XP) could simply load an image and pass it on to my GUI, but gawd, was I wrong!
It seemed right at first, however all alpha transparent images had a weird blue border around them. First I just thought that my images were wrong, however when Alex (someone helping me a bit with the design now Rolando is busy) sent me some new images it appeared that the blue border was not just something that I did wrong in copy pasting, but everything that was even slightly transparent got a blue blur :S It appeared GDIplus first blended the images over blue, and then passed them along to my program ;) Took me long enough to figure that out! Anyway, it's done now, and the images seem to be perfect now :D wheee! (Yes, I am very happy ;))
I said I was going to post some tools, but I can't upload on spaces, and it's a bit too late to fire up my FTP client, so that'll have to wait ;)
I have, however, uploaded some screenshots! They're in the photo-album under the "March 14th" album. Nothing revolutionary, just a few shots :) Will probably look nice once it's done, a whole photo album of the progress ;)
Anyway, not much to tell, I've fixed some things in the options thing, revised the directory structure, written something to pass options back and forth between the user interface and the program, done some work on the GUI itself, and spend most of the time getting that darn images to work :@
Tomorrow update will be more detailed. I'm tired now, and I haven't had enough sleep the past few weeks, so I gotta catch up :)
Bye,
TB March 13 IntroductionRight, an introduction, where shall I start...
Well, some of you might remember a blog that I made during the development of StuffPlug-NG. I didn't post a lot, except for some screenshots of new features. This was partly due to the late stage of development I had reached already. There wasn't much to blog about except features, because that was most that I did: polishing features...
But this blog is going to change that. I'm currently in a very early stage of StuffPlug 3: I've got it to add two buttons to messenger (one in the log-in screen, and one in the contact-list). I plan to add another one to the conversation windows, but frankly in my debugging sessions I haven't opened any conversations yet ;)
I've also got a very simple GUI, basically four buttons that don't do anything at this moment. I do however have everything figured out in my head, and I've already written a few test applications for the GUI.
On the back-end everything is pretty bare too. As mentioned, it can load into messenger, and that's about it. I've just written the routines to read options from the registry. I haven't tested them yet, but I'm pretty sure they'll turn out just fine ;)
Apart from that, a language loading mechanism, a menu in the contact-list, and something to load files from StuffPlug-packages (Will be used for packaging skins. either standard zip files, directories, or specially crafted SPP files). Development is currently going very very slow. I've caught myself quickly getting distracted, and getting four new functions done on a day is normal routine :( I'm hoping this will speed up once I hit the more interesting stuff.
So finally, what will this new version of stuffplug include?
I can't promise anything, but I have a few things on my mind that I want to write. Large display pictures and emoticons are most likely going to disappear. I might implement it if it isn't too difficult, but I feel the feature has lost its appeal now that messenger users without stuffplug can no longer see them.
Right, stupid me, you want to hear what features *will* be included in stuffplug! Well, the CE/DP Stealer is going to be back. I've also got a few leads on stealing dynamic display pictures and the likes, but I'll have to look into it to see if it's feasible.
Apart from that there'll be a DUI Spy. This will not be something for the normal user to use, but more for skinners. It will allow you to traverse the properties and such of all elements in a window much like in the Visual Studio Spy++ utility.
Also since I feel that Messenger Plus!'s plugin feature didn't quite cut it, I will try to implement my own plug-in architecture. It will probably be COM based, or callback based. It'll allow plug-ins to dynamically remove and add elements to the MSN windows, and loads more :) No more need for things like A-Patch to remove annoying buttons, just use a plug-in and you won't even breach the license agreement! :D
Alright, enough for now, at this time that's about all I have planned, but I am sure that as with earlier StuffPlug releases, features will show up along the way :)
Last but not least, what to expect from the next blog-post?
Well, everything I couldn't put in here! I feel like posting some pictures of what I have now, and possibly some of the tools I've written (like the SP-Packer, or the language encoder and decoder) to get everything familiar with the file formats. Of course it'll also feature an update on the coding progress! :D
I'm not going to distribute the link to this blog through the regular channels, so if you read this, and feel like sharing, go ahead! :D
Bye,
TB |
|
|