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


 
Thread Tools
 
  #691  
04-03-2010, 08:05 AM
Jango's Avatar
Jango
Rabid Fuzzle
 
: Jul 2009
: Brize Norton, UK
: 505
Rep Power: 16
Jango  (177)Jango  (177)

Please can you send me it, or give a link so I can download it? It sounds great!

Also, would you be able to tell me how to use it please? It sounds as if it may be quite complicated.
Reply With Quote
  #692  
04-03-2010, 08:08 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)

Ugh! Clearly you did not understand what I am trying to say. Creating a PATH editor is what I am trying to accomplish!
__________________
[ 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
  #693  
04-03-2010, 08:11 AM
Jango's Avatar
Jango
Rabid Fuzzle
 
: Jul 2009
: Brize Norton, UK
: 505
Rep Power: 16
Jango  (177)Jango  (177)

:
Ugh! Clearly you did not understand what I am trying to say. Creating a PATH editor is what I am trying to accomplish!
But you said you completed one of those:

:
Edit: Uh to actually finish my point, you want a path editor, not lvl archive editor, I've already created one of those
Anyway, good luck with it Paul. Let's hope it isn't too hard-coded.

As I said, if you complete it, it would be so amazing!

And also, a path editor would not let me make whole new screens or add extra objects would it? It would let me change things in the screens that are already there, am I right?

Last edited by Jango; 04-03-2010 at 12:08 PM..
Reply With Quote
  #694  
04-03-2010, 09:24 AM
mlg man's Avatar
mlg man
Howler Punk
 
: Nov 2006
: Australia
: 346
Rep Power: 19
mlg man  (171)mlg man  (171)

ok ok, i get it, .net wont work, i have been looking online tutorials on c and c++, its just way too confusing. and i dont have time to learn a whole language. its all up to you paul.
__________________
I make games, programs, music and stuff so yeah

Reply With Quote
  #695  
04-03-2010, 12:12 PM
Jango's Avatar
Jango
Rabid Fuzzle
 
: Jul 2009
: Brize Norton, UK
: 505
Rep Power: 16
Jango  (177)Jango  (177)

Yeah, as i've said, keep at it PaulM!

How long until you expect to complete the path editor (if you complete it)?

Last edited by Jango; 04-04-2010 at 01:53 AM..
Reply With Quote
  #696  
04-03-2010, 05:29 PM
Namida's Avatar
Namida
Bolamite
 
: Feb 2010
: New Zealand
: 60
Rep Power: 0
Namida  (7)

He said he's completed a LVL file editor. IE: A program which extracts and compresses files into the LVL file archive. However, the PATH file is one such file inside which is the important one to creating a custom level, and he is still trying to crack that.
__________________
Signature

Reply With Quote
  #697  
04-04-2010, 01:53 AM
Jango's Avatar
Jango
Rabid Fuzzle
 
: Jul 2009
: Brize Norton, UK
: 505
Rep Power: 16
Jango  (177)Jango  (177)

:
He said he's completed a LVL file editor. IE: A program which extracts and compresses files into the LVL file archive. However, the PATH file is one such file inside which is the important one to creating a custom level, and he is still trying to crack that.
Well it was easy to get confused when he said that he 'completed one of those'.

Is anyone else trying to crack the PATH files instead of Paul? I guess it is because not many people know C and C++ programming...

Last edited by Jango; 04-04-2010 at 01:55 AM..
Reply With Quote
  #698  
04-04-2010, 10:23 PM
Namida's Avatar
Namida
Bolamite
 
: Feb 2010
: New Zealand
: 60
Rep Power: 0
Namida  (7)

It's not really to do with programming. It's to do with the format of those files, which is a format specifically created by OWI.
__________________
Signature

Reply With Quote
  #699  
04-05-2010, 01:07 AM
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)

Jango: you can't just say 'he said he "completed one of those"' because it's taken out of context. You misunderstood what he originally said, and are making it sound like he said what you understood him to mean (I think...).

:
Uh to actually finish my point, you want a path editor, not lvl archive editor, I've already created one of those
It seems clear to me from reading this that he has made a .lvl editor.
Reply With Quote
  #700  
04-05-2010, 01:19 AM
Jango's Avatar
Jango
Rabid Fuzzle
 
: Jul 2009
: Brize Norton, UK
: 505
Rep Power: 16
Jango  (177)Jango  (177)

Sorry I didn't mean to be rude, it is just that I got a bit confused (could've happened to anyone), it can be interpreted either way. It's like 'is the glass half full or half empty?' Although, yes, Paul did mean the .lvl. editor and I will shut up about it now.

