15 users online:  Anorakun, Dark Prince, GangsterJerby, Hayashi Neru,  Lazy, LiamBLOL, Moronsky,  Nanako,  patcdr, pixelninetales, PlainOleTrey, RollingRigatonis, smthngwickd, Sxlvxr, TR618 - Guests: 93 - Bots: 207
Users: 66,464 (2,358 active)
Latest user: Sxlvxr

[newest leftovers: all my (dead?) hack code] meatloaf's dumpster


Hello, I plan to dump a variety of resources I write here, that I don't really feel deserve their own thread so much. I'll update this post as I make more stuff somewhat fit for public release.

If you've issues with a resource, the best way to contact me is via email, which you can find in my profile page.

Newest thing: a source dump of my hack code post, github
Newest thing: Better (I hope) enemy stacks. Get them here.
How are these better?
* They support sprites with up to 4 extra bytes.
* For lorom chads, they should be more efficient
* They use satanic macros to define the stack lists
* They work properly (entirely even, I think) with platforms with only minor modifications to the original game's code (and the sprite will apply the needed change on its own)
Check the readme for more information. They're still slightly work-in-progress but most major issues should be ironed out already, I hope.

* 9/11/2022: fixed a bug relating to spawning sprites with the extra bit set lower in the stack.

Example gif:

On the left, vanilla football + horiz turn block bridge.
On the right, the Chuck has an extra byte to control its behavior, vanilla sprite C4, and then Sonniku's custom volcano lotuses.
Newest goodies that the restaurant tossed out back (it was expired): my sprite status bar, cleaned up and now finally usable. Get it here. Here's a couple of small examples:

How do you know its sprites based on these? you don't I guess, just trust me #ab{:)} (heres an oam view)

The idea is that this is (hopefully) a little easier to customize than something like the NSMB status bar (once you get used to its uh, 'intricacies'). I wrote it mostly for my own purposes but I feel like there's not really enough great options out there for a proper sprite status bar, so here it is.
Hiya, just tried the patch. Had no joy. Is it SA-1 compatible? If so is there anything else I need to do beyond patching Status.asm?
Originally posted by RichardDS90
Hiya, just tried the patch. Had no joy. Is it SA-1 compatible? If so is there anything else I need to do beyond patching Status.asm?

It should be; patching status.asm should be all that is required. Did you get any error messages from asar, or did the patch simply cause your ROM to crash or something?
Note that on SA1, the patch will not touch IRQ at all, you need to use an alternate implementation to disable IRQ (such as Kevin's).
I wrote a small script to automatically generate lunar magic's custom collection of sprites menu from a set of JSON files. Get it here.

The main impetus for this is that the only other publicly available method that isn't writing them by hand is PIXI's CFG editor, which is complete dogshit for this. This involves some manual setup (of tile arrangements and of your sprite map16 file) and has no GUI, but it also actually works in a sane way.
I made wiggler a little easier on the cpu. get the patch here.
It allows for having > 4 (actually 3, originally) wigglers at a time (4 by default, but you must pick new freerams if you want more than that), rewrites the graphics routine, and saves ~800 cycles per wiggler by treating the segment buffer(s) as rings instead of doing a big, icky data copy.
It breaks on load time with the original sprite header, see the readme for details. Main advantage is you don't need to use it at all if you use NMSTL or similar.
Hopefully it doesn't break anything, it changes quite a bit of code.

Here are a couple comparison screenshots on lorom with a cpu meter (the higher the star is, the better)
I made a very minor patch that allows using overworld ram ($0DDF through $0EF4) during levels without breaking overworld sprites. Get it here.
Only cursory testing was done, but works fine so far, there's not much to it really.
This could likely also be accomplished with a gamemode 0c init uberasm that jml's to $04F675 but i dont use uberasm so i wrote this patch instead.
I uploaded my hack assets after finally cleaning up my git repository:
Do whatever you like with it if you find any of the code useful. It's quite messy, but I don't have much time these days to work on it, I figured I'd at least make it available so the time I spent could at least have the potential to be useful. I changed a lot of original code and have a large majority of a custom sprite system finished with some minor bugs to iron out.