Commit graph

289 commits

Author SHA1 Message Date
Enno Rehling
9b645bf46c issue #419, eliminate language_struct.h, make the struct module-private 2015-12-01 12:24:22 +01:00
Enno Rehling
5b9333f6d9 Merge branch 'release-3.7' into develop
Conflicts:
	src/buildno.h
	src/monsters.c
2015-11-23 17:12:48 +01:00
Enno Rehling
f0a47321d6 reduce log spam 2015-11-21 21:49:33 +01:00
Enno Rehling
06f8ba9ee4 faster lookup for get_param with tries
eliminate unnecessary constatn from rand.c
2015-11-20 15:48:17 +01:00
Enno Rehling
40651d57cd 22583 Time of check time of use
avoid use of access()
2015-11-05 14:05:58 +01:00
Enno Rehling
58c1d83c9e CID 22491 FORWARD_NULL
github issue #352
fals positive, rewriting code to appease coverity
2015-11-05 11:14:53 +01:00
Enno Rehling
075de3c919 math is hard, typing is harder. bugfix. thank you, valgrind my friend. 2015-11-04 15:00:15 +01:00
Enno Rehling
67e2eafbcf add missing include (MSVC is not picky enough) 2015-11-04 14:55:13 +01:00
Enno Rehling
eea0186601 22440 Unchecked return value from library
rewrite log rotation, check errors
2015-11-04 14:16:15 +01:00
Enno Rehling
e6973ff394 CID 22445 Unchecked return value 2015-11-03 23:05:44 +01:00
Enno Rehling
4ee0f76927 CID 22570: Copy into fixed size buffer (STRING_OVERFLOW)
not only that, but strlcpy is the faster option here, too.
2015-10-30 10:57:52 +01:00
Enno Rehling
d3f7bd7b10 CID 22597: va_start/va_end mismatch 2015-10-29 20:43:37 +01:00
Enno Rehling
78899ca801 coverity scan CID 22433: buffer not null terminated, prefer strlcpy over strncpy 2015-10-29 09:06:53 +01:00
Enno Rehling
04bf07a526 coverity scan (multiple CID) is confuced about a_remove, trying to help it. 2015-10-29 09:06:52 +01:00
Enno Rehling
0328e84c6c coverity scan CID 22555: sizeof not portable
wrong type in sizeof (pointer instead of struct)
2015-10-29 09:06:43 +01:00
Enno Rehling
f80f37def3 eliminate static variable leak and allocation from base36 2015-10-27 12:48:34 +01:00
Enno Rehling
144aeb23ac leaks: call cleanup, free triggers 2015-10-14 20:29:07 +02:00
Enno Rehling
5f9c2e13a8 I hate umlaut.c, it's basically magic, and the magic doesn't work right (it leaks memory from line 158) 2015-10-14 13:56:19 +02:00
Enno Rehling
cd9cb24b48 extend test_umlaut a bit, which doesn't trigger issue #316 2015-10-14 13:42:12 +02:00
Enno Rehling
78a8795305 there is a bug in umlaut.c, adding a FIXME.
this happens during test_umlaut, and valgrind detects it.
2015-10-14 13:33:10 +02:00
Enno Rehling
6de8e4466a stop memory leak from function registry. 2015-10-13 21:26:48 +02:00
Enno Rehling
422476409c eliminate memory leak from locales 2015-10-13 20:58:03 +02:00
Enno Rehling
5f7b9129bc Merge branch 'master' into develop
Conflicts:
	tests/runtests.bat
