Language…
9 users online: Brian94, Golden Yoshi, Jordan, masl, Pink Gold Peach, Rykon-V73, Shiki_Makiro, synthie_cat, Zavok - Guests: 246 - Bots: 351
Users: 64,795 (2,377 active)
Latest user: mathew

NPCs v4.3

SMW Sprites → NPCs v4.3

Submission Details

Name: NPCs v4.3
Author: wye
Added:
Version History: View
Tool: PIXI
Type: Standard
Dynamic: No
Disassembly: No
Includes GFX: Yes
Description: This is a sprite that doesn't hurt the player and doesn't interact with any other sprites. It can stay still, walk around, or jump, and also display a message if the player presses a button while touching it.

It's compatible with SMW's regular message boxes (can use any message in any level and show up to two at once), the Message Box Expansion patch, and also the VWF Dialogues patch.

The movement, graphics and message behavior are highly customizable. All the options are in the extra bytes (of which it uses all 12). This means you only need to have one entry in your sprite list and can fully customize it as you place it in your level!

All the customization options are explained in HOW_TO_USE.html, so please refer to that. It also has a user-friendly configuration tool.

--------------------

Changelog (see changelog.txt for details):

- 2023-02-11: fixed some message handling conflicts when touching more than one NPC at a time
- 2022-01-24: added options for 16x16 and 32x32 sprites, improved solid sprite handling, added compatibility with the upcoming version of the VWF Dialogues patch, and added other minor options
- 2022-01-07: fixed some issues people have reported

 
Tags: customizable lorom message npc npcs pacifist sa-1 vwf vwf dialogues
Comments: 39 (jump to comments)
Rating:
5.0 (5 ratings)
No rating
Download 71.14 KiB | 1,638 downloads

Screenshots

View all

Comments (39)

MegaSonic1999 Link
YEAH BOIII !!! NPC rules Bruh !!!
 RPG Hacker Link
Ages ago, simon.caio informed me there's a problem when using NPCs v4.3 in conjunction with VWF Dialogues 1.3. More specifically, when attempting to use the new shared routines method I added (which requires using vwfsharedroutines.asm). I wasn't really able to look into it until just now.

To make a long story short: The problem here is that the vwfsharedroutines.asm file included with VWF Dialogues only supports Asar 1.90+, which isn't released yet. PIXI still uses the older Asar version 1.81. This of course means that NPCs v4.3 also uses Asar 1.81, but since the vwfsharedroutines.asm included with VWF Dialogues only supports Asar 1.90+ and NPCs v4.3 expects you to copy it over, there was no chance the thing could ever function properly. To work around this problem, I once wrote an Asar 1.81-compatible version of vwfsharedroutines.asm and gave it to WYE. It seemed to work. However, this version of the file was never made available to the public, it seems.

I'm not quite sure what happened there; maybe a case of miscommunication between us, or maybe just me forgetting some details of our conversation, but I think WYE expected me to include this file with VWF Dialogues 1.3, and I expected WYE to include the file with NPCs 4.3 (since my idea for the the file always was that it was meant to be copied into patches directly). Ultimately, neither of us included it and it ended up never being released. Whoopsie poopsie!

I'll include that version of the file with the next release of VWF Dialogues, whenever that'll happen, but to make sure nobody has to wait for that, I also uploaded it to my file bin:
https://bin.smwcentral.net/u/3394/vwfsharedroutines.asm
Just use this instead of the file included with VWF Dialogues 1.3.
mangort Link
When I make a walking sprite, they only move left. They otherwise seem to face and move properly, but never go back to the right.
mangort Link
Also it seems the default priority is 3. Would be cool to be able to modify this in the config tool if there's room.
mangort Link
Also they disappear when on 1F0s for some reason. Edit: NPCs that fall to the ground after spawning don't appear until they land, for me. SO on 1F0s they never land.
 MarioFanGamer Link
Moderated with:
  • Lunar Magic v3.33
  • SA-1 Pack v1.40
  • PIXI v1.40
  • BSNES v115
Simple update, works as intended.
Lotsaspaghetti From older version: NPCs v4.2 Link
Originally posted by realbchin
I have a small bug where it seems like the NPC hijacks my message boxes so it only plays what the NPC is supposed to say even if I hit a second message box in the alternate x-position. Do message boxes just not work with levels that contain an npc?

You can use this sprite.
realbchin From older version: NPCs v4.2 Link
I have a small bug where it seems like the NPC hijacks my message boxes so it only plays what the NPC is supposed to say even if I hit a second message box in the alternate x-position. Do message boxes just not work with levels that contain an npc?
LV64 From older version: NPCs v4.2 Link
Why when Mario is in another level with to a pipe, the npcs do not work? #smw{o_O?}
 Anorakun Link
