Pages: 12345 »
Posted on 11-21-12, 10:16 pm in HELP WIT MY ROM HCK PLZ!!!1112 (rev. 1 by ImageBot on 11-21-16, 02:34 am)
☭ coffee and cream


Karma: 10398
Posts: 774/2766
Since: 06-26-11
hey i r dumb noob who hijacks others threads can u help me plz i want 2 add wrold 9 with ice castle and 3 bowsers that spit ice and kamek and mean yoshi but theres no buton for it in nsmb editor can u add button for it plz


_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 11-17-13, 07:06 pm in Give me your levels!
☭ coffee and cream


Karma: 10398
Posts: 1278/2766
Since: 06-26-11
Translation:

Hey I want to make a hack, can someone make the hack for me while I get all the credit?
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 07-06-13, 01:18 am in Sprite hacking, and the first custom NSMBDS sprite (rev. 5 by ImageBot on 11-21-16, 02:35 am)
☭ coffee and cream


Karma: 10398
Posts: 1025/2766
Since: 06-26-11
Slap me a billion times if my title is wrong. I don't think anything like that has been done before, though.

This custom sprite is very basic. It is built off the useless sprite #100. All it does is display a 1x2 quad with a texture on it.



For those who are interested into making their own sprites, here's the code: source.zip
You extract that in the source folder of the ASM hacking template package. You also need to replace your symbols.x with this one: http://nsmbhd.net/get.php?id=1431

Basically, this hooks sprite 100's constructor to use our custom vtable instead of the default one. The rendering is handled in sprite100.c. It works by writing to the GX registers directly, which is what the game does for simple stuff like flat quads.

The whole part about loading a texture is explained there: Reversing the 3D tile system

Known issue: this doesn't clean up the texture when the sprite is destroyed. The collider created by this sprite is also always in the colliders list.

Questions? Ask me.


Have fun
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 07-03-14, 11:02 pm in Stupid features
☭ coffee and cream


Karma: 10398
Posts: 1476/2766
Since: 06-26-11
Make a button that bans Thierry.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 08-02-14, 06:47 pm in 'Cutting' water and lava
☭ coffee and cream


Karma: 10398
Posts: 1501/2766
Since: 06-26-11
Fake.

SKJmoron is an attention whore, that's all.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 08-26-16, 09:27 pm in delete
☭ coffee and cream


Karma: 10398
Posts: 2002/2766
Since: 06-26-11
Luluca please don't take drugs before posting.


More seriously, another shitpost of that kind and you're getting a ban.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 10-28-17, 12:18 pm in How Do I Make A Respawnable Donut Lift?
☭ coffee and cream


Karma: 10398
Posts: 2503/2766
Since: 06-26-11
donuts are bad, and so are donut lifts, apparently
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 01-21-17, 01:40 pm in SO CLOSE!
☭ coffee and cream


Karma: 10398
Posts: 2242/2766
Since: 06-26-11
late, but yeah, it was that.


anyway, melonDS is a thing!


as for 'taking ancient desmume', well, I'd have to backport all the bugfixes and shit. I'd also need to take the yopyop-era code to get something not too bad, and it didn't emulate much back then.


relatedly, a bit of history about desmume, which is also a fine piece of irony.

this post from yopyop says why desmume was created.

translation courtesy your overlord:
Posted by yopyop
yop,
Thanks a lot, I love the A and B ones.
Regarding the bugs the first one isn't really one. Actually I was researching palettes for textures and I needed to search the whole memory to find what matched best what should be displayed, and as I'm a bit lazy I hijacked the Close button to browse memory (the X is enough to close the window).

