Posted on 09-06-16, 03:49 pm in New NSMB Editor Builds!
Death by cuteness

Karma: 6564
Posts: 581/598
Since: 05-01-13
Pull request updated with the addition of the Zoom:
nsmb-editor-380b.zip

Also for those who want to tamper with the Actor 77 ASM and the Worldmap icons ASM:
nsmb-editor-actor77.zip



Example:

I also took into account the case where the Scrapped width is equal or above the Zone Width while the latter is not equal to 0.
Posted on 10-06-16, 07:50 pm in Rips from Newer NSMB Titles
Death by cuteness

Karma: 6564
Posts: 590/598
Since: 05-01-13
Don't put words in my mouth,  MarioKart7z, I never said that those were NSMB U beta pipes.

 Hiccup already asked me this anyways on that one video, and the pipes were scaled down directly from the official artworks of NSMB U.
Posted on 11-30-16, 09:57 pm in asm Worldmap icons with 256 colors each
Death by cuteness

Karma: 6564
Posts: 594/598
Since: 05-01-13
First post updated with some slight improvements to the code + a new download link for the palette.

It should work well now.
Posted on 09-21-13, 08:48 pm in full hack in progress New Super Holiday Bros
Death by cuteness

Karma: 6564
Posts: 36/598
Since: 05-01-13
It's actually relatively easy to darken an area.

You have to change one of the following nsbtx in the polygon_unit folder :
evf_cloud1 (sprite 315)
evf_haze1 (sprite 310)
evf_tree1_a (sprite 324)
evf_tree1_b (sprite 325)
Why these and not the others ?
Because those 4 are the ones who have an opacity setting.

From there you proceed to fill all the texture with black color.
And then you can adjust the opacity with the corresponding sprite.

Here you have, your dark area
Posted on 10-10-13, 03:41 pm in Backgrounds dont work properly in some levels
Death by cuteness

Karma: 6564
Posts: 47/598
Since: 05-01-13
Pretty much what Wesley said, buuuuuut I just wanted to clarify something, actually it's NOT hardcoded, otherwise you wouldn't be able to modify it without ASM.



This is caused by the bytes 11 to 14 in block 5 (block 3 if it was a bottom background) having their values as FF.
Posted on 11-14-13, 12:12 pm in fixed Path node glitch (rev. 1 by  MeroMero on 11-14-13, 12:13 pm)
Death by cuteness

Karma: 6564
Posts: 54/598
Since: 05-01-13
Revision b376 only.

Whenever I try to change Value 5 or 6 of any path node given with the arrows/mouse, NSMBe throws me that error :

************** Exception Text ************** System.IndexOutOfRangeException: Index was outside the bounds of the array. at NSMBe4.LanguageManager.Get(String Area, Int32 Number) at NSMBe4.ChangePathNodeDataAction.ToString() at NSMBe4.UndoManager.Do(Action act, Boolean select) at NSMBe4.PathEditor.unk5_ValueChanged(Object sender, EventArgs e) at System.Windows.Forms.NumericUpDown.OnValueChanged(EventArgs e) at System.Windows.Forms.NumericUpDown.set_Value(Decimal value) at System.Windows.Forms.NumericUpDown.UpButton() at System.Windows.Forms.UpDownBase.UpDownButtons.BeginButtonPress(MouseEventArgs e) at System.Windows.Forms.UpDownBase.UpDownButtons.OnMouseDown(MouseEventArgs e) at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(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)


Notes :
_No prior manipulation needed, error will happen no matter what
_Values 1 to 4 works fine though
_Manually typing a value works too (even for value 5 and value 6)


Also I will report something else but since I don't know if it's a bug or something actually intended I won't create another thread, here I go anyway :
In revision 375 and 376 when you change the tileset, NSMBe doesn't visually auto-update anymore, you have to close and open the level again to see the changes.
Posted on 02-06-14, 01:23 pm in Tightropes disable sliding
Death by cuteness

Karma: 6564
Posts: 65/598
Since: 05-01-13
So I did further research on (E) rom, found some interesting things (as well as some obnoxious ones):