I think the tool might be outdated, because when I try to use a 32x32 walking NPC, the graphics flip wrongly and it does not follow the behavior I set of walking a set distance. I tested it on lorom. I think either the code for 32x32 variant has some issues or must be the tool. I had to resort in reusing an old conversion that codfish made of the sprite.
wye Author Link
I'll look into it.
wye Author Link
I can't reproduce it, and I think the issue might be on your end: either you're using an older version of this sprite, or you've switched to a newer version while keeping the extra bytes of the older one.

Version 4.2 fixed a bug with graphics flipping for 32x32 sprites (so if you worked around it before, it will look wrong now), and it also changed the extra byte usage (so if you kept the extra bytes from before, they will behave wrongly now). You're going to have to swap the graphics around and re-place all the sprites in your levels with the new extra bytes. (See the changelog.)
Heitor Porfirio Link
Is this NPC sprite compatible with the Katrina's BG4 VWF Messages patch?
wye Author Link
Looks like level-specific messages work, yes.
 MarioFanGamer From older version: NPCs v4.2 Link
Moderated with:
  • Lunar Magic v3.31
  • SA-1 Pack v1.40
  • PIXI v1.32
  • BSNES v115
In addition to fixing a missing SA-1 conversion which has been mentioned below, I also fixed a bug where a solid NPC will teleport you to the right should one be next to a screen border and you're touching an NPC on the right side.

I did not moderate compatibility with Message Box Expansion nor VWF Dialogues. Nonetheless, it is a viable update to an already impressive sprite.

