Kuribo64
Views: 19,850,705 Home | Forums | Uploader | Wiki | Object databases | IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search
03-28-24 12:54 PM
Guest:

0 users reading Looking into SM64DS fixing collision | 1 bot

Main - General SM64DS hacking - Looking into SM64DS fixing collision Hide post layouts | Thread closed

Pages: 1 2 3 4 5
blank
Posted on 12-28-12 03:02 PM Link | #2212
Posted by Skelux
blank, I'm getting an error. Is this the correct syntax?

create_collision.py -s 400 island.obj collision.kcl


That should be correct. What error are you getting?

Fiachra
Posted on 12-28-12 08:13 PM (rev. 3 of 12-28-12 08:36 PM) Link | #2231
Finished porting blank's new script into the editor - perfect collision! :)

I've quickly tested it with Skelux's Bob-Omb Islands model and it seems to be working perfectly apart from the small raised bumps around the rim of the floating fort.

[image] On top of tower to the right of the floating fort.
[image]On top of roof of floating fort.

I've committed the code to the repo (http://code.google.com/p/sm64dse/source/list).

Posted by Mega-Mario
But wait, Fiachra has made a change to address that issue. Perhaps you need to click a button or check a checkbox when importing, idk if he made it automatic...

You need to press the 'Save' button (upper left corner) after importing a custom model.

Posted by Mega-Mario
... BTW, I'm also thinking of moving SM64DSe to Git. But I think it should be rewritten into Java for better portability (the 3D interface just won't work right under Linux). I'm not going to do it without first knowing your opinion, though.

I've never used Git so I don't know much about it. If you think it's better I'm happy to change. Rewriting to Java'd be good so it worked in Linux. I don't think I could help much with the NitroROM, NitroFile classes or the GLView parts but if those were done I could probably help a good bit with the rest.

Arisotura
Posted on 12-28-12 08:46 PM (rev. 2 of 12-28-12 08:52 PM) Link | #2242
That is amazing. I don't know what to say... man you have revived a long-dead failed project of mine, and made it successful. I have no idea how I could thank you.

Aside from that, we'll need to add support for editing minimaps. And then we'll be good for a SUPER AMAZING RELEASE I guess.

Plans for after said release would be 1) port the editor to Java, 2) put it on Github and 3) make it even more epic.

And now I feel bad because I haven't done anything on SM64DSe in ages. But blah, I'll sure be active when making the Java port. But my current priority is Whitehole so uh...

____________________
NSMBHD - Kafuka - Jul
melonDS the most fruity DS emulator there is

zafkflzdasd

ray
Posted on 12-28-12 11:15 PM (rev. 2 of 12-28-12 11:41 PM) Link | #2264
Ehhh... Amazing! I'll surely start SM64 DS Hacking again! Thank you so much Fiachra!

EDIT: I get this error when opening a level...
[image]
Details:

Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

************** Ausnahmetext **************
System.IO.FileNotFoundException: Die Datei oder Assembly "HaxxGLControl, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.
Dateiname: "HaxxGLControl, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
bei SM64DSe.LevelEditorForm.InitializeComponent()
bei SM64DSe.LevelEditorForm..ctor(NitroROM rom, Int32 levelid) in C:\Users\Fiachra Murray\Documents\Visual Studio 2008\Projects\SM64DSe\LevelEditorForm.cs:Zeile 319.
bei SM64DSe.MainForm.OpenLevel(Int32 levelid) in C:\Users\Fiachra Murray\Documents\Visual Studio 2008\Projects\SM64DSe\MainForm.cs:Zeile 253.
bei System.Windows.Forms.Control.OnDoubleClick(EventArgs e)
bei System.Windows.Forms.ListBox.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

WRN: Protokollierung der Assemblybindung ist AUS.
Sie können die Protokollierung der Assemblybindungsfehler aktivieren, indem Sie den Registrierungswert [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) auf 1 festlegen.
Hinweis: Die Protokollierung der Assemblybindungsfehler führt zu einer gewissen Leistungseinbuße.
Sie können dieses Feature deaktivieren, indem Sie den Registrierungswert [HKLM\Software\Microsoft\Fusion!EnableLog] entfernen.



