Register FAQ Search Today's Posts Mark Forums Read
Go Back   JazzJackrabbit Community Forums » Open Forums » General Jazz Jackrabbit Talk

JJ2 File Format Specifications

Reply
 
Thread Tools
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

Dec 21, 2008, 11:58 AM
Cpp is offline
Reply With Quote
I think it's the whole data block.

EDIT: My server is currently off-line so I'll just pastebin my source code.
http://pastebin.com/m45d6c54c
http://pastebin.com/m269ed95e
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>
Ricerind

JCF Member

Joined: Apr 2005

Posts: 319

Ricerind is doing well so far

Dec 21, 2008, 12:42 PM
Ricerind is offline
Reply With Quote
Yes that is basically taking the CRC32 of the whole compressed data block, everything that's not part of the header.
__________________
You've reached the end
And still you don't feel
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

Dec 21, 2008, 07:16 PM
Violet CLM is offline
Reply With Quote
Okay, it looks like I can read and understand that. Thank you both!
__________________
Krezack Krezack's Avatar

JCF member

Joined: Nov 2001

Posts: 5,156

Krezack has disabled reputation

Feb 3, 2009, 11:38 PM
Krezack is offline
Reply With Quote
This should be stickied.
__________________
"Are we not threatened with a flood of information? And is this not the monstrousness of it: that it crushes beauty by means of beauty, and annihilates truth by means of truth? For the sound of a million Shakespeares would produce the very same furious din and hubbub as the sound of a herd of prairie buffalo or sea billows."
—Stanisław Lem, Imaginary Magnitude (1973)
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

Feb 5, 2009, 10:07 AM
Violet CLM is offline
Reply With Quote
It's in ERE...
but as it's been bumped, I figure I may as well ask, is
Code:
fileHeader.crc32 = crc32(0L, Z_NULL, 0);
substantially different from
Code:
fileHeader.crc32 = 0;
? I assume it is, but I don't really know what those variables refer to.
__________________
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

Feb 6, 2009, 10:11 PM
Cpp is offline
Reply With Quote
Not quite sure, but I believe the first line initializes the CRC32 for further calculation while the second line only sets it to zero. Check the output variable and see whether they are the same. I think they should differ.
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

Feb 7, 2009, 08:45 AM
Violet CLM is offline
Reply With Quote
I don't use the language, though. The only semi-native CRC implementation at my disposal gets the CRC of an entire file, without asking me what polynomial I would like, so I'm rebuilding it by hand.
__________________
Krezack Krezack's Avatar

JCF member

Joined: Nov 2001

Posts: 5,156

Krezack has disabled reputation

Feb 8, 2009, 08:07 PM
Krezack is offline
Reply With Quote
Quote:
Originally Posted by Neobeo View Post
Four-month revival, but I was just wondering whether anyone has been using this information.
I'm coding a function in Python now that basically takes a j2t file and pulls out the mask and image so they can be used in a game I'm making (i.e. my game can accept Jazz 2 tilesets).

So yes, I certainly use it. More accurate specifications would certainly be welcome.
__________________
"Are we not threatened with a flood of information? And is this not the monstrousness of it: that it crushes beauty by means of beauty, and annihilates truth by means of truth? For the sound of a million Shakespeares would produce the very same furious din and hubbub as the sound of a herd of prairie buffalo or sea billows."
—Stanisław Lem, Imaginary Magnitude (1973)
FawFul FawFul's Avatar

JCF Member

Joined: Jun 2007

Posts: 491

FawFul is a forum legendFawFul is a forum legendFawFul is a forum legend

Feb 8, 2009, 10:07 PM
FawFul is offline
Reply With Quote
isn't there already something for that called "tileset extractor?"
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

Feb 8, 2009, 10:33 PM
Violet CLM is offline
Reply With Quote
That renders tilesets as image files, but if you're making a game, it's simpler just to have the game read .j2t files directly.
__________________
djazz djazz's Avatar

JCF Member

Joined: Feb 2009

Posts: 257

djazz is OFF DA CHARTdjazz is OFF DA CHARTdjazz is OFF DA CHART

Mar 10, 2009, 12:10 AM
djazz is offline
Reply With Quote
Smile J2l format reader in PHP

