Xawotihs
3514476812
- Created a GamePhase type to ease debug.
...
- Modified the testsuite and gameobserver to be able to replay all the testcases based on the actions logged during the first pass. This allows to test the action logging and replay used during undo. It's only activated in multithreaded mode and it does not work on Momir tests.
- Modified choice logging and replay to use menuId instead of ability index, as, for some obscur reasons related to Lord, those ability indexes may change.
- Fixed bug in nextphase logging wrongly generating click actions
- Added a "stack" zone to the click ability logging to be able to replay properly interrupt
- Fixed a wonderful bug mixing card names with zone names in the actions execution engine
- Added a "combatok" action logging/execution
- Added a "clone" virtual method to MTGCardInstance and Token to be able to clone correctly the right object type. Used that in MTGGameZones::removeCard
2011-11-29 21:50:16 +00:00
..
2011-10-26 22:14:12 +00:00
2011-11-29 21:50:16 +00:00
2011-11-23 19:11:48 +00:00
2011-11-19 14:07:57 +00:00
2011-09-20 03:06:06 +00:00
2011-11-06 17:31:44 +00:00
2011-11-06 17:31:44 +00:00
2011-11-19 14:07:57 +00:00
2011-10-01 13:30:30 +00:00
2011-01-21 18:01:14 +00:00
2011-11-29 21:50:16 +00:00
2011-04-22 13:12:36 +00:00
2011-09-01 20:03:26 +00:00
2011-10-01 13:30:30 +00:00
2011-01-21 18:01:14 +00:00
2011-10-13 12:25:58 +00:00
2011-08-21 09:04:59 +00:00
2011-10-01 13:30:30 +00:00
2011-10-01 13:30:30 +00:00
2011-09-20 11:32:24 +00:00
2011-07-29 17:43:45 +00:00
2011-10-02 09:05:39 +00:00
2011-10-02 14:11:30 +00:00
2011-01-21 18:01:14 +00:00
2011-01-21 18:01:14 +00:00
2011-01-28 06:00:51 +00:00
2011-11-23 19:11:48 +00:00
Resuming on my threading support work with the card caching mechanism. This change unfortunately touches quite a few files, but I needed to get it out of the way before things got out of hand: one significant hurdle is the assumed lifetime of a JQuad pointer. In a single threaded model, the life time of the pointer is clear: you fetch it into the cache, the cache makes room, you use the pointer immediately. In a multithreaded context however, it's unsafe, as the drawing thread can request a few JQuads, and the cache operating on a separate thread can potentially bounce a JQuad out of the cache before the draw routine is done using it, which ends up in an access violation when you attempt to draw using an invalidated quad pointer. To prevent this, the bulk of this change swaps out the use of naked JQuad* pointers in the code with a JQuadPtr, which is basically a typedef to a boost shared_ptr<JQuad>.
2011-02-01 10:37:21 +00:00
2011-06-03 20:01:50 +00:00
2011-05-06 06:40:00 +00:00
2011-02-10 17:19:11 +00:00
2011-11-23 19:11:48 +00:00
2011-01-21 18:01:14 +00:00
2011-11-09 14:27:56 +00:00
2011-10-26 22:14:12 +00:00
2011-11-29 21:50:16 +00:00
2011-10-02 01:03:45 +00:00
2011-09-04 02:45:18 +00:00
2011-09-06 21:08:25 +00:00
2011-10-13 12:25:58 +00:00
2011-11-23 19:11:48 +00:00
2011-08-21 09:04:59 +00:00
2011-01-21 18:01:14 +00:00
2011-08-14 18:13:28 +00:00
2011-01-21 18:01:14 +00:00
2011-01-21 18:01:14 +00:00
2011-10-01 13:30:30 +00:00
2011-10-01 13:30:30 +00:00
2011-10-01 13:30:30 +00:00
2011-10-01 13:30:30 +00:00
2011-10-01 13:30:30 +00:00
2011-10-01 13:30:30 +00:00
2011-10-01 13:30:30 +00:00
Resuming on my threading support work with the card caching mechanism. This change unfortunately touches quite a few files, but I needed to get it out of the way before things got out of hand: one significant hurdle is the assumed lifetime of a JQuad pointer. In a single threaded model, the life time of the pointer is clear: you fetch it into the cache, the cache makes room, you use the pointer immediately. In a multithreaded context however, it's unsafe, as the drawing thread can request a few JQuads, and the cache operating on a separate thread can potentially bounce a JQuad out of the cache before the draw routine is done using it, which ends up in an access violation when you attempt to draw using an invalidated quad pointer. To prevent this, the bulk of this change swaps out the use of naked JQuad* pointers in the code with a JQuadPtr, which is basically a typedef to a boost shared_ptr<JQuad>.
2011-02-01 10:37:21 +00:00
2011-10-01 13:30:30 +00:00
2011-10-01 13:30:30 +00:00
2011-07-04 19:09:19 +00:00
2011-11-13 22:36:34 +00:00
2011-10-13 12:25:58 +00:00
2011-04-28 07:49:51 +00:00
2011-08-14 14:42:37 +00:00
2011-10-13 12:25:58 +00:00
2011-11-29 21:50:16 +00:00
2011-08-07 04:01:56 +00:00
2011-11-29 21:50:16 +00:00
2011-10-13 12:25:58 +00:00
2011-11-29 21:50:16 +00:00
2011-11-23 19:11:48 +00:00
2011-10-26 22:14:12 +00:00
2011-01-21 18:01:14 +00:00
2011-11-19 14:07:57 +00:00
2011-10-01 14:24:07 +00:00
2011-03-13 21:19:02 +00:00
2011-04-23 08:43:34 +00:00
2011-04-20 07:50:00 +00:00
2011-01-21 18:01:14 +00:00
2011-11-29 21:50:16 +00:00
2011-11-19 14:07:57 +00:00
2011-01-21 18:01:14 +00:00
2011-06-02 05:33:45 +00:00
2011-10-01 13:30:30 +00:00
2011-08-14 18:09:02 +00:00
2011-04-29 17:30:57 +00:00
2011-04-20 07:50:00 +00:00
2011-01-21 18:01:14 +00:00
2011-09-01 20:03:26 +00:00
2011-11-29 21:50:16 +00:00
2011-11-13 22:36:34 +00:00
2011-06-04 16:22:45 +00:00
2011-09-04 23:13:22 +00:00
2011-01-28 06:00:51 +00:00
2011-09-17 21:27:36 +00:00
2011-01-21 18:01:14 +00:00
2011-05-16 23:19:08 +00:00
2011-11-19 14:07:57 +00:00
2011-10-01 13:30:30 +00:00
2011-11-23 19:11:48 +00:00
2011-10-01 13:30:30 +00:00
2011-11-29 21:50:16 +00:00
2011-01-28 06:00:51 +00:00
2011-10-01 13:30:30 +00:00
2011-11-29 21:50:16 +00:00
2011-01-21 18:01:14 +00:00
2010-02-27 18:49:03 +00:00
2011-11-06 19:58:23 +00:00
2011-11-29 21:50:16 +00:00
2011-04-20 06:27:44 +00:00
Resuming on my threading support work with the card caching mechanism. This change unfortunately touches quite a few files, but I needed to get it out of the way before things got out of hand: one significant hurdle is the assumed lifetime of a JQuad pointer. In a single threaded model, the life time of the pointer is clear: you fetch it into the cache, the cache makes room, you use the pointer immediately. In a multithreaded context however, it's unsafe, as the drawing thread can request a few JQuads, and the cache operating on a separate thread can potentially bounce a JQuad out of the cache before the draw routine is done using it, which ends up in an access violation when you attempt to draw using an invalidated quad pointer. To prevent this, the bulk of this change swaps out the use of naked JQuad* pointers in the code with a JQuadPtr, which is basically a typedef to a boost shared_ptr<JQuad>.
2011-02-01 10:37:21 +00:00
2011-11-09 14:27:56 +00:00
2011-01-30 11:14:36 +00:00
2011-01-21 18:01:14 +00:00
2011-10-09 05:51:45 +00:00
Resuming on my threading support work with the card caching mechanism. This change unfortunately touches quite a few files, but I needed to get it out of the way before things got out of hand: one significant hurdle is the assumed lifetime of a JQuad pointer. In a single threaded model, the life time of the pointer is clear: you fetch it into the cache, the cache makes room, you use the pointer immediately. In a multithreaded context however, it's unsafe, as the drawing thread can request a few JQuads, and the cache operating on a separate thread can potentially bounce a JQuad out of the cache before the draw routine is done using it, which ends up in an access violation when you attempt to draw using an invalidated quad pointer. To prevent this, the bulk of this change swaps out the use of naked JQuad* pointers in the code with a JQuadPtr, which is basically a typedef to a boost shared_ptr<JQuad>.
2011-02-01 10:37:21 +00:00
2011-08-21 09:04:59 +00:00
2011-10-02 09:05:39 +00:00