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

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 - Zuqkeo

Pages: [1]
Personal Projects / Re: Lufia 2 Compendium Editor
« on: January 02, 2019, 12:59:09 am »
I'm still alive in this new year... and was working on this thing with enthusiasm, until something happened during life that took up most of my private time beginning of december. :( I hope to come back to this, as with below improvements I got pretty far with decompressing/decrypting most of Lufia's data.

Still I'd like to note that there have been some updates since last post:

-Code now parses all maps (BG, TSA, and tile data), except worldmaps 00 & 01 due to mode7 implementation
-Added L2SASM parser based on Reli's L2 script.txt document
-Reads CM battle sprite palettes (thanks to Sanedan56 for finding the offsets)
-Reads and decompressed all map sprites
-Reads monster parties
-Reads warp list
-Reads shop lists
-Reads battle backgrounds (BG/TSA/Tile data, similar to world maps)
-Reads blue chest list
-Refactor some code by using a stream buffer helper (easier than modding bare pointers with offsets)

With some work to the GUI is can now display maps with both BG layers and show monster/NPC sprites that are placed on the map during load time:

Personal Projects / Re: Lufia 2 Compendium Editor
« on: November 17, 2018, 04:32:38 pm »
Artemis, I don't know how far it will end up, but with Reli's L2_Script.txt file I am starting to grasp how to decode the script. It's still in the works, but the parser can read/decode the first two maps (over/undersea world map). Turns out there are no runtime scripts and the setup script only sets the BG music & resets event flag $C0 and $C2, which I don't know what their purpose is at this time, but it does decode successful.

It also reads the beginning of Map002 (intro scene with Arek), which has extensive script. It's starting to make sense how it operates moving NPCs and generating text. Though, apart from reading & writing data in (un)expanded ExLoRom, visualizing and making it editable for a human on at least a reasonable level (i.e. not writing hex opcodes and knowing every intrinsic) is a big task.

If anybody happens to know some more about the missing parts (all the ??) in Reli's doc, again any info will be welcome. It will save me a lot of puzzling. I only found some info the cutting room info page which states the use of some of the event flags and the Japanese font decoding.

Thanks Thorbs, with maybe some extra work for decoding the Japanese font/vocabularies, I do think it should work for all as the format of the roms that I've seen is compatible only at different absolute offsets.

