News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Lufia I Restored 2.4.1 | Lufia III Text Cleanup 2.0 | Frue Lufia Addendum 2.2  (Read 5815 times)

vivify93

  • Hero Member
  • *****
  • Posts: 959
  • White Wizard
    • View Profile
These mods are companions to Artemis' Frue Lufia.

In 2009, after Frue Lufia received its first big update since release, I wanted to try and edit Lufia: The Legend Returns' font and inventory selection names. Flash forward to 2016, Rainponcho messages me out of the blue for how to improve Lufia & the Fortress of Doom Text Cleanup--now known as Lufia & the Fortress of Doom Restored--to its full potential. While we were at it, I put Artemis and Rainponcho in contact, and politely asked Rainponcho if he would help me with Lufia: The Legend Returns when they were done.

Thanks to the combined efforts of Lufia fans around the world, this beloved trilogy now has its definitive editions.




Features
  • Based of off D's Lufia: Decensored to restore priest and bunny girl sprites, and alcoholic beverage references. (Any names in D's mod that didn't conform to official English Lufia lore--such as Arty, Erin, and Dios--have been reverted appropriately.)
  • Uses JCE3000GT's Lufia & the Fortress of Doom Fast Walker to speed up walking in dungeons and on the world map, as well as vehicle speed.
  • Additional tweaks to Fast Walker so Sweet Water and Foul Water's expiration notices still appear when appropriate, and movement speed no longer decreases when disembarking a vehicle. (Credit to Rainponcho)
  • Final boss' battle script has been reverted to its move set in Estpolis Denki. New move set: Melanchoy, Chaos, Destroy, Amnesia, Wail, Elegion, Glacier, Vulcan, Flood, Dread. (Credit to Rainponcho)
  • Restored crosses to church walls. (Credit to Rainponcho)
  • Item descriptions have been restored from Estpolis Denki; press the X Button while hovering over an item to read its description. ROM has been expanded to 1.50 MB as a result. (Credit to Rainponcho for restoring this function and creating the text insertion tool)
  • The dialogue sound effect plays when message speed is set to "Fast." (Credit to Rainponcho)
  • Lufia and Selan can now use Jerin and Artea's Zircon equipment.
  • Sound defaults to Stereo rather than Mono at startup and when starting a New Game. (Credit to Rainponcho)
  • Corrections and updates to the names of items, spells, equipment, enemies, and enemy attacks for continuity purposes across the series, using Frue Lufia as the standard.
  • What few typos and translation errors that existed in the script have been fixed.
  • Optionally, the menu font has been revised to Lufia II's, and the dialogue font sports minor alterations.

Screenshots







Features
  • Just about every single typo, contextual error, translation mistake, and bizarrely-worded line of dialogue has been fixed.
  • Many retranslated terms taken from Crysta Blade and pokeeiyuu's menu retranslation effort on GameFAQs.
  • Improved and updated inventory descriptions, including adding missing punctuation and pluralization where necessary. (Thanks to Rainponcho the text insertion tool)
  • Continuity corrections to character names, monster names, equipment, items, and enemy attacks, using Frue Lufia as the standard.
  • Optionally, dialogue and menu fonts are revised to Lufia II's.
  • Alternate patch provided to reduce dialogue window size, the entire game using the menu font as a result. (Credit to Rainponcho)

Screenshots






As of this writing, Frue Lufia uses several different inventory selection names compared to my above mods. If you would prefer consistency across all three games, please download and install Frue Lufia: Trilogy Addendum. A full list of changes compared to Frue Lufia v3.0 is included in the archive.

Apply to an unmodified, headered, NTSC-U Lufia II ROM. The NTSC-U ROM has the Natsume logo at startup, not the Nintendo logo.

Do not upload the Trilogy Addendum to RHDN. I will request it to be taken down if it is. Thank you for your understanding.

Screenshots


Please enjoy! :)
« Last Edit: November 07, 2018, 01:35:01 am by vivify93 »
All my life I've tried to fight what history has given me.

ArkthePieKing

  • Jr. Member
  • **
  • Posts: 82
    • View Profile
