InvisionFree - Free Forum Hosting
Enjoy forums? Start your own community for free.

Learn More · Sign-up for Free
Welcome to Betilla's Gardens. We hope you enjoy your visit.


You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access member-only sections, and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free.


Join our community!


If you're already a member please log in to your account to access all of our features:

Name:   Password:


Forum Rules Remember:

No double posting!

Pages: (6) [1] 2 3 ... Last » ( Go to first unread post )

 Rayman Wld File
Terminapor
Posted: Aug 3 2011, 09:18 PM


Forum Spammer


Group: Loyal User
Posts: 311
Member No.: 90
Joined: 5-November 09



Hi there \o/

I've started to decrypt the original Rayman file's format, in order to see if i was able to modify the original sprites B)

This topic will be about the WLD/DAT files structure.

I've started to modify the bigray.dat file, in order to figure out how the sprites were made..

The *.dat and wld files always starts with the same bytes :

4B 49 54 00 00 4B 49 54 00 00 00 01

Then, i've noticed that there was an adress at the end of this one (Bigray.dat) :

00 01 31 49 (values are always flipped)

It actually tells where is the end of the image.
The image uses 256color palette, the palette is stored elsewhere (inside the PCX files), the last byte of the image seems to define how much parts contains this image.

Then, here is the structure of an "part" :

X,Y,00,00,??,W,H;

It tells the engine how does it should cut the image, i've tried to replace some parts from the bigray and it worked ! :D

Anyway, i will try to program something in order to extracts all the parts from the bigray, then i will try to understand how does the animations works ;)


It should be possible to modify the sprites of Rayman, and re-inject all the missing bosses :)

Cya :P
Top
bobby
Posted: Aug 3 2011, 09:30 PM


Member


Group: Members
Posts: 24
Member No.: 23
Joined: 27-July 08



If your method works, you mgith replace some sprites (and bosses as you want so) but ADD new stuff might "move"all the data of the file, and in most of cases if some datas are not in "specific lines" the game crashes. This will be even more complex to ADD than replace I think...
This message maybe dosen't look like it, but this is an encouragement message ! :)
Top
Terminapor
Posted: Aug 3 2011, 09:39 PM


Forum Spammer


Group: Loyal User
Posts: 311
Member No.: 90
Joined: 5-November 09



Hehe :D

Well, since there is a byte that tells how much parts there is inside the file and another one that tell what's the size of the image, it should be possible to add new stuff ;)
Top
Jaxx
Posted: Aug 3 2011, 11:02 PM


Crazy Weirdo


Group: Crazy Weirdo
Posts: 1,224
Member No.: 61
Joined: 17-March 09



QUOTE (Terminapor @ Aug 3 2011, 10:39 PM)
Hehe :D

Well, since there is a byte that tells how much parts there is inside the file and another one that tell what's the size of the image, it should be possible to add new stuff ;)

I don't know. I think It's harder than it looks. :unsure:
Top
Terminapor
Posted: Aug 3 2011, 11:46 PM


Forum Spammer


Group: Loyal User
Posts: 311
Member No.: 90
Joined: 5-November 09



Well, i've been able to extract one part of the big ray, but the palette is wrong..

It seems that the bigray.dat also contains it's own palette <_<
Top
Jaxx
Posted: Aug 4 2011, 12:08 AM


Crazy Weirdo


Group: Crazy Weirdo
Posts: 1,224
Member No.: 61
Joined: 17-March 09



QUOTE (Terminapor @ Aug 4 2011, 12:46 AM)
Well, i've been able to extract one part of the big ray, but the palette is wrong..

It seems that the bigray.dat also contains it's own palette <_<

Well, I think you are making progress in the bigray.dat file. I saw your screenshot and it surprised me. good work, keep up! ;)
Top
Terminapor
Posted: Aug 4 2011, 10:25 AM


Forum Spammer


Group: Loyal User
Posts: 311
Member No.: 90
Joined: 5-November 09



:D

I've been able to extract the hunter's head part from the file RAY01.WLD, it's actually the same as a dat file, but the palette is really weird..

When changing the black color to blue from the palette of the jungle, it works in-game, but the engine seems to modify the palette, the black colors from the head is referenced by 0x35, which isn't black inside this palette..
I still have some missing information, but here is how looks like a part inside the wld file :

x,y,00,00,unknow,width,height.
It tells the engine where does starts the part, the code i made looks like this :

