Jump to content


Photo

TileConv - A MOS/TIS Compressor

TIS MOS packer unpacker

  • Please log in to reply
50 replies to this topic

#21 -ac-

-ac-
  • Guest

Posted 02 September 2014 - 10:03 PM

the "- o" option seems to cause a crash

 

also strip the debug symbols from the win32 build

 

 

 



#22 Argent77

Argent77
  • Staff
  • 1075 posts

Posted 03 September 2014 - 01:42 AM

the "- o" option seems to cause a crash

Can you give me a reproducible example?



#23 -ac-

-ac-
  • Guest

Posted 03 September 2014 - 07:40 AM

unfortunatly not... it is working today.
 the best I can get from EventLog is that it was an Access Violation in memcpy()
Problem signature:
P1: tileconv.exe
P2: 0.0.0.0
P3: 54046391
P4: msvcrt.dll
P5: 7.0.7600.16930
P6: 4eeaf834
P7: c0000005
P8: 00009b60


#24 -aqrit-

-aqrit-
  • Guest

Posted 03 September 2014 - 08:13 AM

... and now it is back to failing again...
 
// fails
tileconv -u -o out.mbc idmos.mos
tileconv -o out.mbc -u idmos.mos
tileconv -u -o "out.mbc" "idmos.mos"
tileconv -o "out.mbc" -u "idmos.mos"

// works...
tileconv -o out.mbc idmos.mos
tileconv -o "out.mbc" "idmos.mos"

seemingly at random,,, because I've a batch script that I haven't changed ...
and it has gone from working to failing to working to failing...
I don't have time to debug this today.

#25 Argent77

Argent77
  • Staff
  • 1075 posts

Posted 03 September 2014 - 10:01 AM

It seems to be a threading related issue on certain Windows systems. I was able to trigger a crash on my Windows XP test machine. Still not sure what's the real cause.



#26 Argent77

Argent77
  • Staff
  • 1075 posts

Posted 06 September 2014 - 06:07 AM

New update: tileconv-0.3

Changes:

  • Improved parameter handling
  • New option -I for displaying file information
  • Many fixes and improvements under the hood
  • Added 64-bit Windows executable of tileconv to the archive

In response to the random crashes mentioned in the previous posts, I have temporarily disabled some optimizations in the 32-bit Windows version of the converter. As a result, converting from TIS to TBC and MOS to MBC will be significantly slower. Decoding speed is unaffected.



#27 Sam.

Sam.
  • Modder
  • 1095 posts

Posted 08 September 2014 - 07:01 AM

I have finally had a chance to play around with it some, and have a couple of comments/questions:
  • Tileconv fails ("Unsupported file type" message) when encountering a TIS missing its header (such as those exported by NI before that bug was fixed).  Would it be reasonable for tileconv to assume standard values and calculate the count of tiles based off the filesize instead?  On a related note, there was a while when DLTCEP erroneously created tilesets with V2 in the header instead of V1.  On these files, tileconv gives an error saying "Invalid TIS version".  If you care to have tileconv handle the above tileset defect, you may wish to handle this one as well.  I can upload tilesets with these defects if you wish.
  • In the event of more than one input file, it would be nice for the -o option to be able to specify an output directory.
  • On the first line of console output, the verbosity level is reported as silent when the -v (verbose) option is specified.
  • The optimizations seem to have been disabled not only in the 32-bit Windows executable as stated in the previous post, but also the 64-bit one.
  • The console output would be easier to read if there was a blank line between the output from each file.
Really cool tool, by the way :)

Edited by Sam., 08 September 2014 - 07:02 AM.

"Ok, I've just about had my FILL of riddle asking, quest assigning, insult throwing, pun hurling, hostage taking, iron mongering, smart-arsed fools, freaks, and felons that continually test my will, mettle, strength, intelligence, and most of all, patience! If you've got a straight answer ANYWHERE in that bent little head of yours, I want to hear it pretty damn quick or I'm going to take a large blunt object roughly the size of Elminster AND his hat, and stuff it lengthwise into a crevice of your being so seldom seen that even the denizens of the nine hells themselves wouldn't touch it with a twenty-foot rusty halberd! Have I MADE myself perfectly CLEAR?!"

