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

Add files via upload #719

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
51 changes: 51 additions & 0 deletions doc/doc/AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
Vega Strike
http://vegastrike.sourceforge.net
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.



© 2002-2020 Daniel Horn, Patrick Horn, Alan Shieh, and Aleksander Rawass
Sabarok Aresh, Stefan Stapelberg, aka pyramid

© 2002-2020 Graphic Art Daniel Aleksandrow, James Carthew, Jason Wizenreid, Warden, and many more that I do not have the brains to say right now...


Core Development Team
-------------------------------------------
Daniel Horn <[email protected]>
* Lead Developer

Alexander Rawass <[email protected]>
* Programmer

Patrick Horn <>
* Programmer

Alan Shieh <>
* Programmer

Core Art Team
-----------------------------------------
Daniel Horn <[email protected]>
* Programmer Art & Hornet

H.E. Day
* Cockpit Art

James Carthew <>
* Sol System Layout

aka pyramid
* Art assets integration

Contributions
-----------------------------------------
Don Edwards
* Planet textures

John van Vilet
* Planet textures

Bob Hedgewood
* Planet textures

NASA USGS
* Planet textures
48 changes: 48 additions & 0 deletions doc/doc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
##
# CMakeLists.txt
#
# Copyright (c) 2001-2002 Daniel Horn
# Copyright (c) 2002-2019 pyramid3d and other Vega Strike Contributors
# Copyright (c) 2019-2021 Stephen G. Tuggy, and other Vega Strike Contributors
#
# https://github.com/vegastrike/Vega-Strike-Engine-Source
#
# This file is part of Vega Strike.
#
# Vega Strike is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# Vega Strike is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Vega Strike. If not, see <https://www.gnu.org/licenses/>.
#

INCLUDE(GNUInstallDirs)
# There is no good method for this. The preferred method of using the `TYPE` argument doesn't exist until CMake 3.14
# and there is no CMake Policy to detect the change or force only the older style. `TYPE` is preferred because the
# destination is held by CMake instead of being hard coded here. So once CMake 3.14 is the base version this can
# be dropped to just the one version.
IF (CMAKE_VERSION VERSION_LESS "3.14")
# Because paths are hard coded this is limited to Unix platforms.
IF (UNIX)
MESSAGE("Hard coded doc destination")
INSTALL(FILES AUTHORS DESTINATION "${CMAKE_INSTALL_DOCDIR}" RENAME AUTHORS.SF)
INSTALL(FILES "${PROJECT_SOURCE_DIR}/../AUTHORS" DESTINATION "${CMAKE_INSTALL_DOCDIR}" RENAME AUTHORS.GITHUB)
INSTALL(FILES ChangeLog DESTINATION "${CMAKE_INSTALL_DOCDIR}")
ENDIF (UNIX)
ELSE (CMAKE_VERSION VERSION_LESS "3.14")
# This is the preferred instruction, but it's not available until cmake 3.14
MESSAGE("Newer CMake version, using preferred method")
INSTALL(FILES AUTHORS TYPE DOC RENAME AUTHORS.SF)
INSTALL(FILES "${PROJECT_SOURCE_DIR}/../AUTHORS" TYPE DOC RENAME AUTHORS.GITHUB)
INSTALL(FILES ChangeLog TYPE DOC)
ENDIF (CMAKE_VERSION VERSION_LESS "3.14")

ADD_SUBDIRECTORY(man)

85,269 changes: 85,269 additions & 0 deletions doc/doc/ChangeLog

Large diffs are not rendered by default.

20 changes: 20 additions & 0 deletions doc/doc/DOCUMENTATION
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
-------------------------------
Vegastrike Code Documentation
-------------------------------


Universe deals mostly with binding various star systems together, and keeping graphics on track.
Star System deals with the current cameras, and the current lights, and keeping order when the scene may be changed (swithcing to a cam in a different star system for instance).


Units are accessed through a UnitContainer or a UnitCollection depending on the number. These structures keep reference counts and remove any "dead" units from them when accessed. Star system has the complete list of units and cycles through them to accomplish physics, etc.

Included in this directory contains resources for generating documentation/degugging

