Commit graph

1418 commits

Author SHA1 Message Date
Enno Rehling
f946d50001 alternative implementation for dfindhash that doesn't use as much memory.
do not set u->faction = NULL for deleted units.
2016-09-11 20:09:48 +02:00
Enno Rehling
3e2c630c3f testing that remove_unit takes unit out of the world properly.
there is more to it than this, but I'd be happy with the dfindhash check for now.
2016-09-11 19:39:35 +02:00
Enno Rehling
f07c79e5cf CID 146892: null-pointer check should be an assert. 2016-09-11 19:09:23 +02:00
Enno Rehling
95481211e5 expect remove and unlink to set errno when file doesn't exist, reduce misleading spam. 2016-09-11 17:19:27 +02:00
Enno Rehling
402c19d8fc dn't warn new player about NMR.
newbie info text was no longer valid.
2016-09-11 16:35:55 +02:00
Enno Rehling
49ccb3825f test and cache all the rules! 2016-09-11 15:54:03 +02:00
Enno Rehling
86ef225ccb add some more local caching. 2016-09-11 12:48:00 +02:00
Enno Rehling
f75be76ee1 created a new configuration caching API (config_changed).
applied this to some rules.
2016-09-11 12:15:53 +02:00
Enno Rehling
d45798b798 fix leaking errno from save.test call to remove 2016-09-11 11:06:58 +02:00
Enno Rehling
a41f3dbe27 fix memory leak, not cleaning up deadhash 2016-09-10 21:01:22 +02:00
Enno Rehling
5f915948f5 add a test for the deadhash feature (mathes units to dead factions) 2016-09-10 20:56:13 +02:00
Enno Rehling
7807f83830 fix compilation (buildno.h is gone) 2016-09-10 17:43:06 +02:00
Enno Rehling
e200952e87 new version numbering in version.h
eliminate buildno.h
TODO: update build scripts
2016-09-10 17:41:44 +02:00
Enno Rehling
c352ab9f8e move game-version information fom version.h to gamedata.h 2016-09-10 17:21:17 +02:00
Enno Rehling
cb381123ff fix some calendar-related leaks and issues 2016-09-09 18:39:38 +02:00
Enno Rehling
053f8a6e09 clean up the dead faction hashtable between tests. 2016-09-08 21:15:29 +02:00
Enno Rehling
87328a0e92 eliminate memory leak in a test. 2016-09-08 21:01:58 +02:00
Enno Rehling
51c1ddc98b save.test is still lekaing units.
calling test_setup and test_cleanup, doesn't fix everything.
2016-09-08 20:44:03 +02:00
Enno Rehling
93a1fe5059 Merge branch 'develop' of github.com:ennorehling/eressea into develop 2016-09-08 20:10:58 +02:00
Enno Rehling
ab876431de reset turn to 0 before and after each test.
save tests that depend on the global turn variable would fail when being run out of order.
this cause issue #560
2016-09-08 19:48:36 +02:00
Enno Rehling
d5261ab1da fix group.test leaks 2016-09-08 17:40:17 +02:00
Enno Rehling
a281ace21b always create test units inside a region (so they can get destroyed in free_gamedata) 2016-09-08 09:11:17 +02:00
Enno Rehling
22586aa45f fix seen.test creating a unit without a region 2016-09-08 09:06:02 +02:00
Enno Rehling
993af3a7f9 memory leak in equipment.skills 2016-09-08 06:56:16 +02:00
Enno Rehling
cb706c2cf2 equipment.test is down to two leaks and one TODO 2016-09-07 21:29:54 +02:00
Enno Rehling
d84ed1f89d move static variable cleanup to kernel_done.
clean up some more.
2016-09-07 21:22:05 +02:00
Enno Rehling
144fcbef58 Merge branch 'develop' of github.com:ennorehling/eressea into develop 2016-09-07 20:48:16 +02:00
Enno Rehling
dda845e2f4 free configuration data (valgrind calls it still-reachable leaks). 2016-09-07 20:46:41 +02:00
Enno Rehling
c8283060f9 test_setup/cleanup for equipment.test 2016-09-07 19:04:42 +02:00
Enno Rehling
282cc129d7 spellbook_clear crash fix 2016-09-07 19:02:03 +02:00
Enno Rehling
dd2f146e27 fix equipment static memory leak 2016-09-07 17:09:37 +01:00
Enno Rehling
af310d48d6 remove unused function after refactoring 2016-09-07 17:52:12 +02:00
Enno Rehling
4115bff79b eliminate leak from alliance.test 2016-09-07 17:50:51 +02:00
Enno Rehling
9499919387 fix uninitialized member 2016-09-07 17:48:27 +02:00
Enno Rehling
632f25d429 try to eliminate memory leak in command.test 2016-09-07 16:39:54 +01:00
Enno Rehling
1ad2775f51 simplify add_command 2016-09-07 15:43:04 +02:00
Enno Rehling
eed6e1d88d add_command has an unused argument 2016-09-07 15:36:48 +02:00
Enno Rehling
d962dd110a correct type. 2016-09-07 15:29:40 +02:00
Enno Rehling
133bef1041 fix compilation.
eliminate the last order-related memory leak.
2016-09-06 22:21:06 +02:00
Enno Rehling
270c12b6d8 these config tests were leaking orders.
convert them to test_setup use, too.
2016-09-06 21:04:25 +01:00
Enno Rehling
00804344fd fix order-related memory leaks 2016-09-06 21:07:23 +02:00
Enno Rehling
a5ce809f41 fix memory leak in umlaut.c with reference counting (sad). 2016-09-06 19:57:07 +01:00
Enno Rehling
b725e9676a simple test for basic unit descriptions 2016-09-02 09:29:52 +02:00
Enno Rehling
b321918cd1 check and fix destroy_cmd syntax error handling 2016-08-31 20:38:20 +02:00
Enno Rehling
87fed5b7d2 Merge pull request #548 from ennorehling/refactor-volcano
new tests, TODOs removed, remove code duplication
2016-08-31 17:19:29 +01:00
Enno Rehling
8a157de36c only name monsters that have a naming function. test is bad, failing. 2016-08-31 16:43:02 +02:00
Enno Rehling
cd46bac132 fix mac build with clang 7.3 2016-08-31 09:42:36 +02:00
Enno Rehling
d9e541843b further reduce number of bt_find calls. 2016-08-30 09:36:09 +01:00
Enno Rehling
5bb9a10a46 is_building_type should be a quicker way to test for a building type than bt_find. 2016-08-30 09:13:59 +01:00
Enno Rehling
2d1a13a811 death to static caches! 2016-08-30 07:51:05 +01:00
Enno Rehling
257d5c18bb remove unused FASTER_SKILLMOD optimization 2016-08-30 07:39:57 +01:00
Enno Rehling
873e6f8086 remove more static curse_type variables 2016-08-29 20:34:30 +01:00
Enno Rehling
f47113e9bd eliminate static curse variables (gbdream & more) 2016-08-29 20:31:18 +01:00
Enno Rehling
b43ac6ab27 remove static initialization code 2016-08-29 19:52:43 +01:00
Enno Rehling
40d9ebfa94 reduce code duplication: itemcloak code was copied between NR and CR. 2016-08-29 19:37:47 +01:00
Enno Rehling
4bc8817056 remove a TODO that was ill-advised. The reason that "resources" is a list is that it's built incrementally. 2016-08-29 18:15:20 +01:00
Enno Rehling
ef44a4534e add a test for copying resources message arguments.
my plan is to add a new argument type for arrays of resources with fewer allocations.
2016-08-29 17:31:09 +01:00
Enno Rehling
fb2b6495e5 promote spell.test error logging to a tests.c API, use it for item.test 2016-08-29 15:19:17 +01:00
Enno Rehling
2c5063095d fixed: tests that try to create duplicate spells do not spam stderr. 2016-08-29 14:49:31 +01:00
Enno Rehling
c032091b39 new rule: call test_setup to begin test, test_cleanup at end. 2016-08-29 14:21:28 +01:00
Enno Rehling
1c5fcded9f allow control over stderr logging from tests.
separate test_cleanup from test_setup.
2016-08-29 14:09:47 +01:00
Enno Rehling
2eb9b5c5ea delete dead code (dbrace) 2016-08-29 13:49:39 +01:00
Enno Rehling
1f3413a9b4 annotations 2016-08-29 08:55:59 +01:00
Enno Rehling
0d609f2115 test magicwalls and strongwalls effects on buildings. 2016-08-29 08:53:09 +01:00
Enno Rehling
33701ab891 make describe_braineater more generic (describe_race). 2016-08-28 20:44:45 +01:00
Enno Rehling
e3b0dfedc9 race naming functions do more work than before. 2016-08-28 20:27:40 +01:00
Enno Rehling
514565d66b move race_name_func registrations into race.c 2016-08-28 20:02:45 +01:00
Enno Rehling
0f3de70ced refactor to push back the const-ness of generated names. 2016-08-28 19:06:14 +01:00
Enno Rehling
0ac30c65a1 refactoring prior to removing static variable 2016-08-28 18:15:00 +01:00
Enno Rehling
534708d83e add a test for DESTROY <limit> ROAD 2016-08-28 16:51:16 +01:00
Enno Rehling
a451d61f23 simplify destroy_cmd parsing. 2016-08-28 16:48:06 +01:00
Enno Rehling
808d51429e test destroy_road message arguments. 2016-08-28 16:44:14 +01:00
Enno Rehling
b0400a797d when not skilled enough to destroy a road, don't get a destroy_road message.
test destroy_road message.
2016-08-28 16:31:29 +01:00
Enno Rehling
1cdeab5e06 test destroy_road skill scaling and person scaling. 2016-08-28 16:13:26 +01:00
Enno Rehling
1e04e20671 testing destroy_road by way of destroy_cmd.
two simple cases only.
2016-08-28 14:31:25 +01:00
Enno Rehling
a42bd9c3bf remove the BLD_WORKING flag.
it's all about BLD_MAINTAINED now.
fix region.blocked (Lua property).
2016-08-21 20:12:28 +02:00
Enno Rehling
901cf97cb2 refactoring the "nocostbuilding" curse.
- remove C_NOCOST constant and other baggage
- refactor maintenance a bit
2016-08-21 20:02:19 +02:00
Enno Rehling
b2e79dc5e9 building maintenance unit tests.
backfilling some very basic test coverage.
2016-08-21 20:01:30 +02:00
Enno Rehling
b5ed9e96dd re-enable disabled test (it passes, so what gives?) 2016-08-21 06:59:43 +02:00
Enno Rehling
3be627d6ef fix compilation 2016-08-18 19:13:31 +02:00
Enno Rehling
ecffed0577 verify data after deleting planes, do not delete plane 50 (yet) 2016-08-18 19:11:26 +02:00
Enno Rehling
e5f5dc6aa4 fail when there are borders that can't be read because their endpoints are missing 2016-08-18 19:11:10 +02:00
Enno Rehling
abd6600cfe when reading alliances, duplicate ids are impossible.
makealliance does too much work, new_alliance is simpler.
2016-08-18 19:09:43 +02:00
Enno Rehling
a3ff8781c4 setting herbs will warn if they are the wrong herbs.
planes can be erased.
add a script that erases unused planes from E2.
2016-08-18 19:04:48 +02:00
Enno Rehling
0c6defad91 extract read_planes into a separate function. 2016-08-18 18:59:30 +02:00
Enno Rehling
238a0e22f2 Merge branch 'test-alliance' of https://github.com/ennorehling/eressea into ennorehling-test-alliance
Conflicts:
	src/util/CMakeLists.txt
