Jump to content

[1.12.x] Bureaucracy - Monthly Budgets, Reimagined (1.7.2 - 30/11/2024 (Under New Management))


severedsolo

Recommended Posts

6 hours ago, Pippin said:

Never mind. It happened again, and it had nothing to do with the science rewards from EVARepairs. Here is the log.

 

Can you put the log in a file rather than pasting it as a quote - it messes up the forum for mobile users and makes it easier for me to search for what I'm looking for in my text editor. You can upload the log to DropBox/Google Drive etc and send me the link.

Link to comment
Share on other sites

On 3/17/2023 at 6:38 AM, severedsolo said:

Bureaucracy 1.6.1 Released

  • Fix Allocation Settings not persisting between scene changes

I'm glad you fixed it, but how? Could you please tell something about it? I'm trying to learn coding from this.  But  you didn't update your code in GitHub,  so I guess I'll never know.

Link to comment
Share on other sites

1 hour ago, tinygrox said:

I'm glad you fixed it, but how? Could you please tell something about it? I'm trying to learn coding from this.  But  you didn't update your code in GitHub,  so I guess I'll never know.

I've just pushed the changes to Github.

Basically - because the funding allocations are stored as floats - which isn't very UI friendly, I was storing the UI allocation settings separately in an int then updating the managers. The default allocations in UIController were overriding the settings. It was a bit of a stupid/convoluted way to do it anyway (as allocations were being held in two places) - so I changed it to pull the allocations out of the Managers themselves, but round it instead.

Link to comment
Share on other sites

  • 4 weeks later...
On 3/21/2023 at 7:24 AM, severedsolo said:

Can you put the log in a file rather than pasting it as a quote - it messes up the forum for mobile users and makes it easier for me to search for what I'm looking for in my text editor. You can upload the log to DropBox/Google Drive etc and send me the link.

I'm experiencing something similar to what Pippin describes, and (while I am also pretty heavily modded) I am not using EVARepairs. However, it's less consistent: on some game starts, science seems to be instant immediately, and on other application runs it can take dozens of launches before it happens. My latest log is here.

..

Link to comment
Share on other sites

On 4/19/2023 at 12:06 AM, Darael said:

I'm experiencing something similar to what Pippin describes, and (while I am also pretty heavily modded) I am not using EVARepairs. However, it's less consistent: on some game starts, science seems to be instant immediately, and on other application runs it can take dozens of launches before it happens. My latest log is here.

..

Are you by any chance changing scenes before a full in-game day has passed? Same question @Pippin

(Also side note: Gaming on Noveau drivers and pushing it with Visual mods? You're very brave!)

On 4/22/2023 at 3:33 AM, Siphon said:

Is there a way to stop the mod from using the stock alarm system and switch to KAC instead? 

No, but it might come in future. I prefer KAC myself, so you may find next time I get motivated to play I decide to change it back. No promises obviously.

Edited by severedsolo
Link to comment
Share on other sites

On 4/23/2023 at 3:09 PM, severedsolo said:

(Also side note: Gaming on Noveau drivers and pushing it with Visual mods? You're very brave!)

I was using NVidia binary drivers, but some update broke something to the point where several games, KSP included, would lock my system up entirely shortly after launch, requiring a magic-sysrq reboot to recover. I got sick of trying to fix it and switched to Nouveau instead. Not quite as performant, but better than "locks not just X but the entire computer".

 

On 4/23/2023 at 3:09 PM, severedsolo said:

Are you by any chance changing scenes before a full in-game day has passed?

Frequently, especially early in career when I'm using SoundingRockets to do FieldResearch "science around KSC" contracts for reputation (and, if I wasn't using Bureaucracy, funds). This can easily lead to multiple launches in a day despite my use of KCT since I'm recovering a very small rocket from within KSC, editing it slightly to change the heading it'll launch on, refuelling, and rolling it right back out again — not to mention jumping into Mission Control every so often to grab the next contract.

Link to comment
Share on other sites

7 hours ago, Darael said:

Frequently, especially early in career when I'm using SoundingRockets to do FieldResearch "science around KSC" contracts for reputation (and, if I wasn't using Bureaucracy, funds). This can easily lead to multiple launches in a day despite my use of KCT since I'm recovering a very small rocket from within KSC, editing it slightly to change the heading it'll launch on, refuelling, and rolling it right back out again — not to mention jumping into Mission Control every so often to grab the next contract.

There's your issue. Bureaucracy only fires the budget advancement events every 1 in-game day, and that timer is reset on a scene-change - you don't lose out as it does catch up from the last time the event fired. Technically this is working as intended.

There are probably things I can do to make that a bit friendlier though, like exposing the polling interval in the settings, or catch up on a scene change. (If memory serves there is a reason it's not doing it on the scene change but I don't remember what it is). Raised #28

