Commit graph

8106 commits

Author SHA1 Message Date
Christoph Oelckers
0b1ccfb582 Merge branch 'master' of https://github.com/rheit/zdoom 2013-11-11 09:58:55 +01:00
Edward Richardson
a967b05290 Improvements to restoring stalled netgames
- The waiting message is now always cleared, regardless if it needed to
be in the first place. It's a rather simple for-loop so I doubt it
matters.
- Nodes are also cleared from the list if they catch up while other
nodes are still behind.
- "lastglobalrecvtime" is now bumped after the waiting loop if a tic was
successful, rather then bumping it every time a packet was received. It
appears that you can receive a packet before the game knows it stalled,
thus stalling it anyway.
- Instead of comparing the nettics to the local node, all nodes are
tested against gametic+counts (the real reason why the game has
stopped).
- More then one node can be marked as late at any one time.
- In a packet-server game, the arbitrator is now assumed slow, rather
then testing it. There is no point, seeing as we already know the game
has stalled because of it.
2013-11-11 20:42:54 +13:00
Braden Obrzut
34457ce737 - Applied VoidMage's patch to strip color codes from system console on SDL platforms. 2013-11-06 13:42:05 -05:00
Braden Obrzut
f0b946c3cf - Allow use of system GME library. It defaults to forcing the use of the internal library at least for now though. 2013-11-06 13:37:34 -05:00
Christoph Oelckers
b91d5d5eb5 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	CMakeLists.txt
	src/CMakeLists.txt
2013-11-03 16:55:00 +01:00
Randy Heit
ec6624dfc7 Prioritize single->double conversions for FindBestProto()
- The binary form of ZCC_OpInfoType::FindBestProto() needs special
  handling for conversion from single to double precision floating point
  so that it doesn't choose an integer form over a floating point form
  when picking the best prototype.
2013-11-01 22:05:49 -05:00
Randy Heit
3063df4f74 Add single <-> double conversions.
- With explicit casting now possible, converting from double to single
  precision floating point and back again needs to be possible, too.
2013-11-01 21:45:02 -05:00
Randy Heit
b66de4116d Remove IsUnary() and IsBinary()
- This information is already stored in the node's NodeType field, so
  there's no reason to go do a table lookup for it elsewhere. Must have
  been a brain fart when I wrote them in the first place.
2013-11-01 21:28:00 -05:00
Randy Heit
16fc9be411 Interpret function calls to type refs as type casts 2013-10-30 20:53:02 -05:00
Randy Heit
2adf5782b9 Return propertype conversion routes larger than 1
- Fixed: PType::FindConversion() gave all but the source type a distance of
  0, so it only ever returned just one step of a route that requires more
  than one step.
2013-10-30 20:52:46 -05:00
Randy Heit
39d7fa0605 Allow access to the numeric properties.
- Identifiers can now evaluate to type references.
- The dot operator can now find symbols in type references.
2013-10-29 22:06:14 -05:00
Randy Heit
e7616ec0bd Add D-style properties to the numeric types
- This is stuff like min and max for integral types and infinity and nan
  for floating point types.
2013-10-29 22:06:03 -05:00
Randy Heit
fe21ceec56 Add a constructor to PSymbolTable that takes a parent table as input 2013-10-29 22:05:56 -05:00
Randy Heit
e696fff0be Capitalize some names that weren't before.
- Since this caused several duplicate names to creep in, try to be more
  consistant abount name capitalization.
2013-10-29 22:05:49 -05:00
Randy Heit
6c7788d2ad Make global symbols survive GC runs
- The global symbol table was never marked by the GC, so anything pointed
  only by it was fair game to disappear.
- Don't clear the global symbol table during DECORATE parsing. Junk in
  there should be considered constant after initialization.
2013-10-29 22:05:43 -05:00
Randy Heit
61b419c187 Remove duplicated names from namedef.h
- Added an assertion in FName::NameManager::InitBuckets() that makes these
  errors easier to spot in the future.
2013-10-29 22:05:32 -05:00
Randy Heit
82c22459dc Give all types a symbol table, not just structs and derivatives 2013-10-29 22:05:25 -05:00
Randy Heit
b227a2f508 Add the basic types to the global symbol table 2013-10-29 22:05:16 -05:00
Randy Heit
03c4244fd8 Accept only one identifier for class names. 2013-10-29 22:05:09 -05:00
Randy Heit
2b96db5fac Do not share constant 1 for enum autoincrements.
- AST nodes cannot be shared, because type conversion changes them in
  place, and what's appropriate for one use is by no means appropriate for
  all uses.
2013-10-25 22:30:25 -05:00
Randy Heit
6384613487 Allow using constants in other constants before their definitions.
- Something like this is now valid:
    const foo = bar + 10;
    const bar = 1000;
2013-10-25 22:30:25 -05:00
Randy Heit
76d2e8cfc4 Set node type when nil-ing an id node.
- Nodes can't stay as type AST_ExprID if they don't also have the
  operation PEX_ID.
2013-10-25 22:30:25 -05:00
Randy Heit
850055a766 Add evaluation of constant unary and binary expressions
- Added ZCCCompiler class as a place to generate IR and symbols from an
  AST. Right now, all it does is simplify constant expressions into
  constant values.
