News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: [Utility] Visual SAK - Visual Swiss Army Knife  (Read 8887 times)

Squall_FF8

  • Full Member
  • ***
  • Posts: 198
    • View Profile
Re: [Utiity] Visual SAK - Visual Swiss Army Knife
« Reply #40 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/
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.

bogaabogaa

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: [Utiity] Visual SAK - Visual Swiss Army Knife
« Reply #41 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

Squall_FF8

  • Full Member
  • ***
  • Posts: 198
    • View Profile
Re: [Utiity] Visual SAK - Visual Swiss Army Knife
« Reply #42 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

shadow501

  • Full Member
  • ***
  • Posts: 184
  • Pro Hex Editor
    • View Profile
Re: [Utiity] Visual SAK - Visual Swiss Army Knife
« Reply #43 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 ?
« Last Edit: May 18, 2018, 08:57:45 am by shadow501 »

bogaabogaa

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: [Utiity] Visual SAK - Visual Swiss Army Knife
« Reply #44 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


Squall_FF8

  • Full Member
  • ***
  • Posts: 198
    • View Profile
Re: [Utiity] Visual SAK - Visual Swiss Army Knife
« Reply #45 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:

bogaabogaa

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: [Utiity] Visual SAK - Visual Swiss Army Knife
« Reply #46 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.


Squall_FF8

  • Full Member
  • ***
  • Posts: 198
    • View Profile
Re: [Utiity] Visual SAK - Visual Swiss Army Knife
« Reply #47 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:


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

bogaabogaa

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: [Utiity] Visual SAK - Visual Swiss Army Knife
« Reply #48 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.



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.

Squall_FF8

  • Full Member
  • ***
  • Posts: 198
    • View Profile
Re: [Utility] Visual SAK - Visual Swiss Army Knife
« Reply #49 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?

bogaabogaa

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: [Utility] Visual SAK - Visual Swiss Army Knife
« Reply #50 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




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.



Thanks for the update and good luck with the fixes

Squall_FF8

  • Full Member
  • ***
  • Posts: 198
    • View Profile
Re: [Utility] Visual SAK - Visual Swiss Army Knife
« Reply #51 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):