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: | 44 (jump to comments) |
Rating: |
Download
71.14 KiB | 1,940 downloads
Comments (44)
to
And line 700 should be changed from
to
For those interested, the problem was due to a potential garbage value was being stored in a couple spots due to the carry flag being in an unknown state prior to the ROR/ROL instructions.
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.
extra bits: 00 00 00 00 00 00 60 07 10 84 28 20
Has anyone got walking back and forth to work lately?
- Lunar Magic v3.33
- SA-1 Pack v1.40
- PIXI v1.40
- BSNES v115
Simple update, works as intended.You can use this sprite.
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.)
- 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).
OH
- 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.
- 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.
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.
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.
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.
• 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.
5 stars for you my good sir
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...