2016-08-08 08:46:09 +02:00
Enno Rehling
4f5bd43dcf Merge branch 'master' into develop
Conflicts:
	src/buildno.h
2016-08-07 00:47:50 +02:00
Enno Rehling
44b6a87649 death by NMR was broken, because I can't write loops good. 2016-08-07 00:40:10 +02:00
Enno Rehling
257ae38749 fix spellbook leak 2016-08-06 15:15:11 +02:00
Enno Rehling
fef2852c5e Reparatur Irrlichter
https://bugs.eressea.de/view.php?id=2227
2016-08-06 14:36:54 +02:00
Enno Rehling
e2808eeea9 reqsize defaults to 1.
remove default values from xml to make it smaller and simpler.
2016-08-06 13:53:07 +02:00
Enno Rehling
db5b90e80b clarify building_type.maxsize and add error logging for bug 2221.
https://bugs.eressea.de/view.php?id=2221
2016-08-06 13:52:29 +02:00
Enno Rehling
50860ea0ef fix reading data from very old files 2016-08-05 21:58:06 +02:00
Enno Rehling
36e1060fc7 turn maxsize assert into an error
fix log rotation on windows
2016-07-31 18:48:27 +02:00
Enno Rehling
51ffce6b24 fix merge conflicts 2016-07-30 23:19:27 +02:00
Enno Rehling
f2c02232cd http://bugs.eressea.de/view.php?id=2207
check that there are any regions that we can seed new factions into
don't run into endless loop
2016-07-30 22:01:10 +02:00
Enno Rehling
c31f543718 Merge pull request #522 from ennorehling/feature/bug-2221
logging and fixing of live data for bug 2221
2016-07-30 21:24:44 +02:00
Enno Rehling
31feeecbd8 logging and fixing of live data for bug 2221
additional lua test that failed to find the issue
https://bugs.eressea.de/view.php?id=2221
2016-07-30 21:13:42 +02:00
Enno Rehling
9f836e2f4b Merge pull request #519 from CTD1/master
Fix VS Warning about bool - int convertion
2016-07-15 11:10:12 +02:00
CTD
f324408b6f Fix bool - int conversion the other way 2016-07-15 10:48:37 +02:00
CTD
65eab060a0 fix vs bool - int conversion warning 2016-07-12 13:24:17 +02:00
Enno Rehling
78fa6d3a47 remove the SAIL_INTO flag 2016-06-10 20:55:27 +02:00
Enno Rehling
5535beed61 Merge branch 'master' into develop
Conflicts:
	src/buildno.h
	src/kernel/save.c
