Commit Graph

332 Commits (d96578a3b4a47351c4b942e3381cd095d27bcb54)

Author SHA1 Message Date
Petr Mrázek eccdc6896e Fix argstream.h 2010-03-30 04:43:06 +02:00
Petr Mrázek 71fc49897f Accelerated creatures work on Windows
Refactored vector reading, proper length of vectors from MSVC9 is known (0x18, triplet starts at 0xC)
2010-03-30 02:26:52 +02:00
Petr Mrázek 85d347442d Accelerated reading of creatures 2010-03-28 17:22:15 +02:00
Petr Mrázek 6522d0c498 Even more fixes for random crashes in some less common cases (DF in the menu, etc...) 2010-03-26 13:38:49 +01:00
Petr Mrázek 4d939363b5 Many fixes to DFHack tools and examples 2010-03-26 13:01:46 +01:00
Petr Mrázek 517aa0e6e3 Merge branch 'master' of git://github.com/Zhentar/dfhack
Conflicts:
	examples/CMakeLists.txt
	library/DFHackAPI.cpp

Also added offsets for all supported versions
2010-03-26 02:40:17 +01:00
Petr Mrázek f0edb0c33d Map block flags added to the API
Added a RAMP_TOP tile shape, ramp characters for veinlook
Merged in the magma_create util by Aleric, tweaked it a bit, made it use the block flags
2010-03-26 00:42:07 +01:00
Petr Mrázek dbeb342c6a Make the python wrapper compile again 2010-03-25 22:13:56 +01:00
Petr Mrázek 822265443c Make the API a bit saner about the used data types and structures 2010-03-25 21:37:09 +01:00
Petr Mrázek 13fcdb8b8f Fix one more InitReadNames call 2010-03-23 00:37:35 +01:00
Petr Mrázek efadfe98b2 Add some more exception handling to InitRead API methods 2010-03-23 00:35:23 +01:00
Zhentar 4287abbc94 Add pregnancy and blood stuff to the creature struct 2010-03-21 15:47:24 -05:00
Petr Mrázek 71f8474e11 Added reading/writing support for effects like mist
Veinlook shows effects for it's middle block
Veinlook now uses wide-character ncurses
2010-03-20 17:30:13 +01:00
Petr Mrázek c283197b71 Flush input in veinlook, so it doesn't 'lag' so bad 2010-03-18 20:05:32 +01:00
Petr Mrázek d2afd21318 Stop synchronous suspend from eating CPU cycles.
Untested on windows.
Breaks the SHM protocol. New SHM server library is required.
2010-03-18 19:55:01 +01:00
Petr Mrázek df4de4a333 Detach in API destructor 2010-03-16 22:12:05 +01:00
belal a2eb3a6892 add iostream to DFProcess.h include, std:: prefix to the output line, DT was getting mad about them not being defined 2010-03-14 20:28:36 -04:00
Petr Mrázek e4dc165954 Merge branch 'shm-multi' 2010-03-14 23:17:54 +01:00
Petr Mrázek 5fe279d8ec Added a cache mechanism to vtable lookups
Fixed python bindings (build, not actual functionality)
Fixed building subtypes on linux
2010-03-14 22:58:28 +01:00
belal 12abef8ace used different creature vector than before, this is the correct one, the old one was missing some creatures, and the current_creature index was not right, also found the offsets for mood and artifacts for 40d
Everything should work now from 40d,40d2->40d19 on windows, linux was already done before

I also modified creaturedump.cpp to show mood and aritifacts if a creature has one, also the mood is now a int rather than a uint, as we check for -1
2010-03-14 13:21:52 -04:00
Petr Mrázek 310669737e Port multiple client SHM to Windows 2010-03-13 17:44:36 +01:00
belal 0582354191 Merge remote branch 'remotes/peterix/master' into version_compatiblity
trying merge

Conflicts:
	examples/creaturedump.cpp
	output/Memory.xml
2010-03-13 08:45:30 -05:00
Petr Mrázek 834a64c282 Fix horrible race conditions in suspend and resume 2010-03-12 18:29:11 +01:00
belal 791ac8dd75 modify the renamer and creature dump to output the new current cursor creature code 2010-03-12 09:21:45 -05:00
Petr Mrázek 0dd14bb9c8 Cosmetic changes, really 2010-03-12 12:14:20 +01:00
Petr Mrázek 9d503515dd Another try at locking 2010-03-12 00:13:50 +01:00
belal e500b13533 offsets are all correct for 40d, creature offsets are not constant all the way back to 38.a, so more work needs to be done there
This could probably be used in stonesense as it is though, all the map data is correct
2010-03-10 21:24:31 -05:00
belal 3ae8b56a49 Addresses all the way back to 173.38a, not checked yet, and offsets may have changed in the versions, but it is a start!
Also changing the current_creature offset, have to make sure what I changed it to is in the d# releases, but I think it is

