Improving ToEE's User Interface

Discussion in 'Community Projects' started by Gaear, Oct 27, 2011.

Remove all ads!
  1. I think the font we are using for the main title with the Scurlock 64 point is not that catchy. Hope nobody will get offended if I give some advice instead?
     
  2. sirchet

    sirchet Force for Goodness Moderator Supporter

    Joined:
    Dec 6, 2003
    Messages:
    3,721
    Likes Received:
    49
    No, no offense taken, please tell us more ........ Mr Bot -_-
     
  3. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    Okay, so ... in conjunction with the soon-to-be-released updated front end and temple.dll that will hopefully end the increased incidence of CTDs in 7.9, the old 7.8 temple.dll had to be repatched with all the code changes outlined in this thread to replace fonts and adjust the dialogue window. While doing this, I endeavored to address three issues with the current AI that can't be fixed with .mes level font changes and/or new UI elements:

    • the overflow text in the party pool character list UI
    • the double line printing on single line problem in item creation UI
    • the vertical spacing and placement problem with the console

    I fixed the first two issues by painstakingly documenting which instances of the new Priory font in the .dll needed to be reverted to Arial (because a revert was the only option we had). These two elements are now good again, though players will see Arial 10 point in those instances. But OF COURSE, things are never so simple across the board.

    Regarding the console, there are indeed locations in the .dll that control vertical spacing and the console font. We can patch those so that the console works like it used to again with properly spaced Arial. Yay! But this being ToEE, we can't have our cake and eat it too, as, inexplicably, we can't patch the radial menu font with Priory and have the console font and spacing work properly with Arial. The two elements are somehow bafflingly intertwined (no doubt because to the ToEE gods, this just made good solid sense :bored:). Even with the patched console code, patching the radial menu instance causes the console to go back to Priory with bugged vertical spacing.

    In a nutshell, we can have Priory in the radial menu, or a properly operating console. But not both. As near as I can tell. Unless maybe a different patching order would fix it. But I doubt it.

    It's weird, because according to random1's instructions, one block of code appears to get patched twice. This is in fact the location where things get mixed up. But the patch for this location is not superfluous, despite outward indications, because not patching it leaves the radial menu at Arial.

    So, which do we want, assuming I can't figure out how to have them both?

    One solution would be to publish the patching location here for modders who wish to revert it independently so they can use the console. But aside from being a pain in the ass, regular players sometimes use the console too ...
     
  4. Daryk

    Daryk Veteran Member

    Joined:
    Jan 14, 2012
    Messages:
    1,170
    Likes Received:
    32
    This isn't exactly a democracy, but I vote for the functioning console. I think that will get you fewer complaints.
     
  5. BenWH

    BenWH BGPHughes

    Joined:
    Jun 12, 2013
    Messages:
    179
    Likes Received:
    1
    I don't use the console at all, but I still agree!
     
  6. sirchet

    sirchet Force for Goodness Moderator Supporter

    Joined:
    Dec 6, 2003
    Messages:
    3,721
    Likes Received:
    49
    I consider the console an invaluable debugging tool, so my vote, (if I actually had one :p) would be to return it to it's normal operation.
     
  7. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    Thanks guys. But we can scratch much of what I stated above. I've never been a .dll guy (it's way beyond me, and all I'm actually doing here is following directions with a minimum of experimentation), but I'm beginning to see why it's driven all real Co8 .dll modders insane.

    So what I have found out now - and this may change tomorrow - is that we can have our cake and eat it too, only without cherries on top. :p

    I was wrong or incomplete on a few of the conclusions above. It seems that the radial menu and console patches actually aren't connected (other things are, while still other things do or undo other other things), blah-blah-blah, no one really cares about the details. But the bottom line is that we can have the radial menu in Priory font and the console operating properly. In Priory font. What we can't have are two of the instances of Arial patched to Priory that random1 indicated, and the console can't be in Arial (which is kind of more functional actually for the console but meh). The rub is, I don't know what two instances of Arial aren't getting patched. They're not anything obvious, and not the radial menu font.

    The reasons for this are varied and insane - e.g. patching the console font back to Arial does cause the radial menu to change to Arial as well, even though the patch location is not for the radial menu; patching one of the unknown font locations mentioned above causes the console vertical spacing patch to stuff up/be undone, even though it's not the same location either, etc. Whatever.

    Here's the exact procedure to achieve everything above, for posterity:


    TO PATCH THE FONTS

    1. Replace all instances of first line with second line in all strings below. This will replace all instances of Arial-10 and Arial-Bold-10 with Priory-12.

      6A 0A 68 C8 26 29 10
      6A 0C 68 BC 26 29 10 (110 instances)

      6A 0A 68 D8 D7 26 10
      6A 0C 68 BC 26 29 10 (92 instances)

      C7 44 24 08 D8 D7 26 10
      C7 44 24 08 BC 26 29 10 (1 instance)

    2. Revert instances below to original. They are exceptions for where arial needs to stay.

      location 1515D5 - craft wondrous items left column font
      location 1654C8 - party pool character list font
      location 1EAEFF - console font that controls vertical line spacing for some reason

      6A 0C 68 BC 26 29 10
      6A 0A 68 D8 D7 26 10

    TO PATCH THE DIALOGUE BOXES

    1. Go to locations listed below and patch as indicated, replacing first line with second.

      location 14C16F

      8B 44 24 08
      33 C0 90 90

      location 14C1CB

      8D 41 6D 83 C1 7E
      8D 41 3B 83 C1 4D

    That's it.
     
  8. Zoltec

    Zoltec Pгōdigium

    Joined:
    Apr 22, 2012
    Messages:
    547
    Likes Received:
    16
    I do use them. Actually its not "dynamically generated" the better term is the other yours "can't be controlled."

    There's an appropriate fix for this (Widescreen Support). But it will require the help of TFE-X. What I meant of is, adjusting the whole frame into the PORTRAITS position, specifically, to match the resolution (The portrait adjusts based on ToEEs' specific resolution, the frame must not also be an exception - vice versa). Here's a few conditions for TFE-X iteration loop:

    Conditions

    If toee.cfgs' resolution is 800x600 then do not change anything in 0_track_ui_locations.mes <this is the default one>

    If toee.cfgs' resolution is 1024x768 then do change 0_track_ui_locations.mes contents (by means of editing or by overwriting a diff. one [file to file]). <below>

    You must test different Y positions (basically by adding) until it contains the portrait correctly. If you already had the number, then apply it to others.

    In {002} the original Y position is 85, I've adjusted it a bit by adding 28 which becomes 113 [the main window frame of Track UI fits perfectly on the portrait].

    Note that 28 is the number.

    You will do the same for others...

    Y Position 800x600

    {002} {85}
    {012} {138}
    {022} {138}
    {111} {97}
    {121} {144}
    {216} {140}
    {421} {364}

    We'll just add 28 to all Y's and we get the correct frame positioning for 1024x768. <below>...

    Y Position 1024x768

    {002} {113}
    {012} {166}
    {022} {166}
    {111} {125}
    {121} {172}
    {216} {168}
    {421} {392}

    And so on...

    File path _
    \Atari\Temple of Elemental Evil\data\art\interface\TRACK_UI "0_track_ui_locations.mes"
     
  9. Zoltec

    Zoltec Pгōdigium

    Joined:
    Apr 22, 2012
    Messages:
    547
    Likes Received:
    16
    Actually my proposed condition for 800x600 is incorrect, since, the contents of it, will be changed upon selection of diff. resolutions.
     
  10. Zoltec

    Zoltec Pгōdigium

    Joined:
    Apr 22, 2012
    Messages:
    547
    Likes Received:
    16
    Agetian, can we possibly realize this through Front-End? This will absolutely correct the portrait positioning of Track User Interface for every resolution. TrackUI is widely known for its incorrect portrait positioning i.e. the portrait of the critter which is being shown in the TrackUI.
     
  11. Zlayer

    Zlayer Member

    Joined:
    Oct 31, 2013
    Messages:
    4
    Likes Received:
    0
    Hi, im new to this game and mod. The thing i notice is that when im creating a character, i cant see the stats name str dex con etc, were i add the points, i do see them on the left character chart.

    I also tried to read how im suppose to patch the fonts and stuff but i have no idea, i downloaded odbg thinking that the program i need but i totally suck as i cant figure it out.

    Im using latest version of of Circle 8.0.1 and latest End-X 4.6
     
  12. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    You don't need to patch anything; the latest modpack has all this already.

    The missing stat names is 'normal' in that we deliberately removed them. Long story short - we can't have them there with a new interface.
     
  13. Zlayer

    Zlayer Member

    Joined:
    Oct 31, 2013
    Messages:
    4
    Likes Received:
    0
    OH OK, I did notice everything else looked like the screenshots but since i was missing that i though something was wrong, great work btw ^^
     
  14. theruler

    theruler Member

    Joined:
    Nov 15, 2013
    Messages:
    14
    Likes Received:
    0
    Hi mates,
    I'm working on italian translation of the game and I am now in the UI tweaking process.
    Where can I find the font Alignment chioce menu reference in temple.dll?
    I have to revert back to arial-10 due to visual problem.
    thanks
     
  15. theruler

    theruler Member

    Joined:
    Nov 15, 2013
    Messages:
    14
    Likes Received:
    0
    Found font buttons (alignment choice) at 0x0011E540!!!

    I wonder where is the command that makes those button texts all UPPERCASE whereas in stat.mes are lowercase.
     
Our Host!