It should be noted that a fast walking speed results in solid NPCs clipping through the player, though at that speed, you shouldn't need a solid sprite anyway. In addition, a chasing 32x32 NPC will never stop at the player so it's better to not have all of these option enabled unless you extend the range for said size.
Within the HTML file, I'd recommend you to modify the message option because setting up a VWF message gets a bit difficult. Right now, you'd have to select an option to show a message before you can select a VWF message. With Message Box Expansion, you don't have to do this (granted, it installs its own message box hander but still) so no idea why you didn't do the same with VWF Dialogues.
By the way, they get affected by a silver P-Switch but that one is easy to fix (I didn't bother to fix that one because the user can easily fix it).
OwenCraft From older version: NPCs v4.2 Link
Great sprite, however I have an issue regarding the 32x32 NPC as it seems to glitch whenever it faces to the right:
wye Author From older version: NPCs v4.2 Link
I think I see the problem, and I hope it'll be fixed during moderation. You should be able to fix it on your end for now by going to line 758 in the ASM file and replacing $157C,x with !157C,x .
Bumpty From older version: NPCs v4.2 Link
Thank you very much for updating this Sprite, it's one of my favorites, and really easy to use! #smrpg{<3}
simon.caio From older version: NPCs v4.2 Link
perfect!! Very grateful for this sprite and the update (also collaborating for compatibility with teh new vwf dialogues patch), since it is an important part of my hack I am working on!! gg and thank you!
Apple Boy From older version: NPCs v4.2 Link
Originally posted by WhiteYoshiEgg
There are now!

OH
Apple Boy From older version: NPCs v4.2 Link
Will there ever be 32x32 NPCs?
wye Author From older version: NPCs v4.2 Link
There are now!
MeNe From older version: NPCs v4 Link
How do i fix mistake, yoshi always takes damage when trying to talk to an npc.
wye Author From older version: NPCs v4 Link
Future fixes and improvements:
- HOW_TO_USE.html doesn't let you change the GFX location when the sprite is set to be stationary
- the sprite always uses palette E, regardless of the palette setting, when talking to it or it is offscreen (possibly related to VWF dialogs?)
- find some user-friendly way to allow for dimensions other than 16x32
- NPCs hurt Yoshi

I don't currently have time to spend on this, but anyone is free to tackle these issues and submit an update.
solgaleo35 From older version: NPCs v4 Link
Is there a way to edit the dimensions of the sprite and the palette it uses? I’d like to make it slightly larger and give it a Yoshi palette. (I’m not sure the size exactly, I just know it’s larger than I previously stated, which was the dimensions of the sprite normally)
Skewer From older version: NPCs v4 Link
One of the issues with having a sprite be 100% customizable is also limitations how you can use the sprite, which is ironic. For one, you have to make sure all the graphics are square (32x32), there is no choice in this regard meaning you have to really plan out how to use it in levels if you plan on using Tileset Specific Sprites. Also I've run into some bugs:
- The tool will not always output what you want. I generated a stationary sprite, instead it gives me an erratic walking sprite. The remedy is either to reset the tool and hope it works correctly or actually learn the extra bits; the latter of which being the favorable option because then you have total control.
Speaking of, the tool isn't completely friendly; for one it won't allow you to set the tile map unless you actually decide for it to walk.
- Random Palette Changes; so it could just be me, but testing on a clean rom, I have noticed that once the sprite moves one pixel off screen, it will change its palette from F to E. Actually from any other palette to E. Don't really know the conditions, but this is my Bytes for anybody wanting to troubleshoot: "40 00 00 00 80 00 08 F7 08 04 50 20"

There might be other bugs, but so far this is all I've run into. Over all a well done sprite. A small nitpick, but I really do not like how the sprite bops "downwards" instead of upwards when it walks. Though I've been trained on how to walk level (no bopping), most people when they walk tend to move upwards a bit, not downwards. It's worse given if you have a graphics file that actually has the bopping in design, but the sprite moves it downwards one pixel anyway, making the sprite move eerily level or "still animated" which just looks very lazy and off to me.
Amomario123w From older version: NPCs v4 Link
Originally posted by WhiteYoshiEgg
In case the tool ever breaks, the extra bytes are explained at the very bottom of the npc.asm file.

I have read that but i don't understand very well EXTRABYTES and which numbers to put in the extension lunar magic if there wasn't any HOW TO USE html i would have no idea what to put.
solgaleo35 From older version: NPCs v4 Link
What? I was going to request (or create myself. I’d probably need to make new palettes and stuff anyway) some new GFX files, so I checked the GFX files for 4.0, and for some reason the ability to change the sprites was removed, and the GFX file now contains a copy of the Chargin’ Chuck graphics. What’s up with this?
wye Author From older version: NPCs v4 Link
The graphics file only contains Toad's graphics; otherwise, it keeps the layout of SMW's graphics files, which is less invasive.
You can change the graphics and add more graphics whenever you want. You can use HOW_TO_USE.html to select which of the graphics the sprite uses.
Amomario123w From older version: NPCs v4 Link
it is super user friendly with the how to use.html so perfect than any sprite that i had dowloaded even than some bosses. in anyway I will try to study about how to use it without the user firendly "HOW TO USE" to release one .txt archive to explain to anyone that don't know very well what the extra bytes are and if this html someday would shut down. because this sprite is so amazing that i don't want that anyone lose the chance to use this master piece.
wye Author From older version: NPCs v4 Link
In case the tool ever breaks, the extra bytes are explained at the very bottom of the npc.asm file.
HodgerMccodger From older version: NPCs v4 Link
This is really great. I was hoping to use different NPC sprites in the same level. Is there an easy way of changing the tilemap the Sprite uses, or alternatively what would I have to alter on the ASM file? Thank you.
WaffleLord From older version: NPCs v4 Link
There seems to be a problem. If Mario was on Yoshi and you want to talk to the NPC, Yoshi would take a hit and run away from Mario.
Thanos From older version: NPCs v4 Link
I found a small bug.

If you use any palette the sprite always changes to palette E temporarily while showing messages, and just return to your normal palette when the message ends.

But this only occurs when using VWF Dialogues.
JamesD28 From older version: NPCs v4 Link
Tested with:

• Lunar Magic 3.21
• SA-1 Pack v1.32
• PIXI v1.32
• Snes9x v1.60
• bsnes plus v05

Also tested with:

• Message Box Expansion
• VWF Dialogues Patch v1.2 (LoROM only)
• Asar v1.71

A marvelous sprite! The NPCs have been long overdue an overhaul, and this is the one. The ability to have any combination of behaviours per sprite makes them very flexible, and the inclusion of a tool to handle the extra byte settings makes them very easy to set up. It's also much nicer not having to modify or check the X position or palette(!) to determine the messages displayed. I can definitely see this sprite's usage becoming more common now the insertion process is far more user-friendly.

Unfortunately I was not able to test it with VWF Dialogues on SA-1, as the two patches have been incompatible since SA-1 v1.31.

There were a few minor bugs, which I went ahead and fixed:
- The message sound would not play regardless of the setting if the Message Box Expansion or VWF Dialogues were installed.
- The "give once" setting did not work for powerup option 2. The !PowerupGivenFlag was set to 2, which got ANDed with #$01, tricking the code into believing it was never set. As a hacky fix, I just set the !PowerupGivenFlag to #$01 for all 3 powerup types when the "give once" setting is set.
- The Flower and Feather were swapped for the "give powerup" setting. I was inclined to believe the error was actually swapped text in the tool rather than swapped values in the .asm (since Mushroom/Feather/Flower is the order in SMW), so I fixed this for the HTML rather than the .asm.

I also converted the .cfg to .json and added LM graphic display icons for the extra bit clear/set, as well as putting them in a .json list. The .cfg is included too if users wish to use that.
ninj From older version: NPCs v4 Link
This sprite is the best npc sprite I have ever seen!

5 stars for you my good sir
Apple Boy From older version: NPCs v4 Link
This is great! Mods, please accept this fella!
simon.caio From older version: NPCs v4 Link
YEESSSS!
Waiting long time for something like this!
Thank you very much!!!
sometimes it seems that the values from the tool aren't correct or not updated when copied in LMs extention field...
TheOrangeToad From older version: NPCs v4 Link
This is going to be very useful.