Clownacy
de7ea5a251
More-accurate BossAlmo2.cpp variable arrangement
2020-01-07 05:20:36 +00:00
Clownacy
a0813edd2b
More-accurate Boss.cpp variable arrangement
2020-01-07 05:15:56 +00:00
Clownacy
36f203ca16
More-accurate Back.cpp variable arrangement
2020-01-07 05:11:43 +00:00
Clownacy
e70074cf64
More-accurate ArmsItem.cpp variable arrangement
2020-01-07 05:07:47 +00:00
Clownacy
84626ea710
Merge branch 'accurate' into portable
2020-01-07 04:55:16 +00:00
Clownacy
dbe773f01a
...Remove more C-compatibility stuff
2020-01-07 04:50:15 +00:00
Clownacy
30968a626c
Remove all the C-compatibility stuff
2020-01-07 04:46:58 +00:00
Clownacy
7f953924eb
Make VS2003 compile everything as C++ again
...
As recent findings in #41 have shown, the codebase appears to be
C++98, not C89.
2020-01-07 04:40:27 +00:00
Clownacy
098647f7fd
More-accurate TextScr.cpp variable arrangement
2020-01-07 04:39:14 +00:00
Clownacy
a0eb646a1f
Add ability to lock certain parts of a surface
...
This avoids conditional jumps based on uninitalised memory, and
should be faster, and should be lighter on memory.
2020-01-07 03:52:37 +00:00
Clownacy
8a860c57f3
Deleted Types.h
...
Leftover from the Linux port, where it seemed to contains standard
types like int32_t and __quad_t.
Personally, I think Linux port implementation details like this are
out of the scope of the project.
2020-01-06 21:21:33 +00:00
Clownacy
58d7a45392
Empty Tags.h
...
There's no evidence Tags.h contained these variables (if anything, it
appears that Pixel manually declared them in every file that used
them).
gg Pixel
2020-01-06 21:20:17 +00:00
Clownacy
9498fe13be
Made TextScr.cpp valid C89
...
See #41
2020-01-06 21:15:42 +00:00
Clownacy
65682dd913
Made Dialog.cpp valid C89
...
See #41
2020-01-06 21:01:17 +00:00
Clownacy
fb8ba25d0f
Made Stage.cpp valid C89
...
See #41
2020-01-06 20:57:20 +00:00
Clownacy
664d76f94e
Merge pull request #90 from GabrielRavier/bugFix/portableValgrindStuff
...
Fix memory bugs
2020-01-06 20:37:02 +00:00
Clownacy
33c1ea8f20
Made ValueView.cpp valid C89
2020-01-06 20:05:49 +00:00
Clownacy
df9dc3e22d
Merge branch 'accurate' into portable
2020-01-06 19:39:36 +00:00
Clownacy
c838e8ebcb
Add and apply the enum_ESCRETURN enum
...
Restored from the original source code, as it survived in the Linux
port's debug data.
2020-01-06 19:19:17 +00:00
Clownacy
cffc3af45e
Fix bad merge
2020-01-06 18:49:15 +00:00
Clownacy
59c4f0e183
Merge branch 'accurate' into portable
2020-01-06 18:43:44 +00:00
Clownacy
b5ad6f5154
Made Star.cpp compile as C89 in VS2003
...
I hope this doesn't get *too* invasive.
2020-01-06 18:39:23 +00:00
Clownacy
1e902b009f
Slight formatting tweak in Input.cpp
2020-01-06 18:38:45 +00:00
Clownacy
c26954a559
Merge branch 'accurate' into portable
2020-01-06 18:38:22 +00:00
Gabriel Ravier
2911bfda5c
Removed memory leak in Backend_LoadGlyph
...
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-01-06 18:26:25 +01:00
Gabriel Ravier
752b4cee3f
Correct bug in which Backend_LockSurface would not initialize surface->pixels, leaving a bug in which Backend_UnlockSurface used uninitialized values in certain scenarios (such as in ScaleAndUploadSurface)
...
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-01-06 18:26:25 +01:00
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
5d12071f17
Make DoConfig check Config.dat's magic number
...
Fixes #88
The issue was caused by Config.dat reading a CSE2E Config.dat, and
preserving its altered magic number, which Cave Story would reject,
causing it to fallback on default settings.
2020-01-06 16:38:47 +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
1cc3d7fe30
Merge pull request #86 from GabrielRavier/bugFix/portableTravisCI
...
Fix Travis-CI build
2020-01-05 00:19:56 +00:00
Gabriel Ravier
1193ec8415
Update XCode to the most recent version
...
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-01-05 00:57:23 +01: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
cd589b7c1d
Specify the OpenGL3 backend in the readme
2020-01-04 20:50:38 +00:00
Clownacy
2e8d3441ed
Turns out I'm the stupid one
2020-01-04 19:49:43 +00:00
Clownacy
0ed19894ba
Merge branch 'accurate' into portable
2020-01-04 19:46:52 +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
b81023f63c
Fix a bug in River.tsc that affects portability
...
Funny story: so, there's a bugged TSC command in this file, which
causes it to try to read a flag beyond the end of the flag array.
If the memory it reads happens to be set to true, then it will
attempt to jump to an invalid event number, causing a crash.
Since I don't want to riddle CSE2's codebase with ugly compatibility
hacks, I think it's best to just fix the TSC file directly.
2019-12-21 14:53:01 +00:00
Clownacy
a0d11aee3c
Makefile warning cleanup
...
The escape character seems to be unneeded.
2019-12-05 16:05:56 +00:00
Clownacy
cb494f8f35
Merge branch 'accurate' into portable
2019-12-05 15:54:55 +00:00
Clownacy
5cb06c9b76
Use $(info instead of echo
2019-12-05 15:53:49 +00:00