Views: 19,857,104 |
Home
| Forums
| Uploader
| Wiki
| Object databases
| IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search |
03-29-24 03:18 PM |
Guest: |
0 users reading ProductMapObjDataTable documentation | 1 bot |
Main - Archived forums - SMG documentations and tutorials - ProductMapObjDataTable documentation | Hide post layouts | New reply |
KoopaTroopaMan |
| ||
Member Normal user Level: 67 Posts: 598/1217 EXP: 2567002 Next: 25870 Since: 03-26-14 Last post: 2638 days ago Last view: 1358 days ago |
This is a documantation about what the defenitions in ClassName in ProductMapObjDataTable can do. There may is a such documentation somewhere, but I couldn't find it. So created my own.
Most of the definitions are guessings. The list has a section with the finished (known) ones and the unfinished (unknown) ones. Here is the full list: TODO: Test out as many as you can! |
PaperplateismGuy |
| ||
Member Shpayshe Toads: YAY! Level: 52 Posts: 544/654 EXP: 1042378 Next: 41462 Since: 08-10-13 From: Paperplate Land Last post: 1560 days ago Last view: 1572 days ago |
Air= an atmosphere glow, HomeAir uses this, although there is no such thing as a ProductMapObjDataTable in SMG1, but it works in SMG2
Sky= background, nearly all GalaxySkys use this. SoundSyncSky quite possibly could be used in FlashBlack, that's the only thing I can think of that might use it. Also, Some of those may be unused. ____________________ Remember, every user has to start out somewhere,- Every time I look back at my old posts, I cringe. |
shibboleet |
| ||
Fire Mario DROP TABLE users; Level: 123 Posts: 3270/4661 EXP: 20825522 Next: 405744 Since: 07-07-12 Last post: 1322 days ago Last view: 335 days ago |
I can already tell you CloudSea is the tunnel of clouds in the beginning of Sky Station.
ProjectionMapSky is just a regular type of sky. I can look into the DOL and do a dump of them all. ____________________ a |
KoopaTroopaMan |
| ||
Member Normal user Level: 67 Posts: 599/1217 EXP: 2567002 Next: 25870 Since: 03-26-14 Last post: 2638 days ago Last view: 1358 days ago |
I fixed the thread a bit. Also, please look into the DOL so we know what all these does. |
shibboleet |
| ||
Fire Mario DROP TABLE users; Level: 123 Posts: 3271/4661 EXP: 20825522 Next: 405744 Since: 07-07-12 Last post: 1322 days ago Last view: 335 days ago |
CloudStep is more of a collision, too. Maybe it goes with that.
poot .data5:80699140 aProductmapobjd:.string "ProductMapObjDataTable.arc"
.data5:80699140 # DATA XREF: .bss:807DC954o .data5:80699140 .byte 0 .data5:8069915B .align 2 .data5:8069915C aProductmapob_0:.string "ProductMapObjDataTable.bcsv" .data5:8069915C # DATA XREF: .bss:807DC958o .data5:8069915C .byte 0 .data5:80699178 aAutomakemapobj:.string "AutoMakeMapObj" # DATA XREF: .data4:off_80648EF8o .data5:80699178 .byte 0 .data5:80699187 .align 2 .data5:80699188 aAnmmodelswitch:.string "AnmModelSwitchMove" # DATA XREF: .data4:80648F00o .data5:80699188 .byte 0 .data5:8069919B .align 2 .data5:8069919C aAnmmodelswit_0:.string "AnmModelSwitchMoveEndKill" .data5:8069919C # DATA XREF: .data4:80648F08o .data5:8069919C .byte 0 .data5:806991B6 .align 2 .data5:806991B8 aAnmmodelswit_1:.string "AnmModelSwitchMoveEndKillAnyAnim" .data5:806991B8 # DATA XREF: .data4:80648F10o .data5:806991B8 .byte 0 .data5:806991D9 .align 2 .data5:806991DC aAnmmodelswit_2:.string "AnmModelSwitchMoveValidateCollision" .data5:806991DC # DATA XREF: .data4:80648F18o .data5:806991DC .byte 0 .data5:80699200 aAnmmodelswit_3:.string "AnmModelSwitchMoveInvalidateCollision" .data5:80699200 # DATA XREF: .data4:80648F20o .data5:80699200 .byte 0 .data5:80699226 .align 2 .data5:80699228 aAnmmodelswit_4:.string "AnmModelSwitchSyncBrk" .data5:80699228 # DATA XREF: .data4:80648F28o .data5:80699228 .byte 0 .data5:8069923E .align 4 .data5:80699240 aCloudstep: .string "CloudStep" # DATA XREF: .data4:80648F30o .data5:80699240 .byte 0 .data5:8069924A .align 2 .data5:8069924C aCloudsea: .string "CloudSea" # DATA XREF: .data4:80648F38o .data5:8069924C .byte 0 .data5:80699255 .align 2 .data5:80699258 aHipdropmoveb_1:.string "HipDropMoveBlock" # DATA XREF: .data4:80648F40o .data5:80699258 .byte 0 .data5:80699269 .align 2 .data5:8069926C aRailmoveobj: .string "RailMoveObj" # DATA XREF: .data4:80648F48o .data5:8069926C .byte 0 .data5:80699278 aRailmovewithre:.string "RailMoveWithReverseAnimObj" .data5:80699278 # DATA XREF: .data4:80648F50o .data5:80699278 .byte 0 .data5:80699293 .align 2 .data5:80699294 aRailmovewithin:.string "RailMoveWithIndirectModelObj" .data5:80699294 # DATA XREF: .data4:80648F58o .data5:80699294 .byte 0 .data5:806992B1 .align 2 .data5:806992B4 aRailmoveshadow:.string "RailMoveShadowDropYObj" .data5:806992B4 # DATA XREF: .data4:80648F60o .data5:806992B4 .byte 0 .data5:806992CB .align 2 .data5:806992CC aRailmoveobjcli:.string "RailMoveObjClipParts" # DATA XREF: .data4:80648F68o .data5:806992CC .byte 0 .data5:806992E1 .align 2 .data5:806992E4 aRailmovedemoac:.string "RailMoveDemoActionObj" .data5:806992E4 # DATA XREF: .data4:80648F70o .data5:806992E4 .byte 0 .data5:806992FA .align 2 .data5:806992FC aRailmovelavapr:.string "RailMoveLavaProjmapObj" .data5:806992FC # DATA XREF: .data4:80648F78o .data5:806992FC .byte 0 .data5:80699313 .align 2 .data5:80699314 aRailrotatemove:.string "RailRotateMoveObj" # DATA XREF: .data4:80648F80o .data5:80699314 .byte 0 .data5:80699326 .align 2 .data5:80699328 aRailandrotatem:.string "RailAndRotateMoveObj" # DATA XREF: .data4:80648F88o .data5:80699328 .byte 0 .data5:8069933D .align 4 .data5:80699340 aRotatemoveobj: .string "RotateMoveObj" # DATA XREF: .data4:80648F90o .data5:80699340 .byte 0 .data5:8069934E .align 4 .data5:80699350 aRotatemoveobjc:.string "RotateMoveObjClipParts" .data5:80699350 # DATA XREF: .data4:80648F98o .data5:80699350 .byte 0 .data5:80699367 .align 2 .data5:80699368 aGorogorocylind:.string "GorogoroCylinderRock" # DATA XREF: .data4:80648FA0o .data5:80699368 .byte 0 .data5:8069937D .align 4 .data5:80699380 aLavafloater_0: .string "LavaFloater" # DATA XREF: .data4:80648FA8o .data5:80699380 .byte 0 .data5:8069938C aSimplebreakabl:.string "SimpleBreakableCollisionObj" .data5:8069938C # DATA XREF: .data4:80648FB0o .data5:8069938C .byte 0 .data5:806993A8 aSimplebreaka_0:.string "SimpleBreakableDeleteShadowObj" .data5:806993A8 # DATA XREF: .data4:80648FB8o .data5:806993A8 .byte 0 .data5:806993C7 .align 2 .data5:806993C8 aSimplebreaka_1:.string "SimpleBreakableObj" # DATA XREF: .data4:80648FC0o .data5:806993C8 .byte 0 .data5:806993DB .align 2 .data5:806993DC aSimplebreaka_2:.string "SimpleBreakableStrongLightObj" .data5:806993DC # DATA XREF: .data4:80648FC8o .data5:806993DC .byte 0 .data5:806993FA .align 2 .data5:806993FC aSimpleclippart:.string "SimpleClipPartsObj" # DATA XREF: .data4:80648FD0o .data5:806993FC .byte 0 .data5:8069940F .align 4 .data5:80699410 aSimplefloatero:.string "SimpleFloaterObj" # DATA XREF: .data4:80648FD8o .data5:80699410 .byte 0 .data5:80699421 .align 2 .data5:80699424 aSimplemapobj: .string "SimpleMapObj" # DATA XREF: .data4:80648FE0o .data5:80699424 .byte 0 .data5:80699431 .align 2 .data5:80699434 aSimplemapobjfa:.string "SimpleMapObjFarMax" # DATA XREF: .data4:80648FE8o .data5:80699434 .byte 0 .data5:80699447 .align 2 .data5:80699448 aSimplemapobjwi:.string "SimpleMapObjWithEffect" .data5:80699448 # DATA XREF: .data4:80648FF0o .data5:80699448 .byte 0 .data5:8069945F .align 4 .data5:80699460 aSimpleseesawob:.string "SimpleSeesawObj" # DATA XREF: .data4:80648FF8o .data5:80699460 .byte 0 .data5:80699470 aSwitchingmoveb:.string "SwitchingMoveBlock" # DATA XREF: .data4:80649000o .data5:80699470 .byte 0 .data5:80699483 .align 2 .data5:80699484 aEffectobjr500f:.string "EffectObjR500F50" # DATA XREF: .data4:80649008o .data5:80699484 .byte 0 .data5:80699495 .align 2 .data5:80699498 aEffectobjr1000:.string "EffectObjR1000F50" # DATA XREF: .data4:80649010o .data5:80699498 .byte 0 .data5:806994AA .align 2 .data5:806994AC aEffectobjr1500:.string "EffectObjR1500F400" # DATA XREF: .data4:80649018o .data5:806994AC .byte 0 .data5:806994BF .align 4 .data5:806994C0 aEffectobj20x20:.string "EffectObj20x20x10SyncClipping" .data5:806994C0 # DATA XREF: .data4:80649020o .data5:806994C0 .byte 0 .data5:806994DE .align 4 .data5:806994E0 aEffectobj50x50:.string "EffectObj50x50x10SyncClipping" .data5:806994E0 # DATA XREF: .data4:80649028o .data5:806994E0 .byte 0 .data5:806994FE .align 4 .data5:80699500 aEffectobj10x10:.string "EffectObj10x10x10SyncClipping" .data5:80699500 # DATA XREF: .data4:80649030o .data5:80699500 .byte 0 .data5:8069951E .align 4 .data5:80699520 aProjectionmaps:.string "ProjectionMapSky" # DATA XREF: .data4:80649040o .data5:80699520 .byte 0 .data5:80699531 .align 2 .data5:80699534 aSoundsyncsky: .string "SoundSyncSky" # DATA XREF: .data4:80649048o .data5:80699534 .byte 0 .data5:80699541 .align 2 .data5:80699544 aPriordrawair: .string "PriorDrawAir" # DATA XREF: .data4:80649058o .data5:80699544 .byte 0 .data5:80699551 .align 2 .data5:80699554 aAftermapobjdra:.string "AfterMapObjDrawAir" # DATA XREF: .data4:80649060o .data5:80699554 .byte 0 .data5:80699567 .align 2 .data5:80699568 aProjectionmapa:.string "ProjectionMapAir" # DATA XREF: .data4:80649068o .data5:80699568 .byte 0 .data5:80699579 .align 2 .data5:8069957C aModelname: .string "ModelName" # DATA XREF: sub_80262EB0+20o .data5:8069957C .byte 0 .data5:80699586 .align 2 .data5:80699588 aClassname: .string "ClassName" # DATA XREF: sub_80262EB0+3Co .data5:80699588 .byte 0 .data5:80699592 .align 3 I also did all of the vtable shit and the constructor with one of the values, AutoMakeMapObj. Constructor- automakemapobj_ctor: # CODE XREF: sub_80261260+28p
Vtable:
# sub_80261420+30p ... .set var_4, -4 .set arg_4, 4 stwu r1, -0x10(r1) mflr r0 stw r0, 0x10+arg_4(r1) stw r31, 0x10+var_4(r1) mr r31, r3 bl object_ctor_0 lis r4, ((automakemapobj_vtable+0x10000)@h) mr r3, r31 subi r4, r4, 0x2AA0 # automakemapobj_vtable stw r4, 0(r31) lwz r31, 0x10+var_4(r1) lwz r0, 0x10+arg_4(r1) mtlr r0 addi r1, r1, 0x10 blr # End of function automakemapobj_ctor automakemapobj_vtable:.long 0, 0 # DATA XREF: automakemapobj_ctor+18o
(I'm not posting that large-ass chunk)
create_automakemapobj: create_automakemapobj: # DATA XREF: .data4:80648EFCo # .data4:80648FE4o .set var_4, -4 .set arg_4, 4 stwu r1, -0x10(r1) mflr r0 stw r0, 0x14(r1) stw r31, 0xC(r1) mr r31, r3 li r3, 0xD0 bl AllocFromHeapEx_Align4_0 cmpwi r3, 0 beq destroy_stack_frame_80261E3C mr r4, r31 bl automakemapobj_ctor destroy_stack_frame_80261E3C: # CODE XREF: create_automakemapobj+20j lwz r0, 0x14(r1) lwz r31, 0xC(r1) mtlr r0 addi r1, r1, 0x10 blr # End of function create_automakemapobj ____________________ a |
KoopaTroopaMan |
| ||
Member Normal user Level: 67 Posts: 601/1217 EXP: 2567002 Next: 25870 Since: 03-26-14 Last post: 2638 days ago Last view: 1358 days ago |
Can you please put that in a spoiler? I also don't know C++. Could you say what they mean? |
shibboleet |
| ||
Fire Mario DROP TABLE users; Level: 123 Posts: 3273/4661 EXP: 20825522 Next: 405744 Since: 07-07-12 Last post: 1322 days ago Last view: 335 days ago |
This isn't direct C++, this is compiled PowerPC, which is the ASM you see.
https://kuribo64.net/?page=wiki&id=Objects Read this, because I don't want to explain it. ____________________ a |
KoopaTroopaMan |
| ||
Member Normal user Level: 67 Posts: 603/1217 EXP: 2567002 Next: 25870 Since: 03-26-14 Last post: 2638 days ago Last view: 1358 days ago |
Should I know what all definitions in ProductMapObjDataTable mean if I read the page and read your list you posted? |
shibboleet |
| ||
Fire Mario DROP TABLE users; Level: 123 Posts: 3275/4661 EXP: 20825522 Next: 405744 Since: 07-07-12 Last post: 1322 days ago Last view: 335 days ago |
That page is just for how objects work via assembly (compiled C++), while what I'm doing is getting a much better documentation on how it really works through the assembly. The list I posted from the DOL is a dump of ClassName that is on there. ____________________ a |
KoopaTroopaMan |
| ||
Member Normal user Level: 67 Posts: 604/1217 EXP: 2567002 Next: 25870 Since: 03-26-14 Last post: 2638 days ago Last view: 1358 days ago |
Does your dump tell what the definitions does? |
shibboleet |
| ||
Fire Mario DROP TABLE users; Level: 123 Posts: 3276/4661 EXP: 20825522 Next: 405744 Since: 07-07-12 Last post: 1322 days ago Last view: 335 days ago |
No, it just dumped the names. ____________________ a |
KoopaTroopaMan |
| ||
Member Normal user Level: 67 Posts: 605/1217 EXP: 2567002 Next: 25870 Since: 03-26-14 Last post: 2638 days ago Last view: 1358 days ago |
Is there a way to know what they do without testing? By looking in the game's code or something? |
shibboleet |
| ||
Fire Mario DROP TABLE users; Level: 123 Posts: 3277/4661 EXP: 20825522 Next: 405744 Since: 07-07-12 Last post: 1322 days ago Last view: 335 days ago |
That's the more complicated way, but better off just testing it in-game. ____________________ a |
KoopaTroopaMan |
| ||
Member Normal user Level: 67 Posts: 606/1217 EXP: 2567002 Next: 25870 Since: 03-26-14 Last post: 2638 days ago Last view: 1358 days ago |
Ok.
I'll have to test a bit. Everybody, please test what you can to finish the list. When the list is finished we know more types if objects we can create. And a good TXT file to download would also be nice for everyone. |
Jesse |
| ||
Member Normal user Level: 53 Posts: 439/688 EXP: 1120942 Next: 36177 Since: 09-05-13 Last post: 2351 days ago Last view: 1913 days ago |
and is that asm/C++ powerPC thing found in the main.dol? or does every object has his own file for that. asm shouldn't be hard to program and understand. |
shibboleet |
| ||
Fire Mario DROP TABLE users; Level: 123 Posts: 3280/4661 EXP: 20825522 Next: 405744 Since: 07-07-12 Last post: 1322 days ago Last view: 335 days ago |
The main.dol is all compiled C/C++ code into PowerPC assembly. The process of reverse engineering the PowerPC is changing it BACK to C/C++. ____________________ a |
KoopaTroopaMan |
| ||
Member Normal user Level: 67 Posts: 873/1217 EXP: 2567002 Next: 25870 Since: 03-26-14 Last post: 2638 days ago Last view: 1358 days ago |
It has been a while and I haven't test out much, forgive me, but I tested out what RailAndRotateMoveObj does. It's moving and rotating object. Not hard to guess though. I added it to the Finished list. |
Splitwirez |
| ||
Otherwise known as rob55rod. Should probably get back to SMG2 at some point... Level: 68 Posts: 622/1207 EXP: 2607280 Next: 121520 Since: 08-28-13 From: ._______________. Last post: 1936 days ago Last view: 1545 days ago |
Posted by Rainbow Mario ENGRISH INTENSIFIES Anyways, I think the following would make more sense: LavaFloater - Seems to be a floating lava platform. SimpleBreakableDeleteShadowObj - A breakable object that deletes its shadow after being broken? SimpleFloaterObj - A simple floating object? EffectObjR1000F50 - No idea. Maybe something to do with effects. These are purely grammatical revisions, so use them or don't, it's up to you. Also, congrats on the ambition of this project. Can't wait to see your tree bear some fruit! |
KoopaTroopaMan |
| ||
Member Normal user Level: 67 Posts: 874/1217 EXP: 2567002 Next: 25870 Since: 03-26-14 Last post: 2638 days ago Last view: 1358 days ago |
Thank you it's fixed. |
Arisotura |
| ||
Star Mario in this room you have a pile of apple pies Level: 163 Posts: 3064/9016 EXP: 56056993 Next: 430651 Since: 07-03-12 From: in a box Last post: 57 days ago Last view: 16 days ago |
Main - Archived forums - SMG documentations and tutorials - ProductMapObjDataTable documentation | Hide post layouts | New reply |
Page rendered in 0.057 seconds. (2048KB of memory used) MySQL - queries: 27, rows: 233/233, time: 0.009 seconds. Acmlmboard 2.064 (2018-07-20) © 2005-2008 Acmlm, Xkeeper, blackhole89 et al. |