HELLO
I have coded some in PHP now, and I can read ALL J2L data and put it in nicely arrays. I'm even about to read out event-data, but those parameters are hardcoded. It uses JCS.ini for the event-names.
The "Data3" stream is parsed into a easy to use array and all Level Properties too.
I haven't yet finished the read-out of the level, with those "words" in Data3. ALL Layer Properties are parsed into an array, as the Help Strings are too.
I love what you do Neobeo, and thanks the I C E Man's tileset-php code


Have a look here (not complete):
http://djazz.mine.nu/content/jj2rela...2_formats/j2l/
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,934

Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold

Mar 10, 2009, 01:59 AM
Stijn is offline
Reply With Quote
Oh, that's awesome. I started writing a class to do that once but never got around to finishing it. Great that you've done it. Will the source code be available?
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

Mar 11, 2009, 08:28 PM
Violet CLM is offline
Reply With Quote
Quote:
Originally Posted by Unknown Rabbit View Post
It's in ERE...
but as it's been bumped, I figure I may as well ask, is
Code:
fileHeader.crc32 = crc32(0L, Z_NULL, 0);
substantially different from
Code:
fileHeader.crc32 = 0;
? I assume it is, but I don't really know what those variables refer to.
I ask again. I kind of need to be able to compile things... what is the result of this setting? As I understand it otherwise, taking the CRC (with any polynomial) of 0 is just going to be 0, so there's got to be some sort of starting value, but what is it? Or do I just totally misunderstand the process?
__________________
djazz djazz's Avatar

JCF Member

Joined: Feb 2009

Posts: 257

djazz is OFF DA CHARTdjazz is OFF DA CHARTdjazz is OFF DA CHART

Mar 26, 2009, 01:57 AM
djazz is offline
Reply With Quote
Quote:
Originally Posted by Stijn View Post
Oh, that's awesome. I started writing a class to do that once but never got around to finishing it. Great that you've done it. Will the source code be available?
Thank you
Yes I will release the source soon!
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,934

Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold

May 4, 2009, 03:08 PM
Stijn is offline
Reply With Quote
I made a J2T image generator thingy (in PHP) for J2O today and decided to share it.

Documentation: http://www.stijnpeeters.nl/j2o/class.Tileset/
Source: http://stijnpeeters.nl/j2o/class.Tileset/source.php

It's very basic and doesn't do any file integrity checks, but perhaps it is of use to someone.

(Props to Neobeo, Ice M A N and Grytolle for hints/input/posts in this thread)
Grytolle Grytolle's Avatar

JCF Member

Joined: Sep 2004

Posts: 4,126

Grytolle is a forum legendGrytolle is a forum legendGrytolle is a forum legend

May 4, 2009, 03:20 PM
Grytolle is offline
Reply With Quote
Yeah you'll find that this thread is full of usefull hints made by me :P "jam lets make dll ok?? lol hi btw"
__________________
<center></center>
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,934

Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold

May 4, 2009, 03:26 PM
Stijn is offline
Reply With Quote
I meant on IRC!
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

May 4, 2009, 10:12 PM
Violet CLM is offline
Reply With Quote
Can anyone answer my question? Please? Or do I just need to go learn a new programming language for one simple task?
__________________
djazz djazz's Avatar

JCF Member

Joined: Feb 2009

Posts: 257

djazz is OFF DA CHARTdjazz is OFF DA CHARTdjazz is OFF DA CHART

May 5, 2009, 12:27 AM
djazz is offline
Reply With Quote
Ok here is the source:
http://djazz.mine.nu/content/jj2rela...j2l/index.phps
I haven't modified it since last post
__________________
WebJCS 2 (new and in progress)
WebJCS 1 (old but complete)
SGIP Simple Games in Progress list
Level Packer v2 - With a GUI!
PHP Tileset Compiler
Grytolle Grytolle's Avatar

JCF Member

Joined: Sep 2004

Posts: 4,126

Grytolle is a forum legendGrytolle is a forum legendGrytolle is a forum legend

May 5, 2009, 01:27 PM
Grytolle is offline
Reply With Quote
I have no idea, UR, sorry
__________________
<center></center>
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

