New founds on Lemmings Paintball

Started by DragonsLover, August 30, 2007, 01:55:37 AM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

Lee

I'm currently in the process of reverse-engineering the resource file and the level file format. I can do basic level editing such as placing trees and raising/lowering land, and I can set the time limit. I can't add switches, enemies etc.

I hope to have a proof of concept alpha version ready soon for everyone to try out, but it won't be anything fancy.

Chmera

Huh. Sweet, though I don't play Lemmings Paintball much anymore.

DragonsLover

Yay, I extracted the files from PBAIMOG.VSR using Game Extractor! :thumbsup: The problem is that the files don't have extensions included. They're all considered as blank "Files". In fact, if I open the PBAIMOG.VSR file using an hex editor and look inside, the list of files with their "kind" of files are listed there. But I'm not totally sure what extensions they must have. Examples of kinds :
- BIN (binary data)
- LIST (a list?)
- ZRLE (what's that?)
- BTMP (a Bitmap image)
- PAL (a Palette file)
- EFF (a Sound effect)
Also, the files are badly extracted. Some of the files have wrong data from other files and some don't have data at all as they should be considered as folders instead of files. Those "folders" would contain more files, but Game Extractor has ignored them. How lame!

Anyway, I tried doing the /edit@ command on a level (say Level_00 of FUN folder) : yay, it worked... almost. The title screen appeared like normally with all the stats showed, but when I clicked on "OK", I got a window after the loading : "Memory error". :( I think the problem is that the /edit@ command on LemBall.exe is using the contain of PBAIMOG.VSR file instead of the extracted ones (excepted if we could modify or tell the executable to take the resources to the extracted files instead of the compressed one which is not that easy). However, the /play@ command works perfectly. So, I think the level files aren't badly extracted which is good.
I like dragons! They're the center of my life! I'll never forget them...

Lee

What was the exact syntax that you used? I tried it before and couldn't get it to work.

Basic level editing is possible using a hex editor as long as the level file doesn't increase in size, as then the file location offsets in the archive are wrong and it corrupts it. FUN/Level_00 is stored at x69580c. The tiles start at x695834, and they take 6 bytes each. There are loads of x09 x02 x00 x00 x00 x00, which are snowey grass tiles. 09 02 is the tile reference, and changing it to 02 02 will create a round tree. The last two bytes store the height of the ground. Imagining the isometric level as a diamond <> , the first row of tiles is from the top point of the diamond to the right point. Levels are 64x64.

After the tiles is the data that stores objects. There are loads of things I haven't worked out yet. I can't find how to change the flag position or number of Lemmings. More advanced level editing such as adding enemies will involve increasing the file size, so I'm working on my own .vsr extractor which will be able to recompile.

Edit:
I googled ZRLE and it appears to be a compression format standing for Zlib Run-Length Encoding. "Zlib Run-Length Encoding combines RLE with Zlib compression. Sequences of identical pixels within the rectangle to be updated are compressed to a single value and repeat count, and the resulting information is then compressed using Zlib."  It's presumably used for graphics and animation.

DragonsLover

Yeah, a .vsr extractor would be very nice! :thumbsup:

You said what was the exact syntax? To edit a level you meant? Run Lemball using "Run" from the Start menu. Click Browse and go take Lemball.exe. Then, after that, type it like that (here, the Level_00 file is stored into Lemball\FUN folder):

Lemball.exe /edit@FUN\Level_00

By looking into the level file using an hex editor, they all start with "  IA" and end with "?DNE". Is that ok?
I like dragons! They're the center of my life! I'll never forget them...

Lee

I get a 'You stupid stupid man' error message when I click the 1-player button. It says that the name isn't entered correctly.

QuoteBy looking into the level file using an hex editor, they all start with "  IA" and end with "?DNE". Is that ok?
Yeah. They also all have an 'FSDG' string near the top. If you go backwards from the F by 8-bytes, that byte and the one next to it stores the time limit in seconds. Go back another two, and change that value from 0-3 to change the level theme (grass, lego, snow, space).

Before the ?DNE string is where the advanced stuff is stored such as enemies (look for 'YMNE'). There's a GALF string (FLAG). If you go forward from the F by 5-bytes, that byte stores the number of flags needed to complete the level, so setting that to 2 in FUN/Level_00 will mean that when you collect the flag the level won't complete. I can't find where the coordinates for the flag is stored. I'm in the process of working out how to change where the trap door lands your lemmings, and to set the number of lemmings.

I'm going to find as much out as I can about the level data before I create the VSR extractor/recompiler, to see how much can be done without one.

DragonsLover

Did you type the line correctly? It should work.

Here's what I write in the Run program (here, Level_01 is stored into Lemball\Extracted\FUN\):

D:\...\Lemmings\LEMBALL\LEMBALL.EXE /edit@Extracted\FUN\Level_01

Try to put quotation marks : " " so that it gives :

"D:\...\Lemmings\LEMBALL\LEMBALL.EXE" /edit@Extracted\FUN\Level_01
I like dragons! They're the center of my life! I'll never forget them...

Lee

I've discovered that the .vsr file contains sub-directories within the main directories, which Game Extractor doesn't know about. When I created my own extractor, I wondered why the extracted files were over 3MB smaller than the .vsr file, and it's because hundreds of files were being forgotten. I'm just trying to figure out how sub-directories work so that I can create a fully functional extractor.

DragonsLover

Yeah, this is what I was talking previously :

Quote from: DragonsLoverAlso, the files are badly extracted. Some of the files have wrong data from other files and some don't have data at all as they should be considered as folders instead of files. Those "folders" would contain more files, but Game Extractor has ignored them. How lame!
I like dragons! They're the center of my life! I'll never forget them...

DragonsLover

Okay, I discovered that I didn't get the memory crash when running the game in fullscreen mode. But once in-game, I have absolutely no idea how to make the editor running. The level starts like if I was playing it, and if I switch back to windowed mode, I got the same memory error. I think the editor only runs in windowed mode *sigh*. :(

I also tried running the game in 256 colours with a resolution of 640 x 480 and I didn't get the memory crash... but the main window of the game is fully black and if I switch to fullscreen, I can't switch back to windowed mode. I can't do anything! I can only restart my computer manually. I can, however, start the game with the -full commandline, but it's the same thing than above.

So, for now, I have no idea how to make the editor running. :cry: I need to do some tests again, and it's quite difficult.

There's something however : in the executable of the game, you can find four "/edit@" commands. Why four? I need to check this out.
I like dragons! They're the center of my life! I'll never forget them...

Lee

Happy Easter!  :) I've always considered Lemball to be an Eastery/Springy game for some reason. I think Easter '96 or '97 was when I first played it.

Anyway, I'm worried that I'll spend ages working on a level editor, then we discover how to use the built-in one. However, I'll continue work on the custom level editor to hedge our bets. I've worked out more about objects. Here I've changed a gate into a watchtower :)



You can't go into it, so it appears to be a planned feature that was never fully implemented. Images may take a while to load because sitesled aint what it used to be. I might move Lee's Lemmings Paintball Page to googlepages. There's also a hut that hasn't been implemented. You can walk straight through it.



I know how to do stuff such as change what key opens a gate and what crates contain (keys or catapults). I haven't created the .vsr recompiler, so I can't do any editing that will increase the level's file size (i.e. I can't add new objects, just change existing ones)

