Commit graph

90 commits

Author SHA1 Message Date
Christoph Oelckers
b416322032 - converted FInterBackground into a class so that the scripts can use it.
- fixed some issues with default value matching in savegames.
2017-03-18 13:25:22 +01:00
Christoph Oelckers
1e9ef2b1df - started scriptifying the level intermission screen. This compiles but is not active yet.
- allow treatment as one-character string constants as character constants. This became necessary because name constants already use single quotes and are much harder to repurpose due to a higher degree of ambiguity.
- fixed: protected methods in structs were not usable.
2017-03-18 12:18:15 +01:00
Christoph Oelckers
f3ae144525 - removed some unused variables in wi_stuff.cpp. 2017-03-17 23:53:51 +01:00
Christoph Oelckers
d423ad0d18 - moved CheckRealHeight from wi_stuff.cpp to texture code. 2017-03-17 23:08:22 +01:00
Christoph Oelckers
1ed2a0baf9 - fixed: The intermission screen did not show 'entering' for cluster-less maps. 2017-02-26 23:49:53 +01:00
Christoph Oelckers
bb7e191208 - allow specification of intermission music based on the destination map. 2017-02-26 14:50:02 +01:00
Christoph Oelckers
8dac678200 - added DAMAGE_NO_ARMOR flag for ACS's SectorDamage function. 2017-02-25 19:10:49 +01:00
Christoph Oelckers
89a43feb7a - split the intermission background handling into its own class.
This means that 1/3 of wi_stuff can be left as-is when scriptifying the rest.
2017-02-25 17:55:20 +01:00
Christoph Oelckers
13c6cebef3 - call WI_updateAnimatedBack only once from WI_Ticker instead of from each single WI_update function. 2017-02-25 16:57:46 +01:00
Christoph Oelckers
58be506a73 - made intermission screen more scripting friendly. 2017-02-24 00:28:33 +01:00
Christoph Oelckers
4bae6e81db - turned the texture pointers in wbstartstruct_t into scripting compatible texture IDs. 2017-02-23 18:33:49 +01:00
Christoph Oelckers
d295186378 - made all fields of in_anim_t script-safe (except for the texture pointer which will have to be replaced by a Texture ID. 2017-02-23 00:16:14 +01:00
Christoph Oelckers
47ff6ec33f - converted the intermission stat screen into a class so that its contents can be better exposed to ZScript. 2017-02-22 23:52:25 +01:00
Christoph Oelckers
d50e52ea59 - use DrawChar to draw font characters instead of calling DrawTexture directly.
Mostly done to remove uses of DTA_Translation.
2017-02-04 22:50:23 +01:00
Christoph Oelckers
d3ed83942f - did some preparations to ParseDrawTextureTags to allow using the same code for parsing tag lists generated by the VM.
- removed the fixed point alpha tag from DrawTexture and replaced all uses with the floating point version.
2017-02-04 13:11:12 +01:00
Christoph Oelckers
cd7986b1b1 - refactored global sides array to be more VM friendly.
- moved FLevelLocals to its own header to resolve some circular include conflicts.
2017-01-08 18:46:17 +01:00
Christoph Oelckers
b1a83bfd26 - started with cleanup and separation of DECORATE code.
* everything related to scripting is now placed in a subdirectory 'scripting', which itself is separated into DECORATE, ZSCRIPT, the VM and code generation.
 * a few items have been moved to different headers so that the DECORATE parser definitions can mostly be kept local. The only exception at the moment is the flags interface on which 3 source files depend.
2016-10-12 19:22:33 +02:00
Christoph Oelckers
046ee3e803 - removed a few leftover FRACUNITs. 2016-04-02 20:07:18 +02:00
Christoph Oelckers
0c39bdd04c - floatified texture scale values. 2016-03-26 13:37:44 +01:00
Randy Heit
55142078d8 Normalize line endings 2016-03-01 09:47:10 -06:00
Chris
1721d70212 - Removed duplicate autoskip code. 2016-01-24 14:44:47 +00:00
Chris
119c2f36b2 - Fixed an incorrect memset parameter in wi_stuff.cpp.
- Removed some whitespace from wi_stuff.h.
2016-01-19 13:20:32 +00:00
Chris
a90ea55e2c - Removed duplicate 'acceleratestage' check. 2015-09-12 23:01:56 +01:00
Christoph Oelckers
2ed3cec4db - externalized strings from Raven intermission screen. 2015-08-11 22:30:29 +02:00
ChillyDoom
db323643f8 - Renamed FBot to DBot and made it inherit from DThinker.
- Fixed: Bots added by players other than the net arbitrator did not have their skill set.
2014-10-14 19:57:11 +01:00
ChillyDoom
83d84eaae9 - Moved bot related variables from player_t into a new FBot class. 2014-10-13 18:40:25 +01:00
Christoph Oelckers
259466c3d4 fixed time printing.
- In ZDoom the timer runs a bit too fast because roundoff errors make 35 tics only last 0.98 seconds. None of the internal timing has been changed, only the places where a time value is printed it will get adjusted for this discrepancy.
2014-08-11 09:39:38 +02:00
Edward Richardson
2d896d2b47 Added wi_autoadvance
- Prevents an absent player from stopping the intermission
2014-06-17 20:26:49 +12:00
Edward Richardson
a3a7ee569f Multi-intermission waits for all players + changes
- Added a segment of code that now makes the intermission wait for all
players before advancing, instead of continuing on any player. A "ready
icon" shows to reflect this.

- The Deathmatch intermisson couldn't show the ready icon (because it
just used the ingame scoreboard), so a proper intermission was added,
which reflects the same design as the coop scoreboard.