The second one isn't a bug, it's one of the reasons why I started this project. Actually the other emulators (except iDeaS I think but you can't access the disassembler) only emulate the ARM9, and since I wanted to understand how wifi worked I started making my own disassembler which has become my own emu (too lazy to follow the instruction flow in my mind). Thus the two windows are the ARM7 and ARM9 disassemblers (same for memory but the windows have the same title).

yopyop

edit: there, added the icon
And the first bug fixed
Thanks again for the icons, if you prefer another one let me know. And if you have other bugs don't hesitate.

_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 11-16-13, 08:37 pm in release!yay!on hold! Grand Super Mario Bros.
☭ coffee and cream


Karma: 10398
Posts: 1269/2766
Since: 06-26-11
We'd love to, but we can't. You have left the board forever. Reviewing your hack would be pointless.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 02-23-14, 06:46 pm in MKDS hacking revival?
☭ coffee and cream


Karma: 10398
Posts: 1344/2766
Since: 06-26-11
For a while, there was a nice interest in MKDS hacking. I'm still surprised it worked so well, given the quality of the 'MKDS course modifier by MKDS'.

But obviously, it died. I guess because Gericom's tool was unreliable and hard to use, model importing is still only possible with software stolen from Nintendo, and lately DSHack died. And of course there's novelty wearing off, as always.

The idea appeared when they found out a DSHack test board running off ABXD, that is still online. Shit can't be done with it, though, as Yami (the server owner) has vanished from the internet.

This gave me an idea. Trying again. But this time, we'd have a proper toolset. Namely, a course editor that is easy to use, and model importing tools (that would also benefit to NSMB since the format is the same).

We'd also have a good knowledge base with all kinds of technical information. Not just "MKDS course shitifer tutorial #54644".

Development would follow the right route. Not adding a billion viewers for random game files and other useless toys. But implementing what the community wants.


Well uh, are there still people interested? There was a nice effort in the beginning, after all.

Besides, MKDS hacking can be seen as a stepping stone to MKWii. Entrance barrier is lower.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 01-11-15, 12:43 am in bubbles
☭ coffee and cream


Karma: 10398
Posts: 1644/2766
Since: 06-26-11
Best thread title ever.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 01-28-15, 05:20 pm in Corrupt-a-wish!
☭ coffee and cream


Karma: 10398
Posts: 1654/2766
Since: 06-26-11
Is this turning into hating others' projects, now? sigh.


also Thierry will you shut the fuck up or something
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 07-07-17, 11:38 am in how do we bring Dirbaio back to life
☭ coffee and cream


Karma: 10398
Posts: 2397/2766
Since: 06-26-11
well, there's a bug I want fixed, and Dirbaio is dead again (surprise)


so, how should we proceed to bring him back to life?


I tried shoving big red text in his face, but that isn't working.


I thought about taking the board down until he finally does something.

but I don't like the idea of taking the community in hostage.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 10-27-12, 08:01 pm in Continue this story!
☭ coffee and cream


Karma: 10398
Posts: 738/2766
Since: 06-26-11
 Arisotura smells an unusual smell in the air. It's like meat being cooked.  Arisotura then realizes that his brain is overheating and slowly melting as he tries to decipher  P-SwitchPusher's last post.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 12-10-12, 12:28 am in Coop experiment: Getting 1-1 into multiplayer (rev. 11 by  Dirbaio on 01-13-13, 01:19 am)
☭ coffee and cream


Karma: 10398
Posts: 828/2766
Since: 06-26-11
As title says. We take singleplayer 1-1 and import it into a MvsL level slot. We also apply Dirbaio's unlimited MvsL spriteset hack.

It is possible. Not exactly coop but more like a race.



Together with Dirbaio, we worked on getting past all the crashes encountered. The following ASM hack must be used:
repl_02009568:
        cmp r0, #20
        ADDEQ     SP, SP, #0x4C
        LDMEQFD   SP!, {R4-R11,PC}
        MOV R9, #0
        bx lr
       
repl_020B39C8:
        bx lr
       
repl_0209C4E0:
        bx lr

repl_02020738:
        bx lr

PLUS http://dirbaio.net/d/paste/afbKlaPl.txt
Credits go to Dirbaio who figured out most if not all of the above ASM hack.

You'll also need to remove certain troublecausing sprites from the level for it to work. Star coins and sprite 264 must be removed. I also removed the scroll stop sprites and invisible block sprites, but those should be fine.


Technical details

The first part of the above ASM hack causes overlay 20 to never be loaded.

Overlay 20 corresponds to sprite set 16-9 (battle stars and platforms). It is forcefully loaded right after two players connect for a MvsL game, which makes us unable to load any other sprite set in slot 16. Slot 16 is where we have the flagpole and bosses, so this is bad.

With this hack, we can load any sprite set in slot 16 without getting a crash. The downside of it is that sprite set 16-9 is unavailable, so no platform generator. But: there are TONS of references to loadOverlay(). If someone would find the one reference that calls it with a fixed ID of 20...

The other parts of the ASM hack mostly remove certain checks for the MvsL mode, that cause some required data to not be loaded. They also remove the code that separately spawns MvsL battle stars.


You then get to play 1-1 in MvsL mode.

When you reach the flagpole, you go down it as usual. Then, it says 'Mario Wins' (or 'Luigi Wins' if you're Luigi). The other player is told that they've lost.



Remaining issues:
* tileset 2 isn't loaded, which causes Mario to not end the level properly (and yet another lockup). Replacing the castle with a solid block fixes it temporarily. Dirbaio's latest ASM hack (the PLUS link) should fix it
* graphics that should show the number of points when using the flagpole, are instead garbled
* music and sound sets in MvsL mode are hardcoded
* no matter the parameters of the two first entrances, Mario and Luigi always start from pipes
* breaking the flagpole with Mega Mario causes the other player to not lose. The two players are then desynced. Even if you make the other player win and then make them play another game, they will stay desynced.

Because apparently lots of things aren't loaded in MvsL mode.

When Mario/Luigi ends the hacked level, oddly, no victory is counted at either side. Victory counts are likely related to the battle star sprites.


To be tested:
* the Mega Goomba boss fight. Mega Goomba is featured in the early videos, however there's only one player battling it. Perhaps it still has multiplayer code though? Also, given the sheer number of MvsL-mode checks and stuff in the code, and how boss sprites are crashy in abnormal conditions, would a boss room even work in MvsL mode?


This also gives us more insights on how NSMB has been programmed.
* the so-called coop mode was more like a race. Reaching the flagpole makes other players lose, unlike the NSMBWii flagpole.
* at that time, Mega Mario wasn't supposed to be able to break flagpoles. Breaking a flagpole doesn't make other players lose, which indicates that this feature was added after coop was scrapped.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 07-05-13, 12:07 am in Reversing the 3D tile system (rev. 6 by  Arisotura on 07-05-13, 08:20 pm)
☭ coffee and cream


Karma: 10398
Posts: 1023/2766
Since: 06-26-11
This is mostly a findings dump.

0x020C7CEC: table that manages 3D tile rendering for Jyotyu (other similar tables must exist for other tilesets). The table holds one byte per tile, for tiles 112-255.

Each byte is the index of the tile to render. Indexes are universal, for example, you can have the game render a fence instead of a pipe. You just need to find the right values.

2D water tiles can be used in that table too (values are 0x78 for water body and 0x79 for water top). However, the 2D water doesn't use the tables. Instead, the code has another special case for it (tiles 41, 147, 148).

It is worth noting that tile 41 uses 3D tile 0x78, and the 2D tile shows a coin. The object that uses that tile (object 87) is a coin in 2D water. This means that the 3D tile system overlays 3D tiles on top of 2D tiles, which would allow for some fancy stuff.


0x020F438C: the function responsible for drawing 3D tiles. Yet to be done: reverse it, and find out how adding 3D tiles would work.


0x020AF2DC: function responsible for loading the textures used by the 3D tiles.


0x02121EC0: table listing all the textures to load for 3D tiles. Each entry is 12 bytes: bytes 0-3 -> ext file ID of the file to load from, bytes 4-7 -> ID of the texture to choose inside the file, bytes 8-9 -> palette offset in 16-byte steps

They use the palette offset trick there to do the multiple pipe colors (0x00 = green, 0x20 = red, 0x40 = yellow). It should be possible to reuse that trick to make proper blue pipes, and even more!

The table contains 142 entries. Only the first 68 are loaded in MvsL mode.


0x0212A86C: table holding the parameters for the textures once they're loaded. 8 bytes per entry: bytes 0-3 -> texture parameters, bytes 4-7 -> palette base. Both values can be directly passed to GX registers TEXIMAGE_PARAM and PLTT_BASE (0x040004A8 and 0x040004AC) (or FIFO commands 0x2A and 0x2B).


Process to load a texture:

• Call loadFileByExtId_3dModel() with appropriate parameters (R0 = file ext ID, R1 = 1 if file is LZ compressed).
• Call NNS_G3dGetTex() with R0 = the value returned by loadFile_blahblah().
• Call function at 0x02019AFC with R0 = the value returned by NNS_G3dGetTex(), R1 = the ID of the texture to retrieve, and R2 = a pointer to a dword where the texparams for the texture will be stored.
• Call function at 0x02019A88 with R0 = the value returned by NNS_G3dGetTex(), R1 = 0, and R2 = a pointer to a dword where the palettebase for the texture will be stored.

Once you got your texparams and palettebase, you can draw quads and other shit using that texture easily. If you want to pull the same trick that is used for colored pipes, you'll need to remember to add the right value to the palettebase, though.


For hacking the 3D tile system: looking for refs to 0x020C7CEC and looking around those places should give you an idea of all the special cases that exist for 3D tiles.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 11-12-13, 06:58 pm in Post bugs and suggestions in this thread
☭ coffee and cream


Karma: 10398
Posts: 1260/2766
Since: 06-26-11
yay, let's turn the board into Facebook
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 09-30-14, 09:46 pm in Leaving This Place
☭ coffee and cream


Karma: 10398
Posts: 1521/2766
Since: 06-26-11
Who cares?
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 03-14-15, 03:02 pm in U have to see this
☭ coffee and cream


Karma: 10398
Posts: 1704/2766
Since: 06-26-11
Posted by aboood40091
So, yeah, all my work for 2 weeks, here it is.
I won't release this because it has a lot of errors.
You all know that RoadrunnerWMC will release his editor sooner or later so wait for it.

Edit: Oh, and, I got the XMLs from here.

Uh, you didn't make it. Grop, RoadrunnerWMC and Hiccup did.


Go away like the thieving idiot you are.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 04-14-15, 11:20 pm in Worldmap editor and all the information you'll need (rev. 1 by  Arisotura on 04-14-15, 11:22 pm)
☭ coffee and cream


Karma: 10398
Posts: 1736/2766
Since: 06-26-11
As for why ray is banned, I guess I might clear it up a bit, because it must be confusing to see a talented hacker get a permaban out of nowhere. And people deserve to know more about ray's past and all the fun things he has pulled on us.


ray has been known to make several duplicate accounts to rig polls, post +1's, and even to spam the board for no reason at all.

http://nsmbhd.net/profile/222-sidor/
http://nsmbhd.net/profile/220-sinara/
http://nsmbhd.net/profile/219-ouhara/
http://nsmbhd.net/profile/207-poiris/
http://nsmbhd.net/profile/260-hack/ maybe
http://jul.rustedlogic.net/thread.php?id=15363 -- related spam at Jul, it was him too

And did he even get a ban or warning about it? Nope, he fucking went away with it like it's a perfectly normal thing.


When we had the Minecraft server, he and Freeze have been found to be xraying their way to all the server's diamond ores. This is unrelated, but says a lot about their mindset too.


Later on, ray and Freeze were found to be hiding their NSMBDS reverse-engineering informations. Dirbaio knew about it and didn't do shit. Eventually I learnt about it, and asked them why that was. The reason they gave was that another user was stealing from them.

But it appeared that the real reason is that they kept their shit secret so they could make an amazing NSMB hack without anyone being able to replicate it. And then they could make an amazing release of both the hack and the hacking information they had, making themselves look like NSMB hacking gods.



Flash forward to now. ray makes this thread. I reply with this post: http://nsmbhd.net/post/42180/

See Freeze's reply. The beginning of the explanation is totally legit, and then:
And by the way: You won't change our minds with your moral posts. Never.

This line pretty much ruins it with its "we do what we want, fuck you" tone.

But I'm digressing there, Freeze isn't the problem. After a PM exchange we eventually got the issue solved.

But a while later, this lovely PM from ray:
Sent by ray
I have no idea why you act so incredibly childish, but it surely doesn't help in any way. You keep provoking us. You keep blaming us. You keep saying that we are hiding stuff. You don't even care about NSMB-Hacking, so that's none of your business.
All you do is just abusing the power of being a mod. Also you have some serious problems with people betraying you. Otherwise you wouldn't get that mad all the time. Seriously, you are the only one who actually cares about provoking us and still believing we hide shittons of stuff. NSMB doesn't even offer that much anymore.

Not even Dirbaio, who used to care a lot cares about it. Nor does anyone else. Get your shit together. People develop, people get older, so do we. There's nothing we do hide. But for you, it seems like you're actually getting younger.

You seem to be upset that we are talking to you in a rude way. Then you should question yourself WHY that is the case. We've never been talking like that any time. We've always been talking calm and tried to go around your provocativeness, but no, you need to continue even though everything was fine. For real, it's unclear to me why you are upset that we're having the "I don't care" mindset.

For every action, there's a reaction. Stop treating us like fucktards. You are the real one acting bad here. And I don't care if you're going to ban me/us. But be sure that we won't give out any information if you do so. C'mon grow up and stop talking like a douchebag. If SKJmin wasn't such an asshole, I would agree that this place sucks. We've never done anything wrong and you just need to put your anger somewhere. We are the targets. Damn seriously, you are the problem. You should be happy that we deliver the information at all. No one here would even make the effort to figure it out.

Get your life fixed.

And after that, he pretty much continued in that mindset. So I banned him. He proceeded to contact other users to spread shit about me. IP-banned him, but he used proxies.

I eventually broke his account (garbling the password and removing the email so he can't ask for a new password). And then: http://nsmbhd.net/profile/1452-acilper/

And basically more smartassery from him.




Long story short, the NSMB hacking shit went to his head, and that kid needs to get off his high horse before we can even consider allowing him back.

I insist on that, too. If any other staff member allows him back until he has lost this attitude, I'm leaving the board.

With all the bullshit he got away with, it was more than time for him to pay. If you allow him back without him having understood why his behavior is bad, you might as well just give up on all the rules and unban all the banned users.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Pages: 12345 »