Zandronum Chat @ irc.zandronum.com
#zandronum
Get the latest version: 3.0
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003599DoomseekerUIpublic2019-01-27 05:252019-02-05 15:38
ReporterBLOODWOLF 
Assigned ToPol M 
PrioritynormalSeverityminorReproducibilityalways
Statusneeds reviewResolutionopen 
PlatformHP laptopOSWindowsOS Version8.1
Product Version1.2 
Target VersionFixed in Version 
Summary0003599: Allow Adding Maps En Masse To Playlist
DescriptionCurrently we cannot shift or ctrl+click multiple maps to add at once to the playlist. And Create Game>Rules Tab>Map List always warns about "Current map isn't on map list. Game may misbehave." when attempting to add maps using that method (Doom 1, typing "E1M1" into text box then clicking [add]). General Tab>Map: [is empty]

I only bring this up because if a user creates a server and defines the starting mission in General Tab>Map: E3M1 for example, once the players defeat that episode's final boss the server starts back over at E3M1 (if it doesnt kick all the players instead which commonly occurs) instead of moving onto E4M1 which I think the community would intuitively assume should have happened.
Attached Files

- Relationships

-  Notes
User avatar (0020321)
Zalewa (developer)
2019-01-27 11:29

Your point has merit but I'm not sure what's the solution you're seeking. What do you mean by adding multiple maps to the map list by "shift" or "ctrl+click"? The maps to the map list are typed in.

Do you want Doomseeker to define some batch presets that can be included on the map list with a single click? Consider that WADs are free to define their own map names - so E#M# and MAP## are not the only formats that will be encountered.

Or do you want the map list box to accept a drag'n'drop from a text file with a predefined map list?

Or do you want Doomseeker to parse the loaded WADs and list all the map names for you? (this will be a lot of work, mind you)
User avatar (0020324)
BLOODWOLF (reporter)
2019-01-27 17:12
edited on: 2019-01-28 01:56

Personally I would like it if we could shift+click add maps (with add button or drag 'n drop is fine too) in the Maps > Playlist... dialog when a server has already been created. That new window populates all the maps included in your current .wad and what I intuitively attempted to do at first.

Or allow the server to continue on to the next episode after E3M8 for example instead of looping back to E3M1 after the boss which is the reason why I began looking into how to populate a map playlist. And even if you start your server on E3M4 for example it will loop back to E3M1 (or kick everyone from the server) after defeating the Spiderdemon.

So, this behavior from Doomseeker is the actual cause/issue that lead to the request to add many maps at once to the playlist. If it automatically jumped to the next episode or did not kick all players from the server after the boss in Doom I then that would resolve the issue as well.

User avatar (0020325)
Zalewa (developer)
2019-01-28 19:24
edited on: 2019-01-28 19:24

So, to fulfill your needs, Doomseeker would have to parse the WADs (and PK3s) selected for the game and list all the available maps. You would then be able to select & drag all of them to the map list in one go.

This is not unfeasible, but it will be quite an undertaking. Doomseeker currently has no code whatsoever for parsing WADs. Maybe we could borrow some from Zandronum?

User avatar (0020326)
Pol M (developer)
2019-01-28 20:53

Quote from Zalewa

Maybe we could borrow some from Zandronum?

I was thinking of suggesting this, but I was gonna wait to see if it looked like it was possible. I'd say that this would be a good idea and would save us the hassle.
User avatar (0020327)
BLOODWOLF (reporter)
2019-01-28 21:52

Yes, if that is the Zandronum code that is listing all the maps once you already have a server running and then allow mass adding/removing that would be much more user-friendly.
User avatar (0020328)
Pol M (developer)
2019-01-28 22:19
edited on: 2019-01-28 22:20

Huh, so you're asking for a way to change the parameters of the zandronum server once it has already been initialized, right? (I'd say that this, unfortunately, will probably be impossible, all the data is set when the server starts).
That said, making the process of adding wads *before* the server starts easier can be feasible. That said, maybe there is some RCon magic that can be pulled out, I'd need to read more the wiki :)

If I'm wrong, I'll be very happy :P

User avatar (0020329)
Zalewa (developer)
2019-01-28 23:10

Let's not over-do this. Limiting the functionality to a pre-game setup is enough. Server admins that need more flexibility in configuring their servers always have the whole .ini file at their disposal and the "exec" CCMD.
User avatar (0020330)
Pol M (developer)
2019-01-29 23:41
edited on: 2019-02-02 16:57

Okay then. I'll take a look at the possibilities we have. As said, maybe it will be necessary to take code from zandronum. I don't know a lot about licences and anything non-code related that could apply in this situation, so I'll leave that to the reviewer of a potential pr :)

