News:

11 March 2016 - Forum Rules

Main Menu

Secret of Mana, Turbo - Beta 210915

Started by Queue, January 31, 2019, 06:45:12 PM

Previous topic - Next topic

hmsong

Thanks for letting me use the Thunder Saber and Poison Flower.

Oh, so 0x0C is the Mandala shop?  So the problem will be solved if I changed that?  Also, what's the value for other shops?  How do I find out?

Oh my.  I didn't know the existence of Mop's somedit.  Or maybe you already told me, but it didn't work for me in my pre-reformat computer.  In any case, I shall play around with it to see what it's capable of.  What's the most recent version of that?  I looked at the file, and it's dated 2014.  I don't know if there's a newer version, but I can't seem to find it.

Queue

Shop data is in bank 0xD8, here's a quick copy and paste from someone else that probably shows which shop is which number:
[PointerTable_ShopData]
D8/FC32: 52FC                             ;[00: ShopData_Potos]
D8/FC34: 58FC                             ;[01: ShopData_Nekos]
D8/FC36: 64FC                             ;[02: ShopData_Pandora_01]
D8/FC38: 6BFC                             ;[03: ShopData_Kippo]
D8/FC3A: 73FC                             ;[04: ShopData_DwarfVillage]
D8/FC3C: 7FFC                             ;[05: ShopData_Pandora_02]
D8/FC3E: 89FC                             ;[06: ShopData_MoogleNeko]
D8/FC40: 95FC                             ;[07: ShopData_Matango]
D8/FC42: 9FFC                             ;[08: ShopData_Kakkara]
D8/FC44: A9FC                             ;[09: ShopData_TodoVillage]
D8/FC46: B3FC                             ;[0A: ShopData_Southtown]
D8/FC48: C1FC                             ;[0B: ShopData_Northtown]
D8/FC4A: CEFC                             ;[0C: ShopData_Mandala]
D8/FC4C: D7FC                             ;[0D: ShopData_GoldIsle]
D8/FC4E: E3FC                             ;[0E: ShopData_Tasnica]
D8/FC50: F0FC                             ;[0F: ShopData_TreePalaceNeko]


You found the most recent version, they stopped working on it. Mop's modern project has been the Secret of Mana Randomizer.

hmsong

Hmm.

It worked (for mountain Neko, at least), but... it doesn't seem to work for Reloc.  Meaning, there's a separate code editing that I need to do for Reloc version.  I'm guessing it's different Event number (so I need to trace that event number, and change the shopping code there).

Do you have documents that compiles all the codes for Relocalized? (similar to "Disasm - Enker, Regrs, zhaDe.zip" thing)  That would help out immensely.

