Jump to content
Sign In to follow this  
DarkMatter

FiSHMan: An FSH image management tool

128 posts in this topic Last Reply

Highlighted Posts

  • Original Poster
  • Posted:
    Last Online:  
     

    I'll see if I can find the time to make an update, Pegasus.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online: A long, long time ago... 
     
    Would enjoy trying your program but only get this error.   Downloaded and installed MS.net framework 1.1 (ver 1.0 wouldn't install - said components were already on my pc).   Any other ideas?   
    WinXP Home....   FSHMan installed in it's own folder under C dir. 
     
    /idealbb/files/FSHMan_appError.jpg

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Ask you shall receive DM. 9.gif

    First of all, exactly what Peg said just above. The truncation is just about the most annoying thing I've run into using wonderful batch processor. It forces me to make a separate folder for each texture I edit and create. So far, for my arctic terrain modd, I have edited 43 base textures, which means 43 separate folders. Thus, that means I need to do 'Insert File' many many many times... If I could just dump all the textures into one folder I could then dump them all at once into a dat.

    Also, the alpha map for base textures and the like is annoying but MUCH less so.

    8-bit textures. Terrain tools need them but fishman can't make them. I realize you don't know how to implement dithering and color quantization so I won't mention it, but if Fishman could just import a gray-scale palettes then we would pretty much be set! 5.gif

    As you probably know, png's support alpha channels... so, is it at all possible you can program Fishman to export a FSH's alpha channel along with the image when saving to png's?

    DatGen has the ability to create new IDs... can this feature be added to Fishman as well? That way, we could create new textures without having to worry about it over-riding others.

    And last but not least... 2.gif A Batch-to-Dat. Basically, have the Fishman processor directly create/insert the batch processed FSH's straight into a dat or .SC4lot file. This, plus the "create new IDs for FSH's" would make adding custom textures to lots MUCH easier!

    And that's about all I can think of for now. 22.gif *gets off soapbox*

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    A can do pretty much all of that. Actually, the last thing, batch-to-dat, is sort of implemented already. FiSHMan can create a batch.txt file for everything it exports in a batch job. Then, just import all the files by opening the batch.txt file in the reader or datgen.

    Also, I've learned a bit about color quantization. I think I can probably generate 8bit palettes from 24bit color images. Saving alpha channels to PNG files will also be a synch.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    So, I've been doing it the hard way along?!?... *urge to swear like a sailor... rising!!* 22.gif

    How exactly do I make this batch.txt file? Oh, and it's good to hear that all that can be put in! 24.gif Your a live savior!

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    Mmmm...check the menus in the batch processor. One of them lets you save the batch.txt file.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online: A long, long time ago... 
     
    I got en error. I wanted to open the fsh-file of the dutch flag from the day of peace dat-file and got the error below:
    /idealbb/files/Fishman Error.jpg
    With other fsh-files of other flags I got the same error. Am I doing something wrong? Is this a bug? Please help me.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    ----------------

    On 7/24/2003 3:58:11 PM the7trumpets wrote:

    wheee!!!!
    24.gif

    I'd love to be in charge of organizing such a file. It would help alot if it were centrally maintained file, to ensure that no two IDs are used, and to ensure that it is properly indexed. Consider this my volunteer slip
    10.gif


    However, I have messed around a little using FSHTool to try to recompress some FSH files and insert them into the dat file, and they have not shown up as available textures in the lot editor. So, either I'm not using FSHTool correctly to compress them (they are showing up with a 'N' no flag in the reader under the compressed column), or there is some sort of indexing file that stores locations of all the textures that needs to be edited in order to insert new textures. I'll keep pecking at this, but if anyone has any ideas, let me know. I'll keep you guys posted
    2.gif
    ----------------




    From my experience, if you use the "Import & Compress" option in the Reader, the texture file compresses and displays the "Y" you are looking for. Either compressed or non-compressed files will appear in the Lot Editor and function in the game.

    As to the new textures not displaying in the Lot Editor, try using a different IID for them. I've had several that just won't appear in the LE at certain addresses, even though I know that TGI to be unique.


    ** Regarding the central registry & DAT for custom textures, I have a few concerns but I see them as a potential show stoppers:

    1. Lots using custom textures would require the user to always have to download the latest version of the Texture DAT as well... which will quickly grow to a rather large file.

    2. New Lots would not be able to be released until any custom textures they contained have been included in the Textures DAT and that has been re-uploaded/published. Thats going to be an unacceptable delay... and a HUGE time demand on whoever maintains the file.

    ** I think the hot setup would be an automated TGI/IID registry where Lot, MOD & Texture developers could see what adresses are available and 'register' the one's they are using. Compliance would be voluntary, of course, but those developers in compliance could 'brand' their products as being "ST TGI Certified" (needs a better name) and even include a small icon or graphic to indicate such. For lots, a small image in the corner of the offical picture... a ST TGI Seal of Approval sort of thing.

    The registry would have to be a database driven automated application. It would actually be a rather simple ASP app requiring just one new table added to an existing database.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    While I'm in the neighborhood...

    Does anyone know how to make a transparent Base texture? Not an Overlay texture, but a fully transparent Base texture?

    The goal here would be to allow the game's exisitng terrain texture to be visible when covered by a lot... or at least certain tiles within that lot.

    * I've tried applying a suitable alpha map to a Base texture in Fishman, which requires a Alpha map in the batch processor even for Base textures, but of course that bore no fruit.

    Any ideas or assistance on this would be greatly appreciated. Thanks.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    Working on my brick street mod, I ran into this problem with FiSHman.
     
    Here is an example. These two tiles are for zoom level one. They are 8x8 each. Converting them to JPG for posting purposes seems to have changed the coloration somewhat.
    /idealbb/files/0x00aa0134.jpg /idealbb/files/0x00aa0134Alpha.jpg
    After creating a FSH I get this.
    /idealbb/files/FiSHman01.jpg
     
    For some reason the red has turned green. This has only happened with the tiles of zoom level one.
     
    My brick road mod is done except for the fact that these streets are green at this zoom level.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online: A long, long time ago... 
     

    pegasus, the terrain texture is replaced by the lot base texture when a lot is plopped, there is no show through, I checked by changing an exempler to point to a texture I made which was transparent, the blue tile background shows through, like when the game hasnt built an area yet when you scroll. I checked post-rush-hour also, but no dice, I had asked for that, but I assume it would be way to much to code in.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    ----------------

    On 12/10/2003 5:55:57 PM GouRou wrote:

    pegasus, the terrain texture is replaced by the lot base texture when a lot is plopped, there is no show through, I checked by changing an exempler to point to a texture I made which was transparent, the blue tile background shows through, like when the game hasnt built an area yet when you scroll. I checked post-rush-hour also, but no dice, I had asked for that, but I assume it would be way to much to code in.----------------




    Damn! Thanks... but Damn! That actually makes perfect sense... and we've seen evidence of that fact when placing lots over water where the foundation won't show. I was hoping life could be easy, but noooooo...

    Oh well, back to the drawing board... (quite literally!) 2.gif

    Mucho obligato for the info!

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    zwanneman, I'm probably decoding the image data wrong. Not all of the pixel decoding routeens work, since I only had 24bit, 32bit, and the DXT format images to test with. Its possible the flags use a different format, which means I'll have to test the decoding routeen with them.

    Peg....the texture repository idea has been snuffed. No one was really interested in it, and its a lot of extra work for me to implement it. I don't have any free time to dedicate to writing the software for it.

    A transparent base texture is sort of a contradiction. By definition, base textures are DXT1 images, which means they completely lack any alpha info. By definition, overlay textures are DXT3 images, which means they contain an alpha map. The only difference between the two is the existance of an alpha map in an overlay (or rather, the fact that bases are DXT1, overlays are DXT3). Because of that, its impossible to have a transparent base texture. You just have to use an overlay, and don't use any base, in the tiles of your lot.

    Trolca...when you generate the textures with FiSHMan, you start with a 128x128 root image, and let the batch processor take care of the rest, right? If thats so, then the problem your encountering is FiSHMan's scaling technique. Its doing a bilinear filter when it scales, so it blurrs the red out with the green surrounding it. There isn't much I can do other than tell you to manually create the 8x8 texture yourself rather than let FiSHMan do it.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Trolca...when you generate the textures with FiSHMan, you start with a 128x128 root image, and let the batch processor take care of the rest, right? If thats so, then the problem your encountering is FiSHMan's scaling technique. Its doing a bilinear filter when it scales, so it blurrs the red out with the green surrounding it. There isn't much I can do other than tell you to manually create the 8x8 texture yourself rather than let FiSHMan do it.

    I never learned how to use the batch process. After creating the 128x128 texture along with a alpha channel. I resize each tile for the for all the lower zoom levels with Paint Shop Pro 7.04. I use a type of resizing called Smart size. Other resizing options are, Bilinear resample. Bicubic resample, and Pixel resize.

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     
    Ok guys. I've got an update for FiSHMan. Its not much, but it should solve the problems you have been having (except for 8bit images....still can't do those, because I don't yet know how to save the palette format FSH files use). This version does the following:
     
    1) Fixes the output name truncation problem. For successful output names, don't add a number to the name. For example, where you used to use doc1.fsh, just use doc.fsh. The batch processor will handle the addition of numbers for you.
     
    2) Alpha image stuff has been fixed. You no longer have to add an alpha image, and, if you use PNG files for your source images, the alpha from the PNG will be used automatically if you select overlay image generation.
     
    3) .tgi and batch.txt files. This is not new, but the batch processor will automatically generate .tgi files for every FSH it generates. You can also save a batch.txt file for use with both the reader (the reader seems to have problems with its own batch format....so be wary), and with DatGen. DatGen supports the readers batch format, so you can quickly insert LOTS of fsh files into a .dat with their TGI's in tact very easily.
     
    Let me know if there are other features you need. I'm still working on 8bit image compatability. Let me know what image editing programs you use, and send me some palette files so I can test with them and figure out their format.
     
    Trolca...about your problem. Could you send me the full set of images you were working on so I can test with them? I need to single-step through the code to figure out why its botching your textures like that.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    A couple of bugs I noticed with the batch processing...

    1. The output file name still trunicates. The main (04) name does not but the other four files (00-03) still get trunicated. Leaving the name as the default, as suggested, causes the last file preocessed to overwrite the previous. 23.gif

    2. You can't paste data in the Instance address textbox. 15.gif



    ** Not needing the alpha map for base textures works great! 1.gif

    ** Using PNG filkes as the source works great!! 3.gif

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online: A long, long time ago... 
     

    I just downloaded the 2.0 version of the fshman and had not had the chance to use it yet but I love the old version i've used it on many occasions to create my track tiles and lake tiles and look forward to using the new version. I will be using it again to correct a problem with track files i guess i chose the same instance numbers to a couple of other lots and mine is overriding theirs. - oops 14.gifDM can I just rename the fish files and the instance numbers in the dat file or do I have to go thru the hole process again can you help thaks in advance
    citynut1.gif

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     
    citynut, you can use DatGen to change the file TGI's. Just select the file, right-click, and choose Edit File Info... You can edit the instance id in there.
     
    Peg, thanks for the bug reports. About the names....could you give me an example of what kind of names your using to start, and the resulting names? I tested the naming with numerous different scenarios, and it worked on my system. I need more info to fix the bugs.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    The batch file process output file routine trunicates the last 3 characters of the file name. Using the default name "output" to process 2 base textures, it generated:

    output.fsh
    output.fsh.TGI
    out_s3.fsh
    out_s3.fsh.TGI
    out_s2.fsh
    out_s2.fsh.TGI
    out_s1.fsh
    out_s1.fsh.TGI
    out_s0.fsh
    out_s0.fsh.TGI

    These files turned out to be the 2nd texture processed... leaving me to assume that the first set of texture files were overwritten by the 2nd.

    Manually prepending a number to the output name (ie.. '1output', '2output', etc.. was the only way I could get all the files processed. Which resulted in file names of '1out_s3.fish' & 2out_s3.fish', etc. The primary file (the 04 file) does not have its output file name trunicated... just the 00 - 03 files.

    * If you could use the same naming convention for the primary file ('_s4'), it would be nice!2.gif Better still... if you could make the output file name the same as the input file name and just append an underscore followed by '00' thru '04' accordingly for each file... it wouldn't break my heart.
    * I manually import all my files into the Reader so I don't know if this would interfere with the batch processing of the Reader or DatGen.

    ** Also, a configurable auto sequence increment would be usefull. With so much custom content being added to the game, increments of 1000 for every 5 files is ceasing to be an option.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Just noticed another issue with the batch processor...

    When using a PNG file as the source for an overlay file, the PNG's alpha map/layer is applied only to the primary (04) file. Files 00-03 seem to have a pure white alpha map applied, which of course makes the whole file opaque.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online: A long, long time ago... 
     

    DM, I've changed the instance numbers and when i go to plop the lot the tracks all disappear. is there anything else I can do1.gif

    DM - I'm such an idiot, I forgot to replace the file in the plugins with the one that i corrected. its working fine now - thanks for your help
    citynut6.gif

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     
    Send me your .dat and I'll take a look, citynut. I'm not sure what the problem is.
     
    Peg, thanks for the bug reports. I'll try to get it all fixed soon.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    ----------------

    On 12/28/2003 10:17:08 PM DarkMatter wrote:


    Send me your .dat and I'll take a look, citynut. I'm not sure what the problem is.


    Peg, thanks for the bug reports. I'll try to get it all fixed soon.
    ----------------




    Be assured that they are bug reports... not complaints. I would be so dead without this wonderful tool. 1.gif

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    Hey, DM.  I'm having a problem with the batch processor.  After adding the files(5) and running the 'Process Batch', I get the following error:
    ************** Exception Text **************
    System.ArgumentOutOfRangeException: Length cannot be less than zero.
    Parameter name: length
       at System.String.Substring(Int32 startIndex, Int32 length)
       at FiSHMan.BatchTexTool.btnProcess_Click(Object sender, EventArgs e)
       at System.Windows.Forms.Control.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ButtonBase.WndProc(Message& m)
       at System.Windows.Forms.Button.WndProc(Message& m)
       at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    I think that it might have something to do with the truncated names.  The longer I make the output file name, the further the processing gets before quitting.  However, taking a look at the files that are output, things get even weirder.  Looking at the files of the outputted FSHs, it looks like the first file is correct, but then the TGI for the files created after that one start decrementing rather than incrementing.  I am not sure exactly what is going wrong with that.
     
    Anyway, if you need any more information, let me know.
     
    -red

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    redlotus and pegasus,
    I had a similar problem a while ago, both the filenames were truncating and the error message length cannot be less than 0 appeared (usually at the same time).  I found this happened if I didn't put the .fish extension in the output filename box. Now I use the format texturename_s4.fsh and it has behaved perfectly ever since (except when I forget the extension). I don't know if this has anything to do with the problem or if it was just coincidence, but it might be worth trying.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    Cool.  Thanks for the tip, Sam.<ahttps://www.simtropolis.com/idealbb/images/smilies/16.gif>  I'll have to give it a try when I get home tonight.

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    Ok, I'm putting in a call for requests for FiSHMan. I'm back to working on my programs, and, while I don't know exactly when I'll get to it, I want to update FiSHMan. I fixed a couple bugs already, but if anyone has some requests, I'd like to hear them. Everything beeing equal, I will do whatever you guys want with this program, if I can find the time, and if I can figure out how. I don't know everything, but I enjoy a challenge, so if you have a feature or change you want added to the program....bring it on! <ahttps://www.simtropolis.com/idealbb/images/smilies/9.gif>

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    How would I convert a batch in reverse, a large number of FSH files to an externally readable format? If there's a way to do this and I overlooked it I apologize, otherwise it would be a very useful addition to the batch converter 1.gif'

    One other request, when opening a FSH file, could there be an option to automatically select the internal bitmap?

    Share this post


    Link to post
    Share on other sites

    Sign In or register to comment...

    To comment in reply, you must be a community member

    Sign In  

    Already have an account? Sign in here.

    Sign In Now

    Create an Account  

    Sign up to join our friendly community. It's easy!  

    Register a New Account

    Sign In to follow this  

    • Recently Browsing   0 members

      No registered users viewing this page.

    ×

    Thank You for the Continued Support!

    Simtropolis depends on donations to fund site maintenance costs.
    Without your support, we just would not be in our 24th year online!  You really help make this a great community. *:thumb:

    But we still need your support to stay online. If you're able to, please consider a donation to help us stay up and running. This helps sustain a platform where we can share our community creations for years to come.

    Make a Donation, Get a Gift!

    Expand your city with the best from the Simtropolis Exchange.
    Make a Donation and get one or all three discs today!

    STEX Collections

    By way of a "Thank You" gift, we'd like to send you our STEX Collector's DVD. It's some of the best buildings, lots, maps and mods collected for you over the years. Check out the STEX Collections for more info.

    Each donation helps keep Simtropolis online, open and free!

    Thank you for reading and enjoy the site!

    More About STEX Collections