![]() ![]() |
Sep 20 2009, 02:16 AM
Post
#1
|
|||
|
http://x-hax.cultnet.net
|
The newest version of my model tools, version 1.3 adds support for the ASC format (derivative of 3dsmax's ASE format, ASC is used in the Gothic series of games), which allows support for pivots and rotation (Currently only pivots work in my ripper). This drastically cuts down the amount of time it takes to make custom SADX levels, because you aren't spending any time altering vertex trees or manually retrieving pivot points for each model. Now all you have to do is move the object in 3dsmax, goto it's seg address (the model's name in 3ds) and take the x,y,z coordinates from 3ds and put them into the seg struct. Then if you want collision to work, update the col struct.
For importing the new ASC format, I recommend Kerrax's ASC import plugins (jun 18th 2008 revision) DO NOT UPDATE TO THE LATEST VERSION OF KERRAX'S IMPORTER It will tell you there aren't any meshes to import. Newest version (1.3) Download Older versions Download Download Planned for future releases: - A tool that reads an exported ASC file and updates the seg and col structs in sonic.exe for you, completely removing the necessity of a hex editor while level editing - A 3d interface that lets you move model pieces and eventually into a full level editor. Also, so you can rip from the level headers, here is a list you can use for now until I move it to the wiki CODE ================================ Emerald Coast Geometry Loaders: ================================ ----------------- Segment 0 ----------------- Geometry loader starts at: 11098424 Geometry loader pointer at: 11115716 Geometry loader has 480 objects ----------------- Segment 1 ----------------- Geometry loader starts at: 12814040 Geometry loader pointer at: 12820136 Geometry loader has 169 objects ----------------- Segment 2 ----------------- Geometry loader starts at: 12806840 Geometry loader pointer at: 12814016 Geometry loader has 199 objects ================================ Windy Valley Geometry Loaders: ================================ ----------------- Segment 0 ----------------- Geometry loader starts at: 8406760 Geometry loader pointer at: 8409580 Geometry loader has 78 objects ----------------- Segment 1 ----------------- Geometry loader starts at: 8405856 Geometry loader pointer at: 8406732 Geometry loader has 24 objects ----------------- Segment 2 ----------------- Geometry loader starts at: 8399808 Geometry loader pointer at: 8405832 Geometry loader has 167 objects ================================ Casinopolis Geometry Loaders: ================================ ----------------- Segment 0 ----------------- Geometry loader starts at: 26773520 Geometry loader pointer at: 26782172 Geometry loader has 240 objects ----------------- Segment 1 ----------------- Geometry loader starts at: 62765888 Geometry loader pointer at: 26773496 Geometry loader has 211 objects ----------------- Segment 2 ----------------- Geometry loader starts at: 26762288 Geometry loader pointer at: 26765864 Geometry loader has 99 objects ----------------- Segment 3 ----------------- Geometry loader starts at: ?? Geometry loader pointer at: ?? Geometry loader is 0x?? long ================================ Ice Cap Geometry Loaders: ================================ ----------------- Segment 0 ----------------- Geometry loader starts at: 10753248 Geometry loader pointer at: 10755384 Geometry loader has 59 objects ----------------- Segment 1 ----------------- Geometry loader starts at: 10750440 Geometry loader pointer at: 10753224 Geometry loader has 79 objects ----------------- Segment 2 ----------------- Geometry loader starts at: 10739784 Geometry loader pointer at: 10750416 Geometry loader has 295 objects ================================ Twinkle Park Geometry Loaders: ================================ ----------------- Segment 0 ----------------- Geometry loader starts at: 36406944 Geometry loader pointer at: 36411240 Geometry loader has 119 objects ----------------- Segment 1 ----------------- Geometry loader starts at: 36399960 Geometry loader pointer at: 36406920 Geometry loader has 193 objects ----------------- Segment 2 ----------------- Geomtery loader starts at: 36396792 Geometry loader pointer at: 36399936 Geometry loader has 87 objects ================================ Speed Highway Geometry Loaders: ================================ ----------------- Segment 0 ----------------- Geometry loader starts at: 3636248 Geometry loader pointer at: 36380324 Geometry loader has 474 objects ----------------- Segment 1 ----------------- Geometry loader starts at: 36360040 Geometry loader pointer at: 36363220 Geometry loader has 88 objects ----------------- Segment 2 ----------------- Geomtery loader starts at: 36352728 Geometry loader pointer at: 36360012 Geometry loader has 202 objects ================================ Red Mountain Geometry Loaders: ================================ ----------------- Segment 0 ----------------- Geomtery loader starts at: 31699976 Geometry loader pointer at: 31720940 Geometry loader has 582 objects ----------------- Segment 1 ----------------- Geometry loader starts at: 34369336 Geometry loader pointer at: 34376548 Geometry loader has 200 objects ----------------- Segment 2 ----------------- Geomtery loader starts at: 34355584 Geometry loader pointer at: 34369312 Geometry loader has 381 objects ================================ Lost World Geometry Loaders: ================================ ----------------- Segment 0 ----------------- Geometry loader starts at: 29588672 Geometry loader pointer at: 29592428 Geometry loader has 104 objects ----------------- Segment 1 ----------------- Geometry loader starts at: 29576504 Geometry loader pointer at: 29588648 Geometry loader has 337 objects ----------------- Segment 2 ----------------- Geometry loader starts at: 29575856 Geometry loader pointer at: 29576480 Geometry loader has 17 objects ---------------------------------------------- ================================ Sand Hill Geometry Loader: ================================ Geomtery loader starts at: 20168472 Geometry loader pointer at: 20179824 Geometry loader has 315 objects v1.3 coming as soon as I can figure out how to fix the damn pivot points, or support a different format. Enjoy! This post has been edited by Dude: Nov 3 2009, 04:43 PM |
||
Sep 21 2009, 06:10 PM
Post
#2
|
|||
|
Genesis controllers make very good Bat-a-Rangs
|
I watched the videos of this on Youtube, and then I saw the shark. I laughed so hard I almost cried. =P
Really, this is neat stuff. It looks like the community is finding out how to take this game apart more and more every day.... |
||
Oct 4 2009, 10:39 PM
Post
#3
|
|||
|
YOU CAN'T CATCH WHAT YOU CAN'T EAT
|
I am so confused on how to rip things with this. I find the amount of col structs for Ice Cap segment 0 from 4 bytes before 10755376 - which is 59. I go back to each COL struct in there in reverse, and I'm pretty sure the models are between 13866820 and 14874740. But then I rip these models and I get a bunch of unrelated crap. It's a problem with my technique, as I got similar results from trying to rip Twinkle Park. HALP
|
||
Oct 5 2009, 11:25 AM
Post
#4
|
|||
|
http://x-hax.cultnet.net
|
I am so confused on how to rip things with this. I find the amount of col structs for Ice Cap segment 0 from 4 bytes before 10755376 - which is 59. I go back to each COL struct in there in reverse, and I'm pretty sure the models are between 13866820 and 14874740. But then I rip these models and I get a bunch of unrelated crap. It's a problem with my technique, as I got similar results from trying to rip Twinkle Park. HALP OK this is the proper technique for doing so and when I finish writing my level ripper it will work like this: 1. store the value for number of col structs (in your case 59) 2. skip 4 bytes (I dunno what the 0c means but its *almost* always there) 3. The next value is a float (in your case 3000) 4. the 4 bytes after that point to the beginning of the col structs, subtract the key and follow it. 5. Take the stored value for col number and multiply it by 0x24 (36) 6. Take the result (84c) and select a block of that many bytes, starting from the address pointed to in step 4. 7. Copy that into a new file, then start reading from it using the col format and rip each level model one at a time. (this may require a custom ripper) 8. Finished level rip. This post has been edited by Dude: Oct 5 2009, 11:26 AM |
||
Oct 27 2009, 05:44 PM
Post
#5
|
|||
|
http://x-hax.cultnet.net
|
Bump, update at the top.
|
||
Oct 31 2009, 02:43 PM
Post
#6
|
||
|
Dear Dude: I am so fucking proud of you. You're like a brother to me.
"Does this mean you'll go back to the SADX/Sonic scene?" Sadly no. :O Keep up the great work though. |
|
|
|
||
Nov 3 2009, 04:43 PM
Post
#7
|
|||
|
http://x-hax.cultnet.net
|
New version released, this one does the pivots for you, saving hours of work and needless exhaustion. Tutorial and further updates coming eventually.
|
||
Nov 3 2009, 08:18 PM
Post
#8
|
|||
|
No way! I can't believe this!
|
Would it kill you to use hexadecimal for the addresses? I would like to have some consistency. The number of objects can stay in decimal.
|
||
Nov 20 2009, 05:14 PM
Post
#9
|
|||
|
YOU CAN'T CATCH WHAT YOU CAN'T EAT
|
I messged this to Dude but if any of you guys can help me with this it'd sure be appreciated.
QUOTE (3:39:47 PM) zachhinchliffe: dude me and jeztac are having trouble with importing new models with your new tools
(3:47:29 PM) zachhinchliffe: the model imports way off location and disappears when I go near it (4:12:42 PM) zachhinchliffe: all we're doing is editing the vertexes without changing the model location at all (4:13:02 PM) zachhinchliffe: and then it goes way off-location, to the right of the second checkpoint (4:14:21 PM) zachhinchliffe: of emerald coast that is This post has been edited by Hinchy: Nov 20 2009, 05:14 PM |
||
![]() ![]() |
|
Lo-Fi Version | Time is now: 22nd November 2009 - 03:38 AM |