Re: Lufia I Restored v2.1 | Lufia III Text Cleanup v1.5
« Reply #1 on: December 29, 2016, 04:50:01 am »
Very awesome! It's always good to see the Lufia series get any love.  :beer:

Digitsie

  • Sr. Member
  • ****
  • Posts: 273
    • View Profile
Re: Lufia I Restored v2.1 | Lufia III Text Cleanup v1.5
« Reply #2 on: December 29, 2016, 12:49:10 pm »
Excellent!

And now to apply the new Walk-Faster patch for the Lufia Returns, too.

Y'all have rocked it!

(Yes, I know, the fourth one doesn't exist.)

vivify93

  • Hero Member
  • *****
  • Posts: 959
  • White Wizard
    • View Profile
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #3 on: September 11, 2018, 03:08:56 am »
Just found this thread again. I thought I never made a personal thread for my own Lufia projects, but I did.

v2.4 of Lufia I Restored and v1.9 of Lufia III Text Cleanup are up on RHDN.

Lufia I Restored v2.4 - changes:
Code: [Select]
- The Charred Newt description erroneously stated that it restored MP, when it doesn't. Fixed.

- Updated the forward-slash in the 8x16 dialogue fonts in both patches.

- Changed the names of the elemental rings so they match with Frue Lufia.
(Flash Ring   > Bolt Ring
 Spark Ring   > Fire Ring
 Droplet Ring > Water Ring
 Bang Ring    > Bomb Ring
 Gale Ring    > Ice Ring)

- Repaired the checksum of the patched ROM.


Lufia III Text Cleanup v1.9 - changes:
Code: [Select]
- Renamed an enemy for consistency with Frue Lufia.
(RaidBeetle > Raid Bug)

- Changed the names of the elemental rings so they match with Frue Lufia.
(Spark Ring > Fire Ring
 Gale Ring  > Ice Ring
 Flash Ring > Bolt Ring
 SparkRingX > Fire RingX
 Gale RingX > Ice Ring X
 FlashRingX > Bolt RingX
 F.BallRing > Blaze Ring
 Blzrd.Ring > Frost Ring
 Bolt Ring  > Shock Ring)


Frue Lufia - Trilogy Addendum:
There is also now a patch that makes Artemis and co.'s Frue Lufia more consistent with my Lufia I and III patches. PLEASE DO NOT UPLOAD THIS TO RHDN. Detailed changes to be found within its archive. Download here: [old link removed] Apply to an unmodified, NTSC-U, headered Lufia II: Rise of the Sinistrals ROM. NTSC-U ROMs have the Natsume logo at startup, not the Nintendo logo.


A big thanks to Zynk for pushing these final versions through the submission queue.
« Last Edit: September 22, 2018, 09:39:01 pm by vivify93 »
All my life I've tried to fight what history has given me.

Digitsie

  • Sr. Member
  • ****
  • Posts: 273
    • View Profile
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #4 on: September 11, 2018, 07:10:41 am »
Thank you so much for all this unification!

SCO

  • Full Member
  • ***
  • Posts: 117
    • View Profile
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #5 on: September 17, 2018, 10:21:09 am »
This is interesting.

No snes patch actually requires a header and no-intro standardizes on no headers so i really couldn't understand the reason why people still upload patches with header requirements, so i proceeded with my default strategy of applying 'ipsbehead' to the ips file.

This didn't work for some reason even if the utility is as simple as it gets in code.

I opened this bug: https://github.com/heuripedes/ipsbehead/issues/1

tl;dr: it's possible to make this turn into a softpatch to the no-intro rom but you have to do it 'the long way around' because of a bug on ipsbehead (apparently).

put a header in the nointro rom with nsrt, apply the patch, remove the header, create a new ips from the 'original' to the 'patched' rom.

Digitsie

  • Sr. Member
  • ****
  • Posts: 273
    • View Profile
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #6 on: September 17, 2018, 11:07:01 am »
Isn't the problem that this patch is an addendum to a patch that requires a headed one, so two patches require the header first?

vivify93

  • Hero Member
  • *****
  • Posts: 959
  • White Wizard
    • View Profile
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #7 on: September 17, 2018, 08:19:21 pm »
Trilogy Addendum gets applied on top of an unmodified Lufia II ROM, not a ROM with Frue Lufia applied. (Says so in the opening post)

I'm not sure why you'd go to the trouble of using IPSbehead unless you're on Mac/Linux. TUSH has always been useful for all my header needs. https://www.romhacking.net/utilities/608/
All my life I've tried to fight what history has given me.

SCO

  • Full Member
  • ***
  • Posts: 117
    • View Profile
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #8 on: September 18, 2018, 01:23:02 am »
Yeah, i'm on linux and prefer to use native tools when possible. GUIs are mostly unnecessary too. Tush works for removing the header requirement of the patch then (not the rom)? The page pretty much says 'rom'. The additional steps are annoying because I always softpatch (my filesystem has deduplication of identical read only files).
« Last Edit: September 18, 2018, 01:29:21 am by SCO »

vivify93

  • Hero Member
  • *****
  • Posts: 959
  • White Wizard
    • View Profile
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #9 on: September 18, 2018, 07:52:48 am »
Nah, TUSH removes (or adds) a header to ROMs. Since TUSH is Windows only, unfortunately it seems one would have to run it through a Windows emulator of some kind to work with it.
All my life I've tried to fight what history has given me.

SCO

  • Full Member
  • ***
  • Posts: 117
    • View Profile
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #10 on: September 18, 2018, 09:15:30 am »
Well, nsrt does the same for me in command line format with many more uses, i'm fine about that. I think if i had the patience/skill to figure out what the hell went wrong with ipsbehead on 'beheading' this ips i'd try that because that tool has no equivalent to save time on the 'remove header requirements from softpatches' dance (on upgrades too).

The code of ipsbehead is on a single c file so it's rather simple too if some C coder reading this is interested in this task. The repo has been inactive for nearly 4 years, so it's probably 'forgotten if not dead' to the original author.

https://github.com/heuripedes/ipsbehead/blob/master/ipsbehead.c


Another alternative to this particular patch might be distributing it as a bps - the format doesn't care about the size of the roms, it just recognizes a snes header and skips ahead.
« Last Edit: September 18, 2018, 09:36:43 am by SCO »

mziab

  • Sr. Member
  • ****
  • Posts: 279
    • View Profile
    • mteam
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #11 on: September 18, 2018, 02:03:38 pm »
The underlying problem seems to be the fact that the original Lufia & the Fortress of Doom Restored IPS modifies the first 0x200 bytes, i.e. where the header is. This normally shouldn't happen, unless the original and modified ROMs had different headers when creating the patch. Consequently, ipsbehead ends up clobbering the first 0x200 bytes of the actual game data, leading to the crash.

This can be easily resolved by removing said chunk (it's just zeroes anyway) from either the original or beheaded patch. Just open up the patch and remove the 8 bytes at 0x5, which should be as follows: 00 00 00 00 00 02 00 00.

Moreover, ipsbehead should probably just ignore chunks with any offsets in the 0x0-0x1FF range, since those won't exist in a headerless ROM anyway.
This can be accomplished by changing line 100 from:

Code: [Select]
if (out->off + out->len < 0x200 || out->len > in->len)
to:
Code: [Select]
if (out->off + out->len <= 0x200 || out->len > in->len)
However, that whole block of code seems off and could use more scrutiny. Nevertheless, this fixes the edge-case in question.

Hope this helps.
« Last Edit: September 18, 2018, 02:21:17 pm by mziab »

vivify93

  • Hero Member
  • *****
  • Posts: 959
  • White Wizard
    • View Profile
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #12 on: September 18, 2018, 09:32:51 pm »
I do admit, the edited ROM used to be unheadered, but I added one using TUSH after I noticed it caused issues for certain people. Maybe I could remove and re-add the header to my base ROM so their headers are consistent?
All my life I've tried to fight what history has given me.

mziab

  • Sr. Member
  • ****
  • Posts: 279
    • View Profile
    • mteam
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #13 on: September 19, 2018, 03:45:04 am »
Or just open up the base ROM in a hexeditor and replace all of the 0x200 bytes in the header with zeroes. You'll probably only need to change a few bytes. Those things are mostly blank anyway. Moreover, modern utilities for adding headers, like TUSH, just insert a completely blank header, since the data isn't used for either emulation or modern flashcarts.

abw

  • Full Member
  • ***
  • Posts: 170
    • View Profile
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #14 on: September 19, 2018, 08:00:02 am »
Yeah, i'm on linux and prefer to use native tools when possible.
Fortunately, *nix comes well equipped with tools for actually getting stuff done.

# remove a 512-byte header
dd bs=1 skip=512 < headered.rom > non_headered.rom

# add a 512-byte header (of null bytes)
dd bs=1 count=512 < /dev/zero | cat - non_headered.rom > headered.rom

Apply as and when needed :).
« Last Edit: September 21, 2018, 05:21:34 pm by abw »

mziab

  • Sr. Member
  • ****
  • Posts: 279
    • View Profile
    • mteam
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #15 on: September 19, 2018, 08:14:46 am »
Fortunately, *nix comes well equipped with tools for actually getting stuff done.

# remove a 256-byte header
dd bs=1 skip=256 < headered.rom > non_headered.rom

# add a 256-byte header (of null bytes)
dd bs=1 count=256 < /dev/zero | cat - non_headered.rom > headered.rom

Apply as and when needed :).

