Commit graph

1386 commits

Author SHA1 Message Date
Clownacy
624adbdab8 Remove junk widescreen code
This doesn't belong in here. Also, this code was overhauled in the
enhanced branch, so this version is useless.
2020-04-15 19:59:13 +01:00
Clownacy
210e1f1c25
Rearrange the readme's 'Background' section
Also made some minor corrections and tweaks
2020-04-08 13:14:42 +01:00
Clownacy
2a0570df94 Make bugfix consistent with official code 2020-04-07 18:18:45 +01:00
Clownacy
409453a6a1 Note some null characters 2020-04-07 14:03:15 +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
b41caad0b9 Update function names in devilution-comparer file 2020-04-05 18:29:46 +01:00
Clownacy
fbf9332c9a Fix compiler error with DEBUG_SAVE enabled 2020-04-05 18:25:35 +01:00
Clownacy
f75859b759 Change constant ordering
This was bugging the hell out of me
2020-04-05 03:35:43 +01:00
Clownacy
630b5e3657 Prevent console from appearing in Makefile builds 2020-04-04 20:40:02 +01:00
Clownacy
bd280414ea Cleanup 2020-04-04 00:43:06 +01:00
Clownacy
5d37391882 Document bullets a little 2020-04-04 00:13:20 +01:00
Clownacy
90714cb7a4 Apply some missing BOOL constants 2020-04-03 23:16:40 +01:00
Clownacy
da3d131291 Move CMake .gitignore line
No longer specific to the portable/enhanced branches
2020-04-02 14:18:48 +01:00
Clownacy
d40991e682 Remove VS2017 build files
Made redundant by CMake
2020-04-02 14:18:18 +01:00
Clownacy
10af7b95f2
Update readme with deprecation notices and cleanup 2020-04-01 14:12:17 +01:00
Clownacy
ca6538561f Document ActNpc061 (King) 2020-03-27 17:49:58 +00:00
Clownacy
db1b1d80f8 Disable Windows Travis builds for now
Really not in the mood to deal with that damn mess. Maybe if the
bloody thing could be arsed to print an error or two, I'd know what's
wrong, but nope. Works fine on a regular MSYS2 installation, so sod
it.
2020-03-22 16:19:43 +00:00
Clownacy
7820926bfd Remove outdated comments 2020-03-22 15:37:00 +00:00
Clownacy
c34a7fc354 Fix build error 2020-03-22 15:35:59 +00:00
Clownacy
b374a8046c Add some missing global/static variable names
Also from the Mac port.
2020-03-22 15:31:28 +00:00
Clownacy
f6606b7748 Add some missing function names
These were retrieved from the Mac port (v0.0.7), which kept these
functions.

Unfortunately, this port is missing local variable names, so we can't
use it to make InitBack accurate.
2020-03-22 15:31:28 +00:00
Clownacy
ec97ae4805 Fix typo in readme 2020-03-17 19:21:41 +00: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
7fe29e6ac5 List technical options after game-affecting ones 2020-03-14 23:12:27 +00:00
Clownacy
d54bc4c232 Add MSVC_LINK_STATIC_RUNTIME to the readme 2020-03-14 23:09:05 +00:00
Clownacy
36f961d328 Fix CMake build with Linux MinGW-w64 2020-03-14 23:01:27 +00:00
Clownacy
e96619141b Update Travis file to use CXXFLAGS 2020-03-14 22:02:06 +00:00
Clownacy
4ef83526c0 More CMake cleanup 2020-03-14 21:59:42 +00:00
Clownacy
cadfeab385 Neaten-up the CMake file 2020-03-14 20:26:59 +00:00
Clownacy
216aec7caf Clean-up CMake LTO
Honestly, considering the user can enable LTO by setting
CMAKE_INTERPROCEDURAL_OPTIMIZATION, I might remove this option too...
2020-03-14 20:19:48 +00:00
Clownacy
84cc01b8f0 Remove LTO from the Makefile
Can also be done by adding to CXXFLAGS