-- to Portalbendarwinden

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

post-10485-0-15080600-1348188745.jpg
___________Old pen and paper modules of the 70s and 80s.___________

CA Forums CA Homepage


#28 Argent77

Argent77
  • Staff
  • 1075 posts

Posted 08 September 2014 - 09:55 AM

Tileconv fails ("Unsupported file type" message) when encountering a TIS missing its header (such as those exported by NI before that bug was fixed).  Would it be reasonable for tileconv to assume standard values and calculate the count of tiles based off the filesize instead?  On a related note, there was a while when DLTCEP erroneously created tilesets with V2 in the header instead of V1.  On these files, tileconv gives an error saying "Invalid TIS version".  If you care to have tileconv handle the above tileset defect, you may wish to handle this one as well.  I can upload tilesets with these defects if you wish.

It should be possible. I could add an option to enable headerless files treated as TIS. I don't want to enable it by default though. Treating TIS V2 as V1 should also be no problem.
 

In the event of more than one input file, it would be nice for the -o option to be able to specify an output directory.

Good idea. I'll see what I can do.
 

On the first line of console output, the verbosity level is reported as silent when the -v (verbose) option is specified.

Will be fixed in the next release.
 

The optimizations seem to have been disabled not only in the 32-bit Windows executable as stated in the previous post, but also the 64-bit one.

I have included the optimized 64-bit Windows version of tileconv. You can easily notice the speed difference when converting from TIS to TBC or MOS to MBC. The 64-bit version (as well as all non-Windows versions) should be at least 4 times as fast as the 32-bit version.

 

The console output would be easier to read if there was a blank line between the output from each file.

Will be fixed in the next release.



#29 Sam.

Sam.
  • Modder
  • 1095 posts

Posted 08 September 2014 - 10:22 AM

When converting my test TIS to TBC, I tried quality levels of 0, 2, 3, 4, and 9 with all other options left as default. Each case resulted in identical output TBC files. The documentation led me to believe this is not likely to be the intended outcome, given the different level-dependent features applied at varying quality levels (e.g. posterization vs dithering). Note that I am using the 64-bit Windows executable. Am I misunderstanding something?

Edit: I assumed the posterization would occur during the encoding stage.  As such, I didn't test the effect of various quality levels in the decoding direction...

 

Edit2:  I indeed assumed wrong, so never mind :)


Edited by Sam., 08 September 2014 - 10:42 AM.

"Ok, I've just about had my FILL of riddle asking, quest assigning, insult throwing, pun hurling, hostage taking, iron mongering, smart-arsed fools, freaks, and felons that continually test my will, mettle, strength, intelligence, and most of all, patience! If you've got a straight answer ANYWHERE in that bent little head of yours, I want to hear it pretty damn quick or I'm going to take a large blunt object roughly the size of Elminster AND his hat, and stuff it lengthwise into a crevice of your being so seldom seen that even the denizens of the nine hells themselves wouldn't touch it with a twenty-foot rusty halberd! Have I MADE myself perfectly CLEAR?!"

-- to Portalbendarwinden

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

post-10485-0-15080600-1348188745.jpg
___________Old pen and paper modules of the 70s and 80s.___________

CA Forums CA Homepage


#30 Argent77

Argent77
  • Staff
  • 1075 posts

Posted 08 September 2014 - 11:01 AM

Currently, the quality levels are only affecting the decoding process. In practice the differences of the respective quality levels are probably barely noticeable since each 64x64 tile of the TIS/MOS is using its own palette. The speed differences are significant though.

 

I'm planning to expand the quality settings however, so it will also affect the encoding process.



#31 Argent77

Argent77
  • Staff
  • 1075 posts

Posted 09 September 2014 - 07:36 AM

