I've been building a custom map selection menu in ZScript, which uses Level.ChangeLevel to jump to the selected map. Unfortunately, Level.ChangeLevel only works while a game is active, so I can't use this to replace the EpisodeMenu that would be accessed during the pre-game titlemap.
Thinking about it in terms of CCMDs, Level.ChangeLevel is pretty similar to changemap, which also only works when a game is active. So it would be great to have a ZScript equivalent of the map CCMD as well, which can start a new game from an arbitrary map.
Looking through c_cmds.cpp, it looks like this could be done through G_DeferedInitNew. Maybe this can be exposed to ZScript? Being able to start on a specific skill level — or with a specific episode — would be give modders the most flexibility to develop new menus. It would be especially helpful if it could be used in a UI context; right now I'm changing levels through a network event (because Level.ChangeLevel causes some quirks when called from a UI), and I know network events don't work from the titlemap either.
Maybe something like...
WhateverStructGoesHere.NewMap(string mapName, int skill = -1);
WhateverStructGoesHere.NewEpisode(string episodeName, int skill = -1);
(I think I submitted a similar feature request a year or two ago; that one was pretty vague, but this one should be more specific and actionable.)
Starting a new game/map/episode from ZScript?
Remember, just because you request it, that doesn't mean you'll get it.
Moderator: GZDoom Developers
1 post
• Page 1 of 1
-
- Posts: 80
- Joined: Sun Apr 15, 2012 2:58 pm
Starting a new game/map/episode from ZScript?
Post by TheShadsy »
1 post
• Page 1 of 1
Return to “Feature Suggestions [GZDoom]”
Jump to
- Important Threads
- ↳ HELP! "Account is inactive!"
- ↳ Official ZDoom Community Rules
- ↳ Mod Download Broken? Request Reuploads Here
- ↳ Don't see your first post(s) here? DON'T PANIC
- ↳ Errors? Can't run that new mod? Your GZDoom or ZDoom may be too old!
- ↳ Official Discord Server
- ↳ New Password Requirements and Password Reset
- ↳ A quick notice about privacy (Re: Our efforts to combat spam)
- Official
- ↳ ZDoom (and related) News
- ↳ The Spotlight
- ↳ Developer Blog
- ↳ Rules and Forum Announcements
- Technical Issues
- ↳ Technical Issues
- ↳ Helpful Stickies
- GZDoom Development
- ↳ Bugs [GZDoom]
- ↳ Important Threads
- ↳ Please check the latest version (or dev builds) before reporting!
- ↳ Classic ("Carmack") Software Renderer Bugs
- ↳ OpenGL Renderer Bugs
- ↳ OpenGLES Renderer Bugs
- ↳ Vulkan Renderer Bugs
- ↳ Audio/Music Bugs
- ↳ LZDoom Bugs
- ↳ ZDoom.org Bugs
- ↳ On Hold Bugs
- ↳ On-Hold Softpoly Bugs
- ↳ Closed Bugs [GZDoom]
- ↳ Vintage Build Bugs
- ↳ SoftPoly2 Bugs
- ↳ Feature Suggestions [GZDoom]
- ↳ ZDoom.org Suggestions
- ↳ Code Submissions
- ↳ On Hold Suggestions
- ↳ Closed Feature Suggestions [GZDoom]
- Raze-Specific Stuff
- ↳ Raze
- ↳ News
- ↳ Raze (and ZDoom-related) News
- ↳ Technical Issues
- ↳ Technical Issues
- ↳ Raze Development
- ↳ Bugs [Raze]
- ↳ On Hold Bugs
- ↳ Closed Bugs [Raze]
- ↳ Feature Suggestions [Raze]
- ↳ Code Submissions
- ↳ On Hold Suggestions
- ↳ Closed Feature Suggestions [Raze]
- ↳ Discussion
- ↳ General
- ↳ Editing Help
- ↳ Scripting (Build)
- ↳ Mapping (Build)
- ↳ Tutorials (Build)
- ↳ Projects
- ↳ Projects
- ↳ Abandoned Projects
- Doom Editing Help
- ↳ Scripting
- ↳ Mapping
- ↳ Assets (and other stuff)
- ↳ Tutorials
- ↳ Programming and Compiling
- Discussion
- ↳ General
- ↳ Networking
- ↳ Legacy Discussion
- ↳ Off-Topic
- Projects
- ↳ Levels
- ↳ Gameplay Mods
- ↳ TCs, Full Games, and Other Projects
- ↳ Resources
- ↳ Requests
- ↳ Script Library
- ↳ Graphic/Audio Patches
- ↳ Shaders
- Software and Ports
- ↳ Launchers
- ↳ Game Engines
- ↳ Creation, Conversion, and Editing
- ↳ Miscellaneous
- Archives
- ↳ The Halls of the Dead
- ↳ Abandoned/Dead Projects
- ↳ Editing (Archive)