2016-05-29 11:13:19 +02:00
Enno Rehling
72d9f8adf0 For NMR purposes, count cursed factions like NPCs (i.e. not).
fix warnings in log tests
log whitespace cleanup
2016-05-29 10:58:49 +02:00
Enno Rehling
6148273d97 http://bugs.eressea.de/view.php?id=2210
fix deprecated attributes (at_key) yet again.
2016-05-28 20:26:59 +02:00
Enno Rehling
c1b0395a6c Merge branch 'master' into develop
Conflicts:
	src/kernel/save.test.c
	src/kernel/version.h
2016-05-20 23:07:18 +02:00
Enno Rehling
cdd7606f02 fixing the password saving test. 2016-05-20 22:38:18 +02:00
Enno Rehling
01035a7325 password reading from external file is active, but broken. yikes 2016-05-20 20:49:47 +02:00
Enno Rehling
c4d31d368e Merge branch 'master' into develop
Conflicts:
	src/buildno.h
	src/util/log.c
	src/util/log.h
2016-05-01 13:47:30 +02:00
Enno Rehling
8d6fba258f kill some obsolete FIXME comments. 2016-04-09 19:10:51 +02:00
Enno Rehling
a834c486d9 fix a FIXME: setting default order through config, making test better.
this feature is not in use, so all this work is really pointless.
2016-04-09 19:05:28 +02:00
Enno Rehling
11ae7dd55e add a test for default_order, so I can change it. 2016-04-09 18:49:25 +02:00
Enno Rehling
01ecc72f2d fix a FIXME: include gamedata.h directly, not through save.h 2016-04-09 18:22:20 +02:00
Enno Rehling
4dc9b737de mark missing test files in CMakeLists.txt
kill some dead code prototypes
2016-04-09 18:19:30 +02:00
Enno Rehling
c0acfddb71 test some simple facts about planes 2016-04-09 14:26:10 +02:00
Enno Rehling
45d16ef18f test: ALLIANCE transfer leadership 2016-04-09 11:52:26 +02:00
Enno Rehling
8971ba99fe additional tests: ALLIANCE kick/leave commands 2016-04-09 11:49:41 +02:00
Enno Rehling
4b6445dbf3 test: cannot join an alliance if not invited 2016-04-09 11:43:47 +02:00
Enno Rehling
8801d88554 only create the syntax tree if there actually was an ALLIANCE command 2016-04-09 11:41:32 +02:00
Enno Rehling
8965edfacb add some flavor, make sure the correct command is executed when there's more than one. 2016-04-08 21:46:08 +02:00
Enno Rehling
3937cbc7b5 add missing file, test that command.c does what it's meant to do. 2016-04-08 21:44:06 +02:00
Enno Rehling
3368ad51bd test for alliance join/invite happy case 2016-04-08 21:33:18 +02:00
Enno Rehling
80b14048be remove some unused code from alliances
start writing test coverage
2016-04-08 19:45:27 +02:00
Enno Rehling
b2e8c75c02 add a test that should have crashed before my fix. 2016-04-03 12:37:26 +02:00
Enno Rehling
30b3cff657 fix a crash in write_game caused by remove_empty_factions
https://bugs.eressea.de/view.php?id=2201
2016-04-03 12:23:51 +02:00
Enno Rehling
be89aaeb83 Merge branch 'master' into develop
Conflicts:
	src/buildno.h
