1
0
mirror of https://git.zap.org.au/git/trader.git synced 2025-02-02 15:08:13 -05:00

43 Commits

Author SHA1 Message Date
John Zaitseff
1c2518a78b Minor clean-up: replace character constants with wide-char versions
Wide-char character constants is not strictly needed for most (all?)
modern C compilers, as ASCII maps to wchar_t directly (as long as
__STDC_ISO_10646__ is defined).  However, it doesn't hurt to be pedantic!
2011-08-25 21:34:41 +10:00
John Zaitseff
20473ae409 Use wide-character functions for input routines and most strings
Convert all input routines, and most internal strings, to use
wide-character functions.  All extended characters are supported,
including those having column widths of zero (eg, combining characters),
one (eg, normal Western characters) and two (eg, many East Asian
characters).  This was quite a major undertaking!
2011-08-25 13:19:31 +10:00
John Zaitseff
b5b211313e Move chstrdup() to utils.c and rename it to xchstrdup()
The new name is for consistency with other XXXdup() functions used in
this program.
2011-08-20 15:17:09 +10:00
John Zaitseff
4d6f1478e6 Remove the superfluous argument to chstrdup()
This argument is not required: we KNOW that we have initialised chtype
arrays with an ending NUL!
2011-08-18 14:53:03 +10:00
John Zaitseff
6ef7c7b6da Allow localisation of company letters and map moves (choices) 2011-08-18 12:10:33 +10:00
John Zaitseff
b674c05d56 Add many comments for translators; use pgettext() where appropriate 2011-08-17 19:13:05 +10:00
John Zaitseff
d953154e5d Mark up strings with xgettext:c-format comments where appropriate 2011-08-17 10:04:57 +10:00
John Zaitseff
6c1c272780 Place all output strings within gettext invocations 2011-08-16 21:03:41 +10:00
John Zaitseff
cf30933614 Continue to rewrite the interface code to use the new interfaces 2011-08-16 18:48:56 +10:00
John Zaitseff
82647cf691 Move to the new left/center/right functions; add maxlines parameter 2011-08-15 23:54:44 +10:00
John Zaitseff
665605d144 Add convenience functions left(), center() and right() 2011-08-15 21:04:07 +10:00
John Zaitseff
a6c362d2e8 Rename pr_left, pr_center and pr_right to leftch, centerch and rightch 2011-08-15 19:46:26 +10:00
John Zaitseff
907a995b98 Refactor function names; "old_" functions will be removed
Rename prepstr, vprepstr, chbufdup, center, center2, center3 and attrpr
to mkchstr, vmkchstr, chstrdup, old_center, old_center2, old_center3 and
old_attrpr respectively.
2011-08-15 19:12:26 +10:00
John Zaitseff
0c319738a8 Continue to move code to prepstr() and friends 2011-08-15 17:07:00 +10:00
John Zaitseff
746155078b Continue to move text output to the new interfaces 2011-08-15 10:08:44 +10:00
John Zaitseff
5bb48fe35f Add wrapper functions xmalloc() and xstrdup() to do error handling 2011-08-13 08:50:34 +10:00
John Zaitseff
7d9bf097b9 Replace discrete calls to newtxwin() etc. with calls to txdlgbox() 2011-08-12 18:24:35 +10:00
John Zaitseff
040e1a5ad6 Rework the signal handler
Rework the signal handler to be somewhat more unsafe, but conceptually
cleaner, in operation.  It now ends the use of Curses, then reraises the
signal.  Remove almost all references to abort_game.
2011-08-09 23:20:56 +10:00
John Zaitseff
bbdae69de4 Add a signal handler for SIGINT and SIGTERM
Add a signal handler for SIGINT and SIGTERM, as well as sprinklings of
checks to abort_game.  Although Ncurses DOES define handlers for SIGINT
and SIGTERM, they do not always seem to work correctly under many
operating systems.
2011-08-08 20:47:52 +10:00
John Zaitseff
961e989bd7 Replace the WCENTER(x) macro with WCENTER; refactor newtxwin() to suit 2011-07-23 10:16:03 +10:00
John Zaitseff
fc60a9fef1 Rework the handling of character renditions
Rather than querying use_color each and every time a rendition is used,
do it once in init_screen(), assigning the renditions to global
variables.
2011-07-23 09:47:13 +10:00
John Zaitseff
6704c358ce Make compiler quieter about signed and unsigned comparisons 2011-07-22 13:07:14 +10:00
John Zaitseff
ac55800e90 Continue moving comments from source files to headers
Also refactor some code, primarily in process_move(), to reduce the level
of indentation.
2011-07-22 12:11:19 +10:00
John Zaitseff
4b4efd7851 Replace the global variable localeconv_info with lconvinfo
In general, verbosity is not really to be encouraged...
2011-07-22 10:23:58 +10:00
John Zaitseff
ee992fa02a Move printing a prompt into answer_yesno(); document wait_for_key() 2011-07-21 13:10:51 +10:00
John Zaitseff
9f02f8e77f Rename character renditions (attributes) to something more regular 2011-07-20 17:01:25 +10:00
John Zaitseff
46c7a55203 Remove LINE_OFFSET and COL_OFFSET; rename COL_CENTER to WCENTER 2011-07-20 15:53:53 +10:00
John Zaitseff
c6007be5aa Move background setting and box drawing into newtxwin()
Setting the background and drawing a box is almost always the first thing
done after window creation.
2011-07-20 11:41:46 +10:00
John Zaitseff
da7477dc28 Compensate for the POSIX locale not having a currency symbol
The function l_strfmon() will insert MOD_POSIX_CURRENCY_SYMBOL in the
appropriate place when used with the POSIX ("C") locale.
2011-07-20 10:44:44 +10:00
John Zaitseff
c19feab652 Clean up various comments, etc, in header files 2011-07-19 20:32:00 +10:00
John Zaitseff
13c6353dd2 Replace all visible mentions of <ESC> with <CTRL><C>
Note that pressing <ESC> will often generate up to one second's worth of
delay, whereas <CTRL><C> causes no delay.
2011-07-19 19:45:42 +10:00
John Zaitseff
fcffaa5860 Add checks for KEY_EXIT: same functionality as pressing CTRL-C 2011-07-19 19:22:20 +10:00
John Zaitseff
ccbe7405f8 Replace "out of memory" errors with calls to err_exit_nomem() 2011-07-19 19:16:34 +10:00
John Zaitseff
c3097e7f6f Fix a long-standing bug: don't impound more cash than the debt amount! 2011-07-19 00:03:34 +10:00
John Zaitseff
c686d2f548 Rename sel_val_t to selection_t; add values useful for exchange_stock() 2011-07-18 20:16:24 +10:00
John Zaitseff
1beb2003ef Remove the global variables selection, credit_limit and bid_used 2011-07-18 16:22:24 +10:00
John Zaitseff
c123a87cc3 Move common bankruptcy code to a separate function, bankrupt_player() 2011-07-18 15:34:57 +10:00
John Zaitseff
2ec1c7faa9 Check if a player's debt is too large 2011-07-18 15:03:07 +10:00
John Zaitseff
5fca151b60 Add the function adjust_values() 2011-07-18 14:05:22 +10:00
John Zaitseff
4ecb40fe27 Complete the implementation of the process_move() function
This includes the functions try_start_new_company(), merge_companies(),
include_outpost() and inc_share_price().
2011-07-16 19:23:12 +10:00
John Zaitseff
885b49f19d Allow a player to declare themselves bankrupt 2011-07-16 14:37:29 +10:00
John Zaitseff
e2dbe549b2 Implement the "Save game" player choice; start coding process_move() 2011-07-16 13:34:13 +10:00
John Zaitseff
ddb214c5fb Move the selection and processing of game moves to move.c 2011-07-16 10:30:58 +10:00