VGMaps
General Boards => Mapping Tips/Guides => Topic started by: Troy Lundin on March 04, 2012, 11:38:22 pm
-
Changed to SMRT, a compilation of my Scene Manipulation and Rendering Tools. Currently, it contains GBA Blending Emulator and VBA Scene Compiler. Please post any bugs found here. Thanks. :D
SMRT (Revision 0)
SMRT (Revision 1) (http://www.mediafire.com/?0kzf821lf5utzfe)
Tagger (Beta 0) [23AUG12] (http://www.mediafire.com/?twzltfympwc703v)
Tagger (Beta 1) [26AUG12] (http://www.mediafire.com/?wtnacdpafgiw4l4)
Tagger (Beta 2) [27AUG12] (http://www.mediafire.com/?nd82e3h07b6qvdz)
Tagger (Beta 5) [29OCT12] (http://www.mediafire.com/?o6r95wrj9twdf5l)
Tagger (Beta 6) [02NOV12] (http://www.mediafire.com/download.php?5kaeudapwewyw1i)
Mapper (Revision 0) [18SEP12] (http://www.mediafire.com/?glmpj4crfxzb4d1)
Changelog
[Changelog : GBA Blending Emulator]
Revision 10 30 JUN 2012 [Feature] Loading a layer no longer automatically resizes the canvas. It was pretty annoying. :D
[Fix] More positional blending bugs squashed! WHY IS IT SO HARD?!
! BUG ! There is a bug with this revision that occurs when the up/down buttons of the
positional controls of the BG layers are held down. You can still change these
values by single-clicking the buttons or entering a value manually.
Revision 9 16 MAR 2012 [Feature] Tooltips added to all controls.
[Feature] Layers now blend ~17 times faster thanks to Bitblt. (Blends 10,000,000 pixels in ~4.2 seconds)
[Feature] Now accepts images of any resolution. Still outputs at 96dpi.
[Fix] Negative positioning no longer gives incorrect results.
Revision 8 08 MAR 2012 [Feature] Now supports indexed pixel formats. (PNGOut compresses to indexed pixel formats.)
[Feature] Now uses PARGB format for all image manipulation to increase processing speed ten-fold. Save format is also PARGB.
[Feature] Loading a layer will now resize the canvas if it's too small.
[Feature] Shift-left-clicking a layer resizes the canvas to the size of the layer.
[Feature] Right-clicking a layer now removes it.
[Fix] Zoom no longer glitches the canvas.
[Fix] The Replace Tiles button now correctly disables if no replacement tiles are present.
[Internal] The Alpha and Coords windows no longer show up in the taskbar.
Revision 7 08 MAR 2012 [Feature] Added tile replacement capabilities.
[Feature] Added mouse / tile co-ordinates to the canvas.
[Feature] The canvas may now be scrolled by dragging it with the mouse.
[Feature] The canvas may now be zoomed.
[Feature] The canvas BG color may now also be chosen by Shift-clicking on the canvas.
[Fix] Fixed multiple tiling issues.
Revision 6 06 MAR 2012 [Feature] Added the ability to choose a negative position for each layer.
[Feature] Tiling is more advanced. It now loops around the canvas.
[Fix] Auto Blend will now obtain a new pointer when VBA is refreshed.
Revision 5 05 MAR 2012 [Feature] Changed the canvas to update on the fly as options are changed.
Blending now only occurs when the Blend button is pressed.
[Fix] No longer get sharing violations with open images.
[Fix] Manually setting blend options works correctly.
Revision 4 04 MAR 2012 [Feature] Changed UI controls.
[Feature] The Alpha window now resizes the image if it is too large.
[Fix] Fixed a bug causing the alpha channel to not reset.
Revision 3 04 MAR 2012 [Feature] Added support for all modes of blending.
[Feature] Added support for automatic gathering of blending information.
[Feature] Added support for layer position modifiers.
[Fix] Fixed bugs with layer tiling.
Revision 2 03 MAR 2012 [Feature] Added support for up to four layers.
[Feature] Added support for layer transparency.
[Feature] Added support for layer tiling.
Revision 1 02 MAR 2012 Internal build.
Revision 0 01 MAR 2012 Initial public release.
[Changelog : Scene Compiler]
Revision 2 16 MAR 2012 Initial public release.
Previous revisions are non-public builds.
-
Updated to Revision 5.
-
You should see if you can get this thing up on Zophars.
-
Man, I'm almost annoyed that I'm not mapping a GBA game with real transparencies at the moment. Though I'm really tempted to go back and re-do all the underwater sections in my Castlevania: Aria of Sorrow maps...
-
@TerraEsperz: What kind of blending did you use for those maps? The water certainly looks semi-transparent. Do you still have the raw captures?
@Trop: I almost regret releasing it now. I have found so many bugs and am constantly adding things to it. I thought it was more ready than it actually was. I'm not very good with image manipulation in .NET so this is a huge project for me.
Btw, have you guys been able to break it yet? :D
-
@TerraEsperz: What kind of blending did you use for those maps? The water certainly looks semi-transparent. Do you still have the raw captures?
Everything that's underwater is correct since the water layer is completely uniform in colour and it was easy to capture the background once blended with this colour. But the water surface is made up of a lot of different shades of blue so that part was fudged but it doesn't really show because it's just a bunch of small pixels. I'd like to go for 100% accuracy if I can.
-
Updated to Revision 6.
Edit: Revision 7 is up. A few neat features added.
Edit: Revision 8 is up. Lots of performance and bug fixes.
-
Ok, so I decided to throw some of my programs together into a single program. Right now, there are two ready for release. The main program is called SMRT, Scene Manipulation and Rendering Tools. It will contain the other tools I use for scene manipulation when I can get them ready for release. This release contains two programs: GBA Blending Emulator and VBA Scene Compiler. The former you may be familiar with so let me explain the latter.
The VBA Scene Compiler is a very simple tool. It allows you to grab the image from the Map view window of VBA and place it on the canvas in the region you select. You can then select another region and paste another image there. This tool has helped immensely in the capturing of SMA4 scenes. All options are found by right-clicking on the canvas.
GBA Blending Emulator has been updated to Revision 9. The most exciting change is to blending layers, which is now performed by locking the bits into memory. It's now ridiculously faster than before. About 17 times faster. In my test run I blended 10 million pixels in ~4.2 seconds. Quite nice. Other changes are listed below.
Revision 9 16 MAR 2012 [Feature] Tooltips added to all controls.
[Feature] Layers now blend ~17 times faster. (Blends 10,000,000 pixels in ~4.2 seconds)
[Feature] Now accepts images of any resolution. Still outputs at 96dpi.
[Fix] Negative positioning no longer gives incorrect results.
-
Updated GBA Blending Emulator to Revision 10. Changed the UI a bit and fixed some more positional bugs. Hopefully this will be all of them. I changed how the layers are draw internally so that positional conflicts won't occur. We'll see. :D
Zoom was disabled this build until I can figure how to make it not suck. There is also a bug that can cause the program to crash. Read the changelog for full information.
The next update will contain the ability to add objects to the canvas, such as sprites and what not, and allow all the features available to the layers.
Revision 10 30 JUN 2012 [Feature] Loading a layer no longer automatically resizes the canvas. It was pretty annoying. :D
[Fix] More positional blending bugs squashed! WHY IS IT SO HARD?!
! BUG ! There is a bug with this revision that occurs when the up/down buttons of the
positional controls of the BG layers are held down. You can still change these
values by single-clicking the buttons or entering a value manually.
-
Preview: http://youtu.be/PzlVf-pPptM (http://youtu.be/PzlVf-pPptM)
Program: http://www.mediafire.com/download.php?twzltfympwc703v (http://www.mediafire.com/download.php?twzltfympwc703v)
I present to you, Tagger. I have been fiddling with this program for a bit now and decided I was ready to show off my progress. This is my biggest project to date (I am so bad at programming with graphics) and I am very proud of it.
Tagger allows the creation and edition of image- or text-based tags. Many editing features are in place and finished but I am sure there are some very sneaky bugs in there somewhere.
Features:
- Create and edit text tag properties including: Location, size, margins, anchoring, alignment, fill/border color, border drawing.
- Line styles may also be edited for text tags.
- For image tags, only location, anchoring, border color, border drawing and opacity work.
- Saving/Loading to custom .map files. These files are just basic .zip files. If you try to read the files inside your mind will implode. YOU HAVE BEEN WARNED!
- Supports exporting to an image file.
Limitations:
- At the moment, only 32 lines are supported per tag. I plan to increase this to ~32,000 in the future.
- Ionic.Zip.dll is required for operation. It provides compression for loading and saving.
Some hints for use:
- Shift + Left click to place a tag on the canvas.
- Shift + Right click to remove a tag.
- Ctrl (Hold) + Left click to move a tag around the canvas.
- Double click a tag to open the editor.
I tried to safeguard the controls in the editor so that they disable if they would other cause issues. Some controls don't even work but I haven't cleaned up much. :D
-
This looks certainly useful. Good luck on your progress :)
Will there be multiple fonts available later on? Especially custom variable-width bitmap fonts (so that it fits the current game)?
Also for RPGs I sometimes added a small icon in front of text boxes (for item chests, for example). A grouping option for that would be useful so that image and text can be moved together. But of course if bitmap fonts are supported, it should be no problem to put the icons on unused positions of the ASCII range so that the icons are interpreted as text and moved with the text box. So custom bitmap fonts are the most important thing that I would need because I most likely would use bitmap fonts anyway.
And I miss an invisibility option for the text background. For putting small text right onto the map without hiding too much of that map.
-
It actually supports transparent backgrounds but the functionality isn't present in the GUI. As for grouping, it's already available. If you set the anchor for the tag it works the same way. Anchoring isn't recursive though. You can see anchoring in action in the video I linked.
Custom fonts is pretty low on my to-do list. I chose the current font because it was fixed-width which made it easier to get the program going. I will support custom font, but it isn't a very high priority. It's funny, though, because the program started out using a variable-width font (FFDOS (FF1)) but I changed it to make progression easier. :D
-
Tagger updated to Beta 1 (http://www.mediafire.com/download.php?wtnacdpafgiw4l4).
There is a file included in this download named 'demo.map'. Open that with Tagger to see a demo of the various features available.
Many changes were made. Click the 'Information' button in the upper-right corner of the program to see the changelog.
-
Updated Tagger to Beta 2 (http://www.mediafire.com/download.php?nd82e3h07b6qvdz).
I believe the previous upload had a corrupted file in it. This revision provided the following changes.
Beta 2 (27 AUG 2012)
- Cleaned up various tag properties.
- Right-clicking a tag will cause the cursor tag to inherit it's properties.
- Fixed possible issues with canvas grid display.
- Added 'New' button to the toolbar. Use it to create a new canvas.
- Various assembly changes.
Tag Editor
- Editing multiple tags or styles at once is now possible.
- Minor QoL editions.
Coming in the next version is a more verbose grouping editor as well as style editor. I KNOW YOU CAN'T WAIT! :D
-
Including my Mapper (http://www.mediafire.com/download.php?glmpj4crfxzb4d1) program. Currently only works with VBA-m (SVN 1097) and only works for GBA games. Modifying it to work with other emulators would be cake, just gotta find the time. :D
Inside the Mapper .zip:
- The program (Mapper (Revision 0) [18SEP12].exe)
- An image help file (MapperHelp.png)
- A settings file (Mapper.txt)
The settings file must be in the same directory as the program. It contains sample setting for GS2, to give a sample of what it can do. The image explains most of the functions, but there are a few undiscussed (which you probably won't notice anyway).
The program can do so much and I am terrible at creating help files. :(
Also, I gave Tagger an overhaul. I just have some touching up to do and will release it's first release version by the end of the week.
-
Updated Tagger to Beta 5 [29OCT12]. I added the ability to use custom fonts. With this modification, the program is still not ready for an actual release.
Custom Fonts can be created right in the program itself, or compatible font bitmaps can be imported. Fonts used in the program are saved in the map file so they don't need to be transferred with the program. I included three font bitmaps so you can see the format and try them out. Included are Dialog and Menu fonts for Dawn of Souls and a font for Golden Sun: The Lost Age.
What's next? Custom border and some gradient filling. We'll see. Any QoL features you'd like to see? Let me know.
-
http://www.mediafire.com/download.php?5kaeudapwewyw1i
Tagger updated to Beta 6. Fixed crucial bugs that prevent fonts from loading in Beta 5. The save files are still valid, they just didn't load correctly.
Changelog:
Beta 6 (02 NOV 2012)
- Improved initial load times marginally.
- Increased draw speed by ~5400%. You read that correctly, 54 times faster. :D
- Property editing is much more efficient. Performance may increase on slower computers.
- Changed highlighting to yellow outline with tranparent yellow fill.
- Fixed bug that would cause a tag's line height to reset when changing fonts.
- Fixed critical error that would cause custom fonts to not load from a saved file.
- Integrated Font Creator into the Font Viewer.
Font Viewer
- Allows viewing, editing or creation of fonts.
- Existing font may be added, removed, renamed or even exported.
- Font editing is only available in a manual capacity.
Automatic comes when I can figure out a decent enough algorithm to detect characters.
Tag Editor
- Implemented custom z-ordering. Simply drag nodes around in the treeview.
- Completely rewrote tag handling code. Now more efficient.
- Multi-select is more robust, handling multi-tag editing more easily.
-
Troy Lundin, I finally tried SMRT after managing to understand how to find the evA, evB and evY values in the I/O Viewer and the results are amazing! It makes me a lot for confident if I ever need to do Alpha Blending for a GBA game in the future, and if I ever find the time, to go back and redo the transparencies in Castlevania: Aria of Sorrow correctly.
You rock my friend :D!
-
Well, well, well...
I haven't been here for quite some time, though I have been hard at work making amazing programs.
SMRT has been updated quite a bit since I last posted here. I might have to release the latest revision. Also, do you mean you entered the evA, evB and evY values in manually? Because the program should be able to find the values automatically.
Well, now that I think of it, attaching to a process is tricky. It really only works with a specific release of VBA. Anywho, my latest creation is an image compressor. It's coming along quite well, if I do say so myself. I took a certain image from this site (https://www.vgmaps.com/Atlas/SuperNES/Lufia&TheFortressOfDoom-World.png) and compressed it like a champ. Here are the results:
Format Filesize (in bytes)
Bitmap (32bpp): 20,972,598
PNG (PNGGauntlet, best settings, OptiPNG, DeflOpt) 998,629
PNG (7z, LZMA2, Ultra) 957,710
BMP (7z, LZMA2, Ultra) 254,217
pimanip (Tile Sequence algorithm) 35,377
My program is the bottom one. Quite significant indeed. On a side note, why is the font size of the code tag so small?
-
Great numbers! However, the problem with custom image formats is lack of support. It's unlikely that casual users would download your program just to look at a map. Maybe it would be useful if you could tie it into one of those Google Maps-like viewers, though.
-
Some years ago I wrote such a viewer as a Java applet - although of course nobody uses them any more - and it was similarly compressy, but slow to draw when the tile size is small and when zoomed out. These days you could try to do it in Javascript. I also played a bit with PanoJS which doesn't serve the same file for identical tiles, but does end up smaller even with the multiple zoom levels due to better local similarly in each image file.