Commit graph

935 commits

Author SHA1 Message Date
Enno Rehling
c91da12883 refactor demon_skillchange to use learn_skill
Also extracting it into the study module. No idea yet how I am going to sense this for a test, so the test currently does nothing.
2016-03-24 12:59:50 +01:00
Enno Rehling
cae966f4fe nextborder wurde nicht gelesen, wird aber gebraucht 2016-03-13 09:49:04 +01:00
Enno Rehling
637054bc22 memory leak: clean up mstream after test 2016-03-11 11:33:45 +01:00
Enno Rehling
b81f9db074 memory leak: free race->parameters 2016-03-11 11:31:05 +01:00
Enno Rehling
c9e524d161 memory leak: test_group_readwrite leaks an attrib
- groups were not clearing attribs when they were destroyed.
- new critbit module fixes leak in cb_erase
2016-03-10 22:30:19 +01:00
Enno Rehling
7e98384542 fix some memory leaks
- t_free does not free
- free_factions frees the wrong list
- cleanup after attrib test
2016-03-10 13:27:08 +01:00
Enno Rehling
d43265f937 a new test for the happy case of a working academy
dependency injection for learn_skill
memory leak fixes (triggers, armor)
2016-03-09 23:20:05 +01:00
Enno Rehling
02cfacd7f8 refactorings
- learn_skill from unit.c to study.c
- add academy.c module
2016-03-09 14:52:50 +01:00
Enno Rehling
3d5c7ba8fb refactoring: move produceexp from unit.c to study.c 2016-03-09 14:50:54 +01:00
Enno Rehling
2b62747718 fix datafile reading problems for versions 350 and 351 2016-03-09 14:50:03 +01:00
Enno Rehling
197241df0d fix datafile reading problems for versions 350 and 351 2016-02-29 16:18:14 +01:00
Enno Rehling
fcc846da95 all of the easy external file tests are eliminated 2016-02-26 20:07:51 +01:00
Enno Rehling
5f923295e6 remove datafiles from save.test.c
this should fix intermittent tests on windows.
2016-02-26 19:49:58 +01:00
Enno Rehling
63408501b9 convert another test to read_/write_game 2016-02-26 19:01:28 +01:00
Enno Rehling
3c272fd53f fix reading and writing curses from test (crash)
fix read_game/write_game incomaptibility.
2016-02-26 17:54:25 +01:00
Enno Rehling
ce867af34f this is a static variable, and it is bad 2016-02-25 23:11:44 +01:00
Enno Rehling
81a2dd9d21 extract read_game and write_game (take a gamedata argument, not filenames) 2016-02-25 19:12:38 +01:00
Enno Rehling
5fed36903c some drmemory fixes
some tests leaked.
current test_eressea reports:
     41 unique,    41 total,   3778 byte(s) of leak(s)
    120 unique,   270 total,   5615 byte(s) of possible leak(s)
2016-02-25 10:16:50 +01:00
Enno Rehling
db852a05fd eliminate global.data_version completely 2016-02-24 11:58:05 +01:00
Enno Rehling
d48d9a25e0 forward-declare struct gamedata 2016-02-24 11:54:23 +01:00
Enno Rehling
8a9d617aa3 read_referernce takes a gamedata object.
with all the trimmings that requires,
this is for github issue $479
2016-02-24 11:53:22 +01:00
Enno Rehling
2e41c4972c read_spellbook, use gamedata.version
github issue #479
2016-02-24 11:48:46 +01:00
Enno Rehling
21aee8ece8 remove global.data_version where gamedata.version is available
github issue #479
2016-02-24 11:47:46 +01:00
Enno Rehling
73a6b96bc7 remove global.data_version from border.read
remove global.encoding
github issue #479
2016-02-24 11:44:19 +01:00
Enno Rehling
3e584245c0 attrib.read gets a gamedata object
stop using global.data_version
for github issue #479
2016-02-24 11:44:19 +01:00
Enno Rehling
7f6ced99b9 attrib.read gets a gamedata object (remove dependency on global.data_version) 2016-02-24 11:44:18 +01:00
Enno Rehling
775bbe7ea6 refactor another test to not create files. 2016-02-24 11:39:24 +01:00
Enno Rehling
ec3839fb9f rewrite intermittent test to use memory stream. 2016-02-24 11:39:23 +01:00
Enno Rehling
6ca81646eb extract gamedata into a separate file. 2016-02-24 11:38:09 +01:00
Enno Rehling
e6f3dc8b85 Merge branch 'master' into develop
Conflicts:
	scripts/run-turn.lua
	src/buildno.h
	src/kernel/group.c
	src/kernel/save.c
	src/kernel/save.test.c
	src/kernel/version.h
	src/util/password.c
	src/util/password.test.c
	tests/run-turn.sh
