Jump to content
Eternal Lands Official Forums
bluap

Client changes since 1.9.5p8 - to be kept up to date

Recommended Posts

Build links

 

Note: for executable / DLL downloads, you will have to already have the latest full release (1.9.5p8) installed.

 

Always keep back-ups of your personal data files.

 

Data file changes:

 

New Features:

  • Refreshed and enabled a very old feature from Emajekral to use coloured textures for the mouse cursor.  Enabled from the options window, Font tab.  You will need to download the cursors2.dds file and place it in the textures folder of your data files.  The texture probably needs a refresh too.
  • Cleaned up how the quantity information is display while moving an item.  It now also shows the quantity being moved for stacked items.
  • Added new #command to set the quantity for transferring items. Either "#q" or "#quantity" (or your local translation).  The value for the command uses the build-in calculator so can be any calculation #calc can do or just a number.
  • Use the Spells cursor over the spell in the spells window, and the pick-up cursor when picking up items from an item list.
  • A new option to switch to the new data file format for user files.  This replaces existing file formats (.dat files) with text based files (.json).  This format make it easier to change the data without breaking backwards compatibility.  The new format is also robust when moving the files between computers using different architectures.  The feature is enabled from the Server tab of the options window.  If you are already using the feature, the option is on by default.  For a new install with no existing user data fiels, the option is on by default.  Otherwise, the option is off by default.  It is safe to switch on and your existing data is imported.   HOWEVER YOU MUST switch if off, within the client, if you intended to move back to an earlier client version, 1.9.5p8 or earlier.
  • Show if a book has been read or not, as part of the description text shown when you hover the mouse over a book in the inventory, storage or quick items windows.  You will need to download the item_knowledge_info.txt file and place it in the top level of your data folder.

June 23 Additions:

  • Include calculation in #quantity command output.
  • Added option to disable window scaling with mouse or keys.
  • For the #know command, highlight a book in the output if its currently being read.
  • Clean up tabs, crosses and other line drawing, this with the TTF changes below allow removal of troubleshooting gx/y adjust options.

  • TrueType font support (See commit comment for details).  A major improvement to enable use of local true type fonts.  (thanks grum/gvissers)

June 30 Additions:

  • Added sort option for items in storage categories. (option located on the title bar context menu).

July 6 Additions:

  • Added window scaling for quickbar and quickspells windows.
  • Forum #61401: Requested modifications to last health change information.
    • Use the default text size rather than that for small text.
    • Add option to always show the information, not just on mouse over.
  • Forum #61401: Requested changes to name banners.
    • Fix the hight of the floating health / damage banner numbers.
    • Add option to disable the colour change for the heath and mana banner bars.

July 10 Additions:

  • More improvements to the TT fonts.
  • The tab-map window now keeps the map aspect ratio.  Note you will need to change the font scale for mark marks using the option on the "Font" tab of the options window.
  • More on Forum #61401: Requested changes to name banners.
    • Additional options to disable the colour change for the heath and mana banner bars.
    • Option to set the hight of the floating health / damage banner numbers.

July 12 Additions:

  • Updated the runtime environment for the Linux snap package; bringing updated libraries including better support for the TT fonts. 15/7/20 Reverted change as it caused crashes on some systems.

July 25 Additions:

  • Improved rendering for TTF and support for TTF collections. (grum).
  • Improved adjustment and saving of window positions when changing main window size.

August 15 Additions:

  • Added feature to save general options per character, for example the max food level.  You need to be using the .json format user files (selected on the server tab).  To save an option for the current character, right click the option short description text and select "Mange value just for this character".  Uncheck the box to stop saving just for the current character.  Options set in this way are saved in a file in your config folder called "character_options_<name>.json" and are loaded after login. Loaded value will not get saved into the el.ini unless you change the value in the normal way.  While this feature can be used for most options the usefulness may vary.
  • Added the "Disable Scaling Controls" option to the general window title menu.  This required a change to the name saved in the el.ini file and so if you set it previously, you have have to set it again.

September 22 Additions:

  • Better handling of item images when dragging using a large cursor.
  • Better handling of cursor action modes with options for completely independent cursors for quick-bar and inventory windows.
  • Chat improvements:
    • Option to enable show/hide of chat using ALT+C or an optional icon.
    • Save and manage position of the chat window, allow windows scaling and allow smaller chat window width.
    • Option to set the number of lines chat displayed for non-window mode.
  • Added client window size #commands
    • #reset_res - swap back to original settings (same as client opening size)

    • #set_res <width> <height> - switch to desired size in pixels

    • #save_res - set and save the current window size as user defined

    • #show_res - show the current window size

