Oddworld Forums > Zulag One > Oddworld Discussion > Oddworld Mods & Hacks


 
Thread Tools
 
  #631  
02-22-2010, 10:39 PM
Namida's Avatar
Namida
Bolamite
 
: Feb 2010
: New Zealand
: 60
Rep Power: 0
Namida  (7)

That is a good example, but shouldn't decoding the PC files be a higher priority? (At least the sprites, so that even if not perfect and not compatible with the original game, some kind of editable remake is possible)

While there are sprite rips, they're all either low quality or missing some sprites (such as the ones earlier on this topic)...
Reply With Quote
  #632  
02-23-2010, 02:10 AM
ThibG
Chippunk
 
: Jan 2010
: at home
: 28
Rep Power: 0
ThibG  (19)

Namida, noone's trying to stop you from reverse-engineering the Anim format
Reply With Quote
  #633  
02-23-2010, 03:25 AM
Ridg3's Avatar
Ridg3
Outlaw Flamer
 
: Aug 2009
: Craggy Island
: 2,522
Blog Entries: 13
Rep Power: 19
Ridg3  (3307)Ridg3  (3307)Ridg3  (3307)Ridg3  (3307)Ridg3  (3307)Ridg3  (3307)Ridg3  (3307)Ridg3  (3307)Ridg3  (3307)Ridg3  (3307)Ridg3  (3307)

Was just looking through, Paul...you have some fantastic work done. I was just wondering if you could possibly round up all the tools (AO) in one zip folder for me please.
__________________
"I'm staunchly atheist, I simply don’t believe in God. But I'm still Catholic, of course. Catholicism has a much broader reach than just the religion. I'm technically Catholic, it's the box you have to tick on the census form: 'Don't believe in God, but I do still hate Rangers..'"

Reply With Quote
  #634  
02-23-2010, 03:49 AM
Namida's Avatar
Namida
Bolamite
 
: Feb 2010
: New Zealand
: 60
Rep Power: 0
Namida  (7)

:
Namida, noone's trying to stop you from reverse-engineering the Anim format
I'm not exactly known for being good with *graphic* formats... although I don't see why I can't give it a try. Any existing information, Paul? (Just a tip... I don't know C/C++. At all. I know the concepts of bits, bytes, hex editors, etc, and the general idea of programming, just not C specifically.)
Reply With Quote
  #635  
02-23-2010, 04:03 AM
ThibG
Chippunk
 
: Jan 2010
: at home
: 28
Rep Power: 0
ThibG  (19)

