Commit graph

3091 commits

Author SHA1 Message Date
Bill Kendrick
2117db234e Generate & install starter thumbnails again
I cannot recall[*] why we disabled the steps to generate thumbnails of
starters (".thumbs/STARTERNAME-t.png") and install them in the system
directory (e.g., /usr/local/share/tuxpaint/starters/.thumbs/),
but every time one goes to create a new image ("New"), it took a very
long time to show.

[*] If anyone remembers ~a decade ago, and has a good reason, let me know!

Also, remove "Makefile" as a prerequisite for some targets; if anything
major changes in there, it's expected one will run "make clean" or
remove the binary/etc. target and rebuild.  (Rebuilding "tuxpaint.o"
every time I edited something unrelated in Makefile was really annoying :) )
2019-09-14 09:33:22 -07:00
Bill Kendrick
2911b35a50 Elevate "Fill" from Magic Tool to real Tool
Replace the somewhat-recently-added "nothing" item in the tool bar
with the "Fill" tool, which has been converted back from a Magic tool
to a regular tool.

Also, change bash "==" to sh "=" in "if [ ... ]" tests in Makefile.

Also, link to math library (via "-lm") to make sure "max()" is available to
magic tools.

Also, add missing mention of "--newcolorslast" and "--newcolorsfirst" to manpage.
2019-09-12 23:04:13 -07:00
Bill Kendrick
d79173eae4 Doc'ing Luc's Haiku updates 2019-09-12 21:16:45 -07:00
Bill Kendrick
df49986fab Add a FALL_THROUGH macro to compiler.h
Older gcc's don't support `__attribute__ ((fallthrough))`
(see https://sourceforge.net/u/begasus/tuxpaint/ci/e5c3cdfcf5e16a9b0fc3e7766bfea1d9c326b3ae/
"Haiku Fixes" by Luc), so adding a new macro to compiler.h
that is defined as "((void)0)" on older compilers.
2019-09-12 20:27:03 -07:00
begasus
e5c3cdfcf5 Haiku fixes 2019-09-06 13:45:56 +02:00
Bill Kendrick
7938480174 Clean up GCC warnings (2019-08-29 edition)
Updated most parts of the code that were throwing warnings in GCC.
2019-08-30 00:01:00 -07:00
Pere Pujal i Carabantes
1f2c6c3c4e Starter frame_heart.png was wrongly discarded as being the .png version of frame_hearts.svg. 2019-06-22 00:22:36 +02:00
Bill Kendrick
a4d213178d More indentation!
See https://sourceforge.net/p/tuxpaint/mailman/message/36077409/
2019-04-13 12:23:47 -07:00
Bill Kendrick
cb8c885433 Ran indent on tp_magic_example.c
See https://sourceforge.net/p/tuxpaint/mailman/message/36077409/
from Oct. 2017 for more.
2019-04-13 12:13:28 -07:00
Bill Kendrick
f62c9c7a2c Ran indent on .h files
See https://sourceforge.net/p/tuxpaint/mailman/message/36077409/
from Oct. 2017 for more.
2019-04-13 12:10:58 -07:00
Bill Kendrick
e996746351 Funky function call indent fix
A word-wrapped line of code using an array to access a
function was confusing `indent` (causing it to change back & forth
everytime `indent` was invoked!)

Cleaned it up and wrapped in /* *INDENT-OFF* */.../* *INDENT-ON* */
to prevent further confusion.
2019-04-13 12:08:04 -07:00
Bill Kendrick
dd82fa06e3 Mended tuxpaint.c indent
Some commentary lines kept increasing indent every time
`indent` was ran!?  Wrapped in /* *INDENT-OFF* */ ... /* *INDENT-ON* */
to prevent this, and mended them.
2019-04-13 12:05:56 -07:00
Bill Kendrick
4e3a9fbc8c Re-ran indent on .c files
Also, added a few places where indent is disabled
(via `/* *INDENT-OFF* */`).

See https://sourceforge.net/p/tuxpaint/mailman/message/36077409/
from Oct. 2017.
2019-04-13 12:00:44 -07:00
Bill Kendrick
99b566ae26 Support SIGUSR1/2 for immediate(ish) quit-and-save
Respond to a SIGUSR1 or SIGUSR2 signal by configuring itself
for autosave, saving a new file, or overwriting the current,
respectively, and sending itself a SIGTERM (which _generally_
causes Tux Paint to quit, depending on where you are in the UI).

Closes https://sourceforge.net/p/tuxpaint/feature-requests/188/
2019-04-03 22:49:04 -07:00
Bill Kendrick
d70c587077 Mend crash bug in new "--newcolorslast" feature
The "New" dialog's new "--newcolorslast" option was not complete,
and caused crashes. (Sorry! Mended!)

Closes https://sourceforge.net/p/tuxpaint/bugs/219/
2019-04-03 22:05:05 -07:00
Bill Kendrick
f3965941aa Mend alloc bug introduced testing 'New colors last'
Didn't mean to stop alloc'ing space for the colors!
2018-12-18 22:45:52 -08:00
Bill Kendrick
5d9ceca076 "New colors last"; place colors at end of New
New option to place color palette items at the end of the "New"
dialog, rather than at the beginning.  Useful for when users
would want to pick from a set of Starters and/or Templates,
e.g., in a school or museum environment.

