# VesselMars 2020 Rover and Mars Helicopter Scout

#### gattispilot

On the copter IT is VB. The hope is someone could make it fly well. Then I can convert to dll and add animation.

There are 3 vessels all together. The rover, copter and the case cover.

The rover has 2 extra meshes. the cover and stored copter. Press a key the cover goes away and is created and landed. the stored copter mesh rotates around getting ready for deployment. Press a key it rotates and goes away and the copter is created.

#### kuddel

##### Donator
Donator
Huh! Giving a version-control introduction/tutorial is a bit much...currently.
But if I find some time I'll try to do so. Maybe someone else has a good introduction (or a link to some)?
It doesn't have to be TortoiseSVN, but I think it's the easiest way in an Windows environment.
git seems to be the current choice, so maybe you would try to get a grip on that - as I said it's not my favorite.

#### gattispilot

I install tortiseSVN and tring to set up the project. But not having any luck

#### Attachments

• MARSREPO.jpg
103.4 KB · Views: 3

#### kuddel

##### Donator
Donator
You've created a repository! That's not what you have to do on your local machine[1].
You work on your workingcopy (svn lingo), not on the repository.
The repository is the storage where svn stores all the revision-data and meta-data (like commit comments, dates, etc. pp.)

So to create a playground you could try these steps:
1. Create a repository somewhere else (on your NAS, or for example in C:\repos\); just create a folder there and name it mars2020repo. The name is not important, I just chose that one to make it easier to see that this is the repository!
So, right-click on the folder and select "Create repository here";
Then select "Create folder structure"[2]
This repository is usually somewhere else (like on github for example)

2. Now we set up your working-copy
Go to a directory (or create one) where you like to work on (hence the name workingcopy). In our example C:\Orbiter\Mars2020\
There you right-click and select "SVN checkout...". This is where you "connect" or "link" your workingcopy to the repository.
In the field "URL of repository" you enter the ...guess what... the URL of the repository
In our example: file:///C:/repos/mars2020repo (You can click the three dots to browse to the folder)
Once the URL is set, clicking on the three dots again now will open up the Repository Browser Dialog, where you should select the'trunk' folder which will alter the
"URL of repository" to "file:///C:/repos/mars2020repo"[3]
Now click O.K and your working copy is set up!

3. As we've just created an empty repository nothing else will happen, just a (hidden) .svn folder is added to your workingcopy.

4. Now if you want to add files under version-control you have to tell SVN so.
So in our playground you can just add (copy) any files / folders there, but nothing special will be done with then.
SVN treats all your files as 'local' unless you tell it to "version" it.
So let's do that: Let's assume you've copied one file in there (test.txt). Now yo can either right-click on just the file or on its parent directory (in this case your workingcopy) and select "Add...". Depending on whether you've clicked on the file or on the directory the file will be just added or a selection dialog will pop up.

5. Now you have to understand that this changes are currently only known to your workingcopy (the repository did receive no change at all)
When you are ready to commit your changes right-click again on the parent directory and select "SVN Commit...".
This presents you with an overview of your current local changes (one added file that is).
You should now enter a meaningful comment (like "Added very important 1st file") and hit OK.
NOW the changes are saved to the repository! You can do whatever you like with your workingcopy, that revision (svn lingo) is there to stay!

6. Now making changes to the file is a similar approach:
Just change the content of the file and whenever you feel like it's worth to commit right-click again on the parent directory and select "SVN Commit...".
Again an overview of your current local changes will be presented (one changed file). You can double-click on that file in that list to get a nice comparison (diff) of the before and after.
Again, enter a meaningful comment (like "Did changes to make the file change") and hit OK.
Again we have created another revision in the repository...

7. Now play around a bit!
Important to note is, thar renaming a file or moving a file that is under version-control has to be done via the according right-click SVN operations!
Else it would look for SVN as if you have just deleted the file and created a new one....
But all that details are something you have to learn...

8. In our example you are the one and only developer that is commiting to that repository, but imagine another developer also changing (and commiting) things:
In this case you have to "Update" (svn lingo) your workingcopy from time to time to get those changes. Usually you do this before you start making any changes, as conflicts might arise when you have change for example the same line than the other...

If you have started working on r.2 (revision 2 - svn lingo) while the other developer already has committed three more changes,
you will get a warning (or error?) when you try to commit, that you 1st have to update your workingcopy (to r.5 in this example).

If you like to checkout the Mars2020 repository from github into any local workingcopy, the URL is: https://github.com/schnepe2/Marsrover2020.git/trunk
You can mess around there, too ...[4]
The only difference is, that the repository is at github. So expect a login/password dialog sometimes

I hope I didn't overwhelm you too much (or even worse: you already know all this stuff )

And if this seems TO MUCH HASSLE for now,
a) don't be afraid, you'll get used to it and the even LIKE it.
b) you can of course always keep your habit of developing locally by copying/renmaing/moving/ZIPping files. It's just not collaborative

/Kuddel

