Kavawuvi

Invader

137 posts in this topic

Tiddy-bits:

4 hours ago, WaeV said:

Haha, love this technical term.

The needler is a very naughty model.

 

I did look into the issue a bit further. Funnily enough, invader-extract is not the only extraction tool that exhibited this bug.

Ryx likes this

Share this post


Link to post
Share on other sites

Invader has dropped MCC support.

 

For an explanation and what I plan to do on going forward, please read this post:

 

ST34MF0X likes this

Share this post


Link to post
Share on other sites

I've finally done a version bump to 0.35.0. This one is a pretty big one.

 

For starters, we now have an icon designed by @ST34MF0X.

eU4sn03.png

 

A palette-swapped version is used for invader-edit-qt (the normal orange/brown version is planned to be used as an icon for something else that will be much bigger).

 

cztwP5o.png

 

Word wrapping is now present in a number of warnings and errors for terminals wider than 80 characters (Windows and Linux only for now - other systems simply wrap to 80 characters)

AyPjbcR.png

 

I've also fixed a number of issues with invader-build:

  • Some maps with fog planes that would crash (such as d40) no longer crashes when built with invader-build
  • Detail objects now appear when they're supposed to
  • A number of issues with decals have been fixed
  • Some errors have been made even more descriptive
  • And more!

For more information, read the changelog at https://github.com/Kavawuvi/invader/blob/master/CHANGELOG.md#0350---2020-07-14

Sunstriker7, WaeV, Broomish and 1 other like this

Share this post


Link to post
Share on other sites

From the Invader Discord server:

 

Quote

Wellp, I'm selling out.

 

I've recently graduated from college, so I have a formidable amount of college debt, and I'm in the process of getting a job to cover that (which will likely take several years). This means that I'll be spending even less time working on this project than I have before.

 

Long story short, I made a Patreon page. I *really* never wanted to make one, but I'll only have so much time I can spend on this project. Note, however, that there are no tiers, "exclusive access", or anything like that, as I don't feel they belong in a project like this. I've made this to possibly allow me to spend more time on this project. You can access the page here: https://patreon.com/snowy_invader

 

The project isn't going away, even if I never get any donations, but I need to take care of my life before I can take care of this project. So, contributions to Invader are most appreciated, whether that's testing, donating, fixing issues, etc.

 

And many thanks to the people who have already been testing Invader and reporting issues. Your efforts have been most useful.

 

tl;dr: I made a Patreon because life is happening.

 


 

In other news, I've received some complaints about some errors with stock HEK tags not building due to errors. This is intentional because the stock tags actually have invalid data which can result in undefined behavior. Undefined behavior can result in crashing and other unintended side effects. Obviously the stock assets don't crash the game, but they still need to be fixed.

 

I've included instructions in the readme on how to resolve this (https://github.com/Kavawuvi/invader#i-get-errors-when-building-hek-tags-or-tags-extracted-with-invader-extract) but here's the gist:

 

You can fix resolve indices, enums, and out-of-range errors with this command:

invader-bludgeon --all -T invalid-indices -T invalid-enums -T out-of-range

Also, a number of tags still reference .model (Xbox) instead of .gbxmodel (Halo PC). tool.exe automatically corrects this to gbxmodel, but because we're supporting Xbox maps (and we're planning to build Xbox maps), we can't just do this. I don't expect people to want to actually go through all of their HEK tags and fix the references (there are over 240 tags that are affected), so I've added a command to do the work for you:

invader-refactor -Nc model gbxmodel

Lastly, invalid CRC32s are present on some stock HEK tags. This is fixable with this command:

invader-strip --all

If you aren't using a system-wide install, replace the program name with the path to the program executable. Also, note that the commands can be used with "-t <path-to-tags-directory>" like invader-build.

ST34MF0X and WaeV like this

Share this post


Link to post
Share on other sites

A few days ago, I fixed a longstanding issue where dialogue that wasn't supposed to play would play. Also, the "blend shared normals" flag in model tags now works (this flag linearly averages the normals of all vertices with the same position). Lastly, sound_looping tags now have their distances correctly set. There are only two pending issues left for invader-build: script compilation (which only applies to maps that contain child scenarios which have scripts - most people don't do this) and Xbox map compilation. This means that, unless there are any unknown issues that have not been reported due to a lack of testing, invader-build is almost feature complete.

 