Available via command-line option "--newcolorslast", and
config file setting "newcolorslast=yes".  (And anti-option to
override config file settings, "--newcolorsfirst" and "...=no",
which represents the original behavior, which continues to be
the default).

Suggested by Bernard Verhaeghe.
2018-12-18 22:37:03 -08:00
Bill Kendrick
268e213e6d Bump to 0.9.24; improve usage output
Bumping to 0.9.24; going to add a new feature momentarily.

Improved usage output (e.g., that of "tuxpaint --help"); broke
the options into groups that match the tabs in Tux Paint Config.,
added some missing options.
2018-12-18 21:56:05 -08:00
Bill Kendrick
32cf7679a9 Updated link to MinGW/MSYS docs
They're in a new location over on John P.'s website
(should we purhapse integrate them into Tux Paint proper?)

(h/t sechidis & whoever on #tux4kids IRC channel who helped them)
2018-12-08 10:32:47 -08:00
Bill Kendrick
b18911ea4a Doc Mac OS X 10.7 fix; update docs to new vers. #
Document Mark Kim's Mac OS X 10.7 fix.
Update docs to new version number (0.9.23c).
2018-10-07 15:53:48 -07:00
Mark Kim
5f3c0a5f83 Merge branch 'master' of ssh://git.code.sf.net:/p/tuxpaint/tuxpaint 2018-10-07 18:04:38 -04:00
Mark Kim
d2ef2e17d1 macOS 10.7 compatibility
It's been reported that the latest version of Tux Paint does not run on macOS
10.7 (Lion).  This change fixes the issue.

BACKGROUND

A user has reported Tux Paint 0.9.23 does not run on macOS 10.7.  She also
identified that the issue is due to a system library required by Tux Paint,
/System/Library/Frameworks/CoreGraphics.framework does not exist on macOS 10.7

Some investigation revealed that CoreGraphics.framework is a library required
by libSDL, and it exists under an alternate path in macOS 10.7, underneath
/System/Library/Frameworks/ApplicationServices.framework/Frameworks/.
CoreGraphics.framework also exists underneath this path in newer version of
macOS as a symlink to the real directory as well, so the issue can be fixed by
simply relinking SDL to use the old (compatible) path instead of the new
(default) path to CoreGraphics.framework.

This change adds the code such that, during the `make install` step to create
TuxPaint.app, any library referencing CoreGraphics.framework is re-linked to
the compatible path rather than the path that only exists on the newer version
of macOS.

For more information, see:

https://stackoverflow.com/questions/20206985/xcode-linking-against-applicationservices-framework-with-sdk-10-9-causes-10-7
2018-10-07 17:48:41 -04:00
Bill Kendrick
81ff7d3ae0 Doc'ing return of Mac print dialog
(See recent commit by Mark)
2018-09-30 19:55:43 -07:00
Mark Kim
be99eb3844 Re-add print dialog access to macOS.
Ability to bring up the print dialog from the macOS build was removed in
Tux Paint 0.9.23 to support the new build mechanism.  It has been re-added.
To access it, option-click the print icon, or configure Tux Paint to always
bring up the dialog upon print.
2018-09-28 23:24:56 -04:00
Bill Kendrick
33de9841c0 0.9.23a; doc: less hungry progress, verbose debug
Documenting Mark Kim's recent changes:

 * Less CPU-hungry progress bar (during Stamp loading)
 * Verbose debugging options
 * (Also, mentioned debugging _at all_, in INSTALL.txt)

Bumping version to 0.9.23a, to match the test build he's working
on for macOS.
2018-09-24 22:15:38 -07:00
Mark Kim
8d9e187cc9 More debugging features, performance and macOS update.
Added function name to the output of verbose logging.  Verbose logging is
the feature introduced in the previous git commit where a call to printf()
automatically adds the source filename and line from where the printf() is
called, and the runtime timestamp at which the call was made.  Now this
feature adds the functio name from which the printf() is called.  This
feature is enabled if and only if both DEBUG and VERBOSE are defined in
debug.h and the source is compiled with GCC.

Added a new macro DEBUG_PRINTF() that expands to printf() if and only if
DEBUG is defined in debug.h.  This feature works with verbose logging if
VERBOSE is also defined and the source is compiled with GCC.

Reduced the launch time.  A user reported an issue with Tux Paint taking 7
minutes to launch; an investigation showed that launching Tux Paint with
all stamps and the screen width set wide (~1500 pixels) can cause the
slowdown during the progress bar drawing sequence because progress bar
takes a long time to draw on screens with a wide screen, and it is called
~10 thousand times during the stamp loading process.  The issue has been
addressed by calling the progress bar less frequently.

Updated the macOS build version and date, under which these features were
tested.
2018-09-24 23:00:04 -04:00
Mark Kim
c2be35f1bf Verbose logging.
Verbose logging adds metadata about when it is called and from where to every
printf call. Enable it by uncommenting both DEBUG and VERBOSE defined constants
in debug.h.
2018-09-23 21:35:31 -04:00
dolphin6k
1588c20b5b reverted to previous build environment. 2018-09-15 22:49:17 +09:00
Bill Kendrick
ce47eb4c28 Doc'ing everywhere to fiddle w/ version #
I forgot to make sure macos/Info.plist had the latest version # and
release date, before tagging and releasing source code.  Adding a checklist
of places to double-check for properly-updated version #s and/or release dates.
2018-09-02 10:29:33 -07:00
Mark Kim
b3647e0c55 Update the build date for the macOS.
Tux Paint 0.9.23 has been released on macOS. This commit updates the version
string.
2018-09-01 16:02:45 -04:00
Bill Kendrick
6633b40d7f New file-naming convention for magic docs
Anything non-A-to-Z (including spaces) convert to "_".
(Before, spaces were just eaten)
2018-08-30 02:14:43 -07:00
Bill Kendrick
762d02788d Working to regen magic tool docs 2018-08-30 02:11:56 -07:00
Bill Kendrick
0edf9cb4d9 Mend typo in README stub
local -> locale
2018-08-30 01:45:35 -07:00
Bill Kendrick
e5d59e6f58 Moving magic docs (end user) into en subdir, too
Make "Makefile" that generates magic doc TXT files
from HTML work.
2018-08-30 01:33:04 -07:00
Bill Kendrick
ecfb336b5c Get magic docs HTML/TXT generator working
Needs "<?php" not "<?".
2018-08-30 01:31:36 -07:00
Bill Kendrick
232176025d Moved magic docs to 'en' subdir, so make works
Makefile for docs (used also by magic tool docs) expects
things to live in localized subdirectories now, so moved
things there.

Also, rebuilt README.txt (now en/README.txt) using the updated
README.html source.
2018-08-30 01:26:14 -07:00
Bill Kendrick
5f08467c83 Added new MODE_...'s to magic tool docs
Added documentation for "MODE_ONECLICK" and "MODE_PAINT_WITH_PREVIEW",
which were added to Tux Paint magic API 0x00000003 in Tux Paint 0.9.22)
to Tux Paint magic tool development docs.
2018-08-30 01:23:31 -07:00
Bill Kendrick
1ed04ed1a5 More Name Case! 2018-08-30 01:05:49 -07:00
Bill Kendrick
6cd47ea2dc Name Case for Chandrakant Dhutadmal 2018-08-30 00:55:16 -07:00
Bill Kendrick
8b84d51d00 Update & simplify credits
Update (c) date to 2018 on title screen.
Simplify and update (c) info in most documentation.
2018-08-28 09:36:38 -07:00
Bill Kendrick
a26ac167d0 Bump version # & date in man page 2018-08-19 21:38:07 -07:00
Bill Kendrick
ab591eaa6b Bumped version # in tuxpaint.spec 2018-08-19 21:36:56 -07:00
Bill Kendrick
edae5fc771 Installation tweaks to Makefile
* Install Tux Paint docs into a version-numbered directory
   (e.g., "/usr/local/share/doc/tuxpaint-0.9.23/")

 * Launcher icon installation location adjustments:
   * .../X11R6/include/X11/pixmaps/ -> .../share/pixmaps/
   * Using kde4config (vs kdeconfig); not putting things in "Graphics" subdir.
   * Removed gnome-config stuff
