Commit Graph

657 Commits (6a382830a95a36a2e643193729433ddba266c420)

Author SHA1 Message Date
krzys-h 0eaf0d6f65 Split Programmable and ProgramStorage 2015-08-15 21:29:08 +02:00
krzys-h d7800e03d1 Fixed tabs instead of spaces 2015-08-15 20:42:02 +02:00
krzys-h 6e2e7b5d06 Fixed another bug in CTaskShield 2015-08-15 20:38:25 +02:00
krzys-h 856c5baa0e Removed CTaskManager 2015-08-15 20:30:15 +02:00
Piotr Dziwinski dd227f5fba Fix some stupid mistakes connected with implicit bool casts 2015-08-15 19:17:15 +02:00
krzys-h 9a15db1bea Split global.h 2015-08-15 14:02:07 +02:00
Piotr Dziwinski d5ddf3ac76 Addressed comments on commit efedb44 2015-08-15 00:16:50 +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 f9abeb21ec Fixed a bug in CTaskShield 2015-08-14 19:08:34 +02:00
Piotr Dziwinski 9ad513550b Add other missing #include <stdexcept> 2015-08-14 19:05:24 +02:00
krzys-h d92d9799d6 Changed amount of damage done by shooters, fixes #560 2015-08-14 18:36:02 +02:00
krzys-h 57646c0c7b Refactored object creation 2015-08-14 18:20:44 +02:00
krzys-h bde0261fe7 Fixed broken Damageable hack in COldObject, closes #559 2015-08-14 13:50:05 +02:00
krzys-h 9d8bef877d Renamed old-style shadows to shadow spots in the code 2015-08-14 13:37:40 +02:00
krzys-h eda7435eb6 Removed a lot of useless settings (#556) 2015-08-14 13:04:05 +02:00
krzys-h 222517a5e7 Don't assert a powered object unless asked to take a cell from youself in CTaskManip 2015-08-14 00:30:23 +02:00
krzys-h 5bef62f01a Removed incorrect assert in CTaskTake 2015-08-14 00:24:08 +02:00
Piotr Dziwinski 26e4ec0ae2 Add more missing includes and forward declarations 2015-08-13 22:49:05 +02:00
krzys-h 3f57aab406 Fixed Thumper crash 2015-08-13 22:41:24 +02:00
krzys-h 74609d9bea Fixed astronaut death bug
introduced in f7d2f501bb
2015-08-13 22:27:39 +02:00
Piotr Dziwinski b832200798 Add missing include 2015-08-13 21:46:19 +02:00
krzys-h 8bff64ae3e Fixed OrgaShooter bug 2015-08-13 21:27:18 +02:00
krzys-h c399e5e246 Somehow missed some more Scraps :/ 2015-08-13 19:53:03 +02:00
krzys-h a644fc107d Use +infinity instead of -1 for immediate object destruction 2015-08-13 19:46:30 +02:00
krzys-h 275e792a81 Removed old Scrap objects; cleaned up some more if()'s 2015-08-13 19:41:21 +02:00
krzys-h 28d88347eb Added some notes in function documentation 2015-08-13 19:06:18 +02:00
krzys-h bfd3a5b23c Refactored ExplodeObject 2015-08-13 18:54:44 +02:00
krzys-h e5e1d4973f CDestroyableObject, CFragileObject, CShieldedObject and CShieldedAutoRegenObject 2015-08-13 13:41:25 +02:00
krzys-h ff957afefc Moved files not directly related to CObject into src/level/ directory 2015-08-13 11:47:32 +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 1b73830f28 CRangedObject 2015-08-12 18:12:27 +02:00
krzys-h 15bf98da40 Removed SetShowLimitRadius 2015-08-12 17:48:58 +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
krzys-h 63d83185b5 Move GetTooltipText and Get/SetLock to CObject; remove Get/SetEnable 2015-08-12 00:16:57 +02:00
krzys-h f37d2a338e Moved SetHighlight to CControllableObject 2015-08-12 00:16:57 +02:00
Piotr Dziwinski 00e9684e6d Add missing include 2015-08-11 23:17:38 +02:00
Piotr Dziwinski 571cc96523 Add proper initializers and remove manual memory management in ui classes 2015-08-11 23:15:32 +02:00
krzys-h a9673d5f72 Moved StartDetectEffect to CRobotMain 2015-08-11 23:13:57 +02:00
krzys-h 3f32b7c8a3 Removed SetCapacity() 2015-08-11 22:57:33 +02:00
krzys-h 364f87c49b CPowerContainerObject interface 2015-08-11 22:51:16 +02:00
krzys-h 7e18757d29 CScript user pointer cleanup; moved some functions from COldObjectInterface to main CObject
* moved (Get|Set)Clip [renamed to (Get|Set)Collisions], (Get|Set)Team, (Get|Set)Proxy(Activate|Distance) and GetBotVar to main CObject class
* refactored scripting to pass CScript* as the user pointer, removing the need for GetRunScript()
* changed accessing of "object" class in CBot to use ->GetUserPtr()
* refactored object limits to remove (Start|Stop)ShowLimit from COldObject
* added notes on possible interfaces for most of the other COldObjectInterface functions
2015-08-11 17:51:39 +02:00
krzys-h 15c1c7ee03 CMovableObject, CControllableObject 2015-08-10 23:21:15 +02:00
Piotr Dziwinski 849a3f900c Add missing includes 2015-08-10 22:33:42 +02:00
krzys-h abb272600e Merged CBrain into CProgrammableObject 2015-08-10 18:16:00 +02:00
krzys-h 726cfbda77 Removed manual memory management in CBrain and CObjectInterface 2015-08-10 17:17:02 +02:00
krzys-h a754b2ad06 Fixed manual control overriding tasks 2015-08-10 17:02:31 +02:00
krzys-h 78a51f0acb Moved all UI code out of CBrain into Ui::CObjectInterface 2015-08-10 16:37:03 +02:00
krzys-h 3a5f618f65 CTaskExecutorObject interface; some general task and CBrain cleanup 2015-08-10 13:46:39 +02:00
krzys-h 39a4a4cd78 Removed some unused CBrain members 2015-08-10 11:24:02 +02:00
krzys-h bb3fc63e03 More details on terrain loading 2015-08-07 23:40:38 +02:00
krzys-h 57469533b6 Implemented loading progress bar 2015-08-07 20:48:55 +02:00
krzys-h f90bb63520 Hide some things in save screenshots
Save indicator, mouse cursor, CDisplayText and interface particles
2015-08-07 15:59:05 +02:00
krzys-h 7da6f1b704 More random virus particles 2015-08-07 15:18:04 +02:00
krzys-h 6e5e3c4822 Fixed crash in IntroduceVirus if robot doesn't have any programs 2015-08-06 22:34:46 +02:00
krzys-h 69e6ae2c5e Added "saving in progress" indicator 2015-08-06 20:15:17 +02:00
Piotr Dziwinski f95980456a Replace anonymous union in Event with pointer to appropriate struct 2015-08-06 19:11:50 +02:00
krzys-h 69c6e9d4be Fixed level loading error message 2015-08-06 18:29:59 +02:00
krzys-h 7649731b49 Reimplemented hiding mouse during loading 2015-08-06 18:28:28 +02:00
krzys-h dc9e2d2e8b GUI loading error popup
Also added fireParticles option
2015-08-06 18:19:01 +02:00
krzys-h 6e8266fd58 Always clear tooltip and highlighted object on phase change 2015-08-06 16:14:11 +02:00
krzys-h 50aaf04405 Don't rotate autosaves if not needed 2015-08-06 16:11:49 +02:00
krzys-h 711643b454 Refactored CMainDialog 2015-08-06 16:02:59 +02:00
Piotr Dziwinski 61ec101b11 Replace size_t with std::size_t
For some reason Clang's AST API doesn't like size_t
2015-08-06 14:31:40 +02:00
krzys-h 02417363e4 Fixed version text disappearing during loading 2015-08-06 14:03:07 +02:00
krzys-h d538b65ace Fixed saving of selected object in autosaves 2015-08-06 13:53:03 +02:00
krzys-h dc85aa2138 Moved all UI controls to a subdirectory 2015-08-06 13:25:24 +02:00
krzys-h 2b4210dcbc Separated CMainUserInterface from CMainDialog 2015-08-06 12:59:09 +02:00
Piotr Dziwinski 0c9cf51d81 Address comments on commit d7bc28a 2015-08-06 11:17:54 +02:00
Piotr Dziwinski bdeeaf690b Get rid of memsets 2015-08-06 09:37:25 +02:00
Piotr Dziwinski 0c9e745213 Add proper initializations in remaining graphics classes 2015-08-06 09:33:27 +02:00
Piotr Dziwinski d7bc28a595 Add proper initializations in CPlanet and refactor planet mode 2015-08-06 08:22:11 +02:00
krzys-h 95a438bcc6 Fixed cheat console and particles during loading 2015-08-05 22:54:13 +02:00
krzys-h 86caf4f098 Fixed a bug in 47d79c9977 2015-08-05 22:16:52 +02:00
krzys-h 47d79c9977 Added #Include support in level files 2015-08-05 19:27:26 +02:00
krzys-h c62e583c12 Fixed log message 2015-08-04 23:34:39 +02:00
krzys-h 54254e2158 Split CMainDialog 2015-08-04 23:29:18 +02:00
Piotr Dziwinski 18f9bfb575 Make saving screenshot thread- and exception-safe
* introduce ResourceOwningThread wrapper for safely passing resources
   to new threads
 * make CEventQueue thread-safe
 * start screenshot saving thread using ResourceOwningThread
 * change direct call at end of writing screenshot to thread-safe
   event communication
2015-08-04 20:37:15 +02:00
MrSimbax 5005e760b9 Fix interrupting Me building when he's not selected (fixes #548) 2015-08-04 20:31:17 +02:00
krzys-h 3f48e4699d Moved window position and font size storage from CRobotMain to CSettings 2015-08-04 13:09:34 +02:00
krzys-h 4b271cee2d Moved settings out of CMainDialog into a separate class
Also fixed some problems with resolution list selection after starting game
2015-08-04 12:46:54 +02:00
krzys-h ea7bfdefda Moved scene to load out of CMainDialog 2015-08-04 10:56:49 +02:00
krzys-h fc8d8cb9d4 Moved saved scene loading to CPlayerProfile 2015-08-04 09:55:39 +02:00
krzys-h 13ef6e5498 Fixed position & direction when copying object from F12 menu 2015-08-03 22:26:22 +02:00
krzys-h 04960035c1 Save screenshot image in a separate background thread (#546) 2015-08-03 21:40:30 +02:00
krzys-h 5e4a423bf0 Cleaned up "textures/"+something, fixed more possible occurences of #531 2015-08-03 20:55:33 +02:00
krzys-h 45d6091a74 Fixed program from object.factory() being kept in BotFactory for every next manual operation 2015-08-03 20:33:45 +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 7d8b56d9ab More style fixes 2015-08-02 12:06:14 +02:00
Piotr Dziwinski 3b585d9f51 Some style and whitespace fixes 2015-08-02 11:36:36 +02:00
krzys-h 60ae9b1959 Fixed ExchangePost info saving 2015-08-01 21:19:47 +02:00
MrSimbax a18d195cfd Add an ability to cancel making a building (fixes #509) 2015-07-30 17:47:26 +02:00
krzys-h ccd55a4319 Fixed reversed Arrow colors (#537)
A major derp during TraveColor refactoring :P I hope I didn't break anything else
2015-07-29 18:25:36 +02:00
krzys-h 1bc0c891b0 Fixed early profile creation (#538) 2015-07-29 18:17:28 +02:00
krzys-h 11b3615df6 Fixed #541
I broke it in 86f473ac16
2015-07-29 11:53:54 +02:00
Piotr Dziwinski a5ff361bcc Replace std::regex with boost::regex
std::regex doesn't work in older GCC version (#532)
2015-07-25 09:13:17 +02:00
Piotr Dziwinski 4e836fa1d8 Remove unneeded LoadTexture calls
This caused reading of directory instead of file and caused crash on MacOSX (#531)
2015-07-25 08:49:14 +02:00
krzys-h dfd73118a6 Added flatspace()
Works like space(), but makes sure there is enough flat space for building
2015-07-22 18:26:05 +02:00
krzys-h 59d5545eca Fixed code pause editor bug (#527) 2015-07-22 18:01:24 +02:00
krzys-h 53a4176d29 Fix #528 2015-07-22 17:44:27 +02:00
krzys-h 8e02786dbc Fix #529 2015-07-22 17:42:02 +02:00
krzys-h d5d8c0b29f Removed the need for progfunc() in object.factory()
Changes to object.factory():
* The second argument will be automatically interpreted as public function name, file name or program code
* The program starts earlier (when the robot is ready, not when the doors open)
* Refactored to std::string
2015-07-22 16:16:16 +02:00
krzys-h 2e606f4dcb Fixed warning in CBrain 2015-07-22 13:56:51 +02:00
krzys-h abdb4e9782 Moved "object" class management to CScriptFunctions 2015-07-22 13:25:51 +02:00
krzys-h cba3863d75 Fixed bug with object loading introduced in 083f216529 2015-07-22 12:51:29 +02:00
krzys-h 083f216529 Team object recoloring (#514) 2015-07-22 12:45:50 +02:00
krzys-h 5593f427f6 Proper fix to #94 (finally!!!!)
It was so simple, wasn't it?
Additionaly:
* fixed texture recoloring after changing texture settings while simulation is running
* fixed annoying "could not open textures/shadow*.png" messages
* don't ChangeColor() if not in simulation to reduce lag in settings
2015-07-20 19:35:20 +02:00
krzys-h 1c947f9a80 Renamed some phases to more meaningful names 2015-07-19 23:11:41 +02:00
krzys-h a2f1aa195b Combined all level list phases into one, removed PHASE_TERM 2015-07-19 23:07:57 +02:00
krzys-h 347654db15 Refactored CBot class "file" to PHYSFS 2015-07-19 22:34:41 +02:00
krzys-h 8c87eedd28 Fixed huge lag on closing settings
Introduced in 02c24fbf27, this was supposed to make it more resistant to crashes but turned out to generate huge lag on closing settings
Instead, I added manual .Save() after every value change
2015-07-19 21:35:55 +02:00
krzys-h 8ce3a783bb Fixed EndMissionTake processing order with immediat=1
immediat=1 is supposed to work only if this condition AND all conditions above are true
2015-07-19 19:20:55 +02:00
Piotr Dziwinski 963fa15a1c Fix for #516 2015-07-19 16:43:03 +02:00
krzys-h 264f5dc278 Removed obsolete save directory configuration
This was used in one of the CeeBots probably for setting up networked installations in schools. This is now obsolete since now those are only paths relative to main PHYSFS save directory.
2015-07-19 16:05:09 +02:00
krzys-h 7dc3e90e41 CPlayerProgress -> CPlayerProfile 2015-07-19 16:05:09 +02:00
krzys-h 02c24fbf27 CProfile -> CConfigFile 2015-07-19 16:05:09 +02:00
krzys-h e2691d943c Fixed #346
Thanks @erihel
2015-07-18 23:16:14 +02:00
krzys-h 3e1fc06d6c CPlayerProgress
Extracted most operations on user profile from CRobotMain and CMainDialog to a dedicated class
2015-07-18 23:14:20 +02:00
krzys-h 86f473ac16 Finished support for up to 999 chapters and levels 2015-07-18 19:48:25 +02:00
krzys-h ea9361fbb4 LevelCategory enum 2015-07-18 19:45:40 +02:00
Piotr Dziwinski b3b6435039 Use MakeUnique with level parser classes 2015-07-17 20:38:21 +02:00
krzys-h 35043e04de Addressed commit comments on a872ea128b 2015-07-17 20:29:53 +02:00
Piotr Dziwinski a872ea128b Add MakeUnique template to avoid use of naked new 2015-07-17 20:06:59 +02:00
krzys-h dffeff929e Removed manual memory management in CBrain in program list 2015-07-17 19:53:17 +02:00
krzys-h 5e44092144 Fixed brain.cpp compilation under MSVC 2015-07-17 17:01:31 +02:00
krzys-h 2ef68cf12d Fixed Polish translations for Scribbler 2015-07-17 11:59:44 +02:00
krzys-h 14f784646b Refactored Scribbler recorder to std::string 2015-07-17 11:52:11 +02:00
krzys-h 999c35e46b Fixed Alt+Enter starting not runnable programs, fixes #510 2015-07-16 22:12:44 +02:00
krzys-h c8f6e8124e Replaced CLogger::GetInstancePointer() calls with GetLogger() 2015-07-16 22:12:44 +02:00
krzys-h c115d72d71 More TraceColor refactoring 2015-07-16 22:09:50 +02:00
krzys-h 2b9811d225 Movie lock refactoring 2015-07-16 22:09:50 +02:00
krzys-h a0e0ee3631 Separate shortcut bars for teams 2015-07-16 13:46:40 +02:00
Piotr Dziwinski 31bc740f4b Fix focusing issues with controls and cheat console 2015-07-15 19:11:48 +02:00
krzys-h 61ea372e51 Fixed enemy ruins not becoming neutral on destruction 2015-07-15 18:49:15 +02:00
krzys-h 80963f1a2b Added global magnifyDamage setting 2015-07-15 18:15:26 +02:00
Piotr Dziwinski 94ea1ff106 DeselList refactoring
Make CRobotMain hold selected object history instead of
every object holding some part of it
2015-07-15 18:09:23 +02:00
Piotr Dziwinski 9af1422589 Fix setting wrong explosion type 2015-07-14 22:14:14 +02:00
krzys-h 730319ba20 Fixed Robby (OBJECT_TOTO) animations 2015-07-14 21:40:07 +02:00
Piotr Dziwinski d5da68d59a Refactor old Get/SetAngle/Zoom -> Get/SetPartRotation/Scale 2015-07-14 21:35:43 +02:00
krzys-h e1223ff881 Fixed shortcuts behavior
It was kinda broken after implementing code battles
Also, fixed overlap of shortcuts bar with cheat console
2015-07-14 21:32:08 +02:00
krzys-h a1a96c62ab Fixed system mouse setting 2015-07-14 21:03:40 +02:00
Piotr Dziwinski 1183ed1980 Refactor old Get/SetPosition -> Get/SetPartPosition 2015-07-14 19:40:39 +02:00
Piotr Dziwinski 3f41555a61 Better exception handling in CRobotMain 2015-07-14 18:46:22 +02:00
Piotr Dziwinski 0d1b97510d Add exception handling when creating new objects on level loading 2015-07-14 18:28:42 +02:00
krzys-h 4506a4b8bd TraceColor enum 2015-07-14 13:53:50 +02:00
Piotr Dziwinski fdc0081bb8 Fix checking boolean like int 2015-07-13 23:04:11 +02:00
Piotr Dziwinski 62fdfc9f92 Refactor ResetCap -> AnimateOnReset 2015-07-13 22:47:11 +02:00
Piotr Dziwinski 20dbb8320b Remove unused reset code 2015-07-13 22:46:51 +02:00
krzys-h 79c131394d Separate DoneResearch for teams 2015-07-13 18:13:28 +02:00