documentation reorganization, dockerfile
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good

This commit is contained in:
austin 2024-09-03 21:32:59 -04:00
parent 249db4fc89
commit 577c7293bd
49 changed files with 169 additions and 54 deletions

2
.gitignore vendored
View File

@ -47,7 +47,7 @@
.testcache
#docs
/docs-dist/**
/docs-dist
/docs/DoxygenWarningLog.txt
#imgui local layout

View File

@ -1,3 +1,3 @@
#maven.buildNumber.plugin properties file
#Mon Sep 02 15:21:11 EDT 2024
buildNumber=315
#Mon Sep 02 19:29:06 EDT 2024
buildNumber=317

View File

@ -1,4 +1,4 @@
# Doxyfile 1.10.0
# Doxyfile 1.11.0
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
@ -364,7 +364,7 @@ MARKDOWN_SUPPORT = YES
# to that level are automatically included in the table of contents, even if
# they do not have an id attribute.
# Note: This feature currently applies only to Markdown headings.
# Minimum value: 0, maximum value: 99, default value: 5.
# Minimum value: 0, maximum value: 99, default value: 6.
# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
TOC_INCLUDE_HEADINGS = 5
@ -392,8 +392,8 @@ AUTOLINK_SUPPORT = YES
# to include (a tag file for) the STL sources as input, then you should set this
# tag to YES in order to let doxygen match functions declarations and
# definitions whose arguments contain STL classes (e.g. func(std::string);
# versus func(std::string) {}). This also make the inheritance and collaboration
# diagrams that involve STL classes more complete and accurate.
# versus func(std::string) {}). This also makes the inheritance and
# collaboration diagrams that involve STL classes more complete and accurate.
# The default value is: NO.
BUILTIN_STL_SUPPORT = NO
@ -405,9 +405,9 @@ BUILTIN_STL_SUPPORT = NO
CPP_CLI_SUPPORT = NO
# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen
# will parse them like normal C++ but will assume all classes use public instead
# of private inheritance when no explicit protection keyword is present.
# https://www.riverbankcomputing.com/software) sources only. Doxygen will parse
# them like normal C++ but will assume all classes use public instead of private
# inheritance when no explicit protection keyword is present.
# The default value is: NO.
SIP_SUPPORT = NO
@ -937,7 +937,7 @@ WARN_LINE_FORMAT = "at line $line of file $file"
# specified the warning and error messages are written to standard output
# (stdout).
WARN_LOGFILE = "DoxygenWarningLog.txt"
WARN_LOGFILE = DoxygenWarningLog.txt
#---------------------------------------------------------------------------
# Configuration options related to the input files
@ -950,7 +950,8 @@ WARN_LOGFILE = "DoxygenWarningLog.txt"
# Note: If this tag is empty the current directory is searched.
INPUT = ../src \
./src
./src \
./src/mainpage.md
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@ -967,8 +968,8 @@ INPUT_ENCODING = UTF-8
# character encoding on a per file pattern basis. Doxygen will compare the file
# name with each pattern and apply the encoding instead of the default
# INPUT_ENCODING) if there is a match. The character encodings are a list of the
# form: pattern=encoding (like *.php=ISO-8859-1). See cfg_input_encoding
# "INPUT_ENCODING" for further information on supported encodings.
# form: pattern=encoding (like *.php=ISO-8859-1).
# See also: INPUT_ENCODING for further information on supported encodings.
INPUT_FILE_ENCODING =
@ -1166,7 +1167,7 @@ FILTER_SOURCE_PATTERNS =
# (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output.
USE_MDFILE_AS_MAINPAGE =
USE_MDFILE_AS_MAINPAGE = ./src/mainpage.md
# The Fortran standard specifies that for fixed formatted Fortran code all
# characters from position 72 are to be considered as comment. A common
@ -1424,11 +1425,11 @@ HTML_EXTRA_FILES = src/doxystyle/doxygen-awesome-darkmode-toggle.js \
# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output
# should be rendered with a dark or light theme.
# Possible values are: LIGHT always generate light mode output, DARK always
# generate dark mode output, AUTO_LIGHT automatically set the mode according to
# the user preference, use light mode if no preference is set (the default),
# AUTO_DARK automatically set the mode according to the user preference, use
# dark mode if no preference is set and TOGGLE allow to user to switch between
# Possible values are: LIGHT always generates light mode output, DARK always
# generates dark mode output, AUTO_LIGHT automatically sets the mode according
# to the user preference, uses light mode if no preference is set (the default),
# AUTO_DARK automatically sets the mode according to the user preference, uses
# dark mode if no preference is set and TOGGLE allows a user to switch between
# light and dark mode via a button.
# The default value is: AUTO_LIGHT.
# This tag requires that the tag GENERATE_HTML is set to YES.
@ -1863,7 +1864,7 @@ MATHJAX_VERSION = MathJax_2
# Possible values are: HTML-CSS (which is slower, but has the best
# compatibility. This is the name for Mathjax version 2, for MathJax version 3
# this will be translated into chtml), NativeMML (i.e. MathML. Only supported
# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This
# for MathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This
# is the name for Mathjax version 3, for MathJax version 2 this will be
# translated into HTML-CSS) and SVG.
# The default value is: HTML-CSS.
@ -2233,6 +2234,14 @@ RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
# The RTF_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the RTF_OUTPUT output directory.
# Note that the files will be copied as-is; there are no commands or markers
# available.
# This tag requires that the tag GENERATE_RTF is set to YES.
RTF_EXTRA_FILES =
#---------------------------------------------------------------------------
# Configuration options related to the man page output
#---------------------------------------------------------------------------
@ -2833,7 +2842,7 @@ PLANTUML_INCLUDE_PATH =
# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
# that will be shown in the graph. If the number of nodes in a graph becomes
# larger than this value, doxygen will truncate the graph, which is visualized
# by representing a node as a red box. Note that doxygen if the number of direct
# by representing a node as a red box. Note that if the number of direct
# children of the root node in a graph is already larger than
# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.

View File

@ -0,0 +1,46 @@
==Bugs I noticed==
does not render if resolution isnt 1920x1080
weird menu interaction potential crash
items fall below floor
==Negatives==
ui has no spacing, small options in center of screen
no art in main menu, no splash screen, no title screen, no art in way words are presented
no music
text and ui issues (getting into the game) (not center aligned, jump to top left, no space between words)
Ground texture loops
No real skybox
No reason for different button presses for each inventory item
Characters look ugly
Animations are unfinished
No feedback on when sword hit person (other than particles/audio)
Movement of character was fairly responsive, but weight of momentum was off (if stop pressing button, keep drifting)
No objective
No progression direction
No options to do anything
Nothing had any sound effects to anything
Viewmodel was bad
Perspective was awkward and static
Felt wrong that couldn't do anything with hands other than pick up tools
Expected Ctrl to crouch
menu sfx is bad
==Positives==
Not bloated yet
Loaded on first try (didn't lag out)
Connect worked on first press
Loading didn't take time
No lengthy tutorial
Spacebar worked as expected
==Parts I was looking for feedback on in particular==
Hitlag on collision from weapons
Swings had no wind up and no follow through
Animations for swing are responsive (good!), but a slighty windup and lots of followthrough/reset is important
- Screen shake/sway could be useful
- Hard to tell range of sword
- Something about perspective of view model was weird (fish eye maybe made it weird?)
- Blocking felt good
- It came up fast
- SFX was good
- No health or stakes

View File

@ -1,4 +1,4 @@
@page architectureindex Engine Architecture
@page architectureindex Architecture
[TOC]
- @subpage networking
@ -16,6 +16,9 @@
- @subpage hitboxesindex
- @subpage drawcell
- @subpage scriptengine
- @subpage server
- @subpage indexrendering
- @subpage entitytypesindex
# What is this section

View File

@ -1,5 +0,0 @@
@page codegenindex Internal Code Generation
[TOC]
- @subpage codegen

View File

@ -1,5 +0,0 @@
@page indexdocumentation Documentation
[TOC]
- @subpage doxygen

View File

@ -1,4 +1,4 @@
@page highleveldesignindex High Level Game Design
@page highleveldesignindex Game Design
Discussion of, at a high game-design level, how everything should work and connect together

View File

@ -5,6 +5,7 @@
[TOC]
- @subpage whatmakesaquestgood
- @subpage narrativearcdesign
- @subpage conspiracy
TODO: describe

View File

@ -1,4 +1,4 @@
@page themes THemes
@page themes Themes
Keep track of an array of themes that are leveraged during generation to make results more cohesive.
IE, a theme might be "evil", used in generation to grab associated themes for villians.

7
docs/src/mainpage.md Normal file
View File

@ -0,0 +1,7 @@
@mainpage Renderer Documentation
[TOC]
- @subpage architectureindex
- @subpage toolsindex
- @subpage highleveldesignindex
- @subpage progress

View File

@ -1,3 +1,4 @@
@page currenttarget Current Target
+ client fires up and there's a menu that takes you to the demo
Demo menu
+ spawn into the world

View File

@ -0,0 +1,7 @@
@page progress Progress
[TOC]
- @subpage renderertodo
- @subpage currenttarget
- @subpage bigthings
- @subpage indexdebug

View File

@ -1,17 +0,0 @@
@page testing Testing
Eventual goal is to have unit tests for parts of the engine that it makes sense for. Some ideas:
- Loading assets
- UI functionality
- Basic behavior trees
- Script Engine
- AI
- Networking
Current CI is Jenkins, which has a plugin
https://plugins.jenkins.io/xvfb/
that allows for graphical sessions while building
I need to figure out hooking this up to my container in order to do most of the above testing

View File

@ -1,5 +1,7 @@
@page blenderindex Blender
Tutorials on performing various tasks while in Blender
[TOC]
- @subpage blenderscenesetup
- @subpage WeavingMeshes

View File

@ -1,4 +1,4 @@
@page codegen Internal Field Synchronization
@page codegenindex Internal Code Generation
## Behavior Trees

View File

@ -1,4 +1,5 @@
@page doxygen Documentation System Explanation
@page indexdocumentation Documentation
The engine uses doxygen to document its features, code, and organization.
## Building

View File

@ -0,0 +1,36 @@
@page jenkins Jenkins
Jenkins is used as the CI server for the engine. It automatically runs testing every time a new commit is uploaded to the git server.
# Stages
## Setup
Sets up the build environment. This is where file permissions are set and tools are downloaded.
## Check Environment
Gathers information about the build environment. This gets versions of build tools.
## Build (Engine)
Builds the core game engine.
## Build (Documentation)
Builds the documentation.
## Test
Performs all automated tests for the game engine. If this step fails, it triggers the test debugging step.
## DebugTests
Re-tests the engine with lots of helpful tools turn on. The memory-tracing jar is turned on. The logging is also set to maximum.
# Xvfb
The environment uses [Xvfb](https://en.wikipedia.org/wiki/Xvfb) to render the engine on headless servers. This allows for fully end-to-end testing of the graphical side of the engine.

View File

@ -0,0 +1,7 @@
@page toolsindex Tools
[TOC]
- @subpage blenderindex
- @subpage codegenindex
- @subpage indexdocumentation
- @subpage jenkins

22
tools/jenkinsDockerfile Normal file
View File

@ -0,0 +1,22 @@
FROM jenkins/jenkins:lts-jdk17
USER root
# C Build Utils
RUN apt-get update && apt-get install -y build-essential
# Python (cant find package atm)
# RUN apt-get update && apt-get install -y python
# Doxygen
RUN apt-get update && apt-get install -y wget
RUN cd /tmp && \
mkdir doxygen && \
cd doxygen && \
wget https://www.doxygen.nl/files/doxygen-1.11.0.linux.bin.tar.gz && \
tar -xzvf ./doxygen-1.11.0.linux.bin.tar.gz && \
cp ./doxygen-1.11.0/bin/* /usr/local/bin/
# xvfb for jenkins plugin + dependencies required to actually render lwjgl
RUN apt-get update && apt-get install -y xvfb mesa-utils libxrender1 libxext6 libxtst6 libxi6
USER jenkins