From a8dfcc25c72c076ba9d95c59ddfb88789625e027 Mon Sep 17 00:00:00 2001 From: ThirteenAG Date: Sat, 20 Jul 2019 16:13:16 +0300 Subject: premake and appveyor update --- .appveyor.yml | 52 ++++++-- .gitignore | 350 ++++++++++++++++++++++++++++++++++++++++++++++++++++ premake-vs2015.cmd | 1 + premake-vs2017.cmd | 1 + premake-vs2019.cmd | 1 + premake5.cmd | 1 - premake5.lua | 49 +++++--- premake5vs17.cmd | 1 - src/skel/win/win.rc | 8 +- 9 files changed, 427 insertions(+), 37 deletions(-) create mode 100644 .gitignore create mode 100644 premake-vs2015.cmd create mode 100644 premake-vs2017.cmd create mode 100644 premake-vs2019.cmd delete mode 100644 premake5.cmd delete mode 100644 premake5vs17.cmd diff --git a/.appveyor.yml b/.appveyor.yml index d3f57374..c87ddb7a 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,20 +1,46 @@ -image: Visual Studio 2017 +version: 1.0.{build} +image: Visual Studio 2019 configuration: - - DebugCI - - ReleaseCI -platform: - - Win32 +- Debug +- Release +platform: Win32 environment: APPVEYOR_SAVE_CACHE_ON_ERROR: true install: - - set PATH=%APPVEYOR_BUILD_FOLDER%/bin;%PATH% -before_build: - - mkdir "%APPVEYOR_BUILD_FOLDER%/build" - - cd "%APPVEYOR_BUILD_FOLDER%" - - premake5.exe vs2015 +- cmd: >- + git submodule update --init --recursive + + premake-vs2019.cmd build: - project: c:\projects\re3\build\re3.sln + project: build/re3.sln verbosity: minimal -artifacts: - path: bin/%CONFIGURATION%/re3.dll +after_build: +- ps: >- + $releases = "https://github.com/ThirteenAG/Ultimate-ASI-Loader/releases" + + $name = "Ultimate-ASI-Loader.zip" + + $latestRelease = Invoke-WebRequest $releases/latest -Headers @{"Accept"="application/json"} + + $json = $latestRelease.Content | ConvertFrom-Json + + $latestVersion = $json.tag_name + + $url = "$releases/download/$latestVersion/$name" + + Start-FileDownload $url -FileName 'C:\Ultimate-ASI-Loader.zip' + + 7z e c:\Ultimate-ASI-Loader.zip -oc:\Projects\re3\bin\${env:CONFIGURATION} + + + cd "bin\${env:CONFIGURATION}" + + copy re3.dll re3.asi + + 7z u "RE3_${env:CONFIGURATION}+UAL.zip" re3.asi dinput8.dll + + Get-ChildItem .\*.zip | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name } +artifacts: +- path: bin/%CONFIGURATION%/re3.dll + name: re3.dll \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..61ed7035 --- /dev/null +++ b/.gitignore @@ -0,0 +1,350 @@ +## 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/master/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/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Bb]uild/ + +# 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/ + +# 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 +*.log +*.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 + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# 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/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.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 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/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ diff --git a/premake-vs2015.cmd b/premake-vs2015.cmd new file mode 100644 index 00000000..6d0726fa --- /dev/null +++ b/premake-vs2015.cmd @@ -0,0 +1 @@ +premake5 vs2015 \ No newline at end of file diff --git a/premake-vs2017.cmd b/premake-vs2017.cmd new file mode 100644 index 00000000..b569c559 --- /dev/null +++ b/premake-vs2017.cmd @@ -0,0 +1 @@ +premake5 vs2017 \ No newline at end of file diff --git a/premake-vs2019.cmd b/premake-vs2019.cmd new file mode 100644 index 00000000..18298f5e --- /dev/null +++ b/premake-vs2019.cmd @@ -0,0 +1 @@ +premake5 vs2019 \ No newline at end of file diff --git a/premake5.cmd b/premake5.cmd deleted file mode 100644 index 6d0726fa..00000000 --- a/premake5.cmd +++ /dev/null @@ -1 +0,0 @@ -premake5 vs2015 \ No newline at end of file diff --git a/premake5.lua b/premake5.lua index 6966ec16..adca50d2 100644 --- a/premake5.lua +++ b/premake5.lua @@ -1,5 +1,5 @@ workspace "re3" - configurations { "DebugCI", "ReleaseCI", "Release", "ReleaseFH", "Debug" } + configurations { "Debug", "Release", "ReleaseFH" } location "build" files { "src/*.*" } @@ -37,6 +37,32 @@ workspace "re3" includedirs { "rwsdk/include/d3d8" } libdirs { "dxsdk/lib" } + + pbcommands = { + "setlocal EnableDelayedExpansion", + "set file=$(TargetPath)", + "FOR %%i IN (\"%file%\") DO (", + "set filename=%%~ni", + "set fileextension=%%~xi", + "set target=!path!!filename!!fileextension!", + "if exist \"!target!\" copy /y \"!file!\" \"!target!\"", + ")" } + + function setpaths (gamepath, exepath, scriptspath) + scriptspath = scriptspath or "scripts/" + if (gamepath) then + cmdcopy = { "set \"path=" .. gamepath .. scriptspath .. "\"" } + table.insert(cmdcopy, pbcommands) + postbuildcommands (cmdcopy) + debugdir (gamepath) + if (exepath) then + debugcommand (gamepath .. exepath) + dir, file = exepath:match'(.*/)(.*)' + debugdir (gamepath .. (dir or "")) + end + end + --targetdir ("bin/%{prj.name}/" .. scriptspath) + end project "re3" kind "SharedLib" @@ -51,31 +77,18 @@ project "re3" defines { "DEBUG" } staticruntime "on" symbols "On" - debugdir "$(GTA_III_RE_DIR)" - debugcommand "$(GTA_III_RE_DIR)/gta3.exe" - postbuildcommands "copy /y \"$(TargetPath)\" \"$(GTA_III_RE_DIR)\\plugins\\re3.dll\"" + setpaths("$(GTA_III_RE_DIR)/", "gta3.exe", "plugins/") filter "configurations:Release" defines { "NDEBUG" } optimize "On" staticruntime "on" - debugdir "C:/Users/aap/games/gta3_re" - debugcommand "C:/Users/aap/games/gta3_re/gta3.exe" - postbuildcommands "copy /y \"$(TargetPath)\" \"$(GTA_III_RE_DIR)\\plugins\\re3.dll\"" + setpaths("$(GTA_III_RE_DIR)/", "gta3.exe", "plugins/") + filter "configurations:ReleaseFH" defines { "NDEBUG" } symbols "Full" optimize "off" staticruntime "on" - debugdir "$(GTA_III_DIR)" - debugcommand "$(GTA_III_DIR)/gta3.exe" targetextension ".asi" - targetdir "$(GTA_III_DIR)/scripts" - filter "configurations:DebugCI" - defines { "DEBUG" } - symbols "On" - staticruntime "on" - filter "configurations:ReleaseCI" - defines { "NDEBUG" } - optimize "On" - staticruntime "on" + setpaths("$(GTA_III_RE_DIR)/", "gta3.exe", "scripts/") diff --git a/premake5vs17.cmd b/premake5vs17.cmd deleted file mode 100644 index b569c559..00000000 --- a/premake5vs17.cmd +++ /dev/null @@ -1 +0,0 @@ -premake5 vs2017 \ No newline at end of file diff --git a/src/skel/win/win.rc b/src/skel/win/win.rc index 051f31ed..676b8ef7 100644 --- a/src/skel/win/win.rc +++ b/src/skel/win/win.rc @@ -4,11 +4,11 @@ // // Generated from the TEXTINCLUDE 2 resource. // -#if !defined(__GNU_C__) -#include "afxres.h" -#else +//#if !defined(__GNU_C__) +//#include "afxres.h" +//#else #include "winresrc.h" -#endif /* !defined(__GNU_C__) */ +//#endif /* !defined(__GNU_C__) */ ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS -- cgit v1.2.3 From 9c16c1fa634a98290c5a4ca029c826102b740a76 Mon Sep 17 00:00:00 2001 From: ThirteenAG Date: Sat, 20 Jul 2019 16:30:03 +0300 Subject: small cleanup --- .appveyor.yml | 15 +-------------- premake5.lua | 2 +- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index c87ddb7a..14220506 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -9,37 +9,24 @@ environment: install: - cmd: >- git submodule update --init --recursive - premake-vs2019.cmd build: project: build/re3.sln verbosity: minimal after_build: +# downloading latest release of UAL to make release with UAL and ASI. - ps: >- $releases = "https://github.com/ThirteenAG/Ultimate-ASI-Loader/releases" - $name = "Ultimate-ASI-Loader.zip" - $latestRelease = Invoke-WebRequest $releases/latest -Headers @{"Accept"="application/json"} - $json = $latestRelease.Content | ConvertFrom-Json - $latestVersion = $json.tag_name - $url = "$releases/download/$latestVersion/$name" - - Start-FileDownload $url -FileName 'C:\Ultimate-ASI-Loader.zip' - 7z e c:\Ultimate-ASI-Loader.zip -oc:\Projects\re3\bin\${env:CONFIGURATION} - - cd "bin\${env:CONFIGURATION}" - copy re3.dll re3.asi - 7z u "RE3_${env:CONFIGURATION}+UAL.zip" re3.asi dinput8.dll - Get-ChildItem .\*.zip | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name } artifacts: - path: bin/%CONFIGURATION%/re3.dll diff --git a/premake5.lua b/premake5.lua index adca50d2..7d6aa717 100644 --- a/premake5.lua +++ b/premake5.lua @@ -49,7 +49,7 @@ workspace "re3" ")" } function setpaths (gamepath, exepath, scriptspath) - scriptspath = scriptspath or "scripts/" + scriptspath = scriptspath or "" if (gamepath) then cmdcopy = { "set \"path=" .. gamepath .. scriptspath .. "\"" } table.insert(cmdcopy, pbcommands) -- cgit v1.2.3