Merge branch 'trunk' of github.com:lrre-foss/rnr into trunk

This commit is contained in:
floralrainfall 2023-07-19 20:16:43 -04:00
commit 65ef33cb0a
13 changed files with 78 additions and 13 deletions

View File

@ -2,6 +2,69 @@ name: Build
on: [ push ]
jobs:
linux:
strategy:
matrix:
configuration: [ Release, Debug ]
name: Linux
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install required packages
uses: awalsh128/cache-apt-pkgs-action@latest
with:
version: 5.0
packages: >-
build-essential
cmake
ninja-build
libboost-all-dev
libogre-1.12-dev
libpugixml-dev
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
version: 6.*
cache: true
- name: Generate Ninja build files
run: cmake -G Ninja -B build -DCI=ON -DCMAKE_BUILD_TYPE=${{ matrix.configuration == 'Release' && 'MinSizeRel' || matrix.configuration }} .
- name: Run Ninja build
run: ninja -C build
# ouch - unless and until we start using CMake's install command, these next few steps are a necessary evil
- name: Organize binaries
run: mkdir build/dist && find build -perm /a+x -exec mv {} build/dist \;
- name: Add RNR resources
run: cp -R Content/RNR build/dist/content && cp LICENSE build/dist
- name: Add OGRE plugins
run: cp -R build/plugins build/dist && cp Content/linux_plugins.cfg build/dist/plugins.cfg
- name: Add OGRE shaders
run: cp -R build/shaders build/dist
- name: Set output variables
id: vars
run: |
echo "configuration=${{ matrix.configuration }}" | awk '{print tolower($0)}' >> $GITHUB_OUTPUT
echo "hash=${GITHUB_SHA::7}" >> $GITHUB_OUTPUT
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: rnr-${{ steps.vars.outputs.hash }}-linux_x64-${{ steps.vars.outputs.configuration }}
path: build/dist
windows:
strategy:
matrix:
@ -17,13 +80,13 @@ jobs:
shell: msys2 {0}
steps:
- uses: actions/checkout@v3
name: Clone repository
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: recursive
- uses: msys2/setup-msys2@v2
name: Set up MSYS2 and install required packages
- name: Set up MSYS2 and install required packages
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.sys }}
install: >-
@ -58,7 +121,7 @@ jobs:
run: mkdir build/dist/shaders && cp -R /${{ matrix.sys }}/share/OGRE/Media/Main/* build/dist/shaders && cp -R /${{ matrix.sys }}/share/OGRE/Media/RTShaderLib/* build/dist/shaders
- name: Add additional runtime dependencies
run: ldd build/dist/*.exe | grep "=> /" | awk '{print $3}' | grep "clang64" | xargs -I '{}' cp -v '{}' build/dist
run: ldd build/dist/*.exe | grep "=> /" | awk '{print $3}' | grep "${{ matrix.sys }}" | xargs -I '{}' cp -v '{}' build/dist
- name: Set output variables
id: vars
@ -70,4 +133,4 @@ jobs:
uses: actions/upload-artifact@v3
with:
name: rnr-${{ steps.vars.outputs.hash }}-win_x64-${{ steps.vars.outputs.configuration }}
path: build/dist
path: build/dist

View File

@ -20,7 +20,7 @@ find_package(pugixml REQUIRED)
add_subdirectory(Projects)
if(CI AND UNIX)
file(COPY ${OGRE_MEDIA_DIR}/Main/ DESTINATION ${CMAKE_BINARY_DIR}/shaders)
file(COPY ${OGRE_MEDIA_DIR}/ShadowVolume/ DESTINATION ${CMAKE_BINARY_DIR}/shaders)
file(COPY ${OGRE_MEDIA_DIR}/RTShaderLib/ DESTINATION ${CMAKE_BINARY_DIR}/shaders)
file(COPY ${OGRE_PLUGIN_DIR}/ DESTINATION ${CMAKE_BINARY_DIR}/plugins)
endif()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@ -67,5 +67,5 @@ add_library(Engine STATIC
Source/Rendering/Adorn.cpp
)
target_include_directories(Engine PUBLIC ${BOOST_INCLUDE_DIRS} Header/)
target_link_libraries(Engine PUBLIC ${BOOST_LIBRARIES} pugixml OgreBites Luau.Analysis Luau.Ast Luau.Compiler Luau.VM)
target_include_directories(Engine PUBLIC ${Boost_INCLUDE_DIRS} Header/)
target_link_libraries(Engine PUBLIC ${Boost_LIBRARIES} pugixml OgreBites Luau.Analysis Luau.Ast Luau.Compiler Luau.VM)

View File

@ -2,6 +2,7 @@
#include <stdexcept>
#include <string>
#include <cstddef>
#include <OGRE/Ogre.h>
#include <boost/shared_ptr.hpp>

View File

@ -1,6 +1,7 @@
#pragma once
#include <map>
#include <cstddef>
namespace RNR
{

View File

@ -3,7 +3,6 @@
#include <App/CoordinateFrame.hpp>
#include <App/BrickColor.hpp>
#include <Helpers/Strings.hpp>
#include <format>
namespace RNR
{

View File

@ -1,9 +1,9 @@
# RNR
[![GitHub CI Status](https://img.shields.io/github/actions/workflow/status/lrre-foss/rnr/build.yml?branch=trunk&label=builds)](https://github.com/lrre-foss/rnr/actions)
[![Discord](https://img.shields.io/discord/1130992923329175552?style=social&logo=discord)](hhttps://discord.gg/2tj4TREby3)
[![Star](https://img.shields.io/github/stars/lrre-foss/RNR?style=social)](https://github.com/lrre-foss/RNR/stargazers)
[Discord](https://discord.gg/89WagAUr)
RNR (**R**NR's **N**ot **R**oblox) is a project that aims to recreate the look and feel of classic Roblox with new features while remaining partially compatible with clients from that era. It is built upon an engine that closely resembles Roblox's own at the time, referencing disassemblies of legacy client binaries.
RNR (**R**NR's **N**ot **R**oblox) is a project that aims to recreate the look and feel of classic Roblox with new features while remaining fully compatible with clients from that era. It is built upon an engine that closely resembles Roblox's own at the time, referencing disassemblies of legacy client binaries.
Interested in contributing? [Feel free to make a pull request!](https://github.com/lrre-foss/RNR/pulls)
@ -13,6 +13,7 @@ There are several goals that RNR seeks to accomplish, them being;
- Easy-to-use (simple CLI options to launch and host games, as well as a level editor with a modern UI)
- Fully compatible with Roblox versions up to 0.3.744.0 (dated April 2008) in areas such as hosting, joining, levels, etc.
- Incorporates all the various facets of the Roblox engine, plus a little bit extra (e.g. a network replication whitelist, fancy shader support, etc.)
- Made using clean-room reverse engineering
- Uses Roblox's [Luau](https://luau-lang.org/) as its scripting language while remaining fully compatible with classic Roblox scripts written using Lua 5.1
- As free and open-source as possible (with client code licensed under the GPL and the engine itself being released into the public domain, void of any copyright)
- Patching all the security vulnerabilities and fixing bugs/inefficiencies that legacy Roblox clients had