Btw, have you tried running Lemball with the /testalllevels command? You get a montage of all the levels, each producing an error message.

DragonsLover

Happy Easter All! :laugh:

Wow, nice watch tower and hut! Too bad they weren't implemented. :thumbsup:

Also, yes, I tried /testalllevels, but it brings me to the first level and then, causes a crash.
I like dragons! They're the center of my life! I'll never forget them...

Lee

Hi. Just a quick progress report. I know how most of the level file data works. I've been very hard at work the past month getting the last of my uni work done, so I haven't made much progress. I hope to get back to the project soon. I'm currently learning C++, which I'll use alongside an application called Multimedia Fusion 2 to create the level editor.

I'm working on a basic prototype editor that allows me to edit levels using XML. For example, to edit the number of entrances in the level and how many Lemmings use them, I can just type something like:

<entrances>
<entrance x="1" y="16" lemmings="1"/>
<entrance x="160" y="16" lemmings="1"/>
</entrances>

I know how most things work now. The hardest part will be creating the actual level editor that allows you to design the level. To do that, I'll have to mimic the Lemball graphical system so that what you see in the level editor is what you see in Lemball. The process of ripping each individual tile in the game will be tedious. I could try to reverse engineer the graphic files, but they've been compressed so I think that's beyond my technical ability.

Anyway, I just thought I'd drop a post to state that the project's still going, but it might be a long while before there's a working version for me to release.

DragonsLover

I like dragons! They're the center of my life! I'll never forget them...

Rec_rm

Ok I have a question, with all this talk of editing lemmings paintball I have to ask. How do you get lemmings paintball working in anything but a pure windows 95 install. I have been searching the internet for the past couple of years trying to get this game to work again but am unable to do so? I played it a while back when I was younger and loved the game to pieces, just like every other lemmings game on the planet.

Sorry if this is answered somewhere else but I can't find it. Search tells me this is the only lemmings paintball topic on the forum so I thought I would ask.