:
It's not really to do with programming. It's to do with the format of those files, which is a format specifically created by OWI.
Oh I sort of see now. OWI made a type of file that no other computers know how to use, so Paul needs to crack these files. Am I right?

Last edited by Jango; 04-05-2010 at 01:22 AM..
Reply With Quote
  #701  
04-05-2010, 06:44 AM
ThibG
Chippunk
 
: Jan 2010
: at home
: 28
Rep Power: 0
ThibG  (19)

OWI created a game. And like many other companies, they did it themselves without using other's efforts.
That implies they had to create representations for things like sprites, sounds, level layouts or scripting, those are formats, and those formats are specific to the A.L.I.V.E. engine.
Since OWI hasn't documented them (since they didn't envisage modding or selling the engine at all), and didn't release the game source, that means you have the game in a hand, binary files in the other.
In order to get to understand those file formats, you need to guess, try to modify things, read the binary (that is, a sequence of simple operations like additions, substractions, etc.) and understand how the interesting parts work.
That is long, difficult, and involves much more than C/C++ knowledge.
Reply With Quote
  #702  
04-09-2010, 04:06 AM
Jango's Avatar
Jango
Rabid Fuzzle
 
: Jul 2009
: Brize Norton, UK
: 505
Rep Power: 16
Jango  (177)Jango  (177)

Surely making a new game engine would be simpler?
Reply With Quote
  #703  
04-09-2010, 10:52 PM
Namida's Avatar
Namida
Bolamite
 
: Feb 2010
: New Zealand
: 60
Rep Power: 0
Namida  (7)

Yes, but unless we use fanmade sprites, without ripping the sprites that isn't possible.
__________________
Signature

Reply With Quote
  #704  
04-10-2010, 08:53 AM
Scraby's Avatar
Scraby
Outlaw Cutter
 
: Dec 2008
: Rijeka
: 1,246
Blog Entries: 6
Rep Power: 17
Scraby  (132)Scraby  (132)
Oddworld

i found a program for ripping but i didnt figure out how it works,you download it place it in a folder animget,and in that folder put files readme.txt and animget, when you capture animations go to adobe photoshop or something like that and create a TRANSPARENT background,or the sprites will go black and white....
Attached Files
File Type: zip AnimGet.zip (24.9 , 241 views)
__________________
Scrab rules.

Reply With Quote
  #705  
04-10-2010, 08:59 AM
Josh's Avatar
Josh
Outlaw Bomber
 
: Aug 2009
: East Midlands
: 2,012
Blog Entries: 14
Rep Power: 18
Josh  (2940)Josh  (2940)Josh  (2940)Josh  (2940)Josh  (2940)Josh  (2940)Josh  (2940)Josh  (2940)Josh  (2940)Josh  (2940)Josh  (2940)

There is a section in TOL with the AO sprites. Thats how I made these GIFs:


__________________
do you think i give a heck

Reply With Quote
  #706  
04-10-2010, 09:03 AM
Scraby's Avatar
Scraby
Outlaw Cutter
 
: Dec 2008
: Rijeka
: 1,246
Blog Entries: 6
Rep Power: 17
Scraby  (132)Scraby  (132)

yep i found it but no walking anim,or running...
__________________
Scrab rules.

Reply With Quote
  #707  
04-16-2010, 04:21 AM
Jango's Avatar
Jango
Rabid Fuzzle
 
: Jul 2009
: Brize Norton, UK
: 505
Rep Power: 16
Jango  (177)Jango  (177)

Hey Paul, how is the path editor getting on?
Reply With Quote
  #708  
04-16-2010, 11:41 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)

