øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;u=14;area=showposts;start=705e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index88e2-3.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;u=14e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index88e2-3.html.zx×¼g^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ0P.ÔfOKtext/htmlISO-8859-1gzip0|ÖÔfÿÿÿÿÿÿÿÿTue, 10 Mar 2020 16:30:38 GMT0ó°° ®0®P®€§²ð®Ö¼g^ÿÿÿÿÿÿÿÿyDÔf Show Posts - Pinkpuff

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Pinkpuff

706
Looks like it works, thanks for the fix there.

No sweat; thanks for pointing it out!

Also I was curious to know if you planned on allowing us to edit the indexes, like the Status Indexes, Equip indexes,

You can... at least... you should be able to... I'll verify in a sec (and fix it if it's not working) but you should be able to hit tab while selecting an index to edit that index.
 :edit: Turns out there was a slight problem with the way it was encoding the flags, it should work now.

as well as allowing the break-bytes on normal weapons (since they do function appropriately) also do my recent findings have any place in the editor, or would it be best for those to remain separate?

You mean the properties like "stackable", "multiples in chests", "consumable", etc? Yeah I'd like to include those. Since you seem to be still actively researching it I'll probably remain focused on other things for now but at some point I will definitely go back and put flags for those into the weapon editor. Also, while those are most of the properties required to make something into an "arrow", there are still a couple missing: "can equip either hand" and "deals more damage in one hand than the other" (though that might just be a bow thing? still would be good to know)

I'm really interested in the research on two-handedness though, that would be the real holy grail for weapon properties! If it turns out that we can only change the range in terms of where it starts and can't actually change the total number of two-handed weapons then that would be kinda disappointing, but if we can change the range to include more weapons (or less) then that would be fantastic! And if it turns out to be settable by individual weapon, even better!

:edit: Oh very nice subtle update on having Equip Index 0 (which is really just 31) be an "Equip All" byte.

Yeah I actually thought I fixed that a while ago as well. Major deja-vu. You know what, the more I think about it, the more I think that after I took a bit of a break there for a while and came back to it, I might have mistakenly come back to work on a version of the file that wasn't actually the most up-to-date current one... oh well too late now,  I'll just have to re-squash the old bugs as they show themselves.

707
Yousei's old editor supports editing the world maps and its source is included:

So it does! Thanks! I'm not too familiar with C++ but I'm sure I'll be able to figure it out by the time I'm ready to work on that.

Ah, here's a suggestion of a feature that I thought was implemented along time ago. Can you allow us to edit the names of the characters?

You know what, I thought it was too! Hmm well that fix should be pretty trivial. I'll upload an update shortly.

 :edit: Ok, now you should be able to rename the actors.

708
I'm most interested in seeing the monster editors, myself. Those are something nothing does well at the moment. Copying and pasting maps from FF4 Tools can be a bit annoying, but I've got a decent setup for that now. No such luck for monsters, where I'm still doing everything in a hex editor.

Glad to hear it, as the map editor I spoke/speculated about will be a long time coming.

Also I too am looking forward to getting to work on the monster editing, but I still think I'm going to make the map properties editor first just to keep everything thematic and organized. So far, even though it may not be explicitly recognized, you may notice there are a couple of loose "groups" of editors within FF4kster:

"Magic" Group
  • Spells
  • Spell sets

"Inventory" Group
  • Weapons
  • Armors
  • Medicines
  • Tools
  • Shops

"Character" Group
  • Jobs
  • Characters
  • Commands
  • Actors

"Story" Group
  • Messages
  • Events
  • Triggers
  • NPCs
  • Map properties
  • Maps (hopefully)

"Battle" Group
  • Monster stats
  • Monster AIs
  • Battle formations (hopefully)
  • Battle events (hopefully)

Ideally I'd like to complete each group before moving to the next but given the amount of investment the map editor will take I'm certainly willing to jump ahead and insert that later. Map properties should be very straightforward though; at a quick glance they all just seem to be either numbers or references to things that already exist.

Overworld stuff would be cool, too.

