News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu

Color changing of the needle

Started by Ryoma, August 22, 2021, 06:46:18 PM

Previous topic - Next topic

Daniel3D

 As of this mod the game is not original anymore.
This is the first mod that was only possible by rewriting part of the game engine.

So, a bit of a milestone.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

llm

Please open a branch for the Mod, its still easy to follow the current few changes, but that will get harder and harder if the change count grows

Daniel3D

Yes I'll try to figure out how tonight.
I will make one for the Ferrari edition as well.
CAS and I are going to redo that properly.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

llm

Quote from: Daniel3D on November 02, 2021, 07:43:19 AM
Yes I'll try to figure out how tonight.
I will make one for the Ferrari edition as well.
CAS and I are going to redo that properly.

first of all, git is a distributed version control system - so there is no need to work permanently with the gitbucket server, create as much branches you need and work on them locally

you can always merge (using git, not manually) changes in one branch into another (or update you branch with master/main) - try to understand the concept and do not work around - that keeps the history intact

good clients (at first, easier to understand then the command client)
http://gitextensions.github.io/ (Windows only)
https://gitahead.github.io/gitahead.com/ (Windows and Linux)


Daniel3D

I find it difficult to understand how it works.
I get the principle. But I have never done anything remotely like this.

So I'll install the software, get the repository in and go from there.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

llm

#20
Quote from: Daniel3D on November 02, 2021, 08:18:01 AM
But I have never done anything remotely like this.

watch this: https://www.freecodecamp.org/news/learn-the-basics-of-git-in-under-10-minutes-da548267cc91/
or some youtube videos - you only need to know the basics (clone, pull, push, merge)

here is a git-extension how to video/tutorial:
https://bytescout.com/blog/beginner-guide-to-git-on-windows-using-git-extensions

important: you can create a local test repo and clone from that into a different work repo folder and test all the new stuff you learn - even pushing is possible

c:\temp\remote_repo <- create this for fun
  add,commit,pull etc.
c:\temp\work_repo --> clone of remote_repo
  add,push,pull,merge

you can test every "remote-repo" feature completely local - there is no need for a server like github/bitbucket etc. to learn that - due to the "distributed" nature of git
every repo can act as a sever or client branch

Cas

We definitely need to branch out, yes. Still, I do find it really confusing to work with Git and similar. I'll give an example. Say you have an original source made of files A and B. Then, you make a change that consists on patching A resulting in a new source composed of A' and B. After that, you make a separate change, that causes a completely different thing by patching B. We have a A' + B' source now. A third patch is created finally that modifies A' resulting in A"+B'.

Now. It is clear that patch 3 is causally posterior to patch 1 and can only be applied on the source that already has patch 1, but patch 1 and patch 2 could in theory each be applied or not independently. Is there an organised and clear way to specify things like that?  That is, to separate what is patch 1, patch 2 and patch 3, maintaining the dependencies of each patch on others and allowing maximum flexibility on which patches are on and which are off?
Earth is my country. Science is my religion.

Daniel3D

Well CAS I think that is exactly the reason for the git.
Keeping track of things like that.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

KyLiE

Quote from: Cas on November 01, 2021, 11:55:16 PM
So yes!  We did it! :D

Excellent work!  I look forward to finding out if it's possible to specify different colours for the two needles.

Duplode

#24
Quote from: Cas on November 02, 2021, 02:24:24 PM
Is there an organised and clear way to specify things like that?

Yes, though the dependency tracking works in a somewhat different way. Git doesn't give you full flexibility because it arranges history by keeping track of the parent of each commit. However, it does offer ways of managing and reconciling diverging patches when there is a need to. For instance, here is a slight variation on your example. Let's say you were working on file A, changed it in commits x and y, and pushed your changes to our shared repository:


(A, B) ---[x]--> (A', B) ---[y]--> (A'', B)


Now, while you were still working on your patches, I started working on file B, and changed it in my local repository with commit z:


(A, B) ---[z]--> (A, B')


If I pull your changes to update my repository now, I will end up with diverging history lines:


(A, B) ---[x]--> (A', B) ---[y]--> (A'', B)
  |
  +---[z]--> (A, B')


The usual way of dealing with that is for me to ask Git to rebase my changes, that is, rewrite z so that it is applied after y:


(A, B) ---[x]--> (A', B) ---[y]--> (A'', B) ---[z*]--> (A'', B')


(If there were any conflicts between our patches -- that is, if we happened to have changed the same thing in different ways -- I would be asked by Git to deal with them at this point.)

Now that the history in my repository no longer diverges from the shared one, I can push my commit to the shared repository, and you, in turn, can pull it.

llm

Quote from: Daniel3D on November 02, 2021, 03:20:11 PM
Well CAS I think that is exactly the reason for the git.
Keeping track of things like that.

yepp - that is exactly what git does - keep track of sub-mergeable changes - but as usual - one can work around git's feature-set and break everything real fast :)

Daniel3D

Quote from: llm on November 02, 2021, 04:16:36 PM
but as usual - one can work around git's feature-set and break everything real fast :)
I'll try not to do that...
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

Cas

Oh, well, I really don't want to make it harder for Git to do its work!  I think I would be working on my local copy for testing, but then if I like what I have, I'll just redo the thing working in team, so we don't collide. My interest in these patch dependency trees comes from the idea that perhaps somebody would want to apply certain mods, but not certain others, so I was wondering if there was a clean way to exploit Git so that one could get different sources for any combination of mods... things like that.
Earth is my country. Science is my religion.

Daniel3D

That is possible I think. If they don't influence the same piece of code. So documentation and organisation is important.
But I want to redo the Ferrari edition and apply the needle change to that.
So 2 branches already..

The only thing that saddens me a bit is that we can only mod the mcga version this way.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

Daniel3D

Quote from: llm on November 02, 2021, 08:12:09 AM
Quote from: Daniel3D on November 02, 2021, 07:43:19 AM
Yes I'll try to figure out how tonight.
I will make one for the Ferrari edition as well.
CAS and I are going to redo that properly.

first of all, git is a distributed version control system - so there is no need to work permanently with the gitbucket server, create as much branches you need and work on them locally

you can always merge (using git, not manually) changes in one branch into another (or update you branch with master/main) - try to understand the concept and do not work around - that keeps the history intact

good clients (at first, easier to understand then the command client)
http://gitextensions.github.io/ (Windows only)
https://gitahead.github.io/gitahead.com/ (Windows and Linux)
I looked around for a good client (I was curious). Found GitKraken which seems a good choice for me.
Got it working and i kind of understand how it works.
Going to look at some tutorials later before I commit to anything.
But I did make some local branches already. So, so far so good.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)