Views: 23,103,605 |
Home
| Forums
| Uploader
| Wiki
| Object databases
| IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search |
12-05-24 06:30 AM |
Guest: |
0 users reading SM64DS Editor Help Thread - Post your questions here | 1 bot |
Main - General SM64DS hacking - SM64DS Editor Help Thread - Post your questions here | Hide post layouts | New reply |
Fiachra |
| ||
Local moderator Level: 65 Posts: 1002/1065 EXP: 2298186 Next: 37442 Since: 12-15-12 From: Ireland Last post: 2383 days ago Last view: 333 days ago |
The DAE issues have been fixed in the latest 2 builds, normals will be ignored unless you've enabled at least one light using the SM64DSe <extra>. |
Hiccup |
| ||
Normal user Level: 58 Posts: 745/815 EXP: 1556054 Next: 21492 Since: 09-06-12 Last post: 1914 days ago Last view: 15 days ago |
How do you create "areas"? I.e. the things that cause objects and parts of the level model in peach's castle to phase in and out of visibility/existence. Also, does unloading an area mean that the current in-game polygon count is reduced until it is loaded again? |
Fiachra |
| ||
Local moderator Level: 65 Posts: 1012/1065 EXP: 2298186 Next: 37442 Since: 12-15-12 From: Ireland Last post: 2383 days ago Last view: 333 days ago |
If I remember correctly the steps to do this with Blender are as follows (example uses only 2 areas but the process is the same for more):
- Split your mesh into 2 separate objects, one for each area, "mesh0" for the first and "mesh1" for the second - Add 2 armatures each with a single bone, "r0" and "r1" - Bind r0 to mesh0 and assign all vertices to r0 - Bind r1 to mesh1 and assign all vertices to r1 - Export to DAE and open in a text editor - Under <library_visual_scenes> you should see the following structure: node name="Armature..." |- node id="r0" node name="Armature..." |- node id="r1" - Delete the "armature" nodes so that you have: node id="r0" node id="r1" - There should be two skin controllers, one for each mesh object. Each skin controller will list all joint names in the model even though only one will be assigned to in each controller ie. the joint names list will be "r0 r1". For mesh0's skin controller you must modify the joint name list to contain only r0. There are no changes required to the bone assignments since r0 already has an index of 0. For mesh1's skin controller you must remove r0 from the joint names list however this will cause r1 to move from index 1 to index 0. You must then modify the <vertex_weights> to use joint 0 instead of joint 1 for each vertex. This means replacing every second digit with a 0 instead of a 1. - Import your model and you should be able to switch between areas To answer your second question, yes it does since only the current area is drawn. |
Hiccup |
| ||
Normal user Level: 58 Posts: 747/815 EXP: 1556054 Next: 21492 Since: 09-06-12 Last post: 1914 days ago Last view: 15 days ago |
Do you plan to implement an in-editor thing for areas? This seems quite long-winded and I'm using Sketchup for modelling. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 1014/1065 EXP: 2298186 Next: 37442 Since: 12-15-12 From: Ireland Last post: 2383 days ago Last view: 333 days ago |
Does Sketchup allow you to split your models up into multiple objects? If it does and the exported DAE contains multiple <geometry> elements then it would be easy enough to implement as follows:
- Open model to import as usual - Select new "Define areas" (or similarly named) button - This would open a new window which would let you add a maximum of 32 areas (BMD format restriction) and for each geometry element specify to which area it belongs. This would generate a new skeleton for the model, overriding anything defined in the DAE model. |
Hiccup |
| ||
Normal user Level: 58 Posts: 748/815 EXP: 1556054 Next: 21492 Since: 09-06-12 Last post: 1914 days ago Last view: 15 days ago |
You can make things called "groups" and "components", but I'm not sure if they a preserved when the Sketchup project is exported to OBJ/DAE. |
Gota7 |
| ||
Paragoomba Star Wolf Level: 18 Posts: 3/66 EXP: 28354 Next: 1543 Since: 04-09-17 From: Same as above. ^ Last post: 2254 days ago Last view: 1499 days ago |
On my edited 1st castle floor, after completing a level, the player is warped to the 1st castle floor, but everything is invisible? Why is this happening?
Join the SM64DS Hacking Discord: https://discord.gg/PhpA9Wt |
Fiachra |
| ||
Local moderator Level: 65 Posts: 1033/1065 EXP: 2298186 Next: 37442 Since: 12-15-12 From: Ireland Last post: 2383 days ago Last view: 333 days ago |
Entrances and exits are documented here. You need to:
1. Add an entrance on the 1st floor for when the player exits your level if there isn't one already 2. Set the area of that entrance to be the area in which you've placed your objects 3. Set the exit used for entering your level to point to the entrance |
Gota7 |
| ||
Paragoomba Star Wolf Level: 18 Posts: 4/66 EXP: 28354 Next: 1543 Since: 04-09-17 From: Same as above. ^ Last post: 2254 days ago Last view: 1499 days ago |
To change the area, it says you have to change the forth parameter, with it being MMMM MMMM MVVV VAAA where AAA is the area. But parameter 4 only has 4 enter-able hex values?
Join the SM64DS Hacking Discord: https://discord.gg/PhpA9Wt |
mibts |
| ||
Panser =Josh65536 (Programmer) Level: 39 Posts: 244/331 EXP: 386220 Next: 18551 Since: 08-31-13 Last post: 2171 days ago Last view: 148 days ago |
Those are bits, and you have to enter hexadecimal digits (hexits). So the last hexit will be the area ID if the view ID is even, and area ID + 8 if the view ID is odd. ____________________ Current hack: Excerpt from Super Mario 256 |
Gota7 |
| ||
Paragoomba Star Wolf Level: 18 Posts: 5/66 EXP: 28354 Next: 1543 Since: 04-09-17 From: Same as above. ^ Last post: 2254 days ago Last view: 1499 days ago |
mibts |
| ||
Panser =Josh65536 (Programmer) Level: 39 Posts: 245/331 EXP: 386220 Next: 18551 Since: 08-31-13 Last post: 2171 days ago Last view: 148 days ago |
For example, if the view ID is 0 (even) and the area ID is 3, then you put XXX3. But if the view ID is 1 (odd) and the area ID is 3, you add 8 to 3 to get 0xB and put XXXB. ____________________ Current hack: Excerpt from Super Mario 256 |
Gota7 |
| ||
Paragoomba Star Wolf Level: 18 Posts: 6/66 EXP: 28354 Next: 1543 Since: 04-09-17 From: Same as above. ^ Last post: 2254 days ago Last view: 1499 days ago |
What if I put the view ID as 2? Then is it still 3, or just 4?
And 0101 equals 5? I'm guessing the 0100 equals 4? But if it were 1111, that's 16? And 0111 equals 13? So 1100 = ? and 1000 = ? Join the SM64DS Hacking Discord: https://discord.gg/PhpA9Wt |
mibts |
| ||
Panser =Josh65536 (Programmer) Level: 39 Posts: 247/331 EXP: 386220 Next: 18551 Since: 08-31-13 Last post: 2171 days ago Last view: 148 days ago |
Then it's still 3 because 2 is even. ____________________ Current hack: Excerpt from Super Mario 256 |
Gota7 |
| ||
Paragoomba Star Wolf Level: 18 Posts: 7/66 EXP: 28354 Next: 1543 Since: 04-09-17 From: Same as above. ^ Last post: 2254 days ago Last view: 1499 days ago |
So the game also goes to the nearest view then?
But what if the value is: 1000 or 1100 or 0100? Join the SM64DS Hacking Discord: https://discord.gg/PhpA9Wt |
mibts |
| ||
Panser =Josh65536 (Programmer) Level: 39 Posts: 248/331 EXP: 386220 Next: 18551 Since: 08-31-13 Last post: 2171 days ago Last view: 148 days ago |
The value of the last hexit, right? ____________________ Current hack: Excerpt from Super Mario 256 |
Gota7 |
| ||
Paragoomba Star Wolf Level: 18 Posts: 8/66 EXP: 28354 Next: 1543 Since: 04-09-17 From: Same as above. ^ Last post: 2254 days ago Last view: 1499 days ago |
So 0100 just equals 0?
but how does 0101 equals 5? Some kind of simple python converter here would be really helpful. Join the SM64DS Hacking Discord: https://discord.gg/PhpA9Wt |
Fiachra |
| ||
Local moderator Level: 65 Posts: 1034/1065 EXP: 2298186 Next: 37442 Since: 12-15-12 From: Ireland Last post: 2383 days ago Last view: 333 days ago |
MMMM MMMM MVVV VAAA
Let's take as an example: Area: 3 View: 5 Mode: "0000 0010 1" ("Spin in (like at start of course)") Windows' Calculator's programmer mode let's you convert between decimal, hexadecimal and binary values. 1. Convert the area into a binary value. You can do this by selecting "Dec" mode and entering your decimal value, here it's 3. You'll see the binary value of "11": 2. Convert the view value in a similar manner and you'll get "101" 3. Combine the three values: select "Hex" mode and flip individual bits in Windows Calculator by clicking on them. You'll end up with a hex. value of "02AB": |
Gota7 |
| ||
Paragoomba Star Wolf Level: 18 Posts: 9/66 EXP: 28354 Next: 1543 Since: 04-09-17 From: Same as above. ^ Last post: 2254 days ago Last view: 1499 days ago |
Alright, thanks for the help!
Anyone know how to make it snow in a level/area? I know areas can be modded via importing XML, but how does one edit them? Join the SM64DS Hacking Discord: https://discord.gg/PhpA9Wt |
mibts |
| ||
Panser =Josh65536 (Programmer) Level: 39 Posts: 249/331 EXP: 386220 Next: 18551 Since: 08-31-13 Last post: 2171 days ago Last view: 148 days ago |
1. This requires ASM hacking.
2. To put an object in an area, modify the Area field of said object. Ask Fiachra about importing multiple ares. ____________________ Current hack: Excerpt from Super Mario 256 |
Main - General SM64DS hacking - SM64DS Editor Help Thread - Post your questions here | Hide post layouts | New reply |
Page rendered in 0.033 seconds. (2048KB of memory used) MySQL - queries: 26, rows: 231/231, time: 0.011 seconds. Acmlmboard 2.064 (2018-07-20) © 2005-2008 Acmlm, Xkeeper, blackhole89 et al. |