Modding Improvements #18

Closed
HighTechRedNeck wants to merge 2 commits from (deleted):master into master
First-time contributor

Added Loadmod/UnloadMod commands and Lua functions directoryexists, listfiles, directoryisempty, and fileexists for mod loading menu. Cleaned up mods.cpp and fastfile.cpp. Added Load_LevelZone to reload mods after maps have been loaded to allow overriding map gsc's and other assets. Added Com_Shutdown to Symbols.hpp.

Added Loadmod/UnloadMod commands and Lua functions directoryexists, listfiles, directoryisempty, and fileexists for mod loading menu. Cleaned up mods.cpp and fastfile.cpp. Added Load_LevelZone to reload mods after maps have been loaded to allow overriding map gsc's and other assets. Added Com_Shutdown to Symbols.hpp.
HighTechRedNeck added 1 commit 2025-01-20 19:51:37 +00:00
Owner

I probably won't be able to merge this code in this state. I don't regard this as an improvement in terms of code quality.

I see a lot of duplication in mods.cpp and fastfiles.cpp due to what I suspect is a bad copy and paste from h1mod or other forks of s1mod/iw6 with Quak's mod support. I have not fully checked to make sure I'm correct but I glanced over the code and it seems some stubs have been duplicated/moved to fast files for no reason other than to match another client (not a valid reason if true).

I have the LUI code you sent me on disk and I will probably be able to work with it and implement much simpler client code to hopefully achieve the same in fewer lines of code. Also I will hold off from implementing usermap support (I haven't inspected that part yet of the code you added in fastfiles.cpp but just in case I'm stating that).

I will check out the LUI code first then work backwards from there to make sure only the strict necessary you proposed in this PR is implemented and if it's needed.

Cheers, hope you understand. The main goal is to stop doing code hacks in iw6/s1 mod from now on and do patches canonically as if we are reimplementing mod support on cod4/iw4 or iw5 even as I've done those clients in the past and I've seemingly supported both mods and usermaps without any hacks and doing things exactly like they are done on cod4.

I probably won't be able to merge this code in this state. I don't regard this as an improvement in terms of code quality. I see a lot of duplication in mods.cpp and fastfiles.cpp due to what I suspect is a bad copy and paste from h1mod or other forks of s1mod/iw6 with Quak's mod support. I have not fully checked to make sure I'm correct but I glanced over the code and it seems some stubs have been duplicated/moved to fast files for no reason other than to match another client (not a valid reason if true). I have the LUI code you sent me on disk and I will probably be able to work with it and implement much simpler client code to hopefully achieve the same in fewer lines of code. Also I will hold off from implementing usermap support (I haven't inspected that part yet of the code you added in fastfiles.cpp but just in case I'm stating that). I will check out the LUI code first then work backwards from there to make sure only the strict necessary you proposed in this PR is implemented and if it's needed. Cheers, hope you understand. The main goal is to stop doing code hacks in iw6/s1 mod from now on and do patches canonically as if we are reimplementing mod support on cod4/iw4 or iw5 even as I've done those clients in the past and I've seemingly supported both mods and usermaps without any hacks and doing things exactly like they are done on cod4.
Author
First-time contributor

The stuff I sent on discord was really sloppy and I didn't realize I had a lot of the other stuff in there I was messing with. This has been cleaned up. There is no usermap stuff in here the Load_LevelZone just reloads mods to allow overriding map assets like mp_alien_town.gsc for example
if that's what you're talking about. I understand if nothing get added but it would be huge to see the Load_LevelZone get added in some form or another.

The stuff I sent on discord was really sloppy and I didn't realize I had a lot of the other stuff in there I was messing with. This has been cleaned up. There is no usermap stuff in here the Load_LevelZone just reloads mods to allow overriding map assets like mp_alien_town.gsc for example if that's what you're talking about. I understand if nothing get added but it would be huge to see the Load_LevelZone get added in some form or another.
Author
First-time contributor

Also yea some stuff was moved from mods to fastfiles bc it was just what I was used to before the official update. For the Lua menu the only things needed are the loadmod/unloadmod commands and the Lua functions unless u implement them a better way.

Also yea some stuff was moved from mods to fastfiles bc it was just what I was used to before the official update. For the Lua menu the only things needed are the loadmod/unloadmod commands and the Lua functions unless u implement them a better way.
HighTechRedNeck added 1 commit 2025-01-23 22:00:02 +00:00
HighTechRedNeck closed this pull request 2025-01-23 22:53:35 +00:00
Owner

A minimal patch was added via bc0372a249

This reflects iw5 mod support even on pluto/iw4x and does not contain h1-mod shenanigans

A minimal patch was added via https://git.alterware.dev/alterware/iw6-mod/commit/bc0372a2491907d1aae6dc7e26f0511ac670406d This reflects iw5 mod support even on pluto/iw4x and does not contain h1-mod shenanigans

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alterware/iw6-mod#18
No description provided.