The CMake one will be kept around because it uses an actual CMake
feature.
2020-03-14 20:12:33 +00:00
Clownacy
10fbb05670 Remove some Make/CMake options
These options would add compiler flags that the user could just pass
on their own with CXXFLAGS/CMAKE_CXX_FLAGS.
2020-03-14 20:03:42 +00:00
Clownacy
bbf65f64f5 Note that users can pass their own compiler flags 2020-03-14 19:59:56 +00:00
Clownacy
2c831a62ad Add NATIVE_OPTIMIZATIONS to the Makefile
Must have forgot to add this option here when adding it to the
portable branch
2020-03-14 19:45:30 +00:00
Clownacy
a70b4e444e Add CMake info to the readme 2020-03-14 19:42:58 +00:00
Clownacy
efa987d7ad Make the static MSVC runtime linkage optional
I'd tell people to use CMAKE_MSVC_RUNTIME_LIBRARY instead, but, eh,
it's too recent.
2020-03-14 19:36:47 +00:00
Clownacy
de1740b61c Match the portable branch's CMakeLists.txt 2020-03-14 19:15:41 +00:00
Clownacy
3de557807c This option shouldn't be on by default 2020-03-14 19:10:31 +00:00
Clownacy
140c67a5cb Make CMake file match the portable branch one 2020-03-14 19:09:32 +00: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
76e4fb5e8a Improve MSVC6 hacks 2020-03-14 14:08:25 +00:00
Clownacy
c6b77fb015 Move the windows.h include to the right place 2020-03-14 13:25:25 +00:00
Clownacy
8a3b5c1f7a Use macros instead of __stdcall
Wow Microsoft's documentation sucks: it constantly omits these,
making you think they're just plain `__cdecl`.
2020-03-14 13:22:36 +00:00
Clownacy
4e0a168533 Move the MSVC6 hacks to WindowsWrapper.h
Now the wrapper has a purpose again, and it keeps things neat.
2020-03-14 12:55:22 +00:00
Clownacy
05fb5cf106 Fix build error with MinGW 2020-03-13 22:01:02 +00:00
Clownacy
406ff18909 Add CMakeLists.txt and Visual Studio 6 support
The CMake file allows you to compile the accurate branch with
whatever version of Visual Studio you have lying around, without
having to clumbsily convert the VS2003 project.

I've tested this with VS2019, VS2003, and VS6. VS6 is goofy - it's
missing a few types and constants, and it's not smart enough to
realise that ints and longs are the same in ILP32 data models. I've
added a few small hacks to address this. Might undo them. Who knows.

For now, I want to support VS6 because Mint compiled CSE2 with it
before, and because VS6 uses `msvcrt.dll` as its C runtime, which
apparently comes pre-installed in Windows, as opposed to all those
other annoying runtime versions that require they be installed
separately (which is why MinGW targets it specifically).

Also, VS6 *should* give us Win95-compatible builds. The internet says
MSVC2003 is Win95-compatible too, but Mint claims the vanilla EXE
doesn't run on there. I imagine it has something to do with its
static runtime library (VS2003 links the static one by default for
some reason).
2020-03-13 21:35:51 +00:00
Clownacy
e4a20a983e
Similar fixes 2020-02-20 15:59:04 +00:00
Clownacy
ed97e374f8
Fix screen centering in wide/tallscreen
Previously, it would misbehave if the screen is slightly wider than the level
(because it wasn't accounting for the fact that the game hides half of the
border tiles)
2020-02-20 13:11:39 +00:00
Clownacy
a7f1d80a06 Fix compilation with modern Visual Studio 2020-02-13 18:16:01 +00:00
Clownacy
fd19806eaf Travis: Add FIX_BUGS and JAPANESE to matrix
Also changed it to only produce release builds
2020-02-05 21:05:20 +00:00