Commit Graph

101 Commits

Author SHA1 Message Date
Enno Rehling 1af315ebf2 move magic out of kernel, into src.
clean up/remove a ton of includes, especially of types.h (include in header if you need it, not in every .c file).
2014-11-01 12:57:01 +01:00
Enno Rehling b67d42b45e Merge branch 'version-3-3' 2014-10-26 21:19:16 +01:00
Enno Rehling f3e54e103a fix a crash when selling nothing.
build 687
2014-10-25 23:54:01 +02:00
CTD 3d6c499431 Fixeing GCC
Das es nicht gut ist wenn max als int in der Funktion definiert ist und
gleichzeitig global als Funktion existiert ist OK, aber warum Travis
chance() nicht kennt verstehe ich nicht, das ist in der rand.h als
extern definiert, sollte also kein Problem sein. Jetzt halt mit
rng_int().
2014-10-17 11:23:49 +02:00
CTD 1c7075573b Plündern
Neues Kommando Plündern für die Monster (kann über XML-Option auch für
Spieler freigeschaltet werden)
2014-10-16 14:45:21 +02:00
CTD 88b9d3c583 Fix für Leere Gebäude
Der check war sinnlos, denn u->building wobei u der Besitzer ist, gibt
ja im Fall das er der "Besitzer der größten Burg in der Region" ist eben
diese Burg zurück.

So geht das dann auch in E2.
2014-10-16 14:40:22 +02:00
Enno Rehling 7df47fd25c remove bad configuration caching (TODO: cache inside get_param).
move remove_empty_* functions out of config.c
add basic tests for remove_empty_units (no special units yet).
2014-10-16 07:41:49 +02:00
Enno Rehling 74582aeb2f fix remaining getstrtoken uses without null-check. 2014-09-21 16:43:17 +02:00
Enno Rehling cf1f3972b6 cleaning out config.c, there is too much code in there.
rules should be in their own modules. here:
upkeep is a concept all by itself, should have its own tests, etc.
movement code should be in move.c.
cleaning up some superfluous include directives.
2014-08-31 16:50:37 +02:00
Enno Rehling a9a0455207 reorganized directory structure.
flattening the directory structure, moving some modules to the src/ directory.
making stealth a separate file, under test.
more tests for some stuff.
2014-08-27 06:40:35 +02:00
Enno Rehling 4c00777553 make race::_name a string, not an array of strings. add a test for rc_name. 2014-08-24 23:58:29 +02:00
Enno Rehling a1a810a094 segmentation fault 2014-08-24 12:41:39 +02:00
Enno Rehling 1c069da921 segmentation fault caused by new getstrtoken semantics 2014-08-24 12:40:00 +02:00
Enno Rehling 808f343e34 make getstrtoken() return null at EOL, kill init_tokens.
init_order all the things!
added a bunch of new assertions to cover for oversights.
added some new tests for order parsing.
2014-08-23 09:17:58 +02:00
Enno Rehling c79dd33bfb smarter processing of MAKE TEMP.
the order gets its own keyword. parsing is hard - composite commands are an anti-pattern.
this eliminates a lot of unnecessary mallocs for pushing/poping parser state.
2014-08-16 11:41:19 +02:00
Enno Rehling 444971542c fix missing curly brace, indentation. hope I got this right. 2014-08-13 19:55:10 +02:00
Enno Rehling b6f627a5d8 Merge branch 'Feature-1865' of github.com:CTD1/eressea-server-bugfixing into CTD1-Feature-1865
Conflicts:
	src/economy.c
2014-08-13 19:44:57 +02:00
CTD 53a5314463 Fix für E2
Die Abfrage der Option war ohne Default, so das sie hier immer an war.
In E2 führ das dann wegen cmp_taxes zur assertion.

Das wars, jetzt sollte alles rund sein.
2014-08-08 17:27:13 +02:00
Enno Rehling 1918f56990 indentation + whitespace changes 2014-08-08 01:16:35 +02:00
Enno Rehling 75e98ae0cb Merge pull request #20 from CTD1/Bug-1664
Bug 1664: Obwohl kein Holz vorhanden ist, kommt die Meldung, daß der Unt...
2014-08-08 00:48:52 +02:00
Enno Rehling b90b744287 removing unused RECRUIT_CLASSIC option. Dead code is dead. 2014-08-04 19:53:16 +02:00
CTD 51356b061c Feature 1865 leere unterhaltspflichtige Gebäude
Gebäude ohne Besitzer werden automatisch vom Regionsbesitzer übernommen
(Die Einheit wird sozusagen der neue Gebäudebesitzer). Betreten dann nur
noch wenn Helfe Bewache vom Regionsbesitzer.
Wichtig:
<param name="rules.region_owners" value="1"/>, ist Voraussetzung,  es
geht also nicht in E2.
Es kann für beliebige Gebäude eingeschaltet werden.
Example config :
<param name="rules.region_owner_pay_building" value="market harbour
lighthouse"/>
2014-08-01 16:13:35 +02:00
CTD 7d64046022 Bug 1664: Obwohl kein Holz vorhanden ist, kommt die Meldung, daß der Unterhalt für die Schmiede gezahlt wurde
Es wird im ersten Durchlauf nur noch gezahlt wenn das Gebäude dann auch
Arbeiten kann (also alles da ist). Ich habe den 2ten Durchlauf erhalten,
auch wenn er in Code nicht mehr genutzt wird.
2014-07-30 16:13:14 +02:00
CTD 9d102fd069 BUG 1786 Fehlschlag ZERSTÖRE Gerüst
Einheiten ohne Personen können nichts zerstören (das ist OK), da aber
Zerstöre vor Rekrutiere und zusammen mit Gib abgearbeitet wird, kann
eine Temp-Einheit normalerweise nichts Zerstören, auch wenn sie in der
Auswertung Pesonen hat.
Wenn sie Personen übergeben bekommt hängt es von der genauen
Reihenfolger der Einheiten in der Region ab.
Daher habe ich Zerstöre nach Gib, Vergessen und Rekrutieren geschoben.
2014-07-18 15:21:10 +02:00
Enno Rehling 68d96014b1 a new method for finding out that a unit died in battle.
turns out, a unit can have 0 people without dying or being a TEMP (GIVE them all away, then RECRUIT more).
2014-07-06 13:00:14 -07:00
Enno Rehling 4d173cf7e2 if a unit is empty, and not a TEMP, then it is dead and cannot recruit.
This fixes http://bugs.eressea.de/view.php?id=2010
2014-07-06 12:39:03 -07:00
Enno Rehling 88f9d247bd Revert "use race::flags|RCF_NOGIVE instead of race::ec_flags|GIVEITEM"
E3 Tests (GIVE) did not pass.

