Commit Graph

49 Commits (6f26650255c2f8ecc887e20a79f46d3a966e6401)

Author SHA1 Message Date
Ben Lubar 4e690df96a
Add Persistence module.
Alter World to use Persistence instead of storing data in historical figures.

Fake historical figures will be converted to the new format when a world is loaded.

Added plugin_save and plugin_load functions to the plugin API.

Made the weird int7/int28 code that was in the old persistence API slightly safer.
2018-08-26 18:27:58 -05:00
lethosor de731b0299 Move save_dir back into cur_savegame and update submodules 2016-08-14 12:41:09 -04:00
Vitaly Pronkin fe18f176f7 More 64-bit fixes
Cherry-picked from 7eb3ba6
- Lua update already done in e2c6350, 4dd411e
- Excluded library/modules/Buildings.cpp
2016-07-26 23:47:53 -04:00
lethosor 0bcc8dc443 exportlegends: fix day/month issues more reliably
Fixes #783, #791
2016-01-09 19:28:12 -05:00
lethosor afca7419dc Add gametype checks to World.cpp 2015-03-09 20:08:21 -04:00
Alexander Gavrilov 53bd112515 Hide fake historical figures from legends xml export. 2013-11-07 12:27:53 +04:00
Alexander Gavrilov 72912edf58 Ensure AddPersistentData won't create duplicate ids.
If anything messes around with the histfig vector between calls.
2012-11-16 18:45:51 +04:00
Alexander Gavrilov 2865e1373a Experimental API for associating tile bitmasks with persistent data.
Use block_square_event_world_constructionst objects with the same
bogus negative id as the matching historical figure object.
2012-10-11 17:34:34 +04:00
Alexander Gavrilov 459c69046b Dissolve the World module class into a namespace.
It made accessing persistent data way too cumbersome.
2012-10-06 13:46:20 +04:00
Petr Mrázek 8812238bf6 Update license, add contributors file, bump release number 2012-09-30 04:03:37 +02:00
Alexander Gavrilov f06f9af6b8 Throw items from bins around in siege engine, like minecarts do. 2012-09-12 20:57:25 +04:00
Alexander Gavrilov 8d876cc7d9 Support renaming some buildings, and arbitrary units, via gui script. 2012-09-05 21:27:42 +04:00
Alexander Gavrilov db91850464 Sync to the change in gamemode/gametype globals. 2012-06-16 14:42:56 +04:00
Quietust 9a73ea9f14 Cleanup World module to use df::global, and fix crashes when control_mode/game_mode are missing 2012-05-23 12:51:03 -05:00
Alexander Gavrilov 59f411e401 Oops, forgot return statement. 2012-04-05 12:32:10 +04:00
Alexander Gavrilov d1b27418a6 Add a World::GetPersistentData version that auto-adds if not found. 2012-04-05 11:32:23 +04:00
Alexander Gavrilov afe4eba957 Improve performance of the persistent data api, and wrap it for lua.
Use an stl table for string keys to avoid linear cost of lookup.

This uncovered a bug in the new luaL_getsubtable function.
2012-04-01 16:43:40 +04:00
Alexander Gavrilov a05cbcc2de Rename the world substruct with the save directory name. 2012-03-14 10:56:30 +04:00
Petr Mrázek 8f680dcf94 Make it build and run on linux (no stonesense, df2mc, dfusion) 2012-02-09 03:07:26 +01:00
Quietust 9afcea3deb In all loops that iterate across a vector, use a size_t as the index 2012-01-31 10:55:38 -06:00
Quietust 9a683ffda4 Switch some World module stuff to read out of appropriate df::global vars, and fix setPauseState to only write a byte instead of a dword 2012-01-24 21:51:17 -06:00
Alexander Gavrilov ea790f1346 Move a few functions into the core, and add some more. 2012-01-08 20:02:12 +04:00
Alexander Gavrilov 07ad9ad972 Add persistent data storage in fake historical figure names. 2012-01-07 19:21:31 +04:00
Petr Mrázek 78a98de37e Fix MSVC builds, break buildings :D 2012-01-05 23:39:14 +01:00
Petr Mrázek 86464b99cc Remove DfVector, break MSVC builds until further notice. 2012-01-04 01:45:11 +01:00
Petr Mrázek 9db20bd84d Header changes/cleanup. 2011-12-31 12:48:42 +01:00
Petr Mrázek d65f5596cb Ported mode, probe. Some changes required for that. 2011-07-25 10:14:58 +02:00
Matthew Cline a923d19f76 Get game's current world save folder
Use World::ReadWorldFolder() to get "region1" (or whatever it currently
is).  Only have offset for Linux.
2011-07-16 16:00:50 -07:00
Petr Mrázek 367d79bcfa Weather plugin to mirror the weather tool. 2011-07-07 10:57:57 +02:00
Petr Mrázek 56a409d9a4 sync, some map data structures, commented out some dead code 2011-07-06 11:13:36 +02:00
Petr Mrázek e0fb8f7c81 Crud removal: Context is gone. Added missing FakeSDL.h 2011-06-17 15:02:43 +02:00
Petr Mrázek 93be1eb1fb Yay, kittens! Also some license cleanup, IO thread usage, more SDL wrapping and ability to run reveal from DFHack console. 2011-06-16 23:53:39 +02:00
Petr Mrázek 81d648dfa7 First 'working' DFHack inside DF, for 'some' values of 'working'. 2011-06-12 23:17:40 +02:00
Petr Mrázek bb04aa1a32 Linux header cleanups. Windows side will follow. 2011-04-10 10:19:15 +02:00
Petr Mrázek 1a1a28ee3d World module offsets for windows 31.22 2011-03-25 03:27:07 +01:00
Petr Mrázek fe92edfb4e No more generated config files. 2011-03-20 06:20:23 +01:00
Petr Mrázek a6c724bfb5 Module rearrangement and doxygen documentification. API break. 2011-03-18 11:09:26 +01:00
Petr Mrázek b94ddf50d0 Eliminated silly dependency cascade within the library. Some documentation tweaks. 2011-03-18 08:53:59 +01:00
Petr Mrázek 267bc1d446 Game/Control mode improvements. Use dfposition to check them. 2011-03-01 22:18:26 +01:00
Petr Mrázek b1061d0f94 Game mode reading, removed some include paths 2011-03-01 06:59:23 +01:00
Petr Mrázek 3592748a50 Bits and pieces 2010-09-16 15:09:42 +02:00
Petr Mrázek f1307d9f13 Added a common exception for DFHack, made World and Position use it for feature detection. 2010-09-01 18:03:52 +02:00
thewonderidiot 988b1d8692 Added support for reading and setting the weather.
Signed-off-by: Mike Stewart <thewonderiidot@gmail.com>
2010-09-01 11:22:19 -04:00
Petr Mrázek 95abf6e605 All the modules *should* now use the new offset storage properly. Maybe, needs testing :) 2010-08-30 00:08:17 +02:00
Petr Mrázek 1bceac2343 Rename memory_info and its factory class. 2010-08-20 14:10:05 +02:00
Petr Mrázek 1645df7088 Some offsets for 0.31.04, bugfixes 2010-06-06 00:56:09 +02:00
Petr Mrázek 04b71f154c Fun and games. Also turning old DFWindow class into a module tracked by Context. 2010-05-26 12:24:45 +02:00
Petr Mrázek 966a145b3e Moving stuff around, part 3 2010-05-26 08:42:09 +02:00
Petr Mrázek b710ed687a Moving stuff around, part 2 2010-05-26 06:48:23 +02:00