Commit graph

7240 commits

Author SHA1 Message Date
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
8c105ff3a0 Use FxVMFunctionCall in FStateTempCall
- Leveraging FxVMFunctionCall simplifies FinishThingdef() slightly.
2015-01-03 22:45:11 -06: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
Randy Heit
85a2042394 Reimplement CheckClass and IsPointerEqual functions
- The definition of FxGlobalFunctionCall_CheckClass was big and scary. I
  would say this is a big improvement, since now it gets to leverage the
  same framework that action functions use.
- The definition of FxGlobalFunctionCall_IsPointerEqual was not so big and
  scary, so this can't be called so much of an improvement as
  CheckClass was. (Which is not to say that it isn't better anyway.)
2014-12-30 23:36:56 -06:00
Randy Heit
c6c2b21901 Add FxVMFunctionCall class
- This replaces the general extensibility that had existed formerly
  in thingdef_function.cpp. Parameter parsing for function calls is
  shared with state parameter parsing. Functions are defined exactly in
  the same way as action functions, but without the 'action' keyword.
2014-12-30 23:31:07 -06:00
Randy Heit
9e3ed70021 Add non-action function parsing to the DECORATE parser 2014-12-30 21:15:48 -06: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