This branch is still a work in progress
2010-03-09 22:05:31 -05:00
Petr Mrázek 62ae8df573 per-process file locks on linux (stored in /tmp/DFHack/PID/)
minor signed/unsigned fix
2010-03-09 21:25:17 +01:00
Petr Mrázek 5c4ef73f4d Merge branch 'shm-only' 2010-03-09 15:31:44 +01:00
Petr Mrázek 7207996940 Prevent windows process enumerator from listing the same process twice 2010-03-09 15:21:53 +01:00
Petr Mrázek f0087926c5 Revert "Nuked many Process classes. Only SHM remains. We'll see how it goes :)"
This reverts commit b3424418e6.

Conflicts:

	library/DFProcess-linux-SHM.cpp
	library/DFProcess-windows-SHM.cpp
	library/DFProcess.h
	library/DFProcessEnumerator-linux.cpp
	library/DFProcessEnumerator-windows.cpp

Minor manual changes were required.
2010-03-09 15:15:15 +01:00
Petr Mrázek 3e581908c1 Each DF process on windows now has unique mutex and shm names. 2010-03-09 13:41:55 +01:00
Petr Mrázek 9d7574dafe DF disappeared exception 2010-03-09 03:30:22 +01:00
Petr Mrázek 1c499121e6 Fixes to memory.xml, name reading 2010-03-08 18:27:19 +01:00
Petr Mrázek b1a15b6fb3 Merge branch 'version_compatiblity' of git://github.com/belal/dfhack 2010-03-08 14:52:40 +01:00
Petr Mrázek e5c3ed9ad3 Fix python and a gcc syntax error 2010-03-08 14:50:32 +01:00
Petr Mrázek d2c84df4c8 Merge branch 'master' of git://github.com/Zhentar/dfhack into mergeb
Conflicts:
	library/DFHackAPI.cpp