Or you could use ucon64:
Code: [Select]
# add header
ucon64 --ins headerless.sfc

# remove header
ucon64 --stp headered.sfc

It does a lot of other useful things and for multiple platforms as well, like applying/creating patches, fixing checksums, format conversions and disabling known flashcart checks. It's actually my go-to tool for this kind of thing, especially since it can be scripted. But I use dd a lot too.

By the way, I know yours was only an example, but the SNES header is 512 bytes.
« Last Edit: September 19, 2018, 08:25:21 am by mziab »

vivify93

  • Hero Member
  • *****
  • Posts: 959
  • White Wizard
    • View Profile
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #16 on: September 19, 2018, 10:02:36 am »
Works like a charm. I'll release a new version soon.

Edit - 2.4.1 was submitted. In the meantime, try this http://www.bwass.org/bucket/LtFoD_Restored_v2-4-1.zip

Code: [Select]
- Small technical problem fixed. The header of the base ROM and my output ROM didn't match, which
  would result in start-up issues if the player tried to remove the header from the IPS and apply
  it to an unheadered ROM. Both base and output ROM headers now match.

I know the release readme says "...and apply it to a headered ROM," but that's a typo I made. The v2.4.1 IPS works if you use IPSbehead and apply it to an unheadered ROM. I tested it with soft-patching as reported.
« Last Edit: September 20, 2018, 12:22:33 am by vivify93 »
All my life I've tried to fight what history has given me.

