Commit graph

101 commits

Author SHA1 Message Date
Clownacy
2f682a102f Merge branch 'accurate' into portable 2020-05-04 18:17:39 +01:00
Clownacy
03250d62a0 Make variables more accurate
This commit changes which variables are static: the Mac (and
presumably the Linux) debug data tells you what variables are static,
by prefixing their names with double_underscores.

The variable names themselves also hint at this: global variables are
prefixed with 'g', and use upper-camelcase, while static variables
use whatever_you_call_this.
2020-05-03 20:28:56 +01:00
Clownacy
0477b1b633 Merge branch 'accurate' into portable 2020-04-07 14:03:54 +01:00
Clownacy
409453a6a1 Note some null characters 2020-04-07 14:03:15 +01:00
Clownacy
10f389b52e Merge branch 'accurate' into portable 2020-04-06 13:53:22 +01:00
Clownacy
ae66ede214
Merge pull request #105 from GabrielRavier/accuratePortableBugs2SisterPR
Noted a bunch of npc->cond = 0 bugs and gTS.data-related crashes
2020-04-06 13:51:52 +01:00
Clownacy
135035bb1a Change 'PlatformBackend' namespace to 'Backend' 2020-04-04 20:31:27 +01:00
Clownacy
c2f6ccdeb6 Merge branch 'accurate' into portable 2020-04-04 01:49:39 +01:00
Clownacy
90714cb7a4 Apply some missing BOOL constants 2020-04-03 23:16:40 +01:00
Clownacy
584ea57c5d Split SDL2 code from Profile.cpp and TextScr.cpp 2020-03-31 16:28:28 +01:00
Gabriel Ravier
6f114d0da5 Bullet, Caret, NpcAct1{2,4,8}0, TextScr: Add a note about some overflow bugs 2020-03-17 15:31:02 +01:00
Clownacy
169a755ec3 Wrap UTF-8 strings in C89-style comments
This should prevent compilation errors when compilers don't read the
source files as UTF-8.

MSVC in certain codepages previously misread some UTF-8 comments as
containing newlines, causing it to try to process the rest of the
comment as code. This was fixed by forcing MSVC to read the files as
UTF-8 using the `/utf-8` flag, but this doesn't seem to be supported
in older versions.

Since the issue was caused by newlines being added where they didn't
belong, using C89-style comments instead should avoid the problem
altogether.

I'll still keep the utf-8 flag around for supported compilers - just
in case.
2020-03-14 14:12:53 +00:00
Clownacy
4f7bd116f6 Add missing SDL.h #includes 2020-01-26 23:57:09 +00:00
Clownacy
84626ea710 Merge branch 'accurate' into portable 2020-01-07 04:55:16 +00:00
Clownacy
098647f7fd More-accurate TextScr.cpp variable arrangement 2020-01-07 04:39:14 +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
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
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
0ec5d85d56 Merge branch 'accurate' into portable 2019-11-17 18:30:44 +00:00
Clownacy
262fcfbaa3 Clean-up Generic.cpp
Also applied some windows.h constants over raw values
2019-11-15 19:44:44 +00:00
Clownacy
d641f508f2 TextScr.cpp cleanup 2019-11-14 00:15:03 +00:00
Clownacy
82454c3a62 Comment style tweaks in the last three files 2019-11-14 00:15:02 +00:00
Clownacy
8344716548 Merge branch 'accurate' into portable 2019-11-09 14:24:55 +00:00
Gabriel Ravier
571a7ca723 Bug : Put parentheses around IS_COMMAND and its parameters
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-11-05 17:33:16 +01:00
Clownacy
2faf387c9e Merge branch 'accurate' into portable 2019-10-16 15:42:18 +01:00
Clownacy
764df530ad Made TextScr.cpp's 'text' array two-dimensional
This is still ASM-accurate, and much more readable. This is likely
how it was in the original source code.