November 7 Additions:

  • Limit storage items scrollbar to length needed.
  • #quantity command includes decimal version if not an integer.

February 28 Additions:

  • Allow larger scaling of Name and Chat fonts.

  • Added update list option for item lists.

  • Centre (new install) windows by default or using title menu option.

  • Issue #71: Replace binary el.cfg file with client_state.json

March 17 Additions:

  • Added # command to list available commands "##".
  • Added help for # commands "## <command>.  Needs new commands_help.txt file (see list above).
  • Removed the random chance of closing the item list window.

April 5 Additions:

  • Support loading TTF fonts from the game data directory.

  • Improved validation of password changes.

  • New Character and login screen checkbox for password manager.

  • Disabled printing the UVP string of it's off.

 

Bug Fixes:

  • Fixed a bug that caused the mini-map to be re-opened when resizing the main window if "open on start" was set.
  • Fix for MacOS copy function (Thanks Ben)
  • Fix for minimap cross not scaling (Thanks Ben)
  • Fix for small graphical glitch on window title bar ends.

June 23 Additions:

  • Fix issues showing the completed/total information for long books by using the output of #research to replacing HERE_YOUR_STATS information.
  • Fixed bug with use counter not handling non-unique items.

  • Fixed use counter for books, now excludes the ([un]read[ing]) tag.

  • Fix potential crash in buddy handler. (thanks grum)
  • Properly enable Full Scene Antialiasing (FSAA) for Linux.

  • Save the config window position after scale change.

  • Fix invalid memory access in encyclopedia. (thanks grum)

  • Fix length check on stats data. (thanks grum)

June 30 Additions (grum and bluap):

  • TTF - Fixed crash when editing a reopened, previously cancelled pop-up window.
  • TTF - Fixed crash if using the old behaviour for chat.
  • TTF - Fixed missing cursor at end of line when editing text, for example in the notepad.
  • Fixed possible missing first line of console text.
  • Several memory leaks and compiler warning fixes.
  • A few TTF alignment and spacing tweaks.
  • Fixed #know command tagging as "reading" of just finished book.

July 6 Additions:

  • Numerous improvements to the True Type Fonts feature.  Including a major improvement in the quality of rendered fonts, and additional font support.

July 12 & 15 Additions:

  • Fix bugs with the new storage category sort.

July 25 Additions:

  • Various TTF fixes including the trade window text positions (grum & bluap).
  • Fixed saving position other options for spells and item quick bar and hud indicators when the windows are not in their standard positions. (bluap)

Aug 15 additions:

  • Fix option window closing when first hidden by console.
  • Parse NPC text through global and local filters.
  • Improve the vertical alignment of the ground bag numbers.
  • Fix notepad tabs, closing when the game window is resized.
  • Changed the summoning window key from LCTRL+U to LALT+U as already used for #K_USE.

September 22 Additions :

  • Fixed bug that show numbers for dragged equipped items and non-stacking item counts in the inventory.
  • Fixed bug with sorted storage categories and use of the item filter.

November 7 Additions:

  • Fix unlock actors list when fail to add actor from server.
  • Fix #calc for q <max level) i.e. "calc q l 179".
  • Fix destination cross on continent tab map - Found and fixed by Nogrod.
  • Fix crash for Font initialisation when there are no options.
  • Fix Ground bag unresponsive after switch to map/console.
  • Fix possible false knowledge eta of completed.
  • Fix ranging window exp/arrows.

