Romhacking.net

Romhacking => Personal Projects => Topic started by: Squall_FF8 on January 28, 2018, 09:04:23 pm

Title: [Utility] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on January 28, 2018, 09:04:23 pm
Visual SAK: Visual Swiss Army Knife

A new tool developed that will be more like the real Swiss Army Knife - a toolbox in one package, easy to use, does few things but do them with precision!
The toolbox will be focused on ripping of visuals from different ROM - Sprites, Graphics, Palettes, Tiles, ... but not casual ripping rather - finding, documenting, exporting and maybe in the feature importing.

Main Features:
- Mapping of graphics
- Naming of graphic objects
- Saving all findings as a document/project for easy reuse
- Multiple BPP format
- Multiple compression formats
- Exporting of graphic objects in PNG
- easy to manipulate attributes to find out desired graphic (Width, Height, Offset)
- customizable palette for displaying a graphic with the correct colors

Visual Swiss Army Knife (Visual SAK) - proof of concept:
(http://www.bwass.org/bucket/Visual SAK - 1.png) (http://www.bwass.org/bucket/Visual SAK - 2.png) (http://www.bwass.org/bucket/Visual SAK - 3.png)
(http://www.bwass.org/bucket/VisualSAK%20-%20screen5%20-%208bpp%20Mode3.png) (http://www.bwass.org/bucket/VisualSAK - screen6.png)
(http://www.bwass.org/bucket/Visual SAK - 6.png) (http://www.bwass.org/bucket/Visual SAK - 5.png)

Download:
 RHND submission: 3.1 (https://www.romhacking.net/utilities/1399/)
 Latest exe (Version 4.0) (https://drive.google.com/file/d/1uvIxOWqOAwWzU-u_tdQrKCYzL9z52EdZ/view?usp=sharing)

Versions:
 1.0 - First release. Manual address adding for tiles and palette. Save/Load project. Template system for interpreting the images. Currently only GBA 4BPP LZ10 is supported.
 2.0 - Template system improved. Added a new Template: GBA 4bpp (no compression). Some visual changes and many, many internals rewritten to take advantage in the new Template system
 2.1 - unreleased version. Design change - added status bar. Non-edit info moved there
 2.2 - Added 2 new Templates: SNES 3/4bpp (no compression). Major workflow changes thanks to weissvulf

 3.0 - Many changes. "Double buffer" engine. Export of the graphics in PNG. Removing of Template system. New 2bpp SNES. New 8bpp PC. New compression format: LZSS-F5/LZSS-F6 (used in SNES versions of FF5/FF6). Longer names (20->30 character).
 3.1 - New 8bpp SNES Mode 7(2). New 8bpp SNES Mode 3. New compression format: LZSS-CT (used in SNES version of Chrono Trigger). New feature: importing a palette from ZSENS save-state files!
 3.2 - New 4bpp SNES FX. New features: import/export to Photoshop aco/act format. Export to ZSNES save-state. New feature: contextual menu and buttons for the graphics list. New operations over the list - sorting, moving. New feature: speedy add of a new address, right after selected one.

 4.0 - Again huge update. New shiny GUI. New Templates - 2bpp for NES/NGP, 4bpp for PC, 15bpp (BGR 555 - SNES/GBA/PSX palette). New scle-able file format for your work. Import of graphics. Save of a changed ROM

ToDo List:
 - adding Search ability. Initially for LZ10 compression.
 - reading compressed Palettes. Initially LZ10 only
 - support for other compression (on request)
 - support of other console format (on request)
Title: Re: Sprite ripping tool
Post by: weissvulf on January 28, 2018, 11:37:17 pm
I think you should decide the scope for your tool before you begin. I find that tools which try to support too many formats end up with cluttered controls and an inconvenient workflow.

One possible workaround is to have a 'mode selector' where you selected the platform you are working with, and all unrealted controls would be filtered out. For example, if you select GBA, all settings/controls SNES features would be hidden.

Other than that, some general features I like in tools:
 Minimal confirmation message boxes. For example, rather than "File exists do you want to overwrite?", just auto save the original old to a 'backups' folder.

 Don't clutter up the control area with multiple controls that do the same thing. For example, a "save" button and also a "File > Save" menu.

 Whenever pertinent, save settings to a file that can be easily shared with others. For example, if you're ripping graphics from a particular game, let the user save the location of all the graphic to a project file. They could then share the project file so that others could easily rip the same graphics.

 I wouldn't bother adding any editing features since most people use their own favorite photo editor.

 Inserting as well as extracting graphics would be nice.
Title: Re: Sprite ripping tool
Post by: Squall_FF8 on January 29, 2018, 03:58:48 am
Hehe weissvulf, its like you are reading my mind, but express the thoughts with different words  :thumbsup:
- minimal confirmation
- (not) using of menus
- freedom to save by the user
- NO editing!
- supporting too many options/formats may lead to reduced effectiveness/inconvenient workflow.

I would love to do inserting. There are some technical problems with that - since it need to be compressed the size will be different. When the new size is smaller its ok, but if it's larger then its a problem.

BTW maybe 'Sprite ripping' is not accurate expression of what I mean. Well definitely the ripping part is involved as possibility, but also a tool that easy find visuals, accumulate a knowledge of how it was done for the purpose of hack/mod or even making a ROM-Map of Visuals ...
For example currently I need to find the job sprites of FF5a. I'm not interested in actual ripping, rather finding them in the rom, understanding how they are stored internally, finding the master table that contain all job sprite indexes/pointers,...
Title: Re: Sprite ripping tool - Visual Swiss Army Knife (Visual SAK)
Post by: Squall_FF8 on February 23, 2018, 08:09:03 am
Finally version 1.0 is ready! Here is an extended list of implemented features:
 - New Project
 - Load/Save of current project
 - Template system for recognizing/interpreting an image
 - Currently only GBA 4BPP LZ10 format is supported!
 - Manually adding address for Tiles & Palette
 - Support of decimal and hexadecimal format of the address
 - Loading a Palette from the ROM
 - Some basic operation with palette - Grayscale 16, Grayscale 256
 - Zoom of the drawing
 - Transparent drawing

* Download from main post.
* Check the Offset property. It mean that in decompressed stream visualization will start after skipping few bytes! This is an unique feature that non of existing tools have! Such option is crucial, because most of the Final Fantasy titles have header after decompression that needs to be skipped!

Please download and check this tool and share any feedback that you have! Lets together make a tool that is useful as famous swiss army knives! The tool doesn't require extra layer (dll, .net, DirectX,..), so its just an .exe file.
Title: Re: Visual Swiss Army Knife (Visual SAK)
Post by: weissvulf on February 23, 2018, 06:10:45 pm
I thought of a feature that might be handy. If this tool is designed to map the graphics in a game and save the map to share with other modders, an option to assign graphics to a sub-group which the user could 'show' or 'hide' would be nice. For games that have hundreds or thousands of sprites, being able to thin the pool down categorically could be handy.

I tried the tool and I'm not really sure how to use it. The interface seems self explanatory, but I don't get the expected results. Maybe it would be good to include a basic VSK file to get people started?

1) I get a 'S:\...FFV advance.gba not found' message at start up.

2) I loaded a FFV USA.gba file, but I'm not sure where graphics are in the ROM for testing. I enter the address shown in the tool's screen-shot and get an 'Access violation: write of address' message. I get a similar message when I adjust zoom, width, height, offset, or name.

3) There seems to be an anchoring issue for the controls on my PC: the 'load Palette, add/remove address' buttons are anchored in place, but the address inputs and palette view are anchored right. Also, if I resize the window enough to remove the lower scroll-bar, the palette-view is cut off. I think I have my PC's view-settings tweaked, so that may be causing the issues.     
Spoiler:
(https://preview.ibb.co/miUTYH/SAK.png)
Title: Re: Visual Swiss Army Knife (Visual SAK)
Post by: Squall_FF8 on February 25, 2018, 06:59:24 pm
Version 2.0 is out! Here is an extended list of implemented features:
 - Template system improved. Now all the code is based on a template, rather couple of individual characteristics
 - Added possibility to change a Template at any time
 - Added a new Template - GBA 4bpp (no compression)
 - added some restrictions in interactions, to avoid some 'Access violation '
 - small bug-fixes
* Download - from main post!

I thought of a feature that might be handy. If this tool is designed to map the graphics in a game and save the map to share with other modders, an option to assign graphics to a sub-group which the user could 'show' or 'hide' would be nice. For games that have hundreds or thousands of sprites, being able to thin the pool down categorically could be handy.
'map the graphics' - very well said! You really have this ability to express what I'm trying to say just in a better way  :beer:
I was think the same - when we have to many entries it will be not so easy to navigate/search. So that is an excellent idea to organize them in groups! Thank you! :thumbsup:

Thank you for the time to report the problems. Hopefully they were all fixed now in this version. I've put everything in an appropriate container, added some min/max info so hopefully no problem with anchoring/resizing. In the rush to use better buttons I didn't see that these one have no Anchor property ... The first problem come from left-over code while testing  :-[
I'm a little worried about the second reported bug ... please tell me if you have it with the version!

Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: weissvulf on February 26, 2018, 05:47:51 pm
It working, nice! Here is some test feedback.
Spoiler:
(https://preview.ibb.co/cHWxhc/SAK.png) (https://ibb.co/ktmmax)

Access violations:
Enter name before selecting Template
Load new ROM with old values still in place (memory reads greater than new file size)

Crash:
Increasing width or height excessively. Maybe happens when input dimensions exceed open-file's size.
Increasing PalNum beyond allowable range

Controls:
Displayed palette colors go up with PalNum+load palette, but not down.
Loading new ROM does not clear old image.
"Add Address to list" blanks all settings; better to keep them.
No way to edit "Tile Address" for existing List-Entry?
Displayed image disappears if it goes behind another window, or off screen.
Image display starts with left and top cut off behind controls.
White border at palette right and bottom.

Other:
Maybe set starting Tile/Palette Address to 0, width/height to common size.
Maybe change PalNum to 'Colors'
Think 'make palette' buttons better docked next to 'load palette'
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on February 27, 2018, 02:07:54 pm
Version 2.2 is out!
 - Added Template: SNES 3bpp (no compression)
 - Added Template: SNES 4bpp (no compression)
 - Major workflow change (thanks to the great suggestions from weissvulf
 - Stability improvement (thanks to the extended testing and report of weissvulf

weissvulf, Thank you for taking your time to use, test and report your observations. I personally tried all your suggestions and they are rock solid, based on practical application!!! So here is what I've done.

Fixed:
 - Enter name before selecting Template (access violation)
 - Displayed palette colors go up with PalNum+load palette, but not down.
 - "Add Address to list" blanks all settings; better to keep them.
 - Maybe set starting Tile/Palette Address to 0, width/height to common size.
 - Maybe change PalNum to 'Colors'
 - Think 'make palette' buttons better docked next to 'load palette'

Unconfirmed (I tried on 3 different PC with different Windows):
 - Image display starts with left and top cut off behind controls. (Do you use a huge window border? like 5+ pixels?)
 - White border at palette right and bottom.
 - Increasing PalNum beyond allowable range(access violation). The range is 1-256, how much did you enter?

Need some talk:
*Load new ROM with old values still in place (memory reads greater than new file size).
Do you think I should make a 'New Document' when new ROM is loaded? In general that is a good idea, but there are some practical implications of not doing so. Like if you map one version, then you open another version and you'll find out whether the map is relevant(Eu <-> Us <-> Jap)

*No way to edit "Tile Address" for existing List-Entry?
For now Tile Address is my main attribute ... think of it as record ID. Changing it is like having a new entry. If the change is big, maybe its better to really make a new entry? Especially now with your suggestion of 'keeping last used values' it will be as easy as changing the address. If the change is small, you can play with the Offset. This attribute is unique for this tool, so maybe that's why it is neglected. Keep in mind that it allows positive and negative values.

P.S. I need help to test 8bpp GBA graphics. If you know the addresses of graphic tiles of 8bpp in any GBA ROM (non-compressed or LZ77-10) please share some and the name of the ROM. If you happen to know their palette address that will be even better :thumbsup:
Do you know games for GBA that use direct-color (non palette)?
Do you know GBA games that internally store graphics in bpp different of 4/8?
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: weissvulf on February 28, 2018, 01:25:29 am
It's working nicely!

As far as "display cut off behind controls." and "White border palette", I did some testing and it's caused by Window's 'icon size' setting under 'Personalize > Display". It resizes SAK's frame, but not the image/palette display. I wouldn't worry about it, if there is no easy fix. Maybe just add a note in the readme.
Spoiler:
(https://image.ibb.co/cNHtqx/Image27.png)

Quote
Increasing PalNum beyond allowable range(access violation). The range is 1-256, how much did you enter?
Yes, higher than 256. I was emulating 'dumb guy' who mashes buttons till something glitches, grunts "This program stinks", and writes a nasty message to the developer. :P The 'up button' is properly capped at 256 now, but I can still type large numbers which cause a crash on 'Load Palette".

Quote
Do you think I should make a 'New Document' when new ROM is loaded?
No, I would not do that, for the reason you mention. I tried the same thing in the latest version (expanding the expected dimensions beyond actual file size),  and it no longer crashes- just an error message. That is fine in my opinion. Users have to exercise some common sense!

Quote
*No way to edit "Tile Address" for existing List-Entry?
Like you say, preserving the old settings when making a new entry is enough in my opinion.

I have never dug into GBA images so I can't help with finding samples. Hopefully someone will speak up.  :thumbsup:
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on February 28, 2018, 04:33:37 am
It's good to know that 'Scaling' cause these artifacts, because at first I thought its because of different Windows version! I always assume that this is done by scaling the DC of controls, but it seems now that it only scale the size of a control and the Paint process is responsible to take that into an account  :(

Quote
Yes, higher than 256. ... The 'up button' is properly capped at 256 now, but I can still type large numbers which cause a crash on 'Load Palette".
Yeah that SpinEdit control causes some troubles with typing ... In feature I may tray to get a better one or just fix the code of it  ::)

weissvulf I'm counting you will continue to monitor the progress and play the 'dumb guy' who mashes buttons till something glitches, because that is extremely, extremely helpful to me!  :beer:
BTW what platform/game is your major knowledge on? What do you dig atm?

I'm also interested in implementing other (non SNES/GBA) formats of graphics, probably Sega, Sony consoles ones as far as I have enough info for internals (compression methods, how a tile is positioned in the memory).
But that will be after I implement all main features. For now 8bpp/Direct Color for GBA/SNES is something that I need examples (doesn't matter in what game)  8)
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: weissvulf on February 28, 2018, 10:11:29 pm
Quote
BTW what platform/game is your major knowledge on? What do you dig atm?
I've done most of my work on the PC and PS1. I'm not infatuated with those systems; it's just that people haven't done much with the Sony systems compared to mow many games were released for them, so there are a massive number of great PS1 titles ripe for the picking.
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on March 27, 2018, 04:54:49 am
Version 3.0 is out!!!
 - Internal engine rewritten! That change took me like 2-3 weeks, but is worth the time. Before I was using kind of Virtual Tile Engine. Now I use a 'double buffer', similar to what most of contemporary games do. Now drawing is FAST, no tear, no artifacts. That also allows me to easy export GFX
 - New feature: Export of Gfx (PNG only for now, other formats on demand)
 - Removed feature: Templates from 2.2. Now BPP is separated from compression (as intended in version 1). The main reason for this is that the list of Templates grows exponentially with increasing the supported BPP/compression formats.
 - Added new BPP: 2BPP (SNES)
 - Added new BPP: 8bpp (PC). PC yes, I was surprised that a SNES game would use it, but there are some like Wolfenstein 3D
 - Added new compression: LZSS-FF5, a modification of LZSS used in FF5 SNES
 - Added new compression: LZSS-FF6, a modification of LZSS used in FF6 SNES
 - Increased: The length of Names from 20 to 30 characters. Now you can be more descriptive  :laugh:

*Download from the first post.
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on April 18, 2018, 12:40:05 pm
Version 3.1 is out!!!
 - New feature: Import of a palette from zSnes savestate (.zst, .zs?).
 - New BPP: 8BPP (SNES Mode 7). No planes. In mode 7 a tile takes 128 bites - because in the memory tiles are interwoven with the tile map
 - New BPP: 8bpp (SNES Mode 7 - II) same as above except it contain only the tiles (64 bytes each)
 - New BPP: 8bpp (SNES Mode 3) - each tile is 64 bytes, but each pixels is divided in 8 planes according to the SNES model of planes
 - New Compression: LZSS-CT, a modification of LZSS used in Chrono Trigger SNES

*Download from the first post.

Special thanks to Mauron for providing info for CT compression :thumbsup:

(http://www.bwass.org/bucket/VisualSAK%20-%20screen5%20-%208bpp%20Mode3.png)(http://www.bwass.org/bucket/VisualSAK - screen6.png)
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: spiiin on April 21, 2018, 07:32:24 am
What programming language did you use?
Why didn't you post sources? It may be interesting to have examples of building snes graphics to me.
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on April 21, 2018, 08:45:23 am
What programming language did you use?
I'm using Delphi with Pascal as language for programming.
The application is compiled with old version Delphi 7 to produce much smaller code.
You don't need external DLLs, frameworks or whatever, just Windows  :laugh:

Why didn't you post sources? It may be interesting to have examples of building snes graphics to me.
I will think about it. It mainly depend on the reception ... if it will be received well and community around helps (ideas, test, code fragments/algorithms, icons. design, ...) my biggest thanks will be releasing the source as public. :thumbsup:

As for SNES I would love to help you. If you have specific questions/interests feel free to post here  :beer:

Also I would love to hear you first impressions with the tool, could you use it with 0 help/readme? (I tried to make it intuitive.) Could you think of new cool features?
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: spiiin on April 21, 2018, 10:46:32 am
It crashes on shutdown sometimes with EInvalidPointer exception.
I understand, for the program should do, but can't do it on real ROMS, because of no examples and I don't know much any SNES/GBA addresses for any game :) I can try to see it from screenshots, but why no put some example projects with the program?

I like Delphi 7 and use it a long time ago, but I think, that's there is no pascal community now. It's nice for single programmers to use simple instruments like Delphi/visual basic, but there is no chance to get a power of the synergic use of several programs together. At least, you can add an option to export palettes/tile maps to uncompressed files (if your tool hasn't it, I can't check all features).


 
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: Fire-WSP on April 21, 2018, 06:29:45 pm
Awesome, will check the new version very soon.
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on April 21, 2018, 07:37:47 pm
Quote
It crashes on shutdown sometimes with EInvalidPointer exception.
Yes ... I gave a freedom to decompress even if there is no real compression and that can create serious memory problems :(

Quote
I like Delphi 7 and use it a long time ago, but I think, that's there is no pascal community now. It's nice for single programmers to use simple instruments like Delphi/visual basic, but there is no chance to get a power of the synergic use of several programs together.
Hehe if you have really used Delphi 7 you would know that is all but 'simple instrument'. It is called a RAD (Rapid Application Development) not by chance ;)

Quote
At least, you can add an option to export palettes/tile maps to uncompressed files (if your tool hasn't it, I can't check all features).
Currently you can export the graphics in PNG format.
I will focus more on Palettes operations in later versions. There will be export to Photoshop aco, Windows RIFF pal. I would like to have export to some tools that are made by the community too.

P.S. spiiin really if have specific questions about SNES and maybe some games (Final Fantasy 5), don't hesitate to ask!
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: spiiin on April 22, 2018, 07:13:54 am
Quote
Hehe if you have really used Delphi 7 you would know that is all but 'simple instrument'. It is called a RAD (Rapid Application Development) not by chance ;)
I mean "simple" not as "primitive", but "comfortable for programmer".
My criteria for choosing language for creating tools:

Simple for programmer (imho)
 + Delphi, vb, C#, python
 - C++, Java

Simple for the user (no need to install some dlls or runtime libraries):
 + Delphi, C++, C# (.net framework preinstalled on modern windows)
 +/- Python (can be compiled with one Exe with some magic and big size of app)
 - Java

Easy to implementation extension system
 + Python (as every interpreted languages)
 +/- C (with embedded interpreter of python or Lua), C# (I just use CSScript for using dinamic compiling C# as scripts)
 -/+ Delphi (with DLL plugins, for example, and any other languages)

Language is "alive" - bugfixes, updating 3rd party libraries for different tasks, possible cross-platform, chances to make team with other programmers, the advantage to training programmer skills for professional coding, etc.
 + Python, C#, C++
 - Delphi

Also, one of authors of Delphi is author of C# too.

Sorry for offtop and for mistakes, my English is poor.

Quote
P.S. spiiin really if have specific questions about SNES and maybe some games (Final Fantasy 5), don't hesitate to ask!
Ok, when I start to implement plugin for SNES for my editor, I pm to you, thanks.
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on April 22, 2018, 11:05:43 am
I mean "simple" not as "primitive", but "comfortable for programmer".
I see :laugh:

Also, one of authors of Delphi is author of C# too.
Yeah. He was part of Borland team that is responsible for implementing components, property system of components, all the things that Microsoft market as 'Visual'. Later on he changed the company and made the same with C, implemented in C#. That is the reason it so easy for me to read C# code, although I never studying at all :)
Some times I use the Microsoft trick: when people ask me what is Delphi, I answer "Visual Pascal" and they node with understanding. :laugh:
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: bogaabogaa on April 26, 2018, 05:13:27 pm
If you plan to work on palette options. I think it could be a good idea to have a import window showing up that shows you the table of content that will be pull form the PNG/whatever and options to arrange them. Like arranging palette order for a example. Your idea to import palette files sounds nice but figuring out the palette files of tools that are out there that will have to many colors anyway and may be complicated to work around with.. I get a headache just think about how it will pull palette files and what it will to with them. I think the focus should go to options for the user to ingrate them into the platform they try to put it on.

Spoiler:
(https://i.imgur.com/yfxN9ge.png)
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on April 26, 2018, 09:04:09 pm
So far I have added import/export to:
 - Photoshop .aco
 - Photoshop .act
 - zSnes save-states (.zs?)
The only planned operation left is make a Reverse of a palette (first color became last and so on).

I like your idea bogaabogaa, a preview of imported palettes and possible selection/rearrangement of what to import. If you have a vision of how that may look, could share it?
Also if you have suggestions on what option/operation to implement in order to 'options for the user to ingrate them into the platform they try to put it on' feel free to get into details.
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: bogaabogaa on April 29, 2018, 04:10:01 pm
I really like that you are able to import palettes. And when they are in order there is no reason to work on different options. If you like to have a tool standalone tool I think it would be nice to read color of the import medium (PNG/bmp..) view the palette with the options to arrange them. This could be done with overlaying the number like they are in the ROM and bpp format they need to match. If the user had the same palette as they been for the old graphic it should also fit. This would be easy to understand by the user even if he doesn't understand palettes and that they are stored in the ROM somewhere.
When you get to implement importing options. I always had imagine a tool that would let you export graphic data but remember the location on the ROM. You would be able to create a sheet with the graphic you like to change and you are able to arrange them to your liking in there. Export the created sheet as PNG/.. and make the changes. Then import it again and have them finding the right place in ROM if you click import. Then you have just to focus  on the things you changed form the ground up and the palettes. Donno how much work such a arranger tool with extra space would be. But this is the best thing I could imagine right now
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on April 30, 2018, 10:08:28 am
When you get to implement importing options. I always had imagine a tool that would let you export graphic data but remember the location on the ROM. You would be able to create a sheet with the graphic you like to change and you are able to arrange them to your liking in there. Export the created sheet as PNG/.. and make the changes. Then import it again and have them finding the right place in ROM if you click import.
Let say I have 3 graphics in the tool. When I export graphic data - should I export all of 3 or only the one marked in the list? Or to make it more general, when exporting data for editing and after importing it in the ROM, is this will operation over 1 image or multiple (list) at a time?

BTW I thought a lot about 'importing in a ROM' thing. As I said then - if we don't change the size it is not easy, but doable. So I though that if we are working with non-compressed data that should be the case. When the data is compressed then that is completely different story ( you never what output of the compression algorithm will produce). So why not, lets do it, but will be for versions after 3.2, because I have already specified what new things will come  :beer:
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: bogaabogaa on May 01, 2018, 03:20:51 pm
Hey I did overthink it a bit too. The idea with a arranger plus exporting option is not necessary in my opinion since there are some tools that do that kind of job better anyway and it would be a ton of work to implement. I think it would be great if you could mark the named addresses you like to export. Also the importing option should just be easy to understand. As I said importing with the option to arrange palettes of the importing file is the thing I wished the most for in my past. But I did not do much graphic work in the past wished more experienced people would bring up ideas too.   
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on May 08, 2018, 09:42:05 am
Version 3.2 is out!!!
 - New BPP: 4BPP (SNES-FX). Yes that is the format Super-FX uses!

 - New feature: Export of a palette to zSnes savestate (.zst, .zs?).
 - New feature: Import/Export of a palette from Photoshop Color File (.aco).
 - New feature: Import/Export of a palette from Photoshop Color Table (.act).

 - New functionality: Context menu for the List of graphics
 - New functionality: Speed buttons for the List of graphics
 - New feature: Sort of the List (ascended order)
 - New feature: Manual order of the List trough two commands Up/Down
 - New feature: Add a new graphics from the end of a selected one. Neat feature to add 'next' graphics, when they are one after another in memory

 - Bug-fixes: when you choose 'New' the old image stays on screen
 - Bug-fixes: when you choose 'New' the old name of the documents stay in title-bar

*Download from the first post.

Although there are so many new things, one of the coolest new features is the ability to read SNES Super-FX images. Big thanks to noisercross for his help to understand and implement it! Now I hope the few titles that uses that chip will get more love (Yoshi Island, Star Fox, ...)

Proof of concept:
(http://www.bwass.org/bucket/Visual SAK - 5.png) (http://www.bwass.org/bucket/Visual SAK - 6.png) (http://www.bwass.org/bucket/Visual SAK - 7.png)

Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: Fire-WSP on May 08, 2018, 09:50:53 am
Uh how nice!
Do you also have the offsets for the Bowser Endboss GFX in Yoshis Island 2?
 
Title: Re: [New Tool] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on May 08, 2018, 10:01:58 am
Hi Fire-WSP :)

Unfortunately I'm not familiar with internals of the game. I was lucky that Super-FX Gfx was not compressed. But I think the rest are compressed, because if I remember correctly, I made a scan for 4/8 bpp in that ROM but found nothing.
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: bogaabogaa on May 08, 2018, 07:13:09 pm
Hey your SAK Swiss tile cuter coming along nicely. SNES tiles can come along with 8 palettes for bg 1-4. And 8 more for pbj.. was thinking it would be nice to be able to save 8 (may be more) palette address for each tile sheet. Can't wait to see the import future coming  :)

I still think future changes may change the saving format quiet a bit so I will not put much work in. But I like to hear when you think it is save to start with a whole ROM.

(https://i.imgur.com/axZP9h0.png)

Luzern GrĂ¼sst
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on May 08, 2018, 07:43:27 pm
Hey your SAK Swiss tile cuter coming along nicely. SNES tiles can come along with 8 palettes for bg 1-4. And 8 more for pbj.. was thinking it would be nice to be able to save 8 (may be more) palette address for each tile sheet. Can't wait to see the import future coming  :)
Thank you bogaabogaa!

I still think future changes may change the saving format quiet a bit so I will not put much work in. But I like to hear when you think it is save to start with a whole ROM.
That is excellent question!
In version 3 format file format will be the same. The change should come in version 4 - I have planned to add tile-map, which will require a serious file format change. That's one of the reason I'm not in hurry to implemented it. I'm still thinking in spawning a second file that will contain the map. This way the compatibility with version 3 will be 100%. On the other hand people don't like much to have couple of file for a single project, so if you guys can share your opinion that will help me to decide :)
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: bogaabogaa on May 09, 2018, 02:50:22 am
I have planned to add tile-map, which will require a serious file format changes if you guys can share your opinion that will help me to decide :)

I think you may be on the point you see the scope of the project. May be the save file format could need some rearrangement to make implementing stuff easier in the future. You never know when you return and like to add something. I would go with a clean one save file. But I guess you have the most projects open with SAK so it may hurt you the most. Depending on how you implement tile maps a standalone file format could also be just the better choice. Like if you could dump the file as it is in a ROM to be edited with a hex-editor too. I also still have to learn how the SNES handles tile maps. I can only speak for tools like pyxel edit or Pro motion. This tools make it easy to import tile maps of a grafik/PNG to edit. When it comes to tools like thiny that is used to make table files and hex edit text in games. Sure many people like to see a more versatile tool there too. I don't know about general purpose tile map editors.. are there some? If it is hard to decide go the easier way because it may not matter in the end anyway.
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: shadow501 on May 09, 2018, 06:32:31 am
Nice tool Keep up, Can you support PSX Graphics also ?
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on May 09, 2018, 03:56:08 pm
I also still have to learn how the SNES handles tile maps.
I'm glad that you are improving your knowledge on SNES. Tile-maps are like a grid (or array) where each cell contain a TileID, PaletteID and some other info.

Nice tool Keep up, Can you support PSX Graphics also ?
Thank you.
Yes I would love to add some PSX Graphics. That is why I asked so many questions about BOF3 :D
The archive that you shared has some info, so I'm eager to try some.
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: Meeptroid on May 09, 2018, 07:07:31 pm
This honestly looks to be a great utility for editing graphics. I do however have a bit of a question. Do NES graphics work in this, or is that something that would theoretically need to be added? I'm honestly interested to see NES support with this.
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: bogaabogaa on May 10, 2018, 06:22:41 am
Good point I was thinking Snes 2bpp are the same but they are not. I would like to see NES 2bpp supported too. Question is 1bpp use for text sometimes? Not sure if that should be added too.
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: shadow501 on May 10, 2018, 09:46:45 am
I'm glad that you are improving your knowledge on SNES. Tile-maps are like a grid (or array) where each cell contain a TileID, PaletteID and some other info.
Thank you.
Yes I would love to add some PSX Graphics. That is why I asked so many questions about BOF3 :D
The archive that you shared has some info, so I'm eager to try some.

Wow wonderful!, I have many games I want see graphics and sprites, Like BOF3+4, Arc the led, Suikoden 1&2   ::)

Good luck !!  :D
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on May 10, 2018, 12:48:01 pm
This honestly looks to be a great utility for editing graphics. I do however have a bit of a question. Do NES graphics work in this, or is that something that would theoretically need to be added? I'm honestly interested to see NES support with this.
Thank you!
I expect that at least 2bp/4bpp will work for NES titles, but I have never tried :(
Could you guys help me to test, by providing a NES title with specific addresses of graphics and their BPP, please?


Good point I was thinking Snes 2bpp are the same but they are not. I would like to see NES 2bpp supported too. Question is 1bpp use for text sometimes? Not sure if that should be added too.
Hehe, I was thinking the same: SNES 2bpp = NES 2bpp ...  ;D
In my experience 1bpp is used for fonts only, but I can't speak for all games. On top of that the games I know the best use not a normal 8x8 tile, but 8x12 ...


Wow wonderful!, I have many games I want see graphics and sprites, Like BOF3+4, Arc the led, Suikoden 1&2   ::)
Lets start a little and go up step by step. For start graphics must not be compressed. I hope that PSX lean more to modern hardware and uses linear (no tiles, no bit-planes) way to store the images. So similar to NES - if you guys know a PSX tittle that has uncompressed graphics, please share: Title, the file in the CD, the address in the file and of course the BPP
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: shadow501 on May 10, 2018, 07:10:58 pm

Lets start a little and go up step by step. For start graphics must not be compressed. I hope that PSX lean more to modern hardware and uses linear (no tiles, no bit-planes) way to store the images. So similar to NES - if you guys know a PSX tittle that has uncompressed graphics, please share: Title, the file in the CD, the address in the file and of course the BPP

If you mean PSX Graphics tools, Maybe that is will help you ?

https://code.google.com/archive/p/tim2view/ (https://code.google.com/archive/p/tim2view/)

Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: samurai goroh on May 12, 2018, 09:28:43 am
Thank you!
I expect that at least 2bp/4bpp will work for NES titles, but I have never tried :(
Could you guys help me to test, by providing a NES title with specific addresses of graphics and their BPP, please?

 Hehe, I was thinking the same: SNES 2bpp = NES 2bpp ...  ;D
In my experience 1bpp is used for fonts only, but I can't speak for all games. On top of that the games I know the best use not a normal 8x8 tile, but 8x12 ...

Lets start a little and go up step by step. For start graphics must not be compressed. I hope that PSX lean more to modern hardware and uses linear (no tiles, no bit-planes) way to store the images. So similar to NES - if you guys know a PSX tittle that has uncompressed graphics, please share: Title, the file in the CD, the address in the file and of course the BPP

Hi there Squall, while I don't believe I have used graphics outside of the SNES, I used to use the following document that briefly describes how the info is stored:
https://mrclick.zophar.net/TilEd/download/consolegfx.txt
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: bogaabogaa on May 12, 2018, 06:34:20 pm
Just a quick idea. You have width, height and offset. Would one more slider make sense so you could snip of code that not belongs to the graphic? Like data length. Or is this a lot of work. I was just thinking this could be good to have and would make importing less painful.

Mode7-2 works great. Don't even know what Mode7-1 is xD

(https://i.imgur.com/jbegrpF.png)

Keep it up you are awsome!!
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on May 12, 2018, 09:00:22 pm
If you mean PSX Graphics tools, Maybe that is will help you ?

https://code.google.com/archive/p/tim2view/ (https://code.google.com/archive/p/tim2view/)
Woah that is TIM2 format with source. And not just any source but in Pascal, THANK you shadow501  :thumbsup:

Hi there Squall, while I don't believe I have used graphics outside of the SNES, I used to use the following document that briefly describes how the info is stored:
https://mrclick.zophar.net/TilEd/download/consolegfx.txt
Thank you samurai goroh! That is a great document! I've already implemented NES 2bpp. From this document even more formats will come :laugh:

Just a quick idea. You have width, height and offset. Would one more slider make sense so you could snip of code that not belongs to the graphic? Like data length. Or is this a lot of work. I was just thinking this could be good to have and would make importing less painful.

Mode7-2 works great. Don't even know what Mode7-1 is xD
Mode7-1 is exactly as tiles are ordered in VRAM. If you open a .ZST file, there the graphics is in that format. But that format uses twice the needed space, because of the way SNES Mode 7 organize the VRAM. Mode 7-2 hold only tiles without the extra luggage. If you know how long I have searched for titles that have in the ROM Mode 7-2 graphics to make 'proof of concept' ... Now you did it instead of me, thank you!  :thumbsup:

About your idea for the extra slider: I was thinking exactly the same - the slide should show data length, but measured in tiles. In your example (screenshot): the graphic is 16x2 tiles = 32, the slider will be 8. So the actual size will be 24 tiles, not 32.
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: bogaabogaa on May 13, 2018, 09:45:34 am
Quote
About your idea for the extra slider: I was thinking exactly the same - the slide should show data length, but measured in tiles. In your example (screenshot): the graphic is 16x2 tiles = 32, the slider will be 8. So the actual size will be 24 tiles, not 32.

This does sound good to me. A other idea would be a extra masking field for data you don't like to update when importing/exporting. Like mask field you put in the address range. I have seen examples that code is embedded with tiles(earlier picture). I think it will make sense when importing not to touch the ROM on some spots so you don't have to hex-edit/create patches to fix it later. And when exporting graphic it may save you the step of the graphic editor.

Are there more things you like to see a prof of concept? Glad I could help with mode7-2.

Here a better example with more graphic on it (https://i.imgur.com/lQoANqq.png)
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on May 15, 2018, 05:25:08 am
Are there more things you like to see a prof of concept? Glad I could help with mode7-2.
I think no screenshot of 1bpp and 2bpp SNES has been posted here.

I have good news. In next version there will be:
 - full support of NES - 2bpp NES format and loading NES palette from ROM
 - Neo-Geo Pocket support - 2bpp
 - first steps in PSX support - 4bpp/8bpp uncompressed

Other planned features:
 - Tile map for every format
 - Auto features - automatically adds number of graphics based on specific criteria
 - Export graphics to ROM
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: shadow501 on May 18, 2018, 08:14:15 am
I think no screenshot of 1bpp and 2bpp SNES has been posted here.

I have good news. In next version there will be:
 - full support of NES - 2bpp NES format and loading NES palette from ROM
 - Neo-Geo Pocket support - 2bpp
 - first steps in PSX support - 4bpp/8bpp uncompressed

Other planned features:
 - Tile map for every format
 - Auto features - automatically adds number of graphics based on specific criteria
 - Export graphics to ROM

Great!, What about BOF3 and your tool have options Import and Export also support Sega Genesis ?
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: bogaabogaa on May 19, 2018, 10:24:14 am
hmm I was hoping someone could bring better examples..

First off! I could not find a game that does use 1BPP But it seems not to work right form my point of view. When I directly select it and do changes on the height it will always show a blank screen. Other tools show some garbled stuff that seems to be right.

After viewing it with 2BPP it showed the screen slightly gray till I make changes to the height that will update the rendering in the selected format. This works fine but could confuse people.

Also there is a format 1BPP (16x16) what I am also not familiar with.

Sry that I could not help with this stuff

(https://i.imgur.com/X3PYfpt.png)
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on May 21, 2018, 04:49:17 am
Great!, What about BOF3 and your tool have options Import and Export also support Sega Genesis ?
Hehe it will come but if we want to do a quality job - a step by step :)
I'm very satisfied with my first attempt at PSX. As I expected it is more recent console so internals are close to contemporary hardware. As said earlier, I have successfully added 4/8bpp for PSX. On top of that it seems even palette is working.
So about BOF3 - could you tell me what graphical formats were used?
Support for Sega Genesis will come, but probably after some key features are added.


hmm I was hoping someone could bring better examples..

First off! I could not find a game that does use 1BPP But it seems not to work right form my point of view. When I directly select it and do changes on the height it will always show a blank screen. Other tools show some garbled stuff that seems to be right.

After viewing it with 2BPP it showed the screen slightly gray till I make changes to the height that will update the rendering in the selected format. This works fine but could confuse people.

Also there is a format 1BPP (16x16) what I am also not familiar with.

Sry that I could not help with this stuff
Actually, that is a great help for me! Thank you for taking time and try to find out!  :thumbsup:
I have to try your examples, maybe 1bpp doesn't render correctly. That is the problem when adding a new format without example :(

1Bpp(16x16) mean that tile is 16x16 pixels rather standard for SNES 8x8. I'm not sure how this is implemented - as 16x16 linear or 2x2 tiles of 8x8 pixels (the way SNES work) ...

BTW bogaabogaa, it seems to me that you capture the whole desktop and the you cut from it. Try: click on the window that you want to capture and press [Alt] + [PrintScreen]  :beer:
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: bogaabogaa on June 12, 2018, 07:24:28 am
I did not hear anything in a while. Kinda glad to see you work on it sometimes as I did see on git. Guess life keeps you busy. But I hope you keep being motivated to work on this project. You do awesome work here! For me it doesn't need to have a big scope! What I appreciate is the key futures other tools are missing and you managed to include some of them already  :D
I tried to use SAK to import ACO palettes. It does load in Photoshop correctly. Donno how your testing went (my result Picture)(I installed Photoshop for that purpose only xD). Also after importing I guess there is no option to save a palette to the ROM right? I really wished there would be a easy way to do it since I hate typing numbers in a hex editor to make color changes.. so far this was the point where my graphic projects stranded since I got really sick of doing all that for such a simple thing. I also think I might just miss to know a better way but I am looking and could not find a better way so far. I still think importing of a PNG file would be much better. It is simple to understand, the colors you need are stored in the picture you like to import. And a color swapping tool would be nice to have anyway.. the order matters a lot in a lot of games. donno how you think about all that extra work but I trow it in here again anyway.

Summing up ideas again:

Color pick and swap tool?
Importing color from image?
Save Color to ROM?

I use the snip tool that comes with windows. Thanks for the tip though. Will try to do cleaner cropping in the future.

(https://i.imgur.com/klKOq3V.png)
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on July 18, 2018, 08:47:08 am
I did not hear anything in a while. Kinda glad to see you work on it sometimes as I did see on git. Guess life keeps you busy. But I hope you keep being motivated to work on this project. You do awesome work here! For me it doesn't need to have a big scope! What I appreciate is the key futures other tools are missing and you managed to include some of them already  :D
THANK you, for the kind words and the support!!!
Yes, I kind-a took a break! I didn't release how stressful is working + working on hobbyist project in your spare time could be. Obviously it is fun for me, but without real break you can burn out pretty easy. That said it doesn't mean I stopped, because as you have seen I'm still posting updates (WIP, no release). But I needed a real break. So after I got a vacation, I'm eager to continue.

In that period I was working on PSX. Its not only because I was asked number of times, but my curiosity to peek in that system. I was working on specific game - MegaMan X4. Now I have to confess I never played that game before (and most likely I will not) but a good friend of mine had substantial knowledge, so we managed to show sprites, to animate some and even to render a map of a whole level. I know that is not tightly connected with this project, but gave me solid experience which will come handy at some point :happy:
(http://www.bwass.org/bucket/MegaMan X4 - 1.png)

Enough confessions, now back to the project :)
If you can link the .aco file, I can check to see what is the problem. The size seems odd on the screenshot, but without the actual file I can only guess. I'm sorry that you had to type things manually! That is what the knife should be doing ... Up till last released version, there is no saving in a ROM. Saving in ROM will be next big step in version 4.0
Title: Re: [Utiity] Visual SAK - Visual Swiss Army Knife
Post by: bogaabogaa on July 20, 2018, 09:23:06 pm
Nice to hear that you are eager to continue on your project. I can feel you. Having a big projects and not losing motivation to pump free time into it, is a thing for itself. I could tell you some story about programming projects that died for one or the other reason and I don't blame people when retiring. Sure it does hurt when you hear your tool will no longer get supported and is in a bad development state. Impotent is that you can visualize what you like to do and have fun creating it. And may be to see what get done with it ^^

As for palettes I might test the future again and see what I did wrong on my end. A SNES palettes are $1f byte long as far as I know and SC4 does have more or less  $36c0 of it. You don't wanna edit this in a Hex-editor. The best way to handle it for SNES is the 15 BBP BGR 555 Viewing in my opinion. I never fully tested tile molester because java and offensive nameing.. did not understand some things it does but I am very happy I did put some time into it now. I am surprised how great the tool is compared with the view other tools I know.

(https://i.imgur.com/9TsmA15.png)

If you like to hear what I think are the downsides of TM:

 - Handling the bookmarks is a little painful. Since the loading is automatic. There is no way to load it manual. I mostly edited the XML external to arrange
   things.

 - The bookmark system does only remember the number of palette for a obj but not witch one you picked.


But I don't go into detail here.

There are some people recommended YY-CHR but it was always a poor choice for the things I liked to do. I would like to see a good forum post about hacking tools. I feel too unexperienced to do one but I feel like there are many users just make poor decisions when picking there tools and fail in many things because of that.
Title: Re: [Utility] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on July 27, 2018, 09:33:09 am
UPDATE:
I'm releasing v 4.0 ALPHA!!!
This is not the final version, this is for test purposes and hopefully some input :)
- There are features that I have implemented long ago but haven't posted - NES, PSX, Neo Geo Pocket
- Import to ROM! Yes long asked feature is here ... for test
- Import of 8/4/2 bpp SNES ony!

Now the functionality is very limited till the test are good enough. You can import in ROM (in memory) but no save to actual ROM.
I tried several free Graphical Editing applications (like Paint) but they do a huge mess - they scramble the palette, no palette order, they even change colors when you save :banghead:
On top of that they can not specify a transparent color (must be index 0).
Because of all of that I couldn't do much, except wasting time in editing problems.

There are pretty much 2 solutions that I can think of:
- find good editing program (Photoshop)
- trying to adapt by doing heavy import work.
The first one probably will mean - working with specific applications only (and maybe $$$). The other option will require to take a heavy detour from adding tools in the tool-box, which mean HUGE amount og effort and time for something that is not even main focus ...

What do you guys think?
Title: Re: [Utility] Visual SAK - Visual Swiss Army Knife
Post by: bogaabogaa on July 31, 2018, 10:14:41 am
Hey Nice to see that you still work on this. I tell you how my testing went and the ideas I have.

First I was testing how you would go through the Rom and add all the Graphics. I did sort what I had first and then I could not type names in the naming bar without it saveing after every letter I did typ. It works most of the time. I had to re-type palette address a lot since they get lost when saving. But this would over all work well. I think the naming bar needs a tab/folder thing to collapse or it will get very crowded and confusing   (First Picture)
I would like to choose my templat/codec before saving.
The palettes are still a issue in my opinion since I don't wanna save 1000 off tabs. Would be nice to be able to cycle through them or something.
The Export icon could be confused with a save icon. A Icon with a pictureframe and a arrow on top could be better also importing has none. May be the same icon with just red and green color arrows? Have no better idea..
Better don't set transparency in picture and just use colors since it is easier to edit in a graphic program (picture).
I could not import after making changes to the PNG.. donno why it things the size is different. 

-
- icons Importing method
- palette cycleing
- palette importin/exporting as PNG (when not possible within the PNG then as a picture. Like with 15bpp BRG viwing in TM a very good way to handle palettes in my oponion)
- ask for save before close

(https://i.imgur.com/0iBWDZ2.png)


Overall Feeling. I am not sure how motivated you are to work on a big scope project. Sometimes it is good to cut down the ideas and focus on a view things you can do well and you know you are motivated to do. For example TM does let me put every picture into the ROM. Manages to get the nearest color and reduce colors when there are to many (Picture) I think yy-chr is similar but only manages to get the nearest nes colors and there are not many nes colors ^^. I think if you are motivated to make a tool that is as good or better then a existing one it will be worth. If you feel like you are not willing to spend the time to get there it will make your life easier to cut the scope of a project to something you feel good with and stands for what it does. Since I will not use a tool that make my life harder in the end.

(https://i.imgur.com/MrdGhCT.png)

Thanks for the update and good luck with the fixes
Title: Re: [Utility] Visual SAK - Visual Swiss Army Knife
Post by: Squall_FF8 on August 03, 2018, 10:31:36 am
Version 4.0 is out!!!
 - New shiny GUI design! It takes less space and hopefully it is intuitive.  :thumbsup:

 - New BPP: 2bpp (NES). Nintendo
 - New BPP: 2bpp (NGP). Neo-Geo Pocket.
 - New BPP: 15bpp (BGR 555).

 - New feature: Import of Graphics!!! Yes finally you can change the graphics!!!
 - New feature: Saving a ROM.

 - New functionality: Importing graphics in a ROM!
 - New functionality: New scale-able file format.

 - Bug-fixes: changing a graphics name after sort of the list.

*Download from the first post.

Its been a while since I last updated, but hopefully the waiting was worth because there are plenty of new features.
First of all is a new shiny design. This allowed me to free space in the upper bar for future content.
Second for the first time we have import of graphic, which mean we can change things in the ROM. For now that functionality is limited but will soon grow fast. The major limitation is compression, you can not change compressed thing. The second is the Templates that it applies - so far the first four - 4bpp GBA and 2/3/4 bpp SNES.
Next highlight is support for new consoles - NES, NGP, PSX. This support come trough formats native to the specific console. It was interesting for me to work with Playstation 1 games. As a more contemporary console internally it works with formats similar to PC - no planes, no tiles, all linear.
For the first time we have support of non-palette graphics 15 bpp (BGR 555). One interesting application of that option is to visualize a palette (SNES, GBA, PSX) as graphics and ability to save it in a file. You can choose how to arrange it - how many rows/columns.
Finally but not the least - a new file format to save your work. This new format is scale-able, which mean that even when there are changes on internals, you are sill be able to open older version!!!

Proof of concept (PSX game MegaManX4):
(http://www.bwass.org/bucket/VisualSAK - screen7.png)
Title: Re: [Utility] Visual SAK - Visual Swiss Army Knife
Post by: bogaabogaa on October 24, 2018, 12:39:54 am
Hey it is been a while

I can't thank you enough for the little extras you put into the tool because of comments. Still did leave the last conversation with mixed feelings. Since you do this tools for us and I did think you have personal goals with this and how far you wanna push it. I don't feel like pointing to new bugs since I know how much work it is to fix them and there are tools and ways for graphic viewing/editing I personally prefer.

Since I did see your FFV Viewer I did wish for a tool that would let you bookmark hex strings of a rom. Together with a good bookmark system and a linker to a simple hex editor could be a good way to hack your room. Or a way to create a Rom-map. May be it could had futures like showing all of the marked values in the hex-editor to find free space more easy. Every bookmark will show a box with infos you can edit. This could may be combined with your visual tool?

Could also be a bad idea for some reason I don't know yet. Still did feel like sharing this. Thanks again for your work ^^

A other idea was exporting Visual bookmarks to XML. May be in the same format as Tilemolester to get cross platform compatible.

(https://i.imgur.com/I2eG4km.png)