Namida, I, personnaly, am working with AE, PC version.
You can have a look at my tools and doc (http://hg.sitedethib.com/oddworld-formats/), and try to find how the Anim format works.
However, according to Paul (who've lost is work about this), there are several "types" of this format. I think that as well since UXB uses an external colour palette.
Sprites themselves could be simple bitmaps, use some RLE encoding, or even MDEC. Have fun
Reply With Quote
  #636  
02-23-2010, 09:47 AM
Paul's Avatar
Paul
Outlaw Sniper
 
: Jun 2007
: MilkyWay
: 1,535
Rep Power: 19
Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)

:
Was just looking through, Paul...you have some fantastic work done. I was just wondering if you could possibly round up all the tools (AO) in one zip folder for me please.
They're all in this thread somewhere However I'd wait a few weeks until I update my GUI tool to replace cam images if thats what you're after...

As for the translation stuff that could be possible although I won't be doing that since my goal is a completely new engine based on ALIVE.

The reason I'm looking at the PS1 version is because the PC version is a horrible hacked up version of the PS1 code. Looks like they couldn't get MDEC decompression working in the first game so they just fudged it by using raw 16 bit images.

If anyone can understand the how the AO's VB sounds are constructed from the VH that would be cool, it looks like they kept the same as PS1 info but the stuff in the VB is not the same

If I had sounds and music I would start working on writing a new engine

Edit: Btw those "low quality sprites" are the real/actual sprites the game uses.

Also here is the path script for the first couple of screens:

------------ + R1P15C15

load_hosit_rocks
load_portals
load_mud
load_null_1
load_hosit_rocks
load_hosit_rocks
load_switch_bans
load_trap_bans
load_null_35
load_slig_bans
load_hosit_rocks
load_null_2
load_slig_bans2
load_slig_bans2_proxy
load_glow_bans
load_glow_bans
load_glow_bans
-----------------------------
load_null1
load_hosit_rocks
load_hosit_rocks
load_switch_bans
load_hosit_rocks
load_unknown_bans1
load_mud
load_unknown_Bans1
load_hosit_rocks
load_unknown8
load_switch_Bans
load_null_35
load_meat_saw
load_meat_saw
load_meat_saw
load_unknown_11
load_unknown_4
load_glow_bans
load_mud
---------------------------------- - R1P15C15 + R1P15C16

load_hosit_rocks
load_portals
load_mud
load_null_1
load_hosit_rocks
load_hosit_rocks
load_switch_Bans
load_trap_bans
load_null_35
load_slig_bans
load_hosit_rocks
load_null_2
load_slig_bans2
load_slig_bans2_proxy
load_glow_bans
load_glow_bans
load_glow_bans
----------------- - + R1P15C16

The names are functions, I've created these names myself by looking at what each function does.. can't see where its getting the placement info or linking up switches or anything either.
__________________
[ http://www.paulsapps.com ]

Crawling sligs will shout "Mommy!" while running around and then the slig mommy will appear and help them put their pants on.


Last edited by Paul; 02-23-2010 at 09:53 AM..
Reply With Quote
  #637  
02-24-2010, 02:56 AM
mlg man's Avatar
mlg man
Howler Punk
 
: Nov 2006
: Australia
: 346
Rep Power: 19
mlg man  (171)mlg man  (171)

If anyones interetested, i have a ton of values for exoddus and oddysee. By values i mean like x or y position of abe, scrab, paramite, mudokon, doors, levers, orbs. And so on... Its pretty handy, the values i found corrospond to the object on the current page, only. If you go to the next page, the program automaticly changes the address. Using pointers of course. I can even open any door. Change colors of all sprites, health, emotion (Muds), and size. Heres a bit of the file (For Cheat Engine, amazing program.), only some of the values, i have included. Its strange because scrabs, orbs, particles, and levers and doors use the same pointer. They probobly use some kind of identifier. Here is exoddus file. Still working on oddysee. Its funny, because all i have to do is change the pointers. Addresses for x and y are in the same offset. Goes to show how Exoddus was built on top of oddysee. What terrible coders.
Attached Files
File Type: zip Exoddus Values.zip (1.0 , 272 views)
__________________
I make games, programs, music and stuff so yeah

Reply With Quote
  #638  
02-24-2010, 07:41 AM
ThibG
Chippunk
 
: Jan 2010
: at home
: 28
Rep Power: 0
ThibG  (19)

Paul, so you've been playing with the Path files? Could you document the structure you've understood so far? Have you checked if it's the same format in AE?
Reply With Quote
  #639  
02-26-2010, 02:00 AM
mlg man's Avatar
mlg man
Howler Punk
 
: Nov 2006
: Australia
: 346
Rep Power: 19
mlg man  (171)mlg man  (171)

ThibG, I was wondering how do you run the python scripts you made? How can i edit the fg1 files and stuff. It would be realy cool to know.
__________________
I make games, programs, music and stuff so yeah

Reply With Quote
  #640  
02-26-2010, 06:06 AM
ThibG
Chippunk
 
: Jan 2010
: at home
: 28
Rep Power: 0
ThibG  (19)

mlg man, well, this is not really a set of scripts, but a python module to handle Oddworld files. The only script here is extract_files.py, which lets you:
1°) List the content of an Indx archive (./extract_files.py l file.lvl)
2°) Extract the content of an Indx archive (./extract_files.py x file.lvl)
3°) Rebuild an Indx archive from an existing one (./extract_files.py r file.lvl).
4°) Build a modified Indx archive from an existing one (./extract_files.py ir file.lvl). It'll bring a python console in order for you to alter the content of the archive (presented to you as python objects).

But in order for you to do interesting things with the oddworld_formats module, you'll need to know python (well, it really isn't an hard language, if you don't. Finding some tutorial around the web shouldn't be that hard).

Oh, and it needs python 3, not python 2.x, as it uses, along with other things, the bytes object to handle binary data.

Edit: the oddworld_formats module should be pretty well documented, but if you have any question, don't hesitate to ask

Last edited by ThibG; 02-26-2010 at 06:08 AM..
Reply With Quote
  #641  
02-26-2010, 11:59 AM
Paul's Avatar
Paul
Outlaw Sniper
 
: Jun 2007
: MilkyWay
: 1,535
Rep Power: 19
Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)

:
Paul, so you've been playing with the Path files? Could you document the structure you've understood so far? Have you checked if it's the same format in AE?
Not sure if its the same, basically its:

1. Go to hard coded offset (always near the end of the path file names)
2. There will be a DWORD, add this to the start of the file
3. At this new location load the next DWORD
4. Add this DWORD to the start of the file
5. The data here is specific to whatever is at the offset identified by 3