February 28 Additions (contributions form Gé Vissers (grum), Bruno Ramos and me (bluap)))

  • Fix _findnext() crash on windows due to invalid handle type.

  • Fix URL window link underline.

  • Scale overhead buffs by global scale.

  • Fix crash with missile eye candy.

  • Fix banner background placement and size.

  • Fix options window descrption overflow.

  • Fix various valgrind alert.

  • Better use of space for content menu text.

  • Fixes for F6 transparent mode.

  • Fixes found during Android merge.

    • Handle config tabs that are disabled.

    • Compile error in langselwin due to missing header.

    • Fix initial scaling of language select window.

    • Trap displaying info for storage when quantity zero.

  • Fix DROP_ITEM message_length in quickbar (#105)

  • Fix initialisation race between hud indicators and fonts.

  • Fix not initially setting buddy window scroll bar len.

  • Fix length check on incoming storage updates.

  • Fix buffer overrun in password field.

  • Fix tab completion (there is also an updated commands.lst file).

  • Fix missing 2D objects on snow map.

  • Fix overhead chat bubbles.

  • Issue #89: Fix truncation of long floating message.

  • Fix issues with the aspect ratio of images in the encyclopedia.

  • Fix scaling if a window size larger than available space is attempted.

March 17 additions:

  • Fix tabs not fitting for some fonts when there is a close box.
  • Clean up bottom hud stats bar positions and scaling.
  • Fix tab-map text scaling for existing users, reset to 1.0.
  • Fixes for buddy list, clear previous add buddy name, clear list if #clear_buddy used.
  • Fixes for mac build since TTF changes.
  • Fix for thin fonts for player banner text.

April 5 Additions:

  • Scale console input widget margin by font size.
  • Fix usermenu losing locked position if screen width too small.
  • Do not strip internal spaces in config values
  • Fix _findnext() crash on windows for user menus.
  • TTF: Don't draw shadow outlines on book text
  • TTF: Take horizontal offset into account

 

Edited by bluap

Share this post


Link to post
Share on other sites

Thanks the #q uantity is working great , still I was wondering if it would be possible to see the details though, just as #calc works (the reason being to keep tracks of calculation on chat_logs)

 

Something like this :

Quantity 13333 = (15k+25k)/3

 

Edited by dragon_killer

Share this post


Link to post
Share on other sites
1 hour ago, dragon_killer said:

Posting again wonder if you missed my post :P, the #q command  is great, but could always had a #qd to show the details of the quantity detailed (or whatever name for a 2nd command)

Sorry, I have made the change you requested, just after you asked.  I just forget to say.  I'll be producing new builds in a day or two.

Share this post


Link to post
Share on other sites

All builds updated with the changes listed at the top of the thread, including a major new feature by gvissers to include true type font support.

Edited by bluap

Share this post


Link to post
Share on other sites

Have you tried picking some TT fonts and using the Full Scene Anti-alising option on the Video tab?  If you don't use TTF then its the same fonts as before.  Some of the shading is done differently which is most obvious on the login screen.  There have also been some changes to the layout and spacing of widgets and windows that you can see independent of font choice.  Perhaps some of that still needs to be adjusted, particularly the login stuff.  You can build with TTF disable but that does not restore the layout and shading differences, you would have to build from older source for that and could not go forward with other new stuff.  It was a huge change to the code base, far too big to keep fully optional.  Older builds including the one before the TTF changes are available from https://twinmoons.org.uk/el/git/ but I would encourage you to use the new build and help us get it right.

BTW, I think the TT fonts look amazing.

Edited by bluap

Share this post


Link to post
Share on other sites

@Kaddy: in-game, the old fonts are still available, and will be used until you pick another font. And the changes after the login screen aren't (as) visible.

 

@Bluap: the only nit I have is that depending on font and selected size (without going to extremes) the baselines aren't always as you would like them (e.g. numbers in the bottom bar, but also the timer can drop too low and overlap with the item below it). Also, most of my standard fonts are in OTF format, but I think that's a limitation of SDL2?

Share this post


Link to post
Share on other sites
2 hours ago, revi said:

the only nit I have is that depending on font and selected size (without going to extremes) the baselines aren't always as you would like them (e.g. numbers in the bottom bar, but also the timer can drop too low and overlap with the item below it)

Yes, the baseline for those number is hard to get right. I could align them to bottom of the bars, but then it's easy to overflow at the top. I'll take a second look at that and also fix the timer.

2 hours ago, revi said:

Also, most of my standard fonts are in OTF format, but I think that's a limitation of SDL2

To my surprise, actually not. Apparently SDL_ttf will also open OpenType fonts, so I have added support for loading these as well to the client.

Share this post


Link to post
Share on other sites
3 hours ago, revi said:

but also the timer can drop too low and overlap with the item below it

After having a look at the code, it shouldn't. Could you tell me the name of your font, the UI font scale factor you use, and perhaps also provide a screenshot of the overlapping timer? Thanks!

Share this post


Link to post
Share on other sites
1 hour ago, Grum said:

After having a look at the code, it shouldn't. Could you tell me the name of your font, the UI font scale factor you use, and perhaps also provide a screenshot of the overlapping timer? Thanks!

Sorry, that was my mistake: it wasn't the timer, but the combination of digital and analog clock (or digitial clock and compass, for that matter):

at certain sizes the digital clock overlaps the block below it.

I noticed that the characters don't change size with the scaling factor,  but seem to be scaled always to fill up the width of the available space.

The line height (vertical space allocated) does change with the scaling, so small font size means (too) little vertical space. (I know, scale at 0.80 is excessive, helps to show the problem :P ) Effect is also visible with the other fonts I tested, just more or less severe. And while I am nitpicking, digital clock font size changes with display changes (up to every second), corresponding to the width of the displayed digits, the font getting higher with the appearance of a "1" (one).

 

One other thing I noticed: console mode: when there's no text in the edit bar, its height is minimal (visible in screen shot). As soon as I start typing, the text shows up at the proper size, though, and the text on the srceen is shifted upwards (and back down if I erase the typed text). So that's really only cosmetic.

Screenshot_20200702_113249_2.png

Edited by revi
attached screenshot

Share this post


Link to post
Share on other sites
1 hour ago, revi said:

at certain sizes the digital clock overlaps the block below it.

Thanks, should be fixed now.

Share this post


Link to post
Share on other sites

I just noticed that when my inventory window is scaled down in size below .80, the numbers disappear on the items in the inventory.  Can these numbers be put back?

Share this post


Link to post
Share on other sites
42 minutes ago, Aislinn said:

I just noticed that when my inventory window is scaled down in size below .80, the numbers disappear on the items in the inventory.  Can these numbers be put back?

Fixed in git, thanks for reporting.

Share this post


Link to post
Share on other sites
15 hours ago, revi said:

@Kaddy: in-game, the old fonts are still available, and will be used until you pick another font. And the changes after the login screen aren't (as) visible.

 

@Bluap: the only nit I have is that depending on font and selected size (without going to extremes) the baselines aren't always as you would like them (e.g. numbers in the bottom bar, but also the timer can drop too low and overlap with the item below it). Also, most of my standard fonts are in OTF format, but I think that's a limitation of SDL2?

 

I am already using the old font and it does look different.

Share this post


Link to post
Share on other sites

@Grum.  One of the recent changes you made significantly improved the rendering for TTF fonts on my systems.  I now no longer need to enable the Full Scene Anti-Aliasing to get nice smooth fonts.  Many of fonts that looked bad even with FSAA, now look fine.  Clearly this is a very good thing.  I think the improvement came with the changes you made to improve the old fonts.  Others that needed FSAA may also see an improvement so I thought I'd mention it.  I didn't see specific mention in the commits.

 

I have a question.  I see the font values stored in el.ini use the full path rather than the relative path to ttf_directory.  Is this needed? I asked because it causes the fonts to be dropped if the same ini file is used on a system with a different path to the fonts.  It would be good if the same font was not dropped if it was the same file just a different path.

Edited by bluap

Share this post


Link to post
Share on other sites
37 minutes ago, bluap said:

One of the recent changes you made significantly improved the rendering for TTF fonts on my systems.

Great!

37 minutes ago, bluap said:

I think the improvement came with the changes you made to improve the old fonts. 

Okay... To be honest, I don't really know for certain what caused this, which is why it was never mentioned in the commits. Disappointing, I know.

 

I *suspect* it is because I more or less inadvertently switched from nearest neighbour to linear interpolation in the generation of  the font texture for the TTF font (in Font::build_texture_atlas()). Speaking against this hypothesis is that at that point it shouldn't make any difference whatsoever which interpolation method is used since the dimensions of the texture and the image are the same and it should be a straight pixel-for-pixel copy without interpolation at all. But with OpenGL being a giant state machine, maybe this change bled through to the actual font rendering. If that is the case, we will have to make it more obvious. I would have to investigate to be certain though.

52 minutes ago, bluap said:

I see the font values stored in el.ini use the full path rather than the relative path to ttf_directory.  Is this needed?

I don't think it's necessary, it could be made to work with relative paths, I think. I'll try to whip something up tomorrow.

Share this post


Link to post
Share on other sites

TTF font paths are now stored relative to the font directory. Unfortunately, this requires users to select their fonts again, as I could not think of a way to select the correct multiselect buttons using the old absolute path without introducing a major hack in the config code.

Share this post


Link to post
Share on other sites

Small improvement/suggestion:

Would it be possible to display the selected font when you open the options?

When we open the chat tab we have to scroll in each one of the different selections to find out which font is selected there.

Share this post


Link to post
Share on other sites

I agree that would be dead useful. Due to the implementation of the multiselect widget it turns out to be harder than I thought, though. It is on my TODO list.

Share this post


Link to post
Share on other sites

Thanks for the relative path change, that works great.

For me the changes to the login screen user name / password have made the text look a little washed out and ragged. Switching on FSAA again improves the raggedness but the text is still washed out.  The rest of the text on the login window looks fine.

Share this post


Link to post
Share on other sites
13 minutes ago, bluap said:

For me the changes to the login screen user name / password have made the text look a little washed out and ragged.

Yeah, the shadow I put in earlier was removed again. I'll revisit this later.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   1 member

×