If you mean the overworld triggers, that's definitely in the works and I will probably also do that before tackling monsters (in fact I may even do it next, before the map properties). If you mean editing the overworld map, I would love to be able to include that with the map editor when that happens, though there seems to be a lack of sources of information on the overworld map... I haven't seen any docs, and FF4Tools doesn't seem to allow editing it so I can't just reverse engineer it from the output like I hopefully can with regular "inner" maps...

709
PinkPuff, I'd suggest padding out character names out to six characters with blank spaces. It'll make the text preview a bit ugly, but it'll stop people from writing dialogue that gets cut off when someone renames a character to have a longer name.

Both have their advantages. What about if it were to look normal when you preview it from the main dialogue select menu, but padded while typing?

Everything is looking solid. I only have one suggestion and I'm not sure how difficult it would be to implement. Is it possible to have the message be edited from the very NPC option? I noticed you added the Sprite and NPC identifier in which makes identification unnecessary and in the process makes things so much easier to read.

Like say for Mist, there are a lot of Bank 2 message references. Granted all one would need to do is keep a mental record of which line it corresponds to and move on from there, but to cut down on time and accessibility, being able to edit it from there would help things move along at a steadier pace.

I thought of this during design but while it's technically possible to do I decided against it due to the potential awkwardness.

To illustrate, the Mist example you used, where the NPCs are not actually speaking messages in their parameter list, but just using those "show message x from bank 2" event calls, you may notice I don't even have a preview of the text there for those. The reason is that, with the message parameters, you know they're always messages, and you know what map they're from (since you know what map the NPC is from). With the event calls like the ones in Mist, at first you might be tempted to think, "well we know this block of events are all just a single line of 'show message x from bank 2' and we know what map the NPC is from, so we can just have any NPC with a trigger that calls one of those events to show it" but there are a couple of problems.

First, suppose you have an NPC's speech set up as follows:
* If Flag 1 on, call event "show message 1 from bank 2"
* If Flag 2 on, call event "show message 2 from bank 2"
* -- always --, call event "show message 3 from bank 2"
How would one expect a preview of all of those to look? At first you might say "well just have it preview one when you cursor over it in the event select component of the menu", but then the problem arises that nothing is stopping the user from going into the actual event editor and changing the event that used to simply consist of a single line "show message x from bank 2" into an entire plot scene, or something completely different altogether. Even though the game defaults to having that section of events devoted to simple bank 2 calls, nothing is forcing it to be that way, especially after using this editor.

So maybe we can just have it search each event when you highlight it for bank 2 references? This is possible but would likely be more time consuming at run-time than it's worth. Plus, what if one event has a whole bunch of bank 2 references? Do we preview all of them? If not, which? The first one?

So I think it's probably ok the way it is. I know it may be a bit of a pain to go back and forth between editors, but if you're doing small changes, then it should be easy to put up with, and if you're doing a large project then chances are you probably have your planned NPCs and dialogues and such already written out in another form anyway (or if not then it's a good idea to do, regardless).

But that's merely for later. I think for now you have nearly all text matters done (only thing missing are location names). As for Location Data there is still the Map Data (which JCE3000GT's Map Variables Editor can change) and that should be it as far as maps and events are concerned. I am curious to know what direction you plan from there? You've made a great tool so far and I am looking forward to the future of it!

Thanks! Glad to hear people are enjoying it and finding it useful. Positive feedback always helps motivate me to keep working on it!  :childish:

Yup, map properties are probably next, and actually I had planned to include the map names with that component (rather than with the dialogues and messages/alerts).

As far as maps and events are concerned there actually are a couple more things on the table. One is obviously overworld triggers. I had a look at the info here:

:edit: http://slickproductions.org/forum/index.php?topic=1769.0 This might be the thread you were looking for PinkPuff in regards to World Map Triggers.

... but as far as I can tell it will probably only be able to edit/create teleporters, not actual event calls. Unless the event call data for the overworld/underground is known and I missed it? Yup, I did *facepalm*. Yeah it shouldn't be any trouble.