2016-02-23 10:47:33 +01:00
Enno Rehling
1bb215dd52 Merge remote-tracking branch 'upstream/master'
Conflicts:
	src/kernel/save.c
	src/triggers/createunit.c
2016-02-23 08:35:31 +01:00
Enno Rehling
1e4b860a2e some trivial assertions 2016-02-22 20:48:24 +01:00
Enno Rehling
370338736c gcc is picky, fix gcc warnings 2016-02-22 20:47:06 +01:00
Enno Rehling
7fe07439f5 fix write_faction_reference, check for f->alive in other places
TODO:
1. I added some new TODOs
2. What happens to morale when region owners die?
3. Needs tests
2016-02-22 20:47:06 +01:00
Enno Rehling
6b1367dff1 fix gcc build 2016-02-22 15:48:43 +01:00
Enno Rehling
4f01d7041f Merge branch 'upstream-master'
Conflicts:
	src/kernel/save.test.c
	src/kernel/version.h
2016-02-22 08:55:46 +01:00
Enno Rehling
b09c6974c6 revert back to plaintext passwords, crypting isn't working 2016-02-21 17:22:43 +01:00
Enno Rehling
2c82ddd4d1 rename to password_encode, streamline tests
Conflicts:
	src/kernel/save.c
2016-02-21 16:03:42 +01:00
Enno Rehling
535a864ffe bcrypt hashes implementation, not activated yet. 2016-02-21 15:59:39 +01:00
Enno Rehling
4bf282bdd7 Merge branch 'release-3.7.11' into upstream-master
accidentally added a test that fails for the currently broken passwort-crypting

Conflicts:
	scripts/tests/e3/rules.lua
	src/attributes/reduceproduction.c
	src/building_action.c
	src/buildno.h
	src/kernel/region.c
	src/kernel/save.c
	src/kernel/save.test.c
	src/kernel/version.h
	src/laws.c
	src/magic.c
	src/magic.h
	src/wormhole.c
2016-02-21 11:01:50 +01:00
Enno Rehling
dd94771ed8 test password reading and writing for BADCRYPT_VERSION (requires external file) 2016-02-21 10:25:18 +01:00
Enno Rehling
9ac05666ea add a test for succesful read/write of password
TODO: do this for different datafile versions (BADCRYPT, etc)
2016-02-21 10:10:26 +01:00
Enno Rehling
1682b3d583 fix off-by-one error 2016-02-20 22:23:19 +01:00
Enno Rehling
1b28beeaa1 fix off-by-one error when analyzing passwords.txt (crash E3 and E4
today)
2016-02-20 21:43:01 +01:00
Enno Rehling
8054a145cc hack to read passwords from an external file 2016-02-20 18:21:39 +01:00
Enno Rehling
fc86de85f1 resolve a TODO, make attribute (and data) a little bit smaller. 2016-02-20 16:50:11 +01:00
Enno Rehling
33d1521bfd pass the parent of an attribute into a_age and attrib_type::age 2016-02-20 16:50:04 +01:00
Steffen Mecke
22367249db fix morale change when region owner changes
http://bugs.eressea.de/view.php?id=2139

