1. cearp

    OP cearp 瓜老外
    Member

    Joined:
    May 26, 2008
    Messages:
    8,198
    Country:
    Tuvalu
    Hi guys, here's a rom editor I made for this game.
    It took loads and loads of work, and took some of my first reverse engineering of asm code.
    I want to write an article on here/my website about it, really - I spent ages on this.

    [​IMG]

    Some people know that the Chocobo makes a cameo appearance in this game: once you complete the game, you see it at the very end.
    But I don't think anyone knows (not even TCRF?) that it's an actual enemy and with some minor hacking, can be added to the regular monsters in the game!
    [​IMG]
    [​IMG]

    My tool can be used to translate the game, randomize, or just tweak some values to make it more balanced.
    It's still not perfectly finished or functional, but definitely usable enough for someone to have fun with.
    Of course, in time I will improve it and fix some things.

    [​IMG]

    https://github.com/llakssz/SeiSaboten

    PS. One internet point for whoever can explain the name of the project (SeiSaboten) and tell me why it's slightly humorous.
     
    Last edited: Jan 22, 2020
    Meteor7, raxadian, kineticUk and 8 others like this.
  2. zoogie

    zoogie playing around in the dsiware
    Developer

    Joined:
    Nov 30, 2014
    Messages:
    7,991
    Country:
    Micronesia, Federated States of
    SeiSaboten -> Sex Cactus? :P
    I don't think I need to explain the humor there, lol. Is there a romantic cactus in the game or something? Never played it ;p

    edit: does it have something to do with this character?
    https://mana.fandom.com/wiki/Li'l_Cactus
     
    wicksand420 likes this.
  3. cearp

    OP cearp 瓜老外
    Member

    Joined:
    May 26, 2008
    Messages:
    8,198
    Country:
    Tuvalu
    eh not too far off :) the Japanese name is Seiken Densetsu (Legend of the Holy Sword/Sacred Sword) - in this game there's a really random cactus house that grows on demand when you want to enter, to forge items.
    SeiSaboten = Holy Cactus :D
     
    raxadian and zoogie like this.
  4. Dodain47

    Dodain47 GBAtemp Addict
    Member

    Joined:
    Jan 1, 2017
    Messages:
    2,055
    Country:
    Austria
    Do you think there is a way to reduce the slowdown? The game has some issues and I was wondering if this is because of inefficient programming.
     
  5. cearp

    OP cearp 瓜老外
    Member

    Joined:
    May 26, 2008
    Messages:
    8,198
    Country:
    Tuvalu
    i never really remembered that abot the game, but when playing on a flash cart like 2 years ago, i notice the music would slow down a little bit when you open the menu.
    i tried on my real cart and noticed the same thing! so yeah... i guess it's possible that that lag could be reduced, but i don't have any ideas how to do it myself. i remember a hack for some game (snes i think) where a hacker did remove the lag that appered in that game's ring menu.

    i certainly have made the game lag when adding 'too many' enemies to an area, and it has to process them all at once. it would be cool if that limit was removed but yeah, it is only a gba after all.

    but speaking of asm hacks... i have made a pretty cool one myself for this game, just not shared it online.
    it's not 100% perfect, but it seems to work pretty well. it's a bgm select hack, so you can change the current playing song in the background, or, go back to what 'should' be playing.
    i wanted to add text, to show which track number is currently playing, but never made it that far. i guess that's why i never released it.
    i should do!
     
    Dodain47 likes this.
  6. Dodain47

    Dodain47 GBAtemp Addict
    Member

    Joined:
    Jan 1, 2017
    Messages:
    2,055
    Country:
    Austria
    Track selection is a great idea! Seiken Densetsu 3 has something similiar.
     
  7. FAST6191

    FAST6191 Techromancer
    Reporter

    Joined:
    Nov 21, 2005
    Messages:
    29,625
    Country:
    United Kingdom
    Was having trouble loading this under linux.
    Grabbed a zip from github, stuck it in a directory, renamed main.pyw to main.py because I wanted to.
    Was getting encoding errors at various points (the smiley in the comments being the first thing it seems)
    Chucked a # coding=utf-8 at the start and it opened up.

    Tried loading a ROM and
    Code:
    python3 main.py
    Traceback (most recent call last):
      File "main.py", line 259, in openFileNameDialog
        rom_code = (globals.my_file[0xAC:0xB0]).decode('ansi')
    LookupError: unknown encoding: ansi
    Aborted
    
    That was obviously python3 (and same for 3.7), 2 and 1 fail at a different point but I am not sure about what goes for the version differences these days.

    Changed ansi for utf-8 because I am a cowboy and roll that way and it loaded, and loaded aspects of the ROM. Didn't try saving at this point.

    Screenshot_2020-01-23_20-07-57.png

    Anyway portal post incoming.
     
  8. cearp

    OP cearp 瓜老外
    Member

    Joined:
    May 26, 2008
    Messages:
    8,198
    Country:
    Tuvalu
    Oh yeah certainly Python 3, and 3.7 I was using, I'll include those utf8 encoding header/macro/whatever Python calls at the top.
    Yes I think I should have used 'ascii' for the encoding decoded, my mistake. ('ascii' is the default too, so I didn't have to pass anything really)
    Nice to hear you got it working though, and thanks for showing what it looks like on your *nix - I'll expand the UI a big so it looks better, unless there's some better way I should do it.
    This was my first time using PyQt, I've never used Qt before so things might look a bit ugly for people who know what they are doing.

    This isn't a fully finished product, it still required work but yeah it certainly is usable in it's current form (or minor edits for you!), to make some fun changes to the ROM.
    Very cool this will be on the portal - thank you! Honored.

    Most of the work went in to reverse engineering the asm that stores the enemy stats, there are still unused values that I don't know exactly the purpose of.
    And a bunch more hours were spent documenting all the kanji in the game, to support the Japanese text in the Japanese game, more than 1000 kanji I had to copy out. I did skip some, when I wasn't too sure since I wasn't looking at them in context, and the font isn't the clearest (since gba)

    I used the handwriting recognition built into Windows, on my Surface Pro (not an advert, but yeah I really do like this thing!)
    Below is an image of me doing the first kanji. After around 3 long sessions, I had done virtually all of them. (The (alomost )completed excel file is in my github repo)
    [​IMG]
     
  9. FAST6191

    FAST6191 Techromancer
    Reporter

    Joined:
    Nov 21, 2005
    Messages:
    29,625
    Country:
    United Kingdom
    Portal post made
    https://gbatemp.net/threads/gba-rom-editor-seisaboten-editor-for-sword-of-mana.556874/
    Did also mirror it on the download section just in case github decides to throw a wobbly at some point (it has been years of them having a disassembly of pokemon on there so I am not predicting much there, however who know what the futures holds and SquareEnix have occasionally been known to have spell of idiocy), if you want your own download on the download section say so and I will lose that.

    If you are worried about pretty UI that is probably more my OS setup than your choices. I have XFCE and generally think UIs that look like Windows 2000 are where it is (if it can't be as beige as the computers of that era I don't want to know) at so most things reflect that unless they take the time to hardcode their own. Probably should work on that for screenshots in the future.

    OCR/handwriting input (hope you got the stroke order right) as a way of decoding Kanji. We have talked about it for years (I think we were all still using njstar and jwpce), and indeed crystaltile2 even claims some support for it, but it is a first that I can recall seeing it used practically.
    That said unless a game uses a known encoding/ordering I have yet to find a useful "quick" way of listing kanji for a game so it is just one of those things that takes hours either way.
     
    cearp likes this.
  10. cearp

    OP cearp 瓜老外
    Member

    Joined:
    May 26, 2008
    Messages:
    8,198
    Country:
    Tuvalu
    Yeah the kanji was in no logical order from what I could tell. It would be a big slap in the face if I found out now! It took hours :wacko:
    The handwriting recognition built in to Windows 10, when using my Surface Pen was amazing honestly, stroke count and order wasn't even really important - which is good because my kanji (well, Japanese in general) is a little rusty so if there was a kanji that was very cramped, I could 'guess' and it would pick it up. If I were to use a kanji dictionary and look up each one that I don't know by radical, it would have taken 10x, 20x longer.
    There is a Polish translation of this game already, and a Chinese one - I probably could have asked them for the kanji table because the Chinese translators would have had to have documented it themselves too. But, fun to do it myself.
    https://tieba.baidu.com/f?kw=新约圣剑传说

    I spent an hour looking into the graphics, to get the sprite of each enemy loaded for when you are editing it, but to no avail.
    I'm just a rom editing noob :)

    I've got a whole text document with more than 1000 lines of my thoughts and findings on this game, starting with 0 knowledge of the inner workings of the game and rom hacking in general, to getting much better at it.
    I should make public too, the only problem is that it's just that, my thoughts, and so includes lots of 'fluff'.
    As always, some of the coolest things I find are by trial and error, for example, I found an address in ROM where changing the value will make each map change/room transition act as if you are in a dream/the past, the screen going all wavy etc.
    As you can tell I have a lot to say/write about it, I'll make a write up and post it on my website, and blog here!
     
    Last edited: Jan 23, 2020
    DS1 likes this.
  11. raxadian

    raxadian GBAtemp Maniac
    Member

    Joined:
    Nov 10, 2018
    Messages:
    1,261
    Country:
    Argentina
    I am quite sure you didn't have Chocobos on the Gameboy version...
     
  12. cearp

    OP cearp 瓜老外
    Member

    Joined:
    May 26, 2008
    Messages:
    8,198
    Country:
    Tuvalu
    In the original you could ride one, but yeah not an enemy from what I remember.
    In this GBA game, like I say in my first post, there is the complete enemy data for it in the game, but it's never used, apart from at the VERY end of the game as a little easter egg, apparently you need to wait at the 'fin' screen for a little while? but it's nothing you can interact with.
    (if you want to see, look at a playthrough on youtube I guess, or scroll to the bottom of this page - http://www.coronajumper.com/2019/08/sword-of-mana-finale-evoke.html of course, it will contain spoilers!)
     
    raxadian likes this.
  13. raxadian

    raxadian GBAtemp Maniac
    Member

    Joined:
    Nov 10, 2018
    Messages:
    1,261
    Country:
    Argentina
    That's because Chocobo are not supposed to be part of the mana series. The one you can ride of the Gameboy game is supposed to just be a cameo.

    Does the USA rom work only in a particular emulator or something?

    I am a fan of the Gameboy version but I wanna try this one.
     
    Last edited: Jan 24, 2020
  14. cearp

    OP cearp 瓜老外
    Member

    Joined:
    May 26, 2008
    Messages:
    8,198
    Country:
    Tuvalu
    the game plays fine in any emulator, nothing special to worry about :)
    mgba is one of the best emulators.
     
  15. akaishi

    akaishi Member
    Newcomer

    Joined:
    Dec 17, 2018
    Messages:
    20
    Country:
    Brazil
    Very amazing your tool!
    I'm happy to see more rom hacking tools being launched here. It's useful to revitalize an old game.
    I like this one. I played a fan game based on this many years ago, so it's very nostalgic for me.

    I would like to see one blogpost that you explain your reverse engineering process to create this tool and coding.

    Also, I think that you could add on README a section explaining exactly what the user should to do to run it, such as Python version, packages to install and command line to run.
     
    cearp likes this.
  16. cearp

    OP cearp 瓜老外
    Member

    Joined:
    May 26, 2008
    Messages:
    8,198
    Country:
    Tuvalu
    Thank you for your feedback - your web tool is very cool, more accessible than this project :)
    I'm more comfortable in python!
    I will remember to play klonoa one day.

    Certainly I will document more about my program, but it doesn't need much - all it requires is python (I used 3.7.5) and PyQt (5.13.1)
     
  17. DS1

    DS1 伝説のサラリーマン
    Member

    Joined:
    Feb 18, 2009
    Messages:
    1,386
    Country:
    United States
    This is pretty fascinating to me, and I'd love to read your notes, if I weren't so far removed from the days rom-hacking. Thank you for giving some insight into how you learned through this project!
     
    cearp likes this.
  18. kumandrake

    kumandrake Newbie
    Newcomer

    Joined:
    Jan 31, 2020
    Messages:
    7
    Country:
    Argentina
    sorry to bother you people , but could someone make an exe of this editor for me ? i tried making one myself but i couldnt ( im super noob), i downloaded and installed python but i cant get seisanoten to work, it just wont load

    — Posts automatically merged - Please don't double post! —

    im sorry to bother you people but could you please make an EXE file of this editor for me ? i tried making it myself but i cant ( im a noob) , i downloaded and isnatlled python but i cant get the editor to run :( . Help plese!!! and thanks in advance
     
  19. Manasword

    Manasword Tempest Tales
    Newcomer

    Joined:
    Jul 29, 2012
    Messages:
    35
    Country:
    United States
    How to launch this utility? There's no exe file, and I can't launch it with python.
     
  20. cearp

    OP cearp 瓜老外
    Member

    Joined:
    May 26, 2008
    Messages:
    8,198
    Country:
    Tuvalu
    I can try to package it into an exe, there are a few tools that allow that. I'm not sure how wel they work though, I'll see :)
     
    ILuvGames and kumandrake like this.
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - SeiSaboten, editor, Sword