Link to comment
Share on other sites

  • 1 month later...
On 4/23/2023 at 7:09 AM, severedsolo said:

No, but it might come in future. I prefer KAC myself, so you may find next time I get motivated to play I decide to change it back. No promises obviously.

For the record, it is I, RTB, and not severedsolo who made the PR that switched it to the ingame stock alarm clock.

Yes, there are days I regret it too.  I may see about making it an option or something in yet another PR, if I ever find time...

Edited by R-T-B
Link to comment
Share on other sites

  • 6 months later...

There appears to be a bug that causes new contracts to be generated with fund rewards after save/loading without fully exiting the game application. It can be fixed by fully exiting the game before reloading a save.

 

Steps to produce:

1. Start KSP with Bureaucracy installed

2. Start a new game

3. Test contract generation -- newly generated contracts work properly, replacing any fund rewards with reputation

4. Save game and exit to main menu

5. Reload game (or start a new game) without exiting the KSP application

6. Test contract generation -- any contracts generated before save/load will still have fund rewards replaced with reputation. However, refreshing the contracts list via cancellation, completion, or waiting will generate new contracts which have fund rewards

7. Save game and exit the KSP application entirely

8. Start KSP again and load the save (or start a new game)

10. Test contract generation -- as before, any previously generated contract rewards stay as they were before exiting. Fortunately any new contracts now generated will be working as desired, with reputation in place of funds

 

I have reproduced this behavior with a fully fresh installation of KSP, running only the Bureaucracy mod and its requirements. It also appears when other mods are installed, such as contract configurator and the exploration contract pack, or when installed in my full modpack.

If you're still interested in updating your mod, this would be a good thing to fix -- I thought the mod was irrecoverably broken before I managed to pinpoint the exact behavior. If not, this post can at least serve as a guide for how to avoid this issue for anyone else facing it. Simply exit out of the main menu before reentering your game and everything will work perfectly.

Link to comment
Share on other sites

On 12/28/2023 at 6:19 PM, Verdiss said:

Simply exit out of the main menu before reentering your game and everything will work perfectly.

For me, this solution doesn't work, even by completely exiting the game because the error is logged in the persistence.sfs file, and KSP reloads it each time. My modding knowledge is minimal, but I have the impression that Bureaucracy (through ContractInterceptor.cfg) is required to go through Module Manager to apply its changes to new contracts. As far as I know, this is impossible without completely restarting the game, but I could be mistaken...

The solution that works for me is as follows:

Prerequisites:

- Excuse my poor English.
- MAKE A BACKUP OF THE persistence.sfs file.
- Use an advanced editor, like VSCode, to make life easier (good luck with Notepad...).
- Be careful about what you delete: I'm thinking of contracts from Research Bodies, for example if it's deleted, you'll have to repurchase the research contract.

Procedure:

- Completely exit the game.
- With a text editor, perform a search: state = offered.
- You should see in the SCENARIO section with the name ContractPreloader.
- Delete all CONTRACT entries with their content included between the curly braces { }. Be sure to analyze what you're deleting.
- Save and relaunch the game.

The problem should be resolved.

Edited by Misucat
Link to comment
Share on other sites

1 hour ago, Misucat said:

My modding knowledge is minimal, but I have the impression that Bureaucracy (through ContractInterceptor.cfg) is required to go through Module Manager to apply its changes to new contracts

Actually those contracts (the stock progression contracts) are the only ones that will still probably work.

The very simplified version of what's happening is that Contract Interceptor listens for the game announcing "I just made a new contract", then goes into that contract and manually changes the values. Stock progression contracts aren't "offered" in the traditional sense so we patch them in the game files instead, so they will continue to work whether Contract Interceptor is running or not. The reason we do it this way is so we can handle mod contracts too (we don't care where the contract is from, we just care about it when it gets offered).

What's happening here is that upon returning to the Main Menu something is causing that "I just offered a contract" announcement to be made, and Contract Interceptor is running into a problem. (If I were to take a guess, I'd say its because it's trying to access Bureaucracys settings but as the main mod isn't running right now that causes it to fall over).

Once the Interceptor has fallen over, it stops running (and therefore listening for the new contract announcement) which means why subsequent contracts don't get changed.

As you observed, any contracts created while Contract Interceptor isn't running get saved with the funds still in tact and will be reloaded with your game. Usually we change the values before the game saved and KSP never knows any different because it saves the changed values. There has never been a need to go back and change values retroactively before because we changed them "at source" which is why once it breaks it stays broken.

I will say, all this means "I know what the problem is" not "I'm going to fix it".

