Commit Graph

733 Commits

Author SHA1 Message Date
Fernando Carmona Varo
0d955dd93a Fix scanner not reading token if last in input
If a token is the last in the input (there's no ending newline) the
token was never being read.
2019-10-19 23:33:06 +02:00
Fernando Carmona Varo
d80b4c6ccc Some tweaks to log levels and output format 2019-10-19 16:12:47 +02:00
Fernando Carmona Varo
f09c368af0 Route Doom logging functions through libretro log 2019-10-19 15:55:42 +02:00
Fernando Carmona Varo
0d92eaafdc Add missing header guards 2019-10-19 14:54:06 +02:00
Fernando Carmona Varo
498a0c2b30 Fix some LGTM warnings 2019-10-19 14:47:52 +02:00
Fernando Carmona Varo
633374e78b Do not leave drawseg scalestep uninitialized 2019-10-19 13:27:40 +02:00
Fernando Carmona Varo
244ba7d274 Load musinfo from the corresponding map correctly 2019-10-19 13:27:32 +02:00
Twinaphex
ae955431b7
Merge pull request #121 from fjtrujy/pspSupport
PSP1 Fix compilation issue
2019-10-16 01:07:06 +02:00
Francisco Javier Trujillo Mata
38dae75c2a Include missing header in the PSP1 compilation 2019-10-16 00:50:37 +02:00
Twinaphex
739bc22324
Merge pull request #120 from Ferk/prboom+
Add MUSINFO support and support for several PrBoom+ actors/spriteframes
2019-10-12 14:44:56 +02:00
Fernando Carmona Varo
6e0baebaa8 Add MUSINFO documentation
Based on https://doomwiki.org/wiki/MUSINFO
With corrections about the use of 14100, which
is actually not supported at the moment in
ZDoom, Eternity or the original PrBoom-plus.
2019-10-12 13:42:59 +02:00
Fernando Carmona Varo
19249bf828 Be a bit more helpful when describing syntax error 2019-10-12 12:51:49 +02:00
Fernando Carmona Varo
e21b182e6c Skip invalid first level entries in umapinfo 2019-10-12 12:51:32 +02:00
Fernando Carmona Varo
2131bbf102 Updated docs with actorname and doomednum info 2019-10-12 12:29:25 +02:00
Fernando Carmona Varo
25f0f7b278 Show name on scanner errors for context 2019-10-12 03:03:13 +02:00
Fernando Carmona Varo
80ac8aa94d Add missing DONTFALL flag to Lost Souls 2019-10-12 03:03:13 +02:00
Fernando Carmona Varo
6a4c262ac7 cleanup/refactor deh Bits/Bits2 logic 2019-10-12 03:03:13 +02:00
Fernando Carmona Varo
2612e1784e log deh parsing on debug builds 2019-10-12 03:03:13 +02:00
Fernando Carmona Varo
3e068dacae Accept droppeditem as 1-based thing id
For consistency, since all dehacked thing ids start with 1 and not zero
2019-10-12 03:03:13 +02:00
Fernando Carmona Varo
b71ee82b30 Mark dogs as monsters, they already count in kill% 2019-10-12 03:03:13 +02:00
Fernando Carmona Varo
f59b102e37 Cleanup some flags
d_deh.c has some compatibility conversion so we don't need to keep
unused flags from prboom+ or preserve any specific order.

However, for clarity, try to keep same order than dehacked to avoid
confusions. Flags that are not used in dehacked were placed last in
the bit mask.
2019-10-12 03:03:13 +02:00
Fernando Carmona Varo
a2e2897684 Support Bits2 field and fix docs
To maximize forwards compatiblity in case the flags in Bits/Bits2
got shifted around in different ports, both Bits and Bits2 will
accept any of the flags when using mnemonics, and they will set
their values in the corresponding bits.

However, "Bits" will only unset (set to zero) the bits in the lower
32 bits, and "Bits2" will only unset (set zero) the second 32 bits
set. This is to prevent dehacked files that only manipulate the
first 32 bits from affecting the default values from "Bits2", which
would have otherwise held hardcoded behavior expected from Doom.
2019-10-12 03:03:13 +02:00
Fernando Carmona Varo
87b7373c54 Include additional documentation 2019-10-12 03:03:13 +02:00
Fernando Carmona Varo
199918f13c Add extra sprites, states and actors from PrBoom+
For compatibility with modern PWADs that target PrBoom+
2019-10-12 03:03:13 +02:00
Fernando Carmona Varo
ab6dd01bac Improve readability of deh output 2019-10-12 03:03:13 +02:00
Fernando Carmona Varo
596c20d63e Add cheat to spawn map things (for testing) 2019-10-12 03:03:13 +02:00
Fernando Carmona Varo
dd7ff26e6f Added some simple fallback logic for spriteframes
Also explicitly prevent rendering TNT1 sprite, instead of expecting it
to be a transparent/empty image.
This way we avoid errors when running without prboom.wad
2019-10-12 03:03:13 +02:00
Fernando Carmona Varo
3a332d9f2b Add MUSINFO support
Based on prboom-plus support.
However, unlike prboom-plus this will also support the music files
configured in prboom.cfg, if configured to do so.

Another difference is that the doom id 14165 is used for changing the
music to the default level track. Which is what ZDoom does.
See: https://zdoom.org/wiki/Classes:MusicChanger

Also, support for 14100 was added too since crispy/doom retro do that.
See: https://zdoom.org/wiki/MUSINFO
2019-10-12 03:03:13 +02:00
Twinaphex
7fb105888f
Merge pull request #119 from Ferk/framerate
Support RETRO_ENVIRONMENT_GET_TARGET_REFRESH_RATE
2019-10-09 20:37:51 +02:00
Fernando Carmona Varo
486b09767f Support RETRO_ENVIRONMENT_GET_TARGET_REFRESH_RATE
Add "auto" Framerate option to use the reported framerate from the
frontend targeted refresh rate.

It'll also be set as the new default for the Framerate option.
It'll fallback to 60 FPS if not obtained.
2019-10-09 19:39:29 +02:00
Twinaphex
896549f7b2
Merge pull request #117 from Ferk/umapinfo
Some Fixes to improve UMAPINFO support
2019-10-07 19:44:09 +02:00
Fernando Carmona Varo
93b3af1f0f Play PrBoom+/UMAPINFO demos flagged
PrBoom+/UMAPINFO port prepends a 255 byte to the version of the demo
whenever UMAPINFO is being used, so that incompatible engines will
fail to detect the version.

This adds support for it allowing the rest of the versioning system
to be kept as it is and let UMAPINFO be used with all existing
formats. In case of a mismatch an error will be printed but the demo
be allowed to play regardless of the mismatch.
2019-10-07 19:39:18 +02:00
Fernando Carmona Varo
ecfb6701fe Improvements to avoid crashes on invalid UMAPINFO 2019-10-03 14:55:28 +02:00
Fernando Carmona Varo
740f002d50 Prevent crash on UMAPINFO unknown property
Just ignore any unknown property since the standard might be extended in
the future.
2019-10-03 13:41:01 +02:00
Fernando Carmona Varo
baacfaeab9 Show bunny ending in UMAPINFO
Doom 2 would still try to show it if configured, but
if there are missing lumps those won't show.
2019-10-03 12:32:39 +02:00
Fernando Carmona Varo
66d07cc370 Cast ending should work also in Doom 1
When configured to be used from UMAPINFO
2019-10-03 12:01:40 +02:00
Fernando Carmona Varo
49cd7d3810 Fallback to CREDIT if Cast background is missing 2019-10-03 10:37:46 +02:00
Fernando Carmona Varo
ed3d48a076 Fix cast ending not showing in UMAPINFO 2019-10-03 10:33:16 +02:00
Fernando Carmona Varo
00249db8c3 Do not output too much garbage on bad texture lumps 2019-10-03 10:23:52 +02:00
Fernando Carmona Varo
79aa3e8cda Prevent ChangeMusic from crashing on unknown lumps 2019-10-03 10:20:54 +02:00
Twinaphex
3f6b2abe38
Merge pull request #116 from Ferk/umapinfo
Add UMAPINFO support
2019-10-01 03:10:04 +02:00
Fernando Carmona Varo
768140bd56 Support UMAPINFO episodes also in Doom2 wads 2019-09-30 21:25:41 +02:00
Fernando Carmona Varo
e3cb649182 Check to not try to unlock invalid lumps
Otherwise we might be accessing invalid memory
2019-09-30 21:05:12 +02:00
Fernando Carmona Varo
6005a6985c Check dehacked buffer size before reading content 2019-09-30 21:05:12 +02:00
Fernando Carmona Varo
68346549a6 Initialize to zero new realloced space 2019-09-30 21:05:12 +02:00
Fernando Carmona Varo
dc4b114a19 Moved actornames to the mobj definitions
This groups actor info in one place and orevents mistakes when the order is wrong causing mismatches.
There was actually already some mismatches found and fixed while doing this (meat3).
2019-09-30 21:05:12 +02:00
Fernando Carmona Varo
5a995122e3 Add UMAPINFO support
Implements support for the new UMAPINFO format, which allows configuring
new episodes, intermission texts, secret levels and map properties.

See https://www.doomworld.com/forum/topic/93793-umapinfo-discussion/
2019-09-30 21:05:06 +02:00
Twinaphex
4cca2e0cc4
Merge pull request #115 from yoshisuga/tvos_support
(tvOS) support building
2019-09-14 06:56:59 +02:00
Yoshi Sugawara
555142ef19 (tvOS) support building 2019-09-13 16:02:56 -07:00
Twinaphex
030d1d0efd
Merge pull request #114 from Ferk/warnfix
Fix some more memory issues
2019-09-13 00:14:18 +02:00