This reverts commit 5ec3f5b83a.
2014-07-06 00:29:52 -07:00
Enno Rehling 5ec3f5b83a use race::flags|RCF_NOGIVE instead of race::ec_flags|GIVEITEM
None of this has tests, it'd going to be years before a change like this can be made without fear D-:
2014-07-05 23:31:34 -07:00
Enno Rehling b21cb8f5c7 Simple test for rules.give (there are many more, can_give deserves a test to itself).
The more tests I write, the more I hate the infrastructure for them.
2014-07-05 23:06:51 -07:00
Enno Rehling b9b627a171 refactor setup for economy tests.
rename can_steal->check_steal for consistent naming, check_give->can_give, too.
2014-07-05 22:47:26 -07:00
Enno Rehling f14264e3bb test coverage for can_steal.
add a default message for when no messages are loaded, so that msg_feedback/msg_message doesn't return NULL when XML has not been laoded.
initialize some core stuff before running tests (there probably needs to be more).
2014-07-05 20:14:11 -07:00
Enno Rehling 072f927d5b replace RCF_CANSTEAL with RCF_NOSTEAL for less confusing default behavior. 2014-07-05 19:29:12 -07:00
Enno Rehling c3dfbdea18 eliminate new_race array in favor of a function (TODO: make it fast) 2014-06-29 18:10:02 -07:00
Enno Rehling 89e7a7826f added some tests for building buildings. 2014-06-28 16:19:46 -07:00
Enno Rehling a75d91fb6d remove the last of the static item_type variables. 2014-06-24 23:13:18 -07:00
Enno Rehling dc8a8cdd71 rt_find -> get_resourcetype optimization 2014-06-24 08:19:11 -07:00
Enno Rehling d581737744 optimization: caching resource types in get_resourcetype.
eliminate some it_find calls.
eliminate static variables, they make testing hard.
2014-06-24 07:42:45 -07:00
Enno Rehling 73da14e305 getting rid of the olditemtypes[] array
reduce use of statics
reduce use of item_t enum
2014-06-23 07:28:10 -07:00
Enno Rehling 2c831230a0 Added a test for expensive skills.
When resetting the game rules, make sure basic resources (money, hp, person) are initialized.
2014-06-22 07:55:14 -07:00
Enno Rehling bff25f3c51 move skill_t into a separate file, give it unit tests.
name functions the same as we did for keyword/direction earlier.
to do: json configuration and lua test.
2014-06-20 23:59:04 -07:00
Enno Rehling 3625ba6a95 remove static variables optimizations, they create global state that is bad for testing 2014-06-17 23:10:55 -07:00
Enno Rehling c8dc6be6f2 rename get_keyword, because something else should have that name. 2014-06-16 07:19:22 -07:00
Enno Rehling 64e0c221ec directions can now be read from json configuration.
rename a couple of functions for more consistency across modules.
2014-06-15 22:17:08 -07:00
Enno Rehling a9f0538d8e keyword_t and direction_t are moving into their own module.
direction parser gets new initialization function, for use in jsonconf later.
add unit tests for directions.
2014-06-15 18:34:39 -07:00
Enno Rehling d503937999 working on making json config understand ships and buildings.
new tests in progress.
remove giveitem.c attribute, the name clashed with a trigger,
and it was only part of an arena that is gone from the game, I think.
2014-06-12 22:14:07 -07:00
Enno Rehling a304b981d5 remove archetypes, they are not used by any existing game.
make compiling with libxml2 optional (USE_LIBXML2)
disable xml reports
2014-06-09 19:05:17 -07:00
Enno Rehling 3c4b6b9dd4 rename message.[hc] to messages.[hc] in kernel because of naming conflict with util/
begin json config files (WIP)
2014-06-09 09:56:49 -07:00
Enno Rehling 0d05ae77a3 remove stupid pragmas 2014-04-22 07:21:29 -07:00
Enno Rehling 0ae8737062 rename MIN/MAX to _min/_max 2014-03-16 05:03:17 +01:00
Enno Rehling 1a7d892a96 use cmake for autoconf, slim down platform.h 2014-03-15 19:29:11 +01:00
Enno Rehling 03c247c788 I am killing the core/ directory.
Lots of files are moving to a new location in src/
Some intersting CMake changes.
2014-02-18 05:45:00 +01:00
Renamed from core/src/gamecode/economy.c (Browse further)