- Lession: re-read carefully before commit. Fix problem with last check in.
1 lines of code changed in 1 file:
- Remove convoluted logic from metaserver_load_cache().
8 lines of code changed in 1 file:
- Completed fix initiated at commit 13020 (or fixed regression introduced at
that point). The "fix" was incomplete, and resulted in scrambling of the
cache file. Sorry folks.
1 lines of code changed in 1 file:
- Add prototype for GTK-V2 client use.
5 lines of code changed in 1 file:
- The GTK-V2 client now updates the player's ~/.crossfire/servers.cache file
whenever a connection with a server is successful.
- Remove an unused variable.
11 lines of code changed in 2 files:
- Replace duplicated code with call to metaserver_connect_to().
44 lines of code changed in 1 file:
- Factor out the server cache maintenance code out of the metaserver_select()
function used by older clients to make it is accessible to clients that use
a different mechanism for selecting a server to play on. The new function
is called metaserver_update_cache().
80 lines of code changed in 1 file:
- Rewrite the ChangeLog and fix the commit comment for 13020. What was
originally written was not clear enough to explain the circumstances that
triggered the buggy behavior in metaserver_load_cache().
6 lines of code changed in 1 file:
- Fixed a logic bug in the loader that reads player .crossfire/servers.cache
files. The loader wrongly ignored the last valid entry in a cache when it
contained an odd number of lines. I.e. if the servers.cache file had only
one valid two-line entry, and an extra blank line, the loader ignored the
the valid entry and it would not show up in the client. With this change,
it does show up.
8 lines of code changed in 2 files:
- Add doxygen-style comment headers to all functions that do not already have
them, and as needed reformat existing headers.
- Add detail to the metaserver_load_cache() comment header.
39 lines of code changed in 1 file:
- In init_connection(), fix tests for failure to properly check only for
-1 return values when calling socket(), fcntl(), connect(), and select().
- If fcntl() fails, do not try to immediately re-call it to set blocking
mode in init_connection(). Instead, just fail.
15 lines of code changed in 1 file:
- In the case where HAVE_GETADDRINFO is available (not WIN32), a timeout is
now implemented when establishing a connection with a server. The timeout
is presently hard-coded at 30 seconds. Prior to this, if a connection
attempt failed, the client was observed to lock up hard for three minutes.
Half a minute is still pretty harsh, but a DNS lookup failure can take 30
seconds, so it may be wiser to wait at least as long before bailing out on
the attempt.
137 lines of code changed in 2 files:
- Where LOG() is called with a string like "gtk-v2:*" or "<filename>:*", make
the string use double colons for consistency with common code and many
other files.
14 lines of code changed in 5 files:
- Where LOG() is called with "gtk::*", change the label to "gtk-v2::*" as
these are carryovers from the gtk-v1 client sources. The convention is
established by LOG() messages in common that use the string "common::*".
37 lines of code changed in 9 files:
- Re-ran `make proto` to catch all the new account login functions, and other
accumulated changes.
36 lines of code changed in 1 file:
- Rename init_cache_data() to init_image_cache_data(). "cache" is not unique
enough. The init_cache_data() call immediately follows setup of the
servers_cache_file, and the two are completely unrelated. The name
init_cache_data() undoubtedly persisted from ../../gtk/gx11.c.
3 lines of code changed in 2 files:
- Rework gtk-v2 Makefile.am to fix `make proto`. Factor the CFLAGS out of
INCLUDES and put them in AM_CFLAGS instead to take PTHREAD_CFLAGS out of
INCLUDES. On some systems, PTHREAD_CFLAGS resolves to -pthread or other
similar options. Since INCLUDES is on the cproto command-line -pthread gets
interpreted as cproto command flags. That is bad as it is, but doubly so
since cproto bombs out with a complaint that "h" is not a valid option.
This factoring seems safe to do because ../../macros/ax_pthread.m4 does not
contain any references to -I options.
11 lines of code changed in 1 file:
Update version numbers in configure, client-spec.
common/client.c: Send server deprecated 'newmpcmd 1' setup option - this lets
the client work properly on old servers.
MSW 2010-04-25
13 lines of code changed in 4 files:
Add missing code for account login to display character icons (note server
code won't be checked in until after 1.50 release). Add missing function
declarations to external.h to remove compiler warnings. Update common/shared
to latest version.
common/commands.c: Add support for new attribute.
common/external.h: Add missing declarations.
gtk-v2/src/account.c: Update update_character_choose() to display icon.
MSW 2010-04-24
50 lines of code changed in 4 files:
- Remove the Skills/Experience tab from the core stats notebook in
gtk-v2.glade as the skills window is better to use. Tested at 1400x1050,
640x480. At 640x480, the inventory/message panel is all the way to the
left, but the hpane grab bar is visible. At default client size with no
gdefaults2 or gtk-v2.pos, the map is to small to work properly, (some map
tiles stay black) but, if the corestats are pushed down or hidden at the
bottom of the screen it is playable.
10 lines of code changed in 2 files:
Fix the handling of the standalone metaserver code, add some more information in stderr.
52 lines of code changed in 2 files:
Put the name of the glade file into the version string sent by the client.
7 lines of code changed in 3 files:
- Oh, ok, remove disfunctional scrollbars from ALL the layouts...
37 lines of code changed in 1 file:
- Remove the disfunctional scrollbars from around the map in most gtk-v2
.glade files. The layout acts better under different circumstances when
they aren't there. After all these years they've never been used, so no
point in keeping them around as they just take up space.
145 lines of code changed in 7 files:
- Remove the disfunctional scrollbars from around the map in chthonic.glade.
The layout acts better under different circumstances if they aren't there.
11 lines of code changed in 2 files:
- Extend the client theme handling by adding support for player-accessible
style file support. load_theme() is modified to always look in the player
${HOME}/.crossfire folder for a gtkrc file even when the client theme is
None. This file can serve as a player's private theme file, or could be
used just to tweak certain aspects of the client in the same way any other
.gtkrc file would. After looking for the gtkrc file, load_theme() also now
looks for a <layout>.gtkrc file. I.e. If sixforty.glade is in use, a
corresponding ${HOME}/sixforty.gtkrc is processed to make it possible to
create layout-specific adjustments. Both files have the same capabilities
as a client theme file, and, in cases where a player might not have write
access to the client theme folder, this modification allows the player to
use themes by putting them in the .crossfire folder, albeit under fixed
names. This also sets up a mechanism by which the client could one day
actually actively maintain (write/update) per-user GTK rc files, but the
current goal is primarily to make it easier to customize the client's
presentation without having to put a bunch of highly customized files in
the distribution. An in-client-selected theme is loaded last, so as to
have a higher priority than either the gtkrc or layout-specific rc files.
121 lines of code changed in 2 files:
- Remove the skills/experience table from these layout as a result of the new
skills window. A significant design point for both of these layouts was to
try to remove the vertical space constraints that the skills & experience
information placed on the layout when it was used on smaller displays.
- Update the AUTHORS notes for both of these layouts.
142 lines of code changed in 4 files:
- Remove the skills/experience table from the chthonic layout as a result of
the new skills window. At least one user desires this change also.
- Give meaningful names to various chthonic widgets that had generic names.
- Add a note to the AUTHORS file that notes a minor save/restore issue with
the protections/core statistics notebook area in the lower right corner
of the chthonic layout. It seems as though nesting hpaned or vpaned within
each other may be part of why some layouts have restore issues that need to
be dealt with.
121 lines of code changed in 3 files:
- Fix sixforty.glade issue with spinbutton_count to avoid run-time message
regarding non-zero page size.
- Remove the sixforty.glade table_skills_exp and enclosing structures now that
the skills window is available.
- Add note to AUTHORS that sixforty.glade has save/restore window position
issues at this time. This issue has been present prior to this, so until it
is fixed, just document it as a known issue so it doesn't get forgotten
(again). Also do not mention a map dimension less than allowed (8 vs.
minimum 11), and add mention of use of map and icon scale to improve
usability.
32 lines of code changed in 2 files:
- Update the description of oroboros.glade. Removed the skills and experience
table per creation of the new skills window. This allowed the four tab
notebook in the top right to change to 2 tabs to improve accessibility of
vital statistics. This redesign also seems to improve the sizability of the
client, possibly making it easier to shrink below the default 1024x768
dimensions and opening the door to improvements in other layouts.
520 lines of code changed in 3 files:
- A complete rework of the client configuration dialog to make it take up less
vertical space. Netbook users with a screen height of 600 pixels could not
access all items in the dialog. The dialog was also pretty ugly and the
controls were not organized as well as they could be. The overall design of
the dialog now matches the design principles used for the account dialogs.
- Fix up even more confusion in the ChangeLog.
881 lines of code changed in 2 files:
- Allow the table_skills_exp to be missing from a main window .glade layout
without generating stderr spew like (crossfire-client-gtk2:*): Gtk-CRITICAL
**: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed. The new
skills window means this table is optional, so there is no point to make
noise or do extra work if it is absent from the window definition.
- Fix up some confusion in the ChangeLog.
56 lines of code changed in 2 files:
- Fix broken build (perhaps only on older gtk/libglade versions?). Replaced
gtk_widget_get_visible() with GTK_WIDGET_VISIBLE().
19 lines of code changed in 2 files:
- Yet another attempt to fix builds after disable of x11 and gtk-v1 clients.
1 lines of code changed in 1 file:
- Fix up another error. Its not fatal, but generates error messages.
1 lines of code changed in 1 file:
- Fix prior mistake.
1 lines of code changed in 1 file:
- Second attempt to fix builds after disable of x11 and gtk-v1 clients.
6 lines of code changed in 2 files:
- First attempt at disabling x11 and gtk-v1 clients.
51 lines of code changed in 2 files:
If the player has left the skill window open whilst playing, update the exp/level values.
14 lines of code changed in 3 files:
- Dress up the dialogs related to the account code. A few items are moved to
make better use of space, but this mostly adds containers, attributes,
padding, etc. that improves the dialog aesthetics. Orientation properties
are removed to reduce libglade spew when running on older versions. They
aren't needed anyway. The other major change is that now all widgets have
logical names.
965 lines of code changed in 2 files:
Add a file that was missed in the previous commit
5 lines of code changed in 2 files:
Add skills window
470 lines of code changed in 20 files:
Fix for bug 1845694 - improper inventory/map redraws in cache mode.
gtk-v2/src/image.c: Add a variable to track if we have gotten new images.
gtk-v2/src/image.h: Add declaration for above variable.
gtk-v2/src/main.c: If we have new images, force full map and inventory
redraws in main loop.
MSW 2010-04-11
34 lines of code changed in 4 files:
gtk-v2/src/account.c: Clear new account names/status when activating
window. Otherwise, odd to have info filled in from account
created on previous server.
MSW 2010-04-11
10 lines of code changed in 2 files:
common/client.c: Mostly whitespace changes. Make minor improvment to
-download_all_faces to request 1 set more than being worked on.
common/image.c: Whitespace change - fix formatting.
common/newsocket.c: Whitespace change - fix formatting.
gtk-v2/src/image.c: Fix for bug 2938906 - don't free pixmap data when
using cache mode.
gtk-v2/src/info.c: Remove useless message about not fine (sic) color.
MSW 2010-04-11
409 lines of code changed in 6 files:
gtk-v2/src/info.c: Fix problem with crashes on some systems -
initialization was outside of for loop which set the variable. Should
fix bug 2984398.
MSW 2010-04-09
7 lines of code changed in 2 files:
Add error message and quit client if user has out of date dialog.glade file
installed. Make error_dialog non static so account.c can use this,
add check in account.c to see if we found required window, and change
order if initialization of account windows to do login window first (as
that is where the check is).
Files changed: gtk-v2/src/account.c gtk-v2/src/main.c gtk-v2/src/gtk2proto.h
MSW 2010-04-09
16 lines of code changed in 4 files:
- Follow Ragnor's suggestion. since info.h itself needs newclient.h, go with
putting the newclient.h include there instead of in main.h ahead of the
info.h include.
2 lines of code changed in 2 files:
- Fix broken compile.
1 lines of code changed in 1 file:
Add account based support to gtk2 client & common code. Remove support
for gtk1 and X11 clients
---
configure.ac: Remove check for gtk1, cfgtk2 option, X11 libraries, and
checks related to those clients.
common/client.c: Add tracking of loginmethod. Update setup to send
loginmethod, update dispatch table for new commands. Add
close_server_connection() so duplicate code does not need to be
repeated. Don't send addme command when using new login method.
common/client.h: Add globals for motd, news, rules, loginmethods,
INFO_... types.
common/commands.c: Add processing of requestinfo for motd, rules, news.
Add handling of loginmethod setup. Add call to hde_all_login_windows()
when play starts. Add FailureCmd(), AccountPlayersCmd() to handle
protocol commands.
common/init.c: Free motd/news/rules data when changing servers.
common/metaserver.c: Move meta_sort() to this file, don't make it
static - removes compiler warnings.
common/metaserver.h: Remove static declaration of meta_sort, and
function prototype for it.
common/p_cmd.c: Update do_disconnect() to use close_server_connection()
common/proto.h: Updated with new functions.
gtk-v2/glade/dialogs.glade: Add new windows for account login code.
gtk-v2/src/Makefile.am: Add account.c file.
gtk-v2/src/gtk2proto.h: Update with new functions.
gtk-v2/src/account.c: New file - does account logic.
gtk-v2/src/info.c: Change order of includes. Move some declarations
from this file to info.h. Generalize some of the handling so
other functions can use textbuffer but take advantage of the markup
processing provided in this file
gtk-v2/src/info.h: New file - declarations from info.c moved here.
gtk-v2/src/keys.c: Change order if include of main.h. Update to use
close_server_connection()
gtk-v2/src/main.c: Change order of includes. Add sample use of
custom glib log handler. Update to try and use loginmethod 1
gtk-v2/src/main.h: Add extern for csocket_fd so a bunch of
files don't have to declare it itself.
gtk-v2/src/map.c: Change ordering of includes.
gtk-v2/src/menubar.c: Update to sue close_server_connection()
gtk-v2/src/metaserver.c: change order of includes. Call
hide_all_login_windows() when bringing up metaserver window.
gtk-v2/src/opengl.c: Change order of includes.
gtk-v2/src/pickup.c: Change order of includes.
gtk-v2/src/spells.c: Change order of include of gtk2proto.h
----
MSW 2010-04-08
2908 lines of code changed in 25 files:
- Convert tooltip_text fields to tooltip fields as mwedel reports that newer
versions of glade3 have issues with it (though the version I have does not).
- Remove has_tooltip settings not needed by the tooltip fields.
- Make sure all the tooltips have a Translatable property.
16 lines of code changed in 2 files:
- LOG message for spellmon FALSE is changed from WARNING to INFO. It's not
clear that a server's failure to support spellmon is really that bad. It
mostly seems to mean that spell information dialog will not be populated.
Also with the addition of spellmon 2, it is normal for older servers to not
support it, so that does not seem to warrant the error being a warning
anymore.
7 lines of code changed in 2 files:
- Add debugged trunk server code for spellmon 2 request to handle the extended
data in AddspellCmd(). The extended information is currently not exposed
to the user interface, but this commit makes it available.
- The original idea to look at data on the fly instead of tracking spellmon
command response did not work out. It turns out to be very easy to
track server response anyway, so there is not much point in trying to
figure things out dynamically.
- These changes have been tested on old and new servers - including logging in
and out of each on the same client session. The data in the Spell struct
has been confirmed to hold data (by testing with spells found in the
test/spell_requirements map).
51 lines of code changed in 3 files:
- Let's try that again. "silver" isn't a recognized color name and results
in a different error at server startup. The HTML RGB code for silver is
too dark anyway.
1 lines of code changed in 1 file:
- Fix [ INFO ] (spells.c::spell_get_styles) Unable to find style for
spell_normal.
- Remove some end-of-line whitespace.
24 lines of code changed in 3 files:
- Reformat of some comments to ~ 80 cols to reduce vertical text spacing.
Some tab-->space conversion done in the reformatted comments.
- Fix some spelling/grammar issues in comments, and improve readability in
various places.
- Fill out the doxygen comments to the Spell structure by adding information
found in the server documentation of the protocol.
- Add usage and requirements members to the Spell structure that will support
the spellmon 2 extended information.
- Convert some variable comments to doxygen style.
- Add a TODO at the spot where spellmon 2 will be requested when the code is
ready.
- Update SetupCmd() to get ready to handle spellmon 2. Non-functional changes
are comment reformatting/rewriting, and addition of spellmon 2 comments.
Code change to separate darkness and spellmon done, but presently no actual
functional change occurs except there is a minor duplication of an identical
LOG() call.
- Update AddspellCmd() to get ready to handle spellmon 2. Non-functional
changes are comment reformatting/rewriting/addition. Stubs are added
to initialize the spellmon 2 data fields in the Spell structure.
237 lines of code changed in 4 files: