Commit graph

4323 commits

Author SHA1 Message Date
Christoph Oelckers
92fbe47ade - fixed and cleaned up ALoreShot::DoSpecialDamage. 2015-01-24 14:04:06 +01:00
Edward Richardson
b2fbeb24c4 DEM_CHANGEMAP2 wasn't properly skipped 2015-01-24 16:09:15 +13:00
Christoph Oelckers
d1cca79c31 - Use SpawnHealth() when calling A_ResetHealth. 2015-01-23 20:29:38 +01:00
MajorCooke
301c061ec3 - Added pointer for A_SetRoll. 2015-01-23 10:24:23 -06:00
MajorCooke
19b43d4752 - Added A_ResetHealth(ptr). Defaults to AAPTR_DEFAULT (the action caller).
- Added pointers to the following functions, all of them set to AAPTR_DEFAULT:
- A_SetAngle
- A_SetPitch
- A_SetScale
- A_SetSpeed
- A_ScaleVelocity
2015-01-23 09:26:34 -06:00
Christoph Oelckers
7157db89b7 - fixed: A_VileAttack didn't check for MF7_DONTTHRUST.
This is a fixed version of Major Cookes pull request.
2015-01-22 14:13:25 +01:00
Christoph Oelckers
73bdd06ceb - removed bogus angle modification from reflection code. 2015-01-22 14:10:55 +01:00
Christoph Oelckers
667c4ba5fc Merge branch 'reflectfixsolo' of https://github.com/MajorCooke/zdoom 2015-01-22 14:01:27 +01:00
Christoph Oelckers
ae282eea53 Merge branch 'sethealthredux' of https://github.com/MajorCooke/zdoom 2015-01-22 13:59:59 +01:00
Christoph Oelckers
afb90040c2 Merge branch 'changevelptr' of https://github.com/MajorCooke/zdoom 2015-01-22 13:58:20 +01:00
MajorCooke
4fd87a1ce9 - Redid A_SetHealth.
- This function will not take the actor's health below 1, and any attempts to do so will simply set it to 1 in its place.
2015-01-20 22:54:30 -06:00
MajorCooke
fa411af1da - Fixed: Reflected projectiles were always changing their angles to 0. 2015-01-20 09:10:58 -06:00
Christoph Oelckers
2a0fc16ce3 Merge branch 'master' of https://github.com/rheit/zdoom 2015-01-20 10:26:30 +01:00
Christoph Oelckers
67312b907b - fixed: AInventory::AbsorbDamage may only be called for positive damage values, otherwise it ends up adding armor points. 2015-01-20 10:25:58 +01:00
MajorCooke
105a62cc20 - Added pointer field to A_ChangeVelocity.
- Defaults to AAPTR_DEFAULT, otherwise known as the calling actor.
2015-01-19 14:54:20 -06:00
Edward Richardson
455e6cd214 Improved NewChaseDir performance by cutting repeats 2015-01-19 23:57:15 +13:00
Braden Obrzut
845bcdf14c - Attempt to disable all comparison operators on FString since unless we decide otherwise, it's a programming error to use them (caused implicit conversion to const char* and then the built in comparision was called). 2015-01-16 19:13:51 -05:00
Braden Obrzut
4bae3f9976 - Fixed: SDLVideo::CreateFrameBuffer cleared "retry" too soon resulting in infinite recursion if the code was used. 2015-01-16 18:58:23 -05:00
Braden Obrzut
1c2a6e8457 - Fixed: fullscreenoffset coordinates were determined by translated (offsets) coordinates instead of input coordinates. 2015-01-16 13:12:18 -05:00
Edward Richardson
db25322b4c P_SpawnPuff MF4_RANDOMIZE behaviour
- Doom's BulletPuff random spawn tics behaviour was lost at some point.
2015-01-13 21:01:00 +13:00
alexey.lysiuk
9df56216b3 Reworked check for embedded WADs put inside directory within archive
Any WAD from directory named the same as archive are treated as embedded
Fixed the issue with archive filename that wasn't taken into account
2015-01-12 11:28:40 +02:00
alexey.lysiuk
7ae3678abc Extended check for embedded WADs with one special case
Added loading of embedded WAD file if `myfile.wad` is placed in `myfile` directory inside `myfile.zip`
This helps with an unpleasant and very annoying fashion to zip a folder instead of just .wad and .txt files.
Recent examples include
Monster Hunter Ltd.: http://www.doomworld.com/idgames/?id=17601 and http://www.doomworld.com/idgames/?id=17625
Hell Awakened 2 Episode 1: http://www.doomworld.com/idgames/?id=17795
Bauhaus: http://www.doomworld.com/idgames/?id=17954
2015-01-11 11:43:43 +02:00
alexey.lysiuk
5336f1085c Fixed incorrect value that I_FPSTime() may return when OS X thread-based timer implementation is used 2015-01-11 10:30:30 +02:00
Edoardo Prezioso
c3c22315d9 - Added zero tag handling for Pillar actions.
Pillar actions will refer to the back sector if the tag is set to 0.
2015-01-08 19:52:23 +01:00
alexey.lysiuk
83c6798651 Fixed a very slim chance that window will be white and empty after startup
There are a few quite specific steps to reproduce this issue:
* 640x480 video resolution
* -iwad ... -warp ... command line parameters
* OS X 10.4 or 10.5 PowerPC, maybe performance related
When all these requirements are met, content view doesn't show up sometimes
The simplest solution for this issue is to set initial window size to non-existent video resolution
2015-01-07 14:50:55 +02:00
Randy Heit
b2abf224b5 Save function name for error message in ParseStates()
- The error "You cannot pass parameters to..." used the most recent token,
  which was always ( and not the function name. (Note that this was
  already fixed in the scripting branch, so this is probably going to be a
  conflict. Meh.)
2015-01-06 19:31:00 -06:00
Edoardo Prezioso
4ea918ab3b - Fixed bad characters in the info command string. 2015-01-06 23:16:25 +01:00
Christoph Oelckers
95496cdb4d Merge branch 'additions' of https://github.com/MajorCooke/zdoom 2015-01-06 19:05:56 +01:00
MajorCooke
643d37ab7c - Added A_SetFloatBobPhase(int). Takes a number between 0 and 63. If it's outside that range, it does nothing.
- Added A_Warp flags:
- WARPF_BOB: Gets the bob offset of actor pointer with the FLOATBOB flag.
- WARPF_MOVEPTR: The function is inversed to move the pointed actor with applied flags, but only the original caller will make the success/jump.
2015-01-06 11:55:41 -06:00
alexey.lysiuk
86b2a8530b Fixed launching with additional arguments from IWAD picker on OS X 10.4 2015-01-06 17:08:09 +02:00
alexey.lysiuk
1a69221f80 Removed trailing tab characters in Cocoa IWAD picker 2015-01-06 17:08:01 +02:00
Christoph Oelckers
dac2ae6411 Merge branch 'lorefix' of https://github.com/MajorCooke/zdoom 2015-01-06 15:55:22 +01:00
MajorCooke
f374cf514d - Fixed: Lore Shot didn't take DONTTHRUST into account. 2015-01-06 08:20:13 -06:00
Christoph Oelckers
2095f5ddf4 Merge branch 'osx_improvements' of https://github.com/alexey-lysiuk/gzdoom 2015-01-06 15:04:28 +01:00
alexey.lysiuk
324a1a7b77 Added support for dynamic device attachment and removal to IOKit gaming controllers handling 2015-01-06 13:40:39 +02:00
Edoardo Prezioso
4aac586dd8 - Fixed another erroneous FString comparison.
A comparison between an FString object and 'NULL' doesn't check for the emptiness of the examined string.
2015-01-05 23:37:40 +01:00
alexey.lysiuk
04d3802960 Fixed build issue with OS X SDK 10.4 2015-01-05 18:12:07 +02:00
alexey.lysiuk
b59fc59539 Added missing header comment 2015-01-05 17:26:06 +02:00
alexey.lysiuk
cb681aad2d Rearranged header files and #include's
Removed unused OS version check
Reduced number of headers
Fixed build with SDK 10.4
2015-01-05 17:24:54 +02:00
alexey.lysiuk
d418648e59 Fixed compiler warning with format string parameter 2015-01-05 15:46:57 +02:00
alexey.lysiuk
31d232e886 Added polling of analog axes to IOKit gaming controllers handling
This feature helps a lot with buggy gamepads that constantly generate events from "sticky" hats/sticks
Polling is enabled by default, use joy_axespolling CVAR to turn it on/off
2015-01-05 13:22:53 +02:00
nashmuhandes
2b12db153b New functions to manipulate an actor's roll.
- DECORATE functions: A_SetRoll code pointer.
- DECORATE expressions: "roll" variable.
- ACS functions: SetActorRoll, GetActorRoll.
2015-01-05 17:51:32 +08:00
unknown
f03e05d69f Merge branch 'joystick_pure_iokit' of https://github.com/alexey-lysiuk/gzdoom 2015-01-04 18:09:42 +01:00
unknown
d0ec3180c8 Merge branch 'master' of https://github.com/Blue-Shadow/zdoom 2015-01-04 18:07:49 +01:00
alexey.lysiuk
aa1f51d3d2 Reimplemented gaming controllers support in native OS X backend using pure IOKit 2015-01-04 14:08:53 +02:00
Randy Heit
86986446a5 Fixed: TicSpecial could run out of space when writing data
- Fixed: TicSpecial::CheckSpace() never thought it ran out of space due to
  unsigned math.
- Fixed: TicSpecial::GetMoreSpace() assumed only relatively small amounts
  of data would be written at a time so made no effort to ensure it
  actually got enough space. This assumption could be violated by writing
  a very long string, which can happen when replicating a string cvar.
2015-01-01 17:57:09 -06:00
Blue-Shadow
ba3988290c Added an option to A_Check[SightOr]Range to be able to perform a 2D-based distance check. 2015-01-01 22:16:51 +03:00
alexey.lysiuk
26cf383ead Fixed incorrect volume levels of Timidity instruments
With Emulate TiMidity option on (midi_timiditylike CVAR set to true) GUS emulation tried to output tones with infinite volumes
2014-12-31 12:48:18 +02:00
alexey.lysiuk
2900f03fa1 Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_refactor 2014-12-31 11:17:45 +02:00
Christoph Oelckers
c57cc91d7c - cleaned up the RipLevel logic a bit to be less confusing. 2014-12-31 10:13:15 +01:00
MajorCooke
4ddfd0f46a - Added 3 new properties and 3 functions to control them.
- Rippers will rip through anything with an equivalent ripper level, or if their level is between or on the min and max ranges.
- If no min or max is defined, it simply checks if the monster's ripper level is lower than the missiles.
- Functions: A_SetRipperLevel(int level), A_SetRipMin(int min), A_SetRipMax(int max)
- Properties: RipperLevel, RipLevelMin, and RipLevelMax.
- RipperLevel: Applicable to monsters and projectiles.
- RipLevelMin and RipLevelMax are only useful on monsters.
- By default, all are 0.
2014-12-30 19:59:31 -06:00
alexey.lysiuk
68dbd56eab Small cleanup in i_video.mm 2014-12-29 18:03:36 +02:00
alexey.lysiuk
5c88364300 Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_refactor 2014-12-29 12:17:14 +02:00
alexey.lysiuk
1c102ef9c9 Internals of native OS X backend event processing are no longer exposed 2014-12-29 12:16:17 +02:00
alexey.lysiuk
21d557ee11 Further cleanup of i_main.mm 2014-12-29 12:10:18 +02:00
alexey.lysiuk
e3f92db395 Custom cursor in OS native backend without global variable 2014-12-29 11:34:57 +02:00
alexey.lysiuk
51afe8a541 Removed explicit release of window in Cocoa IVideo implementation
It caused a crash on older OS X like 10.5 and it absence doesn't lead to a memory leak
2014-12-29 10:29:16 +02:00
Christoph Oelckers
b5d0c5c357 - fixed: When a player drops his inventory, the dropped weapons must be checked for their class to ensure that they are not DehackedPickups which cannot be modified as intended. 2014-12-28 22:15:12 +01:00
alexey.lysiuk
4662069b94 Fixed compilation issues with GCC 4.2 2014-12-28 17:11:30 +02:00
alexey.lysiuk
a67dc4148b Split implementation of native OS X backend into several files 2014-12-28 16:35:00 +02:00
alexey.lysiuk
40d4dc502e Added comprehensive video modes iteration
Added letterboxing status for fullscreen modes
Brought back vid_listmodes console command
2014-12-28 12:48:08 +02:00
alexey.lysiuk
b66c712446 Moved out video handling from application controller 2014-12-28 11:58:21 +02:00
MajorCooke
519ff8b7d1 - HITTARGET/MASTER/TRACER now set the puff's pointer(s) within P_SpawnPuff.
- PUFFGETSOWNER, for the sake of compatibility, maintains override for target.
2014-12-27 14:15:54 -06:00
Christoph Oelckers
6f994cb3e7 Merge branch 'reflectfix' of https://github.com/MajorCooke/zdoom 2014-12-27 20:07:03 +01:00
MajorCooke
fdf2d6c493 - Cleaned up some of the reflective code.
- Added null checks to AIMREFLECT.
- The missile being reflected now corrects the z velocity to perfectly reflect towards the actor's middle.
2014-12-27 12:47:48 -06:00
Christoph Oelckers
5c658e98ec Merge branch 'master' of https://github.com/rheit/zdoom 2014-12-27 19:20:12 +01:00
Christoph Oelckers
cef8ae5632 - fixed: The A_BossDeath code in P_MorphedDeath was missing a NULL pointer check. 2014-12-27 19:19:15 +01:00
alexey.lysiuk
d43b201de9 Yet another code beautification 2014-12-27 18:13:47 +02:00
alexey.lysiuk
613c3293ce Further cleanup of native OS X backend video part 2014-12-27 17:47:21 +02:00
alexey.lysiuk
16965eb78a Removed vid_listmodes console command from native OS X backend
There is a hard-coded set of resolutions independent from the hardware
2014-12-27 17:47:12 +02:00
alexey.lysiuk
8b6966dd36 Got rid of SDL emulation's last remnants in native OS X backend 2014-12-27 15:56:46 +02:00
Randy Heit
1aa00f1b0e Draw player setup cursor equivalently to options menu cursors
- Explicitly size and position the text cursor in
  FListMenuItem::DrawSelector() the same way that the options menu does it
  using M_DrawConText(): By sizing it to a scaled 8x8 cell.
2014-12-26 19:22:09 -06:00
Braden Obrzut
84afd2252f - Fixed missing right paren on the first _Pragma from last commit. 2014-12-26 20:10:41 -05:00
Randy Heit
f76d137d33 Be less ugly when hiding warnings for using the %B formatter
- Take advantage of the new _Pragma operator to hide the printf warning
  suppression inside of macros instead of needing to litter the code
  around Printfs with a bunch of junk.
2014-12-26 18:58:59 -06:00
Randy Heit
bce7d12379 Change clipping in DSBarInfo::DrawGraphic()
- Fixed: When DSBarInfo::DrawGraphic() is used scaled, without fullscreen
  offset, if one of the top and left clip locations was 0 and the other
  was non-0, the 0 one would be clipped to the edge of a 4:3 box centered
  on the screen instead of the edge of the screen.
2014-12-26 18:40:15 -06:00
Randy Heit
798267d223 Remove memcpy from "Unknown command" error printing 2014-12-26 17:29:13 -06:00
Randy Heit
4017a6d864 Retry setting unknown cvars after CVARINFOs are processed.
- Fixed: Using +set cvarname and +cvarname on the command line would not
  work if cvarname was defined in CVARINFO. This should be the proper way to fix
  it. Rather than move all command line execution after loading CVARINFO,
  keep command line execution before wads are loaded. If an attempt is
  made to set an unknown cvar or to run an unknown command (which could
  potentially be shorthand for setting an unknown cvar), save it and try
  running it again after all CVARINFOs have been handled.
2014-12-26 17:21:57 -06:00
Randy Heit
f00c8e1943 Revert "Move C_ExecCmdLineParams() call slightly later in the startup process."
This reverts commit 3c376aa342.

- I was wrong. It breaks pullin and complete logging (at the very least).
2014-12-26 16:34:38 -06:00
Randy Heit
b30571b18e Merge branch 'master' of github.com:rheit/zdoom 2014-12-26 15:17:20 -06:00
Randy Heit
e0667544d2 Clamp chase_dist and chase_height because integer overflow is a thing. 2014-12-26 15:15:42 -06:00
Christoph Oelckers
f054f626d2 Merge branch 'master' of https://github.com/rheit/zdoom 2014-12-26 21:55:47 +01:00
Randy Heit
ec98937c88 Read script number as signed when parsing SARY chunks
- Fixed: Script arrays didn't work in named scripts because the loader
  read the script number as an unsigned word, hence it would never find
  named scripts, since they are stored with negative numbers.
2014-12-26 14:41:01 -06:00
alexey.lysiuk
0d1c954bc0 Fixed crash in game controller support code
Joystick's startup and shutdown (of Native OS X backend) can be called more than once
2014-12-26 22:11:03 +02:00
Christoph Oelckers
4f383e5aa7 - Nash's force fake contrast submission. 2014-12-26 13:43:49 +01:00
Christoph Oelckers
14d7b8b777 - fixed: Since no DrawText calls actually use the non-functional DTA_DestWidth, DTA_DestHeight or DTA_Translation and GCC cannot handle the fudging of the varargs, these will now trigger an assertion. No need to try to make something work that's always a programming error. 2014-12-25 21:08:31 +01:00
Christoph Oelckers
a5a17e45cf - fixed: Checking the terrain for any texture that was created after initializing the terrain data either returned random garbage or could even create an access violation. Added a range check to the array access function to prevent this. 2014-12-25 20:43:40 +01:00
Christoph Oelckers
1a39ac9243 - forgot to save this before committing... 2014-12-25 19:56:38 +01:00
Christoph Oelckers
6fd70ff320 - fixed: Trying to rotate a polyobject into its actual position during loading of a savegame still inflicted damage on all touching actors - including incomplete player pawns - and also got blocked by them.
Similar code already existed for the MovePolyobj function but apparently was overlooked here.
2014-12-25 18:46:50 +01:00
MajorCooke
f2551dceda - Corrected the species checking. 2014-12-24 17:49:58 -06:00
ChillyDoom
7d628a8c03 - Fixed: FCajunMaster::End() was missing a bot check. 2014-12-24 19:41:49 +00:00
Christoph Oelckers
23009bddb5 Merge branch 'hotfix2' of https://github.com/MajorCooke/zdoom 2014-12-24 10:46:52 +01:00
Christoph Oelckers
4384811745 Merge branch 'NetFix' of https://github.com/ChillyDoom/zdoom 2014-12-24 10:45:38 +01:00
MajorCooke
62a4945ca4 - Fixed: CAUSEPAIN didn't work with A_Explode calls featuring no damage. 2014-12-23 23:30:00 -06:00
Randy Heit
3fb9e754f1 Rename 'Pick' to 'RandomPick'
... because 'pick' is way too generic a name to spend a keyword on.
2014-12-23 21:46:27 -06:00
rheit
bfb94f13d2 Merge pull request #198 from MajorCooke/filters
- Added name filtering to all A_Damage/Kill/Remove functions.
2014-12-23 21:42:31 -06:00
rheit
39adff5e9e Merge pull request #200 from ChillyDoom/BotFixes
Bot fixes
2014-12-23 21:34:57 -06:00
Randy Heit
5caadeba4c Use a null check instead of strlen in ShoveChatStr 2014-12-23 21:33:47 -06:00
Randy Heit
d3272f75e7 Merge branch 'chat-len-fix' of git://github.com/Edward850/zdoom into Edward850-chat-len-fix 2014-12-23 21:31:53 -06:00
Randy Heit
d7d022144e Call A_Face() directly from A_CustomBullletAttack 2014-12-23 21:30:24 -06:00
Randy Heit
c13f1551e6 Merge branch 'custommissileptr' of git://github.com/MajorCooke/zdoom into MajorCooke-custommissileptr 2014-12-23 21:27:05 -06:00