Oh man, RHDN is rather anal about the hacks.  I need to have at least one screenshot, and the initial document is picky about the words I use (ex: I can't use "I", "my", "me", etc).  What a pain.

Queue

There are no equivalent documents for Relocalized or VWF. The event number itself will be the same in Relocalized, but it's in a completely different place in the ROM. VWF and Relocalized put their events in banks 0xE1 and 0xE2. Their event pointer table is located at $E06000, but the addresses there are 24-bit, so 3 bytes each. The VWF pointer table is also lightly encoded.

How I generally locate events is to look them up in the vanilla ROM, and then find a small byte pattern in the vanilla event to then search for in the VWF / Relocalized ROM. In the Turbo ZPS, anywhere that I left a 'sig comment is a byte signature to find an event in Relocalized's data.

For example, to find event 0x318 in VWF / Relocalized's data, I'd search for "30 FA 0C 50" because those are the first 4 bytes of the vanilla event 0x318 and are unique to event 0x318. Text in an event is unreliable due to script changes in Relocalized, and unusable in VWF due to its text encoding, so you want to pick non-text event data to search for.

StarWyvern

 Thank you for the beta!  ;D I really hope I get some free time later to try it out. Maybe while the rest of my household is using the PC... STUPID COVID!  :banghead: BTW is this compatible with the randomizer you linked?
Insert "Witty Text" here.

nosynose

Quote from: Queue on April 06, 2020, 12:53:56 AM
Unfortunately very difficult. The patcher isn't my creation, and I don't have the source code to it. The ZPS patch format, especially Turbo's use of it, relies on lots of very specific behaviors, so rewriting the ZPS patcher in another language would require extensive effort to match the behavior of the existing one.

While I'm not a big fan of .NET, I still found the capabilities of the ZPS patch format compelling enough to use in spite of its patcher being .NET and obscure. The only patcher option for it is tough to use outside of Windows.


Ah, I see your points. It's unfortunate, though. But thank you for the explanation.

hmsong

#1286
Okay.  I was able to get the mountain Neko to sell the other shop contents without changing the script (even Reloc).  So thank you.

But I can't even find the script for the Ice Country Neko.  Not even for vanilla.  I remember you telling me that modifying his shop content (while keeping the script) is a bit more difficult.  Could you go over that please?

Specifically, I'm looking at CA/8962 and on, but I don't know what's what (much less know what to modify).

Queue

#1287
Version 2020-04-08:
https://filebin.net/7spaiz2xfys6b2i1/SoM_Turbo.200408.zip
https://ufile.io/o01kij4z

Changes:
- Updated hmsong's Enemy_Stat_Changes to v0.4
- Finished first complete version of Enhanced_World_Map; the flat world map is now dynamic
- Forgot to remove the (Preview) label from Enhanced_World_Map, whoops

Technical Changes:
- Added aliases for ADR.BANK, ADR.HIGH and ADR.LOW as ADR.BK, ADR.HI and ADR.LO, respectively, and replaced all prior uses of the longer versions




StarWyvwern, unfortunately, this Turbo project and the Randomizer are not compatible; both are huge projects that drastically change the ROM in incompatible ways.

There's probably a small subset of Turbo features that could be applied to a Randomizer patched ROM, but that would be an ill-advised pursuit.




hmsong, when you say "without changing the script" you mean without altering any of the text, I assume? Just wanted to verify that's what you meant.

$CA8962 is the correct address for event 0x65F. Unfortunately, that event is organized subtly differently from 0x318 making it harder to do what you want. The timing for gold display opening and closing, moving the players around, etc. is organized differently. I'll deconstruct it here:
@OFF $CA8962
'RAW 06032D08
\event \lock \gather \camera_center
'RAW 50
\event \text_open
'RAW A8 9F A5 A9 C5AA 9592929292C0808994C29380838F8C84C87F
TEXT ^N ^E ^K ^O : ^P u r r r r , _ i t ` s _ c o l d ! \n
'RAW 80AD 81968580998F95928087818D85CA80A9 92CA
TEXT _ ^S a v e _ y o u r _ g a m e ? _ ^O r ?
'RAW 2800
\event \wait_input
'RAW 7F
TEXT \n
'RAW 5903
\event \multispace= 03
'RAW CB
TEXT (
'RAW 58
\event \text_opt_start
'RAW 5A05
\event \text_opt_define= 05
'RAW AD 819685
TEXT ^S a v e
'RAW 5A0C
\event \text_opt_define= 0C
'RAW 9C 9599
TEXT ^B u y
'RAW 5A12
\event \text_opt_define= 12
'RAW AD 858C8C80CC
TEXT ^S e l l _ )
'RAW 5B
\event \text_opt_end==
'RAW 1000
\event \goto 000
'RAW 1050
\event \goto 050
'RAW 1308
\event \goto 308
'RAW 1315
\event \goto 315
'RAW 00
\event \end

Event 0x308 is where the shop number is set, but that event is also used by the Todo shopkeeper, so changing event 0x308 wouldn't be a good approach. The ideal probably would be to reorganize this event (0x65F) so that it sets event flag 0xFA, and calls event 0x312 instead of 0x308, so that this event has direct control over the shop number. There are lots of possible solutions, and no absolute "correct" way to do it.

hmsong

#1288
Wow, modifying that Ice Country shop was complicated.  Holy crap.  Lots of trial and error (and half the time, I didn't even know what I was doing).

But I got it.  I think.  I hope I didn't screw up anything.  Could you check if I screwed up somewhere?


'[Event 318 - Mountain Neko]
@OFF $C9CD58
\event \flag== FA 01 ' Initial Neko Shop

'[Event 65F - Ice Country Neko]
@OFF $CA8962
'\event \lock \gather \camera_center
'\event \text_open
'TEXT ^N ^E ^K ^O : ^P u r r r r , _ i t ` s _ c o l d ! \n
'TEXT _ ^S a v e _ y o u r _ g a m e ? _ ^O r ?
'\event \wait_input
'TEXT \n
\event \flag== FA 01 ' Initial Neko Shop
\event \lock \gather \camera_center
\event \text_open
TEXT ^N ^E ^K ^O : ^P u r r r r , _ i t ` s _ c o l d ! \n
TEXT _ ^S a v e _ y o u r _ g a m e ? _ ^O r \n
@OFF $CA89B2 ' Ice Country Neko Shop Pointer
\event \goto 312 ' Call Shop List

IF [Text]
IF Relocalized
'[Event 318 - Mountain Neko]
@OFF $E20AB8
\event \flag== FA 01 ' Initial Neko Shop

'[Event 65F - Ice Country Neko]
@OFF $E2E2A6
'\event \lock \gather \camera_center
'\event \text_open
'TEXT ^N e k o : ^P u r r r r , _ i t ` s _ c o l d ! \n
'TEXT _ ^S a v e _ y o u r _ g a m e ? _ ^O r ?
'\event \wait_input
'TEXT \n
\event \flag== FA 01 ' Initial Neko Shop
\event \lock \gather \camera_center
\event \text_open
TEXT ^N e k o : ^P u r r r r , _ i t ` s _ c o l d ! \n
TEXT _ ^S a v e _ y o u r _ g a m e ? _ ^O r \n
@OFF $E2E2FB ' Ice Country Neko Shop Pointer
\event \goto 312 ' Call Shop List
ENDIF x2


The problem was, I needed some space to call the shop, and I wasn't sure which codes I can get rid of (I feared I would have to change the Neko text).  Also, I couldn't find anything for VWF, so I'm guessing it uses vanilla.

I hope it doesn't screw around with [Ice_Country_Neko_Landing] or any other patches...

If everything checks out, could you upload this into your package?  I'll think of the description and post it soon.  Call it... "Some Neko Shop Changes"?  Maybe you can think of a better name, since I suck at naming things.

EDIT:  Do you think it would be a better idea for Mountain Neko to sell Tasnica items, instead of initial Neko items?  That way, players would have early access of Tasnica shop (without having to clear all the element dungeons, although for double price).  But of course, that also means Neko won't be selling the Barrel (only the initial and final Neko sells Barrel, as far as I know).  And the only item unique to Tasnica is Gold Bracelet (for vanilla), which is weaker than the items sold in Gold Isle.

EDIT2:  Oh crap.  I forgot to not capitalize the Neko name for Relocalized.  Fixed.  Also, must I put "\flag== FA 01" in the beginning, before dialog box opens, or can I put it anywhere before the "Buy" button?  If I can put it anywhere, then I can just put it after the Neko talk (hence not messing with his dialog).

Queue

Once it appears that this patch is finalized (like, stuff works as intended, has necessary compatibility fixups, etc.), yes, I'd be happy to include it.

Okay, so first off, VWF needs its own fixup: it doesn't use any vanilla events. Just like Relocalized, its events are in banks 0xE1 and 0xE2 (or rather, Relocalized is just like VWF). You can search for "10 00 10 50" to find event 65F in VWF's event data. VWF's text is encoded gibberish, but you'll be able to find 28 00 7F, so can just assume whatever byte comes before it is the question mark.

As to your solution, probably that'll work, replacing:
\event   ? \wait_input \n
with:
\event   \n \flag== FA 01
I'll need to go try it to see it in action; obviously the result is no more pause after Neko asks "Or?" and no more question mark.

Nothing to worry about with Ice_Country_Neko_Landing; it doesn't modify events. I don't recall anything else touching event 65F for that matter. I've been pretty good about labeling events, so you can usually search the Turbo ZPS for "Event ###" and if there's no match, you're probably the first one modifying it. Kethinov's probably the only one who would, and I don't recall him having altered this one.

I think a feature name that includes the word "copycat" would be a fun way to name this patch. Something like "Neko Not a Copycat" or "Neko No Longer Copycats". Hm, I can't find a phrase that I totally like.

Re: EDIT: Tasnica sounds like a more interesting choice to me, but I imagine I'd have to playtest it to really get a feel for the result. Nobody uses Barrels, so no big loss there, and the Tasnica shop has high potential to be missed, so this gives it a second shot at being used. Just having Neko not repeat a shop that's 3 screens away seems like a good result though, so practically any shop would be an improvement.

Re: EDIT2: You can put \event \flag== FA 01 anywhere before \event \text_opt_end== (because it has to come before \event \goto 312 (buy) and \event \goto 315 (sell), and to not break the selection menu, that means before \event \text_opt_end==). So yes, you could put it directly in place of \event ? \wait_input.

hmsong

#1290
Okay, all tested and done.  Works great.  Thanks.

Copycat is a great name.  How is "Neko_is_not_a_Copycat"?  I was also thinking, "Neko's Better Business-Sense".  If you can think of a better name, feel free to use that instead.

Description:
Quote"(Patch)\n
Author: hmsong\n
Version: 0.0\n
\n
In the original game, some of the Neko shops sold items that really weren't benefitial, because the town shops (only few screens away) sold the exact same things for half the price.  In short, those Neko shops were completely meaningless (except for the extremely rare situations).\n
\n
This hack changes those shop contents, so that they'd be more useful (maybe):\n
\n
- Ice Country Neko --> Initial Neko shop (sells all consumables, such as Royal Jam and Barrel)\n
- Mountain Neko --> Tasnica shop (early access to Tasnica shop, although for double the price)\n


'[Event 318 - Mountain Neko]
@OFF $C9CD58
\event \flag== FA 0E ' Tasnica Shop

'[Event 65F - Ice Country Neko]
@OFF $CA8992
'TEXT ?
'\event \wait_input
'TEXT \n
TEXT \n
\event \flag== FA 01 ' Initial Neko Shop
@OFF $CA89B2 ' Ice Country Neko Shop Pointer
\event \goto 312 ' Call Shop List

IF [Text]
IF VWF_Edition
'[Event 318 - Mountain Neko]
@OFF $E20A4F
\event \flag== FA 0E ' Tasnica Shop

'[Event 65F - Ice Country Neko]
@OFF $E2E205
TEXT \n
\event \flag== FA 01 ' Initial Neko Shop
@OFF $E2E22A ' Ice Country Neko Shop Pointer
\event \goto 312 ' Call Shop List
ENDIF x2

IF [Text]
IF Relocalized
'[Event 318 - Mountain Neko]
@OFF $E20AB8
\event \flag== FA 0E ' Tasnica Shop

'[Event 65F - Ice Country Neko]
@OFF $E2E2D6
'TEXT ?
'\event \wait_input
'TEXT \n
TEXT \n
\event \flag== FA 01 ' Initial Neko Shop
@OFF $E2E2FB ' Ice Country Neko Shop Pointer
\event \goto 312 ' Call Shop List
ENDIF x2


I'm probably gonna need those FILE <VWF> and FILE <Reloc> thing, since if both VWF and Reloc are enabled, VWF codes may overwrite some critical stuff from Reloc.  I'll leave that part to you, since I don't know which section this patch will go under.  Thanks.

And while I'm at it, do you think I should replace those temp Nekos shops in Gaia Cave and Haunted Forest with the initial Neko shop? (to not copy Dwarf shop that's nearby)  It shouldn't be a problem, probably.

Btw, I've been trying to use somedit (mostly map), but I don't know which map number is which.  Is there a way to find that out the map number by looking at the 0x08 bank document?

StarWyvern

Quote from: Queue on April 08, 2020, 06:18:53 PM
Version 2020-04-08:
https://ufile.io/o01kij4z

Changes:
- Updated hmsong's Enemy_Stat_Changes to v0.4
- Finished first complete version of Enhanced_World_Map; the flat world map is now dynamic
- Forgot to remove the (Preview) label from Enhanced_World_Map, whoops

Technical Changes:
- Added aliases for ADR.BANK, ADR.HIGH and ADR.LOW as ADR.BK, ADR.HI and ADR.LO, respectively, and replaced all prior uses of the longer versions




StarWyvwern, unfortunately, this Turbo project and the Randomizer are not compatible; both are huge projects that drastically change the ROM in incompatible ways.

There's probably a small subset of Turbo features that could be applied to a Randomizer patched ROM, but that would be an ill-advised pursuit.




hmsong, when you say "without changing the script" you mean without altering any of the text, I assume? Just wanted to verify that's what you meant.

$CA8962 is the correct address for event 0x65F. Unfortunately, that event is organized subtly differently from 0x318 making it harder to do what you want. The timing for gold display opening and closing, moving the players around, etc. is organized differently. I'll deconstruct it here:
@OFF $CA8962
'RAW 06032D08
\event \lock \gather \camera_center
'RAW 50
\event \text_open
'RAW A8 9F A5 A9 C5AA 9592929292C0808994C29380838F8C84C87F
TEXT ^N ^E ^K ^O : ^P u r r r r , _ i t ` s _ c o l d ! \n
'RAW 80AD 81968580998F95928087818D85CA80A9 92CA
TEXT _ ^S a v e _ y o u r _ g a m e ? _ ^O r ?
'RAW 2800
\event \wait_input
'RAW 7F
TEXT \n
'RAW 5903
\event \multispace= 03
'RAW CB
TEXT (
'RAW 58
\event \text_opt_start
'RAW 5A05
\event \text_opt_define= 05
'RAW AD 819685
TEXT ^S a v e
'RAW 5A0C
\event \text_opt_define= 0C
'RAW 9C 9599
TEXT ^B u y
'RAW 5A12
\event \text_opt_define= 12
'RAW AD 858C8C80CC
TEXT ^S e l l _ )
'RAW 5B
\event \text_opt_end==
'RAW 1000
\event \goto 000
'RAW 1050
\event \goto 050
'RAW 1308
\event \goto 308
'RAW 1315
\event \goto 315
'RAW 00
\event \end

Event 0x308 is where the shop number is set, but that event is also used by the Todo shopkeeper, so changing event 0x308 wouldn't be a good approach. The ideal probably would be to reorganize this event (0x65F) so that it sets event flag 0xFA, and calls event 0x312 instead of 0x308, so that this event has direct control over the shop number. There are lots of possible solutions, and no absolute "correct" way to do it.
Damn.  :( It would've been great to make a version of this hack that changes everytime I restart it. Maybe in the future...
Insert "Witty Text" here.

reconstructingmana

#1292
Hi, Queue.  I received your message; thank you for getting in touch.

I'm happy to contribute.  Some things to know:

1)The retranslations were done on a spreadsheet on my hard drive that were then transferred to a different spreadsheet that zhaDe added tags to and somehow imported into the ROM.  I will have to locate the former; it has been some years.
2)Google Translate has changed their algorithm since the work was done.  Instead of translating word by word, they give a dynamic translation taking all the text into account.  Ironically, this makes finding deeper meaning in the text more difficult.  I can get around this by treading carefully and using other tools, but it will take a bit longer.  There are also some phrases that can not be translated, and hidden nuances that only a native speaker would know.  Here's a good example:

QuoteMy translation: The Empire has been trying to spy here.  Just in case, we can't let anyone through.  Try back again later.

Fluent speaker's translation: We've obtained information that the empire is attempting [or "planning"...] to send a spy [or spies].

Just to be safe, we cannot allow anyone to pass through here for now. I'm sorry, but please leave.

As you can see, my translation is perfectly fine, but the fluent speaker's has a lot more detail.

3)I would likely want to rewrite what I did and take more time to make it better.  I have searched in vain for a script dump of the 2018 version to compare it to, but have not been successful.  We could really put together something nice if we can find one.

Let me know which step you'd like me to take next.

budtzcbs@gmail.com

Thx for this wonderful hack

Is there a way to upgrade to a new version without going through the entire thing and selecting and deselecting stuff all over again?

Could you provide some insigt into the backgound of the balance changes: monsters, spell overhaul ect. For instance the balance changes where monsters grant more exp in start of game. Hp changes. weaknes changes ect.


thx again

hmsong

#1294
@budtzcbs@gmail.com

Hmm.  The patch should already provide enough explanations (each with their own explanations).  If you select the options you want, it will have a brief description of what the patch does (and sometimes, why it was created).  I'm not sure what you mean by "balance changes", since that can mean many different things.

Assuming it's one of the Enemy Behavior/Stat/Element changes (my creations), I created them because I wanted enemies to use their attacks a bit more smartly.  For example, I wanted Turtlance (water type) to use Ice Saber on himself, so that he can get the extra DEF boost.  I also didn't want enemies to do something stupid, like Wolf Lord casting Cure Water on himself when he's at full health.  I also wanted enemies to have more varieties.  For example, the original game severely lacked Fire, Moon, or Light enemies, so I changed things to balance things out.

