Skip to content

The New UI System: How to Use It

1356789

Comments

  • mf2112mf2112 Member, Moderator Posts: 1,919
    edited March 2016
    Hi @Iroumen, may I please ask for some guidance? How do I publish an additional list to the tabs? It seems like that is my problem now, I got the attribute scores to show back up by changing it to listItems = at the top, and that works for tabs 1 and 2. Unfortunately when the next listItems comes in on tab 3 and the other tabs I lose the attribute scores. It seems like I need to change the attributes scores list to something else so it doesn't interfere with anything else but I can't quite get the trick of that. I saw "otherlist" and I tried copying it to a new block and naming it "listattr" but that didn't work out either.

    Finally figured out how to get past this, well somewhat. There can be several listItems but they can't step on each other. On some tabs I had to put the attribute list block first, and on some it went last.
    Post edited by mf2112 on
  • ScottBrooksScottBrooks Member Posts: 687
    One note that should help out as well, if you run the exe from the command line, you'll end up seeing a bunch more log details, including if you've got some exceptions in your lua.

    In particular, you should see the output of
    print_r(characters)
    
    which should print out the whole characters table which would show you all the possible information about a character you could possibly see.

    About the comment about the mage book size, we adjust the side of some elements programatically. Some of the items also have a name field. We didn't name most of the elements because they are not referenced, but the ones that do have a name are probably referenced elsewhere.

    If you search the UI.menu for that name you will find the other places that may adjust it.
  • mf2112mf2112 Member, Moderator Posts: 1,919
    edited March 2016
    Since I am having problems right now I tried this but pretty cryptic so far. I didn't see the print_r(characters) output anywhere, is there any way to log it to a file? Even with the cmd prompt set to 9999 lines it gets filled up before I can click back to the other screen to stop it. Thanks!

    I managed to stop the output finally. I don't see print_r(characters) anywhere unfortunately.
    C:\Program Files (x86)\Steam\steamapps\common\Baldur's Gate II Enhanced Edition>INFO: status: 0
    INFO: Creating DPWrapper
    Setting breakpad minidump AppID = 257350
    Steam_SetMinidumpSteamID: Caching Steam ID: 76561198291464780 [API loaded no]
    INFO: scanning:(0) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/override
    INFO: scanning:(1) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/scripts
    INFO: scanning:(2) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/sounds
    INFO: scanning:(3) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/sounds
    INFO: scanning:(4) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/portraits
    INFO: scanning:(5) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/characters
    INFO: scanning:(6) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/movies
    INFO: scanning:(7) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/movies
    INFO: scanning:(8) C:/Users/Mike/Documents/Baldur's Gate II - Enhanced Edition/override
    INFO: scanning:(9) C:/Users/Mike/Documents/Baldur's Gate II - Enhanced Edition/scripts
    INFO: scanning:(10) C:/Users/Mike/Documents/Baldur's Gate II - Enhanced Edition/sounds
    INFO: scanning:(11) C:/Users/Mike/Documents/Baldur's Gate II - Enhanced Edition/portraits
    INFO: scanning:(12) C:/Users/Mike/Documents/Baldur's Gate II - Enhanced Edition/characters
    INFO: scanning:(13) C:/Users/Mike/Documents/Baldur's Gate II - Enhanced Edition/movies
    INFO: scanning:(0) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/override
    INFO: scanning:(1) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/scripts
    INFO: scanning:(2) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/sounds
    INFO: scanning:(3) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/sounds
    INFO: scanning:(4) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/portraits
    INFO: scanning:(5) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/characters
    INFO: scanning:(6) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/movies
    INFO: scanning:(7) C:/Program Files (x86)/Steam/steamapps/common/Baldur's Gate II Enhanced Edition/lang/en_US/movies
    INFO: scanning:(8) C:/Users/Mike/Documents/Baldur's Gate II - Enhanced Edition/override
    INFO: scanning:(9) C:/Users/Mike/Documents/Baldur's Gate II - Enhanced Edition/scripts
    INFO: scanning:(10) C:/Users/Mike/Documents/Baldur's Gate II - Enhanced Edition/sounds
    INFO: scanning:(11) C:/Users/Mike/Documents/Baldur's Gate II - Enhanced Edition/portraits
    INFO: scanning:(12) C:/Users/Mike/Documents/Baldur's Gate II - Enhanced Edition/characters
    INFO: scanning:(13) C:/Users/Mike/Documents/Baldur's Gate II - Enhanced Edition/movies
    INFO: LUA: UI string not found: Recent events text will go here.
    INFO: LUA: Initializing Quests
    INFO: gl.useShaders: 1
    gl.has_s3tc: 1
    gl.has_pvrtc: 0
    gl.has_atc: 0
    gl.postprocessing: 0
    gl.uploadFormat: 0x80E1
    gl.uploadType: 0x8367
    INFO: Font: loaded font STONESML
    INFO: Baldur's Gate II - Enhanced Edition v2.0.61.0
    INFO: Font: loaded font NORMAL
    INFO: Font: Added point size (12) for font STONESML
    INFO: Font: loaded font REALMS
    INFO: Font: Added point size (20) for font REALMS
    INFO: Font: Added point size (15) for font STONESML
    INFO: Font: Added point size (23) for font STONESML
    INFO: LUA: Initializing Quests
    INFO: sAchieveID=NONE,m_sGlobalName=BD_STORY_MODE,m_nValue=0
    INFO: sAchieveID=NONE,m_sGlobalName=BD_NIGHTMARE_MODE,m_nValue=0
    INFO: sAchieveID=NONE,m_sGlobalName=GameDifficulty,m_nValue=2
    INFO: sAchieveID=NONE,m_sGlobalName=GameDifficulty,m_nValue=4
    INFO: sAchieveID=NONE,m_sGlobalName=GameDifficulty,m_nValue=4
    INFO: Font: loaded font FLOATTXT
    INFO: Font: Added point size (12) for font FLOATTXT
    INFO: Font: Added point size (16) for font NORMAL
    INFO: Font: loaded font TOOLFONT


    << THIS was when I pushed the Ability tab button >>

    INFO: [string "function variant07E471B0 () return Infinity_F..."]:1: attempt to index field '?' (a number value)
    stack traceback:
    return debug.traceback():1: in main chunk
    =[C]: in function '__index'
    function variant07E471B0 () return Infinity_FetchString( listItems[rowNumber][1].strRef) end:1: in function <[string "function variant07E471B0 () return Infinity_F..."]:1>
    INFO: [string "function variant07E471B0 () return Infinity_F..."]:1: attempt to index field '?' (a number value)
    stack traceback:
    return debug.traceback():1: in main chunk
    =[C]: in function '__index'
    function variant07E471B0 () return Infinity_FetchString( listItems[rowNumber][1].strRef) end:1: in function <[string "function variant07E471B0 () return Infinity_F..."]:1>
    INFO: [string "menu"]:643: attempt to index field '?' (a number value)
    stack traceback:
    return debug.traceback():1: in main chunk
    =[C]: in function '__index'
    menu:643: in function <[string "menu"]:638>
    (...tail calls...)
    INFO: [string "menu"]:634: attempt to index field '?' (a number value)
    stack traceback:
    return debug.traceback():1: in main chunk
    =[C]: in function '__index'
    menu:634: in function <[string "menu"]:629>
    (...tail calls...)
    INFO: [string "function variant07E471B0 () return Infinity_F..."]:1: attempt to index field '?' (a number value)
    stack traceback:
    return debug.traceback():1: in main chunk
    =[C]: in function '__index'
    function variant07E471B0 () return Infinity_FetchString( listItems[rowNumber][1].strRef) end:1: in function <[string "function variant07E471B0 () return Infinity_F..."]:1>
    INFO: [string "menu"]:643: attempt to index field '?' (a number value)
    stack traceback:
    return debug.traceback():1: in main chunk
    =[C]: in function '__index'
    menu:643: in function <[string "menu"]:638>
    (...tail calls...)
    INFO: [string "menu"]:634: attempt to index field '?' (a number value)
    stack traceback:
    return debug.traceback():1: in main chunk
    =[C]: in function '__index'
    menu:634: in function <[string "menu"]:629>
    (...tail calls...)
    INFO: [string "function variant07E471B0 () return Infinity_F..."]:1: attempt to index field '?' (a number value)
    stack traceback:
    return debug.traceback():1: in main chunk
    =[C]: in function '__index'
    function variant07E471B0 () return Infinity_FetchString( listItems[rowNumber][1].strRef) end:1: in function <[string "function variant07E471B0 () return Infinity_F..."]:1>
    INFO: [string "menu"]:643: attempt to index field '?' (a number value)
    stack traceback:
    return debug.traceback():1: in main chunk
    =[C]: in function '__index'
    menu:643: in function <[string "menu"]:638>
    (...tail calls...)
    (errors repeat many thousands of times until cancelled)

    I am close to working out these character sheet issues. The only tabs I am having problems on are Combat Stats, Abilities, and Proficiencies. For some reason the attributes scores there go kinda haywire.

    The default front page so far works ok.
    6yyv7wew2mz7.jpg

    The combat stats page always makes the attributes go away except for strength value. Played with this for a few hours now.
    tqhr0da1liig.jpg

    I got the attributes to show up properly on the Proficiencies and Skills tabs, but only by forcing OpenAdvance to 1 so details always start hidden.
    5xe63h3mdq4d.jpg

    If I click the Show Details button, the output gets wonky. It is showing the label numbers from the attributes?
    ukqitadb7940.jpg
    Post edited by mf2112 on
  • ScottBrooksScottBrooks Member Posts: 687
    You should be able to run
    baldur.exe 2> logfile.txt
    
    and all the output will end up copied into the log file too.
  • mf2112mf2112 Member, Moderator Posts: 1,919
    edited March 2016
    Thank you, I will be doing that shortly. I made a partial breakthrough and got it working on the Combat Stats page! Plus a bonus, AC, HP, Damage, and THAC0 top line values only but with the saving throws expanded!
    e5qpus2lurp8.jpg

    ui.menu code here.
    elseif currentTab == 9 then
    showJustText = 1
    showStats = 0
    showSpells = 0
    helpTextString = ''
    listItems = { }
    listItems = {
    { 'AC_LABEL', characters[currentID].AC.current, characters[currentID].AC.details },
    { 'HP_LABEL', characters[currentID].HP.current .. '/' .. characters[currentID].HP.max , characters[currentID].HP.details },
    { 'DAMAGE_LABEL', displayDamage(), characters[currentID].damage.details },
    { 'THAC0_LABEL', characters[currentID].THAC0.current, characters[currentID].THAC0.details },
    }
    if characters[currentID].THAC0.offhand then
    listItems[4][2] = characters[currentID].THAC0.current .. '\n' .. t( 'OFF_HAND_THAC0' ) .. ': ' .. characters[currentID].THAC0.offhand
    end

    for k, v in ipairs(listItems) do
    helpTextString = helpTextString .. '^M' .. t(v[1]) .. ': '.. v[2] .. '^-' .. '\n'
    --helpTextString = helpTextString .. '^M' .. t(v[1]) .. ': '.. v[2] .. '^-' .. '\n' .. v[3] ..'\n \n'
    end
    listItems = {
    { '', '', characters[currentID].proficiencies.savingThrows },
    --{ 'SAVING_THROWS_LABEL', '', characters[currentID].proficiencies.savingThrows },
    --{ 'RESISTANCES_LABEL', '', characters[currentID].proficiencies.resistances },
    --{ 'CURRENT_SCRIPT_LABEL', '', characters[currentID].proficiencies.currentScript },
    }
    for k, v in ipairs(listItems) do
    --helpTextString = helpTextString .. '^M' .. t(v[1]) .. ': '.. v[2] .. '^-' .. '\n'
    helpTextString = helpTextString .. '^M' .. t(v[1]) .. ': '.. v[2] .. '^-' .. '\n' .. v[3] ..'\n'
    end
    listItems = {
    { characters[currentID].attr.str, 9582 },
    { characters[currentID].attr.dex, 9584 },
    { characters[currentID].attr.con, 9583 },
    { characters[currentID].attr.int, 9585 },
    { characters[currentID].attr.wis, 9586 },
    { characters[currentID].attr.cha, 9587 },
    }


    I am still getting the same strange behavior from the Ability tab, well, actually it is changed now, maybe for the better. The attributes are listed on the left now, yay. But the right shows the attribute label numbers instead of the Abilities text block. Hmm.
    hcf49q4c2et0.jpg
    With this ui.menu code, the attributes show up normally but the abilities list is replaced with the label numbers.
    hv8w4qzhhpty.jpg

    This is what happens when I switch that code around.
    rljx1gncckpb.jpg
    Withi this ui.menu code, the Abilities list is displayed but the attributes won't show up. It is exactly the same bit of code as above but with the attribute list at the top instead of the bottom. Strange...
    ic7ii9jfvus6.jpg

    Going to bed now but I finally got everything working except the stupid Ability tab. I need to fix it, then maybe try to switch up Combat Stats and Class to make Combat Stats be the "default" tab. Then I need to figure out something to put in the lower left corner somehow.
    Post edited by mf2112 on
  • PeccaPecca Member Posts: 2,218
    About the comment about the mage book size, we adjust the side of some elements programatically.

    @ScottBrooks: Thanks for the answer, but does that mean we won't be able to adjust the size of it at all?
  • FranpaFranpa Member Posts: 637
    edited March 2016
    @Iroumen, please remove those images and convert them to PNG or JPG! I'm surprised this forum doesn't block the use of IMG tags for BMP image files, though they did recently go through a shift from HTML to BBCode.
  • lefreutlefreut Member Posts: 1,462
    edited November 2019
    ***
    Post edited by lefreut on
  • lroumenlroumen Member Posts: 2,538
    edited March 2016
    @mf2112
    Inserting a new tab is doable. Currently there are 11 defined. Just look for the code
    	tabs = { }
    
    and you see the 11 defined ones below it. Mine are ordered like this:
    	table.insert(tabs, {'BIOGRAPHY_LABEL', 7})
    	table.insert(tabs, {'CHARACTER_SHEET_LABEL', 1})
    	table.insert(tabs, {'CLASS_LABEL', 2})
    	table.insert(tabs, {'KIT_DESC_LABEL', 5})
    	table.insert(tabs, {'COMBAT_STATS_LABEL', 9})
    	table.insert(tabs, {'PROFICIENCIES_LABEL', 3})
    	if not (next(characters[currentID].proficiencies.class_skills) == nil) then
    		table.insert(tabs, {'SKILLS_LABEL', 4})
    	end
    	table.insert(tabs, {"Miscellaneous", 8})
    	if characters[currentID].hasMageBook or characters[currentID].hasSorcererBook or characters[currentID].hasClericBook or characters[currentID].hasShamanBook then
    		table.insert(tabs, {'SPELLS_LABEL', 10})
    	end
    	table.insert(tabs, {'INVENTORY_LABEL', 11})
    	table.insert(tabs, {"Statistics", 6})
    
    --hardcoded string to replace Stats into Statistics.

    You can add a new tab there by typing this.
    	table.insert(tabs, {"YourLabel", 12})
    
    Then a bit later on in the code each Tab is addressed separately by this type of statement
    	elseif currentTab == 2 then
    
    Notice that currentTab == 2 means the CLASS_LABEL tab, not the second tab in your UI. You need to define another elseif for your tab, e.g.
    	elseif currentTab == 12 then
    	--do stuff 
    

    About the lists in one Tab when using 1 table. What you do wrong is that you define listitems twice in your code (by stating listitems = {something}) and it always uses the last one you defined. So what you need to do is extend the first listitems with the new items.
    So in your first attempt use something like this (you may need to swap the order of the three entries, I do not know what you want to see:
    table.insert(listitems, {characters[currentID].attr.str,9582,""})
    
    In your second attempt, simply remove this line in the middle of the block. I am not certain it will work perfectly because the original listitems has only 2 columns defined, the latter 3 columns. I did not fiddle around with these things much yet.
    listitems = {     }
    

    Franpa wrote: »
    @Iroumen, please remove those images and convert them to PNG or JPG! I'm surprised this forum doesn't block the use of IMG tags for BMP image files, though they did recently go through a shift from HTML to BBCode.
    Sorry, I do not understand the reason for this request. Aren't bitmaps supported by bbcode? Is it picture size/download that bothers you, changed it for you.


    @ScottBrooks Is writing a file bychance blocked? Because I was trying to write some variables and keys to file inside the UI.menu, but the file was never created (I checked the path where I was writing to and I have write access there). I was circumventing the print_r using > ui.menu.log because it logs much more than I need. I guess I have to print some clear identifiers for myself around the blocks I am interested in.


    @XKal I guess extra spaces in the tab labels would work. I *think* this should work. The double quotes have 2 spaces. Normally in lua combining text is with .. inbetween.
    table.insert(tabs, {" " .. 'BIOGRAPHY_LABEL', 7})
    



    Edit, combined multiple responses in 1 post.
  • chilvencechilvence Member Posts: 50
    edited March 2016
    Oh you have to have a UI modding forum now :)

    There is going to be so much of a reaction to this, no offence to the dev team but the UI has been begging to be ripped out and re-factored since 1999...

    I actually genuinely get RSI from the way BG makes you fiddle around with stuff. It is no fun the way that puts an end to a 12 hour session. Heh.

    I cant wait to make or see a 'no scrollbars, minimal paging, non intrusive' UI mod

    When you think about it, if you play a pnp game, you'd never have all your character abilities and information scattered across a dozen different pieces of paper, that's just awkward, but that is basically what BG did, and I can never imagine why. It really hurts the organisation freak inside me.
  • FranpaFranpa Member Posts: 637
    chilvence wrote: »
    When you think about it, if you play a pnp game, you'd never have all your character abilities and information scattered across a dozen different pieces of paper, that's just awkward, but that is basically what BG did, and I can never imagine why. It really hurts the organisation freak inside me.

    No, that's what their trying to do now. Previously a lot of the information was presented in the Inventory screen negating a lot of need to look elsewhere and if you did need to look for stuff not listed in the inventory it was all in a singular location within the Character Record screen. Now their trying to hide information in the Inventory/make it harder to gain a general overview of information in the Inventory and spreading information across multiple pages in the Character Record screen!
  • BillyYankBillyYank Member Posts: 2,768
    chilvence wrote: »
    When you think about it, if you play a pnp game, you'd never have all your character abilities and information scattered across a dozen different pieces of paper, that's just awkward, but that is basically what BG did, and I can never imagine why. It really hurts the organisation freak inside me.

    It's because at 640x480 pixels, there's only so much you can fit on a screen before it becomes unusable.
  • ScottBrooksScottBrooks Member Posts: 687
    Pecca wrote: »
    About the comment about the mage book size, we adjust the side of some elements programatically.

    @ScottBrooks: Thanks for the answer, but does that mean we won't be able to adjust the size of it at all?

    The onopen of the 'MAGE' menu adjusts the Y and Height of the entries depending on if we are showing the contingency details in the mage book.
    ...
    if showContingency then
    	Infinity_SetArea('bookListMage', nil, 374, nil, 200)
    	Infinity_SetArea('bookDescription', nil, 374, nil, 200)
    else
    	Infinity_SetArea('bookListMage', nil, 174, nil, 400)
    	Infinity_SetArea('bookDescription', nil, 174, nil, 400)
    end
    ...
    

    That will overwrite any changes you make to the Y and Height values of the elements named bookListMage, and bookDescription.

    @mf2112, That spam of messages like
    INFO: [string "function variant07E471B0 () return Infinity_F..."]:1: attempt to index field '?' (a number value)
    stack traceback:
    return debug.traceback():1: in main chunk
    =[C]: in function '__index'
    function variant07E471B0 () return Infinity_FetchString( listItems[rowNumber][1].strRef) end:1: in function <[string "function variant07E471B0 () return Infinity_F..."]:1>
    
    That means that you've got a bug in your lua code. Chances are listItems[rowNumber] is a number, and not a table.

    When the game is running, you shouldn't see any spam like that.
  • chilvencechilvence Member Posts: 50
    Franpa wrote: »
    No, that's what their trying to do now.

    I can't comment on that, since I don't have access to the beta. But I am happy all the same, because it seems that it can and will be fixed by modders, which is something that Beamdog don't really have the same amount of liberty to do themselves, because as is abundantly clear, even minor changes annoy veteran BG players.
    BillyYank wrote: »
    It's because at 640x480 pixels, there's only so much you can fit on a screen before it becomes unusable.

    I remember it was 640x480, but so were all games back in the day. They still made terribly inefficient use of the space that they had. Borrowing an image from the net, http://scarvell.net/wiki/images/5/52/Imoen-2.png , it's atrocious. You have your six basic stats, stats that in normal circumstances hardly ever change unless you know about it, taking up a third of the screen on the left, meanwhile an endless amount of important information is crammed into a miniscule scroll box on the right. This was before you had the luxury of having basic info on the inventory screen.

    It's improved over the years, especially with the EE shake up, but pretty much every screen is full of wasted space, pointless redundancy and thoughtless design. It's just crap, crap, crap, and even though I love the game to bits, I unapologetically condemn every single aspect of its user interface, the only existing wart on an unparalleled masterpiece of a game. I've devoted time into hacking it before for myself, and managed to squeeze so much more information and functionality out of the same space, even with a personally applied 640x480 limit. So as you can imagine, I am shocked and delighted to hear about this upcoming new functionality :)
  • chilvencechilvence Member Posts: 50
    edited March 2016
    ^ Ahh, please don't listen to that nonsense. Some people have no idea how much work goes into making games.

    Practically everyone else will be ecstatic to see the interface grown up, you can't please everyone.
  • PeccaPecca Member Posts: 2,218
    @ScottBrooks Thanks. If you don't mind me shooting questions at you, which lines control the portrait highlighting upon picking and item?
  • FranpaFranpa Member Posts: 637
    edited March 2016
    Dee wrote: »
    Franpa wrote: »
    chilvence wrote: »
    When you think about it, if you play a pnp game, you'd never have all your character abilities and information scattered across a dozen different pieces of paper, that's just awkward, but that is basically what BG did, and I can never imagine why. It really hurts the organisation freak inside me.

    No, that's what their trying to do now. Previously a lot of the information was presented in the Inventory screen negating a lot of need to look elsewhere and if you did need to look for stuff not listed in the inventory it was all in a singular location within the Character Record screen. Now their trying to hide information in the Inventory/make it harder to gain a general overview of information in the Inventory and spreading information across multiple pages in the Character Record screen!

    I kind of take exception to the suggestion that we have set ourselves a goal of making it harder to find what you're looking for, and this post has nothing to do with helping people to understand the new UI system or asking questions for yourself. This is not the thread for whatever it is you're trying to do.

    To clarify, I know that you guys mean well and I know that further discussion isn't really useful until after v2.0 is finished and everyone has had a chance to mess with it, so I will drop discussion for it for a while. I've already made it obvious how I feel about the new UI as it is currently.
  • mf2112mf2112 Member, Moderator Posts: 1,919
    Just playing around, kinda going with the open floor plan, like my character sheet above.

    mk5am1posl04.jpg
  • mf2112mf2112 Member, Moderator Posts: 1,919
    Also, I can edit the very first screen.

    knd4voaxbtdz.jpg

    I cannot think of another game or application of any kind where I could do this. Me, someone who knows literally nothing about the internals, the code, any of the modder's tools. I don't even have NearInfinity working. I keep getting a Java error, probably memory, but it is okay since I don't need it.

    All I need is the game, a good text editor (Notepad++ is free), GIMP to make cool transparent backgrounds (also free), and a willingness to put a few hours into it to do some pretty cool stuff. That's all. Oh, plus a backup or two of the ui.menu file, it got wonky once when I changed something while the game was in edit mode. My fault but incredibly easily fixed by copying the file I had made an hour before back to the overrides folder and restarting. I had learned enough by that point that I was able to redo what I had done within a few minutes and actually better since I got the things working that I had struggled with for a bit. My return on investment...priceless. I may enjoy "my" game for another 16 years now.


  • JuliusBorisovJuliusBorisov Member, Administrator, Moderator, Developer Posts: 22,758
    I really think you, @Pecca, have a very good taste. Your ideas make the game look better.
  • FlashburnFlashburn Member Posts: 1,847
    I can't frickin' wait for a full-fledged UI mod from you, @Pecca! I'm already impressed by what you've done.
  • PeccaPecca Member Posts: 2,218
    @Flashburn: I encourage everyone to try it. The full-fledged UI mod might be a little bit hard to distribute, because the user needs to put his screen resolution into the code for the full screen menu effect.
  • FrecheFreche Member Posts: 473
    @Pecca don't know if this helps you to get around users having to manually put screen res into the file.
    local screenWidth, screenHeight = Infinity_GetScreenSize()
    
Sign In or Register to comment.