topeterk / HitCounterManager

Free Hit Counter / Death Counter that is running in the background, so you can focus on your stream. No need to keep any windows open for a window capture any more. Initially designed for Dark Souls and similar games but supports any game.
MIT License
87 stars 19 forks source link

Version 1.21.0.0 (Split of Placer Update) #30

Closed neimex23 closed 2 years ago

neimex23 commented 2 years ago

New Features

AutoMods Features:

Added New Pre-Profiles

Hey finally all is done I hope that is a strong release this was testing about 1-2 months by closed testings and public testing and 3 of a full develop, any way if happen anything just tell me.

topeterk commented 2 years ago

Hmm, as discussed via mail before, it still looks difficult as it still breaks important things and there are some small things too.

Small things like changing copyright notice without actual modifications in that file, white space changes or changes I don't see any reason to, like the default split of Sekiro moved to split 7 or naming the "EXAMPLE" profiles "EXAMPLE - DONT USE" (Is there any reason why someone should not use this profile, then this should be fixed rather just renamed?).

It would be great to generate new output only if the time is known to be off a specific amount. It looks like the HTML file is written a lot regardless of its necessity but it was important for me to trigger outputs as less as possible. Writing too often or multiple times in a too short amount of time it may result in freezes of the HTML (visible in the streaming software like OBS) due to successive, failed loading of the data HTML file by its Javascript.

When a split (before the current one) gets removed and the game continues, the time of the removed split will be added to the current split, right? Why are you not using the same strategy with the incremental duration in order to avoid this issue?

It would be great if auto-generated files do only have the actual changes modified that it is easier to follow what actually has been changed. The Resources.resx, for example, has the files listed in alphabetical order and after you added an image, all the entries got moved around. One have to look through the whole file in order to actually see that only one image was added and nothing else. I know, some people may say, "just use always the auto-generated code" but even then the changes cannot be identified. It already happened a lot that Visual Studio is generating those files differently depending on the version or even settings. One will lose track of such files, so before checking them in, I am always revisiting and prepared the file accordingly that only my actual change is part of the commit. And further, other people may say "this is not so important" but it already happened a few times in the past that changes got checked in that were not indented or even not working and were completely overlooked because of this traceability loss.

If you like, you can move the Splitters and ScritableAutoSplit_Project folders into the Source folder because they seem to contain, more or less, sources. This helps not blowing up the root folder so much. There are (non-developer) people that went to the GitHub project and could not figure out, how to continue. They have not scrolled down to the Readme that would show them that they are at the right place. I guess because they only see file and folder names and got lost, so I tried to organize it a little bit into sub folders that they become less "scared". You can see the major difference when you look at the v2.x branch where I mashed the root structure to a bare minimum. I did not moved everything around for v1.x any more because git does not track file movement very well. Therefore I keep old files at their place as long as possible and only care for new files and folders that don't have a big history yet, like the two of your "source" folders.

However the big issues are, I cannot build Windows (Installer) and Linux (Mono) version any more. And I am struggling to throw away the backward compatibility to .Net 2.0 Framework as this was one of my personal achievements from the beginning to maximize portability and I spend a lot of time into it that I don't want to throw it away without severe reasons. (With v2.x I am trying to go further into mobile platforms and this is sadly no longer possible continuing with that system requirements. So to say I will switch to .NET 6 with a tear in one eye and a smile in the other because it opens up lots of opportunities.) Do you think, you can prepare the projects and the release scripts that it is still possible to generate the Windows Installer, Windows Portable and Mono Portable versions with their .Net 2.0 dependency and you add separate project for an additional Autosplitter version?

PS: You know that the Preview.xcf is the GIMP base file for the Preview.png? It looks like you have recreated the whole image by yourself. Maybe you can remove the glitch on the left of the right table and the mouse pointer from the application on the left?

PPS: With "Hispano" (the button name) you meant "Spanish" right, or is this actually a name for something (the discord group)?

neimex23 commented 2 years ago

I don't know what do you means about change copy notice i just added DLL that i use and done, i put (modificable) on scripteable because in the in the actual state i cant use in my code. Yes i modified any copy MIT in C files but i think that in at moment i touch, so i remove this code and forget change Copy. For IGT Update i work with other people and i think that added some space without any reason, but is my fault in any change of previous code to re ordinate for my reorder for my taste. I added a new profiles and like Celeste is above Sekiro maybe is this reason of change position split, i do testing with example profiles and work fine if reset split and timer i don't know why this happened because rest of profiles work fine regardless is started or not, or is created a new profile, so i decide "block this profile", Yes I think that IGT works fine in this case. We should use a new function because functions that have returned a full length of run so I think that for them it was the best option. I will speak to IGT devs to talk about html but i don't hope to do anything. I had to ask for help with this because out of my abilities I will change folder issues. I put this folder into sources and done. The problem is DLL framework version their are incompatible with any version that is not .Net Framework 4.6 or newer i don't know how to port to others versions of Framework, i can do for you the compilation and send you Installer and Portable Version. https://drive.google.com/file/d/1_Gy3MMZ0zAhzvgmJxr8636rkisSy1F3S/view?usp=sharing

Oh i will try remove glitch of xcf And yes Hispano is for Spanish community your discord is "NoHit Hispano"

Regards PD: I see the white space in appconfig example maybe is my IDE? i dont know i will fix

topeterk commented 2 years ago

Hi, I don't want to ask you every time I want to build a release, so I will be able to do that at any time by myself.

If your added code does not run with .Net 2.0, I think the easiest way is that we produce an separate output for, lets say "WindowsPortableAutosplitter" next to WindowsPortable, WindowsSetup and MonoPortable. In order to do that an separate csproj file could help us out, where all the dependencies are resolved using .Net 4.8. Then the Win and Mono csproj files can remain using .Net 2.0 to produce the non-autosplitter version as before.

The copyright notice I meant in the last post was something like here: https://github.com/topeterk/HitCounterManager/pull/30/files#diff-444fd65e4edbcb95eb6559c02d1cb63f6956c6165e2243d1a3b168913eed5f7e (The previous copyright changes, I asked via mail already, are fine as far as I been through the code yet.) It is nothing special but (as you mentioned you are not so experienced) I just want to let you know that it is some sort of good manners at open source software in general that you do not claim any copyright without providing a (significant) enough change. In this case you haven't changed anything in that PrepareRelease.sh.