************** Geladene Assemblys **************
mscorlib
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4984 (win7RTMGDR.050727-4900).
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll.
----------------------------------------
SM64DSe
Assembly-Version: 1.0.0.0.
Win32-Version: 1.0.0.0.
CodeBase: file:///C:/Users/Raphael/SM64DS%20Hacking/Editor/SM64DSe/bin/Release/SM64DSe.exe.
----------------------------------------
System.Windows.Forms
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4977 (win7RTMGDR.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
----------------------------------------
System
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4984 (win7RTMGDR.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll.
----------------------------------------
System.Drawing
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4980 (win7RTMGDR.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
----------------------------------------
OpenTK
Assembly-Version: 1.0.0.0.
Win32-Version: 1.0.278.44921.
CodeBase: file:///C:/Users/Raphael/SM64DS%20Hacking/Editor/SM64DSe/bin/Release/OpenTK.DLL.
----------------------------------------
System.Xml
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll.
----------------------------------------
System.Configuration
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
----------------------------------------
mscorlib.resources
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4984 (win7RTMGDR.050727-4900).
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll.
----------------------------------------
OpenTK.GLControl
Assembly-Version: 1.0.0.0.
Win32-Version: 1.0.278.44921.
CodeBase: file:///C:/Users/Raphael/SM64DS%20Hacking/Editor/SM64DSe/bin/Release/OpenTK.GLControl.DLL.
----------------------------------------
System.Windows.Forms.resources
Assembly-Version: 2.0.0.0.
Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900).
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
----------------------------------------

************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

Zum Beispiel:





Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht in diesem Dialogfeld behandelt.




____________________
Check out my Patreon Page if you want to support me :)



Arisotura
Posted on 12-28-12 11:43 PM Link | #2267
You need to put HaxxGLControl.dll with the editor. You'll find that file somewhere in the repo (in the HaxxGLControl folder iirc).

____________________
NSMBHD - Kafuka - Jul
melonDS the most fruity DS emulator there is

zafkflzdasd

ray
Posted on 12-28-12 11:44 PM (rev. 2 of 12-28-12 11:50 PM) Link | #2268
Thanks :) But I just solved it trough recompiling :P

EDIT: So I just tried the new KCL importer and I fall trough the ground everytime I reach an edge :(

____________________
Check out my Patreon Page if you want to support me :)



gridatttack
Posted on 12-28-12 11:49 PM (rev. 2 of 12-28-12 11:50 PM) Link | #2269
Excellent work you all!
I cant wait to make levels on the DS version (since I failed in the 64 version)

Also I wonder, so the levels that have animated water and multiple areas will be editable?
Or will the selection of which material shall the water use will be possible?

____________________
[image] [image]

Arisotura
Posted on 12-28-12 11:55 PM Link | #2270
We will work on that, one thing at a time :P

Actually Fiachra has partially addressed the issue already, when importing a new model, texture animation data is erased (am I right?). What'll be left to do is making an interface for entering new texture animation data and we'll be good :)

____________________
NSMBHD - Kafuka - Jul
melonDS the most fruity DS emulator there is

zafkflzdasd

ray
Posted on 12-29-12 12:01 AM Link | #2271
Posted by ray
EDIT: So I just tried the new KCL importer and I fall trough the ground everytime I reach an edge :(


Ok it was because I didn't triangulate my model. So every hal square had no collision. It would be nice if the collision importer would work with non-triangulated levels as well, since triangulating makes double amount of faces and SM64 DS freezes if it's over 2048 faces.

____________________
Check out my Patreon Page if you want to support me :)



Dirbaio
Posted on 12-29-12 12:26 AM Link | #2272
Hmm... I think KCL's only work with triangles, while BMDs can have quads?
In that case we could triangulate the model to generate the KCL and leave it as-is for the BMD :P

____________________
Cool Stuff: Dirbaio.net (my boring site) - The NSMB Hacking Domain - Kuribo64 - ABXD DevBoard

Skelux
Posted on 12-29-12 03:09 AM Link | #2275
Here are some of the collision types:
1 - wall
5 - climbable hill
7 - vanishing wall (vanish cap)
10 - fence
13 - slippery hill
15 - grass
18 - path
20 - world edge

Also, these levels can be imported over:
general test map
TTM slide
Bowser course 1
Bowser course 3

Fiachra
Posted on 12-29-12 10:13 AM (rev. 2 of 12-29-12 10:18 AM) Link | #2283
Posted by ray
Thanks :) But I just solved it trough recompiling :P ...

The executable in the repo is an old version, it doesn't be updated when new code is committed. You need to download and compile the source code to get the newest version.

Posted by Mega-Mario
... Actually Fiachra has partially addressed the issue already, when importing a new model, texture animation data is erased (am I right?). What'll be left to do is making an interface for entering new texture animation data and we'll be good :)

