Commit graph

103 commits

Author SHA1 Message Date
Christoph Oelckers
460c400315 - scriptified ApplyKickback. 2018-11-25 01:12:45 +01:00
Christoph Oelckers
e071be8371 - scriptified A_FireBullets and A_CustomBulletAttack. 2018-11-24 13:50:27 +01:00
Christoph Oelckers
6fc63b9b78 - started with a ScriptUtil class which will allow moving function implementations for ACS and FraggleScript to zscript.txt
So far 3 functions for testing implemented.
2018-11-24 13:06:01 +01:00
ZZYZX
a276ebfb08 Exported destructible geometry to ZScript 2018-11-07 00:12:37 +01:00
Christoph Oelckers
b9f2cce8de - versioned the return mismatch check to demote it to a warning for older versions than 3.7. 2018-11-01 11:30:53 +01:00
Christoph Oelckers
b65b83edb3 - removed the hard screen resolution switch that still was present on Windows and cleaned up the entire video backend code from the remaining support code for this.
Like Linux and macOS this will only support borderless fullscreen in the active desktop resolution now, which is what modern systems need.
The list of discrete resolutions has been removed as it makes no sense anymore with a fixed video mode - all the other scaling options remain active, though.
2018-06-17 20:08:35 +02:00
Christoph Oelckers
cf8447d19c -protected critical portal data from getting written to by user code.
This data is game critical and may only be altered by code that knows what is allowed and what not. It must never be altered by any user code ever.
However, since the SkyViewpoint actors need to set up some relations between themselves and the default sky portals the previously purely internal 'internal' flag has been exported as a new keyword.
2018-04-15 12:13:02 +02:00
alexey.lysiuk
640948703f Level compatibility via ZScript -- PoC 2018-04-09 17:54:12 +03:00
Christoph Oelckers
3ae5f8c09f - initial work on a reverb editor based on the menu system.
This is to get rid of some ugly Windows code and make this platform independent.
2017-11-25 22:03:18 +01:00
Rachael Alexanderson
44373b414f - bump for 3.3pre 2017-10-07 19:36:42 -04:00
Christoph Oelckers
42e62d9005 - fixed: Harmony requires special scaling treatment for the fullscreen HUD's icons. 2017-05-21 21:30:46 +02:00
Christoph Oelckers
050acc9271 - added rudimentary support for SVE.wad from the Strife Veteran edition so that the extended single player campaign is usable:
* all new things got either an sctor definition or are explicitly deleted through the 'doomednums' section in MAPINFO. CTC related actors are non-functional!
* added a 'noskillflags' option to 'doomednums' so that the lightmap definition things in the maps can be repurposed as dynamic lights.
* added the new dagger powerup.
* added MAPINFO entries for the added maps.
2017-05-01 21:25:54 +02:00
Christoph Oelckers
b9485d4edf - ported the Hexen status bar to zscript.
Note that DrawBar with a background texture does not work yet because the clipping rectangle is not done yet.
2017-03-28 11:00:05 +02:00
Christoph Oelckers
a6bf93c624 - implemented the Heretic status bar. 2017-03-27 21:01:40 +02:00
Christoph Oelckers
488fface50 - started port of Doom status bar to ZScript.
Fullscreen HUD done with the exception of key and inventory bar. I also used the opportunity to make it a bit more resistant against badly designed inventory icons.
2017-03-25 21:40:17 +01:00
Christoph Oelckers
a3ee3c287e - major progress on the status bar code: SBARINFO's DrawGraphic has been ported into a generic function of the base statusbar class and put to use for a few items on the Strife status bar.
- decided to ditch the widget system I had started to lay out. As it turns out that would make things far more complicated and slower than they need to be.
2017-03-24 00:47:08 +01:00
Christoph Oelckers
9bd75bcac5 - some conceptual work on statusbar stuff. This looks like a viable approach to build something that can replace SBARINFO. 2017-03-22 19:56:21 +01:00
Christoph Oelckers
1423d5f42a - scriptified the SBARINFO wrapper.
This serves no purpose in itself but it removes a native side class from the status bar class hierarchy which allows for better editing options later.
2017-03-22 17:29:13 +01:00
Christoph Oelckers
9bffe4ee50 - scriptified the main statusbar interface and the Strife status bar.
Note that the Strife status bar does not draw the health bars yet. I tried to replace the hacky custom texture with a single fill operation but had to find out that all the coordinate mangling for the status bar is being done deep in the video code. This needs to be fixed before this can be made to work.