2016-03-26 22:28:14 +01:00
Enno Rehling
bc8c39f4bb fix message-crash https://bugs.eressea.de/view.php?id=2199
release version 3.8.7
2016-03-26 22:09:21 +01:00
Enno Rehling
108b4404d2 Merge pull request #502 from ennorehling/feature/refactor-study
refactor study.c
2016-03-26 14:53:26 +01:00
Enno Rehling
98a3b31953 cfindhash is gone 2016-03-25 21:51:49 +01:00
Enno Rehling
87b09cd3c6 refactor tests to use test locale where possible 2016-03-24 13:01:47 +01:00
Enno Rehling
aba0be505e refactor many tests to use the test locale instead of building their own 2016-03-24 13:01:47 +01:00
Enno Rehling
f97b6c9821 bug: learn_skill was not learning the right skill
refactor: further reduce learn_skill_depr usage
2016-03-24 13:01:42 +01:00
Enno Rehling
0464fb629a remove some dead declarations 2016-03-24 13:01:41 +01:00
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
Steffen Mecke
3a18384ddb overfull ships do not drift but take damage
http://bugs.eressea.de/view.php?id=2157
removed exploit:
ships more than 2 times over their ship type's capacity do not drift but take 30% to 100% damage
2015-11-15 12:43:05 +01:00
Steffen Mecke
4ab92e3caf fixed descriptions of spells with parameters (bug #2060+1867) 2015-11-13 00:57:14 +01:00
Steffen Mecke
f3972a2390 prepared test for nr_spell 2015-11-13 00:57:14 +01:00
Steffen Mecke
251126054e add missing NULL check to in_safe_building 2015-11-13 00:50:54 +01:00
Enno Rehling
5ef9b624ff Merge branch 'release-3.7' into develop 2015-11-12 18:11:21 +01:00
Enno Rehling
7fb5adc7af in_safe_building needs a test and some changes to logic
github issue #393 fixed
2015-11-12 17:55:39 +01:00
Steffen Mecke
e2b56cd04a fix morale change when region owner changes
http://bugs.eressea.de/view.php?id=2139
2015-11-12 16:09:26 +01:00
Enno Rehling
972b8cee40 CID 22436 Ignoring number of bytes read
github issue #333
2015-11-11 15:55:39 +01:00
Enno Rehling
f69311b141 Merge branch 'develop' of github.com:eressea/server into develop 2015-11-11 15:15:30 +01:00
Enno Rehling
4eb4ff40ac https://bugs.eressea.de/view.php?id=2155
monsters do not attack units inside a castle or watch
dragons do not attack guards
2015-11-11 14:36:56 +01:00
Enno Rehling
e14cc50252 CID 22522, 22520 Resource leak
helping coverity scan to understand this code
2015-11-09 20:05:55 +01:00
Enno Rehling
ea8721367a test and fix shock trigger.
https://bugs.eressea.de/view.php?id=2154
2015-11-09 19:43:51 +01:00
Enno Rehling
28781dfcc8 Merge pull request #378 from ennorehling/develop
spells are allowed to have 0 hp
2015-11-09 16:45:08 +01:00
Enno Rehling
4790950daf spells are allowed to have 0 hp
https://bugs.eressea.de/view.php?id=2150
2015-11-09 16:39:30 +01:00
Enno Rehling
e9ed30f9db Merge pull request #377 from ennorehling/develop
Bug 2152: Parteitarnung
2015-11-09 16:30:57 +01:00
Enno Rehling
6d0bcb246d fix compilation and setting parameters to null 2015-11-09 13:55:09 +01:00
Enno Rehling
ee02721c21 fix and tests for otherfaction attributes in E2
https://bugs.eressea.de/view.php?id=2152
2015-11-09 13:36:52 +01:00
Enno Rehling
bf8cc4cb08 trying to trace down an intermittently failing test on windows 2015-11-08 10:34:43 +01:00
Enno Rehling
318820fb00 eliminate use of test_create_world 2015-11-07 23:49:45 +01:00
Enno Rehling
43ab9e3304 Merge pull request #372 from TurnerSE/bug/#1859
Scheint ja zu funktionieren? Wenn etwas anderes kaputt geht, dann hat das nicht genug Tests, das ist auch eine Lehre. Und noch ist ja Zeit zum Release, um das zu merken.
2015-11-07 19:21:16 +01:00
Enno Rehling
26b6ae4e30 github issue #374
stick some assertions in natural_armor
refactor it for readability
eliminate a static memory leak
reset num_races to zero at end of test
2015-11-07 18:21:47 +01:00
Enno Rehling
2f8dc29396 clean up item tests so they don't use test_create_world
fix intermittent skillpotion test
2015-11-07 13:52:18 +01:00
Philipp Dreher
663d947b2a New behaviour in case of low skill during building
Insufficient skill after hitting the next improvement stage is now
handled by leaving the for-loop and skipping to after-build-processing.
2015-11-06 21:04:35 +01:00
Philipp Dreher
b0a986e155 Revert "added a lua-test"
This reverts commit a452ad1517.
2015-11-06 20:57:19 +01:00
Philipp Dreher
a452ad1517 added a lua-test
New lua-test for the bug concerning the minskill for castle-stages.
(#1859)
2015-11-06 20:53:10 +01:00
Philipp Dreher
be5d81acd1 Revert "new test"
This reverts commit cb16315e7c.
2015-11-06 20:51:38 +01:00
Philipp Dreher
cb16315e7c new test
Added test for the handling of castles' buildstages and their individual
skillcaps.
2015-11-06 13:14:19 +01:00
Enno Rehling
8a057f183f CID 22580 Time of check time of use
no need to check this first
2015-11-05 13:22:51 +01:00
Enno Rehling
797eee025d fix cb_insert comparison (new return value for success) 2015-11-05 13:01:48 +01:00
Enno Rehling
2a7fc87656 CID 30742 Dereference before null check
CID 30741 ditto
2015-11-05 10:59:14 +01:00
Enno Rehling
b81e56d306 CID 22486 Dereference after null check 2015-11-05 08:32:21 +01:00
Enno Rehling
b6190b5193 CID 22527 Resource leak 2015-11-04 19:20:34 +01:00
Enno Rehling
8ab4784e3f Merge branch 'coverity-scan' of https://github.com/ennorehling/eressea into ennorehling-coverity-scan
Conflicts:
	src/kernel/jsonconf.c
	src/kernel/save.h
	src/names.c
2015-11-04 12:44:45 +01:00
Enno Rehling
8bc44d82ed CID 22500 Argument cannot be negative 2015-11-04 12:29:51 +01:00
Enno Rehling
5887e8e48f CID 22434 Ignoring number of bytes read 2015-11-04 12:19:16 +01:00
Enno Rehling
47f678d2a3 CID 22436 Ignoring number of bytes read, github issue #333 2015-11-04 11:51:19 +01:00
Enno Rehling
731dac3363 CID 22437 Unchecked return value from library
github issue #332
2015-11-04 11:45:13 +01:00
Enno Rehling
d4ff807c20 Merge pull request #364 from ennorehling/coverity-fixes
several smaller coverity fixes
2015-11-04 11:04:32 +01:00
Enno Rehling
024e4c45ca fix a bug introduced by f78fe842 (CID 22443) 2015-11-04 10:40:53 +01:00
Enno Rehling
c57668e6ee failing test for newly discovered storage problems 2015-11-04 09:48:51 +01:00
Enno Rehling
04b5bc0c60 CID 22474 Evaluation order violation 2015-11-03 23:19:35 +01:00
Enno Rehling
1093a23d5a CID 22464 Division or modulo by zero 2015-11-03 23:14:06 +01:00
Enno Rehling
876e4122b1 CID 22463 Division or modulo by zero 2015-11-03 23:13:04 +01:00
Enno Rehling
307c5ec85b CID 22435 Unchecked return value from library 2015-11-03 22:56:05 +01:00
Enno Rehling
0c5ef21c10 CID 22434 Ignoring number of bytes read
also potential missing  null-termination
2015-11-03 22:53:19 +01:00
Enno Rehling
f959f43f1e extensive tests for armor calculation 2015-11-03 18:59:09 +01:00
Enno Rehling
91a6324a97 cleanup: functions do not need to be dereferenced with an & in C. 2015-11-03 13:30:34 +01:00
Enno Rehling
7e81b98fa4 Merge pull request #339 from TurnerSE/improvement/CID22481
Improvement/cid22481
2015-11-03 13:08:03 +01:00
Philipp Dreher
07fd3dc970 formal correction 2015-11-02 18:06:19 +01:00
Enno Rehling
072bfd3912 testin building_is_active
testing multiple units in one building
2015-11-02 15:06:30 +01:00
Enno Rehling
4bf2509fb3 test inside_building vs. overflow
fix default building capacity (should be 1 per size)
2015-11-02 14:56:58 +01:00
Enno Rehling
42ae086def unit is inisde a building also when it was not paid for 2015-11-02 14:49:48 +01:00
Enno Rehling
24ff4c301d refactor: separate building_is_active from inside_building 2015-11-02 14:18:50 +01:00
Philipp Dreher
b107ddadf5 added assert to check the faction-pointer 2015-11-01 21:43:18 +01:00
Philipp Dreher
491e5faed9 Revert "general check for sf->faction's validity"
This reverts commit f18b5ea7d2.
2015-11-01 21:40:06 +01:00
Philipp Dreher
f18b5ea7d2 general check for sf->faction's validity
The handling of an ally without a valid faction-pointer is now skipped
in favor of a logged error.
2015-11-01 18:54:29 +01:00
Enno Rehling
21a2313e2a CID 22517: Parse warning (PW.PARAM_SET_BUT_NOT_USED) 2015-10-30 15:20:06 +01:00
Enno Rehling
e7ca5345d7 CID 22509: Dereference null return value (NULL_RETURNS)
potential problems at the edge of the map.
2015-10-30 12:57:07 +01:00
Enno Rehling
e1eb5098d4 CID 22554: Improper use of negative value (REVERSE_NEGATIVE)
I believe this was a false positive, but more asserts can never hurt.
2015-10-30 12:40:48 +01:00
Enno Rehling
93b7bacff5 CID 22552: Dereference before null check (REVERSE_INULL) 2015-10-30 12:37:27 +01:00
Enno Rehling
5d273e475e CID 22558: Copy into fixed size buffer (STRING_OVERFLOW)
bsdstring buffer size check
2015-10-30 11:41:59 +01:00
Enno Rehling
1fb04179dc CID 22557: Copy into fixed size buffer (STRING_OVERFLOW)
eliminate code duplication. bsdstring is better than libc strings.
2015-10-30 11:39:47 +01:00
Enno Rehling
4eb6a89821 CID 26262: short and unsigned types are the devil, use int everywhere for fewer headaches 2015-10-29 20:39:44 +01:00
Enno Rehling
4f25831407 coverity scan CID 22576: arguments in wrong order
I believe that was a false positive, and will try to aquelch it by naming the arguments better.
2015-10-29 11:24:01 +01:00
Enno Rehling
976b6aaea1 coverity CID 22593: write to pointer after free
github issue #324
use free_land where we need it.
2015-10-29 11:17:31 +01:00
Enno Rehling
c298b7fd74 coverity CID 22501 imroper use of negative value
explicitly use SK_MAGIC instead of a lookup. Faster, easier to reason about.
2015-10-29 11:06:25 +01:00
Enno Rehling
8675002e68 coverity scan CIDs 22540 22541 22546: resource leak
the calendar should only ever be initialized once, but based on static analysis, I agree that this was sloppy.
2015-10-29 09:56:53 +01:00
Enno Rehling
2372d3aacd coverity scan CID 22516: out-of-bounds write
potentially a bug with bad XML files? only matters if we have those, but we shouldn't
2015-10-29 09:49:26 +01:00
Enno Rehling
8b92003fff coverity scan CID 22487: dereference after null check
we don't use many differnt calendars, so this has never happened.
2015-10-29 09:43:51 +01:00
Enno Rehling
70d4a6af03 coverity scan CID 22553: dereference before null check 2015-10-29 09:06:50 +01:00
Enno Rehling
f2b0ba1ec6 eliminate find_spell warning for games where nobody is cursed, and you cannot summon igjarjuk 2015-10-27 12:40:03 +01:00
Enno Rehling
47e925473e always use a macro, not magical constants 2015-10-15 08:40:52 +02:00
Enno Rehling
c9e7a76d9b minor leak: release memory held by curse_type structures 2015-10-15 08:38:43 +02:00
Enno Rehling
d4655ee88a leak: do not create new message_type objects in test_cleanup 2015-10-15 08:29:20 +02:00
Enno Rehling
467ce2a719 visual studio compilation fix 2015-10-14 22:09:11 +02:00
Enno Rehling
ef1a2dfc4f fixed a crash 2015-10-14 22:06:40 +02:00
Enno Rehling
3200dd2dc8 leak: free locale_data 2015-10-14 21:51:43 +02:00
Enno Rehling
b5455531e7 do not leak terrain.herbs 2015-10-14 21:37:27 +02:00
Enno Rehling
c04bda102b call free_order for each remaining reference 2015-10-14 20:56:09 +02:00
Enno Rehling
a3b27ad6d2 leak: remember to call test_cleanup 2015-10-14 20:49:30 +02:00
Enno Rehling
03ff8f612d leaks: remember to call test_cleanup 2015-10-14 20:48:01 +02:00
Enno Rehling
284a74c878 leak: deleting a config entry did not free its name 2015-10-14 20:45:43 +02:00
Enno Rehling
f740f2829a leak: in tests, when correct message_type doesn't exist, arguments should not leak 2015-10-14 20:41:42 +02:00
Enno Rehling
144aeb23ac leaks: call cleanup, free triggers 2015-10-14 20:29:07 +02:00
Enno Rehling
5018bbb0c0 correctly release messages created in test_merge_split 2015-10-14 20:21:38 +02:00
Enno Rehling
2abdba9e8a refactor free_messagelist, fix leak in test_merge_split 2015-10-14 14:08:50 +02:00
Enno Rehling
1c2922aafa leak: spell names and other strings need to be released. 2015-10-14 13:58:55 +02:00
Enno Rehling
254cda86e8 short commands speedup wasn't working (never got assigned) 2015-10-14 13:20:27 +02:00
Enno Rehling
4fc5ac7740 there is a memory leak in test_long_order_hungry, but the root cause lies deeper 2015-10-14 12:51:45 +02:00
Enno Rehling
bdf4834dc2 leak: region_owner data was never released 2015-10-14 12:22:37 +02:00
Enno Rehling
ae3210ec87 pervious commit did not compile: small copy/paste error 2015-10-14 12:14:33 +02:00
Enno Rehling
2c659c1f47 memory leak: free building maintenance data 2015-10-14 12:13:05 +02:00
Enno Rehling
3cfb22876b memory leak: free params after test 2015-10-14 12:01:33 +02:00
Enno Rehling
f0671aafda leak: some tests were leaking seen_factions becaus they don't call destroyfaction or render reports 2015-10-13 23:33:11 +02:00
Enno Rehling
a3210aaed7 leak: free per-locale cached order data (has additional refcount) 2015-10-13 23:25:44 +02:00
Enno Rehling
377b0d0305 leak: teardown build tests, free construction data 2015-10-13 23:09:50 +02:00
Enno Rehling
a6ca489d9a free multi-level construction correctly, avoid duplication 2015-10-13 22:56:16 +02:00
Enno Rehling
26f5b592bd leak: free construction materials 2015-10-13 22:41:54 +02:00
Enno Rehling
457465b4a2 memory leak: free message_list objects 2015-10-13 22:37:45 +02:00
Enno Rehling
333c27403f memory leaks: ship_type.construction, give_cmd return values 2015-10-13 22:34:22 +02:00
Enno Rehling
c70d987c09 memory leak: free weapon data 2015-10-13 22:27:43 +02:00
Enno Rehling
0facb386a8 memory leaks: call test_cleanup, free strlist, free message 2015-10-13 22:21:05 +02:00
Enno Rehling
d264c454b8 memory leak: building_type::construction was never released 2015-10-13 22:13:50 +02:00
Enno Rehling
7e9c36b599 memory leak: free spell components and spells at exit 2015-10-13 22:02:58 +02:00
Enno Rehling
67135c8ea3 avoid triggering null-pointer assert 2015-10-13 21:50:23 +02:00
Enno Rehling
2f35246f8c memory leak: when freeing factions, also free their spellbooks 2015-10-13 21:47:45 +02:00
Enno Rehling
3741a19437 prevent memory leak of cJSON structures in tests 2015-10-13 21:21:31 +02:00
Enno Rehling
7854684d8b fix memory leaks in all tests that create an order without calling free_order at the end. 2015-10-13 15:45:38 +02:00
Enno Rehling
7f81cee36d Merge pull request #305 from ennorehling/feature/log-reduce
reduced log spam in cron emails
2015-09-28 12:27:04 +02:00
Enno Rehling
3eead446d0 reduce cron log spam 2015-09-26 22:42:22 +02:00
Enno Rehling
84a92124bd Merge branch 'feature/bug-2053-attack-monsters' of https://github.com/ennorehling/eressea into ennorehling-feature/bug-2053-attack-monsters
Conflicts:
	conf/e3/config.xml
2015-09-19 13:35:53 +02:00
Enno Rehling
b0c79b9978 refactor some get_param lookups
kill unused global.functions.maintenance
2015-09-13 10:11:56 +02:00
Enno Rehling
90bcf30628 fix bad terrain definitions in E2 (string, not number: these values are used for dice throws).
clean up the jsonconf.c code for reading these a little bit, report more specific errors.
2015-09-13 09:46:40 +02:00
Enno Rehling
71c4cb53c0 add missing guard.h include everywhere, remove duplicate prototypes from config.h 2015-09-12 23:41:37 +02:00
Enno Rehling
dd9420fc38 move at_guard into guard module as well 2015-09-12 23:38:31 +02:00
Enno Rehling
3055f517dc move guard implementation into a module (WIP) 2015-09-12 22:53:54 +02:00
Enno Rehling
8fa3234159 Merge branch 'master' into develop
Conflicts:
	tests/runtests.bat
2015-09-12 21:00:28 +02:00
Enno Rehling
a027139057 remove global variable verbosity in favor of static in main.c (use log_* functions everywhere) 2015-09-12 20:58:09 +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
7259a4b45e remove parse_main from xmlreader, everything superseeded by jsonconf 2015-09-12 18:16:23 +02:00
Enno Rehling
1e75255d51 allow disabling skills through json 2015-09-12 17:43:31 +02:00
Enno Rehling
a01955e06a disable features by name that are not keywords 2015-09-12 17:37:29 +02:00
Enno Rehling
c76b118fb8 eliminate game/order from XML data 2015-09-12 17:12:02 +02:00
Enno Rehling
44eb3a4f58 disable keywords through JSON configuration 2015-09-12 17:06:55 +02:00
Enno Rehling
7906cdbcb6 do not read gamename from XML, read it from JSON only (two mechanisms for the same feature are too many) 2015-09-12 16:49:18 +02:00
Enno Rehling
d65e9aaf94 eliminate xml reading of produceexp chance 2015-09-12 16:42:02 +02:00
Enno Rehling
8a95ea0c00 speeding up produceexp_chance 2015-09-12 16:41:22 +02:00
Enno Rehling
9bdc811582 produceexp uses a json-configurable constant
make get_param_flt return a double, floats are for wimps.
2015-09-12 16:38:51 +02:00
Enno Rehling
68c448b3fb fix signature of callback 2015-09-12 16:29:57 +02:00
Enno Rehling
d1686849e0 refactoring: move produceexp into unit module, for want of a better one. add a bit of test coverage.
https://bugs.eressea.de/view.php?id=2137 - fix learning-by-doing with less than u->number people.
2015-09-12 16:25:47 +02:00
Enno Rehling
aa32cf190e remove xmlreader code for prefixes 2015-09-12 13:40:10 +02:00
Enno Rehling
09efd9c2a9 fix anything that uses the calendar module. opps. 2015-09-12 12:54:49 +02:00
Enno Rehling
13e1573611 moving the calendar module out of the kernel directory, it does not belong with the major game objects 2015-09-12 12:54:09 +02:00
Enno Rehling
47c95aee35 implement JSON prefixes. fix free_prefixes not resetting size (TODO: quicklist). 2015-09-12 12:49:12 +02:00
Enno Rehling
f0e255924f add a unit test for add/free prefixes. fix bad free_prefixes call site. 2015-09-12 12:41:04 +02:00
Enno Rehling
9f6b374056 add a (red) test for JSON prefixes. 2015-09-12 12:33:25 +02:00
Enno Rehling
44d982d210 free race prefixes when the game is done (small memory leak). 2015-09-12 12:29:42 +02:00
Enno Rehling
f1476c2167 refactoring: split out a module for race prefixes 2015-09-12 12:24:10 +02:00
Enno Rehling
bd51ac7dd7 eliminate terrain parsing from xmlreader.c, it's all in JSON now! 2015-09-11 22:46:47 +02:00
Enno Rehling
c57918ede0 replace XML terrains for E3 and E4 with JSON configuration 2015-09-11 22:43:08 +02:00
Enno Rehling
b4971dd651 replace all of the E2 terrains with JSON data (no more XML!) 2015-09-11 22:11:59 +02:00
Enno Rehling
7c4d18ec2d avoid an annoying division by zero when terrains are not fully initialized (size=0) 2015-09-11 21:31:59 +02:00
Enno Rehling
db4cb2618b transfer most core and all game-specific terrains for E2 from XML to JSON. 2015-09-11 21:14:10 +02:00
Enno Rehling
9df5799efd define core plain and ocean in JSON for E2. 2015-09-11 12:52:18 +02:00
Enno Rehling
a582c69523 finished and tested: terrains can be completely defined in JSON. 2015-09-11 12:27:45 +02:00
Enno Rehling
43bac506a4 fix bad size for calloc. 2015-09-11 12:25:28 +02:00
Enno Rehling
c707ff39b6 memory leak: properly free terrain_production objects 2015-09-11 12:17:35 +02:00
Enno Rehling
59e2c12605 completing the implementation of JSON terrains (WIP).
seeing a crash when trying to allocate a resource for stone in test_json_terrains.
2015-09-11 12:12:53 +02:00
Enno Rehling
cf08cdf3fb configuration type-fixes: int to bool where appropriate (possibly incomplete)
rename some rules to make it more obvious that they are flags or other integer values.
2015-09-11 10:04:08 +02:00
Enno Rehling
c5e14c85a6 read boolean json values
be smarter about reading number values that are integers
2015-09-11 09:17:07 +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
1a7d6dd91d xmlreader no longer needs to parse settings, that's all in json now. 2015-09-10 23:29:18 +02:00
Enno Rehling
1969c165d3 allow settings in json configuration file
move E2 settings from XML to JSON
2015-09-10 23:16:17 +02:00
Enno Rehling
337aca9b3c remove region.donations, replace with a global list. 2015-09-09 16:47:09 +02:00
Enno Rehling
d29d38f710 refactor donations into a seaprate code module, add a basic test 2015-09-09 15:45:20 +02:00
Enno Rehling
60111282b3 make findunitr be O(1) instead of O(#r->units) 2015-09-09 13:29:58 +02:00
Enno Rehling
6f212686f3 Merge pull request #287 from ennorehling/feature/issue-282-link-seen
eliminate duplicate call to link_seen
2015-09-09 12:41:14 +02:00
Enno Rehling
f7c1efc287 memory error seems to be in test_write_flag (curse-hashing?), not in the new ones. 2015-09-09 11:22:35 +02:00
Enno Rehling
65c39866e1 refactor: add a faction_add_seen function that also updates [first, last) interval.
add tests for add_seen.
disable test_faction_add_seen, looks like it needs a valgrind check?
2015-09-09 11:08:33 +02:00
Enno Rehling
77912166bf Backfill missing tests for Bug 1818. Actual bug appears to have been fixed some time ago. 2015-09-07 14:49:57 +02:00
Enno Rehling
b8df3f3a5f increase the datatype for scores from int to long long
this fixes https://bugs.eressea.de/view.php?id=2136
2015-09-06 19:04:04 +02:00
Enno Rehling
79663d5933 relatively simple fix to bug 1685: unit ids must start with alphanumerical characters.
https://bugs.eressea.de/view.php?id=1685
2015-09-05 19:48:25 +02:00
Enno Rehling
a2c269e805 add another failing unit test for bug 1685, closer to the core of the problem 2015-09-05 19:45:34 +02:00
Enno Rehling
3dc173b6ec add unit tests for read_unitid 2015-09-05 19:44:30 +02:00
Enno Rehling
400b8f1ffa add another failing test for bug 1685
add test for forbiddenid (cannot have a unit with id TEMP)
2015-09-05 19:25:55 +02:00
Enno Rehling
2e3c0db02a add a failing test for bug 1685 2015-09-05 18:14:28 +02:00
Enno Rehling
70aff6f567 Merge pull request #283 from ennorehling/cursed-faction
The revenge of Igjarjuk
2015-08-31 07:58:16 +02:00
Enno Rehling
efca4d1979 fix last merge, signature of effskill changed 2015-08-29 15:00:59 +02:00
Enno Rehling
78cf76464a Merge pull request #281 from ennorehling/todo-cleanup
code cleanup
2015-08-29 14:09:36 +02:00
Enno Rehling
e4026e0f6b eliminate more non-critical arguments. 2015-08-27 16:59:39 +02:00
Enno Rehling
de808bf146 change effskill signature to take a region, change eff_skill to work on a skill * to avoid multiple lookups. 2015-08-27 16:16:55 +02:00
Enno Rehling
71dea1eca7 backfill missing tests for herbsearch (alchemy). 2015-08-27 13:19:58 +02:00
Enno Rehling
bc1c3dd712 move NEWATSROI out of item_modification 2015-08-26 19:59:11 +02:00
Enno Rehling
c5f4d213ce test familiar/mage connection and ageing of same. 2015-08-26 08:42:45 +02:00
Enno Rehling
b27f0787a8 test familiar skill bonus 2015-08-26 08:36:25 +02:00
Enno Rehling
4dee1744a2 write some tests around effskill and skillmod. 2015-08-26 08:22:51 +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
dd667aa752 cursed factions get to fight a wolfhowl if they attack (WIP) 2015-08-22 17:56:36 +02:00
Enno Rehling
89bc83c4ab Merge branch 'master' into develop
Conflicts:
	src/bind_region.c
	src/buildno.h
	src/kernel/item.c
2015-08-20 16:58:07 +02:00
Enno Rehling
d69bf18e23 suspect some submodule shenanigans 2015-08-20 16:26:32 +02:00
Enno Rehling
853290413f fix segfault, disable intermittent test 2015-08-20 16:18:15 +02:00
Enno Rehling
f12454870f fix segfault, disable intermittent test 2015-08-20 16:17:19 +02:00
Enno Rehling
dfb0bcaccf Merge branch 'master' into develop
Conflicts:
	src/buildno.h
	src/kernel/save.c
	src/laws.c
2015-08-20 15:49:36 +02:00
Enno Rehling
1641e6ef89 remove spellbook repair code, we are done 2015-08-20 15:09:38 +02:00
Enno Rehling
8716e5fdc5 repair spellbooks that broke in E3 and E4 (temporary measure, remember to remove this code). 2015-08-20 12:13:09 +02:00
Enno Rehling
e6eb53c864 save the faction.max_spelllevel in the data file, do not recalculate it each time.
when recalculating it, include spellbook to determine max-level (dead mages may have pushed the level up).
2015-08-19 19:43:47 +02:00
Enno Rehling
ebe365fd6e move travelthru logic to a separate module. todo: split off the report writing from the collection of units. 2015-08-18 18:57:04 +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
df5eaa6ef2 eliminate warning (unused variable) 2015-08-16 19:55:11 +02:00
Enno Rehling
b50c1720cf several monster_attack fixes.
1. do not try to attack other monsters.
2. monsters outside of a building can attack units outside of buildings.
3. dragons can guard without weapons.
2015-08-16 16:18:59 +02:00
Enno Rehling
3fe0e62105 do not remove battles from dead faction before writing the report. 2015-08-16 12:06:05 +02:00
Enno Rehling
27b5588e8f Merge region messages and individual messages before writing them into the report.
This fixes https://bugs.eressea.de/view.php?id=2073
2015-08-16 11:30:44 +02:00
Enno Rehling
47dccc667b Add a message that contains the password in the first report, so Magellan can pick it up.
Fix a bad type conversion when setting skills.
2015-08-15 20:25:36 +02:00
Enno Rehling
816243d2d7 magicians can always identify their own curse-effects.
magic-resistance on a building is always visible to anybody, just like it is on units.
2015-08-07 15:52:10 +02:00
Enno Rehling
12a2a1f412 get_captain is wrong, the rules say the captain is the FIRST unit in the ship, which I believe means ship_owner, not best skill.
clean up shipspeed tests a little (WIP, missing edge cases).
ignore some temporary files.
2015-08-07 13:07:45 +02:00
Enno Rehling
3bfc05c3b0 test bonus for new ship-speed rules (WIP). 2015-08-07 13:03:19 +02:00
Enno Rehling
b72f48c044 enhanced ship speed for selected ships (currently none). 2015-08-07 12:51:20 +02:00
Enno Rehling
c322fbffd5 rename ship_sailors to crew_skill, it's more descriptive 2015-08-07 12:46:32 +02:00
Enno Rehling
afbc4c816b refactoring ship speed, extract total skills of sailors into a function. 2015-08-07 12:43:18 +02:00
Enno Rehling
bfdef37808 fix the test and the formula for damaged ships' speeds. 2015-08-07 12:03:33 +02:00
Enno Rehling
8636aabe8a tests for existing shipspeed features, failing ship for ship-damage. 2015-08-07 11:50:49 +02:00
Enno Rehling
b3a8a95a24 cherry-picking ship tests from range_max code 2015-08-07 11:48:46 +02:00
Enno Rehling
3081a89f1c Merge branch 'develop' of github.com:ennorehling/eressea into develop 2015-08-06 19:17:00 +02:00
Enno Rehling
397a157fdc Merge branch 'develop' into feature/bug-1588-magicpower-limit
Conflicts:
	scripts/tests/e2/init.lua
	src/battle.c
	src/bind_unit.c
	src/kernel/spellid.h
	src/magic.c
	src/magic.h
2015-08-06 19:16:05 +02:00
Enno Rehling
4c877288d3 remove spellid.h, it represents an outdated way of doing things.
merge the enum into combatspells, and reduce it to the spells actually used here.
2015-08-06 17:57:51 +02:00
Enno Rehling
b8a2b9d0b7 Merge pull request #7 from ennorehling/feature/bug-2101-study-teach-testing
bug 2101: increase max printed length of orders
2015-08-06 17:05:32 +02:00
Enno Rehling
1e6a83f357 resize buffer in eval_command, it was too small for many commands.
increase MAXTEACHERS.
eliminate oldterrain warning in json_report.
2015-08-06 16:52:24 +02:00
Enno Rehling
8dc4e93e90 fix missing units from CR, add a test, partially convert from FILE* to stream 2015-08-05 14:45:46 +02:00
Enno Rehling
8efc874952 backfill missing tests for ally_cmd 2015-08-05 12:19:17 +02:00
Enno Rehling
c22636ca13 unit tests for update_long_order. e3 tests are still broken. 2015-08-05 00:03:30 +02:00
Enno Rehling
4d061d8592 repair update_long_order and K_DESTROY handling according to discussion in https://bugs.eressea.de/view.php?id=2080 2015-08-04 22:47:55 +02:00
Enno Rehling
2288b8fb27 Merge remote-tracking branch 'upstream/master' into develop
Conflicts:
	.travis.yml
	s/build
	s/cmake-init
	s/runtests
	src/buildno.h
	src/kernel/config.c
	src/kernel/save.c
	src/kernel/unit.c
	src/laws.c
	src/move.c
2015-08-03 19:43:26 +02:00
Enno Rehling
9938b3fb66 eliminate update_gbdream completely, make code smaller and simpler.
simplify tests (no need to use create_spell if we don't use it)
increase build no for hotfix.
2015-08-02 23:16:41 +02:00
Enno Rehling
d99ffaf1ed filter by curse-type before trying to call update_gbdreams. 2015-08-02 22:45:59 +02:00
Enno Rehling
b5ed7c562d wait until curse->magician has been resolve()'s before calling effskill() to find f->max_spelllevel. 2015-08-02 22:08:35 +02:00
Enno Rehling
17f15b69ee fix some of the unicode replacement symbol bullshit in comments 2015-08-02 21:37:12 +02:00
Enno Rehling
a119f7617f add some assertions to make sure update_gbdream is not called without a magician 2015-08-02 21:17:21 +02:00