Garux / netradiant-custom

The open-source, cross-platform level editor for id Tech based games.
https://garux.github.io/NRC/
Other
316 stars 56 forks source link

(Feature request) Increase number of shown spawnflags in the Entity editor + maybe add hackflags from Q2 for N64? #150

Open RazielZnot opened 1 year ago

RazielZnot commented 1 year ago

Quake 2 Remaster added more spawnflags for some entities but NetRadiant shows only 16 of them at max, while Trenchbroom is able to show 24. I think, we need the possibility of showing all 32, just in case. Also we need a feature that would allow us to mark unused flags with some special syntax and thus make the editor ignore them completely, so they wouldn't clutter the field where they are shown in the UI. Currently I use dots as the names for unused flags but I really wish they weren't displayed at all.

Also the remaster added support for hackflags from Quake 2 for N64 and I'm not sure what to do with them, they are used as an extension of spawnflags and there is not that many of them but they look pretty useful for mods. Maybe the editor needs something like a custom tab for user defined flags which will be tied to the specified key? Or make it in the same manner as it's done for surface and content flags where you can hide them at will?

And talking about FGD files, apparently, using them in NetRadiant makes it impossible to see spawnflags or am I missing something? For this reason I'm currently working on assembling DEF file from scratch and later I will probably convert it into ENT when everything will be done and tested. The released source code of the remaster's game.dll turned up pretty dirty and gathering all supported entities and flags from it was one hell of an experience, some entities weren't even marked by QUAKED comments and spawnflags were all over the place. The funny thing is that the original code is even worse, the flags there were set as numbers 1, 2, 4, etc. which is a crime!

Garux commented 1 year ago

I can bump flags count easily, only concern is performance, would be nice to test it, while doing.

unused flags

i think this exists, tried to check existing .defs? /*QUAKED ambient_custom_sound (0.5 0.1 0.8) (-16 -16 -8) (16 16 8) x PLAYONCE TRIGGER x x x STARTOFF x

hackflags

what are they exactly?

FGD files, apparently, using them in NetRadiant makes it impossible to see spawnflags

were def visible, while i was fixing Q2r fgds for you.

RazielZnot commented 1 year ago

i think this exists, tried to check existing .defs? /*QUAKED ambient_custom_sound (0.5 0.1 0.8) (-16 -16 -8) (16 16 8) x PLAYONCE TRIGGER x x x STARTOFF x

I know about this, it just shows x in the place of the flag but doesn't hide it. I decided to use dots for now because they're smaller.

Hackflags are like regular spawnflags, the key is named hackflags and can be set like this:

For monsters: HACKFLAG_ATTACK_PLAYER = 1 //causes monsters to be mad at the player regardless of circumstance HACKFLAG_END_CUTSCENE = 4 //changes their behavior for the end cutscene

For target_camera: HACKFLAG_TELEPORT_OUT = 2 //effect of teleport used on player model HACKFLAG_SKIPPABLE = 64 //allow skipping camera sequence but only after 2 seconds HACKFLAG_END_OF_UNIT = 128 //shows unit total kills, secrets

were def visible, while i was fixing Q2r fgds for you.

Yes, I checked it, it was mostly fine, except for the missing spawnflags in the UI. And about the game profile, it has these lines:

entityclass="halflife" - applies the use of FGD, right? Because changing it to quake2 crashes the editor. entityclasstype="fgd" entities="quake3" - changing this to quake2 also crashes the editor.

Garux commented 1 year ago

x x x

ic, it's .ent not having the issue, must be possible for .def too

fgd flags

image

RazielZnot commented 1 year ago

How strange. Can you share your whatever.game file?

Garux commented 1 year ago

\gamepacks\games\hl.game

RazielZnot commented 1 year ago

Ok, I see the reason. This doesn't work in the stable release, but works in the dev build, which I used only for testing.