Commit Graph

77 Commits

Author SHA1 Message Date
Christoph Oelckers fa893c082b - changed the default for hud_scale to 0 (i.e. use uiscale)
- allow calling Menu.SetMenu from play code so that in-game menus can be opened.
2017-03-28 22:51:37 +02:00
Christoph Oelckers d5772ff895 - fixed: SafeCommand did not work anymore because it failed the abuse prevention check for DoCommand. 2017-03-28 22:34:12 +02:00
Christoph Oelckers 224219dd66 - made ListMenuItem.DrawSelector virtual. 2017-03-28 21:39:03 +02:00
Christoph Oelckers 245a9ef80c - fixed MenuItemBase.OnMenuCreated was not declared virtual. 2017-03-16 21:34:03 +01:00
Christoph Oelckers 6db355a947 - added a callback to menu items for when a new menu gets created.
- added a StartSlideshow ACS and ZScript command and extended the functionality to specify the slideshow's name when starting it.

This is for triggering any kind of intermission definition in the middle of a level - keep in mind that this may not be set up to loop!
2017-03-14 10:41:13 +01:00
Christoph Oelckers e7a677ef61 - fixed bad menu size calculation, this was particularly visible in Hexen's skill menu. 2017-03-13 23:02:59 +01:00
Christoph Oelckers cd392e50e9 - added a dummy struct named '_' to define global variables. This can only be used internally.
This method was chosen because it avoids adding variable declarations to the global namespace which would have required a lot more work while polluting the grammar.
This way the global variables can be handled by a small bit of special coding in the struct generator.
2017-03-13 14:42:14 +01:00
Christoph Oelckers 2533ff3ffc - fixed: ListMenuItemStaticText used the wrong default color. 2017-03-13 09:30:33 +01:00
Christoph Oelckers 60fd79ce23 - some menu reorganization:
* dynamic lights also work in the true color software renderer and have been moved out of the OpenGL menu.
* created a separate software renderer menu and moved all relevant options there.
* delete non-applicable options when running in legacy mode.
* moved the OpenGL preferences menu one level up to eliminate a two-entry GL top level menu.
2017-03-13 01:17:46 +01:00
Christoph Oelckers 9d6b5f7015 - switched the menu code over to the data types of the event system.
Note that this will require adjustment of all menu code which overrides the Responder method!
2017-03-06 22:27:51 +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
ZZYZX c9a994a885 Fixed: clearscope should also clear the inherited scope (through struct member access chain); Fixed: struct member access chain should ONLY work for structs (forgot that FxClassMember inherits FxStructMember) 2017-03-04 00:04:19 +02:00
ZZYZX 723f9770a4 Merge remote-tracking branch 'gz/master' into gz_master2 2017-03-03 23:33:02 +02:00
ZZYZX f4a546aee6 Moved menus to ui side, moved AlterWeaponSprite to ui side, moved StaticEventHandler to play side (except ui virtuals) 2017-03-03 23:15:18 +02:00
Christoph Oelckers 6210a67f85 - fixed messagebox correctly. 2017-02-26 12:50:11 +01:00
Christoph Oelckers 165a980065 - fixed: The base MouseEvent method must return true, not false.
- fixed: It is a bad idea to start a save within an MKEY_Input event. At this time the window chain is not stable because the text input screen is in the middle of being taken down, so the save should be deferred until the next Ticker call of the SaveMenu.
2017-02-19 22:08:22 +01:00
Christoph Oelckers 65f2433ac7 - fixed: The text enter screen must be activated if it should be displayed. 2017-02-19 18:27:29 +01:00
Christoph Oelckers fa0be4d4a9 - fixed keycodes for confirmation menu. 2017-02-19 17:30:02 +01:00
Christoph Oelckers f3b6343e53 - use floats for menu item coordinates. This only has an effect in the ListMenu because the OptionMenu uses fixed offsets which work differently. 2017-02-19 17:24:30 +01:00
Christoph Oelckers fb52b034b0 - added a GenericMenu class, so that all menus can be given a virtual Init method.
Doing this to Menu itself would not work because the different menus require different parameters.
This also means that all menus that are routed through menu items must inherit from either ListMenu, OptionMenu or GenericMenu.
All other types can only be used internally.

