Welcome Guest ( Log In | Register )


Help | Search | Members | Calendar
IRC Chat: irc.badnik.net | CGI:IRC
IPB
home | info | forums | svn | irc | podcast | about
 
Reply to this topicStart new topic
> Dude's sadx Model Rippers v1.3, New! Pivot support
 Dude
post Sep 20 2009, 02:16 AM
Post #1


http://x-hax.cultnet.net

Group Icon

Group: Tech Members
Posts: 1,168
Edits: 27
Joined: 11-September 04
From: South Central Massachusetts

Current Project:
Sonic Adventure Redeux



3rd Annual Hacking Contest - Grand Prize Winner

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
Go to the top of the page
+Quote Post
 Azukara
post Sep 21 2009, 06:10 PM
Post #2


Genesis controllers make very good Bat-a-Rangs

Group Icon

Group: Members
Posts: 332
Edits: 3
Joined: 17-October 07
From: Palmtree Panic Zone

Current Project:
Project : FreeRunner (slooowwww going as of late)



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....
Go to the top of the page
+Quote Post
 Hinchy
post Oct 4 2009, 10:39 PM
Post #3


YOU CAN'T CATCH WHAT YOU CAN'T EAT

Group Icon

Group: Oldbies
Posts: 345
Edits: 5
Joined: 4-September 08
From: place

Current Project:
Generic Sonic Hack r1



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
Go to the top of the page
+Quote Post
 Dude
post Oct 5 2009, 11:25 AM
Post #4


http://x-hax.cultnet.net

Group Icon

Group: Tech Members
Posts: 1,168
Edits: 27
Joined: 11-September 04
From: South Central Massachusetts

Current Project:
Sonic Adventure Redeux



3rd Annual Hacking Contest - Grand Prize Winner

QUOTE(Hinchy @ Oct 4 2009, 11:39 PM) *
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
Go to the top of the page
+Quote Post
 Dude
post Oct 27 2009, 05:44 PM
Post #5


http://x-hax.cultnet.net

Group Icon

Group: Tech Members
Posts: 1,168
Edits: 27
Joined: 11-September 04
From: South Central Massachusetts

Current Project:
Sonic Adventure Redeux



3rd Annual Hacking Contest - Grand Prize Winner

Bump, update at the top.
Go to the top of the page
+Quote Post
 SANiK
post Oct 31 2009, 02:43 PM
Post #6




Group Icon

Group: Tech Members
Posts: 297
Edits: 5
Joined: 21-September 04
From: BiH




Sonic 2 HD Contributor

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.
Go to the top of the page
+Quote Post
 Dude
post Nov 3 2009, 04:43 PM
Post #7


http://x-hax.cultnet.net

Group Icon

Group: Tech Members
Posts: 1,168
Edits: 27
Joined: 11-September 04
From: South Central Massachusetts

Current Project:
Sonic Adventure Redeux



3rd Annual Hacking Contest - Grand Prize Winner

New version released, this one does the pivots for you, saving hours of work and needless exhaustion. Tutorial and further updates coming eventually.
Go to the top of the page
+Quote Post
 MainMemory
post Nov 3 2009, 08:18 PM
Post #8


No way! I can't believe this!

Group Icon

Group: Tech Members
Posts: 849
Edits: 495
Joined: 14-August 09

Current Project:
Disassembly of SADXPC.



Hacking Utility Programmer

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.
Go to the top of the page
+Quote Post
 Hinchy
post Nov 20 2009, 05:14 PM
Post #9


YOU CAN'T CATCH WHAT YOU CAN'T EAT

Group Icon

Group: Oldbies
Posts: 345
Edits: 5
Joined: 4-September 08
From: place

Current Project:
Generic Sonic Hack r1



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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



- Lo-Fi Version Time is now: 22nd November 2009 - 03:38 AM
Bridged By IpbWiki: Integration Of Invision Power Board and MediaWiki © GlobalSoft