malkuth Posted February 17, 2014 Share Posted February 17, 2014 Wish I had more time to put this all together to help you figure out bug. But let me break it down with what happened.Sent a kerbal mun to get science. Landed and decided to give him custom ribbon. Took off then landed at kerbin. I recovered vessel, and I noticed when I went back to space scene screen that I did not get my science points for last mission. Hmmm. Went into tracking center and all vessels in space were gone. All of them.Restarted game still gone. Then I just reloaded quick save and got everything back. Landed again and this time everything was fine.I did no custom ribbon that time though. And at no time did I lose a kerbal. Like I said in other post ff seems to be saving an adnormal amount of times between flight and going to space scene.Hope this helps. When I get some more time Monday I will look into it see if I can come up with more info. Quote Link to comment Share on other sites More sharing options...
Nereid Posted February 17, 2014 Author Share Posted February 17, 2014 (edited) Sorry for the delay guys, but I was a bit busy the last days. And didn't read here for a few days.I will check this. In this version the Update Method which detects the ALT-F has changed. Normally I won't test the key shortcut (because I personally don't use it often).Still doesnt work in latest.This is very strange, because it works for me. I will have to change the code to get a bit more log info and perhaps someone with better knowledge may help.Nereid, please remove the toolbar-settings.dat file from the download. Players might overwrite their toolbar settings if they just copy the file.Noted. I will remove this ASAP.For those who have all ribbons lost, I'm sorry to hear this. But please, make a copy of your save game every then and now. It's not just because FF may have bugs, also KSP does sometimes very strange things. Just zip your savegame folder. This way you will backup all ribbons, too.Regarding the lost custom ribbons: As I have explained already: this is some kind of strange behaviour in KSP. It seems that the game time in the space center isn't paused but reverted back to the last ingame time, when KSP switches to the launchpad or a space-ship.This doesn't play well with my method to revert ribbons by timestamps. Currently I set the award time to the game time (Highlogic.Currentgame.Universaltime) and for this worked quite well. Obviously it won't work for everyone and I still do not understand what causes this.Just a few questions: - Are the custom ribbons working/saved if awarded in a mission?- Have you launched/flown a mission after awarding a custom ribbon in space center?- Who was affected by the all-ribbons-lost-effect and what have you done directly before this has happened? (if this is an issue I will add some kind of backup functionality)If all fails we have to add log outputs and I will have to analyze this. If I can't reproduce this on my own (and I still can't), then perhaps someone can help me to test this directly (live via ICQ perhaps?).EDIT: Anyway. I will upload 0.3.1 with a few reverts in a few hours. I will not change much, just fix the ribbon graphics for one ribbon, removing permadeatch and one file from the toolbar folder. If will add some log outputs in a later version. Edited February 17, 2014 by Nereid Quote Link to comment Share on other sites More sharing options...
Nereid Posted February 17, 2014 Author Share Posted February 17, 2014 Wish I had more time to put this all together to help you figure out bug. But let me break it down with what happened.Sent a kerbal mun to get science. Landed and decided to give him custom ribbon. Took off then landed at kerbin. I recovered vessel, and I noticed when I went back to space scene screen that I did not get my science points for last mission. Hmmm. Went into tracking center and all vessels in space were gone. All of them.Restarted game still gone. Then I just reloaded quick save and got everything back. Landed again and this time everything was fine.I did no custom ribbon that time though. And at no time did I lose a kerbal. Like I said in other post ff seems to be saving an adnormal amount of times between flight and going to space scene.Hope this helps. When I get some more time Monday I will look into it see if I can come up with more info.Well, if I read this I really can't believe that FF was causing this. If you arward a custom ribbon two this happen: 1. The game is marked as updated (so just leaving space center will save it) and 2. the halloffame.ksp is saved.Losing all ribbons may the result of a failed save (thats why I'm thinking to create backup each save) but losing all ships? KSP has done similar things to me several times (but never all ships, just a few and not in 0.23). And again: make a backup of an ongoing game at least once a day - if it's important for you not to start over. Quote Link to comment Share on other sites More sharing options...
Nereid Posted February 17, 2014 Author Share Posted February 17, 2014 Could this be related to however permadeath was implemented? I wonder if permadeath is actually all that important when there are other mods (i.e., crew manifest) that already do it?Maybe. I have just copied the code from another mod. But because this may be an issue I will just remove it today and we will see... Quote Link to comment Share on other sites More sharing options...
Cydonian Monk Posted February 17, 2014 Share Posted February 17, 2014 To answer your questions regarding lost custom ribbons: It depends on the ribbon. I only award custom ribbons from the SpaceCenter scene. The Inter Sidera and SSTO ribbons seem to "stick" (and never get deleted), whereas the TestPilot and all of the true custom ribbons don't. They only disappear after exiting and reloading the game, and seem to hang around for the entire session after being awarded. Quote Link to comment Share on other sites More sharing options...
vardicd Posted February 17, 2014 Share Posted February 17, 2014 Well, if I read this I really can't believe that FF was causing this. If you arward a custom ribbon two this happen: 1. The game is marked as updated (so just leaving space center will save it) and 2. the halloffame.ksp is saved.Losing all ribbons may the result of a failed save (thats why I'm thinking to create backup each save) but losing all ships? KSP has done similar things to me several times (but never all ships, just a few and not in 0.23). And again: make a backup of an ongoing game at least once a day - if it's important for you not to start over.This particular bug hits me ONLY when I have FF installed, and usually once every few missions. I did not see this behavior in previous versions, only once I upgraded to 3.0. If you aren't getting this, my guess is its a mod conflict, but it would have to be a common mod for so many of us to get it, but one that you aren't using. I upgraded from .2.7, but when I was using .2.7 I never had this happen, If that was when you added the permadeath feature, I'd say maybe its a bug there, since you just copied code from one other mod? I wonder, if you borrowed that code, and we're using that mod, if having that line of code in the game twice isn't causing the issue? Quote Link to comment Share on other sites More sharing options...
Nereid Posted February 17, 2014 Author Share Posted February 17, 2014 Well, I have uploaded 0.3.1 and tested a bit: All ribbons awarded in Space Center remain for me, if I launch or continue a mission, or if I just levae the game (or both). very very strange... Quote Link to comment Share on other sites More sharing options...
malkuth Posted February 17, 2014 Share Posted February 17, 2014 Finally have some time to track down this Bug that will for some reason delete your players persistent file. Its totally producible. It took me only two tries to get this to happen.All you have to do is launch whatever vessel you want in flight, land it at the space Center. Once landed give the kerbal a Custom Reward. Then hit the Recover button. And you will get an error. Like said took two times for me to do it but it happened and only took me 2 mins of testing to find it.this is the Log Error.ArgumentOutOfRangeException: Argument is out of range.Parameter name: index at System.Collections.Generic.List`1[Nereid.FinalFrontier.Ribbon].get_Item (Int32 index) [0x00000] in <filename unknown>:0 at Nereid.FinalFrontier.RibbonPool.GetCustomRibbon (Int32 nr) [0x00000] in <filename unknown>:0 at Nereid.FinalFrontier.HallOfFame.addCustomRibbonLogbookEntry (Nereid.FinalFrontier.LogbookEntry lbentry) [0x00000] in <filename unknown>:0 at Nereid.FinalFrontier.HallOfFame.CreateFromLogbook (.Game game, System.Collections.Generic.List`1 book) [0x00000] in <filename unknown>:0 at Nereid.FinalFrontier.Persistence.Load (.Game game, Nereid.FinalFrontier.HallOfFame hallOfFame) [0x00000] in <filename unknown>:0 at Nereid.FinalFrontier.EventObserver.OnGameStateCreated (.Game game) [0x00000] in <filename unknown>:0 at EventData`1[Game].Fire (.Game data) [0x00000] in <filename unknown>:0 at Game..ctor (.ConfigNode root) [0x00000] in <filename unknown>:0 at GamePersistence.LoadGame (System.String filename, System.String saveFolder, Boolean haltIfIncompatible, Boolean suppressErrorMessage) [0x00000] in <filename unknown>:0 at SpaceCenterMain+.MoveNext () [0x00000] in <filename unknown>:0 Do you need any more info to help track it down? Quote Link to comment Share on other sites More sharing options...
Nereid Posted February 17, 2014 Author Share Posted February 17, 2014 (edited) Finally have some time to track down this Bug that will for some reason delete your players persistent file. Its totally producible. It took me only two tries to get this to happen.All you have to do is launch whatever vessel you want in flight, land it at the space Center. Once landed give the kerbal a Custom Reward. Then hit the Recover button. And you will get an error. Like said took two times for me to do it but it happened and only took me 2 mins of testing to find it.this is the Log Error.Ah, ok, this helps a lot.But really cannot analyze this today. Tomorrow I will give it a chance.EDIT: It seems that loading has a bug and messes the the hall of fame up.EDIT^2: I still cant reproduce it, but the stack trace should help to do something about that. Edited February 17, 2014 by Nereid Quote Link to comment Share on other sites More sharing options...
malkuth Posted February 17, 2014 Share Posted February 17, 2014 Ah, ok, this helps a lot.But really cannot analyze this today. Tomorrow I will give it a chance.EDIT: It seems that loading has a bug and messes the the hall of fame up.Yeah I have not really looked at the code, but I didn't think you saved anything to the persistent file. And the FF save was actually a separate file. Not sure why we are accessing the Persistent file unless your pulling info on the kerbal. Like I said there is a few strange things going on not sure what its about, Like the multiple savings for the HallofFame.This is directly after the error. But this part always happens no matter if you get the above error or not.(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)Flight State Captured(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)[ProtoCrewMember Warning]: Crewmember Jebediah Kerman found assigned but no vessels reference him. Jebediah Kerman set as missing.(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)[ProtoCrewMember Warning]: Crewmember Bill Kerman found assigned but no vessels reference him. Bill Kerman set as missing.(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)[ProtoCrewMember Warning]: Crewmember Bob Kerman found assigned but no vessels reference him. Bob Kerman set as missing.(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)[ProtoCrewMember Warning]: Crewmember Hanvin Kerman found assigned but no vessels reference him. Hanvin Kerman set as missing.(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)Saving Achievements Tree...(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)Saving Achievements Tree...(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)Saving Achievements Tree...(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)Saving Achievements Tree...(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)Saving Achievements Tree...(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)Saving Achievements Tree...(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)Saving Achievements Tree...(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)Saving Achievements Tree...(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)Saving Achievements Tree...(Filename: C:/BuildAgent/work/ea95e74f6e5f192d/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 54)Saving Achievements Tree...The missing kerbals is obviously because they are now not in the persistent file anymore because there vessel has vanished. Quote Link to comment Share on other sites More sharing options...
Nereid Posted February 17, 2014 Author Share Posted February 17, 2014 Maybe its this part of the code in DisplayWindow.cs: private void AwardSelectedCustomRibbon() { [...] HallOfFame.instance.BeginArwardOfRibbons(HighLogic.CurrentGame.UniversalTime); HallOfFame.instance.Record(entry.GetKerbal(), selected); HallOfFame.instance.EndArwardOfRibbons(); // and save (mark game as updated) HighLogic.CurrentGame.Updated(); // <- suspicious // save hall of fame Persistence.Save(HallOfFame.instance); }But removing this will make any ribbons awarded in space center void after leaving the game... Quote Link to comment Share on other sites More sharing options...
Nereid Posted February 17, 2014 Author Share Posted February 17, 2014 This particular bug hits me ONLY when I have FF installed, and usually once every few missions. I did not see this behavior in previous versions, only once I upgraded to 3.0. If you aren't getting this, my guess is its a mod conflict, but it would have to be a common mod for so many of us to get it, but one that you aren't using. I upgraded from .2.7, but when I was using .2.7 I never had this happen, If that was when you added the permadeath feature, I'd say maybe its a bug there, since you just copied code from one other mod? I wonder, if you borrowed that code, and we're using that mod, if having that line of code in the game twice isn't causing the issue?I have removed permadeath from 0.3.1. I have only borrowed one line of code:HighLogic.CurrentGame.Parameters.Difficulty.MissingCrewsRespawn = false;If this is causing this, it should be gone with 0.3.1. And maybe thats the reason I can't reproduce this anymore. Quote Link to comment Share on other sites More sharing options...
vardicd Posted February 17, 2014 Share Posted February 17, 2014 (edited) Well, the more extreme glitches are gone, or at least haven't re-surfaced, but it is still randomly dropping awarded ribbons, both auto-assigned and manually awarded. this is the only error I saw in the log? and this is the only log I know how to find. Edited February 17, 2014 by vardicd Quote Link to comment Share on other sites More sharing options...
Raptor831 Posted February 17, 2014 Share Posted February 17, 2014 I'm getting the same error as above using 0.3.1, but I only see them dropping the custom ribbons. Judging from the logs and looking through the source, it just seems like it's not matching up the creation of the custom ribbons with the awarding of the ribbons, or the ID numbers are off. My halloffame.ksp file remains in tact, and no oddities with my persistence file yet.One odd thing, is that the custom ribbons for the Mission Specialists (Ops, Sci, Engineer) got written to the wrong graphic. Seems to be using some of the other 20 user-defined custom ribbons. Pic here with errors in log: If you want a log, Nerid, let me know! Quote Link to comment Share on other sites More sharing options...
Beetlecat Posted February 17, 2014 Share Posted February 17, 2014 This is incredibly awesome. Do you have plans (or maybe it already implements...) to combine/compound certain ribbons so that orbit/land/eva etc all appear on the same ribbon? Or for multiples of special missions, etc. similar to how the forum ribbons operate? Quote Link to comment Share on other sites More sharing options...
mothcity Posted February 18, 2014 Share Posted February 18, 2014 I think this was suggested before , It would be very useful to be able to remove mis-awarded custom ribbons. If not possible then maybe a list of the codes so it can be done manually ? Quote Link to comment Share on other sites More sharing options...
Nereid Posted February 18, 2014 Author Share Posted February 18, 2014 (edited) I was thinking a bit what causes the problems and why I cannot reproduce them. There is another change from 0.2.7 to 0.3.0: saving the halloffame.ksp after awarding a ribbon. I had choosen to do this, because some have reported missing custom ribbons but I had a bad feeling about this. This causes is I/O in the UI-thread which is bad anyway. But thats not all: It will save the file regardless of the state of KSP and under some circumstances KSP may decide to do a save just at the same time in another thread. This will trigger a call of Persistence.save twice in different threads and this method isn't thread save.I have done this to get around this nasty behavior of KSP to revert time when the space center to launch pad. Its really sad, but KSP seems to have some trouble with game changes within the space center. So I think I will try a suggestion of someone else here, and just disable the custom awards when not in flight.EDIT: I have tested a bit yesterday, but all works fine for me. If this is some kind of timing problem, it's quite common to work on some machines often and never on some other. Edited February 18, 2014 by Nereid Quote Link to comment Share on other sites More sharing options...
Nereid Posted February 18, 2014 Author Share Posted February 18, 2014 (edited) I think this was suggested before , It would be very useful to be able to remove mis-awarded custom ribbons. If not possible then maybe a list of the codes so it can be done manually ?At the moment I will concentrate to fix the major bugs, some have reported.BTW: you could change text and name of a custom ribbon at any state. Even if it is already assigned.But until the problems with the custom ribbons are solved, I would strongly suggest to keep away from them! Edited February 18, 2014 by Nereid double negation Quote Link to comment Share on other sites More sharing options...
Nereid Posted February 18, 2014 Author Share Posted February 18, 2014 (edited) This is incredibly awesome. Do you have plans (or maybe it already implements...) to combine/compound certain ribbons so that orbit/land/eva etc all appear on the same ribbon? Or for multiples of special missions, etc. similar to how the forum ribbons operate?No. Just a few reasons to explain, why I had decided against it: Some achievements of the forum ribbons are hard if impossible to detect. All ribbons are plain graphics and I don't combine graphics at runtime. This way its a lot easier for me and easier for a user to change the graphics. It would be just waste of space and memory to include all combinations. Kerbals are proud of their achivement, so they want a lot of ribbons. Edited February 18, 2014 by Nereid Quote Link to comment Share on other sites More sharing options...
LMA Posted February 18, 2014 Share Posted February 18, 2014 Fantastic my only complaint about this mod is I just got four Kerbals back from Duna's surface yesterday. Missed this mod by a day and I can't remember who I sent there doh. So what I'm saying here is well done just wish I had it days ago. Quote Link to comment Share on other sites More sharing options...
GavinZac Posted February 18, 2014 Share Posted February 18, 2014 Fantastic my only complaint about this mod is I just got four Kerbals back from Duna's surface yesterday. Missed this mod by a day and I can't remember who I sent there doh. So what I'm saying here is well done just wish I had it days ago.If you look back through the early pages of the thread, it's explained how to award ribbons manually (editing the text files). Quote Link to comment Share on other sites More sharing options...
malkuth Posted February 18, 2014 Share Posted February 18, 2014 I was thinking a bit what causes the problems and why I cannot reproduce them. There is another change from 0.2.7 to 0.3.0: saving the halloffame.ksp after awarding a ribbon. I had choosen to do this, because some have reported missing custom ribbons but I had a bad feeling about this. This causes is I/O in the UI-thread which is bad anyway. But thats not all: It will save the file regardless of the state of KSP and under some circumstances KSP may decide to do a save just at the same time in another thread. This will trigger a call of Persistence.save twice in different threads and this method isn't thread save.I have done this to get around this nasty behavior of KSP to revert time when the space center to launch pad. Its really sad, but KSP seems to have some trouble with game changes within the space center. So I think I will try a suggestion of someone else here, and just disable the custom awards when not in flight.EDIT: I have tested a bit yesterday, but all works fine for me. If this is some kind of timing problem, it's quite common to work on some machines often and never on some other.Ya might be for the best I think. KSP has some strange behaviors sometimes. Quote Link to comment Share on other sites More sharing options...
knapplace Posted February 18, 2014 Share Posted February 18, 2014 The celestial bodies are hardcoded at the moment. So no, there is no pack for additional planets/moons/asteroids out there.the mod recognizes the extra bodies in-game, it's just that there are no images for the ribbons. I also see there are folders for the original planets/moons, so it would not be possible to create a new folder named "Sentar" (a gas giant in KPF) with images for ribbons inside? Quote Link to comment Share on other sites More sharing options...
Aloriel Posted February 18, 2014 Share Posted February 18, 2014 So, I have a small issue to report. Jebediah's display for medals is now overflowing.Other than this purely cosmetic issue, your mod is awesome! Quote Link to comment Share on other sites More sharing options...
GavinZac Posted February 19, 2014 Share Posted February 19, 2014 Small request, as a few bugs have happened. If possible, can you make it write a backup of the (existing) hall of fame before editing it, like Kerbal Alarm Clock does? i.e. halloffame.ksp_000000001, etc.Manually re-entering the stats from my spreadsheet (oh god, I'm sad) (I'd eventually like to replace the spreadsheet with this mod!) is not fun. Another possibility would be a 'cheat' mode where you can award the ribbons in-game. Useful for more user-friendly editing, and, er, cheating I suppose. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.