We have detected that cookies are not enabled on your browser. Please enable cookies to ensure the proper experience.
Results 1 to 8 of 8
  1. #1

    Exclamation Remeber a default Screen location when programing people.

    Ok I know this may be a seldom run into problem but for those of us that have it it is really a pain. Here is what happened to me.

    Ok so about 1 year ago I upgraded to an eyefinity(spelling?) setup. i have 3 monitors and a resolution on 5040x1050 and I love it for the most part. One of the big things that finally got on my nerves to the point that I turned it off is the streching of the map. Not any thing that can be really fixed here(not yet anyway ). What the big problem is though now that I am running a resolution of 1920x1080 now is that all my plugins that I placed in the "right" spot for the 5040x1050 resolution are still in that same spot putting all my plugins WAY off my screen. In order to get them back I am having to dig through the data for each plugin on each of my toons and find all the x and y coordinates and change them to be something less than 1920. Sure would be nice if someone had thought ahead and added code to set back to a default position if the coordinates were greater than the max resolution

    Just a suggestion for the future.
    [b]Melnordan[/b]-Warden,[b]Melainel[/b]-Hunter,[b]Mellarain[/b]-Loremaster,[b]Zoltrix[/b]-Guardian,[b]Xabbu[/b]-Minstrel,[b]Melraindor[/b]-Runekeeper
    Pie anyone?

  2. #2
    Join Date
    Apr 2007
    Posts
    457

    Re: Remeber a default Screen location when programing people.

    Couldn't you just delete the PluginsData folder? That would get rid of all of your settings and I assume reset everything to its default settings.

    Also you could try the MoorMap plugin, I believe that will put your maps in in-game windows (been quite a while since I've played with that map, so don't quote me).
    Originally Posted by Damian6988
    That is not unlike drinking a pot of coffee and taking a Valium.
    "I want to stay up and get more work done, but I don't want to remember any of it."

  3. #3
    Join Date
    Jun 2009
    Location
    UK
    Posts
    1,461

    Re: Remeber a default Screen location when programing people.

    To be honest I've not considered how changes in resolution could cause this problem, but it's something that can be easily implemented when loading the settings.
    [CENTER][SIZE=3][B]Galuhad | Narvelan[/B]
    Lore Breakers of Eldar[/SIZE]

    [URL="http://www.lotrointerface.com/list.php?skinnerid=3762"]Plugins[/URL] | [URL="https://www.lotro.com/forums/showthread.php?538975-Accounts-for-New-Players"]New Player Guide[/URL] | [URL="http://www.twitch.tv/galuhad"]Twitch[/URL]
    [/CENTER]

  4. #4

    Re: Remeber a default Screen location when programing people.

    I had read that using Eyefinity caused the map to get all stretched out of whack, though I guess some people fixed that by using the 3 monitors in portrait mode, which made the resolution closer to a normal resolution. You might also want to mess around with a custom skin because this

    Code:
    <PanelFile ID="ID_UISkin_MapPanel">
    <Element ID="MapBackground" X="0" Y="0" Width="1920" Height="1080">
    </Element> </PanelFile>

    should cause your map to shrink to a 1920x1080 size no matter what size your resolution is. You can adjust the Width and Height as you see fit and the X and Y to move the map to different spots on your three monitor setup.

  5. #5
    Join Date
    Feb 2007
    Location
    Philadelphia, PA
    Posts
    2,716

    Re: Remeber a default Screen location when programing people.

    Quote Originally Posted by jbarr123 View Post
    i have 3 monitors and a resolution on 5040x1050 and I love it for the most part. One of the big things that finally got on my nerves to the point that I turned it off is the streching of the map. Not any thing that can be really fixed here(not yet anyway ). What the big problem is though now that I am running a resolution of 1920x1080 now is that all my plugins that I placed in the "right" spot for the 5040x1050 resolution are still in that same spot putting all my plugins WAY off my screen. In order to get them back I am having to dig through the data for each plugin on each of my toons and find all the x and y coordinates and change them to be something less than 1920. Sure would be nice if someone had thought ahead and added code to set back to a default position if the coordinates were greater than the max resolution
    I wholeheartedly agree.

    I have encountered a similar problem because I happen to have multiple systems that I use to run LOTRO, and it is most annoying. Especially since I attempt to keep the Lua configurations on the systems "identical."

    I happen to run LOTRO via CrossOver Games (WINE) on my Macs under OSX.

    I have one iMac (my newest) with a 27 inch screen -- 2560x1440 resolution.
    My older iMac has a 24 inch screen -- 1920x1200 resolution.
    My MacBook Pro has a 15 inch screen -- 1440x900 resolution.

    The Plugins use:
    Manager
    BuffBars
    TonicBars
    Travel Window
    And have just begun playing with MoorMap and Combat Analysis.

    The first pass at matching the Lua environment is to copy the PluginData files across all 3 systems.

    Then I do as described above... manually edit each X/Y value to "be in the window". Still annoying, but not "quitte" as painful as when it happened the first time!

    Turbine manages to place all of their things in the same relative locations... i.e. the Radar, Character, attunment panel, etc.
    They may be the wrong sizes, but their placement i.e. RELATIVE to the screen size is correct.

    As I asked of Tonic Bars...
    TB on the other hand seems to make ABSOLUTE placement of Inventory bars, for example.

    What would be good, (and the ideal solution) would be if you can somehow make the bar placements relative to the screen size.

    For me, its a particular issue because I tend to put my inventory bars to the extreme right screen edge... and if I have them set for my new 27 inch big screen at 2560x1440, when I pop back to windowed mode, 1920x1200, everything I had positioned on the right is now "off screen.
    Similarly, if I re-position for 1920x1200 when I go back to full screen, all the bars are in the center!

    Annoying to say the least. I've become adept at editing the data file, but that is way beyond the capabilities of the average gamer.

    An alternative solution would be some way to define/create alternate positioning sets which could be selected in general settings.

    General might have (at least) 2 boxes to select "positioning" – probably just generalized to be "position set 1/2/3/4" etc. That way you could also use these alternative settings for say raiding vs solo vs fellowships.

    If the default screen size were say, 1920x1200, then you could simply add some number (s) to get to 2560x1440.
    Otherwise you might make a 4 position array for each X/Y value and the selected positioning 1/2/3/4 would become the index into that array.

    I don't know how this might work-with or conflict with "drag bars".
    Bill Magill Mac Player Founder/Lifetimer
    Old Timers Guild - Gladden

    Val - Man Minstrel (90)
    Valalin - Dwarf Minsrel (69)
    Valamar - Dwarf Hunter (105)
    Valdicta - Dwarf RK (105)
    Valhad - Elf LM (65)
    Valkeeper - Elf RK (86)
    Valwood - Dwarf RK (80)

    Valhunt - Dwarf Hunter (70)
    Valanne - Beorning (92)
    Ninth - Man Warden (65)

    "Laid back, not so serious, no drama.
    All about the fun!"


  6. #6
    Join Date
    Jun 2009
    Location
    UK
    Posts
    1,461

    Re: Remeber a default Screen location when programing people.

    I added this function to the next build of Raid Assistant which should combat any problems with changes in screen resolution.

    The function takes a window object, checks if its position is off-screen, and if so moves it so it's on screen again.

    Code:
    function Onscreen(OBJECT)
    
        local DISPLAYWIDTH = Turbine.UI.Display.GetWidth();
        local DISPLAYHEIGHT = Turbine.UI.Display.GetHeight();
    
        local objWidth = OBJECT:GetWidth();
        local objHeight = OBJECT:GetHeight();
        local objLeft = OBJECT:GetLeft();
        local objTop = OBJECT:GetTop();
        local objRight = objLeft + objWidth;
        local objBottom = objTop + objHeight;
    
        if objRight > DISPLAYWIDTH then objLeft = DISPLAYWIDTH - objWidth end;
        if objLeft < 0 then objLeft = 0 end;
        if objTop < 0 then objTop = 0 end;
        if objBottom > DISPLAYHEIGHT then objTop = DISPLAYHEIGHT - objHeight end;
    
        OBJECT:SetPosition(objLeft,objTop);
    
    end
    so for example I would load a window from the saved settings and then call this function to make sure it's not off screen.

    Code:
    SomeWindow:SetPosition(LOADEDSETTINGS);
    Onscreen(SomeWindow);
    [CENTER][SIZE=3][B]Galuhad | Narvelan[/B]
    Lore Breakers of Eldar[/SIZE]

    [URL="http://www.lotrointerface.com/list.php?skinnerid=3762"]Plugins[/URL] | [URL="https://www.lotro.com/forums/showthread.php?538975-Accounts-for-New-Players"]New Player Guide[/URL] | [URL="http://www.twitch.tv/galuhad"]Twitch[/URL]
    [/CENTER]

  7. #7

    Re: Remeber a default Screen location when programing people.

    That is one way of doing it but I was while I was thinking about it I was wondering if it would not be better to save the X and Y as a % rather than an absolute value. I know that is how the game does it. So the Equation would look like

    Code:
    objX=1800;
    objY= 900;
    
    local DISPLAYWIDTH = Turbine.UI.Display.GetWidth();
    local DISPLAYHEIGHT = Turbine.UI.Display.GetHeight();
    
    objRelX= objX/DISPLAYWIDTH;
    objRelY= objY/DISPLAYHEIGHT;
    then on load run this code:

    Code:
    local DISPLAYWIDTH = Turbine.UI.Display.GetWidth();
    local DISPLAYHEIGHT = Turbine.UI.Display.GetHeight();
    
    objX= DISPLAYWIDTH * objRelX;
    objY= DISPLAYHEIGHT * objRelY;
    That way if the overall widht or height changes it will put the plugin back in the same area as the old resolution. To help save resources you could create a function that is run only when the plugin closes or when the resolution changes rather than every time the plugin moves.

    Just my thoughts on it.
    Last edited by jbarr123; Dec 02 2011 at 04:55 PM.
    [b]Melnordan[/b]-Warden,[b]Melainel[/b]-Hunter,[b]Mellarain[/b]-Loremaster,[b]Zoltrix[/b]-Guardian,[b]Xabbu[/b]-Minstrel,[b]Melraindor[/b]-Runekeeper
    Pie anyone?

  8. #8
    Join Date
    Mar 2007
    Posts
    1,191

    Exclamation Re: Remeber a default Screen location when programing people.

    Quote Originally Posted by jbarr123 View Post
    That is one way of doing it but I was while I was thinking about it I was wondering if it would not be better to save the X and Y as a % rather than an absolute value. I know that is how the game does it.
    Interesting solution. I'm not sure the game really does it that way since the last time I swapped to a lower resolution and back, a bunch of my UI elements including all of my bags got squished into the lower resolution positions. Still a good solution (perhaps even better than what the game does).

    As far as code, you'd want to account for the euro glitch. I incorprated this idea into Conjunction Junction (coming Soon) with the following:
    Code:
    -- test for euro format
    euroFormat=(tonumber("1,000")==1);
    
    Settings=PatchDataLoad(Turbine.DataScope.Character,"CJ_Settings");
    if euroFormat then
        if Settings["MainLeft"]~=nil then Settings["MainLeft"]=tonumber((string.gsub(Settings["MainLeft"],"%.",","))) end;
        if Settings["MainTop"]~=nil then Settings["MainTop"]=tonumber((string.gsub(Settings["MainTop"],"%.",","))) end;
    else
        if Settings["MainLeft"]~=nil then Settings["MainLeft"]=tonumber((string.gsub(Settings["MainLeft"],",","."))) end;
        if Settings["MainTop"]~=nil then Settings["MainTop"]=tonumber((string.gsub(Settings["MainTop"],",","."))) end;
    end
    
    -- then in the save settings code...
    function SaveSettings()
        local tmpSettings={};
        tmpSettings["MainLeft"]=CJMain:GetLeft()/Turbine.UI.Display:GetWidth();
        tmpSettings["MainTop"]=CJMain:GetTop()/Turbine.UI.Display:GetHeight();
        PatchDataSave(Turbine.DataScope.Character,"CJ_Settings",tmpSettings);
    end
    
    -- then in the window creation code...
    CJMain=Turbine.UI.Window();
    CJMain:SetPosition(Turbine.UI.Display:GetWidth()/2-16,Turbine.UI.Display:GetHeight()/2-16); -- default to center
    if Settings["MainLeft"]~=nil then CJMain:SetLeft(math.floor(Settings["MainLeft"]*Turbine.UI.Display:GetWidth()+.5)) end;
    if Settings["MainTop"]~=nil then CJMain:SetTop(math.floor(Settings["MainTop"]*Turbine.UI.Display:GetHeight()+.5)) end;
    Note: PatchDataLoad and PatchDataSave are the Vindar patch wrappers for Turbine's api Load/Save methods

    It works quite nicely and I no longer have to test for whether an icon or window goes off screen when the resolution changes (FWIW, AltInventory and MoorMap have checked for resolution changes since an early version sometime last year although I got lazy with the other plugins).

 

 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

This form's session has expired. You need to reload the page.

Reload