Alexander Gavrilov
9e81d27cd1
Implement the same random generator as DF uses for DFHack.
2013-09-30 19:46:39 +04:00
expwnent
b4092f62e6
New module: Once. Intended to help prevent debug error message spam.
2013-03-23 22:38:33 -04:00
expwnent
fa78d6ccfc
Merge branch 'recent' into eventManager-unstable
...
Conflicts:
library/modules/Job.cpp
2013-01-02 03:16:45 -05:00
expwnent
747723187f
EventManager: first draft.
2012-12-14 21:05:38 -05:00
jj
ebc2625d97
ditch the unused Vegetation module
2012-12-06 23:47:25 +01:00
Quietust
e2b9b703a0
Get rid of tabs
2012-11-16 15:33:36 -06:00
Alexander Gavrilov
012d22fa4f
Add a script for manipulating binary patches at runtime, and some patches.
2012-11-11 17:24:13 +04:00
Alexander Gavrilov
7224c8746a
Print the new md5 hash after modification in binpatch.
2012-10-08 16:47:52 +04:00
Alexander Gavrilov
408f0cb06e
Add a small stand-alone utility for managing binary patches.
2012-10-08 12:10:02 +04:00
Timothy Collett
24b93ea61f
Library location fixing script
2012-09-13 14:58:52 -04:00
Alexander Gavrilov
b8ee52131b
Add a module for painting tiles into the gps global.
2012-08-19 09:31:09 +04:00
Alexander Gavrilov
236ffd578b
Add experimental support for interposing vmethods of known classes.
...
The hairiest bit is the abuse of compiler-specific pointer-to-member
internals in order to provide more or less transparent API.
2012-08-17 22:40:53 +04:00
Petr Mrázek
1c9194d1c4
While installing scripts, do not copy ~ files.
2012-07-12 02:24:32 +02:00
Timothy Collett
421e5fd82c
Swap order of includes to work around silly compiler/assembler bug on OS X
2012-07-02 11:02:48 -04:00
Timothy Collett
9c35e9fa59
Ensure that the appropriate libz.dylib is used
2012-06-14 13:43:03 -04:00
Timothy Collett
0ced9d9941
Hopefully fix DFHack's attempt to pull libstdc++ from somewhere silly (for portability)
2012-06-14 09:56:20 -04:00
Timothy Collett
6d65683b02
Adjust packaging for Mac
2012-05-29 16:12:35 -04:00
Timothy Collett
20a00f53c4
When built with the right compiler, we don't need any Obj-C code.
2012-05-29 14:44:37 -04:00
Timothy Collett
7ec0fd6fc0
Trying to set up an autorelease pool, but not yet succeeding.
2012-05-26 16:08:15 -04:00
Timothy Collett
1dd4cc5667
More work on getting dfhack building & compiling on Mac OS X
2012-05-25 14:28:59 -04:00
Timothy Collett
44c3afc306
Merge git://github.com/quietust/dfhack
...
Gotta get the changes that prevent DFHack from crashing.
2012-05-24 15:39:11 -04:00
Timothy Collett
7e88631698
Trying a different method now (with install_name_tool)
2012-05-24 15:02:53 -04:00
Timothy Collett
24d221052b
Initial changes to get dfhack building on the Mac
2012-05-24 11:31:20 -04:00
Quietust
2b862655b7
Allow compiling RelWithDebInfo on Windows
2012-05-23 13:38:16 -05:00
Alexander Gavrilov
3bd44e5367
Move some things that won't work in dfhack-client to a separate file.
2012-05-05 21:07:18 +04:00
Alexander Gavrilov
d4d6349f48
Expose builtin commands to dfhack-run, and add lua script support.
...
Move builtin command implementation to Core methods, and fall
back to hack/scripts/*.lua for otherwise unrecognized commands.
2012-05-04 19:47:18 +04:00
Alexander Gavrilov
16ee049664
Split off the burrows api from Maps and Units.
2012-04-26 12:56:28 +04:00
Alexander Gavrilov
2640addf49
Split LuaTools.cpp to separate core utils from general dfhack api.
2012-04-06 18:00:54 +04:00
Petr Mrázek
209b261284
Get rid of MALLOC_FILL build option
2012-04-01 00:30:42 +02:00
Alexander Gavrilov
0f41608ed4
Pull console output support and REPL out of dfusion into core lib.
2012-03-31 15:40:54 +04:00
Alexander Gavrilov
17ff235c81
Use codegen.out.xml instead of static.inc in cmake code generation rules.
...
Now only that file is guaranteed to always be overwritten.
2012-03-29 10:59:54 +04:00
Alexander Gavrilov
517b2ffadb
Merge remote-tracking branch 'peterix/master'
2012-03-24 16:30:07 +04:00
Petr Mrázek
8a847dbaba
Tweaks and cleanups
...
Removed t_virtual.
Made lua use C++ compiler
Removed many silly exception types from Error.h and renamed the rest.
Removed Brush classes from tiletypes plugin.
2012-03-24 12:13:51 +01:00
Alexander Gavrilov
d865d54a90
Split LuaWrapper.cpp into two files.
2012-03-24 13:25:10 +04:00
Alexander Gavrilov
73e138c9fd
Support ordinary struct and class fields.
2012-03-20 21:34:27 +04:00
Alexander Gavrilov
dbbd9acfad
Export the type tree with enum keys to lua.
2012-03-19 20:12:27 +04:00
Alexander Gavrilov
296d3a0af3
Skeleton type metadata for future use in lua bindings.
2012-03-19 16:59:11 +04:00
Alexander Gavrilov
15ccfbb086
Add a ListMaterials remote call for bulk download of basic material info.
2012-03-17 15:36:42 +04:00
Alexander Gavrilov
14d6a62e1d
Move CoreService to a separate file.
2012-03-17 12:09:30 +04:00
Alexander Gavrilov
605ee9669a
Plugin-exported functions now actually work.
2012-03-15 14:06:50 +04:00
Alexander Gavrilov
e7851f5abd
Improve support for void RPC functions, dfhack-run, etc.
2012-03-15 11:07:43 +04:00
Alexander Gavrilov
560e977f05
Implement trivial RPC interface for dfhack via TCP & protobufs.
...
Use it to make an executable capable of calling commands remotely.
2012-03-14 19:57:29 +04:00
Petr Mrázek
9079ffa4ff
Add clsocket as a dependency for dfhack lib.
2012-03-13 17:10:46 +01:00
Petr Mrázek
eb4757043b
Move depends out of main library, make them (static) libraries.
2012-03-13 14:46:48 +01:00
Alexander Gavrilov
b2737e2bed
Pull out a colored text output interface out of the Console class.
2012-03-10 13:29:33 +04:00
Alexander Gavrilov
75c569b097
Add some experimental message definitions to the main library.
2012-03-09 21:42:22 +04:00
Alexander Gavrilov
edf77cf270
Link protobuf to dfhack core as a shared library.
...
- Change protobuf libraries to build as DLLs.
- Move some stream features to the lite library.
- Install the lite library and use it from dfhack.
Note that:
- A couple of protobuf headers had to be tweaked.
- The lite library is used because the full one is
absolutely incompatible with reloading plugins.
- Shutting down protobuf also can't be allowed.
2012-03-09 19:46:21 +04:00
Petr Mrázek
a45fc82743
First pass at windowing, track df2mc, stonesense
2012-03-05 01:34:04 +01:00
Petr Mrázek
731472a478
Add eggy hooks (linux only for now)
2012-02-28 03:37:56 +01:00
Petr Mrázek
8afafd0430
Get rid of ntdll, update stonesense
2012-02-25 22:59:32 +01:00
Petr Mrázek
2b761e450f
Add the init file to builds, mention it in readme.
2012-02-23 08:57:11 +01:00
Petr Mrázek
ed53ee7031
Update to use the new symbols file.
2012-02-11 19:24:44 +01:00
Petr Mrázek
8f680dcf94
Make it build and run on linux (no stonesense, df2mc, dfusion)
2012-02-09 03:07:26 +01:00
Petr Mrázek
2ff994c18f
Make perl executable tweakable.
2012-02-04 03:43:14 +01:00
Petr Mrázek
22aeb6e2ac
Added linkage to libdl, fix for mode.
2012-02-01 04:12:15 +01:00
Mike Stewart
494a4202df
Added Google Protocol Buffers to the library dependencies folder (though nothing yet depends on it). This definitely works in Linux, but needs checking in Windows.
2012-01-19 14:44:01 -08:00
Alexander Gavrilov
f5e121a196
Move a bunch of stuff from the jobutils plugin into the core.
2012-01-07 19:21:07 +04: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
Alexander Gavrilov
d513e75365
Use the updated code generator with support for vtables & constructors.
2011-12-29 16:46:01 +04:00
Alexander Gavrilov
79ac2a781a
Add infrastructure necessary to use the generated headers.
...
As a usage example, allow toggling water level display and idlers,
and implement a ui tweak for easily copying stockpiles.
Also disable df2mc by default - default options shouldn't
require anything not in the base package.
2011-12-24 14:51:58 +04:00
Alexander Gavrilov
0b5a470a38
Add header generation from xml.
2011-12-24 14:38:28 +04:00
Petr Mrázek
647916e109
Graphic module
2011-12-07 20:37:09 +01:00
Petr Mrázek
f7d78539d3
Renaming Creatures to Units
2011-12-02 10:56:40 +01:00
Petr Mrázek
2c27119d85
Set CXXFLAGS properly to ensure compatibility with i686 systems.
2011-11-06 21:16:16 +01:00
Petr Mrázek
a29bb4578f
Move kitchen exclusion module methods to a source file.
2011-10-30 03:20:54 +01:00
Petr Mrázek
83ae8d6c12
Creature likes (at least the structures are back), malloc wrapper that sets memory to 0xCC.
2011-09-25 01:29:55 +02:00
Petr Mrázek
d2d4ce898d
Added weather plugin info to readme, option to make the console not catch 'CTRL+C' on linux.
2011-08-18 22:09:30 +02:00
Petr Mrázek
a0f99ef707
Many tweaks to plugins, reorganized the build system and removed more cruft.
2011-08-14 08:42:21 +02:00
Petr Mrázek
262e915b93
Make building DFusion optional.
2011-07-30 22:08:24 +02:00
Petr Mrázek
9cf69164ed
BitArray implementation, now used in Maps for the flags.
2011-07-30 16:47:49 +02:00
Petr Mrázek
2470e564a9
Linux-side of threading function rewrite. Windows=broken.
2011-07-27 05:59:09 +02:00
Matthew Cline
86577d4f8a
Notes module
...
Gets a vector of pointers to note structs
2011-07-20 18:26:52 -07:00
Petr Mrázek
9025066a2b
Added SDLreal.dll on windows.
2011-07-16 10:32:18 +02:00
Petr Mrázek
fd418cd2dc
cmake cleanup in library/
2011-07-16 07:59:36 +02:00
Petr Mrázek
0af631aaa3
And nuke the rest of linenoise...
2011-07-14 12:28:41 +02:00
Petr Mrázek
a40153a8e1
Merge pull request #98 from matthew-cline/TOPIC-vermin
...
Vermin module and colonies plugin
2011-07-13 04:24:38 -07:00
Petr Mrázek
630b746cfe
Integrate linenoise into Console - Linux part
2011-07-13 11:45:30 +02:00
Matthew Cline
d1170d54c3
Vermin module and colonies plugin
...
This is the start of the vermin module. Right now it just gets a list
of the positions at which vermin are created (spawn points). Most
spawn points are invisible and transient, but colonies (ant hills and
such) are permanent and visible. The address of the spawn points vector
is only provided for Linux 0.31.25
The colonies plugin uses the vermin module to list the location and
species of colonies, and can either wipe them all out or turn them all
into honey bee colonies.
2011-07-12 23:17:51 -07:00
Matthew Cline
a30a4a2720
CMake linux: copy LD_PRELOAD script
...
Copy package/linux/dfhack to the games directory; it's the same as the
normal df script, but sets LD_PRELOAD properly.
Also, CMAkeLists.txt now checks to see that the output directory is set
to the game directory, and fatally fails if it isn't.
2011-07-12 17:25:27 -07:00
Petr Mrázek
3a67a4d3c7
Added linenoise library to allow line editing in the terminal.
2011-07-12 12:13:14 +02:00
Petr Mrázek
d894ef0ffa
Hotkey UI for linux.
2011-07-09 11:33:58 +02:00
Petr Mrázek
65d7278f53
Added a bunch of butchered SDL headers, catching SDL events on linux.
2011-07-08 03:55:37 +02:00
Petr Mrázek
6fd7d42f00
Plugin manager, reworked kittens and reveal.
2011-06-25 05:35:29 +02:00
Petr Mrázek
857decbcce
Plugins go into a folder, disabled console close button on windows because of bugs.
2011-06-22 18:04:22 +02:00
Petr Mrázek
f8cdd95b09
Console revamp - linux part.
2011-06-22 08:14:21 +02:00
Petr Mrázek
c6dc4900d2
Very basic plugin system.
2011-06-20 04:29:38 +02:00
Petr Mrázek
f2b91d3269
Making ready for adding plugins. Fixes all over the place, more removal of obsolete parts.
2011-06-20 01:12:07 +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
7136ac7aa4
Get rid of the stdint.h garbage and use the real header.
2011-06-15 17:35:47 +02:00
Petr Mrázek
22b79bb46e
Now works on Windows again, some more cleanups, added a singleton Core object for holding all the globals.
2011-06-14 16:13:28 +02:00
Petr Mrázek
0a428b509e
Vegetation module becomes rather skeletal.
2011-06-13 21:11:02 +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
07bb0408c1
Fix memory.xml and pdcurses.dll copy problems for good.
2011-05-26 12:33:38 +02:00
Petr Mrázek
e5e0391d76
stop dfstatus from wasting time. added 'stopwatch.h' to extras for getting accurate unix time in milliseconds
2011-05-21 21:54:53 +02:00
Petr Mrázek
bb99924b24
Curses support across platforms!
2011-05-21 20:32:53 +02:00
Petr Mrázek
d4e2850768
Make C-wrapper compile times less ridiculous.
2011-04-10 10:50:32 +02:00
Petr Mrázek
4cfc12b52b
Engravings module.
2011-04-03 00:15:47 +02:00
doomchild
cb88d59358
uncommented C process wrappers
2011-03-31 13:56:12 -05:00