[1] you can of course do so. And it's a nice way to play around with svn! But you have to remember to know the difference between workingcopy and repository
[2] This creates sub-folders 'trunk', 'branches' & 'tags' in that -empty- repository
[3] These special folders are a SVN-specific thing, you don't have to do it this way, but it's the recommended SVN way. The repository on github has something similar but it's called "master" (git lingo)
[4] I would have moved the "ownwership" to you already, but you already have a repository by the same name on github :/ Maybe you delete it.

Last edited:

#### kuddel

##### Donator
Donator
Phew...now it almost IS a tutorial

Hopefully not too many error in there

#### gattispilot

Thanks. So I made a working copy and a playground copy. Then added files into playground copy. But not seeing add?

#### gattispilot

Started again. Step 1a:

step1b:

then step2:

#### kuddel

##### Donator
Donator
...you're getting there...
Just keep in mind, "Add..", "Commit.." etc. only work on workingcopy folders (you don't want to have all your harddrive under version control )!

You can also do the "Checkout..." step at an already filled directory (like your Orbiter root for example), you just have to confirm that you are willing to do so on an extra dialog that will show up.
Then you can add files from there to version control via "Add...".
Also note, that you have to add "from bottom up". That is a file in a sub-sub-sub directory can only be added if those (sub-sub-sub)directories are also added.
The "Add..." dialog - when opened at the workingcopy root will automatically add those parent-directorys when you add a file.

But I would recommend to play around with another playground until you get a feel for what you are actually doin'! You might ruin your precious Orbiter installation!

An also: Try not to add ALL the orbiter files! ONLY YOUR files!

#### gattispilot

Thanks. It is the adding part I am not understanding.
If I right click on the MARS2020 folder in my orbiter not seeing add,.....

#### gattispilot

I checked out the repo and got the add. Not sure if doing this right at all.

#### gattispilot

Til I can figure out the version control. I renamed the meshes and made a new dll. Works for me

#### Attachments

• marsrovernewmeshdll.zip
3.7 MB · Views: 8

#### kuddel

##### Donator
Donator
Yeah, in the last one you have it.
Again, ONLY workingcopy works (that folder must be "under version control").

In your first second-to-last image (Folder D:\Orbiter2016\Mars2020), that folder is not (yet) under version control;
You see the "SVN Checkout..." though, so you could make this folder to become a folder "under version control"!

Thanks.
So I have this:

#### gattispilot

here is the MarsRover right click on the folder

Last edited:

#### kuddel

##### Donator
Donator
So now your workingcopy has added files (as you've seen in the 'Check for modifications' Dialog). Good!
So now it's just a matter of 'Commit' to push the changes into the repository.
That will make all the icons "green" again to tell us that your working copy is again in a state where it is "equal" to the (HEAD revision) of the repository.

From that a change in any file (just add a dummy comment in the cpp file for example) will make the icon go "red" again, indicating a change.
And again it's time to do 'Commit..', check if the changes you've made are O.K. an worth to be committed, enter a meaningfull comment and all is permanently stored in the repository.
It really helps to play around a bit with all the changing, updating, commiting, moving, renaming.
Once you get a feeling for what is actually happening, the more advanced steps (branching, tagging, merging) can be grasped a little more easily.
As usual learning the basics is key to advance further.

#### gattispilot

So i right clicked to commit:

but get this error:

#### kuddel

##### Donator
Donator
The error message says it all.
I looks like you've added something like foo/bar.baz but didn't add foo (the directory)
meshes\Mars2020, but forgot to add
meshes\.
Possibly you accidentally unchecked that in the commit dialog (lower part)? I see "39 files selected, 40 files total"

#### gattispilot

Yes. Thanks. Now green check mark. So now how to publish so other can edit,..... and how to compile the changes.

#### Gargantua2024

##### The Desktop Orbinaut
The latest upload of the Mars 2020 rover's DLL from Post #191 works! If you installed earlier versions of it, you must remove all the files first entirely before reinstalling because for some reason, it still causes CTD if those earlier files are still present. The latest DLL uses the same Config and Texture files as those on Post #144. With gattispilot's permission, the working files have been reuploaded here in one ZIP.
Amazing work by gattispilot and kuddel!

CONTROLS:
Ctrl+Space = Arm/MastCam-Z/HGA controls
K = Stow wheels
J = Deploy wheels
3 = Jettison Copter cover
4 = Jettison Ingenuity

#### Attachments

• Mars 2020.zip
5.2 MB · Views: 19

#### Leone20010

##### New member
The latest upload of the Mars 2020 rover's DLL from Post #191 works! If you installed earlier versions of it, you must remove all the files first entirely before reinstalling because for some reason, it still causes CTD if those earlier files are still present. The latest DLL uses the same Config and Texture files as those on Post #144. With gattispilot's permission, the working files have been reuploaded here in one ZIP.
Amazing work by gattispilot and kuddel!
View attachment 24892
CONTROLS:
Ctrl+Space = Arm/MastCam-Z/HGA controls
K = Stow wheels
J = Deploy wheels
3 = Jettison Copter cover
4 = Jettison Ingenuity

Something weird seems to happen here: Mars 2020.zip Rover doesn't touch the ground. Animations works (except for 4). I'm unable to move and steer it.

#### Attachments

• test.PNG
1.3 MB · Views: 7