44 Commits

Author SHA1 Message Date
UnknownShadow200
e91fff6f85 TNT shouldn't blow up in singleplayer when in classic mode 2024-05-19 22:31:48 +10:00
UnknownShadow200
b7d92bc8b9 Change saplings to not instantly grow when placed in singleplayer
Also change PSP to always load from PSP/GAME/ClassiCube folder on the memory stick
2024-03-21 17:13:52 +11:00
UnknownShadow200
f5d8b44b8f Change X/Y/Z to lowercase in structs 2023-12-18 20:33:13 +11:00
UnknownShadow200
5cd4123bff Fix in singleplayer if physics was enabled and water/lava had their collide type changed to None, that the game would get stuck in an infinite loop
Should address #1048

In more detail, normally water won't propagate into neighbouring water blocks. However, when the collide type was changed to None, water blocks would instead constantly propagate into neighbouring water blocks, causing the water queue to grow and grow until the game runs out of memory

The same reasoning would apply with lava too
2023-08-02 23:46:01 +10:00
UnknownShadow200
36fff5a416 Make block 'blocks TNT' calculation more generic
Note that this means Crate block now no longer blocks TNT, whereas it did before
2022-08-27 15:10:21 +10:00
UnknownShadow200
1fa0e789c0 Part 1 of lighting refactor 2022-06-13 19:04:36 +10:00
UnknownShadow200
b5a19a7307 Fix game crashing when physics queue is cleared due to there being over 536 million physics entries (Thanks hypnotoad) 2022-03-10 07:59:13 +11:00
UnknownShadow200
04637af331 Redesign default block properties to use a table instead (backport from 0.0.23a branch) 2022-01-30 16:29:44 +11:00
UnknownShadow200
68912bf09b Add/Improve some comments here and there 2021-08-14 11:57:12 +10:00
UnknownShadow200
5bf63e79a3 Use single Event_Register_ macro instead of Event_Register_XYZ macros
The Event_Register_XYZ were all just defined to Event_Register_Macro anyway, completely ignoring the type of the arguments given. Therefore it's better to just give a single type unsafe Event_Register_ macro, rather than misleading the user into thinking they were using type safe macros
2020-07-29 17:45:59 +10:00
UnknownShadow200
5500049dc2 Fix placing/deleting blocks over id 256 in singleplayer with physics enabled crashing the game. (Thanks Rubiktor012, fixes #659) 2020-05-25 22:32:59 +10:00
UnknownShadow200
9c5406cc43 Save a few instructions in Physics_HandleTNT 2020-02-18 22:35:00 +11:00
UnknownShadow200
540bd993b2 bool -> cc_bool, for better compatibility with system headers that define bool type 2019-10-10 13:20:30 +11:00
UnknownShadow200
39cd47b2d3 use cc_uint8 instead of uint8_t so we can avoid stdint.h for gcc and clang
This fixes not compiling with mingw32 out of the box on windows (not mingw-w64, it works fine) due to WINVER being defined somewhere in the headers included by stdint.h. Even after that it would produce executables that wouldn't work properly unless DUNICODE was also added.
2019-08-25 19:36:45 +10:00
UnknownShadow200
9b92a5a2c0 Make struct fields lowercase in BlockPhysics and get rid of unnecessary includes in Chat.h 2019-07-13 20:24:24 +10:00
UnknownShadow200
6429663853 const static -> static const to reduce compiler warnings 2019-06-16 22:46:37 +10:00
UnknownShadow200
58c19a38b7 Vector3 to Vec3 and Vector3I to IVec3 2019-06-13 15:59:27 +10:00
UnknownShadow200
e6f03c40ae minor code cleanup 2019-05-20 19:36:19 +10:00
UnknownShadow200
c4f3af197f cleanup Random a bit 2019-03-14 13:41:25 +11:00
UnknownShadow200
97a3d1bd65 fix 64 bit opengl build in launcher not working 2019-03-12 23:09:47 +11:00
UnknownShadow200
8d967effd9 reduce size of block physics arrays, saves 8/16 kb on 32/64 bit 2019-03-05 15:14:49 +11:00
UnknownShadow200
2d53ead74e minor code cleanup 2019-02-19 22:58:03 +11:00
UnknownShadow200
286f5b28b4 Simplify map generator and minorly optimise world coordinate checks 2019-01-19 13:41:25 +11:00
UnknownShadow200
26c4681ebe make world available to plugins 2019-01-19 09:14:22 +11:00
UnknownShadow200
6fbe7e161a Combine various block properties into one global struct 2019-01-02 18:01:08 +11:00
UnknownShadow200
a89acea84d Improve event API 2018-12-27 08:36:50 +11:00
UnknownShadow200
579264be6c oops 2018-12-23 22:02:02 +11:00
UnknownShadow200
04c3683ba1 Fix game being stuffed after getting disconnected 2018-11-27 18:36:57 +11:00
UnknownShadow200
0ace7afa1e make variables extern 2018-11-26 22:47:41 +11:00
UnknownShadow200
caddf623b7 attempt to fix again, make lots of variables static to reduce size of linux executable 2018-11-09 15:39:46 +11:00
UnknownShadow200
52b1c52632 Don't use unnamed unions 2018-10-24 16:11:24 +11:00
UnknownShadow200
ce400e6d45 more rewrite for c90 2018-10-19 15:24:19 +11:00
UnknownShadow200
86a4e9d7d8 more minor code cleanup 2018-10-17 21:30:05 +11:00
UnknownShadow200
c434fe4c64 minor cleanup, zzzz 2018-10-09 00:15:43 +11:00
UnknownShadow200
43b44a5325 Int32/UInt32 -> int32_t/uint32_t 2018-10-07 17:24:31 +11:00
UnknownShadow200
f9eea60daf UInt8 -> uint8_t 2018-10-07 14:25:06 +11:00
UnknownShadow200
0aed43d82d Use int instead of Int32 in most places 2018-10-07 10:28:56 +11:00
UnknownShadow200
834c387a04 C client: start work on inf id 2018-09-27 22:27:05 +10:00
UnknownShadow200
23360aca7d C client: Simplify lighting code, don't allocate native GDI fonts when using bitmapped text 2018-09-18 19:54:05 +10:00
UnknownShadow200
da46329987 simplify events 2018-09-06 12:58:03 +10:00
UnknownShadow200
cac5978407 C client: avoid htons and inet_addr 2018-08-28 21:43:25 +10:00
UnknownShadow200
4406207ea4 C client: don't die when tick queue is too large, just clear it 2018-08-27 07:19:07 +10:00
UnknownShadow200
391874d08d change MemFree to minimise GCC warnings 2018-08-27 07:12:11 +10:00
UnknownShadow200
17c686feab recorganise directory structure of C client 2018-08-22 17:28:33 +10:00