The difference is mostly in how they're setup - in "Main.h" there's a line near the top that starts with:
[code]#define IDE_FLAGS[/code]Adding the OF_MOVEMENTPLUGIN flag tells the editor that you're plugin is a behavior, as such:
[code]#define IDE_FLAGS OF_MOVEMENTPLUGIN[/code]Additional flags can be added by using the bitwise OR operator:
[code]#define IDE_FLAGS OF_MOVEMENTPLUGIN | OF_NODRAW[/code]The area near the type has a list of other supported flags, but most aren't relevant for behaviors.
The pLink pointer points to the object attached to your behavior, and you can access/modify it's attributes by, for example, using:
[code]pLink->info.x[/code]This will access the X coordinate of the attached object.
With a normal plugin, you access its properties in a similar fashion, but instead of pLink you'd use this to refer to the plugin:
[code]this->info.x[/code]Those are the basic differences to be aware of - It's been a while since I've done any real SDK work, but the info I've give you should be about right.
As for the ATL and MFC requirement, that is indeed the case - I believe someone may have made a version of the SDK that excluded those libraries, but I'm not 100% certain on that. If you're a student, you can always sign up for Microsoft Dreamspark to get Visual Studio 2008/2010 Pro for free.
EDIT: This thread
should help you out getting VS Express working with the SDK.linkman20042012-08-01 16:51:17