Shade Aurion

  • Full Member
  • ***
  • Posts: 113
  • Shadow Keeper
    • View Profile
    • DudeGoBack
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #17 on: September 20, 2018, 05:45:44 pm »
When applying this patch to an unheadered rom i'm met with only a purple screen >_>

SCO

  • Full Member
  • ***
  • Posts: 117
    • View Profile
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #18 on: September 20, 2018, 06:04:40 pm »
The patch itself still requires a header. It was modified so that the tool that removes header requirements from the patch (not from the rom) works out of the box.

Anyway, i don't begrudge patch authors header requirements, they're often necessary because their IDA projects, notes, faqs about the rom or similar were originally made with the extra 512bytes and correcting offsets is a pain, just that they're easy to remove and consider for new projects not to have them or use bps that doesn't require headers for end users to apply the patch.

vivify93

  • Hero Member
  • *****
  • Posts: 959
  • White Wizard
    • View Profile
Re: Lufia I Restored v2.4 | Lufia III Text Cleanup v1.9
« Reply #19 on: September 21, 2018, 10:50:15 am »
When applying this patch to an unheadered rom i'm met with only a purple screen
Yeah, what SCO said. You can't apply the patch to an unheadered ROM, but using IPSbehead on the patch will allow you to apply it to an unheadered ROM.

2.4.1 is up on the site. I probably have to do a documentation update but there won't be any patch updates.
All my life I've tried to fight what history has given me.