Christoph Oelckers
c5204f34ca
- fixed: The code to play the mage lightning's attack sound was converted wrong, because it used the same structure as looping sounds normally so, but doesn't actually loop.
2017-02-14 22:51:53 +01:00
Christoph Oelckers
3170591e32
- restated some weird number manipulation in SBARINFO for powerup time. This appears to be needed to distinguish between non-expiring items and non-present items.
2017-02-14 22:04:52 +01:00
Christoph Oelckers
6e2b0bc961
- renamed the internal InpuEvent to deconflict from the version in the event system.
2017-02-14 19:32:44 +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
9caf5c641b
- don't let menu number widgets not lock up the menu if their associated CVAR does not exist.
2017-02-14 19:06:45 +01:00
Christoph Oelckers
7b1645d239
- fixed the item check in OptionMenuItemCommand.
...
This was calling the wrong GetItem function.
2017-02-14 16:50:10 +01:00
Christoph Oelckers
ad178e16c5
- working again.
2017-02-13 20:03:29 +01:00
Christoph Oelckers
7b2ec1f737
- removed obsolete include for zscript.
2017-02-13 20:01:56 +01:00
Christoph Oelckers
6525e04118
- added restrictions to CVAR and CCMD access functions for the menus. CVAR changes are only allowed when the menu is open or for mod-CVARs. The CCMD execution function is now private to the control requiring it and heavily guarded against improper access from the outside so that abuse is mostly impossible.
...
This also means that the remaining scriptification of the menu is on hold. The player menu would require even more access to critical game data, which is a no-go, and the other remaining menus offer little benefit from getting scriptified.
2017-02-13 19:18:45 +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
46c0d27fe7
- scriptified the entire OptionMenu class and all still existing native subclasses.
2017-02-13 00:08:20 +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
9ece757cb3
- OptionMenu.Init must be declared 'virtual'
2017-02-12 21:56:01 +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
dbf3530696
- the keybinding control works again, this time fully scripted.
2017-02-12 18:38:23 +01:00
Christoph Oelckers
2e9c1ec3f3
- fixed translation setup for player backdrop.
...
- fixed return value of GetAction method of menu controls.
2017-02-12 16:48:29 +01:00
Christoph Oelckers
03283de4e8
- fixed issues with option menu items.
...
- fixed the octal parser in strbin.
- remove 'new' token because it gets in the way.
2017-02-12 16:02:55 +01:00
Christoph Oelckers
4562695854
- fixed stringtable access in menus.
2017-02-12 14:28:38 +01:00
Christoph Oelckers
bb6def820f
- everything compiles and mostly works again.
2017-02-12 14:04:48 +01:00
Christoph Oelckers
ee1217c8c7
- everything compiles again, now to make it work again with all menu widgets 100% scripted.
2017-02-12 01:18:49 +01:00
Christoph Oelckers
2a5b26c27c
- removed native option menu controls. Note that this commit will not compile!
2017-02-11 21:28:48 +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
8c780ab7ff
- exported the drawer function of the colorpicker menu.
2017-02-10 13:21:35 +01:00
Christoph Oelckers
be9b2b38fc
- ColorpickerMenu.MouseEvent exported.
2017-02-10 11:44:46 +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
Christoph Oelckers
4e1300ecbe
- added a script export for ACS's ReplaceTextures function.
2017-02-09 12:02:07 +01:00
Christoph Oelckers
8277299135
- Turned DropItem into a plain struct again like it was before the scripting branch got merged.
...
Making this an object had little to no advantage, except being able to remove the deleter code. Now, with some of the class data already being allocated in a memory arena so that freeing it is easier, this can also be used for the drop item lists which makes it unnecessary to subject them to the GC. This also merges the memory arenas for VM functions and flat pointers because both get deleted at the same time so they can share the same one.
2017-02-08 20:37:22 +01:00
Major Cooke
dd102caf13
- Fixed: SetCamera didn't have the 'action' identifier, nor did it use the actual 'cam' actor provided, rendering it nonfunctional.
2017-02-08 18:17:09 +01:00
Christoph Oelckers
eebe09fb59
- moved the scalar class properties of PClassInventory into AInventory.
...
What's left is the non-scalars, they will need different treatment to get them out of the way.
2017-02-08 16:57:48 +01:00
Christoph Oelckers
2ca0e34785
- turned many of PClassPlayerPawn's strings into names and moved all scalar properties into APlayerPawn.
...
The goal is to get rid of PClassPlayerPawn and PClassInventory so that the old assumption that all actor class descriptors have the same size can be restored
This is important to remove some code that seriously blocks optimization of the type table because that can only be done if types do not need to be replaced.
2017-02-08 16:42:13 +01:00
Christoph Oelckers
a6785afddb
- optimized the FName versions of IsDescendantOf and IsKindOf. These can be done without first looking up the class type itself.
2017-02-08 15:47:22 +01:00
Christoph Oelckers
7ed554158c
- got rid of PClassWeapon.
...
Still 5 subclasses of PClass left...
2017-02-07 19:02:27 +01:00
Christoph Oelckers
dae6230f76
- fixed: Since the FastProjectile does not perform a velocity underflow check it must use an approximate comparison when deciding whether to call the Effect method.
2017-02-07 00:39:46 +01:00
ZZYZX
77546ad5c2
Added non-playsim console-called event
2017-02-06 15:52:20 +02:00
ZZYZX
b7e64a2bc5
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-02-06 14:14:23 +02:00
ZZYZX
124d025131
More string methods
2017-02-06 12:35:21 +01:00
ZZYZX
e4970189b6
Tactical merge
2017-02-05 19:14:56 +02:00
Christoph Oelckers
72810c969d
- added ChangeCamera script function.
2017-02-05 18:07:12 +01:00
Christoph Oelckers
9e038b75fa
- exported DrawChar and DrawText.
2017-02-05 16:47:33 +01:00
Christoph Oelckers
52bec33c0d
- exported BrokenLines to scripting as a new class.
...
- removed the hard limit of 128 lines for V_BreakLines.
2017-02-05 16:18:41 +01:00
Christoph Oelckers
d8a1ce88b0
- a few more exports from FFont.
2017-02-05 13:55:38 +01:00
Christoph Oelckers
b570d0819b
- streamlined font handling for scripts a bit.
...
- moved the two 'you raised the alarm' messages for Strife to the string table
2017-02-05 13:14:22 +01:00
Christoph Oelckers
d662cece15
- fixed calculations in AdjusrPlayerAngle.
2017-02-04 16:44:43 +01:00
Christoph Oelckers
abac756289
- exported some stuff for fonts and screen size that will be needed for the menus.
2017-02-04 00:46:22 +01: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
f816537992
Setting Order directly (while the event handler is registered) will result in all sorts of broken behavior. Made readonly.
2017-02-03 20:44:27 +02:00
ZZYZX
03f7c39ea7
Fixed mouse input in event handlers. Added RequireMouse field in event handler to signify that native mouse should be turned on for certain handlers.
2017-02-03 20:34:34 +02:00
ZZYZX
b4565c3800
Exposed Shift/Ctrl/Alt to the scripts
2017-02-03 16:15:53 +02:00
ZZYZX
0d96517f5f
Implemented RenderOverlay hook that executes directly after level and statusbar
2017-02-03 13:29:34 +02:00
ZZYZX
6a0103a746
Merged p_setup conflict
2017-02-03 13:02:44 +02:00
ZZYZX
9bb4cf1c03
User input events first take
2017-02-03 12:28:40 +02:00
Christoph Oelckers
075cce98c4
- fixed: PlayerPawn.GetEffectTicsForItem read the duration from the wrong actor.
2017-02-03 10:41:38 +01:00
ZZYZX
7fa50c22e5
Added player events
2017-02-02 20:26:56 +02:00
ZZYZX
bc1194d03b
Added ordering for handlers - by int value returned by virtual function GetOrder(); Also, some handlers (WorldUnloaded and WorldThingDestroyed) are now executed in reverse order.
2017-02-02 19:57:00 +02:00
alexey.lysiuk
1fd37ff2ff
Removed unused input from fog boundary fragment program
...
This should fix https://mantis.zdoom.org/view.php?id=151
2017-02-01 10:05:38 +02:00
Christoph Oelckers
ccacc23905
- fixed division by 0 in ActorMover code.
2017-02-01 00:21:30 +01:00
ZZYZX
89c475c2d1
Added WorldThingDamaged hook
2017-01-31 04:35:44 +02:00
ZZYZX
9942a59866
Almost forgot (x2): thing revived world event
2017-01-31 04:11:09 +02:00
ZZYZX
066b22af0a
Almost forgot: WorldTick hook, since ZScript doesn't have delays
2017-01-31 03:24:46 +02:00
ZZYZX
71f62af6db
Implemented WorldThingDied (calls at the same point as SCRIPT_Kill); Added Inflictor parameter for WorldThingDied.
2017-01-31 02:07:00 +02:00
ZZYZX
27c8140c46
Replaced specialized event handlers with Event structure passed to a method; returned the check for virtual implementation to make sure that we don't waste time initializing the event data.
2017-01-31 01:28:47 +02:00
ZZYZX
5751f84350
Moved empty virtual methods to script side
2017-01-30 11:56:03 +02:00
ZZYZX
2382a76be5
Made separate .Find in Static handlers for convenience.
2017-01-30 09:33:06 +02:00
ZZYZX
c7e3ff2356
Static event handlers can create/register/unregister other static event handlers.
2017-01-30 09:28:27 +02:00
ZZYZX
0598c18ad8
Added WorldEventHandler with WorldThingSpawned. WorldThingDestroyed is not implemented because you already can attach an object that would check master's state.
2017-01-30 08:47:15 +02:00
ZZYZX
09ca1f610d
Removed World*Unsafe handlers (merged with WorldLoaded/WorldUnloading); Removed the concept of 'map-local static' handlers, static handlers are now only those that run globally.
2017-01-30 07:50:09 +02:00
ZZYZX
9a54a5affe
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-01-29 01:01:28 +02:00
Christoph Oelckers
ee22a9371b
- use Doom64 colors on sectors and linedefs.
2017-01-28 20:44:46 +01:00
Christoph Oelckers
12d073a27d
- objectcolor stuff.
...
# Conflicts:
# src/gl/renderer/gl_renderstate.cpp
2017-01-28 19:06:21 +01:00
Christoph Oelckers
1d2ae53ecb
Revert "- made r_fullbrightignoresectorcolor a MAPINFO option, so far only working on the software renderer. GL still needs a few changes to handle it correctly."
...
This reverts commit dd03bb1fcb
.
Turns out that making this work in GL will create a complete mess so better remove the option as it would only cause problems.
2017-01-28 18:26:52 +01:00
Christoph Oelckers
dd03bb1fcb
- made r_fullbrightignoresectorcolor a MAPINFO option, so far only working on the software renderer. GL still needs a few changes to handle it correctly.
2017-01-28 12:20:18 +01:00
ZZYZX
2c314f3f3f
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-01-28 05:23:16 +02:00
Rachael Alexanderson
949862f78f
- fixed: PalTonemap Exponent slider didn't have a proper decimal place.
2017-01-24 22:24:53 +01:00
Rachael Alexanderson
3154652885
- fixed possible AMD compilation error.
2017-01-24 22:24:53 +01:00
Rachael Alexanderson
9a777f719b
- Added "gl_bandedswlight" to reduce the software light emulation gradient to 32 levels.
2017-01-24 22:24:53 +01:00
Rachael Alexanderson
6263704741
- Added menu options for pal tonemap tweaks.
...
# Conflicts:
# wadsrc/static/language.enu
2017-01-24 17:57:03 +01:00
ZZYZX
8c36a2a3df
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-01-24 11:05:14 +02:00
Christoph Oelckers
17ed23bfcc
- don't read the full height of a player from the defaults, because that cannot be changed by A_SetHeight.
...
Instead a new member, FullHeight is used for this now.
2017-01-24 00:12:06 +01:00
ZZYZX
3e093a20ff
First take at serialization
2017-01-24 00:17:12 +02:00
ZZYZX
35ec14f465
Made the EventHandler class tree a bit more branchy. Now disallowing creation of Static* via EventHandler.Create.
2017-01-23 20:48:57 +02:00
ZZYZX
302af61686
Added per-thing render hooks
2017-01-23 20:48:57 +02:00
ZZYZX
2aadd1e13c
Forgot to add events.txt
2017-01-23 20:48:57 +02:00
ZZYZX
ce616f9c06
Added: prototype event system
2017-01-23 20:48:57 +02:00
Christoph Oelckers
b3aa7c61a9
- fixed: Class and struct name lookup was not context aware.
...
If a later module reused an existing name for a different class or struct type, this new name would completely shadow the old one, even in the base files.
Changed it so that each compilation unit (i.e. each ZScript and DECORATE lump) get their own symbol table and can only see the symbol tables that got defined in lower numbered resource files so that later definitions do not pollute the available list of symbols when running the compiler backend and code generator - which happens after everything has been parsed.
Another effect of this is that a mod that reuses the name of an internal global constant will only see its own constant, again reducing the risk of potential errors in case the internal definitions add some new values.
Global constants are still discouraged from being used because what this does not and can not handle is the case that a mod defines a global constant with the same name as a class variable. In such a case the class variable will always take precedence for code inside that class.
Note that the internal struct String had to be renamed for this because the stricter checks did not let the type String pass on the left side of a '.' anymore.
- made PEnum inherit from PInt and not from PNamedType.
The old inheritance broke nearly every check for integer compatibility in the compiler, so this hopefully leads to a working enum implementation.
2017-01-23 19:10:28 +01:00
alexey.lysiuk
db4c5e090d
Fixed incorrect armor given by cheats
...
See https://mantis.zdoom.org/view.php?id=106
2017-01-23 13:18:30 +02:00
Christoph Oelckers
89d9a43b68
- fixed local variable having the same name as a member in Strife's inquisitor.
2017-01-22 12:28:09 +01:00
Christoph Oelckers
06ad2351d3
- fixed error in vertical velocity calculation for A_SkullAttack.
2017-01-21 19:56:54 +01:00
ZZYZX
df1a90fb1b
Apparently 'name = something' gets parsed as a Type. Fixed CustomSprite actor again.
2017-01-21 10:32:26 +01:00
ZZYZX
59472d6f63
Fixed CustomSprite actor
2017-01-21 10:32:26 +01:00
ZZYZX
6f5fff00a0
Implemented static methods in String struct. Implemented String.Format and String.AppendFormat. Implemented native vararg methods for the future.
2017-01-21 10:32:26 +01:00
Christoph Oelckers
06898bf8fb
- copied A_ClearRefire to the proper place for good now.
2017-01-20 20:19:38 +01:00
Christoph Oelckers
314e49f791
- let A_SpawnProjectile, A_FireProjectile, A_SpawnItem(Ex) and A_ThrowGrenade return the spawned actors to the calling code.
...
- fixed the return type checks in CallStateChain. These made some bogus assumptions about what return prototypes to support and would have skipped any multi-return function whose first argument was actually usable.
2017-01-20 12:39:51 +01:00
Christoph Oelckers
02cfdbc29c
- fixed: A_ClearRefire was copied to the wrong script class.
2017-01-20 11:59:12 +01:00
Christoph Oelckers
c880b26d98
- scriptified MorphProjectile and CustomSprite.
...
This should for now conclude actor class scriptification. The remaining ten classes with the exception of MorphedMonster are all too essential or too closely tied to engine feature so they should remain native.
2017-01-20 01:11:36 +01:00
Christoph Oelckers
3c30b59bab
more inventory scriptification
...
* completely scriptified DehackedPickup and FakeInventory.
* scriptified all remaining virtual functions of Inventory, so that its inheritance is now 100% script-side.
* scriptified CallTryPickup and most of the code called by that.
- fixed: Passing local variables by reference did not work in the VM.
2017-01-19 23:42:12 +01:00