EDIT: The code I want (w_wads.*) has a massive amount of dependencies that either would need to be imported (bad idea, I reached 200 files and decided to stop, plus it needs things like lzma) or that should be replaced (bad for me, because some classes are quite intricate). I've been reading about the wad structure and pk3 (it is just a zip), and it *should* be easy to grab the info we need more easily if I wrote it myself (Well, maybe not easier but truly a lot more entertaining). Since there is nothing urgent here, I'll give it a try.
EDIT2: I take it back, I rather deal with the dependency hell
EDIT3: Man, this is going to take forever. I've found this (really old) library that is cross-platform, LGPL licenced, documented, and that while it claims to be not yet finished, in the TODO file it only says that there are just a few missing features and needs more testing. I'll dust it off and give it a go (fingers crossed)(https://sourceforge.net/projects/libdoomwad/)

User avatar (0020331)
Zalewa (developer)
2019-02-03 08:34

The game will have tons of code for WAD parsing because the game needs to parse everything, while all that we need to do is find the map lumps (however that's done) and return their names.

If you find this library any good, its code can be incorporated directly into Doomseeker's code. Its license is already compatible and it will save us from adding an extra dependency.
User avatar (0020332)
Pol M (developer)
2019-02-03 14:36
edited on: 2019-02-03 14:43

Quote from Zalewa
The game will have tons of code for WAD parsing because the game needs to parse everything.

I know, but it is so tangled up that it ends up needing pretty much all the engine. I have decided to not continue because of how time-consuming it would be to get what I need.
Quote from Zalewa

its code can be incorporated directly into Doomseeker's code.

Done! I'll proceed with a pr with an example. Please note that it only handles wad files and not pk3. This example covers most cases while only checking the bare minimum of the requirements for a map. Here is a list of the "requirements" for a map
(just for clarity, the necessary lumps are: THINGS, LINEDEFS, SIDEDEFS, VERTEXES, SEGS, SSECTORS, NODES, SECTORS, REJECT, BLOCKMAP)

User avatar (0020333)
Blzut3 (administrator)
2019-02-03 20:38

For pk3 files we already have zip reading code in Wadseeker which we make public since it's useful for extracting development builds. Pk3s could be complicated since some mod authors like to abuse the recursive file loading that ZDoom/Zandronum does. My recommendation would be to only support listing the maps in the maps/ directory in order to give more incentive for authors to do the right thing, but maybe that's just me.

I don't particularly care if you want to use that library, but just want to mention that with QDataStream you should be able to read the WAD's directory with maybe 20 lines of code. It's a pretty trivial container format.
User avatar (0020334)
Pol M (developer)
2019-02-03 23:00
edited on: 2019-02-04 00:24

Quote from Blut3

I don't particularly care if you want to use that library, but just want to mention that with QDataStream you should be able to read the WAD's directory with maybe 20 lines of code. It's a pretty trivial container format.

Oh. that is indeed easy.
...
...
Well, I'll proceed to make a small class that reads the header and the directory. XD
EDIT: DONE :)

User avatar (0020335)
Pol M (developer)
2019-02-05 15:36

I'm pretty much done (pr)

Issue Community Support
Only registered users can voice their support. Click here to register, or here to log in.
Supporters: No one explicitly supports this issue yet.
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2019-01-27 05:25 BLOODWOLF New Issue
2019-01-27 11:29 Zalewa Note Added: 0020321
2019-01-27 11:36 Zalewa Status new => feedback
2019-01-27 17:12 BLOODWOLF Note Added: 0020324
2019-01-27 17:12 BLOODWOLF Status feedback => new
2019-01-28 01:56 BLOODWOLF Note Edited: 0020324 View Revisions
2019-01-28 19:24 Zalewa Note Added: 0020325
2019-01-28 19:24 Zalewa Note Edited: 0020325 View Revisions
2019-01-28 20:53 Pol M Note Added: 0020326
2019-01-28 21:52 BLOODWOLF Note Added: 0020327
2019-01-28 22:19 Pol M Note Added: 0020328
2019-01-28 22:19 Pol M Note Edited: 0020328 View Revisions
2019-01-28 22:20 Pol M Note Edited: 0020328 View Revisions
2019-01-28 23:10 Zalewa Note Added: 0020329
2019-01-29 23:41 Pol M Note Added: 0020330
2019-01-29 23:41 Pol M Assigned To => Pol M
2019-01-29 23:41 Pol M Status new => assigned
2019-01-31 17:44 Pol M Note Edited: 0020330 View Revisions
2019-01-31 20:13 Pol M Note Edited: 0020330 View Revisions
2019-01-31 20:14 Pol M Note Edited: 0020330 View Revisions
2019-02-02 16:57 Pol M Note Edited: 0020330 View Revisions
2019-02-03 08:34 Zalewa Note Added: 0020331
2019-02-03 14:36 Pol M Note Added: 0020332
2019-02-03 14:43 Pol M Note Edited: 0020332 View Revisions
2019-02-03 20:38 Blzut3 Note Added: 0020333
2019-02-03 23:00 Pol M Note Added: 0020334
2019-02-04 00:24 Pol M Note Edited: 0020334 View Revisions
2019-02-05 15:36 Pol M Note Added: 0020335
2019-02-05 15:38 Pol M Status assigned => needs review






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker