Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Package contents #505

Open
GLS-SSV opened this issue Oct 4, 2024 · 12 comments
Open

Package contents #505

GLS-SSV opened this issue Oct 4, 2024 · 12 comments

Comments

@GLS-SSV
Copy link
Contributor

GLS-SSV commented Oct 4, 2024

There seem to be a few issues with the files currently being included in the packages.

  • GitHub package
  1. "CMakeLists.txt" and "exports.txt" not needed.
  2. "lua.lib" in the base folder, and "lua.exe" in "Orbitersdk\lib\Lua", switched files?
  3. "msvcp71.dll" and "msvcr71.dll" not used? Dependency Walker indicates instead the need for "MSVCP140.DLL" and "VCRUNTIME140.DLL"
  • RC2 package
  1. "Constell.bin", "Constell2.bin" and "keymap2006.cfg" not used.
  2. "lua5.1.dll" not used?
  3. Old "readme.txt". An updated one will be added in the doc branch.
@DarkWanderer
Copy link
Contributor

DarkWanderer commented Oct 5, 2024

  1. CMakeLists.txt is on @jarmonik - https://github.com/orbitersim/orbiter/blame/adc679553a4e206cf34718ab4224858edcaea495/Orbitersdk/sample_build/CMakeLists.txt#L29 - he can probably comment why it was added. exports.txt will be fixed in Prevent exports.txt from getting into result package #507
  2. Good question, need to take a look. Not necessarily switched but these files are installed into multiple locations
  3. The modules currently committed as binary may depend on those. It is worth installling MSVCP140 and VCRUNTIME140 to output though - Add runtime redist as mandatory part of package #506

As for RC2 package, the current mechanism is to take old 2016 files and overlay OpenOrbiter on top - for lack of better mechanism. As intermediate measure, we need an exclusion mechanism - but for the moment, I think extra files can live as-is

@jarmonik
Copy link
Contributor

jarmonik commented Oct 6, 2024

CMakeLists.txt was simply added so that most common SDK sample programs could be build without building the Orbiter it-self. There was some discussion about this in the Orbiter Forum.

@GLS-SSV
Copy link
Contributor Author

GLS-SSV commented Oct 8, 2024

(trying not to hijack this ticket)
As far as the redistributable lib needs, Dependency Walker gives this for the already compiled planetary modules:

  • MSVCR80.DLL
    Ariel.dll
    Deimos.dll
    Umbriel.dll
    Phobos.dll
    Oberon.dll
    Miranda.dll
    Titania.dll

  • MSVCR90D.DLL
    Triton.dll

So the list of needed libs is:

  • MSVCR80.DLL
  • MSVCR90D.DLL
  • MSVCP140.DLL
  • VCRUNTIME140.DLL

@GLS-SSV
Copy link
Contributor Author

GLS-SSV commented Nov 9, 2024

File "Config\Earth\Marker\City.mkr" is also not needed (replaced by Cities.mkr).

@GLS-SSV
Copy link
Contributor Author

GLS-SSV commented Nov 24, 2024

More file issues:

-> Confirmed duplicate files in rc2 package:
Meshes
Atlantis_SRB.msh
Atlantis_tank.msh
Dragonfly.msh
Leonardo_mplm.msh
ProjectAlpha_ISS.msh
ShuttleA.msh
ISS.msh

Textures
srb.dds
srbl.dds
srbu.dds

Tank.dds

sha1ft1.dds
sha1tx1.dds
sha1tx2.dds
sha1tx3.dds
sha1tx4.dds
sha1tx5.dds

sha1cp1.dds

srbl.dds
srbu.dds

issItalian.dds
issleo.dds

d_ring.dds
graple.dds
iss_dc.dds
iss_dcs.dds
iss_un.dds
issb.dds
issb2.dds
issb3.dds
issb4.dds
issbs.dds
issbso.dds
issbso2.dds
isscov2.dds
isscover.dds
isscup.dds
issdish.dds
issdot.dds
issesa.dds
isshand.dds
issins.dds
issku.dds
issku1.dds
issku2.dds
issmb.dds
issmod.dds
issp2.dds
isspanel.dds
issrad.dds
issred.dds
isssolar.dds
issusa.dds
issusaf.dds
isszmod.dds
metalcon.dds
nasda.dds
questcov.dds