2018-08-19 21:31:09 -07:00
Bill Kendrick
5e88f0473b if/else indentation in Makefile
Improve readability of part of the Makefile.
2018-08-19 20:39:58 -07:00
Bill Kendrick
11bcb019b8 Referring to AUTHORS/CHANGES for author list
No longer saying "By Bill Kendrick", since so many more people
have added so much to the project over the years.
(I'm basically website maintainer & project manager these days :) )
2018-08-18 00:17:11 -07:00
Bill Kendrick
2837e491bb Scottish Gaelic translation update
Scottish Gaelic translation update from Fòram na Gàidhlig.
2018-08-18 00:15:13 -07:00
Bill Kendrick
dca0f8bb38 Doc'ing Hat starter fix
https://sourceforge.net/p/tuxpaint/bugs/202/
2018-08-09 21:51:30 -07:00
Bill Kendrick
6e55fd9cb8 Basque translation update
Updates to eu.po by Alexander Gabillondo.
2018-08-09 21:03:21 -07:00
Mark K. Kim
ccc5eb8835 Merge branch 'master' of ssh://git.code.sf.net:/p/tuxpaint/tuxpaint 2018-08-09 07:35:34 -04:00
Mark K. Kim
f0f88722b4 Fix macOS printing error message issue.
Previously Tux Paint was raising an error informing the user it could not
print even when it did print successfully.  This appears to be due to our
lpr printing routine's assumption that errno is reset on success whereas
the C library in macOS does not appear to do so.  To address this issue,
errno is reset before calling pclose() (on macOS and macOS only - just in
case this code has an unintended side-effect on other platforms).  This
code change assumes we're only interested in errno set by pclose(), and
that our lpr printing routine is not interested in errno raised prior to
pclose().
2018-08-09 07:27:00 -04:00