By the way Anim files work in a similar way.
__________________
[ http://www.paulsapps.com ]

Crawling sligs will shout "Mommy!" while running around and then the slig mommy will appear and help them put their pants on.

Reply With Quote
  #642  
02-26-2010, 12:21 PM
ThibG
Chippunk
 
: Jan 2010
: at home
: 28
Rep Power: 0
ThibG  (19)

You mean there is some sort of table to "function calls", where each cell is one DWORD long, and points to a function identifier followed by some arguments?
Reply With Quote
  #643  
02-26-2010, 12:58 PM
mlg man's Avatar
mlg man
Howler Punk
 
: Nov 2006
: Australia
: 346
Rep Power: 19
mlg man  (171)mlg man  (171)

I Dont know if this helps. But I downloaded the exoddus demo (I have the full game but wanted a smaller test file). and edited the path and changed every 00 01 (256) to 00 02 (512) Then it started screwing things up. Example: ledges were reveresed, doors were already open, doors would go to different locations. And every time you walking on to a ledge you would die. Its weird cause abe just freezes and dies.
__________________
I make games, programs, music and stuff so yeah

Reply With Quote
  #644  
02-28-2010, 01:51 PM
Paul's Avatar
Paul
Outlaw Sniper
 
: Jun 2007
: MilkyWay
: 1,535
Rep Power: 19
Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)

:
You mean there is some sort of table to "function calls", where each cell is one DWORD long, and points to a function identifier followed by some arguments?
Yes, but also I think each DWord in the path relates to the index of the function pointer table. Also the func args appear to always be the same, I think its:

-an int that has a magic meaning, the game always checks it for 2 or 4.
-a pointer to the current file location in the path
-a pointer to a global class that contains all kinds of stuff

Werid thing is that load_mud wont appear to load any data from the file pointer for location / is it scrubber / native / etc.. it knows this info by checking members in the global class pointer.

So I assume at the level load it somehow prepopulates this information
__________________
[ http://www.paulsapps.com ]

Crawling sligs will shout "Mommy!" while running around and then the slig mommy will appear and help them put their pants on.

Reply With Quote
  #645  
03-04-2010, 09:52 AM
Paul's Avatar
Paul
Outlaw Sniper
 
: Jun 2007
: MilkyWay
: 1,535
Rep Power: 19
Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)

If anyones trying to decode paths this is how the screen "array" is laid out in the first path.



When I get time I'm going to doc all the offsets and function calls for each screen in an attempt to figure the format out.
__________________
[ http://www.paulsapps.com ]

Crawling sligs will shout "Mommy!" while running around and then the slig mommy will appear and help them put their pants on.

Reply With Quote
  #646  
03-10-2010, 11:59 PM
mlg man's Avatar
mlg man
Howler Punk
 
: Nov 2006
: Australia
: 346
Rep Power: 19
mlg man  (171)mlg man  (171)

picture is too small, have a bigger one?
__________________
I make games, programs, music and stuff so yeah

Reply With Quote
  #647  
03-13-2010, 04:32 PM
Paul's Avatar
Paul
Outlaw Sniper
 
: Jun 2007
: MilkyWay
: 1,535
Rep Power: 19
Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)

Try this.
Attached Files
File Type: ttf Path1.PNG.ttf (2.52 , 359 views)
__________________
[ http://www.paulsapps.com ]

Crawling sligs will shout "Mommy!" while running around and then the slig mommy will appear and help them put their pants on.

Reply With Quote
  #648  
03-22-2010, 03:43 AM
mlg man's Avatar
mlg man
Howler Punk
 
: Nov 2006
: Australia
: 346
Rep Power: 19
mlg man  (171)mlg man  (171)

Any progress with the .lvl editor program?
__________________
I make games, programs, music and stuff so yeah

Reply With Quote
  #649  
03-22-2010, 12:56 PM
NovaMan's Avatar
NovaMan
Howler Punk
 
: Jun 2009
: ?
: 345
Rep Power: 16
NovaMan  (15)

:
Any progress with the .lvl editor program?
Don't worry how long time it will take, it can take many years, who know?
Reply With Quote
  #650  
03-22-2010, 03:15 PM
Paul's Avatar
Paul
Outlaw Sniper
 
: Jun 2007
: MilkyWay
: 1,535
Rep Power: 19
Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)