For more Details please see the
doxygen Documentation- {VS_root}/doc/VS_Doxygen.RDME .
{VS_root}/doc/doxygen - contains script for using Doxygen on vegastrike cpp & python coding, and is where output is located
GDB_python {VS_root}/doc/VS_Gdb_Python.RDME
{VS_root}/doc/gdb - for gdb with python debugging
Valgrind {VS_root}/doc/VS_Valgrind.RDME
{VS_root}/doc/valgrind - parts/scripts for running valgrind
6 changes: 6 additions & 0 deletions doc/doc/VS_Doxygen.RDME
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
The basic idea is first to Warn you will require lots of space if you proceed.
The basic steps are in the VSE root directory run "./doc/doxygen/doxygenConfig" and all the data will be in a subdir under /doc/doxygen. the VS_doxy.config is editable (please make a bakup of the config file first, just in case. Currently it is configured to run on VegaStrike github master >"INPUT" needs to be adjusted for appropriate directoy.

Requires: doxygen, Graphviz, Vegastrike {engine,assets} source packages. Lots of free storage.

TODO: Explain it all ;^s
93 changes: 93 additions & 0 deletions doc/doc/VS_Gdb_Python.RDME
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
In order to properly setup and use gdb with pythonon the "vegastrike-engine", some things need to happen.

sudo apt-get install gdb python3.7-dbg gdb-doc gdbserver python3-gdbm-dbg python3-tk-dbg

1 gdb and gdb-python (3,x), test python described below
2 debug symbols (ex foo.dbg) for vegastrike build dependancies
3 vegastrike built with "-O -fno-inline" + debug symbols



########### Important files ###############
$XDG_CONFIG_HOME/gdb/gdbinit (/etc/gdb/gdbinit 0n debian 10)
$HOME/.config/gdb/gdbinit
$HOME/.gdbinit

************
from python
https://devguide.python.org/gdb/

In gdb 7, support for extending gdb with Python was added. When CPython is built you will notice a python* file in the root directory of your checkout. Read the module docstring for details on how to use the file to enhance gdb for easier debugging of a CPython process.

To activate support, you must add the directory containing python-gdb.py to GDB’s “auto-load-safe-path”. Put this in your ~/.gdbinit file:

add-auto-load-safe-path /path/to/checkout
************

So using locate I would :
$ locate *-gdb.py

Which on my debian"buster" reports

:~$ locate *-gdb.py
/usr/share/gdb/auto-load/lib/x86_64-linux-gnu/libpthread-2.28.so-gdb.py
/usr/share/gdb/auto-load/usr/bin/python3.7-dbg-gdb.py
/usr/share/gdb/auto-load/usr/bin/python3.7-gdb.py
/usr/share/gdb/auto-load/usr/bin/python3.7dm-gdb.py
/usr/share/gdb/auto-load/usr/bin/python3.7m-gdb.py
/usr/share/gdb/auto-load/usr/lib/jvm/java-11-openjdk-amd64/jre/lib/server/libjvm.so-gdb.py
/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5800.3-gdb.py
/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5800.3-gdb.py
/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libisl.so.19.1.0-gdb.py
/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libpython3.7dm.so.1.0-gdb.py
/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0-gdb.py
/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25-gdb.py

As the closest one is "/usr/share/gdb/auto-load/usr/bin/python3.7-gdb.py" I chose this one. I don't know what the rest are yet so I'll leave them alone

!@#@!!@#@!!@#@! END ONE TIME SETUP SECTION !@#@!!@#@!!@#@!

TESTING

If you are doing this for the first time, you may want to verify it works.
This test displays/doesn't display the pid # of gdb via python (you will soon understand)

first in terminal start gdb

~$ gdb
GNU gdb ... blah blah ...

For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb)

here at "(gdb)" type "pi"

(gdb) pi

you should see ">>>" whicxh is the gdb-python command prompt.
First timer should try the following
enter this at ">>>" prompt

>>> import os
>>> print('I am pid ()'.format(os.getpid()))
I am pid ()


If this works then you have a gdb_python <= 2.7 and needs to be changed (unless you are using python <= 2.7)

Now try the python 3 version


>>> import os
>>> print('my pid is',os.getpid())
my pid is 27319

now you are ready to run gdb_python on vegastrike=engine







32 changes: 32 additions & 0 deletions doc/doc/VS_Valgrind.RDME
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
Vegastrike setup base valgrind suite

1 In a user directory a ".valgrindrc" file, Create if not found
2 A directory search tool (I used updatedb & locate from locate pkg on debian)
3 locate *.supp
For example on my Debian My output looks like this

/usr/lib/valgrind/debian.supp
/usr/lib/valgrind/ncurses.supp
/usr/lib/valgrind/python.supp
/usr/lib/valgrind/python2.supp
/usr/lib/valgrind/python3.supp
/usr/lib/x86_64-linux-gnu/valgrind/aisleriot.supp
/usr/lib/x86_64-linux-gnu/valgrind/default.supp
/usr/share/glib-2.0/valgrind/glib.supp
/usr/share/openmpi/openmpi-valgrind.supp
/usr/share/pmix/pmix-valgrind.supp

If you need to create a ".valgrindrc" the command "locate *.supp > ,/.valgrindrc will get you started

4 edit ".valgrindrc" and comment out (with "#") the "python,python2" lines.
On my system python and python .supp files are the same. so not taking chances I comment them out ,Also the
lines of openmpi-valgrind.supp and pmix/pmix-valgrind.supp are not used in vegastrike last time I checked ,
so they can be commented or given suppression tag as you see fit.
Also insert "--suppressions=" before all other lines. DON'T FORGET TO SAVE
5 run valgrind simular to "valgrind --tool=callgrind ./vegastrike-engine -d../../Assets-Production"
in this example callgrind will be run - many other options

I found there is a "gdb server option" but for now this will be a start

$ ./gprof2dot.py --format=callgrind --output=out.dot /path/to/callgrind.out
$ dot -Tpng out.dot -o graph.png
Loading