May 6, 2009, 09:10 AM
Violet CLM is offline
Reply With Quote
Another question (though the first remains open), has anyone tried zlibbing the blocks with compression rates other than that which JCS uses? Can JJ2 still read them?
__________________
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

May 6, 2009, 09:15 AM
Cpp is offline
Reply With Quote
Quote:
Originally Posted by Unknown Rabbit View Post
Can anyone answer my question? Please? Or do I just need to go learn a new programming language for one simple task?
This snippet is taken from the zlib manual.

Quote:
uLong crc32 (uLong crc, const Bytef *buf, uInt len);
Update a running crc with the bytes buf[0..len-1] and return the updated crc. If buf is NULL, this function returns the required initial value for the crc. Pre- and post-conditioning (one's complement) is performed within this function so it shouldn't be done by the application. Usage example:
Code:
         uLong crc = crc32(0L, Z_NULL, 0);

         while (read_buffer(buffer, length) != EOF) {
           crc = crc32(crc, buffer, length);
         }
         if (crc != original_crc) error();
Also, have you taken a look at the C++ source code I posted a few replies earlier?

Quote:
Originally Posted by Unknown Rabbit View Post
Another question (though the first remains open), has anyone tried zlibbing the blocks with compression rates other than that which JCS uses? Can JJ2 still read them?
Yes, it can.
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

May 6, 2009, 10:38 AM
Violet CLM is offline
Reply With Quote
Quote:
Originally Posted by Cpp View Post
If buf is NULL, this function returns the required initial value for the crc.
I'm asking what this required initial value is. The example usage there is the same as in your source code (albeit with while instead of for), and I think I've managed to hardcode the crc-ing of the four buffers with respect to an existing polynomial, but I don't know what the polynomial should start as, because I don't know what the value of crc32(0L, Z_NULL, 0) is.
__________________
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

May 6, 2009, 11:09 AM
Cpp is offline
Reply With Quote
Why do you want to hardcode it in? Last time I checked crc32(0L, Z_NULL, 0), it returned a zero, but I am not sure whether this is always the case. That's why I always initialize the crc variable with whatever value the crc32(0L, Z_NULL, 0) function call returns.
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

May 6, 2009, 11:22 AM
Violet CLM is offline
Reply With Quote
Unless I go learn a new language, the only semi-native CRC support I have is extremely limited and seems only to use a fixed polynomial. Therefore I go through the bit stream and gradually xor onto the polynomial manually, a bit at a time. But if the initial polynomial is 0, then xor isn't going to do a thing and the final CRC will still be 0, right?
__________________
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

May 6, 2009, 11:34 AM
Cpp is offline
Reply With Quote
Ah, now I understand your problem. You're not using the zlib library and/or C++ language. Personally I am not sure how the code you're using works, but I've checked the zlib source code and apparently the crc32 function always returns zero when the buffer param is set to Z_NULL. So in this case crc32(0L, Z_NULL, 0) = 0. If you pass a zero to your function, it won't work?

Code:
unsigned long ZEXPORT crc32(crc, buf, len)
    unsigned long crc;
    const unsigned char FAR *buf;
    unsigned len;
{
    if (buf == Z_NULL) return 0UL;

#ifdef DYNAMIC_CRC_TABLE
    if (crc_table_empty)
        make_crc_table();
#endif /* DYNAMIC_CRC_TABLE */

#ifdef BYFOUR
    if (sizeof(void *) == sizeof(ptrdiff_t)) {
        u4 endian;

        endian = 1;
        if (*((unsigned char *)(&endian)))
            return crc32_little(crc, buf, len);
        else
            return crc32_big(crc, buf, len);
    }
#endif /* BYFOUR */
    crc = crc ^ 0xffffffffUL;
    while (len >= 8) {
        DO8;
        len -= 8;
    }
    if (len) do {
        DO1;
    } while (--len);
    return crc ^ 0xffffffffUL;
}
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>
Violet CLM Violet CLM's Avatar

JCF Éminence Grise

Joined: Mar 2001

Posts: 10,630

Violet CLM has disabled reputation

May 9, 2009, 09:40 AM
Violet CLM is offline
Reply With Quote
Huh. I guess I just don't understand the function somehow, then... I'll have to do some more digging around and find an explanation of CRC that doesn't instruct me to xor lots of stuff by 0. Thanks.
__________________
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,934

Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold

May 25, 2009, 04:08 AM
Stijn is offline
Reply With Quote
I updated my Tileset class and wrote a Level class, capable of rendering a preview of an arbitrary layer in a level. Note that especially the Level class is very basic and neither have error handling or checksum checking or stuff like that built-in.

Source code:
http://www.jazz2online.com/junk/sour...lass.Level.php
http://www.jazz2online.com/junk/sour...ss.Tileset.php

Thanks to Neobeo/J2NSM for the source code their file format documentation.

Last edited by Stijn; Sep 11, 2011 at 01:26 PM.
djazz djazz's Avatar

JCF Member

Joined: Feb 2009

Posts: 257

djazz is OFF DA CHARTdjazz is OFF DA CHARTdjazz is OFF DA CHART

May 31, 2009, 09:47 AM
djazz is offline
Reply With Quote
Wow, fantastic Stijn

I haven't tried it out yet, but I will!
Your code looks much better than mine too.

You maybe should add an example showing how to use?

GJ!


________
Edit:

I got some errors that's listed below:
PHP Code:
Notice:  Undefined index:  tiles in C:\wamp\www\Daniels_Server\content\jj2related\JJ2_formats\j2l\class.Tileset.php on line 265

Warning
:  imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in C:\wamp\www\Daniels_Server\content\jj2related\JJ2_formats\j2l\class.Tileset.php on line 265

Warning
:  imagecolorallocate(): supplied argument is not a valid Image resource in C:\wamp\www\Daniels_Server\content\jj2related\JJ2_formats\j2l\class.Tileset.php on line 266

Warning
:  imagefill(): supplied argument is not a valid Image resource in C:\wamp\www\Daniels_Server\content\jj2related\JJ2_formats\j2l\class.Tileset.php on line 266

Warning
:  imagecopy(): supplied argument is not a valid Image resource in C:\wamp\www\Daniels_Server\content\jj2related\JJ2_formats\j2l\class.Level.php on line 638 
On line 265: $iImag e = imagecreatetruecolor(320,(($this->aOffsets['tiles']/10)*32));

Do you know how to fix this? I have tried with multiple j2l files.

my code for the classes:
PHP Code:
<?php
require_once("class.Level.php");
$Level = new Level("test.j2l");
//header("Content-type: image/png");
imagepng($Level->getRealPreview());
?>
__________________
WebJCS 2 (new and in progress)
WebJCS 1 (old but complete)
SGIP Simple Games in Progress list
Level Packer v2 - With a GUI!
PHP Tileset Compiler

Last edited by djazz; May 31, 2009 at 10:08 AM. Reason: New..
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,934

Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold

May 31, 2009, 10:06 AM
Stijn is offline
Reply With Quote
Code:
<?php
require 'class.Level.php';
require 'class.Tileset.php';

$oLevel = new Level('battle1.j2l');

header('Content-type: image/png');
echo $oLevel->getRealPreview();
To see it in action check the J2O downloads and click a file name in the "file contents" part

I've made a few tweaks to it since I published the code there, I'll probably put an updated version online soon.
djazz djazz's Avatar

JCF Member

Joined: Feb 2009

Posts: 257

djazz is OFF DA CHARTdjazz is OFF DA CHARTdjazz is OFF DA CHART

May 31, 2009, 10:11 AM
djazz is offline
Reply With Quote
Sorry still not working for me

And please make the source files downloadable, that copy-paste adds # signs
__________________
WebJCS 2 (new and in progress)
WebJCS 1 (old but complete)
SGIP Simple Games in Progress list
Level Packer v2 - With a GUI!
PHP Tileset Compiler
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,934

Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold

May 31, 2009, 10:12 AM
Stijn is offline
Reply With Quote
Source and documentation updated now... several changes to the code structure, but the most interesting improvement will be that animated, flipped and translucent tiles are now supported.

What does not work for you? It might be hard to debug since the classes still lack proper error handling. I've had little need for that since they work for their primary purpose - previews on J2O - but it's open source so feel free to improve that by yourself
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,934

Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold

May 31, 2009, 11:06 AM
Stijn is offline
Reply With Quote
Oh, I see the errors you pasted - strange... "tiles" should be defined at that point since the method that defines it is called from the object constructor... unless the constructor terminates before it reaches that point because it can't find the tileset file. Are you 100% sure the tileset path passed on to the Tileset constructor (line 596, class.Level.php) is correct? Did you perhaps forget to change the Level::ROOT_DIR constant to point to the correct location?
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

May 31, 2009, 01:03 PM
Cpp is offline
Reply With Quote
Quote:
Originally Posted by Stijn View Post
To see it in action check the J2O downloads and click a file name in the "file contents" part
This is indeed a nice addition to the website. May I suggest a feature where you can choose to download individual files from the package... assuming the new J2O file storage standard is in place.

EDIT: I just noticed the foreground layer tiling doesn't seem to work.
http://www.jazz2online.com/J2Ov2/dow...=160&sizey=248

EDIT2: Is it just me or is this level displayed entirely black?
http://www.jazz2online.com/J2Ov2/dow...024&sizey=1024
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>

Last edited by Cpp; May 31, 2009 at 01:22 PM.
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,934

Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold

May 31, 2009, 02:09 PM
Stijn is offline
Reply With Quote
Yes @ both. When a tileset is not found it will use black tiles.

We will not allow downloading individual files I think, simply because people upload their stuff as archives to our site, not as individual files An option to, for example, ignore music files might be implemented later though.

EDIT: In the case of this particular level it appears that there are two different sets named "pk2.j2t" on J2O. Since there is no way to determine which one is correct based on the J2L file alone, it uses the wrong tileset. The black tiles are references to tiles that don't exist in the "other" pk2.j2t.
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

May 31, 2009, 09:49 PM
Cpp is offline
Reply With Quote
Quote:
Originally Posted by Stijn View Post
EDIT: In the case of this particular level it appears that there are two different sets named "pk2.j2t" on J2O. Since there is no way to determine which one is correct based on the J2L file alone, it uses the wrong tileset. The black tiles are references to tiles that don't exist in the "other" pk2.j2t.
Is it not obvious to select the one that comes along in the archive?
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,934

Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold

Jun 1, 2009, 12:43 AM
Stijn is offline
Reply With Quote
Not if the code is structured like it is now.
djazz djazz's Avatar

JCF Member

Joined: Feb 2009

Posts: 257

djazz is OFF DA CHARTdjazz is OFF DA CHARTdjazz is OFF DA CHART

Jun 1, 2009, 05:56 AM
djazz is offline
Reply With Quote
Ok, got it fixed, I don't know how but it's working

Are there any todos left? flipped tiles, have you fixed them? Here is a code for flipping images: http://se2.php.net/manual/en/functio...copy.php#85992

More improovements is to put an image where it should be a event
__________________
WebJCS 2 (new and in progress)
WebJCS 1 (old but complete)
SGIP Simple Games in Progress list
Level Packer v2 - With a GUI!
PHP Tileset Compiler
Stijn Stijn's Avatar

Administrator

Joined: Mar 2001

Posts: 6,934

Stijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to beholdStijn is a splendid one to behold

Jun 1, 2009, 08:20 AM
Stijn is offline
Reply With Quote
Flipped tiles are supported.

Events are certainly possible but image generation would take a lot longer then so it's not a priority for me (the primary use for me personally is still J2O image preview).
djazz djazz's Avatar

JCF Member

Joined: Feb 2009

Posts: 257

djazz is OFF DA CHARTdjazz is OFF DA CHARTdjazz is OFF DA CHART

Jun 1, 2009, 11:04 AM
djazz is offline
Reply With Quote
See you've updated the source, but, could you please add a download link, it's so hard to remove all # signs and extra linebreaks

The PHP works rly nice, but it's very slow
__________________
WebJCS 2 (new and in progress)
WebJCS 1 (old but complete)
SGIP Simple Games in Progress list
Level Packer v2 - With a GUI!
PHP Tileset Compiler

Last edited by djazz; Jun 2, 2009 at 07:02 AM.
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump

All times are GMT -8. The time now is 06:50 PM.