diff --git a/.github/workflows/component-linux.yml b/.github/workflows/component-linux.yml new file mode 100644 index 000000000..1e2aaa57b --- /dev/null +++ b/.github/workflows/component-linux.yml @@ -0,0 +1,26 @@ +name: CI - Component x64 Linux (Coming Soon) + +# TODO: Update this workflow when component (x64) code is in src/sampsharp-component/ +# For now, this is a placeholder. + +on: + push: + branches: + - master + - release/1.* + paths: + - .github/workflows/component-linux.yml + - src/sampsharp-component/** + + pull_request: + branches: + - master + - release/1.* + paths: + - src/sampsharp-component/** + +jobs: + placeholder: + runs-on: ubuntu-latest + steps: + - run: echo "New component (x64) build on Linux - not yet implemented" diff --git a/.github/workflows/component-win.yml b/.github/workflows/component-win.yml new file mode 100644 index 000000000..8dac2609b --- /dev/null +++ b/.github/workflows/component-win.yml @@ -0,0 +1,26 @@ +name: CI - Component x64 (Coming Soon) + +# TODO: Update this workflow when component (x64) code is in src/sampsharp-component/ +# For now, this is a placeholder. + +on: + push: + branches: + - master + - release/1.* + paths: + - .github/workflows/component-win.yml + - src/sampsharp-component/** + + pull_request: + branches: + - master + - release/1.* + paths: + - src/sampsharp-component/** + +jobs: + placeholder: + runs-on: windows-latest + steps: + - run: echo "New component (x64) build on Windows - not yet implemented" diff --git a/.github/workflows/dotnet-legacy.yml b/.github/workflows/dotnet-legacy.yml new file mode 100644 index 000000000..2eccc11e0 --- /dev/null +++ b/.github/workflows/dotnet-legacy.yml @@ -0,0 +1,48 @@ +name: CI - Legacy Libraries + +on: + push: + branches: + - master + - release/0.* + paths: + - .github/workflows/dotnet-legacy.yml + - src/legacy/** + - '!src/legacy/SampSharp/**' + - build.cmd + - build.sh + + pull_request: + branches: + - master + - release/0.* + paths: + - .github/workflows/dotnet-legacy.yml + - src/legacy/** + - '!src/legacy/SampSharp/**' + - build.cmd + - build.sh + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '6.0.x' + + - name: Build legacy libraries + run: ./build.sh legacy-libraries + + - name: Pack legacy libraries + run: ./build.sh legacy-libraries publish + + - name: Upload NuGet packages + uses: actions/upload-artifact@v4 + with: + name: sampsharp-legacy-nuget-packages + path: build/artifacts/packages/ diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index fcadce234..33b88f9f5 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -1,42 +1,26 @@ -name: dotnet +name: CI - New SampSharp (Coming Soon) + +# TODO: Update this workflow when new SampSharp code is in src/sampsharp/ +# For now, this is a placeholder. on: push: - branches: [ master ] + branches: + - master + - release/1.* paths: - .github/workflows/dotnet.yml - - src/** - - '!src/SampSharp/**' - - SampSharp.sln - - Makefile - + - src/sampsharp/** + pull_request: - branches: [ master ] + branches: + - master + - release/1.* paths: - - .github/workflows/dotnet.yml - - src/** - - '!src/SampSharp/**' - - SampSharp.sln - - Makefile + - src/sampsharp/** jobs: - build: - + placeholder: runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Setup .NET - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 6.0.x - - - name: Restore dependencies - run: dotnet restore SampSharp.sln - - - name: Build - run: dotnet build SampSharp.sln --no-restore - - - name: Test - run: dotnet test SampSharp.sln --no-build --verbosity normal \ No newline at end of file + - run: echo "New SampSharp build workflow - not yet implemented" \ No newline at end of file diff --git a/.github/workflows/plugin-legacy-linux.yml b/.github/workflows/plugin-legacy-linux.yml new file mode 100644 index 000000000..45cb885b9 --- /dev/null +++ b/.github/workflows/plugin-legacy-linux.yml @@ -0,0 +1,43 @@ +name: CI - Plugin Legacy (Linux) + +on: + push: + branches: + - master + - release/0.* + paths: + - .github/workflows/plugin-legacy-linux.yml + - src/legacy/SampSharp/** + - build.sh + tags: + - '0.*' + + pull_request: + branches: + - master + - release/0.* + paths: + - .github/workflows/plugin-legacy-linux.yml + - src/legacy/SampSharp/** + - build.sh + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt-get update -y + sudo apt-get install -y gcc g++ cmake gcc-multilib g++-multilib + + - name: Build legacy plugin + run: ./build.sh legacy-plugin publish + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: sampsharp-legacy-plugin-linux + path: build/artifacts/sampsharp-legacy/ diff --git a/.github/workflows/plugin-legacy-win32.yml b/.github/workflows/plugin-legacy-win32.yml new file mode 100644 index 000000000..83d445c6a --- /dev/null +++ b/.github/workflows/plugin-legacy-win32.yml @@ -0,0 +1,41 @@ +name: CI - Plugin Legacy (Windows) + +on: + push: + branches: + - master + - release/0.* + paths: + - .github/workflows/plugin-legacy-win32.yml + - src/legacy/SampSharp/** + - build.cmd + tags: + - '0.*' + + pull_request: + branches: + - master + - release/0.* + paths: + - .github/workflows/plugin-legacy-win32.yml + - src/legacy/SampSharp/** + - build.cmd + +jobs: + build: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup CMake + uses: lukka/get-cmake@latest + + - name: Build legacy plugin + run: .\build.cmd legacy-plugin publish + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: sampsharp-legacy-plugin-windows + path: build/artifacts/sampsharp-legacy/ diff --git a/.github/workflows/plugin-linux.yml b/.github/workflows/plugin-linux.yml deleted file mode 100644 index e5fe5c0d5..000000000 --- a/.github/workflows/plugin-linux.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Plugin (Linux) - -on: - push: - branches: [ master ] - paths: - - .github/workflows/plugin-linux.yml - - src/SampSharp/** - - Makefile - - tags: - - "*" - - pull_request: - branches: [ master ] - paths: - - .github/workflows/plugin-linux.yml - - src/SampSharp/** - - Makefile - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - - name: Install deps - run: | - sudo apt-get update -y -qq - sudo apt-get upgrade -y -qq gcc g++ - sudo apt-get install -y -qq gcc-multilib g++-multilib - gcc --version - g++ --version - - - name: Build plugin - run: make - - - name: Upload artifacts - uses: actions/upload-artifact@v4.6.1 - with: - name: plugin-bin - path: bin/ diff --git a/.github/workflows/plugin-win32.yml b/.github/workflows/plugin-win32.yml deleted file mode 100644 index 08c8a1d2a..000000000 --- a/.github/workflows/plugin-win32.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Plugin (win32) - -on: - push: - branches: [ master ] - paths: - - .github/workflows/plugin-win32.yml - - src/SampSharp/** - - SampSharp.sln - - tags: - - "*" - - pull_request: - branches: [ master ] - paths: - - .github/workflows/plugin-win32.yml - - src/SampSharp/** - - SampSharp.Plugin.sln - -jobs: - build: - runs-on: windows-latest - - steps: - - uses: actions/checkout@v2 - - - name: Setup MSBuild.exe - uses: microsoft/setup-msbuild@v1.0.2 - - - name: Build plugin - run: msbuild.exe SampSharp.Plugin.sln -p:Configuration="Release" - - - name: Upload artifacts - uses: actions/upload-artifact@v4.6.1 - with: - name: plugin-bin - path: bin/ diff --git a/.github/workflows/release-legacy.yml b/.github/workflows/release-legacy.yml new file mode 100644 index 000000000..fbde3ac8e --- /dev/null +++ b/.github/workflows/release-legacy.yml @@ -0,0 +1,111 @@ +name: Release - Legacy SampSharp + +on: + push: + tags: + - '0.*' + +jobs: + build-windows: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup CMake + uses: lukka/get-cmake@latest + + - name: Build legacy plugin + run: .\build.cmd legacy-plugin + + - name: Upload Windows plugin + uses: actions/upload-artifact@v4 + with: + name: plugin-windows + path: build/artifacts/sampsharp-legacy/ + + build-linux: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt-get update -y + sudo apt-get install -y gcc g++ cmake gcc-multilib g++-multilib + + - name: Build legacy plugin + run: ./build.sh legacy-plugin + + - name: Upload Linux plugin + uses: actions/upload-artifact@v4 + with: + name: plugin-linux + path: build/artifacts/sampsharp-legacy/ + + release: + needs: [build-windows, build-linux] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set VERSION + run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '6.0.x' + + - name: Download Windows plugin + uses: actions/download-artifact@v4 + with: + name: plugin-windows + path: ./plugin-windows + + - name: Download Linux plugin + uses: actions/download-artifact@v4 + with: + name: plugin-linux + path: ./plugin-linux + + - name: Create release package + run: | + mkdir -p SampSharp-${{ env.VERSION }}/plugins + cp plugin-windows/SampSharp.dll SampSharp-${{ env.VERSION }}/plugins/ + cp plugin-linux/SampSharp.so SampSharp-${{ env.VERSION }}/plugins/libSampSharp.so + zip -r SampSharp-${{ env.VERSION }}.zip SampSharp-${{ env.VERSION }}/ + + - name: Create Release + uses: actions/create-release@v1 + id: create_release + with: + tag_name: ${{ github.ref }} + release_name: Legacy SampSharp ${{ env.VERSION }} + draft: true + prerelease: ${{ contains(env.VERSION, 'alpha') || contains(env.VERSION, 'beta') }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Upload plugin package + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: SampSharp-${{ env.VERSION }}.zip + asset_name: SampSharp-${{ env.VERSION }}.zip + asset_content_type: application/zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Pack NuGet packages + run: ./build.sh legacy-libraries publish + env: + CiVersion: ${{ env.VERSION }} + + - name: Publish to NuGet + run: | + for nupkg in build/artifacts/packages/*.nupkg; do + dotnet nuget push "$nupkg" \ + --source https://api.nuget.org/v3/index.json \ + --api-key ${{ secrets.NUGET_API_KEY }} \ + --skip-duplicate + done diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3f90736b4..69e4abe02 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,36 +1,15 @@ -name: release +name: Release - New SampSharp (Coming Soon) + +# TODO: Update this workflow when new SampSharp code is ready for release +# For now, this is a placeholder. on: push: tags: - - "*" + - '1.*' jobs: - build: + placeholder: runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Set VERSION variable from tag - run: echo "VERSION=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV - - - name: Setup .NET - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 6.0.x - - - name: Restore dependencies - run: dotnet restore SampSharp.sln - - - name: Test - run: dotnet test SampSharp.sln /p:CiVersion=${VERSION} --no-restore - - - name: Build - run: dotnet build SampSharp.sln /p:CiVersion=${VERSION} --configuration Release --no-restore - - - name: Pack - run: dotnet pack SampSharp.sln --configuration Release --no-build --output bin - - - name: Push - run: dotnet nuget push bin/*.nupkg --source="https://api.nuget.org/v3/index.json" --api-key ${{secrets.NUGET_API_KEY}} --skip-duplicate \ No newline at end of file + - run: echo "New SampSharp release workflow - not yet implemented" \ No newline at end of file diff --git a/.gitignore b/.gitignore index 3a8ff423e..5d720ce6f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,404 +1,27 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore - -# User-specific files -*.rsuser -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Mono auto generated files -mono_crash.* - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -[Ww][Ii][Nn]32/ -[Aa][Rr][Mm]/ -[Aa][Rr][Mm]64/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ -[Ll]ogs/ - -# Visual Studio 2015/2017 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# Visual Studio 2017 auto generated files -Generated\ Files/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUnit -*.VisualState.xml -TestResult.xml -nunit-*.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# Benchmark Results -BenchmarkDotNet.Artifacts/ - -# .NET Core -project.lock.json -project.fragment.lock.json -artifacts/ - -# ASP.NET Scaffolding -ScaffoldingReadMe.txt - -# StyleCop -StyleCopReport.xml - -# Files built by Visual Studio -*_i.c -*_p.c -*_h.h -*.ilk -*.meta -*.obj -*.iobj -*.pch -*.pdb -*.ipdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*_wpftmp.csproj +# Build and output +build/ +bin/ +obj/ *.log -*.tlog -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# Visual Studio Trace Files -*.e2e -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# AxoCover is a Code Coverage Tool -.axoCover/* -!.axoCover/settings.json - -# Coverlet is a free, cross platform Code Coverage Tool -coverage*.json -coverage*.xml -coverage*.info - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# Note: Comment the next line if you want to checkin your web deploy settings, -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# NuGet Symbol Packages -*.snupkg -# The packages folder can be ignored because of Package Restore -**/[Pp]ackages/* -# except build/, which is used as an MSBuild target. -!**/[Pp]ackages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/[Pp]ackages/repositories.config -# NuGet v3's project.json files produces more ignorable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ +# IDE +.vs/ +.vscode/ +.idea/ +*.user +*.suo +*.sln.DotSettings.user -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt -*.appx -*.appxbundle -*.appxupload +# Publishing +PublishProfiles/ -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!?*.[Cc]ache/ +# OS +.DS_Store +Thumbs.db +desktop.ini -# Others -ClientBin/ -~$* +# Temporary *~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Including strong name files can present a security risk -# (https://github.com/github/gitignore/pull/2483#issue-259490424) -#*.snk - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm -ServiceFabricBackup/ -*.rptproj.bak - -# SQL Server files -*.mdf -*.ldf -*.ndf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings -*.rptproj.rsuser -*- [Bb]ackup.rdl -*- [Bb]ackup ([0-9]).rdl -*- [Bb]ackup ([0-9][0-9]).rdl - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat -node_modules/ - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio 6 auto-generated project file (contains which files were open etc.) -*.vbp - -# Visual Studio 6 workspace and project file (working project files containing files to include in project) -*.dsw -*.dsp - -# Visual Studio 6 technical files -*.ncb -*.aps - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# CodeRush personal settings -.cr/personal - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Tabs Studio -*.tss - -# Telerik's JustMock configuration file -*.jmconfig - -# BizTalk build output -*.btp.cs -*.btm.cs -*.odx.cs -*.xsd.cs - -# OpenCover UI analysis results -OpenCover/ - -# Azure Stream Analytics local run output -ASALocalRun/ - -# MSBuild Binary and Structured Log -*.binlog - -# NVidia Nsight GPU debugger configuration file -*.nvuser - -# MFractors (Xamarin productivity tool) working folder -.mfractor/ - -# Local History for Visual Studio -.localhistory/ - -# Visual Studio History (VSHistory) files -.vshistory/ - -# BeatPulse healthcheck temp database -healthchecksdb - -# Backup folder for Package Reference Convert tool in Visual Studio 2017 -MigrationBackup/ - -# Ionide (cross platform F# VS Code tools) working folder -.ionide/ - -# Fody - auto-generated XML schema -FodyWeavers.xsd - -# VS Code files for those working on multiple tools -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -*.code-workspace - -# Local History for Visual Studio Code -.history/ - -# Windows Installer files from build outputs -*.cab -*.msi -*.msix -*.msm -*.msp - -# JetBrains Rider -*.sln.iml - -# Sandcastle build files -/Help - -# Cake -/tools \ No newline at end of file +*.tmp +*.swp +*.swo \ No newline at end of file diff --git a/Makefile b/Makefile deleted file mode 100644 index ea694c61e..000000000 --- a/Makefile +++ /dev/null @@ -1,40 +0,0 @@ - - - -TARGET=bin/libSampSharp.so - -CC=gcc -CXX=g++ - -SRCDIR=src/SampSharp -BINDIR=bin -OBJDIR=bin/obj -FLAGS= -O2 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -I$(SRCDIR)/includes -I$(SRCDIR)/includes/sdk -I$(SRCDIR)/includes/sdk/amx -DNDEBUG -DLINUX -D_GNU_SOURCE -DSAMPGDK_AMALGAMATION -CFLAGS= -m32 -CXXFLAGS=-std=c++17 -m32 -LDFLAGS=-shared - -SOURCES_CXX = $(shell echo $(SRCDIR)/*.cpp) $(SRCDIR)/includes/sdk/amxplugin.cpp -SOURCES_C = $(SRCDIR)/includes/sampgdk/sampgdk.c -OBJECTS=$(SOURCES_CXX:$(SRCDIR)/%.cpp=$(OBJDIR)/%.o) $(SOURCES_C:$(SRCDIR)/%.c=$(OBJDIR)/%.o) - -all: $(TARGET) - -.PHONY: clean - -clean: - rm -rf $(BINDIR) - -$(OBJDIR)/%.o: $(SRCDIR)/%.cpp - @mkdir -p $(@D) - @echo $(CXX) $< - @$(CXX) $(FLAGS) $(CFLAGS) $(CXXFLAGS) -c -o "$@" "$<" - -$(OBJDIR)/%.o: $(SRCDIR)/%.c - @mkdir -p $(@D) - @echo $(CC) $< - @$(CC) $(FLAGS) $(CFLAGS) -c -o "$@" "$<" - -$(TARGET): $(OBJECTS) - @mkdir -p $(@D) - $(CXX) $(CXXFLAGS) $(OBJECTS) -o $@ $(LDFLAGS) diff --git a/README.md b/README.md index c64016d8d..acaadfce3 100644 --- a/README.md +++ b/README.md @@ -9,23 +9,55 @@ SampSharp [![Join us on Discord](https://discordapp.com/api/guilds/758751593725558794/widget.png?style=banner2)](https://discord.gg/gwcHpqp) -SampSharp is a plugin and library that allows you to write San Andreas: Multiplayer(SA-MP) gamemodes in C#. SampSharp's aim is to allow you to enjoy all features of object-oriented programming and .NET. SampSharp uses the .NET runtime which allows the plugin to run on both Windows and Linux server. For information about installing and building SampSharp, check the documentation. If you have any questions, feel free to join our Discord chat or file an issue. +SampSharp is a plugin and library that allows you to write gamemodes in C# for open.mp and SA-MP servers using the .NET runtime. SampSharp's aim is to provide all features of object-oriented programming and modern .NET development. + +SampSharp for open.mp (v1.x) is the actively developed version and is recommended for new projects. The original SampSharp (v0.x), created in 2014 for SA-MP, remains available with limited support for critical bug fixes and security patches. If you're currently running SA-MP, you can continue using the legacy version, but migration to open.mp is recommended to benefit from ongoing development and improvements. + +For information about installing and building SampSharp, check the documentation. If you have any questions, feel free to join our Discord chat or file an issue. Documentation ---------- -The SampSharp .NET packages provided are available on NuGet.org and contains all API documentation. Additional documentation is available on https://sampsharp.net/ and https://api.sampsharp.net/ +The SampSharp .NET packages provided are available on [NuGet.org](https://www.nuget.org/packages/SampSharp.Core/) and contain all API documentation. + +For general documentation and guides, see [https://sampsharp.net](https://sampsharp.net) Examples -------- -Some example gamemodes are available here: -- [GrandLarc (GM)](https://github.com/SampSharp/sample-gm-grandlarc) - SA-MP default gamemode "grandlarc" ported to C# using SampSharp.GameMode -- [GrandLarc (ECS)](https://github.com/SampSharp/sample-ecs-grandlarc) - SA-MP default gamemode "grandlarc" ported to C# using SampSharp.Entities -- [RiverShell (GM)](https://github.com/SampSharp/sample-gm-rivershell) - SA-MP default gamemode "rivershell" ported to C# using SampSharp.GameMode +Example gamemodes and sample projects are available at [https://github.com/sampsharp/samples](https://github.com/sampsharp/samples) + +Building for Developers +----------------------- + +### Building SampSharp (New) + +> TODO: New SampSharp code structure not yet in place. Check back soon. + +### Building Legacy SampSharp + +The legacy SampSharp code (v0.x) is located in the `src/legacy/` directory. Use the build scripts in the root to build components: + +**On Windows:** +``` +.\build.cmd legacy-plugin # Build x86 plugin +.\build.cmd legacy-plugin publish # Build and publish plugin +.\build.cmd legacy-libraries # Build C# libraries +.\build.cmd legacy-libraries publish # Build and pack NuGet packages +.\build.cmd clean # Clean build directory +``` -Building SampSharp ------------------- -In order to build the .NET libraries you can simply open and build `SampSharp.sln` using Visual Studio 2022, or you can build it from the command line using dotnet (version 6 or newer) `dotnet publish SampSharp.sln --configuration Release`. +**On Linux:** +``` +./build.sh legacy-plugin # Build x86 plugin +./build.sh legacy-plugin publish # Build and publish plugin +./build.sh legacy-libraries # Build C# libraries +./build.sh legacy-libraries publish # Build and pack NuGet packages +./build.sh clean # Clean build directory +``` -To build the plugin on Windows, build `SampSharp.Plugin.sln` with Visual Studio 2022. You'll need to have the "Desktop development with C++" workload installed using Visal Studio Installer. +Artifacts are placed in `build/artifacts/`. -To build the plugin on Linux you'll at least need to have the packages `make gcc g++ gcc-multilib g++-multilib` installed. Run `make` to build the plugin. +**Requirements:** +- **.NET SDK 6.0** (for building C# libraries) +- **CMake 3.19+** (for building the x86 plugin) +- **Visual Studio 2026 with C++ workload** (Windows) +- **gcc/g++ with 32-bit support** (Linux: `gcc-multilib g++-multilib`) diff --git a/build.cmd b/build.cmd new file mode 100644 index 000000000..b67e2fc4a --- /dev/null +++ b/build.cmd @@ -0,0 +1,95 @@ +@echo off +setlocal enabledelayedexpansion + +set "TARGET=%1" +set "ACTION=%2" + +set "SCRIPTDIR=%~dp0" + +if "%TARGET%"=="" goto usage + +if /i "%TARGET%"=="legacy-plugin" ( + if "%ACTION%"=="" ( + echo Building legacy plugin x86... + call "%SCRIPTDIR%src\legacy\SampSharp\build.cmd" + goto end + ) else if /i "%ACTION%"=="publish" ( + echo Building and publishing legacy plugin x86... + call "%SCRIPTDIR%src\legacy\SampSharp\build.cmd" + if errorlevel 1 exit /b 1 + call "%SCRIPTDIR%src\legacy\SampSharp\publish.cmd" + goto end + ) else ( + goto usage + ) +) + +if /i "%TARGET%"=="legacy-libraries" ( + if "%ACTION%"=="" ( + echo Building legacy C# libraries... + call :build_legacy_libraries + goto end + ) else if /i "%ACTION%"=="publish" ( + echo Building and packing legacy C# libraries... + call :pack_legacy_libraries + goto end + ) else ( + goto usage + ) +) + +if /i "%TARGET%"=="component" ( + echo Component x64 plugin build not yet implemented. + goto end +) + +if /i "%TARGET%"=="component-libraries" ( + echo Component C# libraries not yet implemented. + goto end +) + +if /i "%TARGET%"=="clean" ( + echo Cleaning build directory... + if exist "%SCRIPTDIR%build" ( + rmdir /s /q "%SCRIPTDIR%build" + mkdir "%SCRIPTDIR%build" + ) + echo Build directory cleaned. + goto end +) + +goto usage + +:usage +echo Invalid target: %TARGET% +echo. +echo Usage: +echo build.cmd legacy-plugin - Build legacy x86 plugin +echo build.cmd legacy-plugin publish - Build and publish legacy x86 plugin +echo build.cmd legacy-libraries - Build legacy C# libraries +echo build.cmd legacy-libraries publish - Build and pack legacy C# libraries +echo build.cmd component - Build component x64 plugin (not implemented) +echo build.cmd component-libraries - Build component C# libraries (not implemented) +echo build.cmd clean - Delete build directory contents +exit /b 1 + +:build_legacy_libraries +cd /d "%SCRIPTDIR%src\legacy" +echo. +echo Building C# libraries... +dotnet build SampSharp.sln -c Release +if errorlevel 1 exit /b 1 +exit /b 0 + +:pack_legacy_libraries +cd /d "%SCRIPTDIR%src\legacy" +echo. +echo Packing C# libraries... +dotnet pack SampSharp.sln -c Release +if errorlevel 1 exit /b 1 +echo. +echo NuGet packages created in: %SCRIPTDIR%build\artifacts\packages +exit /b 0 + +:end +echo Build complete. diff --git a/build.sh b/build.sh new file mode 100755 index 000000000..020f5739f --- /dev/null +++ b/build.sh @@ -0,0 +1,103 @@ +#!/bin/bash +# Root build dispatcher for SampSharp plugins +# Usage: build.sh [action] +# Targets: legacy-plugin, legacy-libraries, component, component-libraries +# Actions: (empty), publish + +set -e + +show_usage() { + echo "" + echo "Usage:" + echo " build.sh legacy-plugin - Build legacy x86 plugin" + echo " build.sh legacy-plugin publish - Build and publish legacy x86 plugin" + echo " build.sh legacy-libraries - Build legacy C# libraries" + echo " build.sh legacy-libraries publish - Build and pack legacy C# libraries" + echo " build.sh component - Build component x64 plugin (not implemented)" + echo " build.sh component-libraries - Build component C# libraries (not implemented)" + echo " build.sh clean - Delete build directory contents" +} + +build_legacy_libraries() { + local SCRIPTDIR="$1" + cd "$SCRIPTDIR/src/legacy" + + echo "" + echo "Building C# libraries..." + if [ -n "$CiVersion" ]; then + dotnet build SampSharp.sln -c Release "/p:CiVersion=$CiVersion" + else + dotnet build SampSharp.sln -c Release + fi +} + +pack_legacy_libraries() { + local SCRIPTDIR="$1" + cd "$SCRIPTDIR/src/legacy" + + echo "" + echo "Packing C# libraries..." + if [ -n "$CiVersion" ]; then + dotnet pack SampSharp.sln -c Release "/p:CiVersion=$CiVersion" + else + dotnet pack SampSharp.sln -c Release + fi + + echo "" + echo "NuGet packages created in: $SCRIPTDIR/build/artifacts/packages" +} + +TARGET="${1}" +ACTION="${2}" +SCRIPTDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +if [ -z "$TARGET" ]; then + show_usage + exit 1 +fi + +case "$TARGET" in + legacy-plugin) + if [ -z "$ACTION" ]; then + echo "Building legacy plugin (x86)..." + "$SCRIPTDIR/src/legacy/SampSharp/build.sh" + elif [ "$ACTION" = "publish" ]; then + echo "Building and publishing legacy plugin (x86)..." + "$SCRIPTDIR/src/legacy/SampSharp/build.sh" + "$SCRIPTDIR/src/legacy/SampSharp/publish.sh" + else + show_usage + exit 1 + fi + ;; + legacy-libraries) + if [ -z "$ACTION" ]; then + build_legacy_libraries "$SCRIPTDIR" + elif [ "$ACTION" = "publish" ]; then + pack_legacy_libraries "$SCRIPTDIR" + else + show_usage + exit 1 + fi + ;; + component) + echo "Component x64 plugin build not yet implemented." + ;; + component-libraries) + echo "Component C# libraries not yet implemented." + ;; + clean) + echo "Cleaning build directory..." + rm -rf "$SCRIPTDIR/build" + mkdir -p "$SCRIPTDIR/build" + echo "Build directory cleaned." + ;; + *) + echo "Invalid target: $TARGET" + show_usage + exit 1 + ;; +esac + +echo "Build complete." +exit 0 diff --git a/changelogs/CHANGES-SampSharp.Core.md b/changelogs/CHANGES-SampSharp.Core.md deleted file mode 100644 index f0f3cc48d..000000000 --- a/changelogs/CHANGES-SampSharp.Core.md +++ /dev/null @@ -1,106 +0,0 @@ -### 0.11.1 -- Fixed an error which occurs when a callback has an empty string as argument (#450) - -### 0.11.0 -- Added `TaskHelper.SwitchToMainThread` (#402) -- Improved performance of callbacks by 25%-30% (#399, #401) -- Minor improvement of natives performance -- Fixed encoding of strings in callback arguments ignooring game mode builder configuration -- Removed multi-process mode - -### 0.10.1 -- Fixed a possible crash when calling natives which return a string - -### 0.10.0 -- Added support for "fastnative" calls, this improves time consumed by calls to native functions by 95% (#365) -- Added support for varargs in "fastnative" calls (#260) -- Added `IGameModeClient.NativeObjectProxyFactory` -- Added option `NativeMethodAttribute.ReferenceIndices` which provides the option to invoke a native with input parameters which should be passed by reference. -- Added embedded codepages into the library which are available through `GameModeBuilder.UseEncodingCodePage(string pageName)` -- Updated to .NET Standard 2.1 -- Removed setter from `IGameModeClient.NativeLoader` -- Fixed HostedGameModeClient.ServerPath not returning correct path -- Deprecated multi-process mode and native-handle related types and methods - -### 0.10.0-alpha2 -- Fixed HostedGameModeClient.ServerPath not returning correct path - -### 0.10.0-alpha1 -- Added support for "fastnative" calls, this improves time consumed by calls to native functions by 95% (#365) -- Added support for varargs in "fastnative" calls (#260) -- Added `IGameModeClient.NativeObjectProxyFactory` -- Added option `NativeMethodAttribute.ReferenceIndices` which provides the option to invoke a native with input parameters which should be passed by reference. -- Added embedded codepages into the library which are available through `GameModeBuilder.UseEncodingCodePage(string pageName)` -- Updated to .NET Standard 2.1 -- Removed setter from `IGameModeClient.NativeLoader` -- Deprecated multi-process mode and native-handle related types and methods - -### 0.9.3 -- No changes - -### 0.9.2 -- No changes - -### 0.9.1 -- Fixed GMX startup behaviour not reconnecting to the SA-MP server properly - -### 0.9.0 -- Added `IGameModeClient.RegisterCallback` overloads which allows the arguments of the callback to be provided as an `object[]` to the specified method -- Added option to specify the index at which the identifier arguments are located within natives of native objects -- Added notice to multi-process run mode: "for development purposes only", use hosted hosted mode for production environments -- Added callback name to the `IGameModeClient.UnhandledException` event -- Added unhandled exception handling in hosted mode -- Added unhandled exception handling in multi-process mode for ticks and synchronisations -- Added `IfHosted` and `IfMultiProcess` methods to `GameModeBuilder` -- Updated minimum .NET Standard version to 2.0 -- Improved shutdown behaviour of multi-process run mode -- Improved number of memory allocations during handling of callbacks and native calls in hosted run mode -- Changed hosted mode to not automatically redirect console output to the server_log.txt, use `GameModeBuilder.RedirectConsoleOutput()` to reenable logging to the server log -- Removed `GameModeBuilder.BuildWith` -- Fixed `GameModeBuilder.RedirectConsoleOutput` causing errors during startup in multi-process mode -- Fixed garbage strings being returned when no string is set to out string parameters (#323) - -### 0.8.0 -- Initial version - -### 0.8.0-alpha10 -- Added `IGameModeClient.ServerPath` (#292) -- Improved state resetting with intermission script -- Increased native argument buffer size from 32 to 128 (#279) -- Fixed missing framework log messages -- Fixed "Duplicate typename within an assembly" exception being thrown in some cases when loading a gamemode when players are already connect (#258) -- Fixed crash which occurs when using running gmx in non-hosted mode (#280) - -### 0.8.0-alpha8 -- Added option to host game mode inside samp-server process (experimental) -- Renamed `GameModeClient` to `MultiProcessGameModeClient` -- Changed `GameModeBuilder.UseLogStream(Stream stream)` to `GameModeBuilder.UseLogWriter(TextWriter textWriter)` -- Fixed an `ArgumentOutOfRangeException` being thrown in certain cases when calling a native -- Fixed exceptions from tasks not being sent to the `IGameModeClient.UnhandledException` event -- Fixed log messages from SampSharp not being redirect to the SA-MP server when `RedirectConsoleOutput()` was used - -### 0.8.0-alpha7 -- Possibly fixed "Duplicate type name within an assembly." error - -### 0.8.0-alpha6 -- Fixed random server freezes while waiting for a response from the server -- Fixed callbacks called during the `OnGameModeInit` callback not being called - -### 0.8.0-alpha5 -- Added a separate buffer for native results so the native arguments don't get overwritten by the native when it is writing the output (plugin) -- Changed natives to provide all results in array references instead of just the written values. The unwritten values are 0 by default -- Fixed deadlocks when calling natives which call callbacks which call natives -- Fixed a crash caused by a recursive non-recursive-mutex locking issue (plugin) - -### 0.8.0-alpha4 -- Fixed array arguments in natives not working - -### 0.8.0-alpha3 -- Fixed a threading issue (#220) -- Fixed a communication buffer overflow when pausing the server using a debugger. Set `com_debug 1` in server.cfg to avoid these overflows. - -### 0.8.0-alpha2 -- Fixed FakeGMX not reconnecting players (#221) - -### 0.8.0-alpha1 -- Initial version diff --git a/changelogs/CHANGES-SampSharp.Entities.md b/changelogs/CHANGES-SampSharp.Entities.md deleted file mode 100644 index 347dee5f2..000000000 --- a/changelogs/CHANGES-SampSharp.Entities.md +++ /dev/null @@ -1,43 +0,0 @@ -### 0.11.0 -- Added `AddComponent` method that takes an instance as parameter (#427) -- Fixed issues related to open dialogs when a player disconnects (#434) -- Fixed an issue where player entity may stay alive when an exception is thrown in `OnPlayerDisconnect` event -- Fixed an issue where an error may occur when `OnDialogResponse` is called without an active dialog (#443) - -### 0.10.0 -- Added support for player names as command arguments (#354) -- Added timers (#326) -- Updated to .NET Standard 2.1 -- Updated documentation links from SA-MP wiki to open.mp docs -- Fixed `OnDestroyComponent` not being called when the component is destroyed, but the entities remains alive (#358) -- Fixed an error which could occur when event's occur with IDs of entities which don't exist, but aren't 0 (#355, #353, #352, #350) -- Fixed exception thrown when a dialog is shown with no `null` button2 text (#376) -- Fixed components not being removed from global component registry when destroying an entity - -### 0.10.0-alpha2 -- Fixed components not being removed from global component registry when destroying an entity - -### 0.10.0-alpha1 -- Added support for player names as command arguments (#354) -- Added timers (#326) -- Updated to .NET Standard 2.1 -- Updated documentation links from SA-MP wiki to open.mp docs -- Fixed `OnDestroyComponent` not being called when the component is destroyed, but the entities remains alive (#358) -- Fixed an error which could occur when event's occur with IDs of entities which don't exist, but aren't 0 (#355, #353, #352, #350) -- Fixed exception thrown when a dialog is shown with no `null` button2 text (#376) - -### 0.9.3 -- Fixed player- textdraws, labels and objects not working as intended - -### 0.9.2 -- Fixed exception thrown when trying to destroy all components twice (#333) -- Fixed dialog response not being handled if the dialog was shown as a response to another dialog - -### 0.9.1 -- Added code annotations -- Fixed server freezing when destroying an entity after destroying its components in a specific order -- Fixed command being called with component not in entity would cause the command not te be called but still succeed (#331) -- Removed unused `PlayerDisconnectReason` enum in favour of `DisconnectReason` enum (#330) - -### 0.9.0 -- Initial version diff --git a/changelogs/CHANGES-SampSharp.GameMode.md b/changelogs/CHANGES-SampSharp.GameMode.md deleted file mode 100644 index 68bfd8a9e..000000000 --- a/changelogs/CHANGES-SampSharp.GameMode.md +++ /dev/null @@ -1,259 +0,0 @@ -### 0.11.0 -- Added `VehicleModelInfo.VehicleModelInfo` -- Fixed missing Flatbed in `VehicleModelInfo` (#407) - -### 0.10.0 -- Added `BasePlayer.CancelEdit` (#362) -- Added `BasePlayer.SetMapIcon` and `BasePlayer.RemoveMapIcon` (#364) -- Added `ListDialog` (#383, #395) -- Updated to .NET Standard 2.1 -- Updated documentation links from SA-MP wiki to open.mp docs -- Fixed `PlayerTextLabel.Text`, `PlayerTextLabel.AttachedPlayer` and `PlayerTextLabel.AttachedVehicle` not being set -- Fixed command group help commands not being invoked in some cases (#361) -- Fixed command overloading not working in some cases (#344) -- Fixed `BasePlayer.IsNPC` not returning `true` when the NPC has not yet connected (#346) -- Fixed typo in `Server.GetWeaponName` result for `Weapon.ThermalGoggles` (#380) -- Fixed a problem which caused successive calls to `ShowAsync` not to show the dialog (#384, #389) - -### 0.10.0-alpha2 -- Added `ListDialog` (#383, #395) - -### 0.10.0-alpha1 -- Added `BasePlayer.CancelEdit` (#362) -- Added `BasePlayer.SetMapIcon` and `BasePlayer.RemoveMapIcon` (#364) -- Updated to .NET Standard 2.1 -- Updated documentation links from SA-MP wiki to open.mp docs -- Fixed `PlayerTextLabel.Text`, `PlayerTextLabel.AttachedPlayer` and `PlayerTextLabel.AttachedVehicle` not being set -- Fixed command group help commands not being invoked in some cases (#361) -- Fixed command overloading not working in some cases (#344) -- Fixed `BasePlayer.IsNPC` not returning `true` when the NPC has not yet connected (#346) -- Fixed typo in `Server.GetWeaponName` result for `Weapon.ThermalGoggles` (#380) -- Fixed a problem which caused successive calls to `ShowAsync` not to show the dialog (#384, #389) - -### 0.9.1 -- Removed unused `PlayerDisconnectReason` enum in favour of `DisconnectReason` enum (#330) - -### 0.9.0 -- Added `Vector3.XY` which returns a `Vector2` with the x and y components (#299/#300) -- Added `Color.Brightness` property (#309) -- Added `Color.AddGrammaCorrection`, `Color.RemoveGammaCorrection`, `Color.Grayscale` methods (#309) -- Added `blendAlpha` option to `Color.Lerp`, `Color.Darken` and `Color.Lighten` (#305/#310) -- Added `Timer.Run` and `Timer.RunOnce` overloads with an `int` or `double` internal in miliseconds. (#315) -- Added `BasePlayer.PickUpPickup` event (#319) -- Added `BasePlayer.CameraTargetPlayerObject` (#320) -- Added `BasePlayer.SurfingPlayerObject` (#324) -- Added `Server.GetServerTickRate` (#295) -- Added automatic detection for command and command group names (#273) -- Added command parameter attribute `NullableParam` to indicate a `BasePlayer` or `BaseVehicle` argument is allowed to be null, enum values can be marked as nullable by using nullable enums like `VehicleModelType?` (#268/#290) -- Added `Server.GetWeaponName` (#311) -- Added `CommandAttribute.IsGroupHelp`, if this value is true, the command will run if the command group is entered by the player without a specified command in the command group -- *breaking* Added `PlayerCancelClickTextDraw` event which is called when player presses ESC while selecting textdraws, `PlayerClickTextDraw` is no longer called when ESC is pressed (#304/#321) -- Updated `VehicleModelInfo` to include seat count and a missing entry for ID 611, Utility Trailer (#302) -- Updated minimum .NET Standard version to 2.0 -- *breaking* Changed `BasePlayer.CameraTargetObject` to `BasePlayer.CameraTargetGlobalObject` (#320) -- *breaking* Changed `BasePlayer.SurfingObject` to `BasePlayer.SurfingGlobalObject` (#324) -- *breaking* Changed `BaseMode.PlayerPickUp` event to have event arguments of type `PickUpPickupEventArgs` and changed the sender of event from the pickup to the player (#319) -- *breaking* Changed `Pickup.PickUp` event to have event arguments of type `PickUpPickupEventArgs` (#319) -- Fixed `Quaternion` coordinate system not matching SA-MP coordinate system -- Fixed `Edited` and `Selected` on `GlobalObject` and `PlayerObject` not being fired (#303/#306) -- Fixed `Color.FromInteger` with `ColorFormat.RGB` returning a value with 0 alpha -- Fixed conversion from `Color` to `Vector3` not returning decimal values -- Fixed enum numeric values not being recognized as an command argument if an enum value name contains the numeric value (#274) -- *breaking* Removed `ObjectModel` enum because it was too big and might not be complete - -### 0.8.0 -- Initial .NET Core version -- Added `Weapon.Suicide` definition -- Added `Color(byte, byte, byte, float)` constructor -- Added ExplosionType enum (#234) -- Added netstat properties to the `BasePlayer` class (#238) -- Added `VehicleColor` enum and `Color.FromVehicleColor` (#270) -- Added support for `BaseVehicle` or derived types in command parameters (#276) -- Added `MapIcon` enum (#206/#288) -- Added `ObjectModel` enum and `PickupType` enum (#291) -- Changed Dialog.ShowAsync to throw `PlayerDisconnectedException` instead of `TaskCancelledException` -- Fixed `Dialog.Hide` not working (#212) -- Fixed `BaseVehicle.CreateStatic(VehicleModelType, Vector3, float, int, int)` overload not creating static vehicle -- Fixed `OnPlayerEnterCheckpoint` callback not being processed - -### 0.8.0-alpha10 -- Added `VehicleColor` enum and `Color.FromVehicleColor` (#270) -- Added support for `BaseVehicle` or derived types in command parameters (#276) -- Added `MapIcon` enum (#206/#288) -- Added `ObjectModel` enum and `PickupType` enum (#291) -- Fixed `OnPlayerEnterCheckpoint` callback not being processed - -### 0.8.0-alpha8 -- Fixed `BaseVehicle.CreateStatic(VehicleModelType, Vector3, float, int, int)` overload not creating static vehicle - -### 0.8.0-alpha7 -- Fixed timer executed multiple times - -### 0.8.0-alpha6 -- Added ExplosionType enum (#234) -- Added netstat properties to the `BasePlayer` class (#238) - -### 0.8.0-alpha2 -- Added `Weapon.Suicide` definition -- Added `Color(byte, byte, byte, float)` constructor -- Changed Dialog.ShowAsync to throw `PlayerDisconnectedException` instead of `TaskCancelledException` -- Fixed `Dialog.Hide` not working (#212) -- Fixed NuGet package referencing invalid build version 0.0.0-localbuild of SampSharp.Core - -### 0.8.0-alpha1 -- Changes for "named pipes" version - -### 0.7.6221.37952 -- Changed the default virtual world of `TextLabel` instances from -1 to 0, which is the expected behavior -- Fixed a bug which caused previous colors and zoom levels in `TextDraw`/`PlayerTextDraw` instances to be set at every refresh -- Fixed a bug which caused `PlayerTextDraw` instances to disappear at odd times -- Fixed a possible crash when loading envirionment variables in the plugin -- Fixed a crash during shutdown by disabling unloading DLLs, this consequently also disabled RCON shutdown signals (RCON commands `sampsharpstop` and `sampsharpstart`) - -### 0.7.6133.31753-alpha -- Added `Matrix` struct -- Added `Quaternion` struct -- Added `Vector4` struct -- Added various calcuation methods to the `Vector2` and `Vector3` structs and `MathHelper` class -- Added `AddItem` and `AddItems` methods to the `ListDialog` class -- Added support for setting the debugger address and the starting game mode using environment variables -- Fixed a bug which caused the permission system of commands not to work -- Fixed a bug where using the debugger would cause the server to crash on startup -- Fixed a bug where sending an empty string to a native would cause the server to crash - - -### 0.7.6119.35177-alpha -- Fixed random debug messages being displayed in the server output - -### 0.7.6119.33589-alpha -- Added `NativeObjectSingleton` class for easy access to singleton native object instances -- Added mono soft debugger support -- Added a virtual `Initialize` method to all pooled types (BasePlayer, BaseVehicle, etc.). You can override this function to initialize your instance. If you have custom initialization logic in subclasses of `BaseVehicle` or `Globalobject` for example, the `Id` of the instance will not have been set yet. In these cases, you can override `Initialize` to provide your own initialization logic. -- Updated mono to 4.6 -- Changed visibility of `LinqHelper` and `VehicleParameterValueHelper` from public to internal -- Fixed textdraw(global/player) properties not updating properly when changed -- Fixed a bug where the `.All` accessors of pooled types may cause exceptions when an item is added to it during iteration - -If you encounter problems or crashes, please ensure you have installed mono 4.6. If you use -the standalone Windows version of mono, you can download an updated version here: http://deploy.timpotze.nl/packages/mono-portable46.zip -Simply extract the contents of the archive to your server directory. - -### 0.7.6107.37493-alpha -- Fixed an error when generating a proxy object for virtual methods for -- Renamed `BasePlayer.GetPlayerLastShotVectors` to `BasePlayer.GetLastShot` - -### 0.7.6107.36375-alpha -- Added abstraction layer between interop and implementation - -### 0.7.6104.38929-alpha -- Added support for using any codepage -- Added server configuration reader -- Added support for boolean reference native argument type -- Added `BaseVehicleFactory` -- Added system for automatically loading extensions -- Added support for SA-MP 0.3.7R2 -- Added a way of automatically loading controllers -- Added `BasePlayer.IsSelectingTextDraw` -- Added `BasePlayer.GetPlayerLastShotVectors` -- Added missing documentation -- Added mechanism for extension dependencies -- Rewritten the command processor -- Rewritten the way native calls are handled -- Improved performance of of all pooling types -- Renamed `GtaPlayer` to `BasePlayer` -- Renamed `GtaVehicle` to `BaseVehicle` -- Renamed `GtaPlayerController` to `BasePlayerController` -- Renamed `GtaVehicleController` to `BaseVehicleController` -- Fixed the the diploma font not being available -- Removed setters from Vector2/Vector3 - -### 0.6.2 -- Added various `Color` constructors and operators (including `Color * float`). -- Added `Color.Lerp()`, `Color.Lighten()` and `Color.Darken()`. -- Added `MathHelper` class. -- Added `BaseMode.CallbackException` event. This event is raised if an exception has been thrown in a callback without being handled. -- Changed sender of menu related events to player. -- Fixed a bug where `Sync.Run()` causes a `NullReferenceException` if called before controllers are loaded. -- Fixed a bug where `LogWriter` (used by Console.Write) causes buffer overflow errors when handling long strings. -- Fixed a bug causing .mdb files not to be loaded properly. - -### 0.6.1 -- Fixed a bug in return value conversion of callbacks. -- Fixed a bug where using the build-in MapAndreas might crash the server. - -### 0.6 -- Added `Dialog.ShowAsync`. -- Added `InputDialog`, `ListDialog`, `MessageDialog` and `TabListDialog` classes which contain useful methods for it's type of dialog. -- Added `Vector2` structure. -- Updated vehicle parameter setters to use the `VehicleParameterValue` to maintain the proper states of other vehicle parameters. -- Updated mono API used to 4.0.0. **The minimum mono version required is 4.0 now**. -- **breaking** The `Vector` structure has been renamed to `Vector3`. -- Removed `GetHashCode` from wrapper classes. -- Removed `double` constructors from `Vector3` sructure. -- Fixed auto loading of empty filterscript (which allows `OnRconCommand` to be used) -- Fixed a small memory leak in the initialization script in the plugin. -- Fixed a bug where Callnative array throws errors when a `out float[]` argument is used. -- Fixed `TextEventArgs.SendToPlayers` (#118). -- (incomplete) Started creating interfaces of wrapper classes. - -### 0.5 -- Added `GtaPlayer.DefaultClientMessageColor` -- Added the ability to add commands in a class derived from `GtaPlayer` class without the method having to be static. -- Added a basic `IServiceProvider` to `BaseMode` class. -- Updated for SA-MP 0.3.7: - - Added `Actor` class. - - Added constructors to `Dialog` class for tab lists. - - Added siren related arguments to `GtaVehicle.Create` and `GtaVehicle.CreateStatic`. - - Added door/window parameter properties and methods to `GtaVehicle` class. - - Added various other new methods and properties. -- Renamed `GtaVehicle.GetParams` to `GtaVehicle.GetParameters`. -- Renamed `GtaVehicle.SetParams` to `GtaVehicle.SetParameters`. -- Added overload of `GtaVehicle.GetParameters` which properly takes care of the 'unset' (-1) values the parameters may contain. -- Removed deprecated methods. -- Removed unused and out-of-date documentation from the `Native` class. - -### 0.4.1 -- Fixed extensions failing to load before the initialization ended. (Resolves #90) - -### 0.4 -- Added Native.NativeExists -- Renamed `Color.GetColorFromValue` and `Color.GetColorValue` and add `Color.FromString`. (Resolves #87) -- Renamed Disposable.CheckDisposed to Disposable.AssertNotDisposed -- Improved documentation. -- Improved console messages. -- Improved command system. (Resolves #86 #89 #77) -- Improved build-in MapAndreas. If a suitable MapAndreas plugin is loaded, the plugin is used instead of the build-in logic. -- Fixed PlayerObject and PlayerTextDraw staying in pools after player disconnects (Resolves #82) -- Fixed various memory leaks. -- Fixed various crashes related to calls to custom natives. -- Fixed crashes related to `gmx`/`Native.GameModeExit()`. - -### 0.3.1 -- Added missing documentation -- Added Bone enumerator -- Add setters to vehicle params Engine, Lights, Alarm, Doors, Bonnet, Boot, Objective -- Updated some methods that used IDs to use objects/enumerators instead -- Updated most events - - Makes most EventArgs classes cleaner - - Removes repeated .Find/.FindOrCreate calls -- Removed logic from Native class. It now only contains external calls. - -### 0.3 -- Added priorities to keyhandlers -- Added Server.ToggleDebugOutput(toggle) to output Debug.* calls to the console -- Added a number of other functions to the Server class -- Fixed a couple of bugs with timers -- Changed visibility and and names of event raisers in BaseMode class -- Changed various *EventArgs property names and logic -- Improved Sync class and allow make Sync.Run calls awaitable -- Console.* and Debug.* now automatically sync to the main thread when this is required -- Updated sampgdk which resolves some compatibility issues -- Various other improvements and fixes - -### 0.2 -- Added GtaVehicle.Health property -- Added support for different languages -- Added a per-key press/release handler: GtaPlayer.Key - -### 0.1 -- Initial version diff --git a/changelogs/CHANGES-plugin.md b/changelogs/CHANGES-plugin.md deleted file mode 100644 index d5c662c36..000000000 --- a/changelogs/CHANGES-plugin.md +++ /dev/null @@ -1,33 +0,0 @@ -### 0.11.0 -- Added interop API (#399, #401) -- Added non-standard implementation of reading open.mp config.json -- Removed callback registration (#399, #401) -- Removed multi-process mode - -### 0.10.0 -- Added automatic coreclr and gamemode detection -- Added support for "fastnative" calls (#365) -- Added callback name to "Callback parameters count mismatch" error (#342) -- Added coreclr detection based on `SAMPSHARP_RUNTIME` environment variable -- Changed hosted mode to be the default, multi-process mode can be enabled with the `use_multi_process_mode=1` server setting -- Fixed a possible server crash when a callback is handled with an unexpected parameter count -- Fixed a possible server crash when calling the `CallRemoveFunction` native (#363) -- Codepage files are no longer provided in the plugin release package. Codepages are available as embedded resources in SampSharp.Core via the `GameModeBuilder.UseEncodingCodePage` method. The codepage files are available in [the codepages repository](https://github.com/SampSharp/codepages) if you still need these files for some reason. - -### 0.10.0-alpha2 -- Added coreclr detection based on `SAMPSHARP_RUNTIME` environment variable - -### 0.10.0-alpha1 -- Added automatic coreclr and gamemode detection -- Added support for "fastnative" calls (#365) -- Added callback name to "Callback parameters count mismatch" error (#342) -- Changed hosted mode to be the default, multi-process mode can be enabled with the `use_multi_process_mode=1` server setting -- Fixed a possible server crash when a callback is handled with an unexpected parameter count -- Fixed a possible server crash when calling the `CallRemoveFunction` native (#363) -- Codepage files are no longer provided in the plugin release package. Codepages are available as embedded resources in SampSharp.Core via the `GameModeBuilder.UseEncodingCodePage` method. The codepage files are available in [the codepages repository](https://github.com/SampSharp/codepages) if you still need these files for some reason. - -### 0.9.0 -- Updated sampgdk to 4.6.2 -- Changed maximum native arguments to 64 -- Fixed server in multi-process run mode freezing when calling native which calls a callback which calls a native -- Fixed intermission script getting stuck between runs diff --git a/Directory.Build.props b/src/legacy/Directory.Build.props similarity index 82% rename from Directory.Build.props rename to src/legacy/Directory.Build.props index 9759fae91..888240cdf 100644 --- a/Directory.Build.props +++ b/src/legacy/Directory.Build.props @@ -1,4 +1,7 @@ + + + $(MSBuildProjectName.Contains('.UnitTests')) @@ -11,14 +14,20 @@ false + + + $(MSBuildThisFileDirectory)..\..\build\bin\$(MSBuildProjectName)\ + $(MSBuildThisFileDirectory)..\..\build\obj\$(MSBuildProjectName)\ + $(MSBuildThisFileDirectory)..\..\build\artifacts\packages + + - ..\..\bin\$(MSBuildProjectName)\$(Configuration)\ true true - ..\..\env\gamemode\$(MSBuildProjectName) + $(MSBuildThisFileDirectory)..\..\env\gamemode\$(MSBuildProjectName) @@ -40,7 +49,7 @@ - + @@ -91,4 +100,4 @@ true - \ No newline at end of file + diff --git a/src/SampSharp.Core.UnitTests/Callbacks/CallbackParameterBooleanTests.cs b/src/legacy/SampSharp.Core.UnitTests/Callbacks/CallbackParameterBooleanTests.cs similarity index 100% rename from src/SampSharp.Core.UnitTests/Callbacks/CallbackParameterBooleanTests.cs rename to src/legacy/SampSharp.Core.UnitTests/Callbacks/CallbackParameterBooleanTests.cs diff --git a/src/SampSharp.Core.UnitTests/Callbacks/CallbackParameterIntTests.cs b/src/legacy/SampSharp.Core.UnitTests/Callbacks/CallbackParameterIntTests.cs similarity index 100% rename from src/SampSharp.Core.UnitTests/Callbacks/CallbackParameterIntTests.cs rename to src/legacy/SampSharp.Core.UnitTests/Callbacks/CallbackParameterIntTests.cs diff --git a/src/SampSharp.Core.UnitTests/Callbacks/CallbackParameterSingleTests.cs b/src/legacy/SampSharp.Core.UnitTests/Callbacks/CallbackParameterSingleTests.cs similarity index 100% rename from src/SampSharp.Core.UnitTests/Callbacks/CallbackParameterSingleTests.cs rename to src/legacy/SampSharp.Core.UnitTests/Callbacks/CallbackParameterSingleTests.cs diff --git a/src/SampSharp.Core.UnitTests/Callbacks/CallbackTests.cs b/src/legacy/SampSharp.Core.UnitTests/Callbacks/CallbackTests.cs similarity index 100% rename from src/SampSharp.Core.UnitTests/Callbacks/CallbackTests.cs rename to src/legacy/SampSharp.Core.UnitTests/Callbacks/CallbackTests.cs diff --git a/src/SampSharp.Core.UnitTests/CoreLogGameModeBuilderExtensionsTests.cs b/src/legacy/SampSharp.Core.UnitTests/CoreLogGameModeBuilderExtensionsTests.cs similarity index 100% rename from src/SampSharp.Core.UnitTests/CoreLogGameModeBuilderExtensionsTests.cs rename to src/legacy/SampSharp.Core.UnitTests/CoreLogGameModeBuilderExtensionsTests.cs diff --git a/src/SampSharp.Core.UnitTests/EncodingGameModeBuilderExtensionsTests.cs b/src/legacy/SampSharp.Core.UnitTests/EncodingGameModeBuilderExtensionsTests.cs similarity index 100% rename from src/SampSharp.Core.UnitTests/EncodingGameModeBuilderExtensionsTests.cs rename to src/legacy/SampSharp.Core.UnitTests/EncodingGameModeBuilderExtensionsTests.cs diff --git a/src/SampSharp.Core.UnitTests/GameModeClientHelperTests.cs b/src/legacy/SampSharp.Core.UnitTests/GameModeClientHelperTests.cs similarity index 100% rename from src/SampSharp.Core.UnitTests/GameModeClientHelperTests.cs rename to src/legacy/SampSharp.Core.UnitTests/GameModeClientHelperTests.cs diff --git a/src/SampSharp.Core.UnitTests/HostedGameModeClientTests.cs b/src/legacy/SampSharp.Core.UnitTests/HostedGameModeClientTests.cs similarity index 100% rename from src/SampSharp.Core.UnitTests/HostedGameModeClientTests.cs rename to src/legacy/SampSharp.Core.UnitTests/HostedGameModeClientTests.cs diff --git a/src/SampSharp.Core.UnitTests/Hosting/InteropTests.cs b/src/legacy/SampSharp.Core.UnitTests/Hosting/InteropTests.cs similarity index 100% rename from src/SampSharp.Core.UnitTests/Hosting/InteropTests.cs rename to src/legacy/SampSharp.Core.UnitTests/Hosting/InteropTests.cs diff --git a/src/SampSharp.Core.UnitTests/RedirectConsoleOutputGameModeBuilderExtensionsTests.cs b/src/legacy/SampSharp.Core.UnitTests/RedirectConsoleOutputGameModeBuilderExtensionsTests.cs similarity index 100% rename from src/SampSharp.Core.UnitTests/RedirectConsoleOutputGameModeBuilderExtensionsTests.cs rename to src/legacy/SampSharp.Core.UnitTests/RedirectConsoleOutputGameModeBuilderExtensionsTests.cs diff --git a/src/SampSharp.Core.UnitTests/SampSharp.Core.UnitTests.csproj b/src/legacy/SampSharp.Core.UnitTests/SampSharp.Core.UnitTests.csproj similarity index 100% rename from src/SampSharp.Core.UnitTests/SampSharp.Core.UnitTests.csproj rename to src/legacy/SampSharp.Core.UnitTests/SampSharp.Core.UnitTests.csproj diff --git a/src/SampSharp.Core.UnitTests/TestHelpers/ApiScope.cs b/src/legacy/SampSharp.Core.UnitTests/TestHelpers/ApiScope.cs similarity index 100% rename from src/SampSharp.Core.UnitTests/TestHelpers/ApiScope.cs rename to src/legacy/SampSharp.Core.UnitTests/TestHelpers/ApiScope.cs diff --git a/src/SampSharp.Core.UnitTests/TestHelpers/GameModeClientScope.cs b/src/legacy/SampSharp.Core.UnitTests/TestHelpers/GameModeClientScope.cs similarity index 100% rename from src/SampSharp.Core.UnitTests/TestHelpers/GameModeClientScope.cs rename to src/legacy/SampSharp.Core.UnitTests/TestHelpers/GameModeClientScope.cs diff --git a/src/SampSharp.Core.UnitTests/TestHelpers/InteropStructs.cs b/src/legacy/SampSharp.Core.UnitTests/TestHelpers/InteropStructs.cs similarity index 100% rename from src/SampSharp.Core.UnitTests/TestHelpers/InteropStructs.cs rename to src/legacy/SampSharp.Core.UnitTests/TestHelpers/InteropStructs.cs diff --git a/src/SampSharp.Core/AssemblyAttributes.cs b/src/legacy/SampSharp.Core/AssemblyAttributes.cs similarity index 100% rename from src/SampSharp.Core/AssemblyAttributes.cs rename to src/legacy/SampSharp.Core/AssemblyAttributes.cs diff --git a/src/SampSharp.Core/Callbacks/Callback.cs b/src/legacy/SampSharp.Core/Callbacks/Callback.cs similarity index 100% rename from src/SampSharp.Core/Callbacks/Callback.cs rename to src/legacy/SampSharp.Core/Callbacks/Callback.cs diff --git a/src/SampSharp.Core/Callbacks/CallbackAttribute.cs b/src/legacy/SampSharp.Core/Callbacks/CallbackAttribute.cs similarity index 100% rename from src/SampSharp.Core/Callbacks/CallbackAttribute.cs rename to src/legacy/SampSharp.Core/Callbacks/CallbackAttribute.cs diff --git a/src/SampSharp.Core/Callbacks/CallbackParameterBoolean.cs b/src/legacy/SampSharp.Core/Callbacks/CallbackParameterBoolean.cs similarity index 100% rename from src/SampSharp.Core/Callbacks/CallbackParameterBoolean.cs rename to src/legacy/SampSharp.Core/Callbacks/CallbackParameterBoolean.cs diff --git a/src/SampSharp.Core/Callbacks/CallbackParameterBooleanArray.cs b/src/legacy/SampSharp.Core/Callbacks/CallbackParameterBooleanArray.cs similarity index 100% rename from src/SampSharp.Core/Callbacks/CallbackParameterBooleanArray.cs rename to src/legacy/SampSharp.Core/Callbacks/CallbackParameterBooleanArray.cs diff --git a/src/SampSharp.Core/Callbacks/CallbackParameterInt.cs b/src/legacy/SampSharp.Core/Callbacks/CallbackParameterInt.cs similarity index 100% rename from src/SampSharp.Core/Callbacks/CallbackParameterInt.cs rename to src/legacy/SampSharp.Core/Callbacks/CallbackParameterInt.cs diff --git a/src/SampSharp.Core/Callbacks/CallbackParameterIntArray.cs b/src/legacy/SampSharp.Core/Callbacks/CallbackParameterIntArray.cs similarity index 100% rename from src/SampSharp.Core/Callbacks/CallbackParameterIntArray.cs rename to src/legacy/SampSharp.Core/Callbacks/CallbackParameterIntArray.cs diff --git a/src/SampSharp.Core/Callbacks/CallbackParameterSingle.cs b/src/legacy/SampSharp.Core/Callbacks/CallbackParameterSingle.cs similarity index 100% rename from src/SampSharp.Core/Callbacks/CallbackParameterSingle.cs rename to src/legacy/SampSharp.Core/Callbacks/CallbackParameterSingle.cs diff --git a/src/SampSharp.Core/Callbacks/CallbackParameterSingleArray.cs b/src/legacy/SampSharp.Core/Callbacks/CallbackParameterSingleArray.cs similarity index 100% rename from src/SampSharp.Core/Callbacks/CallbackParameterSingleArray.cs rename to src/legacy/SampSharp.Core/Callbacks/CallbackParameterSingleArray.cs diff --git a/src/SampSharp.Core/Callbacks/CallbackParameterString.cs b/src/legacy/SampSharp.Core/Callbacks/CallbackParameterString.cs similarity index 100% rename from src/SampSharp.Core/Callbacks/CallbackParameterString.cs rename to src/legacy/SampSharp.Core/Callbacks/CallbackParameterString.cs diff --git a/src/SampSharp.Core/Callbacks/CallbackRegistrationException.cs b/src/legacy/SampSharp.Core/Callbacks/CallbackRegistrationException.cs similarity index 100% rename from src/SampSharp.Core/Callbacks/CallbackRegistrationException.cs rename to src/legacy/SampSharp.Core/Callbacks/CallbackRegistrationException.cs diff --git a/src/SampSharp.Core/Callbacks/ICallbackArrayParameter.cs b/src/legacy/SampSharp.Core/Callbacks/ICallbackArrayParameter.cs similarity index 100% rename from src/SampSharp.Core/Callbacks/ICallbackArrayParameter.cs rename to src/legacy/SampSharp.Core/Callbacks/ICallbackArrayParameter.cs diff --git a/src/SampSharp.Core/Callbacks/ICallbackParameter.cs b/src/legacy/SampSharp.Core/Callbacks/ICallbackParameter.cs similarity index 100% rename from src/SampSharp.Core/Callbacks/ICallbackParameter.cs rename to src/legacy/SampSharp.Core/Callbacks/ICallbackParameter.cs diff --git a/src/SampSharp.Core/Callbacks/ParameterLengthAttribute.cs b/src/legacy/SampSharp.Core/Callbacks/ParameterLengthAttribute.cs similarity index 100% rename from src/SampSharp.Core/Callbacks/ParameterLengthAttribute.cs rename to src/legacy/SampSharp.Core/Callbacks/ParameterLengthAttribute.cs diff --git a/src/SampSharp.Core/CodePages/CodePageEncoding.cs b/src/legacy/SampSharp.Core/CodePages/CodePageEncoding.cs similarity index 100% rename from src/SampSharp.Core/CodePages/CodePageEncoding.cs rename to src/legacy/SampSharp.Core/CodePages/CodePageEncoding.cs diff --git a/src/SampSharp.Core/CodePages/data/8859-1.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-1.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-1.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-1.dat diff --git a/src/SampSharp.Core/CodePages/data/8859-10.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-10.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-10.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-10.dat diff --git a/src/SampSharp.Core/CodePages/data/8859-11.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-11.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-11.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-11.dat diff --git a/src/SampSharp.Core/CodePages/data/8859-13.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-13.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-13.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-13.dat diff --git a/src/SampSharp.Core/CodePages/data/8859-14.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-14.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-14.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-14.dat diff --git a/src/SampSharp.Core/CodePages/data/8859-15.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-15.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-15.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-15.dat diff --git a/src/SampSharp.Core/CodePages/data/8859-16.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-16.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-16.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-16.dat diff --git a/src/SampSharp.Core/CodePages/data/8859-2.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-2.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-2.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-2.dat diff --git a/src/SampSharp.Core/CodePages/data/8859-3.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-3.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-3.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-3.dat diff --git a/src/SampSharp.Core/CodePages/data/8859-4.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-4.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-4.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-4.dat diff --git a/src/SampSharp.Core/CodePages/data/8859-5.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-5.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-5.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-5.dat diff --git a/src/SampSharp.Core/CodePages/data/8859-6.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-6.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-6.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-6.dat diff --git a/src/SampSharp.Core/CodePages/data/8859-7.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-7.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-7.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-7.dat diff --git a/src/SampSharp.Core/CodePages/data/8859-8.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-8.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-8.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-8.dat diff --git a/src/SampSharp.Core/CodePages/data/8859-9.dat b/src/legacy/SampSharp.Core/CodePages/data/8859-9.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/8859-9.dat rename to src/legacy/SampSharp.Core/CodePages/data/8859-9.dat diff --git a/src/SampSharp.Core/CodePages/data/cp1250.dat b/src/legacy/SampSharp.Core/CodePages/data/cp1250.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp1250.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp1250.dat diff --git a/src/SampSharp.Core/CodePages/data/cp1251.dat b/src/legacy/SampSharp.Core/CodePages/data/cp1251.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp1251.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp1251.dat diff --git a/src/SampSharp.Core/CodePages/data/cp1252.dat b/src/legacy/SampSharp.Core/CodePages/data/cp1252.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp1252.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp1252.dat diff --git a/src/SampSharp.Core/CodePages/data/cp1253.dat b/src/legacy/SampSharp.Core/CodePages/data/cp1253.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp1253.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp1253.dat diff --git a/src/SampSharp.Core/CodePages/data/cp1254.dat b/src/legacy/SampSharp.Core/CodePages/data/cp1254.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp1254.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp1254.dat diff --git a/src/SampSharp.Core/CodePages/data/cp1255.dat b/src/legacy/SampSharp.Core/CodePages/data/cp1255.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp1255.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp1255.dat diff --git a/src/SampSharp.Core/CodePages/data/cp1256.dat b/src/legacy/SampSharp.Core/CodePages/data/cp1256.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp1256.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp1256.dat diff --git a/src/SampSharp.Core/CodePages/data/cp1257.dat b/src/legacy/SampSharp.Core/CodePages/data/cp1257.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp1257.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp1257.dat diff --git a/src/SampSharp.Core/CodePages/data/cp1258.dat b/src/legacy/SampSharp.Core/CodePages/data/cp1258.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp1258.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp1258.dat diff --git a/src/SampSharp.Core/CodePages/data/cp437.dat b/src/legacy/SampSharp.Core/CodePages/data/cp437.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp437.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp437.dat diff --git a/src/SampSharp.Core/CodePages/data/cp737.dat b/src/legacy/SampSharp.Core/CodePages/data/cp737.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp737.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp737.dat diff --git a/src/SampSharp.Core/CodePages/data/cp775.dat b/src/legacy/SampSharp.Core/CodePages/data/cp775.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp775.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp775.dat diff --git a/src/SampSharp.Core/CodePages/data/cp850.dat b/src/legacy/SampSharp.Core/CodePages/data/cp850.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp850.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp850.dat diff --git a/src/SampSharp.Core/CodePages/data/cp852.dat b/src/legacy/SampSharp.Core/CodePages/data/cp852.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp852.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp852.dat diff --git a/src/SampSharp.Core/CodePages/data/cp855.dat b/src/legacy/SampSharp.Core/CodePages/data/cp855.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp855.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp855.dat diff --git a/src/SampSharp.Core/CodePages/data/cp857.dat b/src/legacy/SampSharp.Core/CodePages/data/cp857.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp857.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp857.dat diff --git a/src/SampSharp.Core/CodePages/data/cp860.dat b/src/legacy/SampSharp.Core/CodePages/data/cp860.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp860.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp860.dat diff --git a/src/SampSharp.Core/CodePages/data/cp861.dat b/src/legacy/SampSharp.Core/CodePages/data/cp861.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp861.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp861.dat diff --git a/src/SampSharp.Core/CodePages/data/cp862.dat b/src/legacy/SampSharp.Core/CodePages/data/cp862.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp862.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp862.dat diff --git a/src/SampSharp.Core/CodePages/data/cp863.dat b/src/legacy/SampSharp.Core/CodePages/data/cp863.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp863.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp863.dat diff --git a/src/SampSharp.Core/CodePages/data/cp864.dat b/src/legacy/SampSharp.Core/CodePages/data/cp864.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp864.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp864.dat diff --git a/src/SampSharp.Core/CodePages/data/cp865.dat b/src/legacy/SampSharp.Core/CodePages/data/cp865.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp865.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp865.dat diff --git a/src/SampSharp.Core/CodePages/data/cp866.dat b/src/legacy/SampSharp.Core/CodePages/data/cp866.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp866.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp866.dat diff --git a/src/SampSharp.Core/CodePages/data/cp869.dat b/src/legacy/SampSharp.Core/CodePages/data/cp869.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp869.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp869.dat diff --git a/src/SampSharp.Core/CodePages/data/cp874.dat b/src/legacy/SampSharp.Core/CodePages/data/cp874.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp874.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp874.dat diff --git a/src/SampSharp.Core/CodePages/data/cp932.dat b/src/legacy/SampSharp.Core/CodePages/data/cp932.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp932.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp932.dat diff --git a/src/SampSharp.Core/CodePages/data/cp936.dat b/src/legacy/SampSharp.Core/CodePages/data/cp936.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp936.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp936.dat diff --git a/src/SampSharp.Core/CodePages/data/cp949.dat b/src/legacy/SampSharp.Core/CodePages/data/cp949.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp949.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp949.dat diff --git a/src/SampSharp.Core/CodePages/data/cp950.dat b/src/legacy/SampSharp.Core/CodePages/data/cp950.dat similarity index 100% rename from src/SampSharp.Core/CodePages/data/cp950.dat rename to src/legacy/SampSharp.Core/CodePages/data/cp950.dat diff --git a/src/SampSharp.Core/CoreLogGameModeBuilderExtensions.cs b/src/legacy/SampSharp.Core/CoreLogGameModeBuilderExtensions.cs similarity index 100% rename from src/SampSharp.Core/CoreLogGameModeBuilderExtensions.cs rename to src/legacy/SampSharp.Core/CoreLogGameModeBuilderExtensions.cs diff --git a/src/SampSharp.Core/EncodingGameModeBuilderExtensions.cs b/src/legacy/SampSharp.Core/EncodingGameModeBuilderExtensions.cs similarity index 100% rename from src/SampSharp.Core/EncodingGameModeBuilderExtensions.cs rename to src/legacy/SampSharp.Core/EncodingGameModeBuilderExtensions.cs diff --git a/src/SampSharp.Core/GameModeBuilder.cs b/src/legacy/SampSharp.Core/GameModeBuilder.cs similarity index 100% rename from src/SampSharp.Core/GameModeBuilder.cs rename to src/legacy/SampSharp.Core/GameModeBuilder.cs diff --git a/src/SampSharp.Core/GameModeBuilderException.cs b/src/legacy/SampSharp.Core/GameModeBuilderException.cs similarity index 100% rename from src/SampSharp.Core/GameModeBuilderException.cs rename to src/legacy/SampSharp.Core/GameModeBuilderException.cs diff --git a/src/SampSharp.Core/GameModeClientException.cs b/src/legacy/SampSharp.Core/GameModeClientException.cs similarity index 100% rename from src/SampSharp.Core/GameModeClientException.cs rename to src/legacy/SampSharp.Core/GameModeClientException.cs diff --git a/src/SampSharp.Core/GameModeClientExtensions.cs b/src/legacy/SampSharp.Core/GameModeClientExtensions.cs similarity index 100% rename from src/SampSharp.Core/GameModeClientExtensions.cs rename to src/legacy/SampSharp.Core/GameModeClientExtensions.cs diff --git a/src/SampSharp.Core/GameModeNotRunningException.cs b/src/legacy/SampSharp.Core/GameModeNotRunningException.cs similarity index 100% rename from src/SampSharp.Core/GameModeNotRunningException.cs rename to src/legacy/SampSharp.Core/GameModeNotRunningException.cs diff --git a/src/SampSharp.Core/GameModeRunnerFactory.cs b/src/legacy/SampSharp.Core/GameModeRunnerFactory.cs similarity index 100% rename from src/SampSharp.Core/GameModeRunnerFactory.cs rename to src/legacy/SampSharp.Core/GameModeRunnerFactory.cs diff --git a/src/SampSharp.Core/GameModeRunnerRun.cs b/src/legacy/SampSharp.Core/GameModeRunnerRun.cs similarity index 100% rename from src/SampSharp.Core/GameModeRunnerRun.cs rename to src/legacy/SampSharp.Core/GameModeRunnerRun.cs diff --git a/src/SampSharp.Core/HostedGameModeClient.cs b/src/legacy/SampSharp.Core/HostedGameModeClient.cs similarity index 100% rename from src/SampSharp.Core/HostedGameModeClient.cs rename to src/legacy/SampSharp.Core/HostedGameModeClient.cs diff --git a/src/SampSharp.Core/Hosting/Amx.cs b/src/legacy/SampSharp.Core/Hosting/Amx.cs similarity index 100% rename from src/SampSharp.Core/Hosting/Amx.cs rename to src/legacy/SampSharp.Core/Hosting/Amx.cs diff --git a/src/SampSharp.Core/Hosting/AmxCell.cs b/src/legacy/SampSharp.Core/Hosting/AmxCell.cs similarity index 100% rename from src/SampSharp.Core/Hosting/AmxCell.cs rename to src/legacy/SampSharp.Core/Hosting/AmxCell.cs diff --git a/src/SampSharp.Core/Hosting/AmxError.cs b/src/legacy/SampSharp.Core/Hosting/AmxError.cs similarity index 100% rename from src/SampSharp.Core/Hosting/AmxError.cs rename to src/legacy/SampSharp.Core/Hosting/AmxError.cs diff --git a/src/SampSharp.Core/Hosting/AmxExport.cs b/src/legacy/SampSharp.Core/Hosting/AmxExport.cs similarity index 100% rename from src/SampSharp.Core/Hosting/AmxExport.cs rename to src/legacy/SampSharp.Core/Hosting/AmxExport.cs diff --git a/src/SampSharp.Core/Hosting/Interop.cs b/src/legacy/SampSharp.Core/Hosting/Interop.cs similarity index 100% rename from src/SampSharp.Core/Hosting/Interop.cs rename to src/legacy/SampSharp.Core/Hosting/Interop.cs diff --git a/src/SampSharp.Core/Hosting/PluginData.cs b/src/legacy/SampSharp.Core/Hosting/PluginData.cs similarity index 100% rename from src/SampSharp.Core/Hosting/PluginData.cs rename to src/legacy/SampSharp.Core/Hosting/PluginData.cs diff --git a/src/SampSharp.Core/Hosting/SampSharpApi.cs b/src/legacy/SampSharp.Core/Hosting/SampSharpApi.cs similarity index 100% rename from src/SampSharp.Core/Hosting/SampSharpApi.cs rename to src/legacy/SampSharp.Core/Hosting/SampSharpApi.cs diff --git a/src/SampSharp.Core/IGameModeClient.cs b/src/legacy/SampSharp.Core/IGameModeClient.cs similarity index 100% rename from src/SampSharp.Core/IGameModeClient.cs rename to src/legacy/SampSharp.Core/IGameModeClient.cs diff --git a/src/SampSharp.Core/IGameModeProvider.cs b/src/legacy/SampSharp.Core/IGameModeProvider.cs similarity index 100% rename from src/SampSharp.Core/IGameModeProvider.cs rename to src/legacy/SampSharp.Core/IGameModeProvider.cs diff --git a/src/SampSharp.Core/IGameModeRunner.cs b/src/legacy/SampSharp.Core/IGameModeRunner.cs similarity index 100% rename from src/SampSharp.Core/IGameModeRunner.cs rename to src/legacy/SampSharp.Core/IGameModeRunner.cs diff --git a/src/SampSharp.Core/ISynchronizationProvider.cs b/src/legacy/SampSharp.Core/ISynchronizationProvider.cs similarity index 100% rename from src/SampSharp.Core/ISynchronizationProvider.cs rename to src/legacy/SampSharp.Core/ISynchronizationProvider.cs diff --git a/src/SampSharp.Core/InternalStorage.cs b/src/legacy/SampSharp.Core/InternalStorage.cs similarity index 100% rename from src/SampSharp.Core/InternalStorage.cs rename to src/legacy/SampSharp.Core/InternalStorage.cs diff --git a/src/SampSharp.Core/Logging/CoreLog.cs b/src/legacy/SampSharp.Core/Logging/CoreLog.cs similarity index 100% rename from src/SampSharp.Core/Logging/CoreLog.cs rename to src/legacy/SampSharp.Core/Logging/CoreLog.cs diff --git a/src/SampSharp.Core/Logging/CoreLogLevel.cs b/src/legacy/SampSharp.Core/Logging/CoreLogLevel.cs similarity index 100% rename from src/SampSharp.Core/Logging/CoreLogLevel.cs rename to src/legacy/SampSharp.Core/Logging/CoreLogLevel.cs diff --git a/src/SampSharp.Core/Natives/IlGeneratorExtensions.cs b/src/legacy/SampSharp.Core/Natives/IlGeneratorExtensions.cs similarity index 100% rename from src/SampSharp.Core/Natives/IlGeneratorExtensions.cs rename to src/legacy/SampSharp.Core/Natives/IlGeneratorExtensions.cs diff --git a/src/SampSharp.Core/Natives/NativeIlGenContext.cs b/src/legacy/SampSharp.Core/Natives/NativeIlGenContext.cs similarity index 100% rename from src/SampSharp.Core/Natives/NativeIlGenContext.cs rename to src/legacy/SampSharp.Core/Natives/NativeIlGenContext.cs diff --git a/src/SampSharp.Core/Natives/NativeIlGenParam.cs b/src/legacy/SampSharp.Core/Natives/NativeIlGenParam.cs similarity index 100% rename from src/SampSharp.Core/Natives/NativeIlGenParam.cs rename to src/legacy/SampSharp.Core/Natives/NativeIlGenParam.cs diff --git a/src/SampSharp.Core/Natives/NativeObjectProxyFactoryImpl.cs b/src/legacy/SampSharp.Core/Natives/NativeObjectProxyFactoryImpl.cs similarity index 100% rename from src/SampSharp.Core/Natives/NativeObjectProxyFactoryImpl.cs rename to src/legacy/SampSharp.Core/Natives/NativeObjectProxyFactoryImpl.cs diff --git a/src/SampSharp.Core/Natives/NativeObjects/INativeObjectProxyFactory.cs b/src/legacy/SampSharp.Core/Natives/NativeObjects/INativeObjectProxyFactory.cs similarity index 100% rename from src/SampSharp.Core/Natives/NativeObjects/INativeObjectProxyFactory.cs rename to src/legacy/SampSharp.Core/Natives/NativeObjects/INativeObjectProxyFactory.cs diff --git a/src/SampSharp.Core/Natives/NativeObjects/NativeMethodAttribute.cs b/src/legacy/SampSharp.Core/Natives/NativeObjects/NativeMethodAttribute.cs similarity index 100% rename from src/SampSharp.Core/Natives/NativeObjects/NativeMethodAttribute.cs rename to src/legacy/SampSharp.Core/Natives/NativeObjects/NativeMethodAttribute.cs diff --git a/src/SampSharp.Core/Natives/NativeObjects/NativeNotImplementedException.cs b/src/legacy/SampSharp.Core/Natives/NativeObjects/NativeNotImplementedException.cs similarity index 100% rename from src/SampSharp.Core/Natives/NativeObjects/NativeNotImplementedException.cs rename to src/legacy/SampSharp.Core/Natives/NativeObjects/NativeNotImplementedException.cs diff --git a/src/SampSharp.Core/Natives/NativeObjects/NativeObjectIdentifiersAttribute.cs b/src/legacy/SampSharp.Core/Natives/NativeObjects/NativeObjectIdentifiersAttribute.cs similarity index 100% rename from src/SampSharp.Core/Natives/NativeObjects/NativeObjectIdentifiersAttribute.cs rename to src/legacy/SampSharp.Core/Natives/NativeObjects/NativeObjectIdentifiersAttribute.cs diff --git a/src/SampSharp.Core/Natives/NativeObjects/NativeObjectProxyFactory.cs b/src/legacy/SampSharp.Core/Natives/NativeObjects/NativeObjectProxyFactory.cs similarity index 100% rename from src/SampSharp.Core/Natives/NativeObjects/NativeObjectProxyFactory.cs rename to src/legacy/SampSharp.Core/Natives/NativeObjects/NativeObjectProxyFactory.cs diff --git a/src/SampSharp.Core/Natives/NativeObjects/NativeObjectSingleton`1.cs b/src/legacy/SampSharp.Core/Natives/NativeObjects/NativeObjectSingleton`1.cs similarity index 100% rename from src/SampSharp.Core/Natives/NativeObjects/NativeObjectSingleton`1.cs rename to src/legacy/SampSharp.Core/Natives/NativeObjects/NativeObjectSingleton`1.cs diff --git a/src/SampSharp.Core/Natives/NativeObjects/NativePropertyAttribute.cs b/src/legacy/SampSharp.Core/Natives/NativeObjects/NativePropertyAttribute.cs similarity index 100% rename from src/SampSharp.Core/Natives/NativeObjects/NativePropertyAttribute.cs rename to src/legacy/SampSharp.Core/Natives/NativeObjects/NativePropertyAttribute.cs diff --git a/src/SampSharp.Core/Natives/NativeParameterType.cs b/src/legacy/SampSharp.Core/Natives/NativeParameterType.cs similarity index 100% rename from src/SampSharp.Core/Natives/NativeParameterType.cs rename to src/legacy/SampSharp.Core/Natives/NativeParameterType.cs diff --git a/src/SampSharp.Core/Natives/NativeUtils.cs b/src/legacy/SampSharp.Core/Natives/NativeUtils.cs similarity index 100% rename from src/SampSharp.Core/Natives/NativeUtils.cs rename to src/legacy/SampSharp.Core/Natives/NativeUtils.cs diff --git a/src/SampSharp.Core/Natives/ValueConverter.cs b/src/legacy/SampSharp.Core/Natives/ValueConverter.cs similarity index 100% rename from src/SampSharp.Core/Natives/ValueConverter.cs rename to src/legacy/SampSharp.Core/Natives/ValueConverter.cs diff --git a/src/SampSharp.Core/Natives/VarArgsState.cs b/src/legacy/SampSharp.Core/Natives/VarArgsState.cs similarity index 100% rename from src/SampSharp.Core/Natives/VarArgsState.cs rename to src/legacy/SampSharp.Core/Natives/VarArgsState.cs diff --git a/src/SampSharp.Core/RconFixGameModeBuilderExtensions.cs b/src/legacy/SampSharp.Core/RconFixGameModeBuilderExtensions.cs similarity index 100% rename from src/SampSharp.Core/RconFixGameModeBuilderExtensions.cs rename to src/legacy/SampSharp.Core/RconFixGameModeBuilderExtensions.cs diff --git a/src/SampSharp.Core/RedirectConsoleOutputGameModeBuilderExtensions.cs b/src/legacy/SampSharp.Core/RedirectConsoleOutputGameModeBuilderExtensions.cs similarity index 100% rename from src/SampSharp.Core/RedirectConsoleOutputGameModeBuilderExtensions.cs rename to src/legacy/SampSharp.Core/RedirectConsoleOutputGameModeBuilderExtensions.cs diff --git a/src/SampSharp.Core/SampSharp.Core.csproj b/src/legacy/SampSharp.Core/SampSharp.Core.csproj similarity index 100% rename from src/SampSharp.Core/SampSharp.Core.csproj rename to src/legacy/SampSharp.Core/SampSharp.Core.csproj diff --git a/src/SampSharp.Core/SampSharp.Core.csproj.DotSettings b/src/legacy/SampSharp.Core/SampSharp.Core.csproj.DotSettings similarity index 100% rename from src/SampSharp.Core/SampSharp.Core.csproj.DotSettings rename to src/legacy/SampSharp.Core/SampSharp.Core.csproj.DotSettings diff --git a/src/SampSharp.Core/ServerLogWriter.cs b/src/legacy/SampSharp.Core/ServerLogWriter.cs similarity index 100% rename from src/SampSharp.Core/ServerLogWriter.cs rename to src/legacy/SampSharp.Core/ServerLogWriter.cs diff --git a/src/SampSharp.Core/Threading/MainThreadTaskAwaiter.cs b/src/legacy/SampSharp.Core/Threading/MainThreadTaskAwaiter.cs similarity index 100% rename from src/SampSharp.Core/Threading/MainThreadTaskAwaiter.cs rename to src/legacy/SampSharp.Core/Threading/MainThreadTaskAwaiter.cs diff --git a/src/SampSharp.Core/Threading/SampSharpSynchronizationContext.cs b/src/legacy/SampSharp.Core/Threading/SampSharpSynchronizationContext.cs similarity index 100% rename from src/SampSharp.Core/Threading/SampSharpSynchronizationContext.cs rename to src/legacy/SampSharp.Core/Threading/SampSharpSynchronizationContext.cs diff --git a/src/SampSharp.Core/Threading/SyncToMainThreadTask.cs b/src/legacy/SampSharp.Core/Threading/SyncToMainThreadTask.cs similarity index 100% rename from src/SampSharp.Core/Threading/SyncToMainThreadTask.cs rename to src/legacy/SampSharp.Core/Threading/SyncToMainThreadTask.cs diff --git a/src/SampSharp.Core/Threading/TaskHelper.cs b/src/legacy/SampSharp.Core/Threading/TaskHelper.cs similarity index 100% rename from src/SampSharp.Core/Threading/TaskHelper.cs rename to src/legacy/SampSharp.Core/Threading/TaskHelper.cs diff --git a/src/SampSharp.Core/UnhandledExceptionEventArgs.cs b/src/legacy/SampSharp.Core/UnhandledExceptionEventArgs.cs similarity index 100% rename from src/SampSharp.Core/UnhandledExceptionEventArgs.cs rename to src/legacy/SampSharp.Core/UnhandledExceptionEventArgs.cs diff --git a/SampSharp.Documentation.shfbproj b/src/legacy/SampSharp.Documentation.shfbproj similarity index 89% rename from SampSharp.Documentation.shfbproj rename to src/legacy/SampSharp.Documentation.shfbproj index 39083db8c..103843894 100644 --- a/SampSharp.Documentation.shfbproj +++ b/src/legacy/SampSharp.Documentation.shfbproj @@ -14,7 +14,7 @@ Documentation .NET Core/.NET Standard/.NET 5.0+ - Help\content\ + ..\..\Help\content\ Documentation en-US OnlyWarningsAndErrors @@ -25,12 +25,12 @@ False True - - - - - - + + + + + + 2 False diff --git a/SampSharp.Documentation.sln b/src/legacy/SampSharp.Documentation.sln similarity index 100% rename from SampSharp.Documentation.sln rename to src/legacy/SampSharp.Documentation.sln diff --git a/src/SampSharp.Entities/Annotations/Annotations.cs b/src/legacy/SampSharp.Entities/Annotations/Annotations.cs similarity index 100% rename from src/SampSharp.Entities/Annotations/Annotations.cs rename to src/legacy/SampSharp.Entities/Annotations/Annotations.cs diff --git a/src/SampSharp.Entities/Components/Component.cs b/src/legacy/SampSharp.Entities/Components/Component.cs similarity index 100% rename from src/SampSharp.Entities/Components/Component.cs rename to src/legacy/SampSharp.Entities/Components/Component.cs diff --git a/src/SampSharp.Entities/Components/NativeComponent.cs b/src/legacy/SampSharp.Entities/Components/NativeComponent.cs similarity index 100% rename from src/SampSharp.Entities/Components/NativeComponent.cs rename to src/legacy/SampSharp.Entities/Components/NativeComponent.cs diff --git a/src/SampSharp.Entities/EcsBuilder.cs b/src/legacy/SampSharp.Entities/EcsBuilder.cs similarity index 100% rename from src/SampSharp.Entities/EcsBuilder.cs rename to src/legacy/SampSharp.Entities/EcsBuilder.cs diff --git a/src/SampSharp.Entities/EcsBuilderEventExtensions.cs b/src/legacy/SampSharp.Entities/EcsBuilderEventExtensions.cs similarity index 100% rename from src/SampSharp.Entities/EcsBuilderEventExtensions.cs rename to src/legacy/SampSharp.Entities/EcsBuilderEventExtensions.cs diff --git a/src/SampSharp.Entities/EcsBuilderExtensions.cs b/src/legacy/SampSharp.Entities/EcsBuilderExtensions.cs similarity index 100% rename from src/SampSharp.Entities/EcsBuilderExtensions.cs rename to src/legacy/SampSharp.Entities/EcsBuilderExtensions.cs diff --git a/src/SampSharp.Entities/EcsBuilderUseMiddlewareExtensions.cs b/src/legacy/SampSharp.Entities/EcsBuilderUseMiddlewareExtensions.cs similarity index 100% rename from src/SampSharp.Entities/EcsBuilderUseMiddlewareExtensions.cs rename to src/legacy/SampSharp.Entities/EcsBuilderUseMiddlewareExtensions.cs diff --git a/src/SampSharp.Entities/EcsManager.cs b/src/legacy/SampSharp.Entities/EcsManager.cs similarity index 100% rename from src/SampSharp.Entities/EcsManager.cs rename to src/legacy/SampSharp.Entities/EcsManager.cs diff --git a/src/SampSharp.Entities/Entities/EntityCreationException.cs b/src/legacy/SampSharp.Entities/Entities/EntityCreationException.cs similarity index 100% rename from src/SampSharp.Entities/Entities/EntityCreationException.cs rename to src/legacy/SampSharp.Entities/Entities/EntityCreationException.cs diff --git a/src/SampSharp.Entities/Entities/EntityExtensions.cs b/src/legacy/SampSharp.Entities/Entities/EntityExtensions.cs similarity index 100% rename from src/SampSharp.Entities/Entities/EntityExtensions.cs rename to src/legacy/SampSharp.Entities/Entities/EntityExtensions.cs diff --git a/src/SampSharp.Entities/Entities/EntityId.cs b/src/legacy/SampSharp.Entities/Entities/EntityId.cs similarity index 100% rename from src/SampSharp.Entities/Entities/EntityId.cs rename to src/legacy/SampSharp.Entities/Entities/EntityId.cs diff --git a/src/SampSharp.Entities/Entities/EntityManager.cs b/src/legacy/SampSharp.Entities/Entities/EntityManager.cs similarity index 100% rename from src/SampSharp.Entities/Entities/EntityManager.cs rename to src/legacy/SampSharp.Entities/Entities/EntityManager.cs diff --git a/src/SampSharp.Entities/Entities/EntityNotFoundException.cs b/src/legacy/SampSharp.Entities/Entities/EntityNotFoundException.cs similarity index 100% rename from src/SampSharp.Entities/Entities/EntityNotFoundException.cs rename to src/legacy/SampSharp.Entities/Entities/EntityNotFoundException.cs diff --git a/src/SampSharp.Entities/Entities/EntityTypeAttribute.cs b/src/legacy/SampSharp.Entities/Entities/EntityTypeAttribute.cs similarity index 100% rename from src/SampSharp.Entities/Entities/EntityTypeAttribute.cs rename to src/legacy/SampSharp.Entities/Entities/EntityTypeAttribute.cs diff --git a/src/SampSharp.Entities/Entities/EntityTypeRegistry.cs b/src/legacy/SampSharp.Entities/Entities/EntityTypeRegistry.cs similarity index 100% rename from src/SampSharp.Entities/Entities/EntityTypeRegistry.cs rename to src/legacy/SampSharp.Entities/Entities/EntityTypeRegistry.cs diff --git a/src/SampSharp.Entities/Entities/IEntityManager.cs b/src/legacy/SampSharp.Entities/Entities/IEntityManager.cs similarity index 100% rename from src/SampSharp.Entities/Entities/IEntityManager.cs rename to src/legacy/SampSharp.Entities/Entities/IEntityManager.cs diff --git a/src/SampSharp.Entities/Entities/InvalidEntityArgumentException.cs b/src/legacy/SampSharp.Entities/Entities/InvalidEntityArgumentException.cs similarity index 100% rename from src/SampSharp.Entities/Entities/InvalidEntityArgumentException.cs rename to src/legacy/SampSharp.Entities/Entities/InvalidEntityArgumentException.cs diff --git a/src/SampSharp.Entities/Events/EventAttribute.cs b/src/legacy/SampSharp.Entities/Events/EventAttribute.cs similarity index 100% rename from src/SampSharp.Entities/Events/EventAttribute.cs rename to src/legacy/SampSharp.Entities/Events/EventAttribute.cs diff --git a/src/SampSharp.Entities/Events/EventContext.cs b/src/legacy/SampSharp.Entities/Events/EventContext.cs similarity index 100% rename from src/SampSharp.Entities/Events/EventContext.cs rename to src/legacy/SampSharp.Entities/Events/EventContext.cs diff --git a/src/SampSharp.Entities/Events/EventContextImpl.cs b/src/legacy/SampSharp.Entities/Events/EventContextImpl.cs similarity index 100% rename from src/SampSharp.Entities/Events/EventContextImpl.cs rename to src/legacy/SampSharp.Entities/Events/EventContextImpl.cs diff --git a/src/SampSharp.Entities/Events/EventDelegate.cs b/src/legacy/SampSharp.Entities/Events/EventDelegate.cs similarity index 100% rename from src/SampSharp.Entities/Events/EventDelegate.cs rename to src/legacy/SampSharp.Entities/Events/EventDelegate.cs diff --git a/src/SampSharp.Entities/Events/EventHelper.cs b/src/legacy/SampSharp.Entities/Events/EventHelper.cs similarity index 100% rename from src/SampSharp.Entities/Events/EventHelper.cs rename to src/legacy/SampSharp.Entities/Events/EventHelper.cs diff --git a/src/SampSharp.Entities/Events/EventScopeMiddleware.cs b/src/legacy/SampSharp.Entities/Events/EventScopeMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/Events/EventScopeMiddleware.cs rename to src/legacy/SampSharp.Entities/Events/EventScopeMiddleware.cs diff --git a/src/SampSharp.Entities/Events/EventService.cs b/src/legacy/SampSharp.Entities/Events/EventService.cs similarity index 100% rename from src/SampSharp.Entities/Events/EventService.cs rename to src/legacy/SampSharp.Entities/Events/EventService.cs diff --git a/src/SampSharp.Entities/Events/EventSignatureException.cs b/src/legacy/SampSharp.Entities/Events/EventSignatureException.cs similarity index 100% rename from src/SampSharp.Entities/Events/EventSignatureException.cs rename to src/legacy/SampSharp.Entities/Events/EventSignatureException.cs diff --git a/src/SampSharp.Entities/Events/IEventService.cs b/src/legacy/SampSharp.Entities/Events/IEventService.cs similarity index 100% rename from src/SampSharp.Entities/Events/IEventService.cs rename to src/legacy/SampSharp.Entities/Events/IEventService.cs diff --git a/src/SampSharp.Entities/GameModeBuilderExtensions.cs b/src/legacy/SampSharp.Entities/GameModeBuilderExtensions.cs similarity index 100% rename from src/SampSharp.Entities/GameModeBuilderExtensions.cs rename to src/legacy/SampSharp.Entities/GameModeBuilderExtensions.cs diff --git a/src/SampSharp.Entities/IEcsBuilder.cs b/src/legacy/SampSharp.Entities/IEcsBuilder.cs similarity index 100% rename from src/SampSharp.Entities/IEcsBuilder.cs rename to src/legacy/SampSharp.Entities/IEcsBuilder.cs diff --git a/src/SampSharp.Entities/IStartup.cs b/src/legacy/SampSharp.Entities/IStartup.cs similarity index 100% rename from src/SampSharp.Entities/IStartup.cs rename to src/legacy/SampSharp.Entities/IStartup.cs diff --git a/src/SampSharp.Entities/Natives/INativeProxy.cs b/src/legacy/SampSharp.Entities/Natives/INativeProxy.cs similarity index 100% rename from src/SampSharp.Entities/Natives/INativeProxy.cs rename to src/legacy/SampSharp.Entities/Natives/INativeProxy.cs diff --git a/src/SampSharp.Entities/Natives/NativeProxy.cs b/src/legacy/SampSharp.Entities/Natives/NativeProxy.cs similarity index 100% rename from src/SampSharp.Entities/Natives/NativeProxy.cs rename to src/legacy/SampSharp.Entities/Natives/NativeProxy.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/CommandInfo.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/CommandInfo.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/CommandInfo.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/CommandInfo.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/CommandParameterAttribute.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/CommandParameterAttribute.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/CommandParameterAttribute.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/CommandParameterAttribute.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/CommandParameterInfo.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/CommandParameterInfo.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/CommandParameterInfo.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/CommandParameterInfo.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/CommandServiceBase.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/CommandServiceBase.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/CommandServiceBase.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/CommandServiceBase.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/ICommandMethodInfo.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/ICommandMethodInfo.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/ICommandMethodInfo.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/ICommandMethodInfo.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/IPlayerCommandService.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/IPlayerCommandService.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/IPlayerCommandService.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/IPlayerCommandService.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/IRconCommandService.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/IRconCommandService.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/IRconCommandService.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/IRconCommandService.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/InvokeResponse.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/InvokeResponse.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/InvokeResponse.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/InvokeResponse.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/InvokeResult.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/InvokeResult.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/InvokeResult.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/InvokeResult.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/Parsers/DoubleParser.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/DoubleParser.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/Parsers/DoubleParser.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/DoubleParser.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/Parsers/EntityParser.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/EntityParser.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/Parsers/EntityParser.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/EntityParser.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/Parsers/EnumParser.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/EnumParser.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/Parsers/EnumParser.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/EnumParser.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/Parsers/FloatParser.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/FloatParser.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/Parsers/FloatParser.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/FloatParser.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/Parsers/ICommandParameterParser.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/ICommandParameterParser.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/Parsers/ICommandParameterParser.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/ICommandParameterParser.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/Parsers/IntParser.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/IntParser.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/Parsers/IntParser.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/IntParser.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/Parsers/PlayerParser.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/PlayerParser.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/Parsers/PlayerParser.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/PlayerParser.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/Parsers/StringParser.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/StringParser.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/Parsers/StringParser.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/StringParser.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/Parsers/WordParser.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/WordParser.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/Parsers/WordParser.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/Parsers/WordParser.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/PlayerCommandAttribute.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/PlayerCommandAttribute.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/PlayerCommandAttribute.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/PlayerCommandAttribute.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/PlayerCommandProcessingMiddleware.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/PlayerCommandProcessingMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/PlayerCommandProcessingMiddleware.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/PlayerCommandProcessingMiddleware.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/PlayerCommandService.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/PlayerCommandService.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/PlayerCommandService.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/PlayerCommandService.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/RconCommandAttribute.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/RconCommandAttribute.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/RconCommandAttribute.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/RconCommandAttribute.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/RconCommandProcessingMiddleware.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/RconCommandProcessingMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/RconCommandProcessingMiddleware.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/RconCommandProcessingMiddleware.cs diff --git a/src/SampSharp.Entities/SAMP/Commands/RconCommandService.cs b/src/legacy/SampSharp.Entities/SAMP/Commands/RconCommandService.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Commands/RconCommandService.cs rename to src/legacy/SampSharp.Entities/SAMP/Commands/RconCommandService.cs diff --git a/src/SampSharp.Entities/SAMP/Components/Actor.cs b/src/legacy/SampSharp.Entities/SAMP/Components/Actor.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Components/Actor.cs rename to src/legacy/SampSharp.Entities/SAMP/Components/Actor.cs diff --git a/src/SampSharp.Entities/SAMP/Components/GangZone.cs b/src/legacy/SampSharp.Entities/SAMP/Components/GangZone.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Components/GangZone.cs rename to src/legacy/SampSharp.Entities/SAMP/Components/GangZone.cs diff --git a/src/SampSharp.Entities/SAMP/Components/GlobalObject.cs b/src/legacy/SampSharp.Entities/SAMP/Components/GlobalObject.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Components/GlobalObject.cs rename to src/legacy/SampSharp.Entities/SAMP/Components/GlobalObject.cs diff --git a/src/SampSharp.Entities/SAMP/Components/Menu.cs b/src/legacy/SampSharp.Entities/SAMP/Components/Menu.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Components/Menu.cs rename to src/legacy/SampSharp.Entities/SAMP/Components/Menu.cs diff --git a/src/SampSharp.Entities/SAMP/Components/Pickup.cs b/src/legacy/SampSharp.Entities/SAMP/Components/Pickup.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Components/Pickup.cs rename to src/legacy/SampSharp.Entities/SAMP/Components/Pickup.cs diff --git a/src/SampSharp.Entities/SAMP/Components/Player.cs b/src/legacy/SampSharp.Entities/SAMP/Components/Player.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Components/Player.cs rename to src/legacy/SampSharp.Entities/SAMP/Components/Player.cs diff --git a/src/SampSharp.Entities/SAMP/Components/PlayerObject.cs b/src/legacy/SampSharp.Entities/SAMP/Components/PlayerObject.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Components/PlayerObject.cs rename to src/legacy/SampSharp.Entities/SAMP/Components/PlayerObject.cs diff --git a/src/SampSharp.Entities/SAMP/Components/PlayerTextDraw.cs b/src/legacy/SampSharp.Entities/SAMP/Components/PlayerTextDraw.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Components/PlayerTextDraw.cs rename to src/legacy/SampSharp.Entities/SAMP/Components/PlayerTextDraw.cs diff --git a/src/SampSharp.Entities/SAMP/Components/PlayerTextLabel.cs b/src/legacy/SampSharp.Entities/SAMP/Components/PlayerTextLabel.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Components/PlayerTextLabel.cs rename to src/legacy/SampSharp.Entities/SAMP/Components/PlayerTextLabel.cs diff --git a/src/SampSharp.Entities/SAMP/Components/TextDraw.cs b/src/legacy/SampSharp.Entities/SAMP/Components/TextDraw.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Components/TextDraw.cs rename to src/legacy/SampSharp.Entities/SAMP/Components/TextDraw.cs diff --git a/src/SampSharp.Entities/SAMP/Components/TextLabel.cs b/src/legacy/SampSharp.Entities/SAMP/Components/TextLabel.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Components/TextLabel.cs rename to src/legacy/SampSharp.Entities/SAMP/Components/TextLabel.cs diff --git a/src/SampSharp.Entities/SAMP/Components/Vehicle.cs b/src/legacy/SampSharp.Entities/SAMP/Components/Vehicle.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Components/Vehicle.cs rename to src/legacy/SampSharp.Entities/SAMP/Components/Vehicle.cs diff --git a/src/SampSharp.Entities/SAMP/Data/Color.cs b/src/legacy/SampSharp.Entities/SAMP/Data/Color.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Data/Color.cs rename to src/legacy/SampSharp.Entities/SAMP/Data/Color.cs diff --git a/src/SampSharp.Entities/SAMP/Data/ColorFormat.cs b/src/legacy/SampSharp.Entities/SAMP/Data/ColorFormat.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Data/ColorFormat.cs rename to src/legacy/SampSharp.Entities/SAMP/Data/ColorFormat.cs diff --git a/src/SampSharp.Entities/SAMP/Data/Matrix.cs b/src/legacy/SampSharp.Entities/SAMP/Data/Matrix.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Data/Matrix.cs rename to src/legacy/SampSharp.Entities/SAMP/Data/Matrix.cs diff --git a/src/SampSharp.Entities/SAMP/Data/Quaternion.cs b/src/legacy/SampSharp.Entities/SAMP/Data/Quaternion.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Data/Quaternion.cs rename to src/legacy/SampSharp.Entities/SAMP/Data/Quaternion.cs diff --git a/src/SampSharp.Entities/SAMP/Data/SampEntities.cs b/src/legacy/SampSharp.Entities/SAMP/Data/SampEntities.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Data/SampEntities.cs rename to src/legacy/SampSharp.Entities/SAMP/Data/SampEntities.cs diff --git a/src/SampSharp.Entities/SAMP/Data/SampLimits.cs b/src/legacy/SampSharp.Entities/SAMP/Data/SampLimits.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Data/SampLimits.cs rename to src/legacy/SampSharp.Entities/SAMP/Data/SampLimits.cs diff --git a/src/SampSharp.Entities/SAMP/Data/Vector2.cs b/src/legacy/SampSharp.Entities/SAMP/Data/Vector2.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Data/Vector2.cs rename to src/legacy/SampSharp.Entities/SAMP/Data/Vector2.cs diff --git a/src/SampSharp.Entities/SAMP/Data/Vector3.cs b/src/legacy/SampSharp.Entities/SAMP/Data/Vector3.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Data/Vector3.cs rename to src/legacy/SampSharp.Entities/SAMP/Data/Vector3.cs diff --git a/src/SampSharp.Entities/SAMP/Data/Vector4.cs b/src/legacy/SampSharp.Entities/SAMP/Data/Vector4.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Data/Vector4.cs rename to src/legacy/SampSharp.Entities/SAMP/Data/Vector4.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/BodyPart.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/BodyPart.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/BodyPart.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/BodyPart.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/Bone.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/Bone.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/Bone.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/Bone.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/BulletHitType.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/BulletHitType.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/BulletHitType.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/BulletHitType.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/CameraCut.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/CameraCut.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/CameraCut.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/CameraCut.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/CameraMode.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/CameraMode.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/CameraMode.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/CameraMode.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/CarModType.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/CarModType.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/CarModType.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/CarModType.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/CheckpointType.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/CheckpointType.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/CheckpointType.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/CheckpointType.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/ConnectionStatus.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/ConnectionStatus.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/ConnectionStatus.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/ConnectionStatus.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/DialogStyle.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/DialogStyle.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/DialogStyle.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/DialogStyle.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/DisconnectReason.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/DisconnectReason.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/DisconnectReason.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/DisconnectReason.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/EditObjectResponse.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/EditObjectResponse.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/EditObjectResponse.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/EditObjectResponse.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/EnterExit.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/EnterExit.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/EnterExit.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/EnterExit.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/ExplosionType.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/ExplosionType.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/ExplosionType.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/ExplosionType.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/FightStyle.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/FightStyle.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/FightStyle.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/FightStyle.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/Keys.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/Keys.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/Keys.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/Keys.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/MapIcon.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/MapIcon.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/MapIcon.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/MapIcon.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/MapIconType.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/MapIconType.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/MapIconType.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/MapIconType.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/ObjectMaterialSize.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/ObjectMaterialSize.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/ObjectMaterialSize.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/ObjectMaterialSize.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/ObjectMaterialTextAlign.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/ObjectMaterialTextAlign.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/ObjectMaterialTextAlign.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/ObjectMaterialTextAlign.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/ObjectType.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/ObjectType.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/ObjectType.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/ObjectType.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/PickupType.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/PickupType.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/PickupType.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/PickupType.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/PlayerClickSource.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/PlayerClickSource.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/PlayerClickSource.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/PlayerClickSource.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/PlayerMarkersMode.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/PlayerMarkersMode.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/PlayerMarkersMode.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/PlayerMarkersMode.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/PlayerRecordingType.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/PlayerRecordingType.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/PlayerRecordingType.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/PlayerRecordingType.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/PlayerState.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/PlayerState.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/PlayerState.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/PlayerState.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/ServerVarType.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/ServerVarType.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/ServerVarType.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/ServerVarType.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/ShopName.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/ShopName.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/ShopName.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/ShopName.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/SpecialAction.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/SpecialAction.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/SpecialAction.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/SpecialAction.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/SpectateMode.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/SpectateMode.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/SpectateMode.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/SpectateMode.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/TextDrawAlignment.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/TextDrawAlignment.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/TextDrawAlignment.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/TextDrawAlignment.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/TextDrawFont.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/TextDrawFont.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/TextDrawFont.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/TextDrawFont.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/VehicleCategory.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/VehicleCategory.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/VehicleCategory.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/VehicleCategory.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/VehicleColor.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/VehicleColor.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/VehicleColor.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/VehicleColor.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/VehicleModelInfoType.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/VehicleModelInfoType.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/VehicleModelInfoType.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/VehicleModelInfoType.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/VehicleModelType.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/VehicleModelType.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/VehicleModelType.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/VehicleModelType.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/VehicleParameterValue.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/VehicleParameterValue.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/VehicleParameterValue.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/VehicleParameterValue.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/Weapon.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/Weapon.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/Weapon.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/Weapon.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/WeaponSkill.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/WeaponSkill.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/WeaponSkill.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/WeaponSkill.cs diff --git a/src/SampSharp.Entities/SAMP/Definitions/WeaponState.cs b/src/legacy/SampSharp.Entities/SAMP/Definitions/WeaponState.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Definitions/WeaponState.cs rename to src/legacy/SampSharp.Entities/SAMP/Definitions/WeaponState.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/DialogResponse.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/DialogResponse.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/DialogResponse.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/DialogResponse.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/DialogResult.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/DialogResult.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/DialogResult.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/DialogResult.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/DialogRowCollection.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/DialogRowCollection.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/DialogRowCollection.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/DialogRowCollection.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/DialogService.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/DialogService.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/DialogService.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/DialogService.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/DialogSystem.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/DialogSystem.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/DialogSystem.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/DialogSystem.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/IDialog.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/IDialog.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/IDialog.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/IDialog.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/IDialogRow.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/IDialogRow.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/IDialogRow.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/IDialogRow.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/IDialogService.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/IDialogService.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/IDialogService.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/IDialogService.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/InputDialog.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/InputDialog.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/InputDialog.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/InputDialog.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/InputDialogResponse.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/InputDialogResponse.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/InputDialogResponse.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/InputDialogResponse.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/ListDialog.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/ListDialog.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/ListDialog.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/ListDialog.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/ListDialogResponse.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/ListDialogResponse.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/ListDialogResponse.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/ListDialogResponse.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/ListDialogRow.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/ListDialogRow.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/ListDialogRow.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/ListDialogRow.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/ListDialogRowCollection.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/ListDialogRowCollection.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/ListDialogRowCollection.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/ListDialogRowCollection.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/MessageDialog.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/MessageDialog.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/MessageDialog.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/MessageDialog.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/MessageDialogResponse.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/MessageDialogResponse.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/MessageDialogResponse.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/MessageDialogResponse.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/TablistDialog.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/TablistDialog.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/TablistDialog.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/TablistDialog.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/TablistDialogResponse.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/TablistDialogResponse.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/TablistDialogResponse.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/TablistDialogResponse.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/TablistDialogRow.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/TablistDialogRow.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/TablistDialogRow.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/TablistDialogRow.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/TablistDialogRowCollection.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/TablistDialogRowCollection.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/TablistDialogRowCollection.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/TablistDialogRowCollection.cs diff --git a/src/SampSharp.Entities/SAMP/Dialogs/VisibleDialog.cs b/src/legacy/SampSharp.Entities/SAMP/Dialogs/VisibleDialog.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Dialogs/VisibleDialog.cs rename to src/legacy/SampSharp.Entities/SAMP/Dialogs/VisibleDialog.cs diff --git a/src/SampSharp.Entities/SAMP/MathHelper.cs b/src/legacy/SampSharp.Entities/SAMP/MathHelper.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/MathHelper.cs rename to src/legacy/SampSharp.Entities/SAMP/MathHelper.cs diff --git a/src/SampSharp.Entities/SAMP/Middleware/ArgumentsOverrideEventContext.cs b/src/legacy/SampSharp.Entities/SAMP/Middleware/ArgumentsOverrideEventContext.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Middleware/ArgumentsOverrideEventContext.cs rename to src/legacy/SampSharp.Entities/SAMP/Middleware/ArgumentsOverrideEventContext.cs diff --git a/src/SampSharp.Entities/SAMP/Middleware/EntityMiddleware.cs b/src/legacy/SampSharp.Entities/SAMP/Middleware/EntityMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Middleware/EntityMiddleware.cs rename to src/legacy/SampSharp.Entities/SAMP/Middleware/EntityMiddleware.cs diff --git a/src/SampSharp.Entities/SAMP/Middleware/PlayerClickMapMiddleware.cs b/src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerClickMapMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Middleware/PlayerClickMapMiddleware.cs rename to src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerClickMapMiddleware.cs diff --git a/src/SampSharp.Entities/SAMP/Middleware/PlayerConnectMiddleware.cs b/src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerConnectMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Middleware/PlayerConnectMiddleware.cs rename to src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerConnectMiddleware.cs diff --git a/src/SampSharp.Entities/SAMP/Middleware/PlayerDisconnectMiddleware.cs b/src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerDisconnectMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Middleware/PlayerDisconnectMiddleware.cs rename to src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerDisconnectMiddleware.cs diff --git a/src/SampSharp.Entities/SAMP/Middleware/PlayerEditAttachedObjectMiddleware.cs b/src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerEditAttachedObjectMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Middleware/PlayerEditAttachedObjectMiddleware.cs rename to src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerEditAttachedObjectMiddleware.cs diff --git a/src/SampSharp.Entities/SAMP/Middleware/PlayerEditObjectMiddleware.cs b/src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerEditObjectMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Middleware/PlayerEditObjectMiddleware.cs rename to src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerEditObjectMiddleware.cs diff --git a/src/SampSharp.Entities/SAMP/Middleware/PlayerObjectMiddleware.cs b/src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerObjectMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Middleware/PlayerObjectMiddleware.cs rename to src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerObjectMiddleware.cs diff --git a/src/SampSharp.Entities/SAMP/Middleware/PlayerSelectObjectMiddleware.cs b/src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerSelectObjectMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Middleware/PlayerSelectObjectMiddleware.cs rename to src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerSelectObjectMiddleware.cs diff --git a/src/SampSharp.Entities/SAMP/Middleware/PlayerTextDrawMiddleware.cs b/src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerTextDrawMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Middleware/PlayerTextDrawMiddleware.cs rename to src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerTextDrawMiddleware.cs diff --git a/src/SampSharp.Entities/SAMP/Middleware/PlayerWeaponShotMiddleware.cs b/src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerWeaponShotMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Middleware/PlayerWeaponShotMiddleware.cs rename to src/legacy/SampSharp.Entities/SAMP/Middleware/PlayerWeaponShotMiddleware.cs diff --git a/src/SampSharp.Entities/SAMP/Middleware/TextDrawClickMiddleware.cs b/src/legacy/SampSharp.Entities/SAMP/Middleware/TextDrawClickMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Middleware/TextDrawClickMiddleware.cs rename to src/legacy/SampSharp.Entities/SAMP/Middleware/TextDrawClickMiddleware.cs diff --git a/src/SampSharp.Entities/SAMP/Middleware/UnoccupiedVehicleUpdateMiddleware.cs b/src/legacy/SampSharp.Entities/SAMP/Middleware/UnoccupiedVehicleUpdateMiddleware.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Middleware/UnoccupiedVehicleUpdateMiddleware.cs rename to src/legacy/SampSharp.Entities/SAMP/Middleware/UnoccupiedVehicleUpdateMiddleware.cs diff --git a/src/SampSharp.Entities/SAMP/NativeComponents/BaseNativeComponent.cs b/src/legacy/SampSharp.Entities/SAMP/NativeComponents/BaseNativeComponent.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/NativeComponents/BaseNativeComponent.cs rename to src/legacy/SampSharp.Entities/SAMP/NativeComponents/BaseNativeComponent.cs diff --git a/src/SampSharp.Entities/SAMP/NativeComponents/NativeActor.cs b/src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativeActor.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/NativeComponents/NativeActor.cs rename to src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativeActor.cs diff --git a/src/SampSharp.Entities/SAMP/NativeComponents/NativeGangZone.cs b/src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativeGangZone.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/NativeComponents/NativeGangZone.cs rename to src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativeGangZone.cs diff --git a/src/SampSharp.Entities/SAMP/NativeComponents/NativeMenu.cs b/src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativeMenu.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/NativeComponents/NativeMenu.cs rename to src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativeMenu.cs diff --git a/src/SampSharp.Entities/SAMP/NativeComponents/NativeObject.cs b/src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativeObject.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/NativeComponents/NativeObject.cs rename to src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativeObject.cs diff --git a/src/SampSharp.Entities/SAMP/NativeComponents/NativePickup.cs b/src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativePickup.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/NativeComponents/NativePickup.cs rename to src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativePickup.cs diff --git a/src/SampSharp.Entities/SAMP/NativeComponents/NativePlayer.cs b/src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativePlayer.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/NativeComponents/NativePlayer.cs rename to src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativePlayer.cs diff --git a/src/SampSharp.Entities/SAMP/NativeComponents/NativePlayerObject.cs b/src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativePlayerObject.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/NativeComponents/NativePlayerObject.cs rename to src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativePlayerObject.cs diff --git a/src/SampSharp.Entities/SAMP/NativeComponents/NativePlayerTextDraw.cs b/src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativePlayerTextDraw.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/NativeComponents/NativePlayerTextDraw.cs rename to src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativePlayerTextDraw.cs diff --git a/src/SampSharp.Entities/SAMP/NativeComponents/NativePlayerTextLabel.cs b/src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativePlayerTextLabel.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/NativeComponents/NativePlayerTextLabel.cs rename to src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativePlayerTextLabel.cs diff --git a/src/SampSharp.Entities/SAMP/NativeComponents/NativeTextDraw.cs b/src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativeTextDraw.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/NativeComponents/NativeTextDraw.cs rename to src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativeTextDraw.cs diff --git a/src/SampSharp.Entities/SAMP/NativeComponents/NativeTextLabel.cs b/src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativeTextLabel.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/NativeComponents/NativeTextLabel.cs rename to src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativeTextLabel.cs diff --git a/src/SampSharp.Entities/SAMP/NativeComponents/NativeVehicle.cs b/src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativeVehicle.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/NativeComponents/NativeVehicle.cs rename to src/legacy/SampSharp.Entities/SAMP/NativeComponents/NativeVehicle.cs diff --git a/src/SampSharp.Entities/SAMP/PlayerExtensions.cs b/src/legacy/SampSharp.Entities/SAMP/PlayerExtensions.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/PlayerExtensions.cs rename to src/legacy/SampSharp.Entities/SAMP/PlayerExtensions.cs diff --git a/src/SampSharp.Entities/SAMP/SampEcsBuilderExtensions.cs b/src/legacy/SampSharp.Entities/SAMP/SampEcsBuilderExtensions.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/SampEcsBuilderExtensions.cs rename to src/legacy/SampSharp.Entities/SAMP/SampEcsBuilderExtensions.cs diff --git a/src/SampSharp.Entities/SAMP/SampLimitException.cs b/src/legacy/SampSharp.Entities/SAMP/SampLimitException.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/SampLimitException.cs rename to src/legacy/SampSharp.Entities/SAMP/SampLimitException.cs diff --git a/src/SampSharp.Entities/SAMP/Services/IServerService.cs b/src/legacy/SampSharp.Entities/SAMP/Services/IServerService.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Services/IServerService.cs rename to src/legacy/SampSharp.Entities/SAMP/Services/IServerService.cs diff --git a/src/SampSharp.Entities/SAMP/Services/IVehicleInfoService.cs b/src/legacy/SampSharp.Entities/SAMP/Services/IVehicleInfoService.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Services/IVehicleInfoService.cs rename to src/legacy/SampSharp.Entities/SAMP/Services/IVehicleInfoService.cs diff --git a/src/SampSharp.Entities/SAMP/Services/IWorldService.cs b/src/legacy/SampSharp.Entities/SAMP/Services/IWorldService.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Services/IWorldService.cs rename to src/legacy/SampSharp.Entities/SAMP/Services/IWorldService.cs diff --git a/src/SampSharp.Entities/SAMP/Services/ServerService.cs b/src/legacy/SampSharp.Entities/SAMP/Services/ServerService.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Services/ServerService.cs rename to src/legacy/SampSharp.Entities/SAMP/Services/ServerService.cs diff --git a/src/SampSharp.Entities/SAMP/Services/ServerServiceNative.cs b/src/legacy/SampSharp.Entities/SAMP/Services/ServerServiceNative.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Services/ServerServiceNative.cs rename to src/legacy/SampSharp.Entities/SAMP/Services/ServerServiceNative.cs diff --git a/src/SampSharp.Entities/SAMP/Services/VehicleInfoService.cs b/src/legacy/SampSharp.Entities/SAMP/Services/VehicleInfoService.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Services/VehicleInfoService.cs rename to src/legacy/SampSharp.Entities/SAMP/Services/VehicleInfoService.cs diff --git a/src/SampSharp.Entities/SAMP/Services/VehicleInfoServiceNative.cs b/src/legacy/SampSharp.Entities/SAMP/Services/VehicleInfoServiceNative.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Services/VehicleInfoServiceNative.cs rename to src/legacy/SampSharp.Entities/SAMP/Services/VehicleInfoServiceNative.cs diff --git a/src/SampSharp.Entities/SAMP/Services/WorldService.cs b/src/legacy/SampSharp.Entities/SAMP/Services/WorldService.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Services/WorldService.cs rename to src/legacy/SampSharp.Entities/SAMP/Services/WorldService.cs diff --git a/src/SampSharp.Entities/SAMP/Services/WorldServiceNative.cs b/src/legacy/SampSharp.Entities/SAMP/Services/WorldServiceNative.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/Services/WorldServiceNative.cs rename to src/legacy/SampSharp.Entities/SAMP/Services/WorldServiceNative.cs diff --git a/src/SampSharp.Entities/SAMP/VariableCollection.cs b/src/legacy/SampSharp.Entities/SAMP/VariableCollection.cs similarity index 100% rename from src/SampSharp.Entities/SAMP/VariableCollection.cs rename to src/legacy/SampSharp.Entities/SAMP/VariableCollection.cs diff --git a/src/SampSharp.Entities/SampSharp.Entities.csproj b/src/legacy/SampSharp.Entities/SampSharp.Entities.csproj similarity index 100% rename from src/SampSharp.Entities/SampSharp.Entities.csproj rename to src/legacy/SampSharp.Entities/SampSharp.Entities.csproj diff --git a/src/SampSharp.Entities/SampSharp.Entities.csproj.DotSettings b/src/legacy/SampSharp.Entities/SampSharp.Entities.csproj.DotSettings similarity index 100% rename from src/SampSharp.Entities/SampSharp.Entities.csproj.DotSettings rename to src/legacy/SampSharp.Entities/SampSharp.Entities.csproj.DotSettings diff --git a/src/SampSharp.Entities/ServiceCollectionExtensions.cs b/src/legacy/SampSharp.Entities/ServiceCollectionExtensions.cs similarity index 100% rename from src/SampSharp.Entities/ServiceCollectionExtensions.cs rename to src/legacy/SampSharp.Entities/ServiceCollectionExtensions.cs diff --git a/src/SampSharp.Entities/Systems/ISystem.cs b/src/legacy/SampSharp.Entities/Systems/ISystem.cs similarity index 100% rename from src/SampSharp.Entities/Systems/ISystem.cs rename to src/legacy/SampSharp.Entities/Systems/ISystem.cs diff --git a/src/SampSharp.Entities/Systems/ISystemRegistry.cs b/src/legacy/SampSharp.Entities/Systems/ISystemRegistry.cs similarity index 100% rename from src/SampSharp.Entities/Systems/ISystemRegistry.cs rename to src/legacy/SampSharp.Entities/Systems/ISystemRegistry.cs diff --git a/src/SampSharp.Entities/Systems/ITickingSystem.cs b/src/legacy/SampSharp.Entities/Systems/ITickingSystem.cs similarity index 100% rename from src/SampSharp.Entities/Systems/ITickingSystem.cs rename to src/legacy/SampSharp.Entities/Systems/ITickingSystem.cs diff --git a/src/SampSharp.Entities/Systems/SystemRegistry.cs b/src/legacy/SampSharp.Entities/Systems/SystemRegistry.cs similarity index 100% rename from src/SampSharp.Entities/Systems/SystemRegistry.cs rename to src/legacy/SampSharp.Entities/Systems/SystemRegistry.cs diff --git a/src/SampSharp.Entities/Systems/SystemRegistryException.cs b/src/legacy/SampSharp.Entities/Systems/SystemRegistryException.cs similarity index 100% rename from src/SampSharp.Entities/Systems/SystemRegistryException.cs rename to src/legacy/SampSharp.Entities/Systems/SystemRegistryException.cs diff --git a/src/SampSharp.Entities/Systems/SystemTypeWrapper.cs b/src/legacy/SampSharp.Entities/Systems/SystemTypeWrapper.cs similarity index 100% rename from src/SampSharp.Entities/Systems/SystemTypeWrapper.cs rename to src/legacy/SampSharp.Entities/Systems/SystemTypeWrapper.cs diff --git a/src/SampSharp.Entities/Timers/ITimerService.cs b/src/legacy/SampSharp.Entities/Timers/ITimerService.cs similarity index 100% rename from src/SampSharp.Entities/Timers/ITimerService.cs rename to src/legacy/SampSharp.Entities/Timers/ITimerService.cs diff --git a/src/SampSharp.Entities/Timers/TimerAttribute.cs b/src/legacy/SampSharp.Entities/Timers/TimerAttribute.cs similarity index 100% rename from src/SampSharp.Entities/Timers/TimerAttribute.cs rename to src/legacy/SampSharp.Entities/Timers/TimerAttribute.cs diff --git a/src/SampSharp.Entities/Timers/TimerInfo.cs b/src/legacy/SampSharp.Entities/Timers/TimerInfo.cs similarity index 100% rename from src/SampSharp.Entities/Timers/TimerInfo.cs rename to src/legacy/SampSharp.Entities/Timers/TimerInfo.cs diff --git a/src/SampSharp.Entities/Timers/TimerReference.cs b/src/legacy/SampSharp.Entities/Timers/TimerReference.cs similarity index 100% rename from src/SampSharp.Entities/Timers/TimerReference.cs rename to src/legacy/SampSharp.Entities/Timers/TimerReference.cs diff --git a/src/SampSharp.Entities/Timers/TimerServiceExtensions.cs b/src/legacy/SampSharp.Entities/Timers/TimerServiceExtensions.cs similarity index 100% rename from src/SampSharp.Entities/Timers/TimerServiceExtensions.cs rename to src/legacy/SampSharp.Entities/Timers/TimerServiceExtensions.cs diff --git a/src/SampSharp.Entities/Timers/TimerSystem.cs b/src/legacy/SampSharp.Entities/Timers/TimerSystem.cs similarity index 100% rename from src/SampSharp.Entities/Timers/TimerSystem.cs rename to src/legacy/SampSharp.Entities/Timers/TimerSystem.cs diff --git a/src/SampSharp.Entities/Utilities/AssemblyScanner.cs b/src/legacy/SampSharp.Entities/Utilities/AssemblyScanner.cs similarity index 100% rename from src/SampSharp.Entities/Utilities/AssemblyScanner.cs rename to src/legacy/SampSharp.Entities/Utilities/AssemblyScanner.cs diff --git a/src/SampSharp.Entities/Utilities/IRecyclable.cs b/src/legacy/SampSharp.Entities/Utilities/IRecyclable.cs similarity index 100% rename from src/SampSharp.Entities/Utilities/IRecyclable.cs rename to src/legacy/SampSharp.Entities/Utilities/IRecyclable.cs diff --git a/src/SampSharp.Entities/Utilities/MethodInvoker.cs b/src/legacy/SampSharp.Entities/Utilities/MethodInvoker.cs similarity index 100% rename from src/SampSharp.Entities/Utilities/MethodInvoker.cs rename to src/legacy/SampSharp.Entities/Utilities/MethodInvoker.cs diff --git a/src/SampSharp.Entities/Utilities/MethodInvokerFactory.cs b/src/legacy/SampSharp.Entities/Utilities/MethodInvokerFactory.cs similarity index 100% rename from src/SampSharp.Entities/Utilities/MethodInvokerFactory.cs rename to src/legacy/SampSharp.Entities/Utilities/MethodInvokerFactory.cs diff --git a/src/SampSharp.Entities/Utilities/MethodParameterSource.cs b/src/legacy/SampSharp.Entities/Utilities/MethodParameterSource.cs similarity index 100% rename from src/SampSharp.Entities/Utilities/MethodParameterSource.cs rename to src/legacy/SampSharp.Entities/Utilities/MethodParameterSource.cs diff --git a/src/SampSharp.Entities/Utilities/RecyclePool.cs b/src/legacy/SampSharp.Entities/Utilities/RecyclePool.cs similarity index 100% rename from src/SampSharp.Entities/Utilities/RecyclePool.cs rename to src/legacy/SampSharp.Entities/Utilities/RecyclePool.cs diff --git a/src/SampSharp.GameMode/BaseMode.Internal.cs b/src/legacy/SampSharp.GameMode/BaseMode.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/BaseMode.Internal.cs rename to src/legacy/SampSharp.GameMode/BaseMode.Internal.cs diff --git a/src/SampSharp.GameMode/BaseMode.callbacks.cs b/src/legacy/SampSharp.GameMode/BaseMode.callbacks.cs similarity index 100% rename from src/SampSharp.GameMode/BaseMode.callbacks.cs rename to src/legacy/SampSharp.GameMode/BaseMode.callbacks.cs diff --git a/src/SampSharp.GameMode/BaseMode.cs b/src/legacy/SampSharp.GameMode/BaseMode.cs similarity index 100% rename from src/SampSharp.GameMode/BaseMode.cs rename to src/legacy/SampSharp.GameMode/BaseMode.cs diff --git a/src/SampSharp.GameMode/BaseMode.events.cs b/src/legacy/SampSharp.GameMode/BaseMode.events.cs similarity index 100% rename from src/SampSharp.GameMode/BaseMode.events.cs rename to src/legacy/SampSharp.GameMode/BaseMode.events.cs diff --git a/src/SampSharp.GameMode/BaseMode.functions.cs b/src/legacy/SampSharp.GameMode/BaseMode.functions.cs similarity index 100% rename from src/SampSharp.GameMode/BaseMode.functions.cs rename to src/legacy/SampSharp.GameMode/BaseMode.functions.cs diff --git a/src/SampSharp.GameMode/Controllers/ActorController.cs b/src/legacy/SampSharp.GameMode/Controllers/ActorController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/ActorController.cs rename to src/legacy/SampSharp.GameMode/Controllers/ActorController.cs diff --git a/src/SampSharp.GameMode/Controllers/BasePlayerController.cs b/src/legacy/SampSharp.GameMode/Controllers/BasePlayerController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/BasePlayerController.cs rename to src/legacy/SampSharp.GameMode/Controllers/BasePlayerController.cs diff --git a/src/SampSharp.GameMode/Controllers/BaseVehicleController.cs b/src/legacy/SampSharp.GameMode/Controllers/BaseVehicleController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/BaseVehicleController.cs rename to src/legacy/SampSharp.GameMode/Controllers/BaseVehicleController.cs diff --git a/src/SampSharp.GameMode/Controllers/CommandController.cs b/src/legacy/SampSharp.GameMode/Controllers/CommandController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/CommandController.cs rename to src/legacy/SampSharp.GameMode/Controllers/CommandController.cs diff --git a/src/SampSharp.GameMode/Controllers/ControllerAttribute.cs b/src/legacy/SampSharp.GameMode/Controllers/ControllerAttribute.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/ControllerAttribute.cs rename to src/legacy/SampSharp.GameMode/Controllers/ControllerAttribute.cs diff --git a/src/SampSharp.GameMode/Controllers/ControllerCollection.cs b/src/legacy/SampSharp.GameMode/Controllers/ControllerCollection.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/ControllerCollection.cs rename to src/legacy/SampSharp.GameMode/Controllers/ControllerCollection.cs diff --git a/src/SampSharp.GameMode/Controllers/DialogController.cs b/src/legacy/SampSharp.GameMode/Controllers/DialogController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/DialogController.cs rename to src/legacy/SampSharp.GameMode/Controllers/DialogController.cs diff --git a/src/SampSharp.GameMode/Controllers/GangZoneController.cs b/src/legacy/SampSharp.GameMode/Controllers/GangZoneController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/GangZoneController.cs rename to src/legacy/SampSharp.GameMode/Controllers/GangZoneController.cs diff --git a/src/SampSharp.GameMode/Controllers/GlobalObjectController.cs b/src/legacy/SampSharp.GameMode/Controllers/GlobalObjectController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/GlobalObjectController.cs rename to src/legacy/SampSharp.GameMode/Controllers/GlobalObjectController.cs diff --git a/src/SampSharp.GameMode/Controllers/IController.cs b/src/legacy/SampSharp.GameMode/Controllers/IController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/IController.cs rename to src/legacy/SampSharp.GameMode/Controllers/IController.cs diff --git a/src/SampSharp.GameMode/Controllers/IEventListener.cs b/src/legacy/SampSharp.GameMode/Controllers/IEventListener.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/IEventListener.cs rename to src/legacy/SampSharp.GameMode/Controllers/IEventListener.cs diff --git a/src/SampSharp.GameMode/Controllers/IGameServiceProvider.cs b/src/legacy/SampSharp.GameMode/Controllers/IGameServiceProvider.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/IGameServiceProvider.cs rename to src/legacy/SampSharp.GameMode/Controllers/IGameServiceProvider.cs diff --git a/src/SampSharp.GameMode/Controllers/ITypeProvider.cs b/src/legacy/SampSharp.GameMode/Controllers/ITypeProvider.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/ITypeProvider.cs rename to src/legacy/SampSharp.GameMode/Controllers/ITypeProvider.cs diff --git a/src/SampSharp.GameMode/Controllers/MenuController.cs b/src/legacy/SampSharp.GameMode/Controllers/MenuController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/MenuController.cs rename to src/legacy/SampSharp.GameMode/Controllers/MenuController.cs diff --git a/src/SampSharp.GameMode/Controllers/PickupController.cs b/src/legacy/SampSharp.GameMode/Controllers/PickupController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/PickupController.cs rename to src/legacy/SampSharp.GameMode/Controllers/PickupController.cs diff --git a/src/SampSharp.GameMode/Controllers/PlayerObjectController.cs b/src/legacy/SampSharp.GameMode/Controllers/PlayerObjectController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/PlayerObjectController.cs rename to src/legacy/SampSharp.GameMode/Controllers/PlayerObjectController.cs diff --git a/src/SampSharp.GameMode/Controllers/PlayerTextDrawController.cs b/src/legacy/SampSharp.GameMode/Controllers/PlayerTextDrawController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/PlayerTextDrawController.cs rename to src/legacy/SampSharp.GameMode/Controllers/PlayerTextDrawController.cs diff --git a/src/SampSharp.GameMode/Controllers/PlayerTextLabelController.cs b/src/legacy/SampSharp.GameMode/Controllers/PlayerTextLabelController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/PlayerTextLabelController.cs rename to src/legacy/SampSharp.GameMode/Controllers/PlayerTextLabelController.cs diff --git a/src/SampSharp.GameMode/Controllers/TextDrawController.cs b/src/legacy/SampSharp.GameMode/Controllers/TextDrawController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/TextDrawController.cs rename to src/legacy/SampSharp.GameMode/Controllers/TextDrawController.cs diff --git a/src/SampSharp.GameMode/Controllers/TextLabelController.cs b/src/legacy/SampSharp.GameMode/Controllers/TextLabelController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/TextLabelController.cs rename to src/legacy/SampSharp.GameMode/Controllers/TextLabelController.cs diff --git a/src/SampSharp.GameMode/Controllers/TimerController.cs b/src/legacy/SampSharp.GameMode/Controllers/TimerController.cs similarity index 100% rename from src/SampSharp.GameMode/Controllers/TimerController.cs rename to src/legacy/SampSharp.GameMode/Controllers/TimerController.cs diff --git a/src/SampSharp.GameMode/Definitions/BodyPart.cs b/src/legacy/SampSharp.GameMode/Definitions/BodyPart.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/BodyPart.cs rename to src/legacy/SampSharp.GameMode/Definitions/BodyPart.cs diff --git a/src/SampSharp.GameMode/Definitions/Bone.cs b/src/legacy/SampSharp.GameMode/Definitions/Bone.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/Bone.cs rename to src/legacy/SampSharp.GameMode/Definitions/Bone.cs diff --git a/src/SampSharp.GameMode/Definitions/BulletHitType.cs b/src/legacy/SampSharp.GameMode/Definitions/BulletHitType.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/BulletHitType.cs rename to src/legacy/SampSharp.GameMode/Definitions/BulletHitType.cs diff --git a/src/SampSharp.GameMode/Definitions/CameraCut.cs b/src/legacy/SampSharp.GameMode/Definitions/CameraCut.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/CameraCut.cs rename to src/legacy/SampSharp.GameMode/Definitions/CameraCut.cs diff --git a/src/SampSharp.GameMode/Definitions/CameraMode.cs b/src/legacy/SampSharp.GameMode/Definitions/CameraMode.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/CameraMode.cs rename to src/legacy/SampSharp.GameMode/Definitions/CameraMode.cs diff --git a/src/SampSharp.GameMode/Definitions/CarModType.cs b/src/legacy/SampSharp.GameMode/Definitions/CarModType.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/CarModType.cs rename to src/legacy/SampSharp.GameMode/Definitions/CarModType.cs diff --git a/src/SampSharp.GameMode/Definitions/CheckpointType.cs b/src/legacy/SampSharp.GameMode/Definitions/CheckpointType.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/CheckpointType.cs rename to src/legacy/SampSharp.GameMode/Definitions/CheckpointType.cs diff --git a/src/SampSharp.GameMode/Definitions/ConnectionStatus.cs b/src/legacy/SampSharp.GameMode/Definitions/ConnectionStatus.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/ConnectionStatus.cs rename to src/legacy/SampSharp.GameMode/Definitions/ConnectionStatus.cs diff --git a/src/SampSharp.GameMode/Definitions/DialogButton.cs b/src/legacy/SampSharp.GameMode/Definitions/DialogButton.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/DialogButton.cs rename to src/legacy/SampSharp.GameMode/Definitions/DialogButton.cs diff --git a/src/SampSharp.GameMode/Definitions/DialogStyle.cs b/src/legacy/SampSharp.GameMode/Definitions/DialogStyle.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/DialogStyle.cs rename to src/legacy/SampSharp.GameMode/Definitions/DialogStyle.cs diff --git a/src/SampSharp.GameMode/Definitions/DisconnectReason.cs b/src/legacy/SampSharp.GameMode/Definitions/DisconnectReason.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/DisconnectReason.cs rename to src/legacy/SampSharp.GameMode/Definitions/DisconnectReason.cs diff --git a/src/SampSharp.GameMode/Definitions/EditObjectResponse.cs b/src/legacy/SampSharp.GameMode/Definitions/EditObjectResponse.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/EditObjectResponse.cs rename to src/legacy/SampSharp.GameMode/Definitions/EditObjectResponse.cs diff --git a/src/SampSharp.GameMode/Definitions/EnterExit.cs b/src/legacy/SampSharp.GameMode/Definitions/EnterExit.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/EnterExit.cs rename to src/legacy/SampSharp.GameMode/Definitions/EnterExit.cs diff --git a/src/SampSharp.GameMode/Definitions/ExplosionType.cs b/src/legacy/SampSharp.GameMode/Definitions/ExplosionType.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/ExplosionType.cs rename to src/legacy/SampSharp.GameMode/Definitions/ExplosionType.cs diff --git a/src/SampSharp.GameMode/Definitions/FightStyle.cs b/src/legacy/SampSharp.GameMode/Definitions/FightStyle.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/FightStyle.cs rename to src/legacy/SampSharp.GameMode/Definitions/FightStyle.cs diff --git a/src/SampSharp.GameMode/Definitions/Keys.cs b/src/legacy/SampSharp.GameMode/Definitions/Keys.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/Keys.cs rename to src/legacy/SampSharp.GameMode/Definitions/Keys.cs diff --git a/src/SampSharp.GameMode/Definitions/MapIcon.cs b/src/legacy/SampSharp.GameMode/Definitions/MapIcon.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/MapIcon.cs rename to src/legacy/SampSharp.GameMode/Definitions/MapIcon.cs diff --git a/src/SampSharp.GameMode/Definitions/MapIconType.cs b/src/legacy/SampSharp.GameMode/Definitions/MapIconType.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/MapIconType.cs rename to src/legacy/SampSharp.GameMode/Definitions/MapIconType.cs diff --git a/src/SampSharp.GameMode/Definitions/ObjectMaterialSize.cs b/src/legacy/SampSharp.GameMode/Definitions/ObjectMaterialSize.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/ObjectMaterialSize.cs rename to src/legacy/SampSharp.GameMode/Definitions/ObjectMaterialSize.cs diff --git a/src/SampSharp.GameMode/Definitions/ObjectMaterialTextAlign.cs b/src/legacy/SampSharp.GameMode/Definitions/ObjectMaterialTextAlign.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/ObjectMaterialTextAlign.cs rename to src/legacy/SampSharp.GameMode/Definitions/ObjectMaterialTextAlign.cs diff --git a/src/SampSharp.GameMode/Definitions/ObjectType.cs b/src/legacy/SampSharp.GameMode/Definitions/ObjectType.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/ObjectType.cs rename to src/legacy/SampSharp.GameMode/Definitions/ObjectType.cs diff --git a/src/SampSharp.GameMode/Definitions/PickupType.cs b/src/legacy/SampSharp.GameMode/Definitions/PickupType.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/PickupType.cs rename to src/legacy/SampSharp.GameMode/Definitions/PickupType.cs diff --git a/src/SampSharp.GameMode/Definitions/PlayerClickSource.cs b/src/legacy/SampSharp.GameMode/Definitions/PlayerClickSource.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/PlayerClickSource.cs rename to src/legacy/SampSharp.GameMode/Definitions/PlayerClickSource.cs diff --git a/src/SampSharp.GameMode/Definitions/PlayerMarkersMode.cs b/src/legacy/SampSharp.GameMode/Definitions/PlayerMarkersMode.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/PlayerMarkersMode.cs rename to src/legacy/SampSharp.GameMode/Definitions/PlayerMarkersMode.cs diff --git a/src/SampSharp.GameMode/Definitions/PlayerRecordingType.cs b/src/legacy/SampSharp.GameMode/Definitions/PlayerRecordingType.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/PlayerRecordingType.cs rename to src/legacy/SampSharp.GameMode/Definitions/PlayerRecordingType.cs diff --git a/src/SampSharp.GameMode/Definitions/PlayerState.cs b/src/legacy/SampSharp.GameMode/Definitions/PlayerState.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/PlayerState.cs rename to src/legacy/SampSharp.GameMode/Definitions/PlayerState.cs diff --git a/src/SampSharp.GameMode/Definitions/ServerVarType.cs b/src/legacy/SampSharp.GameMode/Definitions/ServerVarType.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/ServerVarType.cs rename to src/legacy/SampSharp.GameMode/Definitions/ServerVarType.cs diff --git a/src/SampSharp.GameMode/Definitions/ShopName.cs b/src/legacy/SampSharp.GameMode/Definitions/ShopName.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/ShopName.cs rename to src/legacy/SampSharp.GameMode/Definitions/ShopName.cs diff --git a/src/SampSharp.GameMode/Definitions/SpecialAction.cs b/src/legacy/SampSharp.GameMode/Definitions/SpecialAction.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/SpecialAction.cs rename to src/legacy/SampSharp.GameMode/Definitions/SpecialAction.cs diff --git a/src/SampSharp.GameMode/Definitions/SpectateMode.cs b/src/legacy/SampSharp.GameMode/Definitions/SpectateMode.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/SpectateMode.cs rename to src/legacy/SampSharp.GameMode/Definitions/SpectateMode.cs diff --git a/src/SampSharp.GameMode/Definitions/TextDrawAlignment.cs b/src/legacy/SampSharp.GameMode/Definitions/TextDrawAlignment.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/TextDrawAlignment.cs rename to src/legacy/SampSharp.GameMode/Definitions/TextDrawAlignment.cs diff --git a/src/SampSharp.GameMode/Definitions/TextDrawFont.cs b/src/legacy/SampSharp.GameMode/Definitions/TextDrawFont.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/TextDrawFont.cs rename to src/legacy/SampSharp.GameMode/Definitions/TextDrawFont.cs diff --git a/src/SampSharp.GameMode/Definitions/VehicleCategory.cs b/src/legacy/SampSharp.GameMode/Definitions/VehicleCategory.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/VehicleCategory.cs rename to src/legacy/SampSharp.GameMode/Definitions/VehicleCategory.cs diff --git a/src/SampSharp.GameMode/Definitions/VehicleColor.cs b/src/legacy/SampSharp.GameMode/Definitions/VehicleColor.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/VehicleColor.cs rename to src/legacy/SampSharp.GameMode/Definitions/VehicleColor.cs diff --git a/src/SampSharp.GameMode/Definitions/VehicleModelInfoType.cs b/src/legacy/SampSharp.GameMode/Definitions/VehicleModelInfoType.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/VehicleModelInfoType.cs rename to src/legacy/SampSharp.GameMode/Definitions/VehicleModelInfoType.cs diff --git a/src/SampSharp.GameMode/Definitions/VehicleModelType.cs b/src/legacy/SampSharp.GameMode/Definitions/VehicleModelType.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/VehicleModelType.cs rename to src/legacy/SampSharp.GameMode/Definitions/VehicleModelType.cs diff --git a/src/SampSharp.GameMode/Definitions/VehicleParameterValue.cs b/src/legacy/SampSharp.GameMode/Definitions/VehicleParameterValue.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/VehicleParameterValue.cs rename to src/legacy/SampSharp.GameMode/Definitions/VehicleParameterValue.cs diff --git a/src/SampSharp.GameMode/Definitions/Weapon.cs b/src/legacy/SampSharp.GameMode/Definitions/Weapon.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/Weapon.cs rename to src/legacy/SampSharp.GameMode/Definitions/Weapon.cs diff --git a/src/SampSharp.GameMode/Definitions/WeaponSkill.cs b/src/legacy/SampSharp.GameMode/Definitions/WeaponSkill.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/WeaponSkill.cs rename to src/legacy/SampSharp.GameMode/Definitions/WeaponSkill.cs diff --git a/src/SampSharp.GameMode/Definitions/WeaponState.cs b/src/legacy/SampSharp.GameMode/Definitions/WeaponState.cs similarity index 100% rename from src/SampSharp.GameMode/Definitions/WeaponState.cs rename to src/legacy/SampSharp.GameMode/Definitions/WeaponState.cs diff --git a/src/SampSharp.GameMode/Display/Dialog.Internal.cs b/src/legacy/SampSharp.GameMode/Display/Dialog.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/Display/Dialog.Internal.cs rename to src/legacy/SampSharp.GameMode/Display/Dialog.Internal.cs diff --git a/src/SampSharp.GameMode/Display/Dialog.cs b/src/legacy/SampSharp.GameMode/Display/Dialog.cs similarity index 100% rename from src/SampSharp.GameMode/Display/Dialog.cs rename to src/legacy/SampSharp.GameMode/Display/Dialog.cs diff --git a/src/SampSharp.GameMode/Display/InputDialog.cs b/src/legacy/SampSharp.GameMode/Display/InputDialog.cs similarity index 100% rename from src/SampSharp.GameMode/Display/InputDialog.cs rename to src/legacy/SampSharp.GameMode/Display/InputDialog.cs diff --git a/src/SampSharp.GameMode/Display/ListDialog.cs b/src/legacy/SampSharp.GameMode/Display/ListDialog.cs similarity index 100% rename from src/SampSharp.GameMode/Display/ListDialog.cs rename to src/legacy/SampSharp.GameMode/Display/ListDialog.cs diff --git a/src/SampSharp.GameMode/Display/ListDialog`1.cs b/src/legacy/SampSharp.GameMode/Display/ListDialog`1.cs similarity index 100% rename from src/SampSharp.GameMode/Display/ListDialog`1.cs rename to src/legacy/SampSharp.GameMode/Display/ListDialog`1.cs diff --git a/src/SampSharp.GameMode/Display/Menu.Internal.cs b/src/legacy/SampSharp.GameMode/Display/Menu.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/Display/Menu.Internal.cs rename to src/legacy/SampSharp.GameMode/Display/Menu.Internal.cs diff --git a/src/SampSharp.GameMode/Display/Menu.cs b/src/legacy/SampSharp.GameMode/Display/Menu.cs similarity index 100% rename from src/SampSharp.GameMode/Display/Menu.cs rename to src/legacy/SampSharp.GameMode/Display/Menu.cs diff --git a/src/SampSharp.GameMode/Display/MenuColumn.cs b/src/legacy/SampSharp.GameMode/Display/MenuColumn.cs similarity index 100% rename from src/SampSharp.GameMode/Display/MenuColumn.cs rename to src/legacy/SampSharp.GameMode/Display/MenuColumn.cs diff --git a/src/SampSharp.GameMode/Display/MenuRow.cs b/src/legacy/SampSharp.GameMode/Display/MenuRow.cs similarity index 100% rename from src/SampSharp.GameMode/Display/MenuRow.cs rename to src/legacy/SampSharp.GameMode/Display/MenuRow.cs diff --git a/src/SampSharp.GameMode/Display/MessageDialog.cs b/src/legacy/SampSharp.GameMode/Display/MessageDialog.cs similarity index 100% rename from src/SampSharp.GameMode/Display/MessageDialog.cs rename to src/legacy/SampSharp.GameMode/Display/MessageDialog.cs diff --git a/src/SampSharp.GameMode/Display/PlayerTextDraw.Internal.cs b/src/legacy/SampSharp.GameMode/Display/PlayerTextDraw.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/Display/PlayerTextDraw.Internal.cs rename to src/legacy/SampSharp.GameMode/Display/PlayerTextDraw.Internal.cs diff --git a/src/SampSharp.GameMode/Display/PlayerTextDraw.cs b/src/legacy/SampSharp.GameMode/Display/PlayerTextDraw.cs similarity index 100% rename from src/SampSharp.GameMode/Display/PlayerTextDraw.cs rename to src/legacy/SampSharp.GameMode/Display/PlayerTextDraw.cs diff --git a/src/SampSharp.GameMode/Display/TablistDialog.cs b/src/legacy/SampSharp.GameMode/Display/TablistDialog.cs similarity index 100% rename from src/SampSharp.GameMode/Display/TablistDialog.cs rename to src/legacy/SampSharp.GameMode/Display/TablistDialog.cs diff --git a/src/SampSharp.GameMode/Display/TextDraw.Internal.cs b/src/legacy/SampSharp.GameMode/Display/TextDraw.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/Display/TextDraw.Internal.cs rename to src/legacy/SampSharp.GameMode/Display/TextDraw.Internal.cs diff --git a/src/SampSharp.GameMode/Display/TextDraw.cs b/src/legacy/SampSharp.GameMode/Display/TextDraw.cs similarity index 100% rename from src/SampSharp.GameMode/Display/TextDraw.cs rename to src/legacy/SampSharp.GameMode/Display/TextDraw.cs diff --git a/src/SampSharp.GameMode/Events/CancelableEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/CancelableEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/CancelableEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/CancelableEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/ClickPlayerEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/ClickPlayerEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/ClickPlayerEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/ClickPlayerEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/ClickPlayerTextDrawEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/ClickPlayerTextDrawEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/ClickPlayerTextDrawEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/ClickPlayerTextDrawEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/ClickTextDrawEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/ClickTextDrawEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/ClickTextDrawEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/ClickTextDrawEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/CommandTextEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/CommandTextEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/CommandTextEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/CommandTextEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/ConnectionEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/ConnectionEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/ConnectionEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/ConnectionEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/DamageEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/DamageEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/DamageEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/DamageEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/DeathEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/DeathEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/DeathEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/DeathEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/DialogResponseEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/DialogResponseEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/DialogResponseEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/DialogResponseEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/DialogResponseEventArgs`1.cs b/src/legacy/SampSharp.GameMode/Events/DialogResponseEventArgs`1.cs similarity index 100% rename from src/SampSharp.GameMode/Events/DialogResponseEventArgs`1.cs rename to src/legacy/SampSharp.GameMode/Events/DialogResponseEventArgs`1.cs diff --git a/src/SampSharp.GameMode/Events/DisconnectEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/DisconnectEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/DisconnectEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/DisconnectEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/EditAttachedObjectEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/EditAttachedObjectEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/EditAttachedObjectEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/EditAttachedObjectEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/EditGlobalObjectEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/EditGlobalObjectEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/EditGlobalObjectEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/EditGlobalObjectEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/EditPlayerObjectEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/EditPlayerObjectEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/EditPlayerObjectEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/EditPlayerObjectEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/EnterModShopEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/EnterModShopEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/EnterModShopEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/EnterModShopEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/EnterVehicleEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/EnterVehicleEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/EnterVehicleEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/EnterVehicleEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/InteriorChangedEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/InteriorChangedEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/InteriorChangedEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/InteriorChangedEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/KeyStateChangedEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/KeyStateChangedEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/KeyStateChangedEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/KeyStateChangedEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/MenuRowEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/MenuRowEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/MenuRowEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/MenuRowEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/PickUpPickupEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/PickUpPickupEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/PickUpPickupEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/PickUpPickupEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/PlayerEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/PlayerEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/PlayerEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/PlayerEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/PlayerUpdateEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/PlayerUpdateEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/PlayerUpdateEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/PlayerUpdateEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/PlayerVehicleEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/PlayerVehicleEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/PlayerVehicleEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/PlayerVehicleEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/PositionEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/PositionEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/PositionEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/PositionEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/RconEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/RconEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/RconEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/RconEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/RconLoginAttemptEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/RconLoginAttemptEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/RconLoginAttemptEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/RconLoginAttemptEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/RequestClassEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/RequestClassEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/RequestClassEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/RequestClassEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/RequestSpawnEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/RequestSpawnEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/RequestSpawnEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/RequestSpawnEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/SelectGlobalObjectEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/SelectGlobalObjectEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/SelectGlobalObjectEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/SelectGlobalObjectEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/SirenStateEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/SirenStateEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/SirenStateEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/SirenStateEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/SpawnEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/SpawnEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/SpawnEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/SpawnEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/StateEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/StateEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/StateEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/StateEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/TextEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/TextEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/TextEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/TextEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/TrailerEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/TrailerEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/TrailerEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/TrailerEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/UnoccupiedVehicleEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/UnoccupiedVehicleEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/UnoccupiedVehicleEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/UnoccupiedVehicleEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/VehicleModEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/VehicleModEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/VehicleModEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/VehicleModEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/VehiclePaintjobEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/VehiclePaintjobEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/VehiclePaintjobEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/VehiclePaintjobEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/VehicleResprayedEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/VehicleResprayedEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/VehicleResprayedEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/VehicleResprayedEventArgs.cs diff --git a/src/SampSharp.GameMode/Events/WeaponShotEventArgs.cs b/src/legacy/SampSharp.GameMode/Events/WeaponShotEventArgs.cs similarity index 100% rename from src/SampSharp.GameMode/Events/WeaponShotEventArgs.cs rename to src/legacy/SampSharp.GameMode/Events/WeaponShotEventArgs.cs diff --git a/src/SampSharp.GameMode/Extension.cs b/src/legacy/SampSharp.GameMode/Extension.cs similarity index 100% rename from src/SampSharp.GameMode/Extension.cs rename to src/legacy/SampSharp.GameMode/Extension.cs diff --git a/src/SampSharp.GameMode/Factories/BaseVehicleFactory.Internal.cs b/src/legacy/SampSharp.GameMode/Factories/BaseVehicleFactory.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/Factories/BaseVehicleFactory.Internal.cs rename to src/legacy/SampSharp.GameMode/Factories/BaseVehicleFactory.Internal.cs diff --git a/src/SampSharp.GameMode/Factories/BaseVehicleFactory.cs b/src/legacy/SampSharp.GameMode/Factories/BaseVehicleFactory.cs similarity index 100% rename from src/SampSharp.GameMode/Factories/BaseVehicleFactory.cs rename to src/legacy/SampSharp.GameMode/Factories/BaseVehicleFactory.cs diff --git a/src/SampSharp.GameMode/Factories/IVehicleFactory.cs b/src/legacy/SampSharp.GameMode/Factories/IVehicleFactory.cs similarity index 100% rename from src/SampSharp.GameMode/Factories/IVehicleFactory.cs rename to src/legacy/SampSharp.GameMode/Factories/IVehicleFactory.cs diff --git a/src/SampSharp.GameMode/GameModeServiceContainer.cs b/src/legacy/SampSharp.GameMode/GameModeServiceContainer.cs similarity index 100% rename from src/SampSharp.GameMode/GameModeServiceContainer.cs rename to src/legacy/SampSharp.GameMode/GameModeServiceContainer.cs diff --git a/src/SampSharp.GameMode/Helpers/MathHelper.cs b/src/legacy/SampSharp.GameMode/Helpers/MathHelper.cs similarity index 100% rename from src/SampSharp.GameMode/Helpers/MathHelper.cs rename to src/legacy/SampSharp.GameMode/Helpers/MathHelper.cs diff --git a/src/SampSharp.GameMode/Helpers/NullableHelper.cs b/src/legacy/SampSharp.GameMode/Helpers/NullableHelper.cs similarity index 100% rename from src/SampSharp.GameMode/Helpers/NullableHelper.cs rename to src/legacy/SampSharp.GameMode/Helpers/NullableHelper.cs diff --git a/src/SampSharp.GameMode/Helpers/VehicleParameterValueHelper.cs b/src/legacy/SampSharp.GameMode/Helpers/VehicleParameterValueHelper.cs similarity index 100% rename from src/SampSharp.GameMode/Helpers/VehicleParameterValueHelper.cs rename to src/legacy/SampSharp.GameMode/Helpers/VehicleParameterValueHelper.cs diff --git a/src/SampSharp.GameMode/IExtension.cs b/src/legacy/SampSharp.GameMode/IExtension.cs similarity index 100% rename from src/SampSharp.GameMode/IExtension.cs rename to src/legacy/SampSharp.GameMode/IExtension.cs diff --git a/src/SampSharp.GameMode/IService.cs b/src/legacy/SampSharp.GameMode/IService.cs similarity index 100% rename from src/SampSharp.GameMode/IService.cs rename to src/legacy/SampSharp.GameMode/IService.cs diff --git a/src/SampSharp.GameMode/Matrix.cs b/src/legacy/SampSharp.GameMode/Matrix.cs similarity index 100% rename from src/SampSharp.GameMode/Matrix.cs rename to src/legacy/SampSharp.GameMode/Matrix.cs diff --git a/src/SampSharp.GameMode/PlayerDisconnectedException.cs b/src/legacy/SampSharp.GameMode/PlayerDisconnectedException.cs similarity index 100% rename from src/SampSharp.GameMode/PlayerDisconnectedException.cs rename to src/legacy/SampSharp.GameMode/PlayerDisconnectedException.cs diff --git a/src/SampSharp.GameMode/Pools/IdentifiedOwnedPool`1.cs b/src/legacy/SampSharp.GameMode/Pools/IdentifiedOwnedPool`1.cs similarity index 100% rename from src/SampSharp.GameMode/Pools/IdentifiedOwnedPool`1.cs rename to src/legacy/SampSharp.GameMode/Pools/IdentifiedOwnedPool`1.cs diff --git a/src/SampSharp.GameMode/Pools/IdentifiedPool`1.cs b/src/legacy/SampSharp.GameMode/Pools/IdentifiedPool`1.cs similarity index 100% rename from src/SampSharp.GameMode/Pools/IdentifiedPool`1.cs rename to src/legacy/SampSharp.GameMode/Pools/IdentifiedPool`1.cs diff --git a/src/SampSharp.GameMode/Pools/PoolContainer`1.cs b/src/legacy/SampSharp.GameMode/Pools/PoolContainer`1.cs similarity index 100% rename from src/SampSharp.GameMode/Pools/PoolContainer`1.cs rename to src/legacy/SampSharp.GameMode/Pools/PoolContainer`1.cs diff --git a/src/SampSharp.GameMode/Pools/Pool`1.cs b/src/legacy/SampSharp.GameMode/Pools/Pool`1.cs similarity index 100% rename from src/SampSharp.GameMode/Pools/Pool`1.cs rename to src/legacy/SampSharp.GameMode/Pools/Pool`1.cs diff --git a/src/SampSharp.GameMode/Pools/PooledTypeAttribute.cs b/src/legacy/SampSharp.GameMode/Pools/PooledTypeAttribute.cs similarity index 100% rename from src/SampSharp.GameMode/Pools/PooledTypeAttribute.cs rename to src/legacy/SampSharp.GameMode/Pools/PooledTypeAttribute.cs diff --git a/src/SampSharp.GameMode/Quaternion.cs b/src/legacy/SampSharp.GameMode/Quaternion.cs similarity index 100% rename from src/SampSharp.GameMode/Quaternion.cs rename to src/legacy/SampSharp.GameMode/Quaternion.cs diff --git a/src/SampSharp.GameMode/SAMP/Color.cs b/src/legacy/SampSharp.GameMode/SAMP/Color.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Color.cs rename to src/legacy/SampSharp.GameMode/SAMP/Color.cs diff --git a/src/SampSharp.GameMode/SAMP/ColorFormat.cs b/src/legacy/SampSharp.GameMode/SAMP/ColorFormat.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/ColorFormat.cs rename to src/legacy/SampSharp.GameMode/SAMP/ColorFormat.cs diff --git a/src/SampSharp.GameMode/SAMP/ColorValue.cs b/src/legacy/SampSharp.GameMode/SAMP/ColorValue.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/ColorValue.cs rename to src/legacy/SampSharp.GameMode/SAMP/ColorValue.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/CommandAttribute.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/CommandAttribute.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/CommandAttribute.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/CommandAttribute.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/CommandCallableResponse.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/CommandCallableResponse.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/CommandCallableResponse.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/CommandCallableResponse.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/CommandGroupAttribute.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/CommandGroupAttribute.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/CommandGroupAttribute.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/CommandGroupAttribute.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/CommandPath.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/CommandPath.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/CommandPath.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/CommandPath.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/CommandsManager.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/CommandsManager.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/CommandsManager.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/CommandsManager.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/DefaultCommand.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/DefaultCommand.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/DefaultCommand.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/DefaultCommand.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/DefaultHelpCommand.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/DefaultHelpCommand.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/DefaultHelpCommand.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/DefaultHelpCommand.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/ICommand.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/ICommand.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/ICommand.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/ICommand.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/ICommandsManager.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/ICommandsManager.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/ICommandsManager.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/ICommandsManager.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/NullableParam.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/NullableParam.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/NullableParam.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/NullableParam.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/EnumType.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/EnumType.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/EnumType.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/EnumType.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/FloatType.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/FloatType.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/FloatType.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/FloatType.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/ICommandParameterType.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/ICommandParameterType.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/ICommandParameterType.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/ICommandParameterType.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/IntegerType.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/IntegerType.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/IntegerType.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/IntegerType.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/NullableEnumType.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/NullableEnumType.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/NullableEnumType.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/NullableEnumType.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/PlayerType.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/PlayerType.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/PlayerType.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/PlayerType.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/TextType.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/TextType.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/TextType.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/TextType.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/VehicleType.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/VehicleType.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/VehicleType.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/VehicleType.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/WordType.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/WordType.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/ParameterTypes/WordType.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/ParameterTypes/WordType.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/Parameters/CommandParameterInfo.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/Parameters/CommandParameterInfo.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/Parameters/CommandParameterInfo.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/Parameters/CommandParameterInfo.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/Parameters/ParameterAttribute.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/Parameters/ParameterAttribute.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/Parameters/ParameterAttribute.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/Parameters/ParameterAttribute.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/PermissionCheckers/AdminChecker.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/PermissionCheckers/AdminChecker.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/PermissionCheckers/AdminChecker.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/PermissionCheckers/AdminChecker.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/PermissionCheckers/IPermissionChecker.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/PermissionCheckers/IPermissionChecker.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/PermissionCheckers/IPermissionChecker.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/PermissionCheckers/IPermissionChecker.cs diff --git a/src/SampSharp.GameMode/SAMP/Commands/PermissionCheckers/SilentAdminChecker.cs b/src/legacy/SampSharp.GameMode/SAMP/Commands/PermissionCheckers/SilentAdminChecker.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Commands/PermissionCheckers/SilentAdminChecker.cs rename to src/legacy/SampSharp.GameMode/SAMP/Commands/PermissionCheckers/SilentAdminChecker.cs diff --git a/src/SampSharp.GameMode/SAMP/KeyChangeHandlerSet.cs b/src/legacy/SampSharp.GameMode/SAMP/KeyChangeHandlerSet.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/KeyChangeHandlerSet.cs rename to src/legacy/SampSharp.GameMode/SAMP/KeyChangeHandlerSet.cs diff --git a/src/SampSharp.GameMode/SAMP/KeyHandlerSet.cs b/src/legacy/SampSharp.GameMode/SAMP/KeyHandlerSet.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/KeyHandlerSet.cs rename to src/legacy/SampSharp.GameMode/SAMP/KeyHandlerSet.cs diff --git a/src/SampSharp.GameMode/SAMP/PVarCollection.Internal.cs b/src/legacy/SampSharp.GameMode/SAMP/PVarCollection.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/PVarCollection.Internal.cs rename to src/legacy/SampSharp.GameMode/SAMP/PVarCollection.Internal.cs diff --git a/src/SampSharp.GameMode/SAMP/PVarCollection.cs b/src/legacy/SampSharp.GameMode/SAMP/PVarCollection.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/PVarCollection.cs rename to src/legacy/SampSharp.GameMode/SAMP/PVarCollection.cs diff --git a/src/SampSharp.GameMode/SAMP/PriorityKeyHandler.cs b/src/legacy/SampSharp.GameMode/SAMP/PriorityKeyHandler.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/PriorityKeyHandler.cs rename to src/legacy/SampSharp.GameMode/SAMP/PriorityKeyHandler.cs diff --git a/src/SampSharp.GameMode/SAMP/SVarCollection.Internal.cs b/src/legacy/SampSharp.GameMode/SAMP/SVarCollection.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/SVarCollection.Internal.cs rename to src/legacy/SampSharp.GameMode/SAMP/SVarCollection.Internal.cs diff --git a/src/SampSharp.GameMode/SAMP/SVarCollection.cs b/src/legacy/SampSharp.GameMode/SAMP/SVarCollection.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/SVarCollection.cs rename to src/legacy/SampSharp.GameMode/SAMP/SVarCollection.cs diff --git a/src/SampSharp.GameMode/SAMP/Server.Internal.cs b/src/legacy/SampSharp.GameMode/SAMP/Server.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Server.Internal.cs rename to src/legacy/SampSharp.GameMode/SAMP/Server.Internal.cs diff --git a/src/SampSharp.GameMode/SAMP/Server.cs b/src/legacy/SampSharp.GameMode/SAMP/Server.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Server.cs rename to src/legacy/SampSharp.GameMode/SAMP/Server.cs diff --git a/src/SampSharp.GameMode/SAMP/ServerConfig.cs b/src/legacy/SampSharp.GameMode/SAMP/ServerConfig.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/ServerConfig.cs rename to src/legacy/SampSharp.GameMode/SAMP/ServerConfig.cs diff --git a/src/SampSharp.GameMode/SAMP/Timer.cs b/src/legacy/SampSharp.GameMode/SAMP/Timer.cs similarity index 100% rename from src/SampSharp.GameMode/SAMP/Timer.cs rename to src/legacy/SampSharp.GameMode/SAMP/Timer.cs diff --git a/src/SampSharp.GameMode/SampSharp.GameMode.csproj b/src/legacy/SampSharp.GameMode/SampSharp.GameMode.csproj similarity index 100% rename from src/SampSharp.GameMode/SampSharp.GameMode.csproj rename to src/legacy/SampSharp.GameMode/SampSharp.GameMode.csproj diff --git a/src/SampSharp.GameMode/SampSharpExtensionAttribute.cs b/src/legacy/SampSharp.GameMode/SampSharpExtensionAttribute.cs similarity index 100% rename from src/SampSharp.GameMode/SampSharpExtensionAttribute.cs rename to src/legacy/SampSharp.GameMode/SampSharpExtensionAttribute.cs diff --git a/src/SampSharp.GameMode/Service.cs b/src/legacy/SampSharp.GameMode/Service.cs similarity index 100% rename from src/SampSharp.GameMode/Service.cs rename to src/legacy/SampSharp.GameMode/Service.cs diff --git a/src/SampSharp.GameMode/Tools/ASyncPlayerWaiter.cs b/src/legacy/SampSharp.GameMode/Tools/ASyncPlayerWaiter.cs similarity index 100% rename from src/SampSharp.GameMode/Tools/ASyncPlayerWaiter.cs rename to src/legacy/SampSharp.GameMode/Tools/ASyncPlayerWaiter.cs diff --git a/src/SampSharp.GameMode/Tools/ASyncWaiter`2.cs b/src/legacy/SampSharp.GameMode/Tools/ASyncWaiter`2.cs similarity index 100% rename from src/SampSharp.GameMode/Tools/ASyncWaiter`2.cs rename to src/legacy/SampSharp.GameMode/Tools/ASyncWaiter`2.cs diff --git a/src/SampSharp.GameMode/Tools/Disposable.cs b/src/legacy/SampSharp.GameMode/Tools/Disposable.cs similarity index 100% rename from src/SampSharp.GameMode/Tools/Disposable.cs rename to src/legacy/SampSharp.GameMode/Tools/Disposable.cs diff --git a/src/SampSharp.GameMode/Tools/KeyUtils.cs b/src/legacy/SampSharp.GameMode/Tools/KeyUtils.cs similarity index 100% rename from src/SampSharp.GameMode/Tools/KeyUtils.cs rename to src/legacy/SampSharp.GameMode/Tools/KeyUtils.cs diff --git a/src/SampSharp.GameMode/Vector2.cs b/src/legacy/SampSharp.GameMode/Vector2.cs similarity index 100% rename from src/SampSharp.GameMode/Vector2.cs rename to src/legacy/SampSharp.GameMode/Vector2.cs diff --git a/src/SampSharp.GameMode/Vector3.cs b/src/legacy/SampSharp.GameMode/Vector3.cs similarity index 100% rename from src/SampSharp.GameMode/Vector3.cs rename to src/legacy/SampSharp.GameMode/Vector3.cs diff --git a/src/SampSharp.GameMode/Vector4.cs b/src/legacy/SampSharp.GameMode/Vector4.cs similarity index 100% rename from src/SampSharp.GameMode/Vector4.cs rename to src/legacy/SampSharp.GameMode/Vector4.cs diff --git a/src/SampSharp.GameMode/World/Actor.Internal.cs b/src/legacy/SampSharp.GameMode/World/Actor.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/World/Actor.Internal.cs rename to src/legacy/SampSharp.GameMode/World/Actor.Internal.cs diff --git a/src/SampSharp.GameMode/World/Actor.cs b/src/legacy/SampSharp.GameMode/World/Actor.cs similarity index 100% rename from src/SampSharp.GameMode/World/Actor.cs rename to src/legacy/SampSharp.GameMode/World/Actor.cs diff --git a/src/SampSharp.GameMode/World/BasePlayer.Internal.cs b/src/legacy/SampSharp.GameMode/World/BasePlayer.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/World/BasePlayer.Internal.cs rename to src/legacy/SampSharp.GameMode/World/BasePlayer.Internal.cs diff --git a/src/SampSharp.GameMode/World/BasePlayer.cs b/src/legacy/SampSharp.GameMode/World/BasePlayer.cs similarity index 100% rename from src/SampSharp.GameMode/World/BasePlayer.cs rename to src/legacy/SampSharp.GameMode/World/BasePlayer.cs diff --git a/src/SampSharp.GameMode/World/BaseVehicle.Internal.cs b/src/legacy/SampSharp.GameMode/World/BaseVehicle.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/World/BaseVehicle.Internal.cs rename to src/legacy/SampSharp.GameMode/World/BaseVehicle.Internal.cs diff --git a/src/SampSharp.GameMode/World/BaseVehicle.cs b/src/legacy/SampSharp.GameMode/World/BaseVehicle.cs similarity index 100% rename from src/SampSharp.GameMode/World/BaseVehicle.cs rename to src/legacy/SampSharp.GameMode/World/BaseVehicle.cs diff --git a/src/SampSharp.GameMode/World/GangZone.Internal.cs b/src/legacy/SampSharp.GameMode/World/GangZone.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/World/GangZone.Internal.cs rename to src/legacy/SampSharp.GameMode/World/GangZone.Internal.cs diff --git a/src/SampSharp.GameMode/World/GangZone.cs b/src/legacy/SampSharp.GameMode/World/GangZone.cs similarity index 100% rename from src/SampSharp.GameMode/World/GangZone.cs rename to src/legacy/SampSharp.GameMode/World/GangZone.cs diff --git a/src/SampSharp.GameMode/World/GlobalObject.Internal.cs b/src/legacy/SampSharp.GameMode/World/GlobalObject.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/World/GlobalObject.Internal.cs rename to src/legacy/SampSharp.GameMode/World/GlobalObject.Internal.cs diff --git a/src/SampSharp.GameMode/World/GlobalObject.cs b/src/legacy/SampSharp.GameMode/World/GlobalObject.cs similarity index 100% rename from src/SampSharp.GameMode/World/GlobalObject.cs rename to src/legacy/SampSharp.GameMode/World/GlobalObject.cs diff --git a/src/SampSharp.GameMode/World/IGameObject.cs b/src/legacy/SampSharp.GameMode/World/IGameObject.cs similarity index 100% rename from src/SampSharp.GameMode/World/IGameObject.cs rename to src/legacy/SampSharp.GameMode/World/IGameObject.cs diff --git a/src/SampSharp.GameMode/World/IIDentifiable.cs b/src/legacy/SampSharp.GameMode/World/IIDentifiable.cs similarity index 100% rename from src/SampSharp.GameMode/World/IIDentifiable.cs rename to src/legacy/SampSharp.GameMode/World/IIDentifiable.cs diff --git a/src/SampSharp.GameMode/World/IOwnable.cs b/src/legacy/SampSharp.GameMode/World/IOwnable.cs similarity index 100% rename from src/SampSharp.GameMode/World/IOwnable.cs rename to src/legacy/SampSharp.GameMode/World/IOwnable.cs diff --git a/src/SampSharp.GameMode/World/IWorldObject.cs b/src/legacy/SampSharp.GameMode/World/IWorldObject.cs similarity index 100% rename from src/SampSharp.GameMode/World/IWorldObject.cs rename to src/legacy/SampSharp.GameMode/World/IWorldObject.cs diff --git a/src/SampSharp.GameMode/World/Pickup.Internal.cs b/src/legacy/SampSharp.GameMode/World/Pickup.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/World/Pickup.Internal.cs rename to src/legacy/SampSharp.GameMode/World/Pickup.Internal.cs diff --git a/src/SampSharp.GameMode/World/Pickup.cs b/src/legacy/SampSharp.GameMode/World/Pickup.cs similarity index 100% rename from src/SampSharp.GameMode/World/Pickup.cs rename to src/legacy/SampSharp.GameMode/World/Pickup.cs diff --git a/src/SampSharp.GameMode/World/PlayerObject.Internal.cs b/src/legacy/SampSharp.GameMode/World/PlayerObject.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/World/PlayerObject.Internal.cs rename to src/legacy/SampSharp.GameMode/World/PlayerObject.Internal.cs diff --git a/src/SampSharp.GameMode/World/PlayerObject.cs b/src/legacy/SampSharp.GameMode/World/PlayerObject.cs similarity index 100% rename from src/SampSharp.GameMode/World/PlayerObject.cs rename to src/legacy/SampSharp.GameMode/World/PlayerObject.cs diff --git a/src/SampSharp.GameMode/World/PlayerTextLabel.Internal.cs b/src/legacy/SampSharp.GameMode/World/PlayerTextLabel.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/World/PlayerTextLabel.Internal.cs rename to src/legacy/SampSharp.GameMode/World/PlayerTextLabel.Internal.cs diff --git a/src/SampSharp.GameMode/World/PlayerTextLabel.cs b/src/legacy/SampSharp.GameMode/World/PlayerTextLabel.cs similarity index 100% rename from src/SampSharp.GameMode/World/PlayerTextLabel.cs rename to src/legacy/SampSharp.GameMode/World/PlayerTextLabel.cs diff --git a/src/SampSharp.GameMode/World/TextLabel.Internal.cs b/src/legacy/SampSharp.GameMode/World/TextLabel.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/World/TextLabel.Internal.cs rename to src/legacy/SampSharp.GameMode/World/TextLabel.Internal.cs diff --git a/src/SampSharp.GameMode/World/TextLabel.cs b/src/legacy/SampSharp.GameMode/World/TextLabel.cs similarity index 100% rename from src/SampSharp.GameMode/World/TextLabel.cs rename to src/legacy/SampSharp.GameMode/World/TextLabel.cs diff --git a/src/SampSharp.GameMode/World/VehicleModelInfo.Internal.cs b/src/legacy/SampSharp.GameMode/World/VehicleModelInfo.Internal.cs similarity index 100% rename from src/SampSharp.GameMode/World/VehicleModelInfo.Internal.cs rename to src/legacy/SampSharp.GameMode/World/VehicleModelInfo.Internal.cs diff --git a/src/SampSharp.GameMode/World/VehicleModelInfo.cs b/src/legacy/SampSharp.GameMode/World/VehicleModelInfo.cs similarity index 100% rename from src/SampSharp.GameMode/World/VehicleModelInfo.cs rename to src/legacy/SampSharp.GameMode/World/VehicleModelInfo.cs diff --git a/SampSharp.Plugin.sln b/src/legacy/SampSharp.Plugin.sln similarity index 94% rename from SampSharp.Plugin.sln rename to src/legacy/SampSharp.Plugin.sln index bdc08dac7..d61c70148 100644 --- a/SampSharp.Plugin.sln +++ b/src/legacy/SampSharp.Plugin.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.0.32112.339 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SampSharp", "src\SampSharp\SampSharp.vcxproj", "{39908193-8E5A-42EC-B71B-5D457CE87823}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SampSharp", "SampSharp\SampSharp.vcxproj", "{39908193-8E5A-42EC-B71B-5D457CE87823}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/SampSharp.sln b/src/legacy/SampSharp.sln similarity index 91% rename from SampSharp.sln rename to src/legacy/SampSharp.sln index a867aac27..da81a6e80 100644 --- a/SampSharp.sln +++ b/src/legacy/SampSharp.sln @@ -3,23 +3,22 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.0.32112.339 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampSharp.Core", "src\SampSharp.Core\SampSharp.Core.csproj", "{7B9345A8-80F3-43E3-B3E1-B3E3B45B8B0F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampSharp.Core", "SampSharp.Core\SampSharp.Core.csproj", "{7B9345A8-80F3-43E3-B3E1-B3E3B45B8B0F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampSharp.GameMode", "src\SampSharp.GameMode\SampSharp.GameMode.csproj", "{153D7525-B36F-4DB9-B5B6-483915C84A7E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampSharp.GameMode", "SampSharp.GameMode\SampSharp.GameMode.csproj", "{153D7525-B36F-4DB9-B5B6-483915C84A7E}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestMode.GameMode", "src\TestMode.GameMode\TestMode.GameMode.csproj", "{AAF5CF0F-5B39-4122-B2A2-E7D5910CB4D5}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestMode.GameMode", "TestMode.GameMode\TestMode.GameMode.csproj", "{AAF5CF0F-5B39-4122-B2A2-E7D5910CB4D5}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{6B10DCD1-5FFB-4B21-AF82-1906E6AF7119}" ProjectSection(SolutionItems) = preProject - .editorconfig = .editorconfig - Directory.build.props = Directory.build.props + Directory.Build.props = Directory.Build.props EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampSharp.Entities", "src\SampSharp.Entities\SampSharp.Entities.csproj", "{DBADB3D5-8B69-416C-9A97-0A9767DFBC7A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampSharp.Entities", "SampSharp.Entities\SampSharp.Entities.csproj", "{DBADB3D5-8B69-416C-9A97-0A9767DFBC7A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestMode.Entities", "src\TestMode.Entities\TestMode.Entities.csproj", "{9ADD7452-9B5A-42FF-BAA0-AFBC93BE711A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestMode.Entities", "TestMode.Entities\TestMode.Entities.csproj", "{9ADD7452-9B5A-42FF-BAA0-AFBC93BE711A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampSharp.Core.UnitTests", "src\SampSharp.Core.UnitTests\SampSharp.Core.UnitTests.csproj", "{791B7ABD-43B4-436A-8E55-DA573B102E86}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampSharp.Core.UnitTests", "SampSharp.Core.UnitTests\SampSharp.Core.UnitTests.csproj", "{791B7ABD-43B4-436A-8E55-DA573B102E86}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/SampSharp.sln.DotSettings b/src/legacy/SampSharp.sln.DotSettings similarity index 100% rename from SampSharp.sln.DotSettings rename to src/legacy/SampSharp.sln.DotSettings diff --git a/src/legacy/SampSharp/CMakeLists.txt b/src/legacy/SampSharp/CMakeLists.txt new file mode 100644 index 000000000..24768f7dd --- /dev/null +++ b/src/legacy/SampSharp/CMakeLists.txt @@ -0,0 +1,82 @@ +cmake_minimum_required(VERSION 3.19) +project(SampSharp LANGUAGES CXX C VERSION 1.0.0) + +set(CMAKE_CXX_STANDARD 17) + +# Compute root directory (3 levels up: src/legacy/SampSharp -> .) +get_filename_component(ROOTDIR "${CMAKE_SOURCE_DIR}/../../.." ABSOLUTE) + +# Legacy plugin outputs to build/bin/SampSharp/Release +set(OUTDIR "${ROOTDIR}/build/bin/SampSharp/Release") + +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${OUTDIR}") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${OUTDIR}") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${OUTDIR}") + +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${OUTDIR}") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${OUTDIR}") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${OUTDIR}") + +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${OUTDIR}") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${OUTDIR}") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${OUTDIR}") + +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO "${OUTDIR}") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${OUTDIR}") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${OUTDIR}") + +if(MSVC) + set(CXX_STANDARD "/std:c++latest") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_STANDARD} /Zc:preprocessor") +endif() + +# Collect all source files +file(GLOB_RECURSE plugin_source_list CONFIGURE_DEPENDS + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/*.c" + "${CMAKE_CURRENT_SOURCE_DIR}/includes/sampgdk/sampgdk.c" +) + +# Create the DLL/SO +if(WIN32) + add_library(SampSharp SHARED ${plugin_source_list}) + set_target_properties(SampSharp PROPERTIES + SUFFIX ".dll" + PREFIX "" + ) +else() + add_library(SampSharp SHARED ${plugin_source_list}) + set_target_properties(SampSharp PROPERTIES + SUFFIX ".so" + PREFIX "lib" + ) +endif() + +# Include directories +target_include_directories(SampSharp PRIVATE + "${CMAKE_CURRENT_SOURCE_DIR}/includes" + "${CMAKE_CURRENT_SOURCE_DIR}/includes/sdk" + "${CMAKE_CURRENT_SOURCE_DIR}/includes/sdk/amx" +) + +# Compiler definitions +target_compile_definitions(SampSharp PRIVATE + SAMPGDK_AMALGAMATION + SAMPGDK_CPP_WRAPPERS + _CRT_SECURE_NO_WARNINGS +) + +if(UNIX AND NOT APPLE) + target_compile_definitions(SampSharp PRIVATE LINUX _GNU_SOURCE) + target_compile_options(SampSharp PRIVATE -m32 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden) + target_link_options(SampSharp PRIVATE -m32) +endif() + +if(MSVC) + set_property(TARGET SampSharp PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") +endif() + +# Platform-specific linking +if(WIN32) + target_link_libraries(SampSharp PRIVATE Shlwapi) +endif() diff --git a/src/SampSharp/SampSharp.def b/src/legacy/SampSharp/SampSharp.def similarity index 100% rename from src/SampSharp/SampSharp.def rename to src/legacy/SampSharp/SampSharp.def diff --git a/src/SampSharp/SampSharp.vcxproj b/src/legacy/SampSharp/SampSharp.vcxproj similarity index 96% rename from src/SampSharp/SampSharp.vcxproj rename to src/legacy/SampSharp/SampSharp.vcxproj index da836df5b..19689b5e5 100644 --- a/src/SampSharp/SampSharp.vcxproj +++ b/src/legacy/SampSharp/SampSharp.vcxproj @@ -23,12 +23,12 @@ true MultiByte false - v143 + v145 DynamicLibrary false - v143 + v145 true MultiByte @@ -44,11 +44,11 @@ true - $(SolutionDir)env\plugins\ + $(SolutionDir)..\..\env\plugins\ false - $(SolutionDir)bin\ + $(SolutionDir)..\..\build\bin\SampSharp\Release\ diff --git a/src/SampSharp/SampSharp.vcxproj.filters b/src/legacy/SampSharp/SampSharp.vcxproj.filters similarity index 100% rename from src/SampSharp/SampSharp.vcxproj.filters rename to src/legacy/SampSharp/SampSharp.vcxproj.filters diff --git a/src/legacy/SampSharp/build.cmd b/src/legacy/SampSharp/build.cmd new file mode 100644 index 000000000..63ccc9fbc --- /dev/null +++ b/src/legacy/SampSharp/build.cmd @@ -0,0 +1,30 @@ +@echo off +REM Build script for legacy SampSharp x86 plugin on Windows + +pushd "%~dp0" + +REM Navigate to root (3 levels up) +cd /d "..\..\.." +set "ROOTDIR=%CD%" +set "SRCDIR=%ROOTDIR%\src\legacy\SampSharp" +set "BUILDDIR=%ROOTDIR%\build\cmake\legacy" + +popd + +echo Building legacy SampSharp plugin (x86)... +echo Root: %ROOTDIR% +echo Build: %BUILDDIR% +echo. + +if not exist "%BUILDDIR%" mkdir "%BUILDDIR%" + +REM Configure with x86 (Win32) architecture +cmake -S "%SRCDIR%" -B "%BUILDDIR%" -A Win32 -T ClangCL +if errorlevel 1 exit /b 1 + +REM Build +cmake --build "%BUILDDIR%" --config RelWithDebInfo +if errorlevel 1 exit /b 1 + +echo. +echo Legacy plugin build complete. Output: %ROOTDIR%\build\bin\SampSharp\Release diff --git a/src/legacy/SampSharp/build.sh b/src/legacy/SampSharp/build.sh new file mode 100755 index 000000000..924512a48 --- /dev/null +++ b/src/legacy/SampSharp/build.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Build script for legacy SampSharp x86 plugin on Linux + +set -e + +SRCDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ROOTDIR="$(cd "$SRCDIR/../../.." && pwd)" +BUILDDIR="$ROOTDIR/build/cmake/legacy" + +echo "Building legacy SampSharp plugin (x86)..." + +mkdir -p "$BUILDDIR" + +# Configure +cmake -S "$SRCDIR" -B "$BUILDDIR" + +# Build +cmake --build "$BUILDDIR" --config RelWithDebInfo + +echo "Legacy plugin build complete. Output: $ROOTDIR/build/bin/SampSharp/Release" diff --git a/src/SampSharp/config.cpp b/src/legacy/SampSharp/config.cpp similarity index 100% rename from src/SampSharp/config.cpp rename to src/legacy/SampSharp/config.cpp diff --git a/src/SampSharp/config.h b/src/legacy/SampSharp/config.h similarity index 100% rename from src/SampSharp/config.h rename to src/legacy/SampSharp/config.h diff --git a/src/SampSharp/config_cfg.cpp b/src/legacy/SampSharp/config_cfg.cpp similarity index 100% rename from src/SampSharp/config_cfg.cpp rename to src/legacy/SampSharp/config_cfg.cpp diff --git a/src/SampSharp/config_cfg.h b/src/legacy/SampSharp/config_cfg.h similarity index 100% rename from src/SampSharp/config_cfg.h rename to src/legacy/SampSharp/config_cfg.h diff --git a/src/SampSharp/config_composite.cpp b/src/legacy/SampSharp/config_composite.cpp similarity index 100% rename from src/SampSharp/config_composite.cpp rename to src/legacy/SampSharp/config_composite.cpp diff --git a/src/SampSharp/config_composite.h b/src/legacy/SampSharp/config_composite.h similarity index 100% rename from src/SampSharp/config_composite.h rename to src/legacy/SampSharp/config_composite.h diff --git a/src/SampSharp/config_omp.cpp b/src/legacy/SampSharp/config_omp.cpp similarity index 100% rename from src/SampSharp/config_omp.cpp rename to src/legacy/SampSharp/config_omp.cpp diff --git a/src/SampSharp/config_omp.h b/src/legacy/SampSharp/config_omp.h similarity index 100% rename from src/SampSharp/config_omp.h rename to src/legacy/SampSharp/config_omp.h diff --git a/src/SampSharp/config_win.cpp b/src/legacy/SampSharp/config_win.cpp similarity index 100% rename from src/SampSharp/config_win.cpp rename to src/legacy/SampSharp/config_win.cpp diff --git a/src/SampSharp/config_win.h b/src/legacy/SampSharp/config_win.h similarity index 100% rename from src/SampSharp/config_win.h rename to src/legacy/SampSharp/config_win.h diff --git a/src/SampSharp/coreclr_app.cpp b/src/legacy/SampSharp/coreclr_app.cpp similarity index 100% rename from src/SampSharp/coreclr_app.cpp rename to src/legacy/SampSharp/coreclr_app.cpp diff --git a/src/SampSharp/coreclr_app.h b/src/legacy/SampSharp/coreclr_app.h similarity index 100% rename from src/SampSharp/coreclr_app.h rename to src/legacy/SampSharp/coreclr_app.h diff --git a/src/SampSharp/includes/coreclr/coreclrhost.h b/src/legacy/SampSharp/includes/coreclr/coreclrhost.h similarity index 100% rename from src/SampSharp/includes/coreclr/coreclrhost.h rename to src/legacy/SampSharp/includes/coreclr/coreclrhost.h diff --git a/src/SampSharp/includes/coreclr/mscoree.h b/src/legacy/SampSharp/includes/coreclr/mscoree.h similarity index 100% rename from src/SampSharp/includes/coreclr/mscoree.h rename to src/legacy/SampSharp/includes/coreclr/mscoree.h diff --git a/src/SampSharp/includes/json/json.hpp b/src/legacy/SampSharp/includes/json/json.hpp similarity index 100% rename from src/SampSharp/includes/json/json.hpp rename to src/legacy/SampSharp/includes/json/json.hpp diff --git a/src/SampSharp/includes/sampgdk/sampgdk.c b/src/legacy/SampSharp/includes/sampgdk/sampgdk.c similarity index 100% rename from src/SampSharp/includes/sampgdk/sampgdk.c rename to src/legacy/SampSharp/includes/sampgdk/sampgdk.c diff --git a/src/SampSharp/includes/sampgdk/sampgdk.h b/src/legacy/SampSharp/includes/sampgdk/sampgdk.h similarity index 100% rename from src/SampSharp/includes/sampgdk/sampgdk.h rename to src/legacy/SampSharp/includes/sampgdk/sampgdk.h diff --git a/src/SampSharp/includes/sdk/amx/amx.h b/src/legacy/SampSharp/includes/sdk/amx/amx.h similarity index 100% rename from src/SampSharp/includes/sdk/amx/amx.h rename to src/legacy/SampSharp/includes/sdk/amx/amx.h diff --git a/src/SampSharp/includes/sdk/amx/getch.h b/src/legacy/SampSharp/includes/sdk/amx/getch.h similarity index 100% rename from src/SampSharp/includes/sdk/amx/getch.h rename to src/legacy/SampSharp/includes/sdk/amx/getch.h diff --git a/src/SampSharp/includes/sdk/amx/sclinux.h b/src/legacy/SampSharp/includes/sdk/amx/sclinux.h similarity index 100% rename from src/SampSharp/includes/sdk/amx/sclinux.h rename to src/legacy/SampSharp/includes/sdk/amx/sclinux.h diff --git a/src/SampSharp/includes/sdk/amxplugin.cpp b/src/legacy/SampSharp/includes/sdk/amxplugin.cpp similarity index 100% rename from src/SampSharp/includes/sdk/amxplugin.cpp rename to src/legacy/SampSharp/includes/sdk/amxplugin.cpp diff --git a/src/SampSharp/includes/sdk/plugin.h b/src/legacy/SampSharp/includes/sdk/plugin.h similarity index 100% rename from src/SampSharp/includes/sdk/plugin.h rename to src/legacy/SampSharp/includes/sdk/plugin.h diff --git a/src/SampSharp/includes/sdk/plugincommon.h b/src/legacy/SampSharp/includes/sdk/plugincommon.h similarity index 100% rename from src/SampSharp/includes/sdk/plugincommon.h rename to src/legacy/SampSharp/includes/sdk/plugincommon.h diff --git a/src/SampSharp/interop.cpp b/src/legacy/SampSharp/interop.cpp similarity index 100% rename from src/SampSharp/interop.cpp rename to src/legacy/SampSharp/interop.cpp diff --git a/src/SampSharp/interop.h b/src/legacy/SampSharp/interop.h similarity index 100% rename from src/SampSharp/interop.h rename to src/legacy/SampSharp/interop.h diff --git a/src/SampSharp/locator.cpp b/src/legacy/SampSharp/locator.cpp similarity index 100% rename from src/SampSharp/locator.cpp rename to src/legacy/SampSharp/locator.cpp diff --git a/src/SampSharp/locator.h b/src/legacy/SampSharp/locator.h similarity index 100% rename from src/SampSharp/locator.h rename to src/legacy/SampSharp/locator.h diff --git a/src/SampSharp/logging.cpp b/src/legacy/SampSharp/logging.cpp similarity index 100% rename from src/SampSharp/logging.cpp rename to src/legacy/SampSharp/logging.cpp diff --git a/src/SampSharp/logging.h b/src/legacy/SampSharp/logging.h similarity index 100% rename from src/SampSharp/logging.h rename to src/legacy/SampSharp/logging.h diff --git a/src/SampSharp/main.cpp b/src/legacy/SampSharp/main.cpp similarity index 100% rename from src/SampSharp/main.cpp rename to src/legacy/SampSharp/main.cpp diff --git a/src/SampSharp/nethost.h b/src/legacy/SampSharp/nethost.h similarity index 100% rename from src/SampSharp/nethost.h rename to src/legacy/SampSharp/nethost.h diff --git a/src/SampSharp/nethost_coreclr.cpp b/src/legacy/SampSharp/nethost_coreclr.cpp similarity index 100% rename from src/SampSharp/nethost_coreclr.cpp rename to src/legacy/SampSharp/nethost_coreclr.cpp diff --git a/src/SampSharp/nethost_coreclr.h b/src/legacy/SampSharp/nethost_coreclr.h similarity index 100% rename from src/SampSharp/nethost_coreclr.h rename to src/legacy/SampSharp/nethost_coreclr.h diff --git a/src/SampSharp/platforms.h b/src/legacy/SampSharp/platforms.h similarity index 100% rename from src/SampSharp/platforms.h rename to src/legacy/SampSharp/platforms.h diff --git a/src/legacy/SampSharp/publish.cmd b/src/legacy/SampSharp/publish.cmd new file mode 100644 index 000000000..7831044d9 --- /dev/null +++ b/src/legacy/SampSharp/publish.cmd @@ -0,0 +1,34 @@ +@echo off +REM Publish script for legacy SampSharp plugin - copies release DLL to artifacts + +setlocal enabledelayedexpansion + +pushd "%~dp0" + +cd /d "..\..\.." +set "ROOTDIR=%CD%" +set "DLLSOURCE=%ROOTDIR%\build\bin\SampSharp\Release" +set "ARTIFACTDIR=%ROOTDIR%\build\artifacts\sampsharp-legacy" + +popd + +echo Publishing legacy SampSharp plugin... +echo Source: %DLLSOURCE% +echo Destination: %ARTIFACTDIR% +echo. + +if not exist "%DLLSOURCE%\SampSharp.dll" ( + echo Error: SampSharp.dll not found at %DLLSOURCE% + echo Please run build first: build.cmd legacy + exit /b 1 +) + +if not exist "%ARTIFACTDIR%" mkdir "%ARTIFACTDIR%" + +echo Copying files... +copy "%DLLSOURCE%\SampSharp.dll" "%ARTIFACTDIR%" /y +copy "%DLLSOURCE%\SampSharp.pdb" "%ARTIFACTDIR%" /y 2>nul +copy "%DLLSOURCE%\SampSharp.lib" "%ARTIFACTDIR%" /y 2>nul + +echo. +echo Artifacts published to: %ARTIFACTDIR% diff --git a/src/legacy/SampSharp/publish.sh b/src/legacy/SampSharp/publish.sh new file mode 100755 index 000000000..24fbd65c0 --- /dev/null +++ b/src/legacy/SampSharp/publish.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# Publish script for legacy SampSharp plugin - copies release DLL/SO to artifacts + +set -e + +SRCDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ROOTDIR="$(cd "$SRCDIR/../../.." && pwd)" +DLLSOURCE="$ROOTDIR/build/bin/SampSharp/Release" +ARTIFACTDIR="$ROOTDIR/build/artifacts/sampsharp-legacy" + +echo "Publishing legacy SampSharp plugin..." +echo "Source: $DLLSOURCE" +echo "Destination: $ARTIFACTDIR" +echo "" + +# Check for the built library (either .so or .dll on Windows/WSL) +if [ ! -f "$DLLSOURCE/libSampSharp.so" ] && [ ! -f "$DLLSOURCE/SampSharp.dll" ]; then + echo "Error: libSampSharp.so or SampSharp.dll not found at $DLLSOURCE" + echo "Please run build first: build.sh legacy" + exit 1 +fi + +mkdir -p "$ARTIFACTDIR" + +echo "Copying files..." +if [ -f "$DLLSOURCE/libSampSharp.so" ]; then + cp "$DLLSOURCE/libSampSharp.so" "$ARTIFACTDIR/" || true +fi +if [ -f "$DLLSOURCE/SampSharp.dll" ]; then + cp "$DLLSOURCE/SampSharp.dll" "$ARTIFACTDIR/" || true + cp "$DLLSOURCE/SampSharp.pdb" "$ARTIFACTDIR/" 2>/dev/null || true + cp "$DLLSOURCE/SampSharp.lib" "$ARTIFACTDIR/" 2>/dev/null || true +fi + +echo "" +echo "Artifacts published to: $ARTIFACTDIR" diff --git a/src/SampSharp/strutil.cpp b/src/legacy/SampSharp/strutil.cpp similarity index 100% rename from src/SampSharp/strutil.cpp rename to src/legacy/SampSharp/strutil.cpp diff --git a/src/SampSharp/strutil.h b/src/legacy/SampSharp/strutil.h similarity index 100% rename from src/SampSharp/strutil.h rename to src/legacy/SampSharp/strutil.h diff --git a/src/SampSharp/testing.cpp b/src/legacy/SampSharp/testing.cpp similarity index 100% rename from src/SampSharp/testing.cpp rename to src/legacy/SampSharp/testing.cpp diff --git a/src/SampSharp/testing.h b/src/legacy/SampSharp/testing.h similarity index 100% rename from src/SampSharp/testing.h rename to src/legacy/SampSharp/testing.h diff --git a/src/SampSharp/version.h b/src/legacy/SampSharp/version.h similarity index 100% rename from src/SampSharp/version.h rename to src/legacy/SampSharp/version.h diff --git a/src/TestMode.Entities/Components/TestComponent.cs b/src/legacy/TestMode.Entities/Components/TestComponent.cs similarity index 100% rename from src/TestMode.Entities/Components/TestComponent.cs rename to src/legacy/TestMode.Entities/Components/TestComponent.cs diff --git a/src/TestMode.Entities/Components/UnusedComponent.cs b/src/legacy/TestMode.Entities/Components/UnusedComponent.cs similarity index 100% rename from src/TestMode.Entities/Components/UnusedComponent.cs rename to src/legacy/TestMode.Entities/Components/UnusedComponent.cs diff --git a/src/TestMode.Entities/Program.cs b/src/legacy/TestMode.Entities/Program.cs similarity index 100% rename from src/TestMode.Entities/Program.cs rename to src/legacy/TestMode.Entities/Program.cs diff --git a/src/TestMode.Entities/Properties/launchSettings.json b/src/legacy/TestMode.Entities/Properties/launchSettings.json similarity index 100% rename from src/TestMode.Entities/Properties/launchSettings.json rename to src/legacy/TestMode.Entities/Properties/launchSettings.json diff --git a/src/TestMode.Entities/Services/FunnyService.cs b/src/legacy/TestMode.Entities/Services/FunnyService.cs similarity index 100% rename from src/TestMode.Entities/Services/FunnyService.cs rename to src/legacy/TestMode.Entities/Services/FunnyService.cs diff --git a/src/TestMode.Entities/Services/IFunnyService.cs b/src/legacy/TestMode.Entities/Services/IFunnyService.cs similarity index 100% rename from src/TestMode.Entities/Services/IFunnyService.cs rename to src/legacy/TestMode.Entities/Services/IFunnyService.cs diff --git a/src/TestMode.Entities/Services/IScopedFunnyService.cs b/src/legacy/TestMode.Entities/Services/IScopedFunnyService.cs similarity index 100% rename from src/TestMode.Entities/Services/IScopedFunnyService.cs rename to src/legacy/TestMode.Entities/Services/IScopedFunnyService.cs diff --git a/src/TestMode.Entities/Services/IVehicleRepository.cs b/src/legacy/TestMode.Entities/Services/IVehicleRepository.cs similarity index 100% rename from src/TestMode.Entities/Services/IVehicleRepository.cs rename to src/legacy/TestMode.Entities/Services/IVehicleRepository.cs diff --git a/src/TestMode.Entities/Services/VehicleRepository.cs b/src/legacy/TestMode.Entities/Services/VehicleRepository.cs similarity index 100% rename from src/TestMode.Entities/Services/VehicleRepository.cs rename to src/legacy/TestMode.Entities/Services/VehicleRepository.cs diff --git a/src/TestMode.Entities/Systems/BasicCommandsSystem.cs b/src/legacy/TestMode.Entities/Systems/BasicCommandsSystem.cs similarity index 100% rename from src/TestMode.Entities/Systems/BasicCommandsSystem.cs rename to src/legacy/TestMode.Entities/Systems/BasicCommandsSystem.cs diff --git a/src/TestMode.Entities/Systems/IssueTests/Issue326Timers.cs b/src/legacy/TestMode.Entities/Systems/IssueTests/Issue326Timers.cs similarity index 100% rename from src/TestMode.Entities/Systems/IssueTests/Issue326Timers.cs rename to src/legacy/TestMode.Entities/Systems/IssueTests/Issue326Timers.cs diff --git a/src/TestMode.Entities/Systems/IssueTests/Issue333ReproIndexOutOfBoundsError.cs b/src/legacy/TestMode.Entities/Systems/IssueTests/Issue333ReproIndexOutOfBoundsError.cs similarity index 100% rename from src/TestMode.Entities/Systems/IssueTests/Issue333ReproIndexOutOfBoundsError.cs rename to src/legacy/TestMode.Entities/Systems/IssueTests/Issue333ReproIndexOutOfBoundsError.cs diff --git a/src/TestMode.Entities/Systems/IssueTests/Issue353ReproEntityIdError.cs b/src/legacy/TestMode.Entities/Systems/IssueTests/Issue353ReproEntityIdError.cs similarity index 100% rename from src/TestMode.Entities/Systems/IssueTests/Issue353ReproEntityIdError.cs rename to src/legacy/TestMode.Entities/Systems/IssueTests/Issue353ReproEntityIdError.cs diff --git a/src/TestMode.Entities/Systems/IssueTests/Issue363ReproServerCrash.cs b/src/legacy/TestMode.Entities/Systems/IssueTests/Issue363ReproServerCrash.cs similarity index 100% rename from src/TestMode.Entities/Systems/IssueTests/Issue363ReproServerCrash.cs rename to src/legacy/TestMode.Entities/Systems/IssueTests/Issue363ReproServerCrash.cs diff --git a/src/TestMode.Entities/Systems/IssueTests/Issue419VehicleHealthOnGmx.cs b/src/legacy/TestMode.Entities/Systems/IssueTests/Issue419VehicleHealthOnGmx.cs similarity index 100% rename from src/TestMode.Entities/Systems/IssueTests/Issue419VehicleHealthOnGmx.cs rename to src/legacy/TestMode.Entities/Systems/IssueTests/Issue419VehicleHealthOnGmx.cs diff --git a/src/TestMode.Entities/Systems/IssueTests/Issue450DialogClosingCausesError.cs b/src/legacy/TestMode.Entities/Systems/IssueTests/Issue450DialogClosingCausesError.cs similarity index 100% rename from src/TestMode.Entities/Systems/IssueTests/Issue450DialogClosingCausesError.cs rename to src/legacy/TestMode.Entities/Systems/IssueTests/Issue450DialogClosingCausesError.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemActorTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemActorTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemActorTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemActorTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemCheckpointTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemCheckpointTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemCheckpointTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemCheckpointTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemDiTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemDiTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemDiTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemDiTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemDialogsTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemDialogsTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemDialogsTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemDialogsTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemEntityComponentsTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemEntityComponentsTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemEntityComponentsTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemEntityComponentsTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemMenuTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemMenuTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemMenuTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemMenuTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemObjectTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemObjectTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemObjectTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemObjectTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemPlayerCommandTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemPlayerCommandTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemPlayerCommandTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemPlayerCommandTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemRconCommandTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemRconCommandTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemRconCommandTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemRconCommandTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemSynchronizationContextTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemSynchronizationContextTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemSynchronizationContextTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemSynchronizationContextTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemTextLabelTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemTextLabelTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemTextLabelTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemTextLabelTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemTextdrawTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemTextdrawTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemTextdrawTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemTextdrawTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemTicking.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemTicking.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemTicking.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemTicking.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemVehicleInfoTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemVehicleInfoTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemVehicleInfoTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemVehicleInfoTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemVehicleRotationQuaternionErrorTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemVehicleRotationQuaternionErrorTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemVehicleRotationQuaternionErrorTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemVehicleRotationQuaternionErrorTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemVehicleTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemVehicleTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemVehicleTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemVehicleTest.cs diff --git a/src/TestMode.Entities/Systems/Tests/SystemZoneTest.cs b/src/legacy/TestMode.Entities/Systems/Tests/SystemZoneTest.cs similarity index 100% rename from src/TestMode.Entities/Systems/Tests/SystemZoneTest.cs rename to src/legacy/TestMode.Entities/Systems/Tests/SystemZoneTest.cs diff --git a/src/TestMode.Entities/TestMode.Entities.csproj b/src/legacy/TestMode.Entities/TestMode.Entities.csproj similarity index 100% rename from src/TestMode.Entities/TestMode.Entities.csproj rename to src/legacy/TestMode.Entities/TestMode.Entities.csproj diff --git a/src/TestMode.Entities/TestStartup.cs b/src/legacy/TestMode.Entities/TestStartup.cs similarity index 100% rename from src/TestMode.Entities/TestStartup.cs rename to src/legacy/TestMode.Entities/TestStartup.cs diff --git a/src/TestMode.GameMode/BenchmarkCommands.cs b/src/legacy/TestMode.GameMode/BenchmarkCommands.cs similarity index 100% rename from src/TestMode.GameMode/BenchmarkCommands.cs rename to src/legacy/TestMode.GameMode/BenchmarkCommands.cs diff --git a/src/TestMode.GameMode/Commands/Commands.cs b/src/legacy/TestMode.GameMode/Commands/Commands.cs similarity index 100% rename from src/TestMode.GameMode/Commands/Commands.cs rename to src/legacy/TestMode.GameMode/Commands/Commands.cs diff --git a/src/TestMode.GameMode/Commands/DialogCommands.cs b/src/legacy/TestMode.GameMode/Commands/DialogCommands.cs similarity index 100% rename from src/TestMode.GameMode/Commands/DialogCommands.cs rename to src/legacy/TestMode.GameMode/Commands/DialogCommands.cs diff --git a/src/TestMode.GameMode/GameMode.cs b/src/legacy/TestMode.GameMode/GameMode.cs similarity index 100% rename from src/TestMode.GameMode/GameMode.cs rename to src/legacy/TestMode.GameMode/GameMode.cs diff --git a/src/TestMode.GameMode/Player.cs b/src/legacy/TestMode.GameMode/Player.cs similarity index 100% rename from src/TestMode.GameMode/Player.cs rename to src/legacy/TestMode.GameMode/Player.cs diff --git a/src/TestMode.GameMode/Program.cs b/src/legacy/TestMode.GameMode/Program.cs similarity index 100% rename from src/TestMode.GameMode/Program.cs rename to src/legacy/TestMode.GameMode/Program.cs diff --git a/src/TestMode.GameMode/Properties/launchSettings.json b/src/legacy/TestMode.GameMode/Properties/launchSettings.json similarity index 100% rename from src/TestMode.GameMode/Properties/launchSettings.json rename to src/legacy/TestMode.GameMode/Properties/launchSettings.json diff --git a/src/TestMode.GameMode/TestMode.GameMode.csproj b/src/legacy/TestMode.GameMode/TestMode.GameMode.csproj similarity index 100% rename from src/TestMode.GameMode/TestMode.GameMode.csproj rename to src/legacy/TestMode.GameMode/TestMode.GameMode.csproj diff --git a/src/TestMode.GameMode/Vehicle.cs b/src/legacy/TestMode.GameMode/Vehicle.cs similarity index 100% rename from src/TestMode.GameMode/Vehicle.cs rename to src/legacy/TestMode.GameMode/Vehicle.cs diff --git a/src/pawn/_rconfix.amx b/src/legacy/pawn/_rconfix.amx similarity index 100% rename from src/pawn/_rconfix.amx rename to src/legacy/pawn/_rconfix.amx diff --git a/src/pawn/_rconfix.pwn b/src/legacy/pawn/_rconfix.pwn similarity index 100% rename from src/pawn/_rconfix.pwn rename to src/legacy/pawn/_rconfix.pwn diff --git a/src/pawn/empty.amx b/src/legacy/pawn/empty.amx similarity index 100% rename from src/pawn/empty.amx rename to src/legacy/pawn/empty.amx diff --git a/src/pawn/empty.pwn b/src/legacy/pawn/empty.pwn similarity index 100% rename from src/pawn/empty.pwn rename to src/legacy/pawn/empty.pwn