GS: TLA Editor Preview (Warning, lots of pictures)
#1
Posted 04 October 2008 - 04:23 AM
Oh yes, I said GS:TLA editor.
http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/GSTLA_editor1.png http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/GSTLA_editor3.png http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/GSTLA_editor2.png http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/GSTLA_editor4.png
Screenshot 1
The item editor screen. A glance at the options shows that I've opted to turn corn into a lethal weapon.
Screenshot 2
It's the Enemy Editor, and Briggs! I haven't messed with him any, but notice the unlabeled values above & below his attacks that I haven't been able to identify yet. If anyone can tell me what they do, you get a cookie. It's also worth noting that the elemental powers & resistances aren't editable. Y'see they're shared between enemies so I'll probably make a separate editor for them so there's no confusion when you edit the values for one enemy, and they change for 50 others.
Screenshot 3
The enemy group editor, probably the least impressive screen so far. Curious as it may be that Saturos & Menardi are in The Lost Age, it gives me a chance to try a battle against all four of the main antagonists from both games.
Screenshot 4
Text viewer. All of the game's text is viewable here, including the occasional message left behind by the game's creators, or translators.
And screen shots of the results of my fiddling in-game:
http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/GSTLA_hacked1.png http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/GSTLA_hacked2.png
Screenshot 1
Food products make excellent weapons
Screenshot 2
Unfortunately in the battle against Saturos, Menardi, Agatio, and Karst, Karst ran out of memory to extract her sprites into, so instead she decided to appear as glitched versions of my party members. Piers in this particular case. Also, obligatory joke about Felix's howling corn.
I'm hoping to get a sprite viewer in there before I release it, and maybe, if you're really lucky, a map viewer. I've got the ground work done, but it'll be a hard task transferring it over. I REAALLY want to port the decompression code over to a c++ dll first too since the language I'm mainly programming the editor in is kinda on the slow side. It would really speed up loading times for maps, which right now are kinda unbearable. Eventually I even hope to reverse the decompression code so I can make the compressed stuff editable too.
Anywho, that's a look at what I've been concocting . I'd love to hear any comments, questions, or concerns you may have so far.
#2
Posted 04 October 2008 - 06:21 AM
#4
Posted 04 October 2008 - 03:21 PM
#5
Posted 04 October 2008 - 03:35 PM
You should release a modded GS: TLA for us to play with on VBA. =P
#6
Posted 04 October 2008 - 03:46 PM
Felix: Long Sword
Jenna: Staff
Sheba: Staff
Piers: Long Sword
Isaac: Long Sword
Garet: Mace (Huh... Can't he wield Long Swords?)
Ivan: Staff
Mia: Staff
I hadn't thought about how that's decided, I'll have to look into some time.
Wind Dude
Maybe once the tools are far enough along, though the plan is to release them so other people can make mods.
#7
Posted 04 October 2008 - 08:26 PM
#8
Posted 04 October 2008 - 08:57 PM
The first version is basically just gonna have Item & Enemy editors, and viewers for other stuff.
#9
Posted 04 October 2008 - 11:16 PM
Atrius, on Oct 4 2008, 11:26 AM, said:
Not really anything amazing. I just know how to pull off sprite sheets with what VBA has built into it. Though I know how to do some programming, it's nothing near your level. I really need to learn C++. I'm far better aquainted with hardware.
Anyway, HOLY SHIAT. That is orgasmic. You get major props.
As for the decompression code, I highly doubt I could reverse engineer it or anything, but who knows. If you show me what you've got, I might be able to do something with it.
[EDIT] Lol at the howling corn, and holy shizbits at it unleashing Iris.
#10
Posted 05 October 2008 - 01:11 AM
Toasty, on Oct 5 2008, 01:16 AM, said:
I don't even know C++ well enough to make something like this in it. I'm only writing a dll to handle decompressing data in C++. I'm quite ashamed to say the rest is made in Game Maker.
Toasty, on Oct 5 2008, 01:16 AM, said:
I've just about got 'em figured out already except one, but I'm almost sure you can use whichever one you want in most situations. If you really want to help though, I can give you the addresses in memory of some data for maps that I haven't figured out the exact formatting for.
Also, new screen shot, All sprites are in fact just sprites, no matter what you think they're for.
http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/GSTLA_hacked3.png
#11
Posted 05 October 2008 - 01:23 AM
#12
Posted 05 October 2008 - 08:31 AM
The reason I'd have to give you the address of the data in memory is because it's compressed in the ROM. It wouldn't be much use knowing where it is if you didn't have something to decompress it. The location it gets decompressed to in RAM is used for all maps, so you can look at the data for any area in the game, and compare it if needed.
#13
Posted 05 October 2008 - 11:46 AM
Great work, I look forward to seeing even more progress.
#14
Posted 05 October 2008 - 03:10 PM
#15
Posted 08 October 2008 - 04:41 PM
Sprite Viewer is working, hopefully I'll be able get a demo out before the end of the week.
#16
Posted 09 October 2008 - 06:34 AM
Alternatively, if you just export it all into some structured format with some documentation describing how to read it, then I wouldn't mind transforming that into something more usable by other developers or automated programs.
#17
Posted 09 October 2008 - 03:04 PM
#18
Posted 09 October 2008 - 08:19 PM
Anyway, XML is pretty straight foreward as Max described. It's kinda like makeing your own programming language. But all you have to do is be consistent with how you format the stuff.
I find that most configuration files for PC games are coded in XML.
#19
Posted 10 October 2008 - 12:28 PM
Matthias, Game Maker isn't as limited as some people make it out to be, though to be fair I did end up offloading some of the decompression work to a DLL written in C++. It was just to speed it up though.
Toasty, Link has always been in there. You hadn't heard? I mentioned it here quite a while ago. Mostly I just figured I'd find some sprites with the viewer that I didn't recognize at all from the game, and post a picture of them, I didn't actually hack any of them into the game they're already there.
Also, just as a side note. Nothing really important, but:
The demo is now available - [Link]
#20
Posted 10 October 2008 - 02:08 PM
#21
Posted 11 October 2008 - 08:13 PM
Atrius, would it be possible to get this editor or the data extractor program to work on non-English ROMs? I could provide ROMs in several languages (German, French, Italian, and Spanish) if that would be any help. Part of the problem with creating multi-lingual sites is finding people who have the game in two languages and can correlate the names. Being able to extra the text entries from each game and do that in some automated fashion would save literally countless hours of work.
#22
Posted 11 October 2008 - 09:25 PM
#23
Posted 13 October 2008 - 02:27 PM
nice work... :P
#26
Posted 06 November 2008 - 08:43 PM
http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/GSTLA_editor7.png
http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/GSTLA_editor8.png
http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/GSTLA_LongNames.png
No I didn't change Felix's default name to Sir Wickles... Strange though, it breaks the 5 character limit, or is that really the limit?
#27
Posted 07 November 2008 - 06:55 AM
#28
Posted 07 November 2008 - 08:07 AM
#29
Posted 08 November 2008 - 10:20 PM
Looking foreward to the added features. I need to get a hold of a TLA ROM first though. I haven't even tested out the editor yet.
#30
Posted 05 January 2009 - 09:45 PM
http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/GSTLA_editor9.png
I finally worked out the problem I needed to before I could make it so you could switch item, and ability icons.
http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/GSTLA_editor10.png
I think I've mentioned that the portraits are actually assigned to sprites, and not in the message box script. Now if a sprite has a portrait assigned to it, you can change it, but for now you can't add a portrait to a sprite that doesn't have one.
A few oddities concerning portraits:
- They're in 2 categories: Party Members, and NPCs.
- Party members can use NPC portraits, but NPCs can't use party member portraits.
- Pier's portrait is pushed back one slot compared to the rest of the party members, there's a slightly modified Alex portrait in the slot his should be! :lol:
And of course I had to test these new features:
http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/GSTLA_hacked5.png
#31
Posted 06 January 2009 - 10:06 AM
#32
Posted 27 January 2009 - 07:42 PM
It still needs some work, but it's nice to have it mostly working in the editor now, so here's a screen shot.
http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/GSTLA_editor11.png
Yes, for some reason there is a Mercury Lighthouse map in The Lost Age...
#34
Posted 27 January 2009 - 10:14 PM
There are a couple other odd places though, like the hallways outside of the Link Lobby, and the small room to the left of the Shop Debug Room.
#35
Posted 27 January 2009 - 10:35 PM
#38
Posted 15 February 2009 - 06:14 PM
#39
Posted 15 February 2009 - 07:04 PM
The tile layer with the window lights & stuff like that is drawn over the other layers with an additive blend mode. Basically instead of just replacing the pixels underneath them, their RGB values are added together so it brightens them.
#41
Posted 22 February 2009 - 07:11 AM
http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/TextEditing_02.png http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/TextEditing_00.png
http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/TextEditing_01.png http://img.photobucket.com/albums/v698/AtriusV/Games/Golden%20Sun%20Project/TextEditing_03.png
Yup. Thus far I've only been making the data that isn't compressed editable, and adding viewers for the stuff that is. Now that I've got a decent amount of the non-compressed stuff dealt with, I decided it's about time I cracked that text compression.
#42
Posted 22 February 2009 - 11:56 AM
#43
Posted 22 February 2009 - 04:13 PM
#44
Posted 23 February 2009 - 02:53 AM
It'd be awesome if you could add more text bubbles to a cutscene, but I imaging that you'd have to modify the game's structure for that.
#46
Posted 09 March 2009 - 07:26 PM
It's name is 9S100.
#47
Posted 09 March 2009 - 08:39 PM
#49
Posted 10 March 2009 - 04:46 PM
#51
Posted 15 March 2009 - 03:26 PM
Quote
Have fun bombing the f**k out of some terrorists.
#52
Posted 15 March 2009 - 08:04 PM
Not saying whether or not that's a good thing, because it's got its pros and cons. Just sayin'
#53
Posted 13 May 2010 - 07:53 PM
So letsee... Where to start.... Text editing seems to be the last thing I mentioned here, so keeping in mind that a lot of these screen shots are of things still heavily under development-
Data Viewer
The way some of GS TLA's data is arranged is very peculiar, yet helpful at the same time. At the end of the ROM file there is a large array containing various types of data ranging from graphics, to the games code itself. The idea of the data viewer is to be able to browse through ALL of this data, a few sample images are at the links below.
Palettes
Tilesets (Eventually will be able to load with palettes so they're colored)
Menu Graphics
Battle Animation Graphics (Notice also that although the data viewer couldn't positively identify this it did notice it was compressed, decompressed it automatically, and offers several manually selectable options for viewing the data)
Hex viewer (Yes, although the editor is designed for user friendliness, low level hex editing will be available)
As I mentioned, this data array also includes pointers to the game's code. What's quickly become one of my favorite new features of the data viewer is it's ability to scan the code for data pointers, not only that, but as it completes this scan it keeps track of the functions it scans through, and builds a list of where each data pointer is used. I'm sure more advanced ROM hackers could think of plenty of uses for information like that. I know it's already come in handy for me several times.
Map Viewer Upgrades
In addition to upgrades that I hope will help with speed issues many people have with the Map viewer, it also now displays NPCs. In fact, I was even able to make this video using the in development v0.3 of the editor. Yes, NPC's aren't just visible, but a limited amount of editing can be done to them as well. You can move them around, change their sprite, edit their dialogue, and although you can't edit them yet you can view their scripted event data which comes in two varieties: assembly coded interactions, and idle behavior scripts in a Golden Sun's custom, much simpler scripting format, interpreted and simplified even more by the editor's interface.
Experimentation videos
These are videos I created while experimented with editing various data in the game. It won't be possible to do this kind of stuff in the editor yet, but it's proof that it is possible, and I am actively looking into how to achieve it for future versions.
Golden Sun: Hacking, Dutch Farmer Unleash - Oh yes, the unleash of the mythical wheat sword. For this video I took Flora's summon, changed the background, edited the flower petal palette, and replaced her graphic.
Golden Sun: Hacking, Zelda Cutscene - Cutscene editing, a fairly simple example, but hey, editing ASM code with a HEX editor is tricky!
Golden Sun: Hacking, A Touch of Touhou - Another custom sprite insertion demonstration, this time with music to match!