Pages: 1
Posted on 08-07-23, 07:25 pm
Wahoo

Karma: 3
Posts: 1/4
Since: 08-07-23
Hi Guys, I'm pretty new to this NSMB hacking stuff.
I'm trying to figure out how to replace the door texture using NSMBE, but it seems that any textures I import (including the original) will be compressed.
I've tried multiple different textures, different variations of textures. My texture is the correct size, and has a very small color palette. I noticed the Texture Editor tools also don't work, so I can't manually fix it.

I work using Aseprite, I also tried using alternate tools such as PaintDotNet and MSPaint.
I also tried alternate image formats, but I still get the same results.



Is there something I'm doing wrong? Is it just impossible to import a door texture?
I appreciate any help I could get on this.
Posted on 08-07-23, 10:07 pm
Porcupo
I do things sometimes

Karma: 830
Posts: 270/319
Since: 08-07-17
its because of how the texture is compressed (which is also why you cant edit it directly with nsmbe's graphics editor). what file are you trying to edit specifically? is it the castle door?
Posted on 08-07-23, 10:27 pm
Wahoo

Karma: 3
Posts: 2/4
Since: 08-07-23
It's just the regular door, I'm editing the object used for the opening animation (W_tobira.nsbmd)
Posted on 08-08-23, 04:38 am
Giant Paratroopa
Cream Cheese King

Karma: 2140
Posts: 1376/1379
Since: 04-24-18
the game uses palettes of limited colors, and will reduce the amount colors when the image is imported. This could be why your image looks like that
_________________________


Discord Server 1 - Discord Server 2 - Youtube Channel
Posted on 08-08-23, 04:58 am
Wahoo

Karma: 3
Posts: 3/4
Since: 08-07-23
the game uses palettes of limited colors, and will reduce the amount colors when the image is imported. This could be why your image looks like that


As I mentioned in the post, the sprite has a small palette (~20 colors) and I attempted to use variations of it. Furthermore, if I export then attempt to re-import the original sprite, it will also get compressed in this strange way.

It seems like Keeper knows about it, I'm hoping there is a solution.
Posted on 08-08-23, 09:48 am
Buzzy Beetle


Karma: 929
Posts: 382/394
Since: 11-20-15
The texture appears to be using 4x4 compression. You can try converting your texture to Nitro TGA using Nitro Paint (using 16-color or 256-color compression), and replace the texture in NSBMD with it.

NSMBe isn't capable of replacing textures with ones that have different compression.
_________________________
Posted on 08-08-23, 03:42 pm
Porcupo
I do things sometimes

Karma: 830
Posts: 271/319
Since: 08-07-17
to replace a texture in a nsbmd, youd need to have a nsbtx of the texture you want and would need to use mkds course modifier, right?
Posted on 08-08-23, 04:36 pm (rev. 1 by  cmayk on 08-08-23, 05:10 pm)
Wahoo

Karma: 3
Posts: 4/4
Since: 08-07-23
to replace a texture in a nsbmd, youd need to have a nsbtx of the texture you want and would need to use mkds course modifier, right?


This seems right, I got into Nitro Converter amd converted the sprite to 16-color compression then saved it as a TGA file. Then I used GameratorT's NSBTX converter to get the TGA into NSBTX format, but my mkdscm keeps encountering "error 0" whenever I attempt to combine the NSBMD and NSBTX.

I'm guessing I did something wrong, but I'm not sure what.
EDIT:
Update: I was adding unnecessary steps

I could just directly edit the NSBMD in Nitro Paint and import the TGA texture file that I had created.

Thanks for the pointers guys, I appreciate it!


This is the full crash dialogue:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at MKDS_Course_Modifier.G3D_Binary_File_Format.NSBMD.Write()
at MKDS_Course_Modifier.Form1.menuItem79_Click(Object sender, EventArgs e)
at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
at System.Windows.Forms.MenuItem.MenuItemData.Execute()
at System.Windows.Forms.Command.Invoke()
at System.Windows.Forms.Command.DispatchID(Int32 id)
at System.Windows.Forms.Control.WmCommand(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9139.0 built by: NET481REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
MKDS Course Modifier
Assembly Version: 4.0.0.0
Win32 Version: 4.0.0.0
CodeBase: file:///D:/Downloads/desmume-0.9.13-win64/MKDSCM/Program/MKDS%20Course%20Modifier.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9075.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9139.0 built by: NET481REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9139.0 built by: NET481REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
NAudio
Assembly Version: 1.5.4.0
Win32 Version: 1.5.4.0
CodeBase: file:///D:/Downloads/desmume-0.9.13-win64/MKDSCM/Program/NAudio.DLL
----------------------------------------
Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
DirectMidiNet
Assembly Version: 0.0.0.0
Win32 Version:
CodeBase: file:///D:/Downloads/desmume-0.9.13-win64/MKDSCM/Program/DirectMidiNet.DLL
----------------------------------------
msvcm80
Assembly Version: 8.0.50727.9680
Win32 Version: 8.00.50727.9680
CodeBase: file:///C:/Windows/WinSxS/x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9680_none_d090cb7c44278b28/msvcm80.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Pages: 1