Fixes #56
2019-10-16 15:31:39 +01:00
Clownacy
13e5f446af Merge branch 'accurate' into portable 2019-10-14 22:17:20 +00:00
Clownacy
253b33d34f Turns out this isn't debug-related
Or if it was, it was repurposed: <NUM is used by the 'you got X
missiles' script.
2019-10-14 21:00:04 +00:00
Clownacy
a8fb0839fa Note Shift-JIS strings 2019-09-28 15:35:41 +00:00
Clownacy
5b5d5ae729 Revert "Restore the Windows-style path separators"
This reverts commit 42e1b36fd8.
2019-09-05 14:19:17 +01:00
Clownacy
84c3cd825e Merge branch 'accurate' into portable 2019-09-05 14:18:42 +01:00
Clownacy
42e1b36fd8 Restore the Windows-style path separators 2019-09-05 14:05:27 +01:00
Clownacy
4e50046d4b Remove WINDOWS and NONPORTABLE
Now that the portable stuff gets its own branch, these are unneeded
2019-09-04 02:14:15 +01:00
Clownacy
73e18b4610 Removed the WINDOWS and NONPORTABLE stuff
Now that all the ASM-accurate stuff is in its own branch, we don't
need these anymore.
2019-09-04 00:54:11 +01:00
Clownacy
5ea356a3bd Weed out a lot of the Windows dependency
Storytime: Cucky's original SDL2 port work involved using SDL2's
threading API to emulate the original WinAPI threading.

I can't be assed with that stuff, so I used the same trick Cucky did
for the Wii port, and hooked Organya up to the SDL2 audio callback.
This actually opens up the possibility for perfectly-synchronised
Organya playback. By that I mean, instead of needing a super
low-latency audio callback, I can have the callback synchronise its
audio mixing with Organya itself. I haven't done it yet, I plan to
soon.
2019-09-04 00:28:23 +01:00
Clownacy
451945e80c Ripped out SDL2, and begun made WinMain ASM-accurate
Almost there... see #74.
2019-09-01 14:39:16 +01:00
Clownacy
f956eb9264 Mostly ASM-accurate Draw.cpp
See #74
2019-08-31 17:43:45 +01:00
Clownacy
03e513365b PATH_LENGTH is actually Windows's MAX_PATH
When MAX_PATH isn't available, use FILENAME_MAX. This might be a bad
idea.
2019-08-31 01:44:53 +01:00
Clownacy
b814890d09 Convert TextScr.cpp to UTF-8
I should probably mention, the other reason I'm converting these to
UTF-8 is because SDL2 doesn't take Shift-JIS strings.
2019-08-25 21:23:01 +01:00
Clownacy
b7d01aae3f Overhauled the Music ID enum
This should be ASM-accurate, since SurfaceID was
2019-08-21 18:26:20 +00:00
Clownacy
64598dc2a5 Rename Surface_Ids to SurfaceID
For code style consistency (this isn't a vanilla enum name - I don't
think there even was an enum for this in the original source code)
2019-08-21 16:18:55 +00:00
Clownacy
d47f683491 Ported the Windows version's surface regeneration
Has the same imperfections: if you regenerate the surfaces while a
text box is open (and while using Courier New I guess), the text will
regenerate with smaller spaces.
2019-08-13 04:36:05 +00:00
Clownacy
d8d971c459 Added another bugfix 2019-08-01 00:34:35 +00:00
Clownacy
a3278a60b5 A fix, some documentation, and cleanup 2019-07-19 19:19:35 +01:00
Clownacy
941dec2c7c Add a bugfix for unsafe usage of sprintf
Thanks, Gabe
2019-06-27 17:50:19 +00:00
Clownacy
427fe69374 MessageBoxA usage cleanup 2019-06-20 21:17:32 +01:00
Clownacy
546631fad7 Made Profile.cpp ASM-accurate 2019-06-20 21:10:27 +01:00