:
Any progress with the .lvl editor program?
Nope I left it a while back, lost interest really and don't have a lot of free time.
__________________
[ http://www.paulsapps.com ]

Crawling sligs will shout "Mommy!" while running around and then the slig mommy will appear and help them put their pants on.

Reply With Quote
  #651  
03-22-2010, 04:17 PM
Grieva's Avatar
Grieva
Riot Slug
 
: Dec 2005
: UK
: 568
Rep Power: 20
Grieva  (896)Grieva  (896)Grieva  (896)Grieva  (896)Grieva  (896)Grieva  (896)Grieva  (896)



Well, thats a shame

Reply With Quote
  #652  
03-22-2010, 04:40 PM
Paul's Avatar
Paul
Outlaw Sniper
 
: Jun 2007
: MilkyWay
: 1,535
Rep Power: 19
Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)Paul  (718)

I'll prob make another version.. it will just be a long time before I come back around to it.
__________________
[ http://www.paulsapps.com ]

Crawling sligs will shout "Mommy!" while running around and then the slig mommy will appear and help them put their pants on.

Reply With Quote
  #653  
03-24-2010, 05:41 AM
mlg man's Avatar
mlg man
Howler Punk
 
: Nov 2006
: Australia
: 346
Rep Power: 19
mlg man  (171)mlg man  (171)

it would help if you gave out the source code, i have been learning a bit of computer language and are just a beginner, i would like to help and learn from the code, it really interests me. Even if you just pm me a link to it, that would be cool. Only do so if you want to.
__________________
I make games, programs, music and stuff so yeah

Reply With Quote
  #654  
03-24-2010, 07:50 AM
Jango's Avatar
Jango
Rabid Fuzzle
 
: Jul 2009
: Brize Norton, UK
: 505
Rep Power: 16
Jango  (177)Jango  (177)

Yeah, it really is, a level editor would be amazing.

Very well done for giving it a go!
Reply With Quote
  #655  
03-27-2010, 05:01 AM
Jango's Avatar
Jango
Rabid Fuzzle
 
: Jul 2009
: Brize Norton, UK
: 505
Rep Power: 16
Jango  (177)Jango  (177)

What is the problem with making a .lvl editor? How far have you got with making it? Why can't Oddworld Inhabitants make one?

Last edited by Jango; 03-27-2010 at 05:06 AM..
Reply With Quote
  #656  
03-27-2010, 05:56 AM
MeechMunchie's Avatar
MeechMunchie
Sgt. Sideburns
 
: Mar 2009
: :noiƚɒɔo⅃
: 9,743
Blog Entries: 83
Rep Power: 32
MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)

Game code is complicated, and the A.L.I.V.E. engine in particular is very inflexible.

Not very far. We can swap backgrounds and edit object placement, screw up sounds and emulate some behaviours.

Because OWI barely exist any more.

Reply With Quote
  #657  
03-27-2010, 06:00 AM
Jango's Avatar
Jango
Rabid Fuzzle
 
: Jul 2009
: Brize Norton, UK
: 505
Rep Power: 16
Jango  (177)Jango  (177)

Right, OK, I see.

Thanks for your reply.

EDIT: Why can't we get the game codes from OWI? Surely they don't care for them anymore with a 12 and-a-half year old game...

Last edited by Jango; 03-27-2010 at 10:23 AM..
Reply With Quote
  #658  
03-27-2010, 01:26 PM
Varrok's Avatar
Varrok
Wolvark Grenadier
 
: Jun 2009
: Beartopia
: 7,301
Blog Entries: 52
Rep Power: 25
Varrok  (7896)Varrok  (7896)Varrok  (7896)Varrok  (7896)Varrok  (7896)Varrok  (7896)Varrok  (7896)Varrok  (7896)Varrok  (7896)Varrok  (7896)Varrok  (7896)

Um... they DO care... publishing the source code is like... giving game for free...
Reply With Quote
  #659  
03-27-2010, 04:12 PM
Phylum's Avatar
Phylum
No Artificial Colours
 
: Sep 2008
: Rock bottom
: 4,911
Blog Entries: 94
Rep Power: 23
Phylum  (5748)Phylum  (5748)Phylum  (5748)Phylum  (5748)Phylum  (5748)Phylum  (5748)Phylum  (5748)Phylum  (5748)Phylum  (5748)Phylum  (5748)Phylum  (5748)

Also it would be, as stated several times in this thread and others, nearly pointless. The ALIVE engine has the versatility of a bread factory without those bread making things...

God I suck at metaphors today...
Reply With Quote
  #660  
03-28-2010, 04:46 AM
Jango's Avatar
Jango
Rabid Fuzzle
 
: Jul 2009
: Brize Norton, UK
: 505
Rep Power: 16
Jango  (177)Jango  (177)

How come SligStorm got close to making a level editor five years ago then?

Surely a very simple level editor would not be so hard?
Reply With Quote


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 








 
 
- Oddworld Forums - -