Next, invader-edit-qt has received a few improvements.

 

It now has a color picker.

zuKx5Nh.png

 

You can also play sounds from different pitch ranges:

a1qcqaN.png

 

I'm also working on adding groups and documentation for the tag fields to better assist you in making tags, and some of this text will be rewritten to better explain fields. Here's an example:

hlV797e.png

ST34MF0X, Sunstriker7, WaeV and 1 other like this

Share this post


Link to post
Share on other sites

I've done some more work on Invader.

 

For a start, a number of invalid string tags are now caught by invader-build and reported as errors. This includes the following:

  • Strings with a size of zero bytes (not the same thing as an empty string since those have a null terminator)
  • Strings without a null terminator
  • Strings with a size that isn't divisible by the character size (i.e. a unicode_string_tag with half a character)
  • Strings with invalid line endings

These issues are caused by tools that edit string list tags and can potentially cause issues in-game, so they are caught by invader-build. Tools that generate string list tags such as tool.exe and invader-string do not have these issues. I'll be adding an option in invader-bludgeon to make such invalid tags valid if you want to use them.

 

Invader's vector checker is now more sensitive, catching more vectors that tool.exe doesn't like when doing things like generating lightmaps or building cache files. invader-build now errors on these, since they aren't technically valid vectors, but you can use invader-bludgeon to normalize them so they work.

 

Matrices are no longer displayed on one line in invader-edit-qt.

7DiqGbG.png

WaeV, Takka and ST34MF0X like this

Share this post


Link to post
Share on other sites

I've updated Invader a bit!

  • invader-bludgeon can now fix invalid strings caught by invader-build.
  • invader-build now takes rotation into account when placing objects and determining if they wouldn't spawn. It also now has some more checks.
  • invader-compare can now look for duplicate tags. Fun fact: There are over 800 instances where a tag is a duplicate of another tag in the stock tag set. If you were to dedupe these, you could possibly save quite a bit of tag space in some maps.
  • invader-edit-qt now has some help text for bitmap tags to help guide you through the various formats.
  • invader-extract: You now have the option to not load resource maps. If so, then tags that require them cannot be extracted. However, this is required for some maps.
  • invader-info: I've refactored it, and I've updated some of the checks in it to better diagnose issues.
  • invader-refactor can now copy tag directories while also updating all references internal to said directory. For example, if you copy weapons\assault rifle to weapons\assault waffle, then the weapon, model, shaders, bitmaps, etc. will be copied to the new directory with the references updated to match the new paths.
  • invader-string now checks to see if your last string ends with ###END-STRING###. This is to prevent you from generating string lists where the last string is missing. tool.exe does NOT have this check, interestingly, so it can have the issue.

Anyway, Invader is now 0.37!

Share this post


Link to post
Share on other sites

So it seems Qt 6 will be dropping support for Windows 7 and Windows 8/8.1.

 

https://www.qt.io/blog/qt6-development-hosts-and-targets

 

Invader uses Qt for invader-edit-qt. This means that, if I use Qt 6, then Windows 7 support comes into queston.

 

Basically, there are a few options on how this project can proceed:

  • Stay on Qt 5.
    This only works for the short term, as Qt 5 will lose support as time goes by, especially on Linux.
     
  • Pray that Qt 6 doesn't break on Windows 7.
    Since we have zero guarantee ANYTHING in Qt 6 will work, we don't even know what all will work.
     
  • Drop Windows 7/8 support.
    Let me put this front and center: Windows 7 is better than Windows 10 and it isn't even close. I'd be impressed at how catastrophic Microsoft fucked up when making Windows 10 if it weren't for the fact that I have lost so much productivity on that operating system.

    Dropping the last decent version of Windows to ever be made by the good people at Redmond, Washington would suck massively. But Windows 7 is now considered "legacy" software, having fallen out of support years ago. Fewer things are supporting it these days, even if some software is dropping it for really dumb reasons.
     
  • Switch to another GUI toolkit.
    I really don't have time to commit to such a massive project.
WaeV and ST34MF0X like this

Share this post


Link to post
Share on other sites
  • Recently Browsing   0 members

    No registered users viewing this page.