Commit graph

181 commits

Author SHA1 Message Date
Enno Rehling
4a802be67c fix undead name generation. 2016-12-31 20:03:50 +01:00
Enno Rehling
ec4060cb9a fix curse-vigour calculation math.
also fix a ton of small other niggles from pvs-studio.
2016-11-20 19:08:39 +01:00
Enno Rehling
2f305f16d9 additional testing for renumber. 2016-11-17 21:08:35 +01:00
Enno Rehling
11b122048b reduce dependency on save.h
moving a_write* functions to attrib.h, which was most of the reason everyone and their mom include save.h
2016-11-13 19:40:38 +01:00
Enno Rehling
754ad78db7 WIP: remove GUARD_* flags.
TODO: does not compile
TODO: write new guard.test.c tests
2016-10-31 07:45:06 +01:00
Enno Rehling
2fbc7a44d5 add missing tests for recent failures. 2016-10-23 13:02:53 +02:00
Enno Rehling
a921a6594a Merge branch 'develop' of https://github.com/ennorehling/eressea.git 2016-10-23 10:03:46 +02:00
Enno Rehling
f12eda8bdf remove cfindhash, again.
curse and unit ids can collide, there is no reason why they should be from the same pool.
2016-10-23 10:03:33 +02:00
Enno Rehling
ac4e32a8f5 Merge branch 'master' into develop 2016-10-23 09:59:42 +02:00
Enno Rehling
34a6dd8d54 fix crash in 997: re-introduce cfindhash.
this prevents duplicate curse.no values.
2016-10-22 22:35:10 +02:00
Enno Rehling
38721e2046 remove all mention of centaurs from the code and configuration 2016-10-07 19:33:50 +02:00
Enno Rehling
c53ac9d8aa remove RS_FARVISION, it is the only spell that uses units. 2016-10-01 21:03:16 +02:00
Enno Rehling
423e293745 some more config lookup caching 2016-09-23 20:39:08 +02:00
Enno Rehling
f8ac5c390d SAMRT_INTERVALS is no longer an option, but regular 2016-09-20 09:39:21 +02:00
Enno Rehling
9af5fb0326 cache some of the highest-ranking ct_find callers 2016-09-19 04:23:49 +02:00
Enno Rehling
e7739867df use curse_type caching in att_modification 2016-09-19 03:55:12 +02:00
Enno Rehling
6c9c460815 fix failing unit tests, remove deleted unit from f->units list. 2016-09-18 11:46:54 +02:00
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
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
2d1a13a811 death to static caches! 2016-08-30 07:51:05 +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
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
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
b2e79dc5e9 building maintenance unit tests.
backfilling some very basic test coverage.
2016-08-21 20:01:30 +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
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
d0f54bf69a Merge branch 'feature/kill-maintenance' of https://github.com/ennorehling/eressea into ennorehling-feature/kill-maintenance
Conflicts:
	src/kernel/config.c
	src/kernel/config.h
	src/tests.c
