Gabriel Ravier
befb5f7fb5
ScaleAndUploadSurface now doesn't take ownership of the surface it is passed and frees it. This is to correct multiple occurences of use-after-free occuring from use of the passed surface after a call to ScaleAndUploadSurface using it
2020-01-06 18:26:25 +01:00
Clownacy
f36fc61de3
Made Input.cpp more ASM-accurate
...
There was one ASM-inaccuracy I missed last time, but now I've also
made the file's memory layout accurate (it appears that global
variable initialisation actually affects the order they reside in
memory).
2020-01-06 16:57:41 +00:00
Clownacy
df534bb612
Fix SDLTexture backend's linked-list
...
Was causing some use-after-free behaviour, according to valgrind.
Should fix #87
2020-01-06 14:48:56 +00:00
Clownacy
38484613d5
Better GUID-printing bugfix
...
%hhx is a C99 thing, apparently.
2020-01-05 04:44:32 +00:00
Clownacy
354f23cf3f
Improved accuracy of Input.cpp
...
Applied some missing constants/macros, and corrected an
ASM-inaccuracy.
I always wondered why the original code only passed the first member
of the GUID struct, but it turned out it didn't: it actually passed
the whole thing.
Also, it's starting to bother me how many ASM-inaccuracies have
sneaked-through. v2.0 was *meant* to have fixed all this already.
2020-01-05 03:48:02 +00:00
Clownacy
d4f13cea8a
Merge branch 'accurate' into portable
2020-01-04 21:53:06 +00:00
Clownacy
9bfaeb5390
Apply some more missing constants
2020-01-04 21:48:52 +00:00
Clownacy
bbf77f9cfd
Capitalise a macro
2020-01-04 20:57:36 +00:00
Clownacy
2e8d3441ed
Turns out I'm the stupid one
2020-01-04 19:49:43 +00:00
Clownacy
5b4d343df4
Apply missing constants
...
Yay WinAPI
2020-01-04 19:45:39 +00:00
Clownacy
0218402222
Fully-initialise the JOYSTICK_STATUS struct
...
This matches the vanilla behaviour.
2020-01-04 19:41:04 +00:00
Clownacy
b00e65b90b
Merge branch 'accurate' into portable
2020-01-04 01:09:49 +00:00
Clownacy
deadc396bc
Don't deinit SDL before calling an SDL function
...
Also, it's possible for SDL to initialise without 'joystick' being
set to a non-NULL value.
2020-01-04 01:09:07 +00:00
Clownacy
b35fa162e0
Remove a pair of variable declarations
...
Besides, these are defined in Main.cpp, not KeyControl.cpp.
Anyway, according to the Linux debug data, these two were never
declared outside of Main.cpp, showing they were never declared in a
header file.
2020-01-04 01:01:11 +00:00
Clownacy
6052a09074
Apply missing KEY_ESCAPE constant
2020-01-04 00:52:57 +00:00
Clownacy
80e502b582
Merge branch 'accurate' into portable
2019-12-03 19:29:04 +00:00
Clownacy
0af9bcc89b
Fix ASM-inaccuracy
...
I have no idea how that snuck through.
2019-12-03 19:27:26 +00:00
Clownacy
16b9f1f0a4
Clean-up PixTone.cpp some more
2019-11-21 19:50:20 +00:00
Clownacy
db3fb6c37b
Merge branch 'accurate' into portable
2019-11-17 19:07:37 +00:00
Clownacy
0ec5d85d56
Merge branch 'accurate' into portable
2019-11-17 18:30:44 +00:00
Clownacy
4154b8c1bd
Minor cleanup to IsEnableBitmap
2019-11-17 18:25:23 +00:00
Clownacy
67c4156764
Shut up another Clang warning
2019-11-17 17:59:33 +00:00
Clownacy
87f74bcb6b
Clean-up ActNpc169
2019-11-17 17:53:58 +00:00
Clownacy
dabf04f8ab
Remove leftover macro
2019-11-17 17:53:50 +00:00
Clownacy
64412196f1
Shut up some clang warnings
...
This seems to produce the same assembly code
2019-11-17 17:14:08 +00:00
Clownacy
1a0cb626f8
Clean-up ArmsItem.cpp
2019-11-17 16:51:44 +00:00
Clownacy
5914ce01ef
Clean-up Back.cpp
2019-11-17 16:31:34 +00:00
Clownacy
4e82665819
Clean-up Boss.cpp
2019-11-17 16:18:06 +00:00
Clownacy
d7033994ac
Clean-up BossAlmo1.cpp
2019-11-17 16:05:42 +00:00
Clownacy
bcbab0745c
Clean-up BossAlmo2.cpp
...
Pixel's way of converting tiles to units is inconsistent: the ASM
shows he sometimes does '* 0x200 * 0x10', other times it's
'* 0x10 * 0x200', and in this file he does '* 0x2000'.
This means TILES_TO_UNITS won't be usable for every case, so I'm not
sure if we should even have it. It's pretty clear that Pixel just
multiplied things manually, without a macro to keep things
consistent. And if we're getting rid of that, then what does that
mean for PIXELS_TO_UNITS?
2019-11-17 15:10:33 +00:00
Clownacy
519acb5db1
Clean-up BossBallos.cpp
2019-11-17 14:50:03 +00:00
Clownacy
e04f4184f4
Clean-up BossFrog.cpp
...
Also removed SECONDS_TO_FRAMES because Pixel inconsistently times to
50FPS and 60FPS, making assumptions like this too shaky.
2019-11-17 14:29:25 +00:00
Clownacy
d6d063ab9a
Clean-up BossIronH.cpp
2019-11-16 01:48:23 +00:00
Clownacy
55447a6c49
Clean-up BossLife.cpp
2019-11-16 01:48:13 +00:00
Clownacy
379365fd86
Clean-up BossOhm.cpp
2019-11-16 01:37:05 +00:00
Clownacy
04c2f4c055
Clean-up BossPress.cpp
2019-11-16 01:22:50 +00:00
Clownacy
ab4763d2a3
Clean-up BossTwinD.cpp
2019-11-16 01:13:10 +00:00
Clownacy
4f60a939af
Clean-up BossX.cpp
2019-11-16 00:59:47 +00:00
Clownacy
93e5812e6c
Clean-up BulHit.cpp
2019-11-16 00:33:25 +00:00
Clownacy
16c03115c9
Clean-up Bullet.cpp
2019-11-15 21:55:48 +00:00
Clownacy
9c32a5dd05
Clean-up Caret.cpp
2019-11-15 21:14:08 +00:00
Clownacy
ed242f8d90
Clean-up Config.cpp
2019-11-15 21:03:20 +00:00
Clownacy
989013168c
Clean-up Draw.cpp
2019-11-15 21:00:29 +00:00
Clownacy
a3fd87e581
Clean-up Ending.cpp
2019-11-15 20:53:31 +00:00
Clownacy
b4e651398a
Clean-up Escape.cpp
2019-11-15 20:34:29 +00:00
Clownacy
80e217edf3
Clean-up Fade.cpp
2019-11-15 20:24:53 +00:00
Clownacy
b3843d596c
Clean-up Flags.cpp
2019-11-15 20:15:47 +00:00
Clownacy
3bc95d875d
Clean-up Flash.cpp
2019-11-15 20:14:53 +00:00
Clownacy
826abb343f
Clean-up Frame.cpp
2019-11-15 20:12:41 +00:00
Clownacy
5e49d734c9
Clean-up Game.cpp
2019-11-15 20:00:43 +00:00