mmu.dds
mmu2.dds
mmu3.dds
mmu4.dds
mmu6.dds
mmu_nasa.dds
mmu_red.dds
tred.dds
visor.dds

-> in git, not needed for release
Meshes\KLC39B_orig.msh

-> in git, no usage
Textures
Shutex2_512.dds

Solar3.dds
Solar3s.dds
Mc.dds
Mc2.dds
Hatch.dds

Meshes
docking.msh
Cyl.msh
Surf1.msh

Src\Celbody\Satsat\Titan\Config\Titan_v2.cfg

"Scenarios\Antelope Valley scenery" (Antelope Valley not (yet) included)

-> in git, already 0 size when added
Orbitersdk\samples\DeltaGlider\devscripts\make_gimbal.m
Orbitersdk\samples\DeltaGlider\devscripts\texsize.m

Meshes\Hyperion.msh

Flights\Smack! Rescue\ISS.atc
Flights\Smack! Rescue\Luna-OB1.atc
Flights\Smack! Rescue\Mir.atc

Flights\DG-ISS Sync Dock\Mir.atc

-> Lua
Several Lua modules duplicated between vessel cfg folders and samples folder in release package.

Same files in several folders:
Orbitersdk\lib\Lua
lua.exe
lua5.1.dll
lua5.1.lib
lua51.lib
lua51.dll

Orbitersdk\Utils
lua.exe

Orbitersdk\samples\LuaScript\Lua\dll
lua5.1.dll
lua5.1.lib
lua51.lib
lua51.dll

@GLS-SSV
Copy link
Contributor Author

GLS-SSV commented Dec 3, 2024

Duplicate files...
Instrument.cpp
Instrument.h

... located at...
Orbitersdk\samples\Common
Orbitersdk\samples\Common\Vessel

... being copied twice in "Src\Vessel\CMakeLists.txt"
install(DIRECTORY Common/ DESTINATION ${ORBITER_INSTALL_SDK_DIR}/samples/Common/Vessel/ ${IgnoreFiles})
install(DIRECTORY Common/ DESTINATION ${ORBITER_INSTALL_SDK_DIR}/samples/Common/ ${IgnoreFiles})

Same scenario in 2 places
Space Shuttle to ISS.scn

Scenarios\2024 Edition
Scenarios\Tutorials

@DarkWanderer
Copy link
Contributor

DarkWanderer commented Dec 6, 2024

It seems like we are reaching the limits of what current "overlay" approach can give us. I can see 2 ways out of this situation:

  1. Use Git LFS via https://github.com/milkey-mouse/git-lfs-s3-proxy - this is most seamless approach, but will require some training and may generate small billing charge

  2. Stopgap - Use CMake to download Orbiter 2016 and overlay the files in more controllable fashion. This will require wrangling whitelists/blacklists and is still a temporary solution.

@Xyon do you think we can make an R2 bucket for LFS? Happy to do a prototype if you are ok to pick it up later

Otherwise, I can try and whip up a CMake equivalent

@GLS-SSV
Copy link
Contributor Author

GLS-SSV commented Dec 30, 2024

Scenario "(Current state).scn" mentions 2016.

@Xyon
Copy link
Member

Xyon commented Dec 30, 2024

Yes, noted this in discord just now. I'm amending the overlay approach to include only the texture directories for the moment; we can look into fixing this properly (via LFS) in the post-2024 era.

@GLS-SSV
Copy link
Contributor Author

GLS-SSV commented Dec 30, 2024

The stuff being fixed should be crossed from the entries above, to keep track of things.

@Xyon
Copy link
Member

Xyon commented Dec 30, 2024

A new version of RC4 which contains only Textures and Textures2 folder from the 2016 baseline package has now replaced the previous RC4 package. This should resolve almost all of the duplicates for the upcoming release, and while I can run the sim to validate that the scenarios now look much more reasonable for 2024 I am no longer running Windows, so I would really appreciate someone who is running Windows do some sense-checks on the re-uploaded RC4 package to make sure I haven't introduced any problems. For the avoidance of doubt the MD5 checksums are:

  • Original RC4 (made with previous overlay method, high duplicate count): d4be343acc98c077a80a41721b7439fc
  • Replacement RC4 (with just texture folder copy-over): d0ae5ef74d2471725fa8d9b15f65c345

@GLS-SSV
Copy link
Contributor Author

GLS-SSV commented Dec 31, 2024

BTW: the new RC4 seems to work as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants