Oct 3, 2016, 09:38 AM | ||
![]()
Hello.
I have currently a problem with one of my levels. The last time that i played one of my levels was some months ago where my level was working. Today i was trying to open my level in JCS to edit it after some months of not playing it but suddenly i get the message "The file "Black Storm.j2l" is corrupted, it cannot be loaded". Does somebody know what could be wrong? The thing is that i tried to open a backup of my level and it says the exact same thing. I tried to find a solution for this on the internet and searched everywhere for an answer but i didn't find one. EDIT: Every other level that i currently have made are functioning normally. EDIT: Here is the jazz2.log information: Quote:
![]() |
Oct 5, 2016, 01:51 AM | |
I don't think this is a problem that can be diagnosed without seeing the file.
|
Oct 5, 2016, 12:21 PM | |
I've looked at the file through a few tools, and it genuinely appears to have been partially corrupted. All the basic information--e.g. name, tileset name, layer sizes, help strings, animated tiles--is fine, and even all the events are fine, but I can't find any way to access any information about which tiles were placed where. Some of the bytes in the latter half of the file have been overwritten with other ones, and I don't know why but nor do I know any way to recover the original information.
|
Oct 5, 2016, 12:25 PM | |
So there is no way to completely restore it?
So if i read it correctly the only thing that is actually corrupt is how the tiles are being placed in the level? EDIT: I have also added the backup here from the level: [Removed] I think that if you try to open this file that you will get the same result? Last edited by Whzkd; Oct 7, 2016 at 05:21 AM. Reason: Removed backup level |
Oct 5, 2016, 01:22 PM | |
The backup file is exactly identical, I'm afraid. Upon investigating the files, the corrupted content doesn't look much like a result of a software malfunction. Instead, it rather appears as if an entire part of the file were overwritten. Because the irregularities begin somewhere around the 4096-byte mark (typical cluster size on Windows), I'm suspecting it may be indicative of a more serious problem than one corrupted JJ2 level. For the sake of peace of mind, consider running CHKDSK to test integrity of the disk containing the J2L file.
Yes, the only damaged part of the file appears to be tile placement. If it's of any use to you, it would be possible to restore all other information, such as level and layer properties, as well as event placement.
__________________
I am an official JJ2+ programmer and this has been an official JJ2+ statement. |
Oct 5, 2016, 10:44 PM | |
Ah that's too bad that the backup file has the exact same problem.
You and Violet CLM are saying that some of the bytes are overwritten. How can you see that actually? Do you compare it with a random level (not my level) to see which bytes were overwritten? And about the Animations and Events, you say that they are intact. The level is completely empty but how about the Events that have animated tiles? Is that still visible or are only the Events visible? Last edited by Whzkd; Oct 5, 2016 at 10:46 PM. Reason: Switched animations and Events around |
Oct 5, 2016, 11:47 PM | |
So, a level file is broken into five main sections. These are, in order: the header, the level properties, the event map, and then two separate sections that together tell JJ2 which tiles (static or animated) appear in which positions in which layers. Somewhere between the start and end of the fourth section--the first half of the tile layout data--the file begins to be corrupted. We don't know exactly where because all but the first section of the file is compressed, and while it might be possible to uncompress the part of the fourth section that isn't corrupted, it probably wouldn't do you much good without the fifth section. We know that bytes have been overwritten because the decompression code works on the second and third sections but fails on the fourth and fifth sections, and because bytes we'd expect to see in certain places aren't there; however, we know that it was overwriting specifically that happened because the file is exactly the size that the (not corrupted) header says it is.
|
Oct 6, 2016, 03:52 AM | |
To spell it out, JCS didn't overwrite this data. As it does not contain recognizable patterns, we do not know what the corrupted data represents. However, as far as we call tell, half of the file has been completely wiped out and replaced with data that is unrelated and not part of your JJ2 level. The original data is not in this file. The corrupted data is highly unlikely to have been caused by JCS. It's hard to tell for sure, because we do not have the source code of JCS, but the fact that the data goes incorrect in the middle of a compressed stream rather than for the entirety of it suggests this.
If not by JCS, it must have almost certainly been done by something that's part of your operating system. Files having part of their content overwritten is never normal behavior. Files are stored in data clusters, essentially small pieces of your hard drive, which nowadays are usually 4 KiB in size. Files bigger than 4 KiB must be stored in several clusters. Your file becomes corrupted after around 4 KiB, which may be a coincidence, but may also mean it's attempting to read a cluster that doesn't belong to it, or something happened to the cluster that was supposed to contain it. If this is really the case, there may be a bigger problem with your file system. Such problems may be caused by many factors, from unsafely removing USB storage to power cuts. CHKDSK is a Microsoft utility that's available on every Windows operating system. It tests integrity of the file system, for example by checking if what the file system thinks about where files are located on the hard drive makes any sense. It's also capable of fixing some of the problems it encounters. I'm not saying it will fix your file, but I am saying nothing else will, so might as well run it. More importantly, it may detect problems with the file system that you didn't run into yet. The Internet will offer you instructions how to use it. If you use several drives, physical or virtual, remember to choose the one containing the file.
__________________
I am an official JJ2+ programmer and this has been an official JJ2+ statement. |
Oct 6, 2016, 09:30 AM | |
I was first thinking that JCS did change some bytes when opening a level. But that is now absolutely not the case.
You can only see the codes and compressed codes etc. because JCS refuses to open the level. How can i restore the most of this file if i can't open the level? And i have looked around on all files on my computer and USB's but didn't find any corrupted files. The only thing that is corrupt is this level AFAIK. I will try CHKDSK tomorrow and will place the results if it works. |
Oct 7, 2016, 05:16 AM | |
So, i have tried to use CHKDSK but it said that everything was fine.
So that didn't work unfortunately. To get back to my previous question, You can only see the codes and compressed codes etc. because JCS refuses to open the level. How can i restore the most of this file if i can't open the level? Does somebody know how to do this? Last edited by Whzkd; Oct 7, 2016 at 05:41 AM. |
Oct 7, 2016, 08:17 AM | |
Thank you for helping me with restoring most of my level.
Now i must find out how my level looked like and restore it myself... I know that you and Violet CML said that the tile placement has been corrupted. Is there really nothing to save from? Just a question i was having. |
Oct 7, 2016, 09:02 AM | |
There is really nothing.
Last edited by Violet CLM; Oct 7, 2016 at 09:35 AM. |
Oct 7, 2016, 09:52 AM | |
Ah good to know. I am at least very happy that i have my level back in some way. I am currently rebuilding the level from my memory. It's hard to remember some things from the level but it will come back eventually.
![]() I learned a lot from you guys. The internet is not so helpful... Thank you everybody that helped me with this problem. Thank you very much. Last edited by Whzkd; Oct 9, 2016 at 07:05 AM. |
![]() |
«
Previous Thread
|
Next Thread
»
Thread Tools | |
|
|
All times are GMT -8. The time now is 06:36 AM.
Jazz2Online © 1999-INFINITY (Site Credits). Jazz Jackrabbit, Jazz Jackrabbit 2, Jazz Jackrabbit Advance and all related trademarks and media are ™ and © Epic Games. Lori Jackrabbit is © Dean Dodrill. J2O development powered by Loops of Fury and Chemical Beats. Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Original site design by Ovi Demetrian. DrJones is the puppet master. Eat your lima beans, Johnny.