Anyway, I would like to at some point also include editing the actual maps themselves, such as FF4Tools is capable of. The differences being that it would actually have a rom to edit rather than manually copying and pasting large chunks of hex code and pointers into the (hopefully) correct spots, it would be able to make maps larger than they were in the original (provided that other maps are made smaller or that there is room, but the point is that it would be able to look at the entire space set aside for maps rather than just the one you're editing), and it would (hopefully) be able to read the tile graphics from the rom you're editing in much the same way as it does with the font and window graphics so that if you change a tile or create your own custom tiles (or heck, why not an entire custom tileset) they will look correct in the editor instead of always using the default graphic tiles.

Try not to get too excited about that though, I'm a long way, and a lot of research away from being able to accomplish that; but I do know the basic gist of how to go about it, it's just a question of the details and how much of the relevant info is documented or I am otherwise able to be decipher.

More than likely, the next "group" of editors after the map/event group will be monsters. I know there's a lot of data documented about those and I think I can make editors for those fairly straightforwardly.

710
Ok, the message editor is now complete.

This update introduces a new input component -- a multi-line text message input box. This one has a visible cursor and the controls work more or less the way you would expect:

Arrows: Move cursor without changing text.
Home: Move cursor to beginning of the current line.
End: Move cursor to end of the current line of text.
Enter: Move cursor to beginning of next line (note that this does not insert an "end of line" character into the text; more on that to follow)
Backspace: Move the cursor one character back and delete that character (moves the rest of the text back).
Delete: Leave the cursor where it is and delete the current character (moves the rest of the text back).
Insert: Insert a special character or code. A separate menu will appear from which you can pick some common codes or a symbol.
Esc: Done editing / commit changes.

There are some special codes that the multiline text input recognizes and converts to the FF4-text equivalent:
  • Certain letter pairs: The text encoding always uses dual-character encoding whenever possible. Thus if you type "th" it will not result in a 't' followed by an 'h' in the rom but rather the single-byte code for the letter pair 'th'. This shouldn't affect your normal typing in any way; you can just type normal letters the way you expect them to appear and the editor will covert it automatically.

  • End of line: Even if you press enter to go down to the next line in the text input box, that will not create a new line character in the text encoding. To do this, use the slash character '/'.

  • Names: If you simply type out a name like "Cecil" or "Yang" then if the player changes that character's name, the dialogue will not be affected in your message. If you want to refer to a character's name, use "/name##" where the # symbols are replaced with the digits comprising the name index you're looking for (so for "Cecil" you would type "/name00" or for "Yang", "/name06"). In the "insert menu" you can select "Name" to bring up a list of names. Selecting one will also insert the code for that name into the text (though you can still type it out manually if you prefer).

  • Songs: There is a special character reserved in the text ecoding for causing the game to change to a different track of music when it displays the dialogue. To achieve this effect in the multiline text input, type "/song##" with the # symbols replaced with the digits for the index of the song you wish to play. As with names, the "insert menu" contains an option which will bring up a list of the songs in the game that you can choose one from and it will insert the appropriate code into the text for you.

  • Delay: You can cause the game to ignore user input for a certain amount of time to prevent them from prematurely advancing the text (you can see this effect in messages such as "Karate Man Yang joined!" or "Cecil became a Paladin!"). To insert wait time, type "/wait###", replacing the # symbols with a number representing the amount of time you wish to force the user to wait.

  • Unknown codes There are some characters that exist in the font but their use is currently unknown (Hex codes 0A to 20). In the unlikely event that you wish to type one of these characters, type "/chr##", replacing the # symbols with the decimal representation of the index of the symbol you want.

  • Slash: Since many of these codes use the slash symbol '/', if you need the text to have an actual slash character in there, this can be achieved by typing "/slash". So for example if you want your message to say "4/10" then you would type "4/slash10"

In addition, at all times a preview appears of the message you're editing, the way it will (hopefully) look when displayed in the game. This preview is constantly updated as you type.

711
Ok I fixed the problem with the underground NPCs being previewed as overworld ones. Re-download and let me know if there are still problems.

712
Aha, starting a new game did the trick! I'm also getting the messed up intro. Prior to this I had been loading a save file after the intro in order to save time; it never occurred to me that there might be something in the opening causing it.

This is most interesting... presumably something is likely wrong with the NPC placement saving routine. I have a couple of plausible hypotheses:
  • It could be that the list is being padded/bloated somehow and inadvertently bleeding into another data area  :edit: It's not
  • There are some "unknown" bits in the NPC placements that I might be writing incorrectly.  :edit: There was something wrong here but I fixed it and it still didn't fix the problem

Anyway I'll toy with it and let you know if I make any progress...

 :edit:
After comparing the unmodified rom with the load-immediately-save rom side by side in a hex editor, the only difference in the NPC placement area that I can tell is with the dark world placements. Even then, although the data is not in the same order as it was in the original rom, the pointers have been modified to compensate and are correct as far as I can tell (and logically shouldn't be relevant, as the intro takes place entirely in upper-world maps if I'm not mistaken, which come before the underworld maps). I'm going to try a few more experiments to see if I can narrow down the source of the behaviour.

 :edit:
Ok I found the problem; it wasn't with the placements at all. There's a matrix encoding the initial visibility of each individual NPC which was being written incorrectly. It appears to be working now. I made a fresh copy of the rom, loaded it in ff4kster, saved, started a new game, everything appeared as it should; elder, crystal, porom, yang, everything was as it should be. Anyway the fixed version is up on the timecave so feel free to redownload.

713
That's not a bad idea. Yeah I got over ambitious, it's likely best to just write down what I want to do in a broad aspect before committing to it with an in-progress editor. Ah yes, I was curious to know if Overworld triggers were going to be added eventually? They seem to be the one thing missing from this as of now, in terms of triggers.

I know some people were talking about that but I don't have a doc on it. If I can figure it out enough from the forum posts to be able to get it working then it's definitely something I'd like to include!

It honestly seems like everything is off by just a little bit, maybe only a byte or two. I have no idea what bearing that has. Exactly where is this data in ROM? I could hunt it down and see what the values should read.

I'm sure this doc is already here somewhere but I'll attach it for convenience anyway. It explains how to read the data, and lists it all.

I added a White Mage to Baron as Placement 12, and then went to Mist and saw that all of the NPC's were gone except for one and the shopkeepers were missing. Since I warped into Mist before Mist events this included Rydia and her mother not being there either. I can't recall the NPC number I set though, but I believe they only had one event attached to them. Then I deleted the Placement and many of the NPC's in Baron disappeared.

Ok, I added a new NPC placement (Placement 12) to Baron Town, it worked just fine. I then walked to Mist (didn't teleport) and the Mist events played out correctly. I then redirected the teleporter in Kaipo that would normally take you to the training room to instead take you to Mist. It worked fine, everyone was there and seemed to behave/speak correctly. I deleted the extra placement and everything still worked correctly. No one disappeared, and Mist was still unaffected.

Unfortunately I can't fix a bug if I can't reproduce it... perhaps someone else can try it and report what happens?

714
Bah, what a shame. It seemed it was my Rom. Which means all the work I had done is now rendered obsolete, since there's no way I can tell when the corruption started or what had caused it.

I had recalculated everyone's levels and stats as well as altered all equipment, but alas. Looks like I have to start fresh.

Sorry about that, but with an editor-in-development you gotta expect that kind of thing to happen from time to time. I'd try not to commit too heavily to anything until it's a little more stable. Actually what I've been doing is just sort of jotting down ideas for what I want to do with a hack that will show off all the capabilities of the editor once it's done, and then once it's "done" (a version number starting with 1 instead of 0) I'll start actually committing to making the hack. While the editor is in development I'll just be testing various corner cases here and there.

:edit: 2 Since it seems that we're getting into the nitty gritty of the game's system. I think I'll list a number of non-essential events that can be safely replaced which are not important to the story as well as sprites that bear little on the game. I will also list their Trigger number and location for touch events.

Thanks! This will definitely be useful for people wanting to add to the events.

Wait a second... I think the Underworld is screwed up. Everything seems off slightly. For instance... there is no Baron Dancer in Tomra's Inn or a host other oddities that seem to crop up in the Underworld triggers.

You're right, the underworld does appear to be messed up. What's even stranger is that the messed up data does seem to match what's in Phoenix's doc, and what's in the hex code in the rom!!
I have no idea what to do with this right now...  :sad:

:edit: 4 It does appear that there are some serious problems with adding and removing Placements. Adding is fine, except it seems it will take some Placements from other maps (I have no idea how that works or why it works like that) however even on a clean rom it will cause the issues I referred to in my previous post.

Do you mean guys disappearing, like the old man and the locked door? If so, that isn't happening for me. I deleted someone from Baron Town and it didn't affect anything else in Baron Town; I then loaded a save near Kaipo and it didn't affect anyone there either as far as I could tell. In addition I tried adding an NPC to Baron Town and, while the NPC I added failed to appear ( :edit: I tried adding a different NPC and it appeared correctly; probably the other one needed to be "activated"?), it did not seem to affect any other maps. What exactly did you change and what maps did it affect?

:edit: 5 Well this is probably obvious but it is news to me. The "objects" that are activated/deactivated according to events are actually the NPC number. If you go to Mist Events and Pg Dn to the end you'll see a Deactivate Object 200, which is deactivating Rydia's Dead Mother NPC which is NPC 200. That solves that mystery (for me at least).

Good catch, thanks! I'll update the config file and once I've created a config file for NPC labels I'll add it to the event editor.

715
Oh yes, one more suggestion. Could you input the name table for Sprite Numbers? Since the list we have is in Hex and the one you input was numerical it gets a little confusing telling which sprite is which without some calculation on part of the user.

I'm planning on creating a config file for naming the sprites, NPCs (though probably not the placements), and flags.

:edit: Yes, there appears to be something quite wrong here. I changed only the Placement 3 NPC's Message 0 to "Finding Odin before Land of Summon Monsters" and it was clear that things weren't quite right. The old man who talks about the Sword of the Dark Side vanished and the Lock on the Old Waterway was also gone. The Lock on the Waterway is the first Placement while the old man is the 4th placement. Trying to change it back causes another host of problems.

To see the problem for yourself I suggest changing the 3rd Placement's NPC Message 0 event to another event and see what occurs.

I did exactly what you suggested and it worked perfectly. I talked to the buddy and the screen flashed and Cecil was like "... your majesty?" and the event played out just like it should and no one disappeared.

Are you sure you're using a headered 1.1 rom?

716
I changed the Baron Dancer's second event to be caused by a Flag of 12 and to test that I input Flag 12 in the opening event, yet when I talk to her, regardless of event chosen, it goes to the Fat Chocobo box. Yet, when I moved the Dancer by 1 Y the event I put there (Behemoth Battle Formation, is Mad Ogre's for Overworld) seemed to work?

So, did this turn out to be related to the dancer/dress thing? Or does something similar happen with other NPCs as well?

:edit: Oh, how interesting. I was wondering why there appeared to be "incorrect" values and so many mentions of Tellah Joining at the Watery Cave, but now I see that's because it's loading an NPC, not an object that is Unique to that particular map, turns out I was looking at Tellah.

Good work deciphering that PinkPuff. Maybe that's what always confused me about NPC's, I never realized that it was in a different format, so to speak from other event matters.

I have to be perfectly honest... I have no idea what you mean here...

:edit: 3 Is this a preview of the Text Editor portion PinkPuff? If so it looks pretty good!

 :whoa: Ah I forgot to disable it! Oh well that's fine, I guess it'll serve as a little teaser for what's in store in the hopefully near future!
The previews seem to be mostly working (the combat ones aren't displaying things like name references correctly yet), so I need to fix up those a little, and then I'll be working on creating a component for entering multiline text such as the regular game dialogue on the map. It'll probably be similar to the existing "small" text input except with a visible, moveable cursor and a much larger box, and the ability to insert references to things such as character names or song-playing commands.

717
Pinkpuff smash bug!  :banonsmash:

Try it now. (Be sure to download from the timecave link for development updates, not RHDN)

Also you cannot access the Flag requirements being On or Off in this menu as far as I'm aware.

The flag menu should appear when you highlight an event call in their "speech" list. You should be able to tab into it (there should be three components you can tab between when editing speeches: the event list, the bank 2 message list, and the flag settings list).

718
Ok, the NPC editor is done, and as far as I can tell it is working. By all means, try it out and prove me wrong so I can fix it.

719
Hmm, I noticed that when you get to the Underworld Map trigger listings and onwards nearly each and every teleport marker is labeled incorrectly. Though I probably shouldn't say "incorrectly" but it only seems to be reading these maps as their Overworld varieties, for instance some of the first Underworld maps are Kokkol's Forge, but in the editor it is listed as Kaipo, which corresponds to it's Overworld location. Even setting on one of the Underworld maps will move it to its Overworld comparison.

Thanks! It never even occured to me to check that...  :isuck:
Anyway it should be fixed now if you re-download.

:edit: The treasure triggers seem to work fine. I haven't tried moving them but I recall hearing from another forum-goer that it won't work unless you set a treasure tile in that specific spot. Aside from the oddity in the Underground maps, the overworld maps have their teleport triggers working properly.

 :edit: 2 The Event triggers appear to work perfectly! But as above if you want to include new ones or replace a treasure chest with an event you will need to edit the tile it is on.

I mentioned something to that effect:

Changing its location will allow you to specify the X/Y coordinates of the tile that will launch the trigger. If you change this, be sure to update the corresponding map tiles accordingly (not possible with my editor currently but I'm pretty sure you can do that with Phoenix's FF4Tools), as only certain kinds of map tiles can launch certain kinds of triggers.

Very impressive work! Now all we need is a text editor and I think there will be all the tools necessary to potentially make an entirely new game!

Thanks! Actually I think Phoenix's editor allows changing text... so really all mine needs now is NPC editing and then between mine and Phoenix's we've got most of the plot-related stuff covered. Thus, I think I'll wait until I get NPC editing done before I upload this to RHDN.

That said, I think to really make an "entirely new game" I'd like to have some more editors done such as monsters and battle events, and at some point I will probably be implementing my own version of a dialogue editor and even a map editor if I can get the graphics read/displayed properly.

720
At long last I believe I have the trigger editor working. I have given it some very basic testing, so it is entirely possible that it is riddled with bugs but as far as I can tell, it appears to work correctly so far.

The trigger editor works as follows:

First, select a map. When you do so, you will be presented with a list of triggers associated with that map. In this menu you can press INSERT to create a new trigger or DELETE to delete one. The triggers are currently only named with "Trigger ##" so it may appear as though you're only adding/deleting from the end of the list but this is not the case, as it renumbers the triggers whenever the list is changed.

Once you select a trigger with ENTER, a new menu will appear allowing you to edit various aspects of the selected trigger.

Changing its location will allow you to specify the X/Y coordinates of the tile that will launch the trigger. If you change this, be sure to update the corresponding map tiles accordingly (not possible with my editor currently but I'm pretty sure you can do that with Phoenix's FF4Tools), as only certain kinds of map tiles can launch certain kinds of triggers.

Changing its type will allow you to change whether the trigger is considered a treasure, teleport, or event call.

Changing its parameters will allow you to change the particular details such as which treasure you get or where the teleport will send you. In the case of an event call, you can change which event call is launched, and once  you confirm you will be given an opportunity to change the details of that particular event call. The cursor will move to the list of events that are called by the event call and show you what conditions must be fulfilled to execute the currently highlighted event. You can add new events to the event call with INSERT and delete existing ones with DELETE. ENTER allows you to change the currently selected event to a different one. Use the TAB key to alternate between the event menu and the condition menu. In the condition menu, the controls are similar: INSERT to add a condition, DELETE to remove one, ENTER to change the details of the current condition. Conditions are automatically sorted by truth value, so if your condition jumps around after you change/insert it, that is why.

Please let me know if there are any problems. Happy hacking!