2010-03-08 13:56:32 +01:00
Petr Mrázek 36a6f1f0a4 mod-core rework
squashed some init commands together
fixed a problem with non-atomic shm command reading on the DF side that caused segfaults
2010-03-08 07:31:12 +01:00
Zhentar 052dd53c03 Further cleanup for name stuff; fixing examples that I broke and handling settlements. Also added mood, so that it can be determined whether or not the dwarf's artifact was created. 2010-03-07 20:01:30 -06:00
belal 0c8c1d0eec Modified Memory.xml to support all d# versions, modified Vtable meminfo reading, so it auto-resolves all vtables now, so you should never have to do any rebasing or anything. Fixed some bugs in windows meminfo as well 2010-03-07 21:00:31 -05:00
Petr Mrázek 90baaad19b Allow recognizing multiple DF SHM processes by the client 2010-03-08 01:54:46 +01:00
Petr Mrázek 60a1da0923 d19_2 support, building vtables, some minor bugfixes
tested with stonesense
2010-03-06 21:21:01 +01:00
Petr Mrázek 96512a7e1d Linux d19 support 2010-03-05 22:19:27 +01:00
Petr Mrázek 958ca0e384 Some map module bits 2010-03-05 16:06:02 +01:00
Zhentar 65bf8f69fd Proper-fy name handling for creatures. For surnames and such, official DF logic is used. 2010-03-05 00:02:41 -06:00
Petr Mrázek 9aedc56186 A waitWhile method copy turned into wrapper 2010-03-05 02:45:53 +01:00
Petr Mrázek 8e8d320a0b Don't build SHM on 64bit, makes no sense
Added origin to mapblock40d
2010-03-05 01:26:39 +01:00
Petr Mrázek 798ce9fb0a CR-LF mess 2010-03-05 00:55:57 +01:00
Petr Mrázek c86464502c SHM rework, stage 2 2010-03-05 00:05:01 +01:00
Petr Mrázek 6e69dcdeed Use sched_yield depending on CPU affinity 2010-03-04 04:40:06 +01:00
Petr Mrázek 0192520d43 SHM rework, stage 1 2010-03-03 05:43:38 +01:00
Petr Mrázek b3424418e6 Nuked many Process classes. Only SHM remains. We'll see how it goes :) 2010-03-02 01:18:34 +01:00
Petr Mrázek 9f7609de65 GCC exception fix 2010-03-01 01:21:54 +01:00
Petr Mrázek 0a23757797 Merge branch 'errorhandling' of git://github.com/mizipzor/dfhack 2010-03-01 01:13:07 +01:00
mizipzor 160992ec9c added exceptions to meminfomanager 2010-02-28 21:44:14 +01:00
Petr Mrázek c4cb3afd0b Fix for Windows exceptions 2010-02-28 19:59:07 +01:00
Petr Mrázek fa878f2e9d Fix terrible Linux SHM performance on single-core 2010-02-28 18:08:44 +01:00
Petr Mrázek 05250b4eb5 Make Linux Process validation not fail with MissingMemoryDefinition 2010-02-28 06:21:50 +01:00
mizipzor c13e37adf6 Merge branch 'master' of git://github.com/peterix/dfhack into errorhandling 2010-02-28 05:52:48 +01:00
Petr Mrázek f4f566e7c4 Fixed exceptions on GCC
Fixed dfbauxte tool - no longer includes internal headers
Moved part of DFVector into a .cpp file
2010-02-28 05:35:54 +01:00
Petr Mrázek 029f1a6cf8 Merge branch 'errorhandling' of git://github.com/mizipzor/dfhack 2010-02-28 04:26:10 +01:00
Petr Mrázek 7c73c7abe6 CMake swig integration 2010-02-28 04:11:06 +01:00
mizipzor b680af0b26 fixed setting of flags to false in two init functions 2010-02-28 03:45:38 +01:00
mizipzor 6be18fbf20 sprinkled some exceptions over the memory reading 2010-02-28 03:34:54 +01:00
mizipzor 2b1940430f added many MissingAddress exception throws 2010-02-28 02:53:47 +01:00
mizipzor f2dcbc6372 added exceptions to API::ReadGeology and API::InitReadBuildings 2010-02-28 02:50:16 +01:00
mizipzor 19cd686ac4 added exceptions to API::InitMap 2010-02-28 02:37:05 +01:00
mizipzor decb20ef67 Merge branch 'master' of git://github.com/peterix/dfhack into errorhandling 2010-02-28 02:29:29 +01:00
Petr Mrázek cf4042acce Fix header and code desync 2010-02-28 02:07:42 +01:00
Petr Mrázek 7a85682ea0 Many fixes to DFHack::API
Wrapper generation still manual, but makes a lot more sense
2010-02-28 01:25:04 +01:00
mizipzor 4f85f37b01 added some exceptions to handle errors 2010-02-28 01:13:34 +01:00
Petr Mrázek 21a74c0bfa Fix problem with wrapper generation 2010-02-27 16:47:11 +01:00
Petr Mrázek 7805b591dd Sync 2010-02-27 13:24:32 +01:00
Petr Mrázek 562c30c703 Python stuffs 2010-02-26 22:23:43 +01:00
Petr Mrázek 347eb66d21 Changes for better SWIG support 2010-02-26 22:22:10 +01:00
Petr Mrázek 626d266e27 Added GCC visibility support 2010-02-25 23:43:37 +01:00
Petr Mrázek 4509e275ce Tabs to spaces 2010-02-25 17:53:41 +01:00
Petr Mrázek de5b2ecb4e Fixes for crash bugs and memory corruption. 2010-02-25 17:50:52 +01:00
belal a5d42e4051 Code for getting the current and all settlements in the world, currently has offsets for the settlement location, name, and area size. Right now the current settlement causes msvc to claim the heap is corrupted, I think due to the fact that the current_settlement vector only has 1 item in it. I think it may be a bug in the vector code, as my code is basically identical between the current settlement and the other settlements.
Signed-off-by: belal <jimbelal@gmail.com>
2010-02-25 17:50:52 +01:00
Petr Mrázek bdc22b4052 leftovers 2010-02-25 15:33:13 +01:00
Petr Mrázek 49a2f97601 Silly building reading bug fixed 2010-02-25 14:59:29 +01:00
Petr Mrázek eff3462bf9 Less spam! 2010-02-25 14:43:38 +01:00
Petr Mrázek 726519e2ca Major memory_info rework.
All <class> tags and vtable="" attributes in Memory.xml are now obsolete.
<multiclass> tags are still important, but don't need the vtable attrs.
Vtables are resolved automatically.
All this will be left in Memory.xml until utility authors update to this version or newer.
2010-02-25 13:41:57 +01:00
Petr Mrázek 70f22d008e Support for d18 on windows
Also deployment to people who get Memory.xml from git...
Fixed wine process attach bug
2010-02-23 22:29:55 +01:00
Petr Mrázek bb141fe8f6 Linux d18 ncurses support for shm lib
Some boost preparations
2010-02-23 19:26:15 +01:00
Petr Mrázek 1e04722a63 Refactor of memory_info class, now with more d-pointer 2010-02-22 23:34:20 +01:00
Petr Mrázek fbad1cb5a3 Fixed annoying MSVC bug and MSVC warning spam 2010-02-22 00:18:44 +01:00
Petr Mrázek 9300cc48cc Break the debug builds. Bugs must never be hidden. 2010-02-21 18:35:14 +01:00
Petr Mrázek 9268a79a66 Reading of tiletypes under ice - 'ice veins' 2010-02-21 05:51:29 +01:00
Petr Mrázek 3c7c197f7a Removed bogus block flags, added actual dirty bit :) 2010-02-20 16:33:30 +01:00
Petr Mrázek 26568fe5ea Added 'dirty' bit of a block to veinlook, API. 2010-02-20 12:58:52 +01:00
Petr Mrázek 5cfb401d49 Merge branch 'master' of git://github.com/mizipzor/dfhack 2010-02-19 21:41:02 +01:00
mizipzor 7f404483f1 fixed (fix as in hack) crash when std::string was used to store a command line argument 2010-02-19 21:24:20 +01:00
mizipzor adbf4b81b4 updated cmakelists 2010-02-19 20:55:11 +01:00
mizipzor 32e08c6687 removed gopt 2010-02-19 20:52:07 +01:00
mizipzor 34f7894255 one constructor had three compile errors, just commented it out 2010-02-19 20:51:33 +01:00
mizipzor c8b9c36d36 code format 2010-02-19 20:48:46 +01:00
mizipzor 6586bba48c added argstream 2010-02-19 20:48:17 +01:00
mizipzor 7ab1fcd019 added proper exports to gopt.h
renamed gopt.c to gopt.cpp
2010-02-19 19:04:55 +01:00
Petr Mrázek 8e6f528e72 Merge branch 'master' of git://github.com/belal/dfhack 2010-02-19 03:35:36 +01:00
Petr Mrázek f71fef9ef5 Process::readClassName implemented 2010-02-19 02:48:03 +01:00
belal 7ce8935aef Add offsets for versions d9-d17 for windows and linux, windows has been tested, linux has not, but it should be right unless I screwed something up
Signed-off-by: belal <jimbelal@gmail.com>
2010-02-18 15:29:45 -05:00
Petr Mrázek da19d92f16 Asserts into IFs 2010-02-18 21:28:28 +01:00
Petr Mrázek 49cd747a59 Merge branch 'master' of git://github.com/mizipzor/dfhack
Conflicts:
	examples/CMakeLists.txt