As for Spell Balance Overhaul, I wanted the spells to be as powerful as their MP cost (unless the spell had a special effect).  In vanilla (aka original game), some 4MP spells were only as powerful as 2MP spells of different element (ex: Thunder or Exploder were only as strong as Freeze or Dark Force).  Hell, Primm's Lucent Beam was 8MP, and it was only as powerful as Freeze (2MP).  It was ridiculous.

As for Enemy Reward Changes (this is a part of Enemy Stat Changes that I released on .NET), I changed things so that you would get extra experience in the beginning quarter of the game, based on how much exp is necessary to match the level of enemies that you're fighting (in vanilla, you'd have to grind for experience significantly more from Witch's castle and on).  However, that hack made it so that the extra exp you get from enemies becomes less and less as you progress the game, and by the time you get to Northtown Ruins, you'd get no extra exp from the enemies, and the grinding values will match the values of what was in vanilla.

LightBaneX

Hello! Really like this mod. I have been playing around with it a bit today. I really love the removal of the stamina bar. And the inclusion of the blocking mechanic. It made the first boss pretty interesting! I also love the easily configurable zps patcher it uses.

One question, is it possible in this mod to change how long stuns last on enemies when you slap them around with your weapon? I noticed I can just walk up to an enemy and stunlock them by spamming attack and they can never hurt me. I see Quick Recovery under the Combat category in the zps patcher, but I am looking for something that is just for the enemies, quick recovery seems to be primarily for players. Maybe it's just these beginning enemies. But all the enemies so far are just pushovers you can stunlock. Or maybe add a few seconds of stun immunity after they recover from one so they can fight back a little bit.

