Author Topic: Scene Manipulation and Rendering Tools  (Read 75447 times)

0 Members and 2 Guests are viewing this topic.

Offline Troy Lundin

  • Full Member
  • ***
  • Posts: 145
Scene Manipulation and Rendering Tools
« 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)

Tagger (Beta 0) [23AUG12]
Tagger (Beta 1) [26AUG12]
Tagger (Beta 2) [27AUG12]
Tagger (Beta 5) [29OCT12]
Tagger (Beta 6) [02NOV12]

Mapper (Revision 0) [18SEP12]

Changelog

Code: [Select]
[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.
« Last Edit: November 02, 2012, 04:30:20 pm by Troy Lundin »

Offline Troy Lundin

  • Full Member
  • ***
  • Posts: 145
Re: GBA Blending Emulator
« Reply #1 on: March 05, 2012, 12:34:44 pm »
Updated to Revision 5.
« Last Edit: March 05, 2012, 12:38:50 pm by Troy Lundin »

Offline Trop

  • Hero Member
  • *****
  • Posts: 848
Re: GBA Blending Emulator
« Reply #2 on: March 05, 2012, 06:04:07 pm »
You should see if you can get this thing up on Zophars.

Offline TerraEsperZ

  • Hero Member
  • *****
  • Posts: 2326
Re: GBA Blending Emulator
« Reply #3 on: March 05, 2012, 08:02:31 pm »
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...
Current project:
Mega Man: Powered Up (PSP)

Offline Troy Lundin

  • Full Member
  • ***
  • Posts: 145
Re: GBA Blending Emulator
« Reply #4 on: March 05, 2012, 10:29:08 pm »
@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

Offline TerraEsperZ

  • Hero Member
  • *****
  • Posts: 2326
Re: GBA Blending Emulator
« Reply #5 on: March 06, 2012, 04:01:25 pm »
@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.
Current project:
Mega Man: Powered Up (PSP)

Offline Troy Lundin

  • Full Member
  • ***
  • Posts: 145
Re: GBA Blending Emulator
« Reply #6 on: March 07, 2012, 03:28:05 am »
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.
« Last Edit: March 08, 2012, 11:59:54 pm by Troy Lundin »

Offline Troy Lundin

  • Full Member
  • ***
  • Posts: 145
Re: GBA Blending Emulator
« Reply #7 on: March 17, 2012, 02:04:10 pm »
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.

Code: [Select]
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.


Offline Troy Lundin

  • Full Member
  • ***
  • Posts: 145
Re: Scene Manipulation and Rendering Tools
« Reply #8 on: June 30, 2012, 01:51:45 pm »
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.

Code: [Select]
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.

Offline Troy Lundin

  • Full Member
  • ***
  • Posts: 145
Re: Scene Manipulation and Rendering Tools
« Reply #9 on: August 23, 2012, 09:22:27 pm »
Preview: http://youtu.be/PzlVf-pPptM
Program: 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

Offline Grizzly

  • Full Member
  • ***
  • Posts: 189
Re: Scene Manipulation and Rendering Tools
« Reply #10 on: August 25, 2012, 07:23:57 am »
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.
« Last Edit: August 25, 2012, 07:26:23 am by Grizzly »

Offline Troy Lundin

  • Full Member
  • ***
  • Posts: 145
Re: Scene Manipulation and Rendering Tools
« Reply #11 on: August 25, 2012, 09:00:30 am »
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

Offline Troy Lundin

  • Full Member
  • ***
  • Posts: 145
Re: Scene Manipulation and Rendering Tools
« Reply #12 on: August 26, 2012, 01:34:07 pm »
Tagger updated to Beta 1.

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.
« Last Edit: August 26, 2012, 01:35:33 pm by Troy Lundin »

Offline Troy Lundin

  • Full Member
  • ***
  • Posts: 145
Re: Scene Manipulation and Rendering Tools
« Reply #13 on: August 27, 2012, 09:06:19 pm »
Updated Tagger to Beta 2.

I believe the previous upload had a corrupted file in it. This revision provided the following changes.

Code: [Select]
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
« Last Edit: August 27, 2012, 09:06:32 pm by Troy Lundin »

Offline Troy Lundin

  • Full Member
  • ***
  • Posts: 145
Re: Scene Manipulation and Rendering Tools
« Reply #14 on: September 18, 2012, 11:20:49 pm »
Including my Mapper 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.