New update: tileconv-0.4

Changes:

  • Improved visual feedback
  • Added output folder support
  • Added option "-T" to treat unrecognized files as headerless TIS
  • Expanded option "-q" to support quality levels for encoding operations


#32 Argent77

Argent77
  • Staff
  • 1075 posts

Posted 18 September 2014 - 05:03 AM

New update: tileconv-0.5

Changes:

  • Added decompression support for TIZ and MOZ files
  • Option -T (assume headerless TIS) can be used together with option -I (show file information)
  • Incomplete output files will be deleted automatically on error

Note: Starting with this release I'm compressing tileconv's executables to reduce file size. Some overzealous antivirus tools may trigger false alarms because of this.



#33 Argent77

Argent77
  • Staff
  • 1075 posts

Posted 06 April 2015 - 10:08 AM

The 32-bit Windows version of tileconv has always given me a lot of headache.

I don't have a Windows 8 installation available, but I was able to reproduce crashes on a Windows 10 test installation. Can you test if the attached version is stable?
 

Attached Files



#34 K4thos

K4thos
  • Member
  • 315 posts

Posted 06 April 2015 - 10:48 AM

I had to switch back to mosunpack.exe due to crash on Windows XP 32-bit with tileconv x86 version. No problems on Windows 7. Unfortunately I no longer have Win XP installed, so can't test if newest version works there.


Edited by K4thos, 06 April 2015 - 10:49 AM.


#35 dabus

dabus
  • Member
  • 1982 posts

Posted 06 April 2015 - 12:22 PM

How about Windows Virtual PC and XP Mode?

Edited by dabus, 06 April 2015 - 12:22 PM.

THINK! - It's not illegal.

#36 K4thos

K4thos
  • Member
  • 315 posts

Posted 06 April 2015 - 10:21 PM

works fine at Windows XP SP3

Windows XP 32 or 64-bit?


Edited by K4thos, 06 April 2015 - 10:22 PM.


#37 Argent77

Argent77
  • Staff
  • 1075 posts

Posted 07 April 2015 - 05:02 AM

I have tested the latest 32-bit Windows version on several systems. It worked perfectly stable on Windows 2000 SP4, Windows XP SP3, Windows XP x64 SP1, Windows 7 SP1 and Window 10 TechPreview.

The new 32-bit Windows version of tileconv uses some very conservative build options. As a result, compression speed (TIS->TBC and MOS->MBC) is significantly longer than for the 64-bit Windows version and compression size may vary slightly because of different instruction sets used by the CPU for the calculations. Decompression speed should be more or less the same.
 



#38 Argent77

Argent77
  • Staff
  • 1075 posts

Posted 07 April 2015 - 07:39 AM

New update: tileconv-0.5a

Changes:

  • Fixed crashes of the 32-bit Windows executable on certain systems.

 

Note: This minor release updates only the 32-bit Windows binary of tileconv.



#39 K4thos

K4thos
  • Member
  • 315 posts

Posted 07 April 2015 - 09:50 AM

I have tested the latest 32-bit Windows version on several systems. It worked perfectly stable on Windows 2000 SP4, Windows XP SP3, Windows XP x64 SP1, Windows 7 SP1 and Window 10 TechPreview.

This makes mosunpack and tisunpack obsolete. Thank you :Bow:


Edited by K4thos, 07 April 2015 - 09:52 AM.


#40 Argent77

Argent77
  • Staff
  • 1075 posts

Posted 11 May 2015 - 02:12 AM

Important update for Mac users: tileconv-0.5.1

The previous versions assumed that certain standard libraries are installed on a basic Mac OS X system, which doesn't always appear to be the case. This update fixes the problem by linking the respective libraries statically. Windows versions are not affected. Linux should have the required libraries installed by default or ways to install it easily.

Changes:

  • Fixed a potential issue with dynamic libraries in the Mac OS X version






Also tagged with one or more of these keywords: TIS, MOS, packer, unpacker