It isn't im too busy lately
__________________
[ 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
  #709  
05-01-2010, 07:20 PM
mlg man's Avatar
mlg man
Howler Punk
 
: Nov 2006
: Australia
: 346
Rep Power: 19
mlg man  (171)mlg man  (171)

Paul, are you abe to get all the animations before doing a path editor, because it seems if you do animations first you will get more work done.

Im just dieing for the Walking animation!
__________________
I make games, programs, music and stuff so yeah

Reply With Quote
  #710  
05-03-2010, 01:19 PM
Jango's Avatar
Jango
Rabid Fuzzle
 
: Jul 2009
: Brize Norton, UK
: 505
Rep Power: 16
Jango  (177)Jango  (177)

Have you done any work on it lately Paul? Or are you still too busy?

Reply With Quote
  #711  
05-03-2010, 01:46 PM
MA's Avatar
MA
DOES NOT COMPUTE
 
: Nov 2007
: shit creek
: 5,106
Blog Entries: 10
Rep Power: 27
MA  (9593)MA  (9593)MA  (9593)MA  (9593)MA  (9593)MA  (9593)MA  (9593)MA  (9593)MA  (9593)MA  (9593)MA  (9593)

hey there, Paul? Paul? you there, Paul? Paul? Paul? hey, Paul? Paul? Paul, my man? Paul? Paul, where did you go? where you gone, Paul? Paul? Come on, Paul? Paul, for god sake, you there? Paul, how's things going? you done it yet, Paul? is it coming along, Paul? is it done yet, Paul? are you working on it day and night, 24/7 Paul? are you devoting all of your time to it, Paul? are you abandoning your personal hygiene for this task yet, Paul? have you closed the curtains, Paul? have you become adept in the dark, Paul? does the light burn, Paul? will it be worth it, Paul? is there really going to be such a big reward for all this trouble and nagging and nagging and nagging, Paul? is there, Paul? please tell me, Paul! Paul! ARE YOU THERE PAUL?

i don't think he's there, children.
Reply With Quote
  #712  
05-04-2010, 12:52 AM
Crashpunk's Avatar
Crashpunk
cun't spill
 
: Feb 2008
: Nottingham, UK
: 7,291
Blog Entries: 47
Rep Power: 24
Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)

I'm not surprised he left...

we nagged him to death
__________________

Twitter | Discord: Crashpunk#0025

Reply With Quote
  #713  
05-04-2010, 01:12 AM
MeechMunchie's Avatar
MeechMunchie
Sgt. Sideburns
 
: Mar 2009
: :noiƚɒɔo⅃
: 9,743
Blog Entries: 83
Rep Power: 31
MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)MeechMunchie  (14320)

I'm so quoting that.

Reply With Quote
  #714  
05-04-2010, 04:09 AM
Nate's Avatar
Nate
Oddworld Administrator
Rainbow of Flavour
 
: Apr 2002
: Seattle (woo!)
: 16,311
Blog Entries: 176
Rep Power: 41
Nate  (13497)Nate  (13497)Nate  (13497)Nate  (13497)Nate  (13497)Nate  (13497)Nate  (13497)Nate  (13497)Nate  (13497)Nate  (13497)Nate  (13497)

Paul comes by occassionally and he always posts an update. Nagging questions here and (god help me) via PMs will have no effect on the regularity of his posting; except maybe to irritate him beyond the point of no return.
Reply With Quote
  #715  
05-04-2010, 08:43 AM
Jango's Avatar
Jango
Rabid Fuzzle
 
: Jul 2009
: Brize Norton, UK
: 505
Rep Power: 16
Jango  (177)Jango  (177)

Sorry.

I hope you are not angry anymore.

Or I'll slap you.

Reply With Quote
  #716  
05-04-2010, 11:22 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)

Attached is some reversed source for a path parser. It can only handle R1Path, path 1.

It will call the decoder with given arguments for the first few screens. It still needs the following:

-A unit test for current input/output
-Refactor the code to be human readable/figure out wtf is going on (use unit testing to check nothing was borked)
-Figure out how the format is working properly, I Think there might be another function that sets up the placement objects maybe.. who knows..

There are 3 hard coded values, two offsets in the file and the path items which is 0xC. Hence this wont work for any other path since these values change. It should be possible for someone else to at least screw with the first few screens after spending a lot of time looking at this

Edit: btw slight issue with the code, swap the arguments of main() around, also figuring out collision detection reading from the path still needs figuring out too

Sample output from the loading screen to the first screen of the game