Personal Projects / Re: Lufia 2 Compendium Editor
« on: November 14, 2018, 04:05:40 pm »
No pics at the moment, but just a minor update as there is at least some (internal) activity/progress:
-Decoded capsule monster sprites (can't locate their palettes). they're not within the compressed files (like monsters), nor in Reli's docs... probably have to run geigers debugger for that.
-Decoded vocabularies and decompressed ip/item/spell descriptions
-Decoded monster/CM attack name string tables
-Decoded map sprites, graphics, palettes, and properties (e.g, voice pitch, #walk frames)
-Decoded PC (playable characters) properties and starting equipment, AC stat boosts
-Decoded map headers, incl decompressing (glitched) names
-Working on map information e.g. events, tile maps, chests, script, etc. This is quite a big chunk, once thus is decrypted most of Lufia's data will be usable.

After this, expanding the rom and writing new offset/tables should make it possible to actually do something useful other than viewing. Still that will take more time and effort.

Personal Projects / Re: Lufia 2 Compendium Editor
« on: November 08, 2018, 01:50:49 am »
Thanks for the info Gadesx. I think so far the editor only allows for modifying the easy/static data in-place. Allowing scripts to be modified requires effort, as in moving data to new/extended ROM banks like the patches do.

On the bright side, I've am working on improvements right now. Extracted the vocabularies and was able to decompress the descriptions, and also the map namps (incl. the bugged s3y kingdom / U mov E cave). A guy named "PaD" also had some info on how to handle the compressed map tiles/data.

Reli's documents of the rom are a good starting point, but there's just so much data that needs to be sorted out, I first need to understand the way it's stored before working on expanding/moving everything otherwise it will break down. I'll try to keep posted the upcoming time.

Personal Projects / Re: Lufia 2 Compendium Editor
« on: November 03, 2018, 03:38:50 pm »
Haha, it's good to hear there's still a community that cares. Artemis and some other hackers are still active so I feel they hopefully can make best use of it (or just look at it, and improve the design all over).

Okay, I found the last working copy of my code as a SVN repository with all source and visual studio project that should(disclaimer untested ::)) compile out-of-the-box. Basically, I separated the entire compendium loading/storing, sprite image/voculabulary decoding in plain C++ that should be portable enough to compile on other compiler vendors/OS's. Only the use of Visual Studio is needed for the GUI part, which is separated from all other code, as designing GUI's in C++ is not the kind of thing one wants to waste time on (all GUI code is in Form1.cpp, which is the only one that is Visual studio specific as it runs in Microsoft's proprietary 'managed' C++.. yuck). It should be easy to separate the rest of the code from the GUI by removing that file. Also in order to support Japanese and glyphs used in other languages more easily I used std::wstring iso std::string to make it a bit easier.

I noticed that currently only the US rom will load, but I do notice that I have implemented optionally recognizing with(out) 200 hex byte header. Once the table in Rom.cpp is filled in for JPN/AUS/NL/GER/ESP the other roms should load too.

Lastly, there's still a lot of unknown/missing parts, such as CM sprites, and handling Reli's IPS relocated version. I think most other ROM hacks use the same offsets, so once the ROM table is extended with his version it should also be able to load those.

SVN repos (version 18, available for 30 days from post):

Exe debug build (available for 30 days from this post):

As said, please use US rom for now. I hope this will run on PC's without Visual Studio installed (untested). There's a small readme included as you might need some additional runtime libraries if not...

Personal Projects / Re: Lufia 2 Compendium Editor
« on: November 02, 2018, 06:12:51 am »
Sorry as well for necroreplying this late on my own topic. :o

Ugh... it interests me a lot (in fact I can feel an urge to begin right now), but I know it's so much work to get everything done before the editor is anywhere decent to use. Ambitions, ambitions...

I'll go and look for the source, if anybody still cares.
Also good job ze10 on actually releasing something!

That may be true vivify, but you pulled through. :thumbsup: That's important too, I remember starting on an editor a while ago, but it was put in a 'deep freeze' state for quite some time.

Personal Projects / Re: Lufia 2 Compendium Editor
« on: March 02, 2013, 01:47:25 pm »
It's been a while, but last month I've been ill for most of the time, which doesn't help much of course. Otherwise I'm still working out all the pointers and stuff which is a lot of tedious but necessary work. I should be able to present something by the end of this month. So I'll be back later.

Personal Projects / Re: Lufia 2 Compendium Editor
« on: February 07, 2013, 02:27:57 pm »
So far I've almost been able to import all the important data bases (Capsule Monsters/IPs/Spells/Items). I still want to add a tab for the playable characters. Because IP & Spells have little info I joined them together on a single tab. Plus I still can improve the ordering of the buttons/text boxes.

Once that is done I'll look at the way the Fixxer patch moved stuff like you just mentioned Artemis. Following the same principle it should be possible to dynamically write back all the data (with some effort...).

Personal Projects / Re: Lufia 2 Compendium Editor
« on: January 28, 2013, 02:09:22 am »
Okay, I've got a screeny here, which shows that modifying the palette has effect on the sprite shown in the window (Eggdragon/Firedragon share a sprite with an unused palette):

I still have to make the indices link to the correct compendiums so instead of "Show monster string $xx" it'll say "Show monsters string 'Sunny side up'" or so.

Artemis, as long as the format isn't changed the editor will (eventually) be able to support all ROMs. I'm starting out with the US version, but instead of hardcoding the offsets the code maintains a table and selects the offsets based on which ROM is loaded (by checking the header). If the Fixxxer patch doesn't do any really 'strange' things it should be able to load it as well.

However, I intend to make the editor store the data in a different order by expanding the ROM and moving all data tables to the new freespace. This however, will take more effort as all pointer/offset related code in the game needs to be found and replaced. By doing so it should be possible to add new monsters/items/IPs until the game runs into its limitation (e.g. 256 monsters).

Moreover, when the code loads the scripts the offsets are (internally) linked by the actual commands rather that integer offsets. This way, when inserting new commands in between, you don't need to manually recalculate all offsets. This does impose the restriction that the editor will only allow jump offsets that point to the start of a new command instead of an arbitrary byte number, which I think is fine as pointing to a byte halfway through the script makes no sense.

Personal Projects / Re: Lufia 2 Compendium Editor
« on: January 16, 2013, 09:29:31 am »
Thanks, I wasn't aware of the link those docs. I'll check them and use those as a base for updating if they contain newer/more information. It is indeed the idea to update them, but only once they're complete.

That does sound like an interesting idea, but I think I'll start with the small stuff first like the monsters/battle scripts and expand from there.

Yeah, I once recall Relnqshd saying stuff like that the entire element system is broken in this game. It almost surprising that it doesn't play that bad at all, but it can use quite a lot of improvements. About the Sinistrals; maybe the programmer's were running out of time and rushed a little too much in the end. Not to mention that they're pretty weak to begin with. I see you Kureji patch improves the situation! It is quite impressive to see how much you've fiddled with the game. Although, my only criticism is that some of the boss battles are drawn out pretty long.

Personal Projects / Lufia 2 Compendium Editor
« on: January 13, 2013, 02:34:30 pm »
Hello all,

This is actually a project I wanted to work on for quite some time. The idea is to load all monsters,items,IPs,spells from a rom and allow the user to modify/edit these freely. I've got some screens of the actual thing running, but I still need to smoothen several things out before I'll upload the actual executable. The C++ source code will be in GPL2 license, so it'll be freely available for anyone. At the moment it can read/write stuff back into the rom, but only stuff that doesn't modify the length of the data in the game (e.g. data values such as HP, ATK etc only). In order to actually get modified scripts new monsters in there I first need to have the tool expand the rom and redirect the relevant pointers.

Here's an example of a common enemy on display in the my current working version. The quircky thing is that its attack script tries to recover some HP, but as far as I know this doesn't work in the actual game.

My main reason for posting here is, because I've gained almost all knowledge about the data in Lufia 2 from Relnqshd's documentation. However, since he no longer actively deals with hacking Lufia I'm wondering if there are other people who can help me fill up the gaps that are left over. For convinience and bookkeeping I've attached the relevant documents in a zip file found here:

 -Effects (containing all battle script commands)
 -IP data format
 -Item data format
 -Capsule Monster data format
 -Spell data format

The last two contain data that I compiled following the same construct as Relnqshd's other documents. The point is that several documents still miss relevant information for making a proper editor. Therefore, I'll gladly accept any missing information and of naturally give you proper credit for it. Here's a short list of things that are still unknown to me at this moment. These battle script opcodes are still blanks to me:

42 21 00 Used by a lot of IP's (e.g. Thunder Blast) 
42 22 00 Used by a lot of IP's (e.g. Devastation & other dividers) -> perhaps to ensure base damage = actual damage? 
42 23 00 Used by a lot of IP's (e.g. Blaze attack) 
44 ....  Used by a lot of IP's (e.g. Fury Force) 
4D ....  Used by a lot of IP's (e.g. Confusion) 
1D ....  Used by the Dark Warrior's Action script, I have no idea what this does 
30 ....  Used by the Nosferato 
50 ....  Used by Reviver & Miracle IP's 

:o, you're absolutely right. I've received a mail from somebody how is going to do an improved grammar check on this hack (I'm not English native speaking myself so that may explain a few of the mistakes). Anyway, the update should be ready (including an English title logo :) ). Unfortunately, however I don't have any spare time at the moment to finish this job right now. I promise it will be completed in the beginning of August. Thanks for the support from all of you!

btw. if you really want to see the ending this desperately check this youtube vid:



Newcomer's Board / Re: Introduction Topic
« on: June 01, 2007, 10:42:50 am »
I've already posted a few messages on some of the topics, but nonetheless here is a small introduction for those of you who don't know me. I'm Zuqkeo from the Netherlands and I'm a computer science student at the moment.

Currently, I'm working on a translation of the Japanese SFC game: "Panel de Pon", which some of you might recognize under the name of "Tetris Attack". With this being my very first ROM hack it seems to be doing better than expected as it's progressing nicely, but it will take some more time to finish it. I have some ideas for the future, but because time is limited I'm not going to start any new projects before finishing this one.

Pages: [1]