_The culprit is the byte located at RAM address 021C1A9F (again on (E) ROM, but it shouldn't be that far of on other versions)
_That byte is 00 by default (slopes enabled)
_Somehow whenever Mario or Luigi uses the tightrope the value magically changes to 04 (slopes disabled)

You can guess what I did next ?
I used an internal cheat to force that value to 00, and :


TLDR GG Nintendo
Posted on 02-19-14, 10:03 pm in Background scrolling (rev. 2 by  MeroMero on 04-21-14, 01:21 pm)
Death by cuteness

Karma: 6564
Posts: 69/598
Since: 05-01-13
I found 2 interesting things regarding background scrolling while I was messing with the values :
(Note 1 : for all intents and purposes, the bytes are numbered considering the first byte as byte 1 and values are in hex)
(Note 2 : the modifications should be applied to blocks 3 and 5 for bottom and top backgrounds respectively)

Disabling vertical scrolling

Works for both top and bottom background

This is achieved by putting a value of 40 for byte 13 and by putting a value of 10 for byte 16.
By doing that the background will stay vertically static to the camera.
Sadly I have yet to find a method to block horizontal scrolling (or at least one who doesn't involve disabling the HDMA).



Automatic horizontal scrolling

Works for both top and bottom background

It only works for backgrounds who already have a horizontal animation, you can achieve this by putting a value of 10 for byte 16 and it will animate the whole background instead of partially animating it.
(Note : if byte 13 value is somewhere between 40 and 4F, this effect will be overridden and instead the vertical scrolling will be disabled)
Posted on 04-21-14, 06:47 am in hex edit Background Scrolling Data List
Death by cuteness

Karma: 6564
Posts: 81/598
Since: 05-01-13
Good job on gathering the data, there's this too who can prove to be interesting.
Posted on 05-04-14, 08:23 am in Help/Question Asking Thread
Death by cuteness

Karma: 6564
Posts: 87/598
Since: 05-01-13
Posted by gridatttack
IIRC, you just need to import an image with 4 palettes onto the tileset, then it will be made into 4 palettes.

Might be wrong though.

But you can make every tileset 4 palette for sure by modifying the palette file size.

Nah you can't add palettes just by importing a larger image. I tested that and I got denied loool.
But yes you're right about manually adding palettes, this is how I used to do but it gets impractical when you basically have to redo a tileset from scratch, you are better off importing the Beach tileset and work from there .

 MarioSunshine, to resize the palette file (this is for tileset only), just follow those steps :
_choose a tileset and open it

_choose the Graphics tab, and note the .ncg used right now

_for example tileset 11 (Forest) , use d_2D_W_M_tikei_jungle_ncg.bin, so you want to add palette to its corresponding .ncl in the BG_ncl folder, which is d_2D_W_M_tikei_jungle_ncl.bin

_the .ncl files are LZ compressed, you want to LZ decompress them first to bring back the file size to 1024 bytes

_each palettes use 256 colors, and each color are stocked in a token which take 2 bytes (note that the first token of each palette is transparent no matter its bytes' values)

_if you do the math 256×2=512, since there are 2 palettes 512×2=1024 bytes

_you can use up to 4 palettes in a tileset, thus 512×4=2048 bytes (which is also 1024 × 2)

_click Hex Edit, and then right-click, Select All, right-click, Copy, go to the end of the file, right-click and Paste, if done correctly the last byte should be located at 000007FF

_save and exit

_don't forget to LZ compress the .ncl file

_enjoy your 4-palettes tileset, now you can import an image large enough to take into account the new palette size


Note : actually you can import more than 4 palettes, surprinsigly enough it doesn't crash the game, but ultimately this is useless thanks to the modulo 4, thus objects who should use the palette 5 will use palette 1 instead, palette 6 use palette 2 etc.

I don't know how if you can add more palettes to things like d_2d_UI_O_menu_title_o_d_ncl.bin for example since this is not a tileset, so you're on your own here.

This is it, this is how you manually add palette to a .ncl file
Posted on 07-16-14, 09:11 pm in Solid-on-top platform works as ledge?
Death by cuteness

Karma: 6564
Posts: 93/598
Since: 05-01-13
What Nintendo didn't take into account was the floaty mechanics of Mini-Mario/Mini-Luigi, you can actually glitch your way out if you grab a GREEN right-end-of-ledge object close enough to the ground.
Posted on 07-25-14, 12:27 pm in How do the Ghost House Stairs work?
Death by cuteness

Karma: 6564
Posts: 98/598
Since: 05-01-13
There's no trick involving view's width at all lol, heck I even tested the stairs with a simple 256×192 view and they work.

You only need to do know one thing, ghost house stairs are activated with an output ID of 14 (base 10).
Yep, it's a special event ID.
Posted on 07-28-14, 01:40 pm in fixed Map 16 tile number -1 reset control byte to 0 (rev. 1 by  MeroMero on 07-28-14, 01:42 pm)
Death by cuteness

Karma: 6564
Posts: 104/598
Since: 05-01-13
What the title says.

I apologize in advance if this problem was already described in the past, but whenever you save and quit the tileset editor, any Map 16 tile who has a value of -1 will reset its control byte to 0.
That means that if you want a -1 tile that works you have to hex edit manually its control byte if it's different from 0.
Posted on 07-29-14, 09:53 am in tutorial Restoring bottom background in slot 36
Death by cuteness

Karma: 6564
Posts: 106/598
Since: 05-01-13
The screens came from the US version, but I had to test for all 5 versions to retrieve their respective address.

When you want to search for an offset, just type 30618 (or any other address for that matter) without the 0x
Posted on 07-30-14, 06:41 am in tutorial Restoring bottom background in slot 36
Death by cuteness

Karma: 6564
Posts: 107/598
Since: 05-01-13
While there is a glitch, that issue was addressed here since this is something that shouldn't happen.

But what you are showing me is something that shouldn't have occurred regardless of the issue I have described above, I tested on a U version to make sure, and the donut lifts worked fine and showed the right colors.
The only way that could have happen is if you recently modified the jyotyu tileset.

Since the jyotyu palette is determined by the bottom background, try to put another background that uses the same jyotyu palette as the stalactite background like the underground one (number 3) for example.
If the same oddity occurs then the fault lies in the jyotyu tileset, but it doesn't really matter if the jyotyu is at cause or not since you can always import a fresh jyotyu tileset from a vanilla ROM to fix the problem.
Posted on 08-12-14, 11:46 am in Warp cannon problem (rev. 1 by  MeroMero on 08-12-14, 11:54 am)
Death by cuteness

Karma: 6564
Posts: 112/598
Since: 05-01-13
Posted by MarioSunshine
Such a nostalgic windows, but hey, upgrade your editor now!

Well he did say that though.
Posted by JLavin
I'm using 5.1 because the newer ones don't work on it, and I can find no "scroll vertically" tab.

Regarding the second problem, I'll get that fixed later.


But I know how to fix the problem :
JLavin I bet when you want to open your ROM with the latest builds you get that window :

And judging by the depiction of the bottom screen in your picture, I can safely assume that you're using one of the 2 SKJmin's hacks as a base ROM, either NSMB3 or NSMBorigins.

Well it's because later builds of NSMBeditor checks for the romGameCode, and if it doesn't recognize those 4 bytes, you'll get that 3 tabs window instead of the 6 tabs one (which is the reason why you get only 3 tabs when you try to open a Chinese NSMB ROM).

The fix:
Open your ROM in a hex editor, and you'll see this:


See the 4 bytes beginning from address 0x0000000c, the ones that form the word NMB3 ? This is the GameCode, and you want to change that :
_if you used NSMB3 as a base, change NBM3 into A2DP (European GameCode for NSMB)
_if you used NSMBorigins as a base, change SKJ3 into A2DE (American GameCode for NSMB)


Of course don't forget to save.
You can close the hex editor now.
Now try to open your ROM with the latest build of NSMBeditor, you should get this now :


And now you gain access to the latest functionalities available

Now for your cannon problem, well, let's say I am none the wiser
Posted on 08-14-14, 11:18 am in Help/Question Asking Thread
Death by cuteness

Karma: 6564
Posts: 114/598
Since: 05-01-13
Everything you need to know is explained nicely here
Posted on 09-03-14, 01:06 pm in 26%v0.3.0 Mario Brothers Super Star (rev. 1 by  MeroMero on 09-03-14, 01:07 pm)
Death by cuteness

Karma: 6564
Posts: 118/598
Since: 05-01-13
It still doesn't work… but I managed to patch it anyways.

That's because when you created the patch, you used a base ROM who had its overlay 0 decompressed.
Yes older versions of NSMBeditor will automatically decompress the overlay 0 of a NSMB rom upon opening if it isn't already decompressed ; later versions instead will decompress the overlay 0 only when you open the jyotyu tileset and click save.

That's why I always keep a folder full of NSMB roms who were never opened with NSMBeditor, so that they serve correctly their purpose as base roms.


I said I managed to patch it right ?
_Copy / Paste your clean NSMB rom (we will call it NSMB_original)
_Open your copied NSMB rom (codename : NSMB_source) with an older version of NSMBeditor (personally I used revision 356)
_Fine, now close NSMBe and copy / paste NSMB_source (the copy will be codenamed NSMB_destination)
_Now you can use XDeltaUI and patch the ROM by having NSMB_source as the base ROM and NSMB_destination as the destination ROM.

Now, you can enjoy Mario Bros Super Star
Posted on 09-08-14, 08:22 pm in Pokémon Light Platinum: The NDS version
Death by cuteness

Karma: 6564
Posts: 128/598
Since: 05-01-13
Of course the Fairy-type replace the unused-??? type (well, Curse but yeah )

Actually grid (I have the right to call you like that ?) it's fairly easy to add a functional item, in fact in my test ROM I made for myself the Pixie Plate and for all intents and purposes it works, complete with the ×1.2 boost for Fairy-type moves

The problem lies in the code who tampers with Arceus' type, also the code is not gathered into 1 single subroutine (6 actually IIRC).
I tampered with the code to see if Arceus could stay in ???-form and I managed to do so, that is until I realized that in-battle the game still considers it Normal-type, which means the code to tamper with Arceus' type effectiveness as a defender is somewhere else.

Multitype-code, as it is right now, has no way to handle the case for type 9 (???-type) for the case is inexistent in the code.

Also items like the Plates have what I call an item-effect ID, for the Plates the effect ID are values between 7E and 8D inclusive.
There's 146 of them (from 01 to 92), so you could say if I want to add the Pixie Plate I will copy the code for the [random] Plate and change the effect ID for 93.
And you would be almost right, almost.

There's another problem, the Multitype-code (on top of checking if the Pokémon bearing Multitype is Arceus) will check for the item-effect ID 7E only, and then will add +1 until the 15th loop (or 16th I don't remember clearly) which is where the code will abort the operation (meaning the code has found no match thus assumes Arceus as a Normal-type), so it means that the effect ID for the Plates need to be CONSECUTIVE.
Then we will have to change the effect ID between 7E and 8D to values between 93 and A2, of course this means that the Pixie Plate will inherit the effect ID number A3 !

And I have yet to gather the attitude to dare and attempt to modify the code hahah.

I hope I haven't lost you with my explanations
Posted on 10-04-14, 08:34 am in I need help with sprite 168!
Death by cuteness

Karma: 6564
Posts: 133/598
Since: 05-01-13
In theory Arceus' idea would work, in practice this get a lot more complicated.

See that would work if when an enemy fall in the lava, it get defeated instantly so it works for example with Goombas, Koopa (Para)Troopas, Spinies, Buzzy Beetles, etc.

But some other foes simply fall through the lava (that is without taking any damage), for example Non-pipe Piranha Plants!

And because of that the sprite 168 doesn't count those enemies as defeated, with the exception of Snailicorns.
By no means this means that those foes are unbeatable, simply that you have to beat them the old fashioned way (Fire flower, Starman).

An alternative would be to K.O. those Fire Piranha Plants with the Bob-Ombs, but alas turns out that while regular/giant Piranha Plants get defeated by those, Fire Piranha Plants don't!


That's as close as you can get without heavily tweaking your level.


Settings:
Sprite 122 instead of sprite 124
Sound set: 37 (55 in decimal)
Sprite sets : 1-1, 5-1, 6-6, 10-3