Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Content count

  • Joined

  • Last visited

About selliott4

  • Rank
    Green Marine

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Recently when I cleaned up a bunch of Eureka check warnings (Check / ALL or F9) in the Freedoom project I found that not all checks could be fixed - there are false positives that can not be worked around without compromising the aesthetics of the map. For example, fake floors and fake ceilings are used which results in a missing texture warning. There are some false positives for Medusa textures as well. In software development for compiler warnings to be as helpful as possible warnings are either avoided, or suppressed with some special syntax in the code ("@SuppressWarnings" or similar). Similarly I thought it would be nice if there was a way of suppressing warnings that editors give. Whatever approach is used should not break when things are renumbered (you wouldn't want to just have a list of sector numbers for sectors where the warnings are suppressed (unchecked) since those numbers may become invalid). You wouldn't want some information in a separate lump since that lump maybe be stripped out, or become out of date. What I came up with is the idea that a special thing type can be added to a sector that indicates that all warnings for that sector (and connected sidedefs and things in them) should be suppressed, which I refer to as an unchecked sector. I took a shot at implementing this in my fork of Eureka, but I'm more interested in how folks feel about the approach than the implementation. Does this seem potentially helpful, and a reasonable approach? Sorry if this has already been done, but I didn't find it with a quick Google.
  2. Sounds like a neat project. Probably one of the first things to do is create readme describing the goals of the project since otherwise different folks might have different ideas about what it will look like, but good luck in any case.
  3. selliott4

    Freedoom Classic Megawad 0.01 Release

    Neat project. Older Freedoom was in Subversion. I don't suppose anyone has a still functioning Subversion URL that can be shared that can be used to find older resources. Are you aware of the fraggle's Freedoom leftovers from 2010? git has tags for 0.6.4 down to 0.5: $ git tag | sort -V | grep ^v | head -8 v0.5 v0.6 v0.6-rc1 v0.6-rc2 v0.6.1 v0.6.2 v0.6.3 v0.6.4
  4. I wrote my comment without first pulling the latest from git, which was silly of me since there's actually been a lot of activity in the last week, which is great. I hope my comment didn't rub anyone the wrong way. I also meant it as a compliment to how complete and close to done Freedoom is. I'm in favor of 100% vanilla compliance. I even submitted a pull request that adds a test script to test for vanilla compliance. I was exploring how things could be wrapped up easily, but I see now that that's no longer relevant. Maybe I should've done more research into Freedoom's post 1.0 goals before making that comparison, but often with games they become static at some point. People can then set speed run records knowing they'll remain relevant, but is that a good reason? I actually don't know, but I'm happy to hear what others think.
  5. I've touched on this in my previous comment where I mentioned that many of the 39 (at the time) open pull requests didn't have any comments, but Freedoom development waxes and wanes in large part due to involvement of folks of who have write access to the repository. I know everyone who is working on Freedoom is working for free and as such we're not entitled to anything. And I know Freedoom has been around for a long time and that some folks may be tired of it. Given that I'd like to propose a conservative approach to wrapping it up. Freedoom has had all 100 maps for a while now. I've played through all of the single player maps and I've enjoyed them. From my perspective they are all perfectly playable. They may not be perfectly vanilla, but they're close. I think Freedoom should have one final push where no maps are replaced, where only critical fixes are made for things like crashes in game engines, or playability issues that can be fixed with minimum risk and effort (not enough ammo, a game mode not being playable due to a barrier, etc.). It seems like it should be possible to do this in a few weeks. Maybe set a date a few months from now, whenever key players are available. And then have a 1.0 release, declare victory, and never work on Freedoom again. From that point forward any additional changes can be via a fork and managed by someone else. Hopefully having the finish line in sight will be energizing. I don't mean to criticize the more ambitious suggestions in this thread, but wrapping up Freedoom may be best. It's not like id Software has ongoing incremental changes to Doom 1 and Doom 2.
  6. Software development is difficult to plan. Often the time needed increases dramatically, seemingly exponentially, with the scale of the project. Underestimating this phenomena can result in development hell. I don't think that's what is happening with Freedoom. Although there is software in Freedoom (the build system) it's mostly levels, graphics and sound which should be, in least in theory, easier to plan. I wouldn't say that I'm a core developer of Freedoom, but I've contributed a few commits and as such I have some thoughts about how things could be done differently. Currently there are 39 open pull requests. Some have comments, which is great, but many don't. There's a risk of folks getting discouraged when they don't receive any feedback. Even if it's just something like "I'm busy now, but I'll get back to this in a bit" or "Sorry, but this isn't the direction we want to go" would be better than nothing. I don't understand the status of the 100 levels that make up Freedoom. I assume most of them are fairly stable and possibly a few may be replaced, but I'm not sure which. I was considering doing cleanup work to fix level editor warnings (unused tags, etc.), but I don't want to risk causing a conflict with trivial changes if there's a chance that someone is working on the level. A 100 row shared spreadsheet (Google Doc, etc.) would work well here. Just the level name and some status indicating the remaining work like "Done", "Minor changes", "Major changes", "Replace" and optionally a column describing what need to be done would be great. I'm all for branching and tagging in VCS. It allows users in support branches to receive the critical fixes they need with a minimum risk of regression while development continues. However, I think the nature Freedoom is that there's relatively little risk of a serious regression. In spite of that Fedora 34, released two months ago, packages Freedoom based on the latest tag, which is v0.12.1 from 2019, so it's missing about a year of changes. Freedoom seems like a good candidate for tagging often and releasing often in the master branch to assure that the distros get the latest. Anyway, those are my thoughts about how development could work differently.
  7. I created a pull request that adds a script and build targets to test for and fix errors that have to do with vanilla compliance. That is, it flags things that may be at risk of working differently for various source ports, or may simply be different than the style of the original IWADs from the 90s. For any field of any element in any lump that has a discrete set of values where it was possible to determine the vanilla set the script flags values that are outside of that set. For example, for the THINGS lump only the lower editor lumbers listed here are allowed. In some cases errors can be fixed in an automated way. For example, for the original IWADs from the 90s the goal was for angles to be a multiple of 45°, and in range [0°, 360°). The script fixes angles by rounding to the nearest multiple of 45°, changing the angle by at most 22°, which shouldn't be very noticeable in most cases. For whatever reason a common issue in Freedoom is angles set to 360°, which gets safely mapped to 0°. Although there are currently 456 errors after the fixes there are only 38 errors four of which are slopes (type 340) on E2M1, leaving only 34 errors to go through. However, I'm not submitting those fixes with this pull request, just the script itself. Ideally I think this would be combined with fixing errors flagged by map editors, which is why I added such as a suggestion to the documentation in README.adoc. I've had good luck with Eureka (the Check / All menu) which is why I suggested it, but other map editors will work. I know there are APIs that may have made this easier (omgifol comes to mind), but I wanted to avoid dependencies and licensing issues, and I had fun writing it anyway. I actually created a small test suite in another branch for test-vanilla-compliance, just in case that's interesting to anyone, but that small test suite is not part of the merge request.
  8. selliott4

    [FreeDoom2] Claustrophobic Threat

    Nice. It's a tough map, but maybe that's because I played it on UV. It looks like Phase 1 C 3, but it's a Phase 2 map.
  9. selliott4

    Is Freedoom heating up?

    Yes, that is the PR that added script to fix the map names that I wrote, but it hasn't been used. It should be easy and low risk (it literally modifies only 2 bytes per WAD), so I think running it periodically is a good idea. My motivation - the map names in the WADs in the "levels" directory do not matter very much except that wad2image, which I previously added to Freedoom, creates image files based on those names. So currently things like "make wad-image-diff", useful to see changes to maps, produces files with confusing names. See "make wad-image-help" for more info.
  10. selliott4

    Is Freedoom heating up?

    Just as I was becoming concerned that people were loosing interest in Freedoom there's been a huge increase in activity in git. There are 40 commits for August so far. Go Freedoom! PS: Now that people are actively working on it if one of you with commit access could check in the result of "make fix-map-names" that'd be great. It will get "make test" to pass cleanly. I could submit a PR, but it's changes to binary files, so it's easier to just do it rather than trust/examine the changes to those binary files in a PR.
  11. selliott4

    [Freedoom2] Map01 "ORE.wad"

    Were you thinking it could take the place of one of the currently vacant "dummy" maps?: $ grep MAP.*dummy wadinfo_*.txt wadinfo_freedm.txt:MAP33 = dummy wadinfo_phase2.txt:MAP26 = dummy wadinfo_phase2.txt:MAP33 = dummy I have no idea if it's suitable, nor do I have any authority, I'm just letting you know what seems to me would be a likely place for new maps.
  12. selliott4

    Improving player front walk animation

    It looks more like actual walking with your change. I think before maybe there was a huge amount of perspective, like the viewer was close, and maybe close to his feet, but I'm not sure why that would be. I like what you did.
  13. selliott4

    Finishing up PR 481

    I just submitted PR 547 with what I proposed in my previous comment. I've also closed out PR 481 since PR 547 replaces it.
  14. selliott4

    Finishing up PR 481

    After thinking about it a bit more I think they way to go is to have a Python script, sort of like the one I just proposed, that can both fix the map names *and* test that if they are correct. So something like "scripts/fix-map-names" since I think there is a desire to keep scripts in "scripts". By default fix-map-names would iterate through the files in "levels" and print out a table of any incorrect WAD files, the map name it had, and the correct map name it was changed to. It could be run after replacing or reordering maps. To test if the maps names are correct the new "test-map-names" build target would call something like "fix-map-names -t" where the "-t" option would test, which would effectively make it a dry run. This way the concept of having a basic test scaffolding run by "make test" is maintained where people could add "test-*" build targets, anyone could easily fix or test the map names at any time, and redundancy between testing and fixing scripts would be avoided (my proposed fix-map-names script would obsolete the current test-map-names in my PR). How does that sound? I would probably submit such a script some evening this week, or the weekend.
  15. selliott4

    Finishing up PR 481

    That's a good question. I thought (hoped?) that things are settling down and that rearrangements or replacements are getting to be less common, but you know better than me. In any case I don't mind checking in again in a few months and fixing it again. True, that could be done, but it would make wad2image output even more confusing. It's also possible I should update wad2image to generate image files based on the filename passed to it. In any case, one question is if the map names have any value for anything else such as build error messages, making things less confusing for people editing the files, people consuming Freedoom resources, or whatever. I don't know the answer though. The map name is the name of the first lump, which has a zero byte value. I assume that lump is required, but what if it could be stripped out of the WAD files in the "levels" directory combined with something being passed to duetex, possibly with a duetex modification, telling it what map name each file was? That may be getting more ambitious than we want to talk about though. And finally, a script could be written that automates fixing the map names. Since the map name is just the first lump name it could be done with a Python script that decodes reads the WAD file directly without any dependencies, and then writes the correct name. It would have some regexs to map from Freedoom filename, to Doom map name. I don't think it would be too hard. I could possibly write such a script.