It is a relatively simple fix, but I really did mean it when I said "this will be the last release of Bureaucracy" and I'd have to set up my KSP/ mod dev environment again. On the other hand I don't like leaving mods "broken" (even if the workaround is quite easy: "don't switch saves halfway through a play session you psychopaths" (/s if that wasn't obvious)).

Which is a very long winded way of saying "I might fix it, I might not but it would be an easy fix for someone who wanted to fork Bureaucracy, and as I'm no longer actively modding I would not be hostile to forks like I was before".

 

Edited by severedsolo
Link to comment
Share on other sites

Modding remains a hobby, and it should be done when one feels like it or has the time. This is an awesome mod that gives purpose to my career, and I thank you for conceptualizing and implementing it, and for all the work you've put into it.

The issue is workable, so as far as I'm concerned, it's not broken. The system just requires completely exiting the game and not returning from the main menu, so it's not a game-breaking issue. It adds interest, fun, and that's all that matters !

Thank you for taking the time to write this detailed explanation :D

Link to comment
Share on other sites

  • 5 months later...
On 11/26/2022 at 7:05 AM, CoriW said:

Hey everyone, so I felt that since it's been several days since my previous novel of a post and the progress I have made with the issue.. That it would be okay to make another post. I have been able to use the source code for the Bureaucracy mod and modify it to have a couple new settings which can work around the issues of having a homeworld which is not orbiting the Sun, basically these new settings allow you to set a custom day length (in seconds) and a custom year length (in seconds) instead of having Bureaucracy automatically set these values based on the solar day length and orbital period of the homeworld.

So in my particular situation (having a homeworld which is a tidally locked moon of a gas giant) the game was crashing when I clicked the Bureaucracy button because it was trying to automatically set the day length based on the solar day which wasn't able to be pulled properly because the homeworld is tidally locked. So my attempt to make the planet not tidally locked was to just set it's rotation period to it's orbital period, which prevented the crashing but due to a bug it made the planet rotate much faster than intended. So now that I have modified the Bureaucracy mod to accept custom day and year lengths, I am now able to leave the homeworld tidally locked and simply specify in the Bureaucracy settings what the day and year lengths should be, thus Bureaucracy doesn't crash the game and my homeworld rotates normally. (It also allows interested options like setting the length of a year to the orbital period of my homeworlds PARENT body instead of my homeworlds orbital period, since it is just a moon after all.)

Now that's just my particular use case, but this could come in useful to anyone who encounters issues due to a tidally locked homeworld. Seeing as this mod is posted under an MIT license I am freely able to provide this modified DLL to anyone who wants or needs it. You may download it with the link below. One thing I will note is that by default I have the set the length of a day and year for Kerbin, if you have a different homeworld (which is the only reason you'll need this modified DLL.. Then make sure you change the settings to match the day and year length of your homeworld)

LINK: Mod_Bureaucracy_v2.zip (NOTE: THIS DOWNLOAD ONLY CONTAINS A .DLL FILE, YOU MUST DOWNLOAD BUREAUCRACY FIRST AND THEN OVERWRITE THE EXISTING DLL WITH THE ONE PROVIDED IN THIS DOWNLOAD.)

On another note, one problem with this solution is that you end up with the in-game clock not actually matching the length of your days.. for example my homeworlds day length in "Kerbin" time is 2 days, 2 hours, 40 minutes, and 56 seconds, however since Bureaucracy reads that amount of time as 1 day for my homeworld, that means that Bureaucracy says my next budget is on day 30 however in "Kerbin" time and on the clock in the top left corner the next budget actually occurs on day 73. At first I figured that this could potentially be solved by the Kronometer mod, however I quickly discovered that the "useHomeDay" and "useHomeYear" settings were also plagued with incompatibility with tidally locked homeworlds due to the solar day issue.. So I've gone ahead and used the source code for the Kronometer mod and modify it to have a couple new settings as well in which you can set custom day lengths and custom year lengths (in seconds).

This way, if you're using both my modified version of Bureaucracy as well as my modified version of Kronometer and you set the day lengths and year lengths to be the same in both mods as your homeworld, what happens is that Bureaucracy measures one day as the actual rotation of your tidally locked homeworld (in my case 1 day is 14 hours, 40 minutes, 56 seconds) and Kronometer actually changed the clock in the corner to display that a day actually takes that same 14 hours, 40 minutes, 56 seconds to pass, and the same thing applies for the length of a year for both Bureaucracy and Kronometer. (in my case with the year being the orbital period of the parent gas giant, that is 1342 days, 1 hour, 48 minutes, 57 seconds)

Luckily Kronometer is also posted under an MIT license, so I am freely able to provide the modified DLL to anyone who wants or needs it. You may download it with the link below. One thing I have to note with the Kronometer settings, is that in order for the custom day and year length settings to apply, you must also enable the "useHomeDay" and "useHomeYear" settings. (change them to True)

LINK: Mod_Kronometer_v1.zip (NOTE: THIS DOWNLOAD ONLY CONTAINS A .DLL FILE, YOU MUST DOWNLOAD KRONOMETER FIRST (LGG VERSION) AND THEN OVERWRITE THE EXISTING DLL WITH THE ONE PROVIDED IN THIS DOWNLOAD.)

LINK TO LGG VERSION OF KRONOMETER FOR KSP 1.12: https://github.com/linuxgurugamer/Kronometer/releases/tag/1.12.0.2

Also in the Kronometer modified DLL I did also add another setting that may be useful to anyone with a tidally locked world, by default if Kronometer detects a tidally locked world it will try and set the year length to equal the day length, however if your homeworld is a moon of another planet you may not want this to happen, and may want to use the length of the parent bodies orbit as the year length. In this case simply enable the "tidalOverride" setting and this will prevent Kronometer from trying to modify your year length.

Lastly AND VERY IMPORTANTLY I will note that while I have made these modifications to fix problems within my own game and have decided to share them as a good gesture for anyone else having similar issues with mod compatibility, I am not interested in taking over or continuing any mods or maintaining anything for the long term. If you use my DLL's and something breaks, you can DM me (don't post here as it may be considered off topic) and I may try and help fix the issue. But I must stress these modified DLL's are USE AT YOUR OWN RISK, they shouldn't have any problems as I am going to be using them in my own game, but if you intend to use them on an existing save for example, I strongly recommend backing up your save. You have been warned.

