Help Wanted

2011-05-09-lost-and-found

I don’t have as much time for programming as I used to. There are a couple of things I could use some help with, so if you have at least a passing familiarity with Pascal and GearHead then read on.

Understanding the i18n version

The Japanese GearHead fan community has made a lot of improvements to GearHead over the years. nameless provided some links to the changes in a previous comment thread. It would be easiest for me if someone could submit each of the changes as GitHub pull requests; that way, I could quite easily see what each of the changes does, and quickly incorporate them into the main branch. Most of the changes seem to be within $IFDEF blocks, so even an explanation of what each tag does and which tags depend on other tags would be nice.

My main concerns:

  • What is the minimum code that needs to be patched in so that international translations work?
  • Are there any big bugfixes or improvements that should be imported right away?

Unfortunately, I haven’t been able to compile the i18n version or run the precompiled binaries on my current laptop. I suspect that I’m doing something wrong.

Importing the GH2 ASCII interface

Right now I’m busy improving the SDL interface. Due to limitations of the console interface, many of these changes cannot be applied to ASCII mode. One way to get around this would be to adapt the GH2 vidgfx, vidmenus, and vidmap units to GH1. In theory, it should be possible to set things up so that most of the $IFDEF SDLMODE switches can be removed.

One possible complication: Are the GH2 ASCII units compatible with the i18n patches?

8 Comments

Skip to comment form

    • Another fan on March 20, 2016 at 12:35 pm
    • Reply

    “Unfortunately, I haven’t been able to compile the i18n version or run the precompiled binaries on my current laptop. I suspect that I’m doing something wrong.”
    Linux? ASCII or SDL?

    I only tried ASCII and got that to compile as documented in I18N_COMPILING.txt (er or rather in build.sh!).

    Then needed to get the datafiles archive unzip that and move the shiny executable in place then start with
    LANG=en_US.utf8 ./arena

    I honestly would not spot differences to the original because shamefully I have not played enough of vanilla GH1 in order to be able to tell differences.

    They just seem to have incorporated many of your updates:
    https://osdn.jp/projects/gearhead1-i18n/releases/64864
    (at least around the Feb 28 release judging from and taking their “1200” for what it reads.)

    Looks like someone/ppl are busy merging and likely responding to this. 🙂

    How do you feel about whacky or rather whacky content/story/missions additions (I remember you had a call for contributions when the forum used to be around)?
    This may have some (or was “putting head in formaldehyde[(sp?)]” in combination with the murder club story arc something you came up with / approved e.g.?
    If Vespa was indeed an inspiration from FLCL like TVTropes might suggest (I doubt it), you would likely not mind.
    Personally I would disapprove of too whacky / somewhat immersion breaking stuff, though.

    That said I would love to get even more content/story/missions than what GH1 already offers
    and might dip in there myself after I will have seen most of what is there already.

    1. I tried compiling by just specifying switches to fpc directly. I should have another look through build.sh.

      I like the idea of people creating their own content, but I think I’d be picky about what I’d incorporate into the master branch. GearHead is a very particular type of wacky. There could be content packs for people who want to play in a more humorous style, or grimdark, or with special emphasis on a certain skillset, or whatever.

      The Vespa was indeed inspired by FLCL.

    • nanasi2_jp on March 20, 2016 at 3:11 pm
    • Reply

    heyas,

    I’ve been asked to bring a message from G-HAL, the coder/maintainer of the i18n Gearhead 1/2, on the matter.

    First of all, unfortunately, the person who told you about i18n version (nameless) did it without asking G-HAL or anything beforehand, so right now he is a bit confused as you are, as he was not really prepared to sort out needed information for you.

    (or, more precisely, it was not even his intension to notify you about the i18n version, let alone trying to make you merge some of it.)

    Anyhow, whatever, it has been done, so here’s quick responses from G-HAL about your concerns:

    – min codes to get i18n thing working:

    Those are tagged with PATCH_I18N, which is dependant of functionalities tagged with WITH_TENC, CONV_UNICODE, and ICONV. Because of that, you will need libiconv to make them work.

    – bugfixes that are considered critical:

    One thing you may need to do is use additional arguments for fpc: -Ci -Co -CR -Cr -Ct.
    And for codes, some relevant fixes (illigal memory access, several variable overflows) are tagged with PATCH_GH_PARANOID_SAFER and PATCH_GH. Unfortunately, these two tags are not really dedicated for such critical fixes, and it’s rather difficult to tell which part is really tied to it (need more time to sort them out).

    – can’t get i18n compiled yourself

    Not really sure what’s going wrong there, but G-HAL says you may want to try the ‘All-In-One’ package which you can get from https://osdn.jp/projects/gearhead1-i18n/. If something still go weird with it, let me know.

    For now that’s what we can tell you at this moment.

    The i18n Gearhead 1/2 has its history for more than 10 years. It will be no doubt a mess, even for G-HAL himself, trying to understand how/what exactly they are different from original games. You, as the original author, do not really have to adopt to it, so I would say you can continue your original plan of improving the original GH1 in your own way.

    Actually, the i18n v1200 mentioned just above this is what G-HAL was busy trying — adopt the i18n to your new improvements rather than bothering you about it.

    In any way, it you have any question about specific portion of codes/fixes, feel free to ask me.
    As said above, it’s not his intention to bother you with i18n, but if you find anything useful in it and want to bring it to your codes, he states he is more than willing to help it.

    1. Thank you and G-HAL for the reply. I’ll let you know if I have any questions.

    • Francisco Muñoz on March 20, 2016 at 10:08 pm
    • Reply

    I can try to create some Pull Requests, on steps,based on bug fixes first (starting with design and script typos and small buglets) and additional funtionality second (feature by feature., the ones in the PATCH_GH ifdefs).. but it will take some time as this week as I’m fairly busy.
    The internationalisation is a bit beyond my level.

    1. Thanks for all of the help you’ve given already. It’s been greatly appreciated.

        • Francisco Muñoz on March 21, 2016 at 5:14 pm
        • Reply

        The next step is to include the memory access safeties as they are the bulk of the additional code (at least in number of lines)

        Starting with
        *** in gears.pp *****

        GG_DisposeGear = -32767; { Gear was disposed, but real dispose is delayed to avoid improper memory accesses. }
        NAG_DisposeNA = -32767; { NAtt was disposed, but real dispose is delayed to avoid improper memory accesses. }
        NAS_DisposeNA = -32767; { NAtt was disposed, but real dispose is delayed to avoid improper memory accesses. }

        And then the 1287 lines with thinks like


        if (NIL = M) or (M^.G <= GG_DisposeGear) then Exit;

    • Random commenter on March 22, 2016 at 2:27 pm
    • Reply

    I actually was quite suprised when japanese take on it was straight away considered a valuable development that should be ported into main, official branch of Gearhead straight away without Hewitt and folks who were working on that branch talking it over first.

    Still, I don’tmind that much. Eastern game fans done pretty great work and lots of features, minor improvements and so on seems like something that would be great to see in the game. Also, if both Hewitt and them would hybridize the game out of both branches, it’d possibly help development in the future, once Gearhead would be officially done with and work on Gearhead 3 would progress (what’s about actually improving GH2, though?).

Leave a Reply

Your email address will not be published.