Kuribo64
Views: 19,820,469 Home | Forums | Uploader | Wiki | Object databases | IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search
03-19-24 07:49 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

Pages: 1 2 3 4 5 ... 55 56 57 58 59 60 61 62 63 64 65 66
Fiachra
Posted on 04-15-17 01:48 PM Link | #82511
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
Posted on 04-17-17 07:35 AM (rev. 4 of 04-17-17 09:55 AM) Link | #82572
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
Posted on 04-17-17 03:36 PM Link | #82577
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
Posted on 04-17-17 03:39 PM Link | #82578
Do you plan to implement an in-editor thing for areas? This seems quite long-winded and I'm using Sketchup for modelling.

Fiachra
Posted on 04-17-17 04:24 PM Link | #82580
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
Posted on 04-17-17 05:15 PM Link | #82581
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
Posted on 06-14-17 05:48 PM Link | #83772
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
Posted on 06-14-17 06:15 PM Link | #83773
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
Posted on 06-14-17 06:59 PM Link | #83775
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
Posted on 06-14-17 08:00 PM Link | #83776
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

Any map on a flat torus can be colored with at most 7 colors.

Gota7
Posted on 06-14-17 08:17 PM Link | #83777
I still don't understand.




Join the SM64DS Hacking Discord: https://discord.gg/PhpA9Wt

mibts
Posted on 06-14-17 08:45 PM Link | #83778
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

Any map on a flat torus can be colored with at most 7 colors.

Gota7
Posted on 06-14-17 10:29 PM (rev. 2 of 06-14-17 10:37 PM) Link | #83780
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
Posted on 06-14-17 10:36 PM Link | #83781
Then it's still 3 because 2 is even.

____________________
Current hack: Excerpt from Super Mario 256

Any map on a flat torus can be colored with at most 7 colors.

Gota7
Posted on 06-14-17 10:38 PM Link | #83783
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
Posted on 06-14-17 10:46 PM Link | #83785
The value of the last hexit, right?

____________________
Current hack: Excerpt from Super Mario 256

Any map on a flat torus can be colored with at most 7 colors.

Gota7
Posted on 06-14-17 10:48 PM (rev. 3 of 06-14-17 11:09 PM) Link | #83786
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
Posted on 06-15-17 06:12 AM (rev. 5 of 06-15-17 06:33 AM) Link | #83790
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":
[thumbnail]
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":
[thumbnail]

Gota7
Posted on 06-15-17 02:32 PM (rev. 2 of 06-15-17 05:39 PM) Link | #83796
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
Posted on 06-15-17 06:13 PM Link | #83798
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

Any map on a flat torus can be colored with at most 7 colors.
Pages: 1 2 3 4 5 ... 55 56 57 58 59 60 61 62 63 64 65 66

Main - General SM64DS hacking - SM64DS Editor Help Thread - Post your questions here Hide post layouts | New reply

Page rendered in 0.058 seconds. (2048KB of memory used)
MySQL - queries: 26, rows: 231/231, time: 0.018 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.