CODE

       for(unsigned int i=0;i<w;i++)
       {
       for (unsigned int j=0;j<h;j++)
       {

       a=((j*(w))+i) + x + (y*(w));
       a%=image_source->size();

          pixsrc = (image_source->at(a));
          putpixel(new_surf,w-1-i,j,palette->at((pixsrc%256)));

       }


And here is what i get :

(Posted Image)

That's not perfect, i have to figure out how do the palette system works :D

Cya !
Top
Jaxx
Posted: Aug 4 2011, 03:25 PM


Crazy Weirdo


Group: Crazy Weirdo
Posts: 1,224
Member No.: 61
Joined: 17-March 09



QUOTE (Terminapor @ Aug 4 2011, 11:25 AM)
:D

I've been able to extract the hunter's head part from the file RAY01.WLD, it's actually the same as a dat file, but the palette is really weird..

When changing the black color to blue from the palette of the jungle, it works in-game, but the engine seems to modify the palette, the black colors from the head is referenced by 0x35, which isn't black inside this palette..
I still have some missing information, but here is how looks like a part inside the wld file :

x,y,00,00,unknow,width,height.
It tells the engine where does starts the part, the code i made looks like this :

CODE

       for(unsigned int i=0;i<w;i++)
       {
       for (unsigned int j=0;j<h;j++)
       {

       a=((j*(w))+i) + x + (y*(w));
       a%=image_source->size();

          pixsrc = (image_source->at(a));
          putpixel(new_surf,w-1-i,j,palette->at((pixsrc%256)));

       }


And here is what i get :

(Posted Image)

That's not perfect, i have to figure out how do the palette system works :D

Cya !

I can's see the image :ph43r:
EDIT: no, wait! I see it!
incredible work!!!
awsome!!
wrong palette as you say but wow. If you was able to extrac it from the wld file you are near to understand all the sprite structures of this files ;)

This post has been edited by Jaxx on Aug 4 2011, 03:31 PM
Top
Terminapor
Posted: Aug 4 2011, 03:38 PM


Forum Spammer


Group: Loyal User
Posts: 311
Member No.: 90
Joined: 5-November 09



Yep, there is still a lot of things i don't get :P

Then, i will try to extract the animations B)
Top
bobby
Posted: Aug 4 2011, 03:48 PM


Member


Group: Members
Posts: 24
Member No.: 23
Joined: 27-July 08



That's be awesome, i remember many members did want replace sprites for their own. Imagine all the possibilities with this if we also use a custom PCX ! Now we'll be maybe finally able to make some sprites that FITS to our pcx's :) keep up the nice job!
Top
Terminapor
Posted: Aug 4 2011, 03:49 PM


Forum Spammer


Group: Loyal User
Posts: 311
Member No.: 90
Joined: 5-November 09



Yeah :lol:

There is also the engine thats i'm making, which will gives you more possibilites, such as programming your own bosses/ennemies/power :P
Top
bobby
Posted: Aug 4 2011, 03:58 PM


Member


Group: Members
Posts: 24
Member No.: 23
Joined: 27-July 08



Mmmmh really ?
You say you don't understand most of things and you already are working on something like that ? ...
In what do you code this, C++, visual basic ?
Top
Terminapor
Posted: Aug 4 2011, 04:56 PM


Forum Spammer


Group: Loyal User
Posts: 311
Member No.: 90
Joined: 5-November 09



C++ ;)

Understanding a file format without any informations is way harder than writting your own file format :P
Top
bobby
Posted: Aug 4 2011, 05:09 PM


Member


Group: Members
Posts: 24
Member No.: 23
Joined: 27-July 08



Maybe but that might be even harder to implant in the game...
Top
Terminapor
Posted: Aug 4 2011, 05:45 PM


Forum Spammer


Group: Loyal User
Posts: 311
Member No.: 90
Joined: 5-November 09



You means, modifying it ?

If i can get how does works the whole file, i could create my own/re-implement the ones from original rayman :D

Mkay, there is a big problem about the wld files..

edit : The engine checks the integrity of the file using a checksum, and i don't think that's possible to bypass.. :(

editē: Actually, it seems that the last 4 bytes are reserved for the checksum, i don't know how the engine calculate it.
Also, the part contains which image it uses, the file is like this :

number of pixels (4bytes) [pixels]number of parts, x,y,array id (for pixels), w,h

And repeated.
The first one inside the RAY01.WLD file is for the hunters, i don't know about the other

This post has been edited by Terminapor on Aug 4 2011, 08:01 PM
Top
0 User(s) are reading this topic (0 Guests and 0 Anonymous Users)
0 Members:
DealsFor.me - The best sales, coupons, and discounts for you

Topic OptionsPages: (6) [1] 2 3 ... Last »



Hosted for free by InvisionFree* (Terms of Use: Updated 2/10/2010) | Powered by Invision Power Board v1.3 Final © 2003 IPS, Inc.
Page creation time: 0.9546 seconds | Archive