Oddworld Forums

Oddworld Forums (http://www.oddworldforums.net/index.php)
-   Oddworld Mods & Hacks (http://www.oddworldforums.net/forumdisplay.php?f=24)
-   -   .lvl files (http://www.oddworldforums.net/showthread.php?t=15680)

~^_^~ 12-16-2007 03:31 AM

Haha. Awesome paul.

Paul 12-16-2007 07:29 AM

:

()
so i see you have hex edited it without it corrupting, great!
oh, and i see also your cd is working again or something.

Got a new cd, and I didnt hex edit anything, I nop'ed out the calls to fill the "VLC " buffer

mlg man 12-16-2007 05:31 PM

What? English Please. I DON'T EVEN KNOW WHAT YOU MEAN!

Paul 12-16-2007 06:34 PM

You seemed to know a few posts ago, maybe you shouldn't tell me what you think im doing if you don't understand ;)

mlg man 12-17-2007 02:44 AM

like i mean VLC Buffer, like is that virtual memory or images stored temporarely in the ram?

mlg man 12-17-2007 06:36 AM

OMG! I Cracked Something!
 
I Managed to crack one part of the cam file, i can remove all of those background spirits, the background spirits are in the cam file at the end, delete all the hex at the end after you see a word in the hex, "FG1" i think it means forground 1. delete all of the fg1 and the hex after it, accept for the word "END!", dont leave any text behind it, it will corrupt, now here is proof, the cam file and screenshot. You can see on the screenshot is abe on top of the barrel on the second page of repture farms.

Oddey 12-17-2007 06:43 AM

Wow! I am impressed but do not double post. Hang on a minute? How'd you get that AE backround thing in?

Paul 12-17-2007 09:44 AM

FG1 is also used for the tiles in the main screen and lots of other stuff, VLC is another type which is some strange compression used in AE cam files. Before that there is a NULL, and the length of the segment is before that (check my edited cam file image, its a screen shot of the header struct)
Strange though, because if you remove that stuff in most instances the game will crash because it can't find the data its looking for, every "FG1 /Anim/Bits/etc" has its own resource ID, if its not found then the game goes boom
I've almost figured out how to decode AE type 4 sprites though, type 3 looks VERY strange, and the cam files are just looking impossible atm
I won't be doing much with AO files for a while, since AE's formats seem a lot more matured and stable

edit: maybe you should try editing it out of the main screen where abe says hello or whatever and see what happens

edit again: heres the header FYI

struct TChunkHeader // First thing in the file, the file chunk header
{
public:
DWORD iLength; // Length of the section
WORD iType; // Type of the section Font, Anim, etc
WORD iID; // Resource ID
TChunkHeader()
: iLength( 0 ), iType( 0 ), iID( 0 )
{
// Constructor is empty
}
};

ParamiteSurprise 12-17-2007 10:18 AM

O_o okayy...

Xavier 12-17-2007 11:59 AM

ParamiteSurprise, please don't spam, it's normal to be confused if you never toyed with some code, but it's not a reason to let everyone know you are lost here.

mlg man 12-17-2007 12:30 PM

I Am making an abe's exoddus for abe's oddysee mod, and the floors i got from extracting the backgrounds of the abe's exoddus demo, paul, in the abe's exoddus demo, there are mixed formats, like abe's oddysee formats, and further on like MIP0605 are abe's exoddus formats, kinda confusng.

I will search for more files in the cam files, if you can paul, can you make a program that takes out the FG1 files and can put them in other cam files, or just remove them just cause there in the way, and i'm working on the screen now. An the game doesn't seem to crash, but you can't convert them to BMP. :(

Paul 12-17-2007 01:40 PM

I can run over all the lvl files and make a list of every "type" there is Anim in cam files too, but if you removed it the game will crash, these are the extra bits I was talking about many posts ago.
The FG1 must also be tiles, square sections of bitmaps that are "pasted" over the top of the cam images, that means that they much also contain x,y coord info for each tile.
Maybe they can have various width/height but I doubt it.
In related news I might have a sprite ripper for type 4 AE sprites in a few days ;) (the gamespeak uses these type of sprites at least..)

mlg man 12-17-2007 09:30 PM

OMG! OMG! I ripped out the abe's oddysee and exoddus song files!!!!!!!!
Here are the abe's exoddus ones. i used seq2mid converter the BNQ Files are seq files! LOL!
IT ALSO HAS THE PROGRAM AND THE ONES I RIPPED OUT

Xavier 12-18-2007 01:51 AM

Sounds nice :D

what exactly do you have to do to convert them from the game's files?

Oddey 12-18-2007 05:32 AM

I tried them but they don't seem to bear much resembalence to the songs in the game. I beleive you though. It maight help if you could tell which one is what theme or where it plays.
Edit: After listening to the rest of them I can hear that half of them have sound close to those that play in-game. But still number 9 or 10 sounds a bit like the music from Jaws.

ParamiteSurprise 12-18-2007 07:35 AM

:

()
number 9 or 10 sounds a bit like the music from Jaws.

In that case its probably the song that plays when your in slog tension perhaps?

OddYouko 12-18-2007 08:50 AM

Which Slog tension? In AO or AE?

Paul 12-18-2007 10:06 AM

They dont sound like in the game because

a. Seq2Mid is buggy
b. You dont have the samples from the .vb file(s)

mlg man 12-18-2007 07:34 PM

How do you get the files out of the VB file, I tryed a PSX vb file explorer but it doesnt work, I thought it would cause the PC version of abe's oddysee is just the psx version being emulated, Like halo!

I was wundering though, the program is in chinese, so is there some reigion code limit so only the chinese games get extracted.

So Could anyone list or give me tips on what to use to make CMD Based aplication, like you paul. I would be happy to make that FG1 program.

Paul 12-19-2007 10:01 AM

the VB / VH files are part of a format called .VAB but sort of split in half, i dont think an app will load them because it has the file chunk header prepended to it so you'd have to hex that out, and for that reason im surprised the seq2mid worked either..

If you wanna make a CMD based app ( a console app) then you can download microsoft visual studio express edition for free, then create a win32 console app with it, you'll need to know c++ to write any apps with it though
But it shouldnt take too long to learn the basics

Paul 12-20-2007 02:29 PM

I'm really close to decoding type 4 sprites :D Not sure how to apply the palllete yet though, and I always end up with an extra pixel in the image which might break some other sprites :(
But once those are sorted there should be quite a few AE sprites to play with ;D

edit: Got palts working but seems I havent got the width and height figured out properly yet :(

ParamiteSurprise 12-24-2007 05:29 AM

:

()
I'm really close to decoding type 4 sprites :D Not sure how to apply the palllete yet though, and I always end up with an extra pixel in the image which might break some other sprites :(
But once those are sorted there should be quite a few AE sprites to play with ;D

edit: Got palts working but seems I havent got the width and height figured out properly yet :(

I cant quite make out the the one on the left... what is it?

MeechMuncher 12-25-2007 03:57 AM

If you listen to the MISEQ19.mid from the ripped music it sounds like "normal" instruments sounding. Like directly recorded in a studio and then the game distorts them to sound all wierd and, well, computergame-like.

Paul 12-25-2007 04:48 AM

:

()
I cant quite make out the the one on the left... what is it?

The door that opens where abes head pops up and says hello ;)

djsolidsnake86 12-25-2007 09:40 AM

paul do you have news about add graphic filter for get a better graphic on the pc version of abe games?

Paul 12-26-2007 09:38 AM

As I've said before, not for a very veryyyyyyyyy long time. On the plus side I can convert type 4 AE sprites, im working on type 3, that will allow conversion of 90% of the games sprites.

mlg man 12-26-2007 05:33 PM

Paul , thats awsome, 90%, whoot, long ago we didn't even have anything and now, 90%!!!
Great Job Paul, Actualy, Exelent Job! :)

Paul 12-26-2007 07:42 PM

Yeah, there are 8 types of sprites, but it seems like 3,4 and 8 are the only ones actually used, ive done 4, and im doing 3 now, so that only leabes 8 which a few sprites use.
As for the cam files, I don't know where the hell its getting its shift offset lookup table from..

ParamiteSurprise 12-27-2007 09:36 AM

:

()
The door that opens where abes head pops up and says hello ;)