- The colour column wasted more space then it should have needed, so it
was replaced with player colour backgrounds.

- Slight y offset adjustments to make everything fit in 320x200
properly.
2014-06-17 19:46:10 +12:00
Christoph Oelckers
2944e4f6ae - fixed some Linux issues with recent changes. 2014-05-14 14:08:14 +02:00
Christoph Oelckers
a05e62f3f7 - changed storage of lump and texture names in gameinfo to allow long names (with the exception of view border elements.) 2014-05-13 12:44:17 +02:00
Randy Heit
285be8db92 Fixed: wi_noautostartmap was not sync safe
- Make wi_noautostartmap a userinfo cvar. This allows it to be
  communicated across the network and saved in demos. If any player has it
  set, then the intermission screen will not automatically advance to the
  next level.
2013-09-18 20:45:39 -05:00
Christoph Oelckers
072b66fb9f - fixed: The music that's defined in the Gameinfo section of MAPINFO could not set the order for multitrack music lumps. 2013-08-12 21:11:53 +02:00
Randy Heit
2668988870 - Switched to a genericly extensible representation for userinfo.
- Fixed: The playerinfo CCMD did not range check the player number.

SVN r4253 (trunk)
2013-05-12 18:27:03 +00:00
Randy Heit
8f7cd73a41 - Comment out star and bstar stuff in wi_stuff.cpp.
SVN r4171 (trunk)
2013-03-02 01:27:36 +00:00
Randy Heit
bc30b1a806 - Exported the scoreboard text to LANGUAGE.
SVN r3834 (trunk)
2012-08-22 21:53:44 +00:00
Randy Heit
5c702e66e2 - Player icons that are taller than the small font will now expand the vertical size of the
player bars on the scoreboard.
- Fixed: Having +showscores down during the intermission would draw both the regular intermission
  scoreboard plus the HUD scoreboard.
- Fixed: hu_scores used the player icon's unscaled width when calculating sizes.


SVN r3815 (trunk)
2012-08-10 02:49:41 +00:00
Randy Heit
287a814a18 - Fixed: Deus Vult II uses fullscreen level name patches (which are mostly blank) for the
intermission. This caused the net scoreboard to be drawn off the bottom of the screen.

SVN r3465 (trunk)
2012-03-22 22:07:47 +00:00
Christoph Oelckers
f08188b0e5 - removed unneeded includes of r_local.h.
SVN r3261 (trunk)
2011-07-06 18:12:16 +00:00
Christoph Oelckers
fbff5ca932 - moved r_interpolate.cpp and r_translate.cpp to r_data.
- merged r_jpeg.h into jpegtexture.cpp because that's the only place where it's ever used.


SVN r3255 (trunk)
2011-07-06 08:50:15 +00:00
Christoph Oelckers
72192397ad - added some initial configurability to statistics intermission screen:
* Font and color for map name can be set if it's not a titlepatch
 * 'Finished' and 'Entering' can be either patches or a printed text in all gamees now.
 * Font and color for 'finished' and 'entering' text can be set.
 * moved 'finished' and 'Now entering:' texts into string table.


