Commit Graph

66 Commits

Author SHA1 Message Date
UnknownShadow200 01ff9ecdc3 GBA: now reaches 2 FPS 2025-11-11 21:13:12 +11:00
UnknownShadow200 5e4443a1f9 Amiga: WIP vbcc support 2025-08-24 18:05:28 +10:00
UnknownShadow200 aabc23348b WIP Atari ST port 2025-08-23 23:34:37 +10:00
UnknownShadow200 4eb7eb412c Xbox: Fix not using built in fabsf/fsqrtf 2025-06-26 06:56:12 +10:00
UnknownShadow200 a1f1ce639e Better c89 compatibility 2025-05-13 19:55:11 +10:00
UnknownShadow200 ab47f1f5f6 GBA: Fix missing sqrt function 2025-02-16 09:15:13 +11:00
UnknownShadow200 1853ef1a3a More WIP on Amiga, better crash handler on NDS 2024-10-22 08:08:20 +11:00
UnknownShadow200 5e0697126e Amiga: WIP 2024-10-19 21:33:19 +11:00
UnknownShadow200 12d127248c Add 32x support code 2024-09-10 18:00:31 +10:00
UnknownShadow200 b2744b1dd7 Save some memory in Saturn/PS1 by only supporting 66 block types 2024-09-09 20:04:52 +10:00
UnknownShadow200 485098d4fc Dreamcast: Use aliases for registers in VertexTransform.S, only load fr0 once 2024-08-25 10:00:36 +10:00
UnknownShadow200 f7edba625d Slightly better compatibility with older windows SDKs 2024-08-19 21:41:01 +10:00
UnknownShadow200 8e5df2b1c5 Better old MSVC compatibility 2024-07-25 23:06:18 +10:00
UnknownShadow200 47fdeb17a5 Saturn: Use custom defaults 2024-07-23 19:51:27 +10:00
UnknownShadow200 57e37e0b46 NDS/Saturn: Also use integer sin/cos 2024-07-23 18:29:34 +10:00
UnknownShadow200 ba034579f9 PS1: 30 to 38 FPS by using optimised icos/isin for calculating angles 2024-07-21 15:23:08 +10:00
UnknownShadow200 edf81f7a71 Try to be more compatible with older systems 2024-06-19 12:31:30 +10:00
UnknownShadow200 74fa5daf7c Add back Math_Sin/Cos for certain plugins 2024-06-05 18:12:24 +10:00
UnknownShadow200 483c7b6b07 Use Math_CosF/SinF in all cases 2024-06-05 12:24:17 +10:00
UnknownShadow200 e13917ec44 Add Window_PreInit that's called before loading options and initing platform 2024-06-01 20:07:50 +10:00
UnknownShadow200 137705c51d 360: Untested analog controller support 2024-05-08 18:30:11 +10:00
UnknownShadow200 fe7fd614da Dreamcast: Slightly optimise clipping 2024-05-07 19:15:08 +10:00
UnknownShadow200 b659b609b9 Use faster atan2 implementation since accuracy is not that important 2024-05-03 19:53:12 +10:00
UnknownShadow200 2bf387cd28 Download links for Switch and NDS 2024-04-27 14:41:55 +10:00
UnknownShadow200 f108f5e5e6 Even less double usage 2024-04-27 09:57:06 +10:00
UnknownShadow200 ce7d07944a Saturn: Black screen that doesn't work 2024-04-18 19:18:05 +10:00
UnknownShadow200 e492db93f6 Fix opening inventory with hidden block selected not displaying the block's details as the menu title 2024-04-17 17:42:14 +10:00
UnknownShadow200 5fb4887191 PS1: Use a little bit less memory 2024-03-28 17:39:10 +11:00
UnknownShadow200 95a1efe5f1 PS1: Bit more works 2024-03-27 22:01:44 +11:00
UnknownShadow200 eff5ddabd2 Broken PS1 port 2024-03-27 16:31:01 +11:00
UnknownShadow200 7bbfd61f63 Make Xbox 360 port compile at least 2023-11-19 16:15:34 +11:00
UnknownShadow200 edab3d2ec0 Dreamcast: Fix not compiling 2023-10-21 15:02:59 +11:00
UnknownShadow200 1cc9746511 Dreamcast: Fix can't go in-game anymore 2023-10-21 14:07:41 +11:00
UnknownShadow200 b827246fcc Try to fix Xbox and Dreamcast builds again 2023-10-08 18:26:16 +11:00
UnknownShadow200 5a094d1a70 Get it to compile with tcc again 2023-10-07 23:40:57 +11:00
UnknownShadow200 76c175e61d Make it compile in MSVC again 2023-10-07 22:20:30 +11:00
Caleb Butler c13d4f4429 Rename PI and DIV_2_PI to avoid conflict
On Windows, PI and DIV_2_PI are already defined, so we cannot use those
names for constants. I renamed them to DOUBLE_PI and DOUBLE_DIV_2_PI
respectively.
2023-10-05 09:48:16 -04:00
Caleb Butler 4741c548d6 Fix compiling on VS2019
In VS2019, although the math functions are intrinsic, they need to be
declared by the math.h header. So the header must be included in the
ifndef block.
2023-10-05 09:40:52 -04:00
Caleb Butler 0d97d58edc Fix arguments of Atan2 to match ExtMath.h 2023-10-05 09:08:48 -04:00
Caleb Butler 13f73de403 Remove external math lib dependency
Replace external math lib functions with our own custom versions.
2023-10-01 22:13:28 -04:00
UnknownShadow200 e76fb5e95f Workaround a codegen bug in x64 TCC 0.9.27 that caused the camera to constantly shake up and down, and use custom ldexp like function rather than relying on libm
TCC was generating the problematic instruction sequence:

MOVD XMM0, dword ptr [zero_zero_eight]
MOVD XMM2, dword ptr [RAX]=>velocityY
ADDSS XMM2, XMM0
MOVD XMM0, dword ptr [RBP + stored_t_arg]
MOVAPS XMM2, XMM0

or in pseudocode:

XMM0 = 0.08f
XMM2 = velocityY
XMM2 = XMM2 + XMM0

XMM0 = t
XMM2 = XMM0

at which, it can be seen what the codegen bug is - XMM2 (which holds the value of e->Velocity.Y + 0.08) is overwritten with the value of 't' in preparation for calling Math_Lerp, but the prior value in XMM2 is not stored to another register like XMM1 first
2023-07-24 20:54:47 +10:00
UnknownShadow200 5f7526e732 Switch to ldexp in Vorbis float32_unpack 2023-06-10 17:37:22 +10:00
UnknownShadow200 d3a0ba8808 Simplify LocationUpdate related code 2022-10-22 20:06:48 +11:00
UnknownShadow200 763a7e23eb Less compiler warnings 2021-05-19 07:27:29 +10:00
UnknownShadow200 fb9757252b Visual Studio: Always treat warnings 4716 (Function doesn't return a value) and 4013 (implicit function declaration) as errors
Easy to do by accident and is a mistake 99.5% of the time
2020-12-09 23:12:31 +11:00
UnknownShadow200 4b2d596585 Switch to simpler 4 direction version 2020-10-24 19:04:21 +11:00
UnknownShadow200 8d2afa5e15 fix if you provide IP with 5 numbers, it wrongly just parses the first 4 numbers instead of reporting an error 2020-09-14 19:41:52 +10:00
SpiralP 638cd9bd79 add more animation types for CustomModels
SinSize, FlipRotate, FlipTranslate, FlipSize
Flip meaning only increment, and then jump back to 0 once a max-value is reached
2020-08-19 17:10:10 -07:00
UnknownShadow200 1a5f963ef0 Make Math_AbsF/Math_SqrtF defines when compiling with gcc/clang. This way they get compiled to an inline intrinsic instruction, instead of a slow function call 2020-02-09 16:55:12 +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