New BMPX Picture DataType

miker1264 · 9295

magorium

  • Legendary Member
  • *****
    • Posts: 632
    • Karma: +62/-0
  • Convicted non contributor
Reply #15 on: September 26, 2019, 07:15:00 PM
Does anyone have information about the format and proper layout of the datatype descriptor source file *.dtd used to make descriptors for new datatypes?
You could try and use the Dtdesc tool (and accompanied documentation) from Olivier which you can find here: http://archives.aros-exec.org/index.php?function=showfile&file=utility/shell/dtdesc.i386-aros.tar.gz

I've used the same information for my IFF scanner (and which seems to work as expected ... at least for datatype descriptors  :) ).

Don't get entangled/lost in similar descriptors and priorities though  ;)


miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #16 on: September 26, 2019, 09:43:47 PM
Does anyone have information about the format and proper layout of the datatype descriptor source file *.dtd used to make descriptors for new datatypes?
You could try and use the Dtdesc tool (and accompanied documentation) from Olivier which you can find here: http://archives.aros-exec.org/index.php?function=showfile&file=utility/shell/dtdesc.i386-aros.tar.gz

I've used the same information for my IFF scanner (and which seems to work as expected ... at least for datatype descriptors  :) ).

Don't get entangled/lost in similar descriptors and priorities though  ;)

Is dtdesc similar to createdtdesc?

I believe that the dt descriptor is related to the struct DataTypeHeader dth_Name, dth_BaseName, etc.

I've read about something similar for Amiga OS4 as dtdesc that has a user interface?

Thanks, I'll check it out.



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #17 on: September 26, 2019, 09:44:40 PM
thank you for your effort miker :)

Sure. No problem. I try very hard to make things work right.



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #18 on: September 26, 2019, 09:47:17 PM
When I have some time I will take a look at your sample images and test 1bit and 4bit images with the old bmp datatype and new one to compare.

There are some sample bmp images in the AROS sources.

I downloaded and opened your 1bpp images and some of my own. They all opened and displayed correctly.

Are you using Icaros Hosted or Native?



magorium

  • Legendary Member
  • *****
    • Posts: 632
    • Karma: +62/-0
  • Convicted non contributor
Reply #19 on: September 26, 2019, 10:56:31 PM
Is dtdesc similar to createdtdesc?
If i remember correctly it is similar in nature although if i recall correctly createdtdesc package is aimed at creating (picture) datatypes (as a whole, including makefiles). dtdescr is aimed at (only) viewing and creating the descriptor.

Although that in itself is not very exciting, it can be if you wish to create a new recognition filetype even though there is not an actual datatype in place. Or of course in case you wish to extend or 'overwrite' an existing descriptor (and in cases where you are not familiar with the build-system or wish to bypass that system).

Quote
I believe that the dt descriptor is related to the struct DataTypeHeader dth_Name, dth_BaseName, etc.
afaik that is correct. The accompanied readme implies as such  :)

Quote
I've read about something similar for Amiga OS4 as dtdesc that has a user interface?
I'm sorry to say that i'm not that familiar with OS4 tools/utilities so unfortunately i'm unable to tell.

Quote
Thanks, I'll check it out.
As long as it is useful to/for you then i'm glad i was able to help.


miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #20 on: September 30, 2019, 08:30:52 AM
I've not made much progress with some other datatypes. But the good news is that BMP DataType is working. So I'll continue work on it.

I'll release the final version 1.0.0 later today and the source code for it under AROS License.



salvatore

  • Guest
Reply #21 on: September 30, 2019, 01:04:45 PM
than's :D



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #22 on: September 30, 2019, 10:25:59 PM
Here is the final release of version 1.0.0 for New BMP DataType.

In a future update I may add support to Load and Save 16bit, Save 1bit & 4bit, & Loading OS2 bitmaps.



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #23 on: October 02, 2019, 08:25:19 AM
Here is the metamake file for 64bit. I haven't tested it yet. Let me know if it works. ;-)



Amiwell

  • Legendary Member
  • *****
    • Posts: 2616
    • Karma: +35/-4
  • Peace
Reply #24 on: October 02, 2019, 10:28:15 AM
Thank you miker :D



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #25 on: December 12, 2019, 11:44:03 AM
paolone

I will send the current version of BMP Datatype to you later today to be included in version 2.3.0 if it isn't too late. The save functions work on Icaros 32bit but not yet 64bit. I'm still working on 64bit.

Thanks for your patience and for your hard work.



Amiwell

  • Legendary Member
  • *****
    • Posts: 2616
    • Karma: +35/-4
  • Peace
Reply #26 on: December 12, 2019, 03:14:09 PM
but is possible uploading on archives?



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #27 on: December 12, 2019, 07:33:49 PM
but is possible uploading on archives?

I suppose so but it's the AROS 32bit BMP Datatype that will also be comitted to AROS 64bit sources when that part is ready.

The binary is to be included with the next release of Icaros Desktop 32bit, hopefully. The 64bit version isn't ready yet. I'm still working on that part.
« Last Edit: December 12, 2019, 08:46:14 PM by miker1264 »



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #28 on: December 12, 2019, 10:35:32 PM
I have narrowed down the problems with the 64bit version of the AROS BMP Datatype.

Since PNM Datatype already works I substituted the Save_BMP function for the Save_PNM function.
There was a slight problem with the BitmapFileHeader & BitmapInfoHeader so I also substituted the PNM header for the BMP.
 
So by using MultiView 64bit to open a test pnm file then choosing "Save As" from the menu MultiView used the Save_PNM function which is actually Save_BMP.
The result was that it saved a 24bit file with a PNM P6 header and BMP pixel data which is stored upside down and RGB for a BMP is swapped to BGR so red and blue are reversed. You can see that it successfully saved the BMP data. So the problem with the 64bit BMP save function is in the BitmapFileHeader & BitmapInfoHeader or file signature at the beginning of the BMP file.



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #29 on: December 13, 2019, 12:26:34 AM
You should be pleased to know that the 64bit version of the AROS BMP Datatype now works with save functions for 8bit, 24bit BMP, and 32bit BMPX.

It will act as a prototype for save functions for other Picture Datatypes such as ILBM and maybe TGA and PCX.

I have attached the binary for the 64bit BMP Datatype for you to try out. After renaming the old bmp.datatype and copying this one in its place test it with Multiview. Open a BMP file in MultiView then choose "Save As" from the menu to Save a new BMP file to a new location. I usually save to Ram Disk: to test.
« Last Edit: December 13, 2019, 12:30:18 AM by miker1264 »