2015-09-12 22:47:33 +02:00
Enno Rehling
06a04d0e20 fix logging for sp_igjarjuk, temporarily set log-levels for the game to error|warn|info
remove some code that accesses `verbosity` variable (todo: hide it more, fix logging)
2015-09-12 19:48:03 +02:00
Enno Rehling
d15d0cc0f4 remove unused xml_i function 2015-09-11 11:08:10 +02:00
Enno Rehling
9bb2a625f9 fix xmlreader bug introduced by last commit (xpath->node not initialized) 2015-09-11 09:10:00 +02:00
Enno Rehling
b631f539ce simplify atoi36, it does not need to eat whitespace 2015-09-05 18:18:22 +02:00
Enno Rehling
5fc1587879 age_unit accidentally returned AT_AGE_REMOVE (caused by a recent change to curse_age) 2015-08-25 22:50:58 +02:00
Enno Rehling
5bc4f7f144 add some simple tests for writing travelthru information to the report, fix test that sets errno as a side effect (thanks, Microsoft!) 2015-08-18 17:08:02 +02:00
Enno Rehling
c8cbeea660 STRLCPY macro redefinition and fixes for gcc. work for monkeys. 2015-08-17 22:48:21 +02:00
Enno Rehling
7e64f3177d refactoring: rewrite tests to use test_find_messagetype instead of assert_messages.
tests: add cleanup of message_types to reduce global state.
2015-08-17 19:36:28 +02:00
Enno Rehling
1806030baa new all-in-one strlcpy and wrptr function 2015-08-17 19:28:05 +02:00
Enno Rehling
dcececf4fa Debug: move errno testing closer to the report-writing, so we know which report caused the error.
Fix: wrptr gets the result from _snprintf, which is int, not size_t.
2015-08-17 16:17:08 +02:00
Enno Rehling
420574c7e4 add unit-test for casting spells, fix spell-casting (was looking for thisorder), all E3 tests pass again 2015-08-05 10:25:25 +02:00
Enno Rehling
009993f2f4 address some PVS comments 2015-07-21 09:01:11 +02:00
Enno Rehling
6ea859ecea ignore PVS=-Studio files 2015-07-12 13:15:10 +02:00
Enno Rehling
7087c0e0ab Update to latest submodules, fix iniparser and critbit.
I did this before, must have lost it in the merge. Crazy.
2015-07-12 10:38:01 +02:00
Enno Rehling
b8e17839a7 eliminate some spammy warnings. 2015-07-08 18:27:27 +02:00
Enno Rehling
76a9dd6741 Merge remote-tracking branch 'upstream/develop' into develop 2015-07-07 15:34:42 +02:00
Enno Rehling
e25d3c8ed1 Fix a bug reporting DETROY messages to the correct unit.
Add missing not-null assertions before accessing function parameters.
Eliminate all of the PVS-Studio warnings.
2015-07-07 00:49:12 +02:00
Enno Rehling
05ec74f9ec annotate with finds from PVS Studio trial static analysis 2015-07-06 21:31:27 +02:00
Enno Rehling
ef4052b0f6 the outcome of a casual static analysis session. 2015-07-06 19:53:09 +02:00
Enno Rehling
c42227c9e4 Bug 1838: Giftwolken dauern nur eine Woche, erscheinen nicht im Report.
https://bugs.eressea.de/view.php?id=1838
- fix dc_age return value
- speed up curse reporting a little
2015-07-03 17:36:37 +02:00
Enno Rehling
3ba2b3d4d7 indentation fixes (tab->spaces) 2015-06-26 14:31:21 +02:00
Enno Rehling
9b7a4e813b functional test for forced leave configuration.
functional test for forced leave after combat.
functional test for MAKE TEMP.
error handling for Lua function building.create().
reduce some errors to warnings.
initialize race.battle_flags correctly (when not created through XML).
re-initialize processor in case config has changed.
handle missing translation of combat status, with error message.
2015-06-19 13:17:01 +02:00
Enno Rehling
a5f056b4b6 re-enable an assertion that was commented out.
fix a size_t range warning, change error code for wrptr().
2015-05-24 14:01:37 +02:00
Enno Rehling
0ea0936156 Use default locale when missing a translation, only warn once.
https://bugs.eressea.de/view.php?id=2103
remove locale::fallback, it was never set anyhow (also, we have no good fallbacks).
2015-05-22 14:14:02 +02:00
Enno Rehling
72e041dd32 fix missing include 2015-05-18 09:04:05 +02:00
Enno Rehling
8e5fc28bfc refactoring more of goodies.h into strings.h 2015-05-18 08:59:38 +02:00
Enno Rehling
70eda58604 Merge branch 'develop' of github.com:eressea/server into develop
Conflicts:
	src/CMakeLists.txt