EDIT: Was just doing some testing... Definitely something interesting seeing a year be this long...

16640cde51544107e8f5eefc77e4c93b.png?dl=  851c1e6b665299c6cdd86d274257f6b5.png?dl=

@CoriW Did you ever get around to submitting those pull requests? I stumbled across the same problems as you did and found your answer after a lot of googling around, I bet a lot of people would be very happy if your fixes were just directly included with the base mods

Link to comment
Share on other sites

Is anyone interested in a small maintainence-only adoption of this mod?  Severedsolo and I discussed an RTB-adoption in the past, and though he was open to it, I decided not to do so on the foundation that it was still working and there weren't many changes I would bring to the table, being mostly working on Kopernicus.

Since using it a bit in my personal save, that has changed a bit.  Things my personal fork currently has that this lacks:

1.) A decoupling of random event firing from scene-switches, and instead making them based on a homeworld solar day cycle (they can happen anytime in other words).

2.) A fix for github issue #26

3.) A fix for this issue.

I'm on the fence because I wouldn't be bringing frequent feature updates or anything, just holding down the fort really (as well as administering PRs).  However, if you think that's a good idea and want the above, please comment here and I'll consider officially releasing my fork to the public.

Edited by R-T-B
Link to comment
Share on other sites

On 6/24/2024 at 7:36 PM, Spike88 said:

Yes

 

My criteria was at least 4 "likes" or yes statements by months end and we hit that, so I'll be posting my adoption thread here shortly, once I get the source code in order.  Thanks guys.

Edited by R-T-B
Link to comment
Share on other sites

Posted (edited)

Hello, rather than make a new thread for this, lets just use this one if everyone is ok with it.

You can find my adoption releases here.  Note that I do not support existing saves below Bureaucracy release 1.6.

https://github.com/R-T-B/Bureaucracy/releases

I'll see about getting OP edited, and getting CKAN pointed at me soon.  For right now, enjoy a release version 1.7. :)

report bugs here:

https://github.com/R-T-B/Bureaucracy/issues

License is MIT License

Source:

https://github.com/R-T-B/Bureaucracy

Edited by R-T-B
Link to comment
Share on other sites

1 hour ago, R-T-B said:

I'll see about getting OP edited,

Just give me a prod through the usual channels if you need me to update the title if you do any further releases. Otherwise, she's all yours

Link to comment
Share on other sites

Posted (edited)
Heads up:  If you downloaded the initial 1.7 adoption and use CustomBarnKit, you'll probably want this:
  1. Hotfix for CustomBarnKit config file mistakes.
Edited by R-T-B
Link to comment
Share on other sites

  • 3 weeks later...

@R-T-B I'm using KCT and getting the KCT warning on every scene change, even though the ShowKCTWarning flag is set to false in both the default .cfg and in the .cfg in the save folder.

ShowKCTWarning = False

 

Link to comment
Share on other sites

8 minutes ago, OldMold said:

@R-T-B I'm using KCT and getting the KCT warning on every scene change, even though the ShowKCTWarning flag is set to false in both the default .cfg and in the .cfg in the save folder.

ShowKCTWarning = False

 

ShowKCTWarning is deprecated. The mod now reads KCT's settings file. If you're getting the warning then your settings are wrong. Either disable Facility Construction in KCT, or in Bureuacracy.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...