Anyways fantastic work here! I am having a really fun time, thanks for doing this and sharing it with the community! I can't wait to get undine and try out the quickspell feature. I am also going to try and see if I can get my friend to play this with me  :laugh:

kethinov

Quote from: Queue on April 09, 2020, 06:33:30 AM
Nothing to worry about with Ice_Country_Neko_Landing; it doesn't modify events. I don't recall anything else touching event 65F for that matter. I've been pretty good about labeling events, so you can usually search the Turbo ZPS for "Event ###" and if there's no match, you're probably the first one modifying it. Kethinov's probably the only one who would, and I don't recall him having altered this one.

I have a hack in progress that modifies the text of that event, but does not change its length. It only modifies the "Purrrr, it's cold" line in a byte-neutral way and changes nothing else about the event.

StarWyvern

 Cannot download latest update. Page keeps giving me the same message. "Your IP address does not match the download token. Click download to generate a new one." Just keeps looping to the same message. Sites who pull shady crap like that should be burned. Advertising free file storage but not allowing access without a paid account. >:(
Insert "Witty Text" here.

Queue

#1298
hmsong, yes, I think you should consider changing any Neko that's even remotely near an identical shop. I don't know if anyone ever buys his stuff, just uses him as a save point, so trying to give his shop value seems worthwhile to me.

There's no exhaustive document naming each map; what's in the Bank08 disassembly text file is the best I'm aware of.




budtzcbs, when you use the patcher and apply the patch, it outputs a "SoM Turbo.######.ini" file. If you make the INI file match the filename of the ZPS file, it'll use the settings in the INI file.

So, if you had say, "SoM Turbo.200401.zps" and got settings how you wanted, and then applied the patch, you'd have a "SoM Turbo.200401.ini" file. Then if you downloaded "SoM Turbo.200408.zps", before opening the patcher, if you rename "SoM Turbo.200401.ini" to "SoM Turbo.200408.ini" and then open the patcher and load "SoM Turbo.200408.zps" it'll load the same settings you set for that previous patch (new features added will be at their defaults).

The other option is to rename the ZPS file to remove the date before you use the patch (for example, rename "SoM Turbo.200408.zps" to "SoM Turbo.zps"), so that your INI file is always just "SoM Turbo.ini".

hmsong made most, if not all, of the balance changes you happened to name. For anything I did / do, my changes are always in the name of fun: I consider this game incredibly easy, and there's no silver bullet to make it challenging and not tedious (and even when it is made tedious, I don't find it challenging), so I tend to focus on changes that reduce degenerate gameplay (simple examples of degenerate gameplay are spamming spells to lock down a boss or using the weapon overcharge glitch: both cause you to spend lots of time in menus when playing a game that is designed for you to be actively driving a little dude around swinging a weapon).