Yeah, when you press the 'Save' button, if you've imported a custom model it goes through the level data header for each area:


---===[ LEVEL AREA DATA ]===---
Each entry is 12 bytes. Number determined by header[0x74].

Offset Size Desc
00 4 Address of the objects table (NULL = no table)
04 4 Address of the texture animation data (NULL = no data)
08 1 Minimap tilemap index
09 3 ???
and sets the address of the texture animation data to NULL.

Posted by Skelux
Here are some of the collision types:
...
Also, these levels can be imported over:
...

Unfortunately the collision types differ for every level, the only one that's the same is zero - solid and it'd be too hard to make a list as some levels have a lot of collision types, eg. Shifting Sand Land has 167 different types (but looks pretty in the KCL editor)!

[image]

It should be possible to replace all the levels now, for example the main castle grounds can be replaced.

ray
Posted on 12-29-12 10:43 AM Link | #2284
Posted by Dirbaio
Hmm... I think KCL's only work with triangles, while BMDs can have quads?
In that case we could triangulate the model to generate the KCL and leave it as-is for the BMD :P


Epic fail of me. I always do that for MKDS. Why didn't I think of it now? :nyan:

____________________
Check out my Patreon Page if you want to support me :)



Arisotura
Posted on 12-29-12 12:14 PM Link | #2289
Posted by Fiachra
Unfortunately the collision types differ for every level, the only one that's the same is zero - solid and it'd be too hard to make a list as some levels have a lot of collision types, eg. Shifting Sand Land has 167 different types (but looks pretty in the KCL editor)!

Oh right. The 'collision types' found within KCL files are only indexes used into a table inside the level header, called 'CLPS chunk' in the doc. The CLPS chunk holds the true collision behaviors.

This is also why swapping models/collision maps between levels doesn't always work. When the KCL contains indexes larger than what the CLPS chunk can contain, the game crashes.

____________________
NSMBHD - Kafuka - Jul
melonDS the most fruity DS emulator there is

zafkflzdasd

Skelux
Posted on 12-30-12 05:38 AM Link | #2380
I just discovered another interesting snippet of information - It seems that collecting a star will freeze unless it is the same kind of star intended for that act. For example, using a normal power star (61) for stars 1-6 on bob-omb battlefield will freeze on contact.

ray
Posted on 12-30-12 05:58 PM Link | #2467
Ehh... Just wanna say, I still have collision holes in my level...
Somewhere at the borders of this:
http://prntscr.com/nn39x

____________________
Check out my Patreon Page if you want to support me :)



Fiachra
Posted on 12-30-12 06:04 PM (rev. 2 of 12-30-12 06:04 PM) Link | #2470
Posted by ray
Ehh... Just wanna say, I still have collision holes in my level...
Somewhere at the borders of this:
http://prntscr.com/nn39x


Can you post a link to the model so I can look at?
Did you triangulate the model?

ray
Posted on 12-30-12 06:11 PM Link | #2471
Here it is:
http://www.mediafire.com/download.php?v9pl5256ve5drya
I included the model + kcl, since you can't just import the model and play it, because my model has more than 2048 faces. It's a bit tricky to do, and I don't want to explain it now. Sure, you can remove stuff from the model for testing, so it isn't above 2048 anymore.
And yes, I triangulated it when exporting it to .obj (Actually you can see in the screen that it is triangulated).

____________________
Check out my Patreon Page if you want to support me :)



Fiachra
Posted on 12-30-12 07:56 PM Link | #2485
It may be a problem with the normals facing the wrong way. After I exported it to .OBJ and removed duplicate faces and vertices it looked like this:

[image]

Some are facing inside instead of outside so the collision also has some faces on the outside and some on the inside. It seems each face is exported twice, with two sets of normals, I'm not sure why.

A good tool for cleaning, fixing, simplifying triangulating etc. models is MeshLab.

It's a great looking level by the way, hope you get it working.

ray
Posted on 12-30-12 08:19 PM (rev. 3 of 12-30-12 08:32 PM) Link | #2486
Okay thanks :) I'll try to fix it. I guess it's because I downloaded this coin-model from the internet.

EDIT: I don't see any face facing inside...: http://prntscr.com/nnk57

EDIT2: Also, I had some collision holes in a self-made pipe, that surely had no faces facing inside :/

____________________
Check out my Patreon Page if you want to support me :)


Pages: 1 2 3 4 5

Main - General SM64DS hacking - Looking into SM64DS fixing collision Hide post layouts | Thread closed

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