Currently this is not usable in mods because they cannot initialize custom status bars yet.
2017-03-22 00:32:52 +01:00
Rachael Alexanderson
8711add50b - fixed: Fatal error on startup due to incorrect ZScript version. 2017-03-18 21:08:36 -04:00
Christoph Oelckers
a2f2be17ef - status screen fully scriptified but not active yet. 2017-03-18 19:35:26 +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
7df698dad8 - implemented the parser basics of a ZScript versioning system.
Note that this completely disables the newly added keywords 'play' and 'ui' for unversioned code to allow using them as identifiers as I have found at least one mod that uses a variable named 'play' that would have been rendered broken otherwise.
This also disables many ZScript only keywords for other parsing jobs.
2017-03-05 14:13:00 +01:00
Christoph Oelckers
58be506a73 - made intermission screen more scripting friendly. 2017-02-24 00:28:33 +01:00
Christoph Oelckers
3c8a5fdbe7 - scriptified the drawer functions of the conversation menu. 2017-02-19 12:28:05 +01:00
Christoph Oelckers
2440951811 -scriptified the ReadThis screen. 2017-02-19 00:08:30 +01:00
Christoph Oelckers
aabcc1f92e - scriptified the input functions of DMessageBoxMenu. 2017-02-18 23:05:01 +01:00
Christoph Oelckers
128dfdeee6 - made some of the load/save menu's data a bit more scripting friendly, this mostly means removal of static string buffers. 2017-02-18 12:36:31 +01:00
Christoph Oelckers
416911587e - scriptified PlayerMenu.Drawer 2017-02-17 16:53:36 +01:00
Christoph Oelckers
2234d36c7a Merge branch 'thereisnospoon' of https://github.com/jewalky/gzdoom
# Conflicts:
#	src/dobject.h
2017-02-14 19:10:02 +01:00
Christoph Oelckers
7b2ec1f737 - removed obsolete include for zscript. 2017-02-13 20:01:56 +01:00
Christoph Oelckers
c403fc5635 - renamed a file. 2017-02-13 18:30:03 +01:00
Christoph Oelckers
7877bcbdcb - exported more parts of the joystick menus and also exported all strings for them to the string table.
- exported the skeleton definition for list menus.
2017-02-13 17:45:03 +01:00
Christoph Oelckers
12db190f41 - scriptified the CVar printers for the gameplay and compatibility menus. 2017-02-12 23:17:05 +01:00
Christoph Oelckers
2b977f70e6 - scriptified the video mode menu (only the part that extends the actual menu class, the entire thing is basically non-modifiable but this code would otherwise stand in the way of properly handling the rest of the menus.) 2017-02-12 23:05:39 +01:00
Christoph Oelckers
b6ad14a614 - made adjustments to text input menu to work with scripts. 2017-02-12 21:45:37 +01:00
Christoph Oelckers
f0e925c5a7 - scripted color picker fully working. 2017-02-12 20:20:47 +01:00
Christoph Oelckers
947b625c50 - all menu items scriptified, but not yet active. 2017-02-11 16:11:48 +01:00
Christoph Oelckers
f91d91d6e8 - all optionmenu items scriptified, but not integrated yet. 2017-02-11 00:36:53 +01:00
Christoph Oelckers
07ba75762b - the first menu function has been scriptified. 2017-02-10 00:25:50 +01:00
Christoph Oelckers
7efa9cd70d - made the menu descriptors garbage collectable and started exporting some fields as preparation for script work on the menu. 2017-02-09 20:18:53 +01:00
ZZYZX
e4970189b6 Tactical merge 2017-02-05 19:14:56 +02:00
Christoph Oelckers
d5b908186c - some work on the base classes for menus. None of this is being used yet. 2017-02-04 00:19:25 +01:00
ZZYZX
ce616f9c06 Added: prototype event system 2017-01-23 20:48:57 +02:00
Christoph Oelckers
42f3ccc602 - scriptified a few parts of p_pspr.cpp.
- added a speed parameter to A_Lower and A_Raise in the process.
2017-01-19 13:26:46 +01:00
Christoph Oelckers
30a8541a15 - scriptified the weapon piece functions.
- fixed: ClearInventory did not process depleted items properly.
- changed HexenArmor from UNDROPPABLE to UNTOSSABLE because this allowed to remove some special handling in ClearInventory. The only other place which checks this flag also checks UNTOSSABLE.
2017-01-18 17:26:12 +01:00
Christoph Oelckers
14f2c39e58 - scriptified cht_Give and cht_Take and made them virtual function of PlayerPawn so that this can be better configured for mods that want other options in here.
- improved the class pointer to string cast to print the actual type it describes and not the class pointer's own type.
- fixed: The 'is' operator created non-working code when checking the inheritance of a class pointer, it only worked for objects.
2017-01-17 17:34:39 +01:00
Christoph Oelckers
9f9cea4b4a - scriptified the health items. 2017-01-15 01:02:38 +01:00
Christoph Oelckers
a597979738 - scriptified ammo.
- moved inventory stuff into its own directory.
2017-01-14 21:27:31 +01:00
Christoph Oelckers
f83444f3cc - exported the sound sequence interface to scripting.
- split out the map data definitions from base.txt into their own file.
2017-01-14 13:02:08 +01:00