Loading to S1
aIndex: 0 aIteration: 1 Arg3: 1 Arg4: ffffffff
OPCODE: load_unknown_1
OPCODE: load_null
OPCODE: load_null_1
OPCODE: load_font_q
OPCODE: load_slig_bans2
OPCODE: load_unknown
OPCODE: load_glow_bans
OPCODE: load_glow_bans
OPCODE: load_glow_bans
OPCODE: load_glow_bans
OPCODE: load_glow_bans
OPCODE: load_hoist_rocks
OPCODE: load_null_35
EXIT LOOP!
aIndex: 0 aIteration: 2 Arg3: 1 Arg4: ffffffff
OPCODE: load_hoist_rocks
OPCODE: load_null_1
OPCODE: load_font_q
OPCODE: load_slig
OPCODE: load_slig_bans2_proxy
OPCODE: load_unknown_4
OPCODE: load_glow_bans
OPCODE: load_null_35
OPCODE: load_info_point
EXIT LOOP!
aIndex: 1 aIteration: 1 Arg3: 1 Arg4: ffffffff
OPCODE: load_null_1
OPCODE: load_hoist_rocks
OPCODE: load_hoist_rocks
OPCODE: load_switch_bans
OPCODE: load_hoist_rocks
OPCODE: load_unknown_bans_1
OPCODE: load_mud
OPCODE: load_unknown_bans_1
OPCODE: load_hoist_rocks
OPCODE: load_unknown_8
OPCODE: load_switch_bans
OPCODE: load_null_35
OPCODE: load_meat_saw
OPCODE: load_meat_saw
OPCODE: load_meat_saw
OPCODE: load_unknown_11
OPCODE: load_unknown_4
OPCODE: load_glow_bans
OPCODE: load_mud
EXIT LOOP!
aIndex: 0 aIteration: 1 Arg3: 1 Arg4: ffffffff
OPCODE: load_unknown_1
OPCODE: load_null
OPCODE: load_null_1
OPCODE: load_font_q
OPCODE: load_slig_bans2
OPCODE: load_unknown
OPCODE: load_glow_bans
OPCODE: load_glow_bans
OPCODE: load_glow_bans
OPCODE: load_glow_bans
OPCODE: load_glow_bans
OPCODE: load_hoist_rocks
OPCODE: load_null_35
EXIT LOOP!

After the first exit loop that is everything for the first screen, it appears to also load items for each screen around it, e.g:

ParsePath( &data[0], 0, 1, 1, -1 );
ParsePath( &data[0], 0, 2, 1, -1 );
ParsePath( &data[0], 1, 1, 1, -1 );
ParsePath( &data[0], 0, 1, 1, -1 );

Paying attention to only arg1 and 2 we can see that screen 0,1 is loaded which is the very first screen. Then 0,2 which is the screen DOWN or under the first. Then 1,1 which is the screen to the right... and then the first screen again for some reason..

However screen 2 to 3 makes much more sense:

std::cout << "\nS1 to S2\n";
ParsePath( &data[0], 0, 3, 1, -1 );
ParsePath( &data[0], 0, 2, 1, -1 );

screen 0,3 - the 3rd screen is loaded, and screen 0,2 the 2nd screen is loaded. Thus is always loading one extra screen. And the NEXT screen seems to be done first.
Attached Files
File Type: zip path.zip (10.1 , 223 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.


Last edited by Paul; 05-04-2010 at 11:28 AM..
Reply With Quote
  #717  
05-04-2010, 01:20 PM
Crashpunk's Avatar
Crashpunk
cun't spill
 
: Feb 2008
: Nottingham, UK
: 7,291
Blog Entries: 47
Rep Power: 24
Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)Crashpunk  (5534)

Speaking of the devil!

Cool update even though I don't know idea what it's all about
__________________

Twitter | Discord: Crashpunk#0025

Reply With Quote
  #718  
05-04-2010, 01:37 PM
STM's Avatar
STM
Anarcho-Apiarist
 
: Jun 2008
: Your mother
: 9,859
Blog Entries: 161
Rep Power: 27
STM  (6435)STM  (6435)STM  (6435)STM  (6435)STM  (6435)STM  (6435)STM  (6435)STM  (6435)STM  (6435)STM  (6435)STM  (6435)

Can't decipher script for the life of me so, anyone mind telling me what this does?
__________________
:
Oh yeah, fair point. Maybe he was just tortured until he lost consciousness.

Reply With Quote
  #719  
05-05-2010, 09:45 PM
Scraby's Avatar
Scraby
Outlaw Cutter
 
: Dec 2008
: Rijeka
: 1,246
Blog Entries: 6
Rep Power: 17
Scraby  (132)Scraby  (132)

i found out that the path phrase is something like a form where everything is,getting nearer to the path editor.
__________________
Scrab rules.

Reply With Quote
  #720  
05-11-2010, 12:08 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)

Update: I'm not longer working on reversing the path format, I think I understand enough about the engine as a whole to do a basic reimplementation of it.

BUT! The following *has* to be done first otherwise there won't be enough game data:

1. Figure out all animation type compressions
2. Figure out FG1 in cam files
3. Figure out how to get sound sample data out of .VB files (music will have to be sodded off)

Once this is complete I will create an installer like tool to allow converting of all of this information, then I can write a level editor for the planned engine. So there will be a level editor before there is a game engine to run them on.

Edit: Note this will *only* be for data files in the PC version of AO.
__________________
[ 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


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








 
 
- Oddworld Forums - -