Commit graph

689 commits

Author SHA1 Message Date
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
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
Enno Rehling
21a81bd307 cleanup: struct declaration, more static. 2015-07-12 14:24:46 +02:00
Enno Rehling
0a57933e30 minor optimizations, error checking (static analysis) 2015-07-12 14:17:27 +02:00
Enno Rehling
c0c3400f21 remove junk files, thank you windows 2015-07-12 11:01:59 +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
11e1fab0d0 Merge branch 'hotfix-3.4.1' into feature/travis-migration
Conflicts:
	.travis.yml
	s/build
	s/cmake-init
	s/runtests
	s/travis-build
	src/kernel/region.c
2015-07-12 04:12:32 +02:00
Enno Rehling
c6da0c2189 fix tolua, I guess 2015-07-11 23:45:59 +02:00
Enno Rehling
05f444bab1 Merge branch 'feature/rename-cerddor' into develop 2015-07-08 17:53:09 +02:00
Enno Rehling
6abf8f7adb bug 1692: rewrite of magicresistance curse-info, especially for buildings (homestome spell). 2015-07-08 05:12:26 +02:00
Enno Rehling
d7f4fbe05d remove enum constants for curses that are no longer referred to by them (deprecated style). 2015-07-07 21:10:18 +02:00
Enno Rehling
c8ffe8da7a Bug 2115: fix cerrdor -> cerddor spelling errors. 2015-07-07 20:30:34 +02:00
Enno Rehling
76a9dd6741 Merge remote-tracking branch 'upstream/develop' into develop 2015-07-07 15:34:42 +02:00
Enno Rehling
391a123a3e test that correct messages are sent to correct factions. 2015-07-07 14:42:07 +02:00
Enno Rehling
f9130fcb38 some more easy tests for sabotage. 2015-07-07 13:38:14 +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
59745c7ed0 parentheses to fix operator precedence. 2015-07-03 16:13:24 +02:00
Enno Rehling
b2d981e577 improved tests for DESTROY, fix destroy-after-attack 2015-07-03 13:08:06 +02:00
Enno Rehling
98c161869f Merge pull request #244 from badgerman/develop
Bug 1861 (MAXTEACHERS) and misc fixes
2015-07-02 16:32:25 +02:00
Enno Rehling
a975073c0d fix an issue when reading pre-spellbook datafiles for E3. 2015-07-02 14:39:13 +02:00
Enno Rehling
37eb189cd0 Merge pull request #242 from badgerman/feature/bug-2080-move-after-destroy
bug 2080: long actions after DESTROY
2015-07-02 11:58:12 +02:00
Enno Rehling
fc2b8f3471 bug 2080: long actions after DESTROY
https://bugs.eressea.de/view.php?id=2080
we forgot to set the flags. also added a test for the future.
2015-07-02 11:42:18 +02:00
Enno Rehling
414f6d3210 bug 2069: not all E3 magic schools have a familiar.
https://bugs.eressea.de/view.php?id=2069
quick fix: defaulting all additional schools to the illaun familiar.
2015-07-02 09:49:51 +02:00
Enno Rehling
15e9c5962c merge feature/test-cleanup
removing old test files
merging old tests into current system
fixing some internal bugs (i.e. adjust_coordinates)
2015-07-01 21:24:44 +02:00
Enno Rehling
3ba2b3d4d7 indentation fixes (tab->spaces) 2015-06-26 14:31:21 +02:00
Enno Rehling
6a42b6231e Merge branch 'master' into develop
Conflicts:
	src/buildno.h
2015-06-21 18:32:10 +02:00
Enno Rehling
a085442b8f eliminate unused variable. 2015-06-21 17:54:39 +02:00
Enno Rehling
04bf7153f0 remove a faction from its alliance when it is dead. 2015-06-21 17:49:22 +02:00