2010-02-18 18:45:46 +01:00
mizipzor 3def16e85f added gopt to CMakeLists.txt 2010-02-18 18:31:18 +01:00
mizipzor 7679e48794 fixed compile errors in gopt 2010-02-18 18:25:24 +01:00
mizipzor f0ec4144ed added gopt 2010-02-18 18:23:09 +01:00
Petr Mrázek e9e1d2b8b9 Tabs to spaces 2010-02-18 18:06:32 +01:00
Petr Mrázek 2e02efa8d2 Merge branch 'master' of git://github.com/belal/dfhack 2010-02-18 17:55:43 +01:00
belal 387e1e8794 Finish up code for hotkeys and notes, just need to find offsets for linux versions and windows < d17
Signed-off-by: belal <jimbelal@gmail.com>
2010-02-17 21:08:54 -05:00
Petr Mrázek 42a12ffaec Veinlook now goes to map edges
API change: isValidBlock now checks for map boundaries
API change: added getBlockPtr. It returns a DF pointer to a block.
2010-02-18 02:10:39 +01:00
belal e71f41fd42 test commit of notes-windows d17
Signed-off-by: belal <jimbelal@gmail.com>
2010-02-17 18:33:08 -05:00
Petr Mrázek 2bde06a2af Added veinlook, linux SHM produces less spam messages.
Veinlook is a tool that allows looking at the map and the different vein types it contains. This adds ncurses as a dependency on Linux.
2010-02-17 17:49:19 +01:00
Petr Mrázek 054fec0afc Updated README and COMPILE, split tools into tools and examples.
Tools are now useful, and with a working user interaction where applicable.
Examples are a collection of benchmarks, tests and simple unfinished ideas.
2010-02-16 07:21:38 +01:00
Petr Mrázek 56969fb977 Added std::string read/write by belal. Extremely volatile. 2010-02-16 00:04:15 +01:00
Petr Mrázek 568fcd6105 designation and traffic bits turned into enums 2010-02-14 00:45:46 +00:00
Petr Mrázek a17cb053d4 quick creature API fix 2010-02-13 16:19:11 +00:00
Petr Mrázek a8d35f3724 fake SDL.dll for the SHM bridge now compiles right using the MS compiler 2010-02-13 00:47:08 +00:00
Petr Mrázek de32b65c11 engraving offsets for linux d16, attempt to fix MSVC bugs 2010-02-12 23:25:41 +00:00
Petr Mrázek 63f82cd580 API changes: InitRead* methods made safer - they now return false on error 2010-02-11 21:08:39 +00:00
Petr Mrázek 7fcc4d5e22 resolved a shm suspend/resume bug on windows 2010-02-11 05:10:23 +00:00
Petr Mrázek b1ce815370 massive Memory.xml VTable sections restructure, support for d17 added in Memory.xml, needs testing. shm not updated yet 2010-02-10 00:20:15 +00:00
Petr Mrázek 5b0a03b16d merged itemdesignator and menustate patches 2010-01-18 16:44:24 +00:00
Petr Mrázek 9f1216fa2f fixes 2010-01-11 18:57:57 +00:00
Petr Mrázek 7c784bce32 deadlock-filled windows SHM version 2010-01-11 06:27:59 +00:00
Petr Mrázek ebd14ea1bb copy of linux SHM 2010-01-08 05:56:36 +00:00
Petr Mrázek 4430b43851 windows shm server part 2010-01-08 05:52:37 +00:00
Petr Mrázek a01217f267 fixes 2010-01-05 20:51:58 +00:00
Petr Mrázek 242bf47143 some rearrangement of the shm server part, preparing for the windows port 2010-01-04 05:20:28 +00:00
Petr Mrázek 91f64ac8ba iteration for huge reads and writes, async suspend call for polling 2010-01-02 02:25:21 +00:00
Petr Mrázek a597c69915 make SHM header fixed-size 2010-01-01 23:21:55 +00:00
Petr Mrázek 84c68fb31c fix attach/detach 2010-01-01 22:19:09 +00:00
Petr Mrázek 037d1369cb syntax fixes, some things were out of sync 2010-01-01 02:30:35 +00:00
Petr Mrázek c7c446a33a merged previous patch from belal (things intended for Dwarf Therapist) 2010-01-01 02:14:41 +00:00
Petr Mrázek 117fcce0d9 merged item patch from belal 2010-01-01 01:49:32 +00:00
Petr Mrázek aef02eddce use of memory barriers in the shm server and client code 2009-12-27 03:51:54 +00:00
Petr Mrázek b0d65de269 making stuff a bit more readable 2009-12-25 16:55:10 +00:00
Petr Mrázek de7c2185eb shared memory manipulation is now entirely contained in the SHMProcess class 2009-12-25 02:49:35 +00:00
Petr Mrázek efce0ab21b merge in shm branch 2009-12-22 21:19:39 +00:00
Petr Mrázek 4582e0548b I fail at merging patches ... there's no helping me 2009-12-19 01:10:05 +00:00
Petr Mrázek 3888d0fc06 fixed tons of warnings, removed dependency on xtest 2009-12-13 21:03:19 +00:00
Petr Mrázek e5fa10c268 windows build fix and other small things, Windows 2000 support broken 2009-12-13 19:46:40 +00:00
Petr Mrázek 1d25a995b8 comments, leftovers, fixed repeated character input on linux 2009-12-13 04:43:06 +00:00
Petr Mrázek cb4197f4fc foo 2009-12-13 04:14:44 +00:00
Petr Mrázek 9ea2876203 cleanup in windows version of DFKeys 2009-12-13 04:08:42 +00:00
Petr Mrázek b132228f22 use of synthetic key events on linux 2009-12-13 03:44:29 +00:00
Petr Mrázek 2adfe39f9f give DF a small breathing room for processing X events 2009-12-13 01:39:58 +00:00
Petr Mrázek bb2a455dbb eliminated ugly switch statement from linux DFkeys 2009-12-13 01:24:09 +00:00
Petr Mrázek 63dedc5da3 move t_special to a new file 2009-12-13 00:56:11 +00:00