lavenderdotpet / LibreQuake

A freesoftware quake one remake with art under the BSD license
https://discord.gg/nsr6DTF6RX
Other
415 stars 34 forks source link

Remove legacy `bin/` directory #165

Open MotoLegacy opened 2 months ago

MotoLegacy commented 2 months ago

We should remove bin/ from the repository since it currently serves no functional purpose for building LibreQuake, more details here: https://github.com/lavenderdotpet/LibreQuake/pull/159#discussion_r1764340197

MotoLegacy commented 2 months ago

Assigning Lav for this as she was behind them being there in the first place, let me know if you'd like me to take this over instead.

lavenderdotpet commented 1 month ago

maybe we should just make it hidden? not sure if i wanna fully get rid of it u know?

MotoLegacy commented 1 month ago

It doesn't add to the repository at all. Might I suggest writing a documentation page explaining some of these scripts instead?

Zungrysoft commented 1 month ago

I used a Python script to build some of the entities in the e2m6 I'm working on and I was planning on putting it in this folder. Is there somewhere else it should go?

Zungrysoft commented 1 month ago

bin/py/assets.txt and bin/py/asset_analyze.py can definitely be removed. That master asset list hasn't been updated in like three years. At this point we don't have much except the big items left to do so if we want a place to organize our remaining tasks, we can just use GitHub issues.

MotoLegacy commented 1 month ago

Probably, according to Lav this directory currently doesn't serve any purpose aside from being a reference to remember commands (comment linked in issue description). Can you elaborate more on the script? Is it just to rebuild ents for a given map? If so we should probably add this behavior to the map build scripts instead.

Zungrysoft commented 1 month ago

e2m6's boss fight uses a crazy number of relay, spike shooter, and door entities to control the boss's firing patterns. So I wrote a python script to generate the entities for me and automatically write them into the .map file. That way if I wanted to adjust some balancing value about the boss (such as its firing speed or wave timing), I could just edit one config value and rerun the script. I figured I would include the script in the repo in case anyone was curious how the map was built or if I ever needed to edit the boss's balance again in the future.

MotoLegacy commented 1 month ago

Thanks for sharing the script off-platform so I could better understand. It is definitely a very interesting approach that's worth sharing to anyone curious. I do think a wiki/docs page under the GitHub repository for this would be best.

For the most part, the content of the repository itself seems to follow the philosophy of "this is what is needed for building LibreQuake". Anything else like helpful script knowledge or development factoids would fit better elsewhere. Would like to hear input from anyone.

lavenderdotpet commented 1 month ago

yeah i need to learn the wiki/docs stuff

MotoLegacy commented 1 month ago

Can you clarify, are you agreeing with my viewpoint on what should be on the repository vs what should be in a wiki/documentation page? If not we need a more in-depth discussion. Just need confirmation.

Same for @Zungrysoft

Zungrysoft commented 1 month ago

@MotoLegacy I think it's better to go in the repository. Even though it is run when editing the map rather than during the build script, it is an important part of the map. It could get changed in the future if the map ever needs balance changes, so I think it makes sense to be part of the version control.

It's pretty normal for utility scripts to be part of a repository even if it's just for use by the developers rather than the end user.

Maybe calling the folder /scripts instead would be better.

MotoLegacy commented 1 month ago

Sorry can you clarify, this script is not designed to be ran only once to place all of the entities and overwrite the .map file?

Zungrysoft commented 1 month ago

In theory you only have to run it once, but if you make changes to the map there's a good chance you'll have to make changes to the script and then run it again. Running the script removes all generated entities from the map file and puts in new ones to replace them.

MotoLegacy commented 1 month ago

This needs integrated into our build process then so when you run build.py it executes.