Commit graph

1838 commits

Author SHA1 Message Date
Clownacy
e2b5809990 Remove another explicit array size 2020-09-04 01:19:42 +01:00
Clownacy
7b1661dcf9 Merge branch 'accurate' into portable 2020-09-04 01:00:17 +01:00
Clownacy
5579c57738 Remove some explicit array sizes
These are just annoying, and chances are the source code never did
this.

I might just remove *all* of these at some point.
2020-09-04 00:54:23 +01:00
Clownacy
4caa023347 Merge branch 'accurate' into portable 2020-09-04 00:49:45 +01:00
Clownacy
c81829e99a Remove a trailing comma
IIRC C89 doesn't allow them in enums. So who knows where else they're
not allowed?
2020-09-04 00:23:07 +01:00
Clownacy
9bba04b395 Rename some background enums 2020-09-04 00:19:49 +01:00
Clownacy
d16aa4cc70 Apply background constants to stage table 2020-09-04 00:09:38 +01:00
Clownacy
fe7765c914 Change some awkward wording 2020-09-03 23:57:07 +01:00
Clownacy
d5cf991733 Make the stage table neater 2020-09-03 23:56:44 +01:00
Clownacy
ad27a40ba3 Tiny cleanup 2020-09-03 22:17:06 +01:00
Clownacy
d250d0de7d Overhaul bin2h
Now it just outputs big lists of numbers, instead of a proper array.
This allows Resource.cpp to control the name of these arrays, while
also making the resource system in general more transparent.
2020-09-03 22:14:13 +01:00
Clownacy
71199c7693 Merge branch 'accurate' into portable 2020-09-03 21:58:40 +01:00
Clownacy
dce5e215c8 Explain the gamepad button limit 2020-09-03 21:54:10 +01:00
Clownacy
9c63e5994b Document SelStage.cpp a little 2020-09-03 21:52:05 +01:00
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
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
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
71970c1f74 Merge branch 'accurate' into portable 2020-08-29 17:11:28 +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