Commit graph

27 commits

Author SHA1 Message Date
Enno Rehling
186a575c7c http://eressea.upb.de/mantis/view.php?id=1432
"Der strict-aliasing fix zerstoert Referenzen"
- mostly rewrote the whole delayed resolution code.

http://eressea.upb.de/mantis/view.php?id=1431
"buildings and ships are leaking memory"
- made a mistake deleting damaged ships.

also:
- WORMHOLE_MODULE is now a config option
2008-05-24 00:20:00 +00:00
Enno Rehling
8452dc365e - removing planes
- removing units and regions more cleanly
- dying units won't give items to undead or others who don't want/won't return them
- removed old "nogive" attribute for races.
2008-05-18 13:46:18 +00:00
Enno Rehling
dcf3292467 defining NPC-factions with a flag instead of MONSTER_FACTION. 2008-05-11 22:51:34 +00:00
Enno Rehling
bc5fa11611 - made a storage class that wraps disk i/o for data files
- recreated old behaviour in text_storage class
- built binary_storage class: saves 60% of load time, adds 20% to file size.

next: gzip & others?
2008-04-26 14:55:22 +00:00
Enno Rehling
79dc9acf5f - fixing race prefixes
- fixing some latin1 loading
- improved the spell-syntax writer
- replaced my email address
2007-09-02 18:11:17 +00:00
Enno Rehling
260d518fa1 WIP, does not compile: Unicode (UTF8) conversion of absolutely everything. Mi'kmaq hieroglyphic writing FTW! 2007-06-26 09:32:28 +00:00
Enno Rehling
96a2b1c779 Include cleanup. 2007-06-20 00:34:02 +00:00
Enno Rehling
af0a7b225a curse-flags funktionieren jetzt anders, und koennen per curse-type gesetzt werden so dass der spell es nicht tun muss, aber dann vom spell ueberschrieben werden (passiert per XOR). 2007-04-21 23:04:24 +00:00
Enno Rehling
c61127ab6f SIMPLE_ESCAPE: Flucht verhindert BEWACHE. 2007-02-12 07:27:04 +00:00
Enno Rehling
640652ef99 earn_silver Zauber in script/xml ausgelagert.
bugfix snowman
avoid huge amounts of log-messages
handle renaming of spells.
2006-02-05 15:48:52 +00:00
Enno Rehling
8242e9ed41 Eressea ist 64-bit ready. Denke ich jedenfalls. 2005-06-09 22:10:35 +00:00
Enno Rehling
dfa10113a9 http://eressea.upb.de/mantis/view.php?id=327
Alp ist nicht zu sehen

Der Alp wurde etwas beschleunigt, aber grundsätzlich ist er immer noch nicht sichtbar, was unschön ist.
2005-06-05 20:42:04 +00:00
Enno Rehling
34e88074cc alp-curse (ct_worse) hat vigour <=0, assert triggert 2004-11-07 01:31:46 +00:00
Enno Rehling
8823db9702 - Bugfixes and code-merges between freeze and HEAD branch. Minor changes that should not affect the code
- Bugfix to P_BERSERK
2003-07-29 09:48:03 +00:00
Enno Rehling
25685c79af - curseids entfernt, bis auf ein paar wenige alte funktionen (wahnsinnsarbeit, das)
- englische Zauberübersetzungen, Code gebaut und Übersetzung angefangen
- Visual Studio Project, neue Files eingefügt
- strnzcpy für MSVC hat nicht so richtig geklappt. alles gleich gemacht.
2002-05-01 19:08:32 +00:00
Enno Rehling
4fb2137edd * Bugfix Durchreiseregionen bei Start=Ziel
* Bugfix Sichtbarkeitsregel bei Borders
* Neu definiert, was eine attribut-funktion zurückliefern soll, wenn sie
  failed. asserts, die checken das ich auch keine vergessen habe.
  damit ist die killunit::handle Geschichte erledigt.