2015-05-17 17:52:41 +02:00
Enno Rehling
177d1c701f Merge branch 'lua-test-framework' of https://github.com/badgerman/eressea into badgerman-lua-test-framework
Conflicts:
	src/kernel/region.c
	src/util/log.h
2015-05-17 17:39:10 +02:00
Enno Rehling
c4d1482250 signed/unsigned comparisons (VC warning only) 2015-05-15 20:56:43 +02:00
Enno Rehling
9d7a9cbe6a add missing new header 2015-05-15 20:47:27 +02:00
Enno Rehling
df325b243a enable stricter conversion checking for gcc < 4.9, fix code 2015-05-15 20:35:36 +02:00
Enno Rehling
1dc516ab50 reduce warning level on oldterrain() log, warn from caller (json_report) instead. 2015-05-15 07:59:06 +02:00
Enno Rehling
d2af6a2f88 fix -Wconversion in spells.c 2015-05-15 07:07:21 +02:00
Enno Rehling
fe29e29c31 fix -Wconversion for move.c 2015-05-15 06:43:47 +02:00
Enno Rehling
e2421b3fe7 make lua errors show up on stderr, always (log_fatal).
this could have been prettier. log.c could use some loving.
2015-02-23 02:47:08 +01:00
Enno Rehling
f9bced467d fix a crash in rename_cmd 2015-02-08 10:33:45 +01:00
Enno Rehling
5e0c934c6f indentation fixes for this new file 2015-01-30 22:30:11 +01:00
Enno Rehling
df5ab02689 Merge branch 'peasantgrowth_acceleration' of https://github.com/stm2/server into stm2-peasantgrowth_acceleration 2015-01-30 22:11:10 +01:00
Enno Rehling
c54cbfd472 fix copyright notice 2015-01-30 22:10:29 +01:00
Enno Rehling
abca25d1d5 fix indentation in every file
fix copyright date
remove vi ts=2 code
remove a couple of superfluous extern declarations
2015-01-30 20:37:14 +01:00
Steffen Mecke
a97b211e70 bit of testing, code improvements, formatting 2015-01-30 18:25:56 +01:00
Enno Rehling
9f542e081b fix last commit, broke the gcc travis build. 2015-01-15 17:17:32 +01:00
Enno Rehling
490782e750 add some simple tests for messages, prior to any refactorings. 2015-01-15 16:40:19 +01:00
Steffen Mecke
51d52aaf7f implementing a much faster version of peasant growth calculation 2015-01-15 02:53:15 +01:00
Enno Rehling
838cf3d938 try to allow visual studio to build with all warnings (/WAll) enabled. 2015-01-12 22:53:21 +01:00
Enno Rehling
23b8f2bc8a call init_locales after parse_json from Lua, downgrade missing string warnings during that to DEBUG (because it's quite common not to have them).
also, these int to bool conversion warnings made a good point, even if I could not reproduce them.
2015-01-08 20:55:29 +01:00
Enno Rehling
5e10bc4093 wait, no. tests did not pass when that change was made (for good reason, I assume). 2014-12-31 13:19:44 +01:00
Enno Rehling
f524f23cd4 superfluous semicolons and other small stuff.
missing strings are an error, not a warning.
2014-12-31 13:17:54 +01:00
Enno Rehling
e8ad542430 more thorough cleanup of tokens. 2014-12-31 01:50:54 +01:00
Enno Rehling
e9c3a00f7d it sucks that get_translations sometimes returns tokens, and sometimes critbit_trees. How is anyone supposed to free that correctly? 2014-12-31 01:29:10 +01:00
Enno Rehling
2fbb04140c at_deprecated was causing a small memory leak. 2014-12-31 01:17:49 +01:00
Enno Rehling
89ce04a6c3 this obviously cannot be const, then. fix the build. 2014-12-30 00:02:27 +01:00
Enno Rehling
077a0aeeef plug some new memory leaks 2014-12-30 00:00:57 +01:00
Enno Rehling
43351e03cd parsing needs to return a static buffer if it has no argument 2014-12-29 07:44:00 +01:00
Enno Rehling
67881dfff4 parsing tokens when buffer is too small - skip the entire token. now with tests. 2014-12-24 15:55:55 +01:00
Enno Rehling
b27491eccd move atoip out of config (small helper) and test it.
remove some unnecessary variables from laws.c
2014-12-23 09:23:37 +01:00
Enno Rehling
5ebf05f625 additional tests for the parser.
move more parsing code out of config.c
2014-12-22 16:45:56 +01:00
Enno Rehling
c8b9044f78 rename to gettoken, use more widely, add a basic test. 2014-12-22 16:28:17 +01:00
Enno Rehling
5cdc85f6bf start to get rid of getstrtoken(), which uses an internal static buffer and causes horrible bugs when called multiple times. 2014-12-22 14:21:24 +01:00
Enno Rehling
da1d3c49c3 ongoing config.c cleanup: getid() 2014-12-18 07:09:22 +01:00
Enno Rehling
455b3dc90e ignore obsolete "lua" attributes in ancient data files.
fix a small bug in the mechanism for reading deprecated attrib_types.
2014-12-13 22:08:57 +01:00
Enno Rehling
cd70b8684d fix escape_string mmeory corruption error.
fix a number of small stuff that happens when loading very old data files (like 572).
2014-12-12 11:28:37 +01:00
Enno Rehling
81bfb598d0 refactoring modules, cleaning out the config.c kitchen sink.
- cansee_* rules to laws.c
- translations to language.c
- stealth to attributes/,
- rename build.h -> buildno.h
2014-11-01 12:09:56 +01:00
Enno Rehling
6bd52012c0 read keywords from json configuration, use German imperative forms. 2014-10-29 19:40:09 +01:00
Enno Rehling
f788f19f6c fix tests that relied on translation structures being statically cached.
clean up static cache, add test for German imperative (WIP)
2014-10-23 16:14:01 +02:00
Enno Rehling
356697e44e improve test for attrib::nexttype correctness. 2014-10-19 20:02:06 +02:00
Enno Rehling
eb1d73e2c2 basic test for tolower function. 2014-10-19 06:42:40 +02:00
Enno Rehling
7e1cec33a2 Remove unused gmcmd attributes.
use the at_deprecated feature that was built for this purpose.
remove final external dependency on a_free in the code.
2014-10-18 19:23:36 +02:00
Enno Rehling
a58afb9d15 added test for removal of atributes.
refactor existing tests a bit, free up memory.
2014-10-18 17:51:07 +02:00
Enno Rehling
b37e8ac138 add a test for attrib->nexttype.
fix gcc build.
2014-10-18 17:12:43 +02:00
Enno Rehling
74a6bd72c2 additional testing. 2014-10-18 14:16:26 +02:00
Enno Rehling
4527ffdda2 refactoring and tests for wormhole module. 2014-09-29 23:19:59 +02:00
Enno Rehling
3e829e2880 support for itoab with smaller bases and larger numbers.
also a missing English message (museum-related)
2014-09-29 18:32:12 +02:00
Enno Rehling
c0230d2662 In the game, there is only ever one special direction, and it is for the astral space.
less XML, more code.
cleaning up the special direction parsing a bit.
2014-08-28 19:50:38 +02:00
Enno Rehling
2211111b29 Remove a German-only piece of text, to reduce the footprint of fleets in the report a little.
Fix English score message in NR.
Small fixes to meet Visual Studio warning level 4.
2014-08-25 00:45:32 +02:00
Enno Rehling
a3037950ff fix a bug in the escape_string function.
remove static return variable from escape_string.
add test coverage.
2014-08-24 23:58:31 +02:00
Enno Rehling
808f343e34 make getstrtoken() return null at EOL, kill init_tokens.
init_order all the things!
added a bunch of new assertions to cover for oversights.
added some new tests for order parsing.
2014-08-23 09:17:58 +02:00
Enno Rehling
59ccf23db6 Repair MAKE, which broke when I changed MAKE TEMP.
You can now also write MAKETEMP as one word, and we treat it that way.
Added unit test coverage for MAKE order parsing.
2014-08-17 14:47:39 +02:00
Enno Rehling
41d42fa248 localization of alliance status "ALL".
fix for https://bugs.eressea.de/view.php?id=1993
2014-08-16 03:07:37 +02:00
Enno Rehling
dafe71f4b8 micro optimizations.
removing a lot of mallocs through strdup  by replacing getcommand calls with get_command, which takes a buffer. only one left.
removing mkname calls with a static buffer for keyword-tokens.
commit the schema file I had lying around.
2014-08-14 09:57:05 +02:00
Enno Rehling
9ca206ec3f remove reference to thieves and spies from this spell for non-E2 games.
this fixes https://bugs.eressea.de/view.php?id=1548
2014-08-14 07:05:12 +02:00
Enno Rehling
3c2ae7ca93 preview script and logging cleanup
1. all log messages will be terminated with \n, whether the user provided
	it or not.
2. remove a bunch of print() calls from scripts to reduce clutter
3. replace printf calls with log_* calls to reduce clutter
4. add the new release preview script
2014-08-11 12:04:12 +02:00
Enno Rehling
d9457a2488 rewrite of the Lua module system.
At this time, only E2 is working.
Fixing a lot of old code (monster is no longer id 0).
package.paths configured from eressea.ini
install directory configured from eressea.ini
moving building_action into a seaprate module (it's deprecated)
2014-07-26 22:52:25 +02:00
Enno Rehling
e44d4aa9b9 implemented a suggested change to RESERVE.
http://bugs.eressea.de/view.php?id=1675#c5240
new setting "rule.reserve.twophase" reserves from self first, before reserving from others.
fix a crash when trying to flush logs and there is no logfile.
2014-07-20 06:19:21 +02:00
Enno Rehling
4c4652667c fix code to work with gcc, move init_locales() outside of util. 2014-07-17 15:16:57 +02:00
Enno Rehling
1500bcac70 REKRUTIERE RASSE funktioniert nicht (Bug 2012)
http://bugs.eressea.de/view.php?id=2012
init_locales must not be called before races have been configured.
make jsonconf initialize translations
handle missing strings in translations, log errors.
2014-07-17 14:38:56 +02:00
Enno Rehling
b21cb8f5c7 Simple test for rules.give (there are many more, can_give deserves a test to itself).
The more tests I write, the more I hate the infrastructure for them.
2014-07-05 23:06:51 -07:00
Enno Rehling
12e15978b8 read weight, capacity and flags of items 2014-06-25 08:00:09 -07:00
Enno Rehling
b40ddaeaa1 add test for keyword aliases, add keyword to strings for reverse lookup 2014-06-16 20:41:08 -07:00
Enno Rehling
0af5e96e3a Renaming keyword tokens to English. 2014-06-16 20:16:06 -07:00
Enno Rehling
6a20594fd3 renamedtest files in the rest of the makefiles, too. oops. 2014-06-16 08:07:08 -07:00
Enno Rehling
125fd519a8 rename test files.
add tests for keyword.c, incomplete.
2014-06-16 08:01:59 -07:00
Enno Rehling
64e0c221ec directions can now be read from json configuration.
rename a couple of functions for more consistency across modules.
2014-06-15 22:17:08 -07:00
Enno Rehling
a9f0538d8e keyword_t and direction_t are moving into their own module.
direction parser gets new initialization function, for use in jsonconf later.
add unit tests for directions.
2014-06-15 18:34:39 -07:00
Enno Rehling
fa98528d72 remove old SQL patch code, we have sqlite now.
rearrange the SlickEdit projects.
2014-06-11 22:21:52 -07:00
Enno Rehling
28726e2bea update cmake to compile without sqlite3, curses or libxml2 installed.
This is not actually recommended, but your system may not have
this,and you should still be able to contribute. also, libxml2 is on
the way out, I am beginning to really hate it.

Moving a couple of files around.
2014-06-11 20:30:34 -07:00
Enno Rehling
3dda5d3033 apply USE_LIBXML consistently, so tests can be built without libxml2 2014-06-09 20:51:29 -07:00
Enno Rehling
a304b981d5 remove archetypes, they are not used by any existing game.
make compiling with libxml2 optional (USE_LIBXML2)
disable xml reports
2014-06-09 19:05:17 -07:00
Enno Rehling
3c4b6b9dd4 rename message.[hc] to messages.[hc] in kernel because of naming conflict with util/
begin json config files (WIP)
2014-06-09 09:56:49 -07:00
Enno Rehling
6f29e4dab5 improve logging information (missing race, log levels)
do nothing when thre is no peasant blood
2014-06-01 11:07:22 +02:00
Enno Rehling
921ab4947e fixing xml config for e2 and e3 2014-04-24 06:24:35 -07:00
Enno Rehling
e5b54ba953 Merge branch 'master' of github.com:eressea/server 2014-04-24 14:41:21 +02:00
Enno Rehling
c1b840b0b2 remove -Cef, parse any arguments as a file to run.
new xml config file, work in progress, xinclude is broken
2014-04-24 14:41:04 +02:00
Enno Rehling
2cc21b265d remove GM command, remove gm-attributes from data when writing. 2014-04-22 21:42:32 -07:00
Enno Rehling
fa5dc43b98 reorganizing the way configuration data is read (WIP) 2014-04-20 09:36:25 -07:00
Enno Rehling
7358c48580 removing some naming conflicts that hapen when trying to re-enable amalgamation builds. 2014-04-11 19:41:17 -07:00
Enno Rehling
e99b69d76e need to cast this to (char) after all, for non-arm architectures. 2014-04-11 18:25:07 -07:00
Enno Rehling
b769be0f60 invalid tests for some architectures (char is not guaranteed to be signed or unsigned)
fix tests on ARM
2014-04-11 09:46:03 -07:00
Enno Rehling
52e64ac418 this single-use macro doesn't belong there 2014-03-17 00:42:46 -07:00
Enno Rehling
1ec18b8fd9 better SWAP() macro 2014-03-17 00:28:13 -07:00
Enno Rehling
3c706cf29b replace bool.h with autoconf
Most of the bool configuration was already happening there, no reason
for a separate file.
2014-03-15 22:24:18 -07:00
Enno Rehling
8e42cb8143 remove old inline cruft
fewer macros = better
2014-03-15 14:52:04 -07:00
Enno Rehling
8db8dbeefd fix usage of access()
those were the wrong constants.
2014-03-15 14:36:55 -07:00
Enno Rehling
9fc926864e Fixes for Visual C++
snprintf and strncasecmp are not that.
_access needs to be fixed on gcc, next.
2014-03-15 12:35:20 -07:00
Enno Rehling
1a7d892a96 use cmake for autoconf, slim down platform.h 2014-03-15 19:29:11 +01:00
Enno Rehling
03c247c788 I am killing the core/ directory.
Lots of files are moving to a new location in src/
Some intersting CMake changes.
2014-02-18 05:45:00 +01:00