Oh yeah, i can just see abes head shape


:

()
Yeah, there are 8 types of sprites, but it seems like 3,4 and 8 are the only ones actually used, ive done 4, and im doing 3 now, so that only leabes 8 which a few sprites use.
As for the cam files, I don't know where the hell its getting its shift offset lookup table from..

Very well done on progress of these level files,
hopefully you get so far in progress, we will be
making our own screens :D

mlg man 12-27-2007 04:40 PM

i've been working on the BND Files, they are scripts on which sligs, bird portals, and modduckens are placed, if some how paul you can figure its structure or something, we can make a Level Editor, Compiling The CamTool For Backgrounds And A Future BND Editor With Maybe a ban editor, a full level editor! :)!!!!!

Paul 12-27-2007 04:48 PM

Yeah... BND is exactly the same as .BAN but they have mutipul BAN parts all stuck together
So in a BAN you could have just Anim or Font, in BND you can have 5 Anim's and 3 Fonts etc.
There are no scripts in ban or bnd, they are purely sprites..
I can't parse all of the frame table properly ATM though, once thats sorted all type 3,4 and 5 sprites will be done for AE.
However slig beat seems to be a bit screwed up :s I can't play the animation in the game though cause I don't even seem to beable to beat any muds when I press X.
So wtf is the beat up muds default key??