- Do type promotion on the AST where appropriate.
- Added true and false tokens to the parser driver.
2013-10-25 22:30:24 -05:00
Randy Heit
d0968af9a6 Separate the AST from the parser state. 2013-10-25 22:30:24 -05:00
Randy Heit
dbc9fd6c0e Pad PSymbolConstNumeric to ensure it's the same size as PSymbolConstString 2013-10-25 22:30:12 -05:00
Randy Heit
c7e817dfb9 Added type conversion search routines
- PType::FindConversion() can find a path to convert one type to another.
  This is completely generic and can handle any number of conversion
  functions.
2013-10-23 22:39:51 -05:00
Braden Obrzut
2142e857a9 - Applied VoidMage's OpenAL patch. 2013-10-23 19:41:58 -04:00
Braden Obrzut
97d7b1e59e Merge branch 'origin/maint'
Conflicts:
	src/sound/fmodsound.cpp
2013-10-23 19:39:22 -04:00
Braden Obrzut
7dbf4ec38f - Slight cleanup and I accidentally inverted the map generation flag. 2013-10-12 01:58:39 -04:00
Braden Obrzut
0759a4b438 - Actually, lets not use /Gm since it's incompatible with /MP which will be much faster on multi-core machines.
- Added ZDOOM_GENERATE_MAPFILE which enables linker map file generation.
2013-10-12 01:44:57 -04:00
Braden Obrzut
03b75ae7c1 - Fixed a few flags for Visual Studio compilation. 2013-10-12 00:56:49 -04:00
Braden Obrzut
3e90b65014 - Use release compiler flags for debug builds of third party libraries. 2013-10-12 00:24:04 -04:00
Christoph Oelckers
ac0c07a51b - fixed: Since model skins are managed by the texture manager, the model code may not delete them itself. 2013-10-11 12:57:46 +02:00
Braden Obrzut
b9a1528747 - DYN_FLUIDSYNTH now defaults to ON.
- Added ZDOOM_OUTPUT_OLDSTYLE (could probably use a more descriptive name) which causes CMake to vary the executable name by build type and place the exes and pk3s into the directory specified in ZDOOM_OUTPUT_DIR.
- ALL_BUILD will now launch ZDoom.
2013-10-10 17:40:15 -07:00
Christoph Oelckers
0f8ed0123f - fixed: Models must not delete their skin textures because they are stored in the texture manager which will be responsible for doing this. 2013-10-11 01:04:54 +02:00
Christoph Oelckers
b6dab83d2b - removed constructor and destructor from FDMDModel::ModelFrame because they were redundant and only caused double deletion of its contents. 2013-10-10 23:13:56 +02:00
Randy Heit
d76dbcaa9d Merge branch 'maint' 2013-10-09 22:33:58 -05:00
Randy Heit
02514dc9b2 - Fixed: AFSwordMissile::DoSpecialDamage had a unique prototype
so it would never actually be called.
2013-10-09 22:32:52 -05:00
Randy Heit
637798c1b5 Add handling for +warp at the command line.
- Command-line console commands are executed before a level is entered, so
  trying to use +warp to position yourself at a specific location will not
  work. We now specially handle this command so that it does work.
2013-10-09 22:15:11 -05:00
Randy Heit
1f723c10ae Add CF_INTERPVIEW for players.
- Added CF_INTERPVIEW flag for players. A_SetPitch/A_SetAngle and the
  similar ACS APROPs set this when changing an angle. This forces the
  renderer to interpolate the view angles instead of updating with the
  latest mouse positions. The effect lasts one tick.
2013-10-09 21:50:24 -05:00
Randy Heit
c2bac9d2df Add WorldPanning flag for camera texture definitions.
- To make camera textures pan in world units instead of texture units, you
  can now add "WorldPanning" at the end of the cameratexture definition in
  ANIMDEFS, after the "fit" specification. e.g.

    cameratexture CAMTEX 128 128 fit 64 64 worldpanning
2013-10-09 21:29:28 -05:00
Christoph Oelckers
cb74dd99ef - MSVC Release also needs the /Oi option for best performance. 2013-10-09 15:54:56 +02:00
Christoph Oelckers
d89ece5802 - removed duplicate HQNX entries in CMakeLists.txt 2013-10-09 13:08:49 +02:00
Christoph Oelckers
abb3f66104 Merge branch 'master' of https://github.com/coelckers/gzdoom 2013-10-09 13:06:46 +02:00
Christoph Oelckers
41856905be - CMake: The GL renderer requires fast Floating point math or performance will go down the drain.
- added CMake 'build' directory to .gitignore.
2013-10-09 13:06:18 +02:00
Christoph Oelckers
03f19a12fa Merge branch 'maint' 2013-10-09 12:52:33 +02:00
Christoph Oelckers
8170cfbf98 - added my own FMOD path to CMakeLists.txt so that I can use it to create VC++ 2010 files with it. 2013-10-09 12:52:07 +02:00
Christoph Oelckers
f239a40caa - fixed CMakeLists to generate working VC++ projects. 2013-10-09 12:16:08 +02:00
Christoph Oelckers
cde0c465c6 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	src/CMakeLists.txt
2013-10-09 11:32:58 +02:00
Randy Heit
242f2ab7b0 Merge branch 'maint' 2013-10-08 21:51:51 -05:00