2016-07-30 23:27:03 +02:00
Enno Rehling
98a3b31953 cfindhash is gone 2016-03-25 21:51:49 +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
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
7f6ced99b9 attrib.read gets a gamedata object (remove dependency on global.data_version) 2016-02-24 11:44:18 +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
5187788f3c pass the parent of an attribute into a_age and attrib_type::age 2015-12-16 22:18:44 +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
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
2e392b4d7c eliminate even more static variable caches 2015-11-22 16:14:27 +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
66dd1b8172 remove produce_exp caching in static variables (more slowdown) 2015-11-22 10:21:37 +01:00
Enno Rehling
990fda6234 clean up config.c, remove static configuration caching 2015-11-21 18:13:16 +01:00
Enno Rehling
7e27928d17 eliminate static variables and cache logic from more modules 2015-11-21 12:28:20 +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
b81e56d306 CID 22486 Dereference after null check 2015-11-05 08:32:21 +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
Enno Rehling
21a2313e2a CID 22517: Parse warning (PW.PARAM_SET_BUT_NOT_USED) 2015-10-30 15:20:06 +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
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
3055f517dc move guard implementation into a module (WIP) 2015-09-12 22:53:54 +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
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
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
60111282b3 make findunitr be O(1) instead of O(#r->units) 2015-09-09 13:29:58 +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
bc1c3dd712 move NEWATSROI out of item_modification 2015-08-26 19:59:11 +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
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
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
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
59745c7ed0 parentheses to fix operator precedence. 2015-07-03 16:13:24 +02:00
Enno Rehling
8e5fc28bfc refactoring more of goodies.h into strings.h 2015-05-18 08:59:38 +02:00
Enno Rehling
bf5fae2ef5 Fix visual studio compilation for Solthar's curse changes (float/int conversions, uninitialized variable). 2015-05-11 23:54:21 -07:00
Steffen Mecke
d9f8479055 removed duplication in good/bad dreams code 2015-05-07 17:54:59 +02:00
Enno Rehling
88d370a7b8 fixing sea serpent names
https://bugs.eressea.de/view.php?id=2057
2015-04-21 12:35:39 +02:00
Enno Rehling
f06e3371a0 Bug 2089 again. rename giveitem flag to keepitem, because races should default to not holding on to their stuff. 2015-04-19 12:49:39 +02:00
Steffen Mecke
d416a8eef1 fix NAME FOREIGN UNIT
RENAME FOREIGN UNIT used a somewhat naive approach to check if a
unit still had its generic name. Fixed that.
2015-02-11 23:10:43 +01:00
Steffen Mecke
a31898ceb5 fix bug in generic_name, minor improvements
Amusingly, names::generic_name used u->no instead of u->number to determine
singular or plural.
2015-02-11 23:10:27 +01:00
Enno Rehling
83e610ee03 Fixing bug 1802 again, CR contains no Monster names. 2015-02-11 07:57:38 +01:00
Enno Rehling
c54cbfd472 fix copyright notice 2015-01-30 22:10:29 +01:00
Enno Rehling
abca25d1d5 fix indentation in every file
fix copyright date
remove vi ts=2 code
remove a couple of superfluous extern declarations
2015-01-30 20:37:14 +01:00
Enno Rehling
798b3d6ad6 Implement tests for magicpath. They are failing (Bug 2066).
Also move spell and race initialization code from being server-only into game_init, where tests can use it.
2015-01-12 08:18:41 +01:00
Enno Rehling
23b8f2bc8a call init_locales after parse_json from Lua, downgrade missing string warnings during that to DEBUG (because it's quite common not to have them).
also, these int to bool conversion warnings made a good point, even if I could not reproduce them.
2015-01-08 20:55:29 +01:00
Enno Rehling
4e94a95835 remove dead code, move weight(unit) to unit.c 2014-12-25 19:40:40 +01:00
Enno Rehling
c8b9044f78 rename to gettoken, use more widely, add a basic test. 2014-12-22 16:28:17 +01:00
Enno Rehling
c5774e652a also prevent monsters from studying unarmed combat if they cannot learn things.
refactor the unit_can_study functionality into a separate function, we are now using it in multiple places.
2014-12-14 16:17:01 +01:00
Enno Rehling
2c077c25e8 space savings: update data files, remove names from NPC units where their name is their race. 2014-12-09 07:44:26 +01:00
Enno Rehling
0fead39b41 added a function that sets a monster's name to NULL if it is the name of its race.
deprecate old rc_name function (renamed to rc_name_s) because it used a static return string.
2014-12-09 07:20:36 +01:00
Enno Rehling
9394c4324e units without a name will use their race as a default name. 2014-12-09 06:45:21 +01:00
Enno Rehling
b551edbdb3 refactoring: moving unitname to unit.c.
also removing static-string some cruft from config.c.
2014-12-09 05:55:16 +01:00
Enno Rehling
669712f04f rename race_ to _race, to follow the style guide. 2014-12-08 22:06:05 +01:00
Enno Rehling
3dd3761acd prevent an invalid assert when undead heroes are magical 2014-12-07 11:14:14 +01:00
Enno Rehling
5b9eb9080f refactoring: move all monster-related code into monster.c
make some features depend on being NPCs, not monster faction.
2014-11-11 16:53:56 +01:00
Enno Rehling
e9084d9678 when free_gamedata, also unhash all factions. speed up is_monsters(). 2014-11-07 22:58:29 +01:00
Enno Rehling
59c1c23324 refactor config.c, move the find* functions into the modules they belong to. 2014-11-01 18:34:53 +01:00