* Bugfix looting. Sowohl eigene als auch fremde Einheiten können looten.
* Korrektur doppeltes shock-attribut.
* Straßen, Diskrepanz im NR und CR beseitigt
* remove_empty_factions macht kein free mehr.
2002-04-07 00:44:01 +00:00
Katja Zedel
3ed9671ecf alp sollte nicht in Burg des Magiers starten 2002-03-02 09:34:13 +00:00
Enno Rehling
fc079d4394 * OLD_TRIGGERS entfernt
* CONVERT_SKILLPOINTS entfernt - wird jetzt beim laden gemacht
* Neue Funktion change_level()
* Bugfixes Rekrutierung
* Neue Option --noreports
* Bugfix negative Talente
* Konvertierung AT_DRAIN
* Neue Save-Version
* Bugfixes save.c, kaputtes Datenfile
* Skillpoint-Konvertierung beim Laden
* wspace() Funktion eliminiert
* sk_find crasht nicht mehr bei Nullpointern
* Endlosschleife gefixt
* Einheiten mergen
* learn_skill implementeiert.
* Eternath Koordinaten-Bugfix
* Neue Funktion change_level()
* Mapper angepasst
2002-02-16 10:37:18 +00:00
Enno Rehling
f1fc6dce4f Neue funktion set_level(), setzt den level statt skillpunkte zu setzen - angepasst an allen stellen, wo das sinnvoll war. mehr dazu heute abend. 2002-02-10 13:23:30 +00:00
Enno Rehling
da2050d1f2 - Erste Version Dungeons testbereit (aber ungetestet)
- XML Reader für Dungeons
- Nomenklatur für Initialisierung und Reihenfolge der Initialisierung aufgeräumt (register_ vs. init_)
2002-01-09 08:20:33 +00:00
Enno Rehling
a464c031c3 HEAD (der default-branch in CVS) wieder auf dem gleichen Stand wie beta-2-0. An dieser Stelle würde ich gerne in Zukunft die Vinyambar-Versionen abspalten, und die neue "Entwicklerversion" für Eressea beginnen lassen. Details, sobald ich das (hoffentlich morgen) gemacht habe.
Meine Güte, haben wir viel geändert... Das gibt sicher ein Hammer-Diff.
2001-12-10 00:13:39 +00:00
Enno Rehling
cfdbc32470 * möglichen Exploit beseitigt:
GIB xyz EINHEIT
  GIB 0 ALLES SILBER
  --> ALLE Befehle der übergebenen Einheit werden gelöscht.

* neue Funktion (convenience): ucansee(f, u1, u2)
  liefert u1, wenn cansee(f,u1), sonst u2

* neue mistakes eingefügt uns übersetzt

* message bugfix:
  u->htisorder kann gelöscht werden (z.b. NACH). Daher muss ein pointer auf
  einen befehl in einer message immer auf den u->order Eintrag zeigen, damit er
  zeit der auswertung noch existiert.
  findorder(u, u->thisorder) tut das. Ist an mehreren Stellen nicht benutzt
  worden. assert eingebaut, das das prüft.

* RESERVE_DONATIONS
  Gegenstände, die von einer anderen Partei übergeben wurden, werden nicht
  reserviert.

* TWOPASS_GIVE:
  GIB Befehle werden zuerst an fremde Einheiten, danach in einem zweiten
  Durchlauf an eigene Einheiten, ausgeführt.

* msg_message
  An einigen messages ausprobiert, ob man die gleiche Message mehreren
  Parteien einhängen kann - klappt, spart Speicher.
  Allerdings fehlt dazu ein ordentliches memory-management (refcounter)
2001-05-10 05:50:52 +00:00
Enno Rehling
52aa6bccc2 updates vom beta-branch nach dev-version 2001-05-06 21:49:16 +00:00
Enno Rehling
1e51d0e9e2 - Neue Messages fertig
Messages werden jetzt in einem anderen Meta-Format (message* of 
  message_type*) gespeichert, das man in beliebige Formate (CR oder NR) 
  rendern kann. crmessage.c und nrmessage.c sind die render-engines dafür.
  Die Messagetypen werden in res/{de,en}/messages.xml gesammelt, ultimativ
  kann das aber durchaus eine einzelne Datei sein. Die ist derzeit nicht 
  wirklich xml (Umlaute drin, keine Definitionsdatei), aber gut lesbar.

- make_message
  Diese Funktion ersetzt new_message, und ist etwas einfacher in der Syntax:
  make_message("dumb_mistake", "unit region command", u, r, cmd) erzeugt
  eine neue Nachricht, die dann einfach mit add_message wie bisher an die
  Nachrichtenliste gehängt werden kann.
  TODO: Messages könnte man durchaus reference-counten, und in mehrere Listen
  einfügen, solang sie a) mehrfachverwendet (Kampf!) und b) vom Betrachter
  unabhängig sind. Das spart einigen Speicher.

- CR Version erhöht.
  Weil die MESSAGETYPES Blocks anders sind als früher

- OFFENSIVE_DELAY
  Verbietet Einheiten, deren Partei eine Reigon niht bewachen, den 
  Angriff in der Region, wenn sie sich in der Runde zuvor bewegt haben.
  Status der letzten Runde wird in neuem Attribut at_moved gespeichert.

- SHORT_ATTACKS
  ein define, das angibt ob Kämpfen grundsätzlich keine lange Aktion ist.

- XML Parser
  xml.[hc] enthält einen XML-Parser, dem man ein plugin mit callbacks
  übergibt, die nach dem Parsen eines tokens aufgerufen werden.
2001-04-12 17:21:57 +00:00
Enno Rehling
87f4ff245d Updates aus aktueller Version in Dev-Version 2001-04-01 06:58:45 +00:00
Enno Rehling
67c72b821e Makefile updates und attribut-init 2001-01-26 16:19:41 +00:00
Enno Rehling
5372deebfe Initial revision 2001-01-25 09:37:55 +00:00