StarWyvwern, I suspect that file hosting site isn't doing that maliciously, but just having trouble, either on their end, or in their site functioning on your choice of browser. I found another file host I'll try for a bit. I'll update the download links soon after I post this.




reconstructingmana, great, whew, glad that message got through.

1) I can work with whatever format for the data you go with. Data processing isn't exactly my strong suit, but I'll manage. When I read about what you'd done, I just really didn't want the effort to go to waste if possible.

2) D'oh, well I'm in no hurry; I've been working on this Turbo project for over a year and haven't run out of steam yet.

3) Here's a dump of the 3D remake's English text:
https://filebin.net/7spaiz2xfys6b2i1/SoM18.textdump.zip
As far as I know, that's every bit of text that's not baked into an image.

As for what next step to take, it depends on what you feel up to: whether you want to use the second spreadsheet, or find the original, how much you want to rewrite, how much text from the remake you want to match up with the original (I have no idea how the text you were working off of was organized, and the remake textdump doesn't look especially organized to me)...

Questions:
- Do you want to stick with the vanilla fixed-width font? It allows for 28 characters per line (and 3 simultaneous lines), which is easy to plan for when formatting text for the game's textboxes.
- Do you want to use a variable-width font (VWF)? This requires either the creation of a specialized tool to handle previewing the text outside of the game for formatting purposes (of finding a pre-existing one that can be adapted for SoM), or in-game testing (which can vary from minorly to majorly intensive).

I bring that choice up because I would need / expect the text formatting to be done by you (or anyone working on the text), since it has an impact on how readable the result is and is best adjusted by the person writing it. I would prefer VWF, but that will require more work on your end formatting the text to fit in the game's textboxes (at least if we want it to look nice).

The next step for me is to move forward with "script insertion" prep, which I'm committing to since you got in touch. I need to essentially parse vanilla and Relocalized events into the format expected by this ZPS format (currently the latter is just a blob of raw bytes) and get that patching in byte-for-byte identical to how it is now.

Getting me an example formatted in your preference of data format (spreadsheet, text file, word document, fuzzy images of a cellphone screen, etc.) sooner rather than later would let me start figuring out how I'm going to process your new text for insertion.

hmsong

#1299
@kethinov

My Neko shop modification actually changes one of the letters in the "Purrrr, it's cold" thing.  Specifically, it changes the last part -- "Or?" to "Or" (without the "?").  Would that affect things?

Also, for your Luka's Pet, as I emailed you earlier, I think you can change Luka's script.  I came up with this:


@OFF $C942A5 '(need 63 characters)
TEXT ^L u k a : ^N o w , _ p l e a s e _ r e s t o r e _ t h e \n
TEXT _ s e e d . _ ^Y o u _ c a n _ d o _ i t ! \n
TEXT _ _ _ _ _ _ _ _ _ _ _ _

IF [Text]
IF Relocalized
'sig 42 11EE 1  13F 50
'[Event 136: Luka]
@OFF $E149B0
\event \if_flag== 11 EF

@OFF $E14F6D '(need 63 characters)
TEXT ^L u k a : ^N o w , _ p l e a s e _ r e s t o r e _ t h e \n
TEXT _ s e e d . _ ^Y o u _ c a n _ d o _ i t ! \n
TEXT _ _ _ _ _ _ _ _ _ _ _ _
ENDIF x2


That way, it'll fit both for when you restore the seed after Jabberwocky, and during the Sunken Continent/Pure Land.



@Queue

Okay then.  Here's some addition to the patch:

Description:
Quote"(Patch)\n
Author: hmsong\n
Version: 0.0\n
\n
In the original game, some of the Neko shops sold items that really weren't benefitial, because the town shops (only few screens away) sold the exact same things for half the price.  In short, those Neko shops were completely meaningless (except for the extremely rare situations).\n
\n
This hack changes those shop contents, so that they'd be more useful (maybe):\n
\n
- Neko (Gaias Navel, Haunted Forest, Witch's Castle) --> Initial Neko shop (sells all consumables, such as Chocolate, Royal Jam, Faerie Walnut, and Barrel)\n
- Ice Country Neko --> Initial Neko shop (sells all consumables, such as Royal Jam and Barrel)\n
- Mountain Neko --> Tasnica shop (early access to Tasnica shop, although for double the price)\n


'[Event 1DF - Various Nekos in the Beginning]
@OFF $C98144
'TEXT ^N ^E ^K ^O : ^M e o w , _ b u s y _ t r a v e l e r s ! \n
\event \flag== FA 01 ' Initial Neko Shop
TEXT ^N ^E ^K ^O : ^I _ h a v e _ i t e m s - n y a a ! \n
@OFF $C98195
\event \goto 312 ' Call Shop List

IF [Text]
IF VWF_Edition
'[Event 1DF - Various Nekos in the Beginning]
@OFF $E197AB
'TEXT ^N e k o : ^M e o w , _ b u s y _ t r a v e l e r s ! \n
\event \flag== FA 01 ' Initial Neko Shop
TEXT ^N e k o : ^I _ h a v e _ i t e m s - n y a a ! \n ------------------ I'm pretty sure this doesn't work.
@OFF $E19801
\event \goto 312 ' Call Shop List
ENDIF x2

IF [Text]
IF Relocalized
'[Event 1DF - Various Nekos in the Beginning]
@OFF $E19810
'TEXT ^N e k o : ^M e o w , _ b u s y _ t r a v e l e r s ! \n
\event \flag== FA 01 ' Initial Neko Shop
TEXT ^N e k o : ^I _ h a v e _ i t e m s - n y a a ! \n
@OFF $E19866
\event \goto 312 ' Call Shop List
ENDIF x2


The problem is, I don't know what to do with VWF, because the letters are all weird.  Hmm.  Any idea?  Or can I still use TEXT thing, and VWF that you created will correct itself?  I know it the text starts at E197AB (and I can change the event to 312 at E19801).

Btw, do you know when[Event 1E6] happens?  I don't remember that script at all.  Or is it one of those unused scripts?