Commit Graph

5044 Commits

Author SHA1 Message Date
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
Randy Heit bd3e49c0e8 Make actor damages readable from DECORATE (again) 2015-01-10 23:02:00 -06:00
Randy Heit 9b81e0e597 16-byte align frames on the VMFrameStack
- Fixed: Don't assume operator new will return a pointer with 16-byte
  alignment when allocating a block for the VMFrameStack. Because it seems
  it's actually guaranteed to be 8-byte aligned. Don't know where I got
  the idea it would always be 16-byte aligned.
2015-01-10 23:00:45 -06:00
Randy Heit 649875b17e Add if/else blocks for action sequences
- So now you can do something like this for an action:
    {
      if (health > 1000)
      {
        A_Scream;
      }
      else
      {
        A_XScream;
      }
    }
  Yes, the braces are required. Because I see too many instances where
  somebody writes an if statement in ACS and doesn't understand why it
  doesn't work right because they forgot braces.
- Fixed: Not actually putting an action between { and } would crash.
2015-01-08 21:36:42 -06:00
Christoph Oelckers 67b68e6b48 Merge branch 'pillar_tag0' of https://github.com/edward-san/zdoom 2015-01-08 20:00:43 +01: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 f3cc872677 Added Retina/HiDPI option to video mode menu (OS X only) 2015-01-08 12:50:23 +02:00
Randy Heit 7d0faa5bd5 Allow multiple actions per frame
- You can now call several actions from one frame by grouping them between
  curly braces. i.e. :
   POSS G 3 { A_Pain; A_Log("Ow! That hurt!"); }
  I will probably add an `if (something) { blah; blah; } else { wah; wah; }`
  construct later, but that's the extent of the munging I plan for DECORATE. The
  real work goes to the scripting language, not here. But if this branch is
  getting merged to master sooner than later, here's an immediate benefit
  from it right now.
2015-01-07 22:42:03 -06:00
Randy Heit 9044ac9503 Don't free non-registers.
- Fixed: ExpEmit::Free() would try to free REGT_NIL registers, which
  don't really exist
2015-01-07 22:31:48 -06: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 00274c5e4c Split action parsing out of ParseStates() and into ParseAction() 2015-01-06 20:02:22 -06:00
Randy Heit 910451a351 Return a FxVMFunctionCall from DoActionSpecials()
- DoActionSpecials no longer sets the function call in FStateTempCall.
  Instead, it returns the function so the caller can do it.
2015-01-06 19:50:01 -06:00
Randy Heit 320fb9aec5 Allow empty parameter lists for action functions without parameters
- Using A_Scream() in a state instead of A_Scream is now valid.
2015-01-06 19:44:20 -06:00
Randy Heit f71b1a8983 Whoops. 2015-01-06 19:34:11 -06: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