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. :) |
Ugh! Clearly you did not understand what I am trying to say. Creating a PATH editor is what I am trying to accomplish!
|
:
:
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? |
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.
|
Yeah, as i've said, keep at it PaulM! :)
How long until you expect to complete the path editor (if you complete it)? |
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.
|
:
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... |
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.
|
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...).
:
|
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.
:
|
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. |
Surely making a new game engine would be simpler?
|
Yes, but unless we use fanmade sprites, without ripping the sprites that isn't possible.
|
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....
|
There is a section in TOL with the AO sprites. Thats how I made these GIFs:
http://img248.imageshack.us/img248/9561/glukkon.gif http://img638.imageshack.us/img638/692/mudlotus.gif |
yep i found it but no walking anim,or running...
|
Hey Paul, how is the path editor getting on?
|
It isn't im too busy lately
|
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! |
Have you done any work on it lately Paul? Or are you still too busy? :)
|
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. |
I'm not surprised he left...
we nagged him to death |
I'm so quoting that.
|
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.
|
Sorry. :(
I hope you are not angry anymore. Or I'll slap you. ;) |
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. |
Speaking of the devil!
Cool update even though I don't know idea what it's all about |
Can't decipher script for the life of me so, anyone mind telling me what this does?
|
i found out that the path phrase is something like a form where everything is,getting nearer to the path editor.
|
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. |