Commit graph

2737 commits

Author SHA1 Message Date
Clownacy
aa396092b5 Translate error messages with FIX_BUGS 2020-09-03 21:39:36 +01:00
Clownacy
7cff891452 Remove that FRAMERATE thing 2020-09-03 21:31:49 +01:00
Clownacy
b1090cd8f9 Correct some mistakes that this branch has 2020-09-03 21:29:48 +01:00
Clownacy
a05b802904 Merge branch 'accurate' into portable 2020-09-03 21:11:16 +01:00
Clownacy
0c367cecf7 Add FIX_MAJOR_BUGS option
This one specifically fixes bugs that either invoke undefined
behaviour or cause memory leaks. Essentially, they affect stability.
Bugs that just affect gameplay will remain covered by FIX_BUGS.
2020-09-03 21:05:14 +01:00
Clownacy
e43160825e Add bugfix for the broken Waterway TSC script 2020-09-03 20:35:51 +01:00
Clownacy
987b81c946 Fix other audio backends 2020-09-03 19:59:37 +01:00
Clownacy
7abab0039b Pre-convert the Organya callback timer
Oh no, I used the naughty 'm' word :(
2020-09-03 19:19:55 +01:00
Clownacy
be6f46fabd Refactor audio software mixer
Now the various backends have far less duplicate code, and are part
of a separate backend system specifically for the software mixer.

Now, any modifications to the MixSoundsAndUpdateOrganya function
will apply to all backends, instead of needing to manually be applied
to each one.
2020-09-03 19:19:50 +01:00
Clownacy
ab09dc67eb Emulate the Organya thread pauses
Now there's a 100ms pause between songs.

Currently only the miniaudio backend supports this.
2020-09-03 18:14:52 +01:00
Clownacy
72eec8227c Merge branch 'accurate' into portable 2020-09-03 17:29:01 +01:00
Clownacy
541ec3695e Ignore error.log, remove enhanced branch stuff 2020-09-03 17:23:29 +01:00
Clownacy
9724f9d81b Scrub the enhanced branches from PHILOSOPHY.md 2020-09-03 17:20:32 +01:00
Clownacy
fbcb2f5f56 Optimise the linear-interpolator a little
Doesn't have to do two sets of shifts
2020-09-03 16:01:46 +01:00
Clownacy
b68eb076ca Rename a variable 2020-09-03 15:00:07 +01:00
Clownacy
47543eb382 Another Lanczos optimisation 2020-09-03 14:38:56 +01:00
Clownacy
67ee8b9829 Optimise the Lanczos resampler some more 2020-09-03 14:28:04 +01:00
Clownacy
9f002b6180 Convert Lanczos resampler from double to float
Forgot that C++98 has a float version of `sin`.
2020-09-01 19:57:08 +01:00
Clownacy
d946cfd579 Make DoConfig proof static 2020-08-31 21:00:34 +01:00
Clownacy
4c8598d460 Update miniaudio from v0.10.9 to v0.10.18 2020-08-31 20:56:38 +01:00
Clownacy
9e6d144b67 Update stb_image from v2.23 to v2.26 2020-08-31 20:55:42 +01:00
Clownacy
02bf38b8f6 Better logic 2020-08-31 20:55:31 +01:00
Clownacy
d15e1b7f41 Remove path length limit in DoConfig clone 2020-08-31 19:56:27 +01:00
Clownacy
9a79041c6c Optimise the Lanczos resampler a little
Apprently floating-point divisions are slower than multiplications
2020-08-31 17:28:35 +01:00
Clownacy
48386d443b Add optional Lanczos filter to the audio mixer
Should be higher-quality than the linear-interpolator, but also much
slower, so it's disabled by default.
2020-08-31 16:07:25 +01:00
Clownacy
39067057c1 Fix some code formatting 2020-08-29 18:10:59 +01:00
Clownacy
40f78323df Update a URL to CSE2's current name 2020-08-29 17:11:51 +01:00
Clownacy
71970c1f74 Merge branch 'accurate' into portable 2020-08-29 17:11:28 +01:00
Clownacy
20cbb8cc73 Unlist the dead branches, and reformat the readme
Now actually readable in a text editor
2020-08-29 17:04:01 +01:00
Clownacy
845ee1b96f Don't store subsample offset as long
Only a short is needed.
2020-08-25 02:44:54 +01:00
Clownacy
c8e1e7aa0a Another authentic struct name 2020-08-11 00:24:10 +01:00
Clownacy
e41d4472ec Another authentic struct name 2020-08-11 00:24:10 +01:00
Clownacy
a2ecd75271 Restore an original struct name
This was buried in the Linux port
2020-08-11 00:24:04 +01:00
Clownacy
d12ee0813f Remove some trailing commas 2020-08-05 22:09:05 +01:00
Clownacy
90d57b7d1b More direction macros 2020-08-05 22:06:53 +01:00
Clownacy
4c758bb926 Apply more direction macros 2020-08-05 22:03:51 +01:00
Clownacy
a305151302 Apply some direction macros 2020-08-05 21:47:50 +01:00
Clownacy
a3692d1c40 Add Caret enums 2020-08-05 21:45:59 +01:00
Clownacy
d41b3993f5 Document caret stuff some more 2020-08-05 20:55:50 +01:00
Clownacy
8adf593403 Caret documentation/cleanup 2020-08-05 19:51:06 +01:00
Clownacy
02295489d2 More background documentation 2020-08-05 19:42:18 +01:00
Clownacy
a18be9c450 Document background stuff a little more 2020-08-05 19:30:13 +01:00
Clownacy
b016b22a1e Do some NPC documentation 2020-08-05 16:56:26 +01:00
Clownacy
98c2a8880e Convert NPC 0's rects to decimal 2020-08-05 16:56:26 +01:00
Clownacy
6a1d49d6b1 Fix sound enum typo 2020-08-05 16:56:25 +01:00
Clownacy
ea9952c2d0 Clean-up PixTone code a little
This is still ASM-accurate
2020-08-05 16:56:25 +01:00
Clownacy
6fd6a416cd Fix another out-of-bounds array access
This one involves the Spur.
2020-07-15 16:51:11 +01:00
Clownacy
789d4fb0ea Fix another out-of-bounds array access
This one involves the Spur.
2020-07-15 16:35:05 +01:00
Clownacy
10caae5e74 Fix Travis script
I also apparently managed to speed up macOS compilation from 13
minutes to 5.
2020-07-13 20:30:48 +01:00
Clownacy
808a437ec2 Fix dependency on libbrotlidec.dll
FreeType must have added a new dependency in 2.10.2
2020-07-13 20:22:04 +01:00