Masmblr / map-tremor_2016_src

Game level for Tremulous featuring a Tremulous map remake.
https://tremulous.net/
MIT License
0 stars 0 forks source link

possible Geometry leak #1

Closed ghost closed 1 year ago

ghost commented 1 year ago

When running the map with daemonEngine, after a quick novis compilation with Netradiant (1.5.0), it is possible to go outside of the map's geometry from where I am in this screenshot:

2023-10-29

I could not see anything in NetRadiant that would explain this, but then, I am not a mapper myself. It might be because of a bug in DaemonEngine/Unvanquished, I do not know.

2023-10-29_000

The leak seems to happen where the "hint" and the pipe collide, but I tried removing the hint (just in case, despite I think they're only used to optimise computations of visibility) and obviously this didn't solved the problem.

Masmblr commented 1 year ago

Hi, I checked the spot on Tremulous, and there doesn't seem to be any such problem. I'm pretty sure it's related to the daemon engine. Since this map repository is for Tremulous, I cannot address problems that occur when using this map on other engines. However, I am currently preparing a release of usstremor, which is essentially tremor_2016, specifically for Unvanquished. I don't think it's necessary to port this map to Unvq because of usstremor. Therefore, I recommend simply skipping this map as it is unnecessary. I hope you understand my perspective, as this is not a "real" bug. Regarding hint brushes: those structs only affect the vis-mesh and not the level-bush mesh.

ghost commented 1 year ago

Don't worry, this answer is perfectly correct to me, I don't know anything about mapping, only a bit about what mappers can do, gameplay-wise(*) and I'm still learning often about it.

So, the conclusion is: this bug is daemon-side. This is really useful to know.

I think @illwieckz ported/packed usstremor in the past, but I believe some mistakes were made in the process there (porting to some idTech4 stuff, but only good ol' q3 stuff seems to really work in unv), and tremor_2016 looks much better. Both BSPs contains the leak, and I actually thought that usstremor was a renaming of tremor-2016, for which we didn't had source so far, renaming so that the map would not be named looking like tremor (I don't know enough, maybe could create conflicts...) I noticed the slightly different geometry in tremor-2016, and the nobuild area. I thought it was simply a "recent" update.

*: speaking of this, I wrote a patch for @cu-kai which add the "TOGGLE" spawnflag to doors: when used, doors will not go back at original position after "wait" seconds elapsed, not in upstream yet, though. I'd like your input on how this would be useful, and if it could have more usages? I also got func_destructable working and merged in upstream: those entities can deal damages like a grenade when destroyed. I'm planning to add more of tremulous AMP features, like the force_weapon or force_class, to unvanquished, as I thing they can be pretty useful for scenario based maps, or why not: a tutorial. Your opinion as a pretty good mapper would be precious to me.

ghost commented 1 year ago

Oh, also, since the bug is absent from tremulous, I'll close it from here. Thanks again for the help, and sorry for the time.

illwieckz commented 1 year ago

I think @illwieckz ported/packed usstremor in the past, but I believe some mistakes were made in the process there (porting to some idTech4 stuff, but only good ol' q3 stuff seems to really work in unv)

What I did was to repackage from pk3 to dpk and reconvert old crn to new crn.

The “idTech4 stuff” is the old material format XreaL implemented by mimicking the idTech4 syntax, which is now deprecated in engine because it doesn't allow advanced techniques like multitexturing terrain blending and things like that. This idTech4 syntax was the standard XreaL one before so it was the way the map was done for Unvanquished back in the days. There is no change in that support, we just report it as deprecated because it requires more work at parsing time and support less features.

Q3 shader syntax has no known regression, idTech4-like XreaL syntax has no known regression (compared to first release of Unvanquished), and Daemon syntax has no known regression. In fact hundreds of bugs were fixed since the release of usstremor and enormous parts of the code were entirely rewritten on that purpose. The code is now more compatible, more featureful and faster than when usstremor was released.

illwieckz commented 1 year ago

Deprecated idTech4/XreaL syntax:

models/buildables/drill/drill_dead
{
    qer_editorImage models/buildables/drill/drill_d
    diffuseMap  models/buildables/drill/drill_d
    normalMap   models/buildables/drill/drill_n
    specularMap models/buildables/drill/drill_s
}

Recommended Dæmon syntax:

models/buildables/drill/drill_dead
{
    qer_editorImage models/buildables/drill/drill_d
    {
        diffuseMap  models/buildables/drill/drill_d
        normalMap   models/buildables/drill/drill_n
        specularMap models/buildables/drill/drill_s
    }
}

The new syntax allows to use multiple stages for extra effects, this basically allows to use at the same time both features from idTech3 (stage blending) and idTech4 (multitexturing), to neither regress from idTech3 and idTech4 on those topics.

ghost commented 1 year ago

well, this only shows how much I have to learn. Thanks for both your patiences. I'll try my best to avoid reporting false issues in the future, but no guarantee. I usually checks things in various quake documentations I can find on the web, but it is hard to find a single reliable source, or for me to understand what I read, sometimes. My bad.