This should complete the menu scriptification.
2017-02-19 15:35:28 +01:00
Christoph Oelckers 9089beb110 - scriptified most of the remaining parts of DMenu. Only the engine interface remains native now. 2017-02-19 15:23:33 +01:00
Christoph Oelckers e05242e44d - scriptified the remaining parts of the conversationmenu.
- do not resolve the backdrop texture to a texture ID at load time. This will allow custom menu classes to use this info differently.
- added a new ZSDF userstring property to dialog pages to give mods more means for customization.
- allow overriding the conversation menu class both globally through MAPINFO and per conversation in ZSDF.
2017-02-19 14:21:49 +01:00
Christoph Oelckers d85b9cdd71 - scriptified the input methods of DConversationMenu.
- fixed handling of DimAllowed.
2017-02-19 13:07:49 +01:00
Christoph Oelckers 3c8a5fdbe7 - scriptified the drawer functions of the conversation menu. 2017-02-19 12:28:05 +01:00
Christoph Oelckers 8db1646056 - fixed: Strife dialogues remembered the last menu's selection index, but with the possibility of changing sets of replies between calls of the same dialogue it should be the reply's index in the list of replies that gets remembered. 2017-02-19 10:34:47 +01:00
Christoph Oelckers 2440951811 -scriptified the ReadThis screen. 2017-02-19 00:08:30 +01:00
Christoph Oelckers e46571c192 - DMessageBoxMenu is fully scriptified. 2017-02-18 23:39:02 +01:00
Christoph Oelckers 62b594a499 - DMessageBoxMenu::Drawer scriptified. 2017-02-18 23:18:55 +01:00
Christoph Oelckers aabcc1f92e - scriptified the input functions of DMessageBoxMenu. 2017-02-18 23:05:01 +01:00
Christoph Oelckers de1e7661eb - removed all native remnants of TextEnterMenu. 2017-02-18 21:25:19 +01:00
Christoph Oelckers f5a0f6b3bf - almost done with TextEnterMenu. 2017-02-18 21:18:23 +01:00
Christoph Oelckers 0c41a9dee7 - scriptified DTextEnterMenu::Drawer. 2017-02-18 20:12:06 +01:00
Christoph Oelckers 1b4c9e13b8 - cleaned out some cruft from the menu code, now that ListMenu is fully scripted. 2017-02-18 19:11:53 +01:00
Christoph Oelckers b7a5437af6 - scriptified parts of ListMenu. 2017-02-18 18:35:44 +01:00
Christoph Oelckers 6a65f02257 - completed scriptification of LoadSaveMenu. 2017-02-18 18:01:24 +01:00
Christoph Oelckers e46d378fb2 - sciptified DLoadSaveMenu::Drawer. 2017-02-18 17:51:40 +01:00
Christoph Oelckers 4a6d0f1fa5 - scriptified DLoadSaveMenu::MenuEvent. 2017-02-18 17:35:01 +01:00
Christoph Oelckers ee6a90deec - scriptified DLoadSaveMenu::Responder.
- scriptified DSaveMenu.
2017-02-18 16:40:32 +01:00
Christoph Oelckers 872969eb14 - scriptified the LoadMenu class and exported the entire interface to handle the LoadSaveMenu. 2017-02-18 14:08:16 +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 5f1241a55c - scriptified the rest of the player menu. This compiles and runs but doesn't work yet, it will be fixed in the next commit. 2017-02-18 01:20:07 +01:00
Christoph Oelckers 49a07180c0 - scriptified ClassChanged. 2017-02-17 23:56:22 +01:00
Christoph Oelckers 50d2846e40 - scriptified UpdateColorsets. 2017-02-17 23:16:07 +01:00
Christoph Oelckers 97eed1e6df - scriptified UpdateSkins. 2017-02-17 22:12:56 +01:00
Christoph Oelckers 6a2525b737 - scriptified PickPlayerClass. 2017-02-17 20:58:11 +01:00
Christoph Oelckers b375657509 - scriptified DPlayerMenu::SkinChanged. 2017-02-17 20:49:04 +01:00
Christoph Oelckers 51493cde8c - scriptified DPlayerMenu::MenuEvent. 2017-02-17 20:02:26 +01:00
Christoph Oelckers f4e9cd0009 - scriptified DPlayerMenu::MouseEvent. 2017-02-17 18:21:59 +01:00
Christoph Oelckers 416911587e - scriptified PlayerMenu.Drawer 2017-02-17 16:53:36 +01:00
Christoph Oelckers 74c4748593 - fixed the message switch for the controls menu. 2017-02-17 12:10:10 +01:00