.zip files staying the way they are and still acting as addons.

When you download a .zip, you have to handle the damn unzipping and finding which folders go where (A lot of them don’t have proper instructions)

Personally, I’d think it’d be much simpler to just do that.

Just look at games like BlockLand! (IN THE SENSE ON HOW ADDONS ARE EASIER NOW)

It doesn’t work like that, you need to unzip them for them to work.

But again, look at BlockLand. They have it so that all you need to do is put an addon in the addons folder and they’ll work.

That’s how it is in GMod. Slap the addon folder in your addons folder. Making them into zips would only make it more of a hassle if you wanted to tweak one of your addons.

If an addon isn’t packaged with a readme it’s probably a case of common sense for someone with any experience in installing addons.

you don’t need “proper instructions”

it has an info.txt, it goes in Addons, or Gamemodes.

You should be able to tell with by what you were downloading (or by looking at the files…).

If it lacks an info.txt, it goes in whatever folder it is named after (lua, models, maps, etc.)

I’m thinking something similar to the way Quake III Arena does it’s shit.

Quake III Arena uses the file extension .pk3. Basically, it’s a renamed .zip file, and inside it has the map, textures, what have you all ready to rock. You install it by slapping it in the “q3base” folder, uninstall you just delete. They’re all packaged the same way, so there’s no confusion. If for some crazy reason, the files aren’t IN the .pk3, you can put them naked in the q3base folder, in their proper file hierarchy.

I’m thinking we set up the addons folder Q3A style. This way, old addons that aren’t in .pk3 (or whatever the fuck Garry decides to name them, he could name them .pingas, and nothing wouldn’t give a shit) format will still work, and new addons become as easy as “one file one addon”. (Almost) retard proof, but knowing Facepunch, they’ll find a way to fuck it up.

Not only that, but you could pack metadata like version into each addon, then when you connect to a server with a newer version, it would auto-replace the older one.

Not a good idea. Because you can’t check if a version is NEWER (because everyone versions things differently), so if the versions are DIFFERENT, the server would overwrite a NEWER client version with an OLDER server version.

Also, obnoxiously big addons like Wire.

You do realise that loading times would double, or even triple with anything over 500MB worth zip files being extracted dynamically at startup? Sure, tools like 7-Zip and WinRar can unzip 500MB zip files in 30 seconds easy, but they’ve been heavily optimized over years, if garry were to implement a zip extractor into Gmod, extraction times would be much higher, and you would be looking at a much higher loading time, all just to save the effort of reading readme’s, or simply knowing that info.txt files go in addon/gamemode folders, like someone already said.

Not to mention that Gmod lacks multicore support, so zip files would take signifigantly longer to extract compared to 7-Zip or any other zip extractor that has multicore support.

So we don’t extract. We just read directly from the .zip file.

Again, I hearken back to Q3A as an example.

But don’t you have to get the zip data out of its funky compressed form to make any use of it?

You don’t understand the problem at all.

When you extract, you are reading directly from the .zip file, whatever extraction program you’re using reads the contents to memoroy, than uses the checksum to ‘extract’ the original files. There is only one way to access the contents of a compressed file, to copy it to the RAM, and ‘extract’ the files from it using algorithms and the zip’s checksum.

So, like I said, you get huge extraction times, and by the way, Quake 3 Arena had tiny resource files, the entire game is only about 500MB.

The point is, the time you save not extracting the zip files, is not worth the exchange of performance and load times each time you load a map.