SVN r2981 (trunk)
2010-11-06 09:28:17 +00:00
Christoph Oelckers
747f3dd97a - fixed: The intermission screen was not taking texture scaling into account (it was written before the introduction of scaled texture handling for 2D.)
SVN r2962 (trunk)
2010-10-23 22:42:53 +00:00
Randy Heit
d530fd7f90 - Added BMF (ByteMap Font) support. This was complicated somewhat by the fact that BMF can
specify a character advance separately from the glyph width. GetChar and GetCharWidth now
  return this value in place of the glyph width. (For non-BMF fonts, these should still
  return the same values as before.)

SVN r2180 (trunk)
2010-02-26 05:34:30 +00:00
Christoph Oelckers
3a198a29dc - fixed: fullscreen images with texture scaling used the unscaled size for
positioning. To avoid future problems with them I added a new DTA_Fullscreen
  option for DrawTexture.


SVN r1983 (trunk)
2009-11-15 14:33:35 +00:00
Randy Heit
201c5c5125 - Fixed: Setting intermissioncounter to false in gameinfo drew all the stats
at once, instead of revealing them one line at a time.


SVN r1704 (trunk)
2009-07-04 01:26:57 +00:00
Christoph Oelckers
cc066bc409 - complete restructuring of resource file handling for more flexibility and future
extensions.
- Removed merging of special namespaces. For the texture manager this has
  become totally useless so there is no need to do this anymore. Not merging
  the namespaces also allows a much more reliable detection of lumps belonging
  to special namespaces so the ScanForFlatHack function is no longer needed.
  Instead, any lump up to F_END with a length of 4096 will be marked for 
  inclusion as a flat texture if no F_START marker is found.
- Made the counting of intermission stats in Doom a GAMEINFO option so that
  it can be activated in all games.


SVN r1555 (trunk)
2009-04-23 22:49:38 +00:00
Randy Heit
1954f9ee84 - Gave the intermission screen sounds their own SNDINFO entries.
SVN r1551 (trunk)
2009-04-18 01:31:08 +00:00
Christoph Oelckers
bf4e17703d - Fixed: Dehacked string replacement did not check the clusters' finaleflats.
- Changed the definition of several typedef'd structs so that they are
  properly named.
- Limited DEHSUPP lump lookup to search zdoom.pk3 only. It will no longer
  be possible to load DEHSUPP lumps from user WADs.
- Brought back the text-based DEHSUPP parser and changed it to be able to 
  reference states by label. Also changed label names of 
  DoomUnusedStates and added proper labels to all states that were
  previously forced to be the first state of an actor so that the old
  (limited) method could access them. This was done to address the following
  bug:
- Fixed: The player's death states calling A_PlayerSkinCheck should not be
  part of the state set that is accessible by Dehacked. These will produce
  error messages when mapped to non-players.

SVN r1512 (trunk)
2009-03-28 11:49:44 +00:00
Christoph Oelckers
505031fa5a - removed gamemission variable because it wasn't used anywhere.
- removed gamemode variable. All it was used for were some checks that
  really should depend on GI_MAPxx.
- Externalized all internal gameinfo definitions.
- added include to MAPINFO parser.
- split IWAD detection code off from d_main.cpp into its own file.
- disabled gamemission based switch filtering because it is not useful.
- added GAMEINFO submission by Blzut3 with significant modifications. There
  is no GAMEINFO lump. Instead all information is placed in MAPINFO, except
  the data that is needed to decide which WADs to autoload.


SVN r1497 (trunk)
2009-03-22 11:37:56 +00:00
Christoph Oelckers
666e40c8bb - Added MF5_CANTSEEK flag to prevent seeker missiles from homing in on
certain actors and added an option to APowerInvisibility to set this
  flag when active.
- Added map specific automap backgrounds.
- Fixed: Voodoo dolls did not play a sound when dying.
- Added colorized error messages to DECORATE and made a few more error
  conditions that do not block further parsing not immediately abort.
- Made all errors in CreateNewActor not immediately fatal so that the
  rest of the DECORATE lump can be parsed normally to look for more errors.
- Fixed: Defining classes with the same name as their immediate base class
  was legal. It should not be allowed that a class has another one with the
  same name in its ancestry.
- Fixed: Formatting of the intermission screen on Heretic, Hexen and Strife
  was broken. Changed it to use WI_Drawpercent which does it properly and
  also allows showing percentage in these games now.
- Fixed: The MAPINFO parser ignored missing terminating braces of the last
  block in the file.

SVN r1425 (trunk)
2009-02-19 14:36:37 +00:00