Commit Graph

72 Commits (3478ee322b9a3b03018562efe7a67edc3a39e45c)

Author SHA1 Message Date
Rasmus Brönnegård 3478ee322b goto: Find a more exact end of path wrt goalRadius
The last segment of the path is shortened to avoid going too close
and risk bumping into the object that it was meant to approach.

The same position could also be found by finding the roots of a second
order polynomial analytically but this solution is simple and sufficient.
2022-02-15 22:46:30 +01:00
Rasmus Brönnegård 2d794d1a32 goto: Handle oversized costs with a special bucket
This is a bit redundant because the current usage of goto
does not trigger it. It can be triggered by:
* increasing goalRadius
* decreasing NUMQUEUEBUCKETS
* decreasing BM_DIM_STEP
* increasing edge costs
2022-02-12 23:35:58 +01:00
Rasmus Brönnegård e38835cfd4 goto with A-star (with bucket queue) 2022-02-12 23:35:58 +01:00
Rasmus Brönnegård 2b8d580355 goto with Dial's algo (Dijkstra's + bucket sort) 2022-02-08 21:14:17 +01:00
Rasmus Brönnegård a7b294025e Rename BeamSearch to PathFindingSearch etc 2022-02-02 20:26:05 +01:00
Rasmus Brönnegård e2d4dd6995 Use ray tracing algorithm in BitmapTestLine 2022-02-02 20:26:05 +01:00
Rasmus Brönnegård d9f3078396 Replace beam search with breadth-first search 2022-02-02 20:26:05 +01:00
tomangelo2 0003494c9e Merge PR #1444 2022-01-29 17:16:57 +01:00
MrSimbax 80f074e2ba Update license headers 2021-09-11 15:53:59 +02:00
Jeff Law ad2e3db92f Fix more dynamic casts for gcc-11
Signed-off-by: suve <veg@svgames.pl>
Jeff's patch was written for the 0.1.12 stable release.
Adapted to work with the "dev" branch (as of commit 13098ee).
2020-09-15 10:20:24 +02:00
tomangelo 37e4ed8029
Updated license headers (#1317)
* Updated headers

* Updated more headers
2020-07-07 10:19:36 +02:00
Fiftytwo 0b9673029d Merge dev into dev-builders and resolve conflicts 2020-05-15 15:06:37 +02:00
Fiftytwo 723c552783 Add Heavy and Amphibious trainer bots 2018-12-23 07:04:06 +01:00
krzys-h 1c2bdc9cab Update license headers 2018-04-20 02:08:50 +02:00
Fiftytwo a024866fd3 Builder bots base implementation 2017-11-16 18:43:45 +01:00
tomangelo2 0de347d430 Fixed goto() behaviour on 32-bit binaries
Closes issue #844
2017-07-26 14:54:04 +02:00
krzys-h 17511ddb6a Fix some code style 2016-12-27 15:54:52 +01:00
krzys-h eb2a1857dc Fix goto() with multiple objects at the exact same position (#732) 2016-12-04 16:07:41 +01:00
krzys-h e24d77bde8 goto() bitmap debugger 2016-03-28 21:42:25 +02:00
krzys-h d38ddcbc41 goto() path debugger 2016-03-28 20:25:07 +02:00
krzys-h 977607a934 Updated license headers 2016-02-13 14:11:30 +01:00
Piotr Dziwinski d11ebc891c Bring to zero some types of issues reported by colobot-lint 2015-10-04 00:09:10 +02:00
Piotr Dziwinski b93f610930 Fix license header in all files 2015-08-22 16:40:02 +02:00
Piotr Dziwinski a63a959dbe Apply clang-modernize -use-nullptr 2015-08-17 22:40:52 +02:00
Piotr Dziwinski 6534978dea Refactor Character::posPower 2015-08-17 21:28:30 +02:00
krzys-h 63bee182d2 Moved SetFixed/GetFixed to CBaseAlien 2015-08-17 13:19:21 +02:00
krzys-h e11d2ec33e Refactor object dying status and GetActive 2015-08-16 20:24:48 +02:00
krzys-h 856c5baa0e Removed CTaskManager 2015-08-15 20:30:15 +02:00
krzys-h 9a15db1bea Split global.h 2015-08-15 14:02:07 +02:00
Piotr Dziwinski efedb44cce Add proper initializations and remove manual memory management in remaining classes
Except CBot-related stuff of course
2015-08-14 23:44:00 +02:00
krzys-h c399e5e246 Somehow missed some more Scraps :/ 2015-08-13 19:53:03 +02:00
krzys-h e937db94c8 Moved GetPhysics() and GetMotion() to CMovableObject; moved trace drawing to CTraceDrawingObject 2015-08-13 10:49:45 +02:00
krzys-h 5d52214737 CFlyingObject; CJetFlyingObject 2015-08-12 19:09:35 +02:00
krzys-h 60797f72d3 Removed some old, unused code 2015-08-12 17:25:41 +02:00
krzys-h f7d2f501bb Moved common interface implementations to separate classes
Additionaly, merged all "inappropariate bot" errors into one and renamed ERR_GENERIC -> ERR_UNKNOWN
2015-08-12 16:54:44 +02:00
Piotr Dziwinski bdeeaf690b Get rid of memsets 2015-08-06 09:37:25 +02:00
Piotr Dziwinski 11b0398c03 Include refactoring
* reordered includes according to correct style
 * removed some unnecessary includes
2015-08-02 17:49:07 +02:00
Piotr Dziwinski d5da68d59a Refactor old Get/SetAngle/Zoom -> Get/SetPartRotation/Scale 2015-07-14 21:35:43 +02:00
Piotr Dziwinski 3ed8980c46 Make CTask classes use COldObject 2015-07-12 14:22:12 +02:00
Piotr Dziwinski 9a7c1961a4 GetPostion(), GetRotation() and GetScale() in CObject interface
Also replace old calls like GetPosition(0) to GetPosition()
2015-07-12 11:05:50 +02:00
Piotr Dziwinski 93479af188 CTransportableObject interface 2015-07-10 19:51:49 +02:00
Piotr Dziwinski b0ac2f8326 Refactor CObject interface related to crash spheres 2015-07-10 09:38:53 +02:00
Piotr Dziwinski f6bc8f94bf Rename fret/truck to cargo/transporter 2015-06-29 23:11:02 +02:00
Piotr Dziwinski 67be6fca2a CObject interface cleanup
* remove unused functions and members
 * make protected functions used only locally or in factory
 * rename some functions to be more meaningful
 * refactor some enums to enum classes
2015-06-25 20:43:50 +02:00
Piotr Dziwinski 02ffdcfe23 Refactor level parser code
* replace manual memory management with std::unique_ptr
 * remove unnecessary dynamic allocations
 * make coding style consistent
2015-06-21 20:59:23 +02:00
Piotr Dziwinski 304542afe2 Some syntax sugar for iterating through all objects 2015-06-21 16:22:09 +02:00
Piotr Dziwinski 0c9a9bce98 Proper CObject lifetime management
CObjectManager is now the only class responsible for storing CObjects
2015-06-21 15:13:55 +02:00
Piotr Dziwinski fed67e6640 Rename objman.h/cpp -> object_manger.h/cpp 2015-06-20 20:02:40 +02:00
krzys-h 61b186343f Fixed #424, #423 and probably #421 2015-01-08 18:56:26 +01:00
krzys-h 4fef3af9ef Moved all CObject management from CInstanceManager to CObjectManager 2014-12-21 19:04:31 +01:00