Conflicts:
	scripts/tests/e3/castles.lua
2016-02-20 16:42:18 +01:00
Enno Rehling
29c9e719da eliminate plane.watchers feature
. we don't use them anywhere
. they have no tests
. they crash readgame when watchers have died
2016-02-18 08:48:54 +01:00
Enno Rehling
57085ea47b gcc fix, disable test properly
TBD:plane.watchers
2016-02-18 08:11:39 +01:00
Enno Rehling
9f62e74a37 add a test to check that destroyfaction updates the alliance leader.
clean up save.test.c a bit.
disable failing test temporarily.
2016-02-17 14:06:59 +01:00
Enno Rehling
a6fe697c7a tests for read/write of triggers that reference factions, with bugfixes. 2016-02-17 13:55:48 +01:00
Enno Rehling
325a0ccbf1 write a test that proves the bug in turn 966 2016-02-17 09:24:19 +01:00
Enno Rehling
4050f994a4 fix write_faction_reference, check for f->alive in other places
TODO:
1. I added some new TODOs
2. What happens to morale when region owners die?
3. Needs tests
2016-02-16 07:30:26 +01:00
Enno Rehling
54e4b7a508 E2 turn 966 desaster: code was writing a bad datafile 2016-02-13 22:07:51 +01:00
Enno Rehling
40530f2066 rename to password_encode, streamline tests 2016-02-12 08:33:08 +01:00
Enno Rehling
c0c6d19be2 bcrypt hashes implementation, not activated yet. 2016-02-12 07:16:45 +01:00
Enno Rehling
87aa7c887e fix build 2016-02-09 14:08:36 +01:00
Enno Rehling
1201a6b739 unused variable, bad version check 2016-02-09 07:06:07 +01:00
Enno Rehling
0189111876 update key attribute api
prepare to replace at_key. do not return the internals. add basic test.
2016-02-09 06:43:19 +01:00
Enno Rehling
abc3caa6d1 optimized storage of attribs.
save the hash instead of the name and save a few bytes.
2016-02-09 00:28:23 +01:00
Enno Rehling
7b4b879cc1 quick addition to a_removeall
additional testing for attributes
2016-02-06 10:56:08 +01:00
Enno Rehling
8a3bb35987 eliminate global log_flags, revert the mode arguments for fopen.
turns out that text is default, and windows hates it if I open a binary file without 'b'
standardize on using join_path to create filenames
(use backslash on windows, even though fopen doesn't seem to care).
2016-02-05 23:10:05 +01:00
Enno Rehling
d0f8723ffb refactoring: eliminate a_findc, and too much const-fuckery 2016-02-01 17:31:03 +01:00
Enno Rehling
b3db14465e fix logic error in json_buildings 2016-02-01 13:59:35 +01:00
Enno Rehling
85010e5358 seems like there is a problem opening files with the optional 'b' mode, so remove it everywhere? 2016-02-01 12:29:41 +01:00
Enno Rehling
2f2bbb16ab remove wild mkdir calls all over the code, catch EEXIST errors
use join_path more consistently
fix a test that's intermittent on windows because fopen(..., "wb") fails, why?
2016-02-01 09:26:24 +01:00
Enno Rehling
09ae3d8993 Merge branch 'feature/issue-462-log-test-errors' of https://github.com/ennorehling/eressea into ennorehling-feature/issue-462-log-test-errors
Conflicts:
	src/magic.test.c
2016-01-31 21:58:16 +01:00
Enno Rehling
c08235693d Merge branch 'master' into develop
Conflicts:
	src/buildno.h
	src/kernel/item.c
	src/kernel/region.c
	src/laws.c
2016-01-30 23:09:02 +01:00
Enno Rehling
c557778731 fix https://bugs.eressea.de/view.php?id=2183 2016-01-30 23:04:41 +01:00
Enno Rehling
73f16d5bb6 adding a join_path function to try and narrow down misbehavior. 2016-01-29 19:11:48 +01:00
Enno Rehling
9bf1059d8a trying to make tests not throw out so many ERROR log mesages, commenting on some of them. 2016-01-29 17:49:27 +01:00
Enno Rehling
729c4ceea1 increase error-logging from unit tests.
suppress some unrelated errors.
2016-01-28 16:00:36 +01:00
Enno Rehling
91f894b290 teleport.c is the astral space implementation, and it is not one of the core concepts, so move it out of the kernel/ directory 2016-01-28 12:25:16 +01:00
Enno Rehling
fa130d9ce5 make all the rset-asserts look the same 2016-01-24 14:57:36 +01:00
Enno Rehling
cc4367f1b7 borken merge fix 2016-01-24 14:55:43 +01:00
Enno Rehling
a66e81e90d Merge branch 'master' into develop
Conflicts:
	src/buildno.h
	src/kernel/region.c
2016-01-24 14:55:05 +01:00
Enno Rehling
a6b15813ed relax strict assertion (should be allowed to set ocean to 0 peasants) 2016-01-24 14:45:46 +01:00
Enno Rehling
023686fab2 add a liberal sprinkling of assertions to catch negative peasants bug 2182 2016-01-24 14:35:46 +01:00
Enno Rehling
3d7b22fa21 avoid crashing because of bug 2182 2016-01-24 14:31:24 +01:00
Enno Rehling
76475b9bf7 add a little extra randomness to the seed salt (still bad).
remove dead prototype code from faction.c
2016-01-15 08:01:12 +01:00
Enno Rehling
8d05f4cc25 implement MD5 crypted passwords as default 2016-01-14 15:49:09 +01:00
Enno Rehling
c3da0cd42d as long as we use no encryption, all tests pass. 2016-01-13 16:16:02 +01:00
Enno Rehling
799514bf40 implement md5 password hashing (untested)
disable test for case-insensitive password test
fix faction/checkpasswd test
2016-01-13 14:41:09 +01:00
Enno Rehling
54d25e91dd add a new password module
start adding password hashing logic (WIP)
does not yet pass all tests
2016-01-12 23:52:30 +01:00
Enno Rehling
b6d44410b7 make the password pseudo-private to faction.c 2016-01-12 06:46:51 +01:00
Enno Rehling
dc6cc41d2d additional warnings 2016-01-12 02:27:22 +01:00
Enno Rehling
19390dd8e2 log a warning when passwords would fail for being case-sensitive.
add a test to enforce the status quo, for now.
2016-01-12 00:52:42 +01:00
Enno Rehling
fadc92ee52 do not leak memory for factions that have died. 2016-01-11 18:17:24 +01:00
Enno Rehling
20063e0e0e fix errors in the order of cleanup 2016-01-11 18:03:53 +01:00
Enno Rehling
04e2fb73c7 fix test of allies status after destroying a faction 2016-01-11 15:08:36 +01:00
Enno Rehling
50eba2d308 I don't really believe that this is going to work, but let's see where it fails. 2016-01-11 14:59:25 +01:00
Enno Rehling
04624179ce make destroyfaction not have to loop over all factions to clear HELP status. 2016-01-11 14:42:36 +01:00
Enno Rehling
8742317979 hack: do not free faction when we destroy it (issue #451) 2016-01-11 14:01:55 +01:00
Enno Rehling
ca500a499e adding a much-needed getter function for faction_alive 2016-01-11 12:25:23 +01:00
Enno Rehling
b4389c91fe fix compilation (what was I thinking?), remove uses of f.alive where they should not be needed. 2016-01-11 11:54:45 +01:00
Enno Rehling
de512be1ba make destroyfaction remove the faction from the list (slightly scary change) 2016-01-11 09:55:47 +01:00
Enno Rehling
7d426dc3ed call destroyfaction instead of free as a quick fix 2016-01-10 12:07:00 +01:00
Enno Rehling
810ad094af suppress misc warnings in the log file by reorganizing E3 strings and tuning down log levels 2015-12-18 15:13:15 +01:00
Enno Rehling
18c0c235db Merge pull request #440 from ennorehling/feature/bug-2176-reduceproduction
bug 2176, reduceproduction message im CR
2015-12-17 13:17:00 +01:00
Enno Rehling
9e4344e3c3 resolve a TODO, make attribute (and data) a little bit smaller. 2015-12-17 12:23:07 +01:00
Enno Rehling
5187788f3c pass the parent of an attribute into a_age and attrib_type::age 2015-12-16 22:18:44 +01:00
Enno Rehling
d85123fe8b Merge pull request #439 from ennorehling/develop
MS Visual Studio 2015 update 1 breaking changes
2015-12-16 17:06:04 +01:00
Enno Rehling
c66d6c7457 Address MS Visual Studio 2015 update 1 breaking changes 2015-12-16 17:01:47 +01:00
Enno Rehling
24f559b4ad Address MS Visual Studio 2015 update 1 breaking changes 2015-12-16 16:55:52 +01:00
Enno Rehling
fa55f84b41 remove unnecessary assert that prevents throwing away money on an ocean
github issue #437
https://bugs.eressea.de/view.php?id=2173#c6411
2015-12-16 13:32:02 +01:00
Enno Rehling
3fafb04b57 fix ahort to int converaion problems, fox PR 2015-12-11 18:03:55 +01:00
Steffen Mecke
1f4c521ac8 encapsulate r->land->peasants, money, horses, herbs, morale 2015-12-08 17:57:23 +01:00
Enno Rehling
1d57bf527d Merge branch 'master' into develop
Conflicts:
	src/battle.test.c
	src/buildno.h
2015-12-05 17:27:04 +01:00
Enno Rehling
62ee1468b8 https://bugs.eressea.de/view.php?id=2166
* fix magic resistance calculation in calculate_armor.
* add related tests.
* refactor BF_CANATTACK -> BF_NO_ATTACK because it is easier.
2015-12-05 17:17:21 +01:00
Enno Rehling
3e048e2a84 Merge branch 'bug_2139' of https://github.com/stm2/server into stm2-bug_2139
Conflicts:
	scripts/tests/e3/castles.lua
	scripts/tests/e3/rules.lua
2015-12-03 11:06:55 +01:00
Enno Rehling
b3e7fa63e0 Merge pull request #396 from stm2/spell_parameters
fixed treatment of spell parameters (bug 1867)
2015-12-03 11:04:57 +01:00
Enno Rehling
4b7cb824bd Merge branch 'massive_overload' of https://github.com/stm2/server into stm2-massive_overload
Conflicts:
	src/move.c
	src/tests.c
2015-11-27 12:40:17 +01:00
Enno Rehling
0410581907 Merge branch 'market_tests' of https://github.com/stm2/server into stm2-market_tests
Conflicts:
	src/move.test.c
	src/study.c
2015-11-26 18:42:23 +01:00
Steffen Mecke
fe49f01bb6 added moa tests for buildingtype_exists 2015-11-25 23:25:59 +01:00
Enno Rehling
c85e489f4f Merge branch 'monster_leftovers' of https://github.com/stm2/server into stm2-monster_leftovers
Conflicts:
	src/kernel/unit.c
	src/laws.test.c
	src/monsters.c
2015-11-25 14:25:42 +01:00
Enno Rehling
f559c263e3 cleanup of config.c: move more code to other modules like unit.c and faction.c 2015-11-24 19:53:27 +01:00
Enno Rehling
8aa7fec54c config.c cleanup: move attribute registration to attributes.c 2015-11-24 19:32:52 +01:00
Enno Rehling
84a943b698 fix gcc build 2015-11-24 19:15:53 +01:00
Enno Rehling
64b84481b2 refactoring: move parsing and allies code out of config.c 2015-11-24 18:52:09 +01:00
Enno Rehling
817d81dbf9 remove the rules.hunger.reduces_skill variable, no game was doing anything other than the default. 2015-11-23 21:05:25 +01:00
Enno Rehling
0a47f0e398 eliminate SkillCap feature, it was stupid and not used by any game, ever 2015-11-23 20:58:51 +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
48c75466b6 kill static caches for floating-point variables 2015-11-22 17:32:35 +01:00
Enno Rehling
2e392b4d7c eliminate even more static variable caches 2015-11-22 16:14:27 +01:00
Enno Rehling
f7698d92a9 change how migrant quota is configured for a race, eliminate the related rule caching 2015-11-22 15:53:50 +01:00
Enno Rehling
5f457f77b4 refactoring: move those count_* functions out of config.c 2015-11-22 15:46:14 +01:00
Enno Rehling
17068af332 unusual potion delay attribute can use a potion in another region? unclear what this code does, but fixing my bad assumption. 2015-11-22 14:36:05 +01:00
Enno Rehling
35e7a0bc79 eliminate global.cookie and the cache-invalidation which it enabled 2015-11-22 12:50:10 +01:00
Enno Rehling
73fc5a51b3 remove more junk defines from config.h, move them closer to where they belong 2015-11-22 12:47:57 +01:00
Enno Rehling
bf74eb1446 cleanup: remove movement constatns from config.h 2015-11-22 12:41:22 +01:00
Enno Rehling
cf6084a5ca refactoring: move game configuration defines out of config.h
temporarily pushing them into settings.h where others already are, though they should be in their own modules or in config files.
2015-11-22 12:37:25 +01:00
Enno Rehling
74b1f9872e change visibility of configuration data structures, local to config.c only 2015-11-22 12:27:08 +01:00
Enno Rehling
fe173e9551 refactor: make sure global.paramteres is used only inside config.c 2015-11-22 12:24:27 +01:00
Enno Rehling
edcd79d044 add a config_token function to look for a token inside a list 2015-11-22 12:20:33 +01:00
Enno Rehling
a4cb5e2906 replace all get_param_* for global.parameters with config_get_* 2015-11-22 10:44:46 +01:00
Enno Rehling
b05fe9316a introducing config_set and config_get so we don't have to refer to globals.parameters everywhere 2015-11-22 10:33:31 +01:00
Enno Rehling
66dd1b8172 remove produce_exp caching in static variables (more slowdown) 2015-11-22 10:21:37 +01:00
Enno Rehling
f0a47321d6 reduce log spam 2015-11-21 21:49:33 +01:00
Enno Rehling
990fda6234 clean up config.c, remove static configuration caching 2015-11-21 18:13:16 +01:00
Enno Rehling
bc936bf019 eliminate more static variable configuration caching 2015-11-21 13:52:47 +01:00
Enno Rehling
7e27928d17 eliminate static variables and cache logic from more modules 2015-11-21 12:28:20 +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
Steffen Mecke
a6757ecf9d Merge branch 'develop' into massive_overload
Conflicts:
	src/move.test.c
2015-11-19 14:54:14 +01:00
Steffen Mecke
a7a82662b7 reduce maximum overload damage to 38% 2015-11-17 15:47:43 +01:00
Steffen Mecke
742a30cc39 fix seaserpents
seaserpents could not do piracy
seaserpents should be able to attack after move
2015-11-17 12:17:28 +01:00
Steffen Mecke
8cec4b20e0 reduce code obfuscation 2015-11-17 02:14:08 +01:00
Steffen Mecke
1789bc06e9 monster faction may learn from experience 2015-11-17 02:13:57 +01:00
Enno Rehling
6237e6dfe2 Merge branch 'release-3.7' into develop 2015-11-16 14:30:31 +01:00
Steffen Mecke
5326bbd9e4 refactored inside_building/building_is_active/active_building 2015-11-16 02:13:48 +01:00