The simplest BigAtom is purely graphical. No special targeting considerations, no part by part density, just plug in an arbitrarily sized icon and let BigAtom work its magic. If you want to learn about all the bells and whistles, go read "Go BIG in Existing Games" or one of my future "advanced" articles on the library. This one is all about simplicity.
It's so simple that you'll be playing with oversized icons in three (or four) short steps:
Step 1: Include the library.
If you haven't already, download BigAtom fromhttp://developer.byond.com/hub/Shadowdarke/BigAtom. Open your project in Dream Maker, or if your project is already open, click the Refresh button under the File tree so Dream Maker will find the new library. Next open up the "lib" folder in the File tree, find "BigAtom" and put a check in the box next to it. Now BigAtom is part of your project.Step 2: Change the default BigAtom mode.
The default settings of BigAtom stress flexibility over simplicity. All we have to disable the default bigatom_mode and tell it to use the simple mode. Place this line of code in your project:
atom/movable/bigatom_mode = BIGATOM_PARTS_NONE // simplest overlay mode
Step 3: Put in multi-tile icons.
Place some multi-tile icons in your code, compile, and the library automatically displays the full sized multi-tile icons on for atoms. That's all there is to it! Examples:mob
icon='tall_32x64.dmi'
dragon
icon = 'dragon_224x224.dmi'
obj/spacecraft/icon = 'spaceship_96x96.dmi'
Step 4: What about run-time icon changes?
I thought you wanted to keep this simple. Well, if you must complicate things with your fancy run-time graphic antics, I'll tell you how to make BigAtom handle it properly. Whenever you change the icon or icon state of a movable atom, just call that atom's bigatom_Icon() proc. This proc redoes the display to match the atom's current icon and icon state.Examples:
mob
verb
shapeshift()
// take the appearance of the mighty 96x128 pixel weresheep
icon='weresheep_96x128.dmi'
bigatom_Icon()
toad_spell(mob/M in oview())
// turn the target into a toad
M.icon = 'toad_32x32.dmi'
M.bigatom_Icon()
A couple things you should know
With simplicity come limitations:- Overlay mode BigAtoms can not be larger than 7 tiles by 7 tiles (224 pixels by 224 pixels).
- If the atom is dense, the only dense part will be at or near the center of the BigAtom.
- Flick() does not work properly on Overlay mode BigAtoms as of BYOND build 410.975. (I've asked for changes that will correct this issue, so hopefully it won't be a problem for long.)