edit: Oh btw if you're trying to make a level editor read what I posted a while back about the [level name]path.bnd Those are the ones you need to look at (actually is that what you are talking about?). Those are called bnd since there is mutipul Path's in them, but I just call them path files.
Actaully the S1Path.bnd in AO should be called S1Path.ban if it follows the rules properly ;)

mlg man 12-28-2007 02:17 PM

yer i was looking at the path file, i thught since its got a script on were screens are i would try to muck it up i did some edited and i made the first screen swap with the second, but abe starts on the first, and the game starts likenormal except its starts on the secong screen so abe has to run all the way to the right, and then you can see abe, its very confusing, in repture farms first cam file, there some code to make it the first screen. The teleport thing is a debug in the ddcheat look what i found while hex editing. Its a little bit of code. maybee paul you can understand it, its in a binary form so hex it as if it were a Bin Or EXE File!

Paul 12-28-2007 10:47 PM

Yeah I've told you I've seen that before... heres the function its in:

00415E1F CC INT3
00415E20 > > 56 PUSH ESI
00415E21 . 8BF1 MOV ESI,ECX
00415E23 . 68 A8135500 PUSH Exoddus.005513A8 ; ASCII 0A,"[Teleport]"
00415E28 . E8 33F70D00 CALL
00415E2D . A1 5C0F5500 MOV EAX,DWORD PTR DS:[550F5C]
00415E32 . 25 FFFF0000 AND EAX,0FFFF
00415E37 . 8B0C85 640F550>MOV ECX,DWORD PTR DS:[EAX*4+550F64]
00415E3E . 51 PUSH ECX
00415E3F . 68 88135500 PUSH Exoddus.00551388 ; ASCII "Level (1,2): %s
"
00415E44 . E8 17F70D00 CALL
00415E49 . 33D2 XOR EDX,EDX
00415E4B . 66:8B15 5E0F55>MOV DX,WORD PTR DS:[550F5E]
00415E52 . 52 PUSH EDX
00415E53 . 68 68135500 PUSH Exoddus.00551368 ; ASCII "Path (Up/Down): %d
"
00415E58 . E8 03F70D00 CALL
00415E5D . A1 600F5500 MOV EAX,DWORD PTR DS:[550F60]
00415E62 . 25 FFFF0000 AND EAX,0FFFF
00415E67 . 50 PUSH EAX
00415E68 . 68 48135500 PUSH Exoddus.00551348 ; ASCII "Camera (Left/Right): %d
"
00415E6D . E8 EEF60D00 CALL
00415E72 . 68 24135500 PUSH Exoddus.00551324 ; ASCII "Teleport = Enter Reset = Alt
"

Which brings me back to the point that the screen shot you had of this can't be real since %d is a C String which would become a number :p

mlg man 12-29-2007 04:31 PM

Or, there could be a script that converts it to name? :s But anyway, is there any evidence on how to start it, you know, activate the teleport function. If so, your the best! By The Way, what program did you use to make that code, iv'e tryed "PE Explorer" and i guess it does its job.

Paul 12-29-2007 04:38 PM

I use ollyDbg its a pretty good debugger. The function isn't called directly, its done by call eax or somthing so there isnt a way to know where or even if its called at all. There is a lot of stuff in the exe that is never used but you can edit the memory to force it to execute, of course the game will crash after doing so since the stack is buggerd up.
Im thinking a level editor might not be possible because it seems to be in exactly the same format as AO path files, the offsets are added onto a base pointer in a table of function pointers which do some pre-hardcoded stuff :/
Also the shift table used to decode cam files is created by using some other hardcoded lookup table.. so thats not looking too good either.

mlg man 12-29-2007 04:57 PM

how can i edit the memory?

Paul 12-29-2007 09:27 PM

Like I said.. use ollyDbg..

mlg man 12-31-2007 06:50 AM

Well, I found a better memory editing program, Quick Memory Editor, it is realy good for games, i can make scrabs disapear, by swapping SCRAB.BND with code UXB.BND! :)

:D Happy New Year! :D

:P

Paul 12-31-2007 09:56 AM

Yeah but thats pointless if you're trying to figure the file formats out, you need to see the machine code thats mainpulating the memory, what you've done can be done by just hexing the files, change scrab.bnd to uxb.bnd in the Indx of the lvl file or change its ResID to 0, it will do the same thing just because the game can't find the file to load it.

edit: Found somthing where you can open a file if its missing, dunno how you'd do it without doing it the way I did it though (forcing it to run by editing function return values etc)

edit again: who has used the level select cheat? I saw this

Positive 2 Positive 1 Negative 2 Negative 1 Slog/Fleech Attack Slog/Fleech Clash Slog/Fleech Angry Character Possessed Character Attack Character Patrol Mystery Silence Ride Elum Base Line meat grenades rocks none Credits Test Level Bonewerks Ender

Test Level?

mlg man 01-05-2008 05:23 AM

could you teach me how to activate it, and Test?, that Must be a secret cheat! HMM..