Compare commits

..

41 Commits

Author SHA1 Message Date
OMGeeky
dbff7fb571 Refactor version handling to read APP_VERSION from ATCS_latest file
(cherry picked from commit c9cccf9eb2)
2025-02-18 23:34:08 +01:00
OMGeeky
dfb3e31a7a Update package.sh to copy version file from VERSION_FILE variable
(cherry picked from commit 5ff45746d8)
2025-02-18 23:33:48 +01:00
OMGeeky
022c9ad229 Update release workflow to read version from the correct file path
(cherry picked from commit f14d21e322)
2025-02-18 23:33:27 +01:00
OMGeeky
38a3d4082b Update package.sh to reference ATCS_latest from the source directory and copy it to the temporary packaging directory
(cherry picked from commit 5191f56a01)
2025-02-18 23:31:20 +01:00
OMGeeky
cd78ee3ad0 Add .gitattributes to normalize line endings and enforce LF for bash scripts
(cherry picked from commit a71e8fe0a4)
2025-02-18 23:29:00 +01:00
OMGeeky
7b30cc6355 Remove unnecessary exit command from ATCS.sh
(cherry picked from commit a76d425ab7)
2025-02-18 23:29:00 +01:00
OMGeeky
9a6c5ecf6e delete obsolete Linux folder 2025-02-18 22:34:29 +01:00
OMGeeky
ed81c2382f Fix some issues with the linux ATCS.sh when the current path has spaces etc. 2025-02-18 22:33:08 +01:00
OMGeeky
ed2ad56b76 cleanup some packaging stuff 2025-02-18 18:08:02 +01:00
OMGeeky
becf45f249 Refactor release workflow to consolidate asset uploads 2025-02-16 01:19:20 +01:00
OMGeeky
c950324cd9 Reorder NSIS installation step in release workflow 2025-02-16 01:10:25 +01:00
OMGeeky
b58d080f4d Update installer script and release workflow to improve version handling 2025-02-16 01:07:44 +01:00
OMGeeky
a2640c2da0 Update installer script and release workflow to use dynamic versioning 2025-02-16 00:57:27 +01:00
OMGeeky
4fe7e71a43 Refactor GitHub Actions workflow to streamline version retrieval process 2025-02-16 00:39:10 +01:00
OMGeeky
9a162ac58d Refactor release workflow to improve directory navigation and version handling 2025-02-16 00:36:02 +01:00
OMGeeky
93718230a5 Merge pull request #1 from OMGeeky/package-improvements
Package improvements
2025-02-16 00:27:35 +01:00
OMGeeky
4fbf7de85a Merge remote-tracking branch 'omgeeky/package-improvements' into package-improvements
# Conflicts:
#	packaging/Windows/ATCS_Installer.nsi
2025-02-16 00:26:03 +01:00
OMGeeky
f0be1a8135 Add GitHub Actions workflow for automated release builds 2025-02-16 00:24:50 +01:00
OMGeeky
104d3db5ad Update ATCS_Installer.nsi to change ATCS_SOURCE_DIR path for improved directory structure and allow github actions 2025-02-16 00:24:47 +01:00
OMGeeky
f154efcecc Update ATCS_Installer.nsi to dynamically set VERSION from ATCS_latest file 2025-02-16 00:24:05 +01:00
OMGeeky
00e9e3b2a7 Enhance package.sh to support platform-specific archive creation using PowerShell on Windows 2025-02-16 00:23:52 +01:00
OMGeeky
92436d3ce9 Update package.sh to switch from tar.gz to zip for archive creation 2025-02-16 00:23:52 +01:00
OMGeeky
b6cfe349c0 Add GitHub Actions workflow for automated release builds 2025-02-16 00:21:42 +01:00
OMGeeky
1e2daa56a4 Update ATCS_Installer.nsi to change ATCS_SOURCE_DIR path for improved directory structure and allow github actions 2025-02-16 00:21:05 +01:00
OMGeeky
2caaaeb474 Update ATCS_Installer.nsi to dynamically set VERSION from ATCS_latest file 2025-02-16 00:20:21 +01:00
OMGeeky
0e8ed1a25d Enhance package.sh to support platform-specific archive creation using PowerShell on Windows 2025-02-16 00:01:27 +01:00
Nut.andor
e2fdf08fec new spritesheets index 2025-02-15 23:48:39 +01:00
OMGeeky
b5dceb9fd1 Update package.sh to switch from tar.gz to zip for archive creation 2025-02-15 23:32:36 +01:00
Nut.andor
1555bd63db Version with actor condition description is 21 2025-02-15 17:04:23 +01:00
Nut.andor
56fff8a730 nsi 2025-02-15 16:53:27 +01:00
Nut.andor
dd7b3d5300 version nbr 2025-02-15 16:44:40 +01:00
Nut.andor
68affdde8c misc 2025-02-15 16:44:13 +01:00
Nut.andor
6cec8b835e nsi 2025-02-15 16:36:45 +01:00
Nut.andor
aa43382296 Merge branch 'pulls/1195352/7' 2025-02-15 16:34:58 +01:00
Nut.andor
ec346e9c98 command parameters 2025-02-15 16:33:12 +01:00
Nut.andor
61d5af822c Build scripts 2025-02-15 16:12:38 +01:00
Nut.andor
c2d05b2bff Pull Request #7: Build scripts 2025-02-15 16:03:43 +01:00
Nut.andor
6578236775 Merge branch 'pulls/1195352/6' 2025-02-15 14:38:30 +01:00
Nut.andor
5550b257ca add description field to actor conditions 2024-12-28 14:53:02 +01:00
Nut.andor
619aa1075f Pull Request #6: add description field to actor conditions 2024-12-27 13:05:53 +01:00
OMGeeky
38a3ad85c8 add description field to actor conditions 2024-12-27 10:12:48 +01:00
21 changed files with 172 additions and 136 deletions

6
.gitattributes vendored Normal file
View File

@@ -0,0 +1,6 @@
# Set default behavior to automatically normalize line endings.
* text=auto
# Force bash scripts to always use LF line endings so that if a repo is accessed
# in Unix via a file share from Windows, the scripts will work.
*.sh text eol=lf

56
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,56 @@
name: Release Build
on:
release:
types: [created]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Get Version
id: get_version
shell: bash
run: |
echo "Reading version from file:"
cat res/ATCS_latest
echo ""
VERSION=$(tr -d '[:space:]' < "res/ATCS_latest")
echo "Processed version: $VERSION"
echo "VERSION=$VERSION" >> $GITHUB_ENV
echo "Environment variable set to: $VERSION"
- name: Set up JDK
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'temurin'
- name: Build JAR
shell: bash
run: |
cd packaging
chmod +x package.sh
echo "Building JAR and ZIP for version: ${{ env.VERSION }}"
./package.sh -windows
echo "Created artifacts:"
ls -la common/ATCS.jar
ls -la ATCS_${{ env.VERSION }}.zip
- name: Install NSIS
uses: joncloud/makensis-action@v4
with:
script-file: packaging/Windows/ATCS_Installer.nsi
arguments: /DVERSION="${{ env.VERSION }}"
- name: Upload Release Assets
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: |
./packaging/ATCS_${{ env.VERSION }}.zip
./packaging/ATCS_${{ env.VERSION }}_Setup.exe

3
.gitignore vendored
View File

@@ -8,3 +8,6 @@ packaging/common/ATCS.jar
packaging/ATCS_*.zip packaging/ATCS_*.zip
ATCS_v*.tar.gz ATCS_v*.tar.gz
ATCS.jar ATCS.jar
/packaging/common/ATCS.env.bat
/packaging/common/ATCS.env
/packaging/common/ATCS_v*.zip

2
.idea/misc.xml generated
View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK" /> <component name="ProjectRootManager" version="2" default="true" />
</project> </project>

View File

@@ -1 +0,0 @@
v0.6.19

View File

@@ -1,2 +0,0 @@
/ATCS_v*.zip
/ATCS_v*.zip.rename

View File

@@ -1,20 +0,0 @@
@echo off
set "ATCS_DIR=%~dp0"
set "MAX_MEM=512M"
set "CP=%ATCS_DIR%lib\*"
set "JAVA=javaw.exe"
set "JAVA_OPTS=-DFONT_SCALE=1.0 -Dswing.aatext=true"
set "ENV_FILE=%ATCS_DIR%ATCS.env.bat"
set "MAIN_CLASS=com.gpl.rpg.atcontentstudio.ATContentStudio"
if exist "%ENV_FILE%" (
call "%ENV_FILE%"
) else (
echo REM set "MAX_MEM=%MAX_MEM%">"%ENV_FILE%"
echo REM set "JAVA=%JAVA%">>"%ENV_FILE%"
echo REM set "JAVA_OPTS=%JAVA_OPTS%">>"%ENV_FILE%"
echo.>>"%ENV_FILE%"
)
start "" "%JAVA%" %JAVA_OPTS% -Xmx%MAX_MEM% -cp "%CP%" %MAIN_CLASS%

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -1,22 +0,0 @@
#!/bin/bash
ATCS_DIR=$(dirname $(readlink -f "$0" || greadlink -f "$0" || stat -f "$0"))
MAX_MEM=512M
CP=$(find ${ATCS_DIR}/lib/ -name '*.jar' | paste -sd: -)
JAVA=java
JAVA_OPTS='-DFONT_SCALE=1.0 -Dswing.aatext=true'
ENV_FILE=${ATCS_DIR}/ATCS.env
MAIN_CLASS=com.gpl.rpg.atcontentstudio.ATContentStudio
if [ -f ${ENV_FILE} ]
then
source ${ENV_FILE}
else
echo "#MAX_MEM=${MAX_MEM}" > ${ENV_FILE}
echo "#JAVA=${JAVA}" >> ${ENV_FILE}
echo "#JAVA_OPTS=${JAVA_OPTS}" >> ${ENV_FILE}
echo "" >> ${ENV_FILE}
fi
export ENV_FILE
$JAVA ${JAVA_OPTS} -Xmx${MAX_MEM} -cp ${CP} ${MAIN_CLASS}

View File

@@ -1 +0,0 @@
/*.jar

View File

@@ -1,11 +1,12 @@
!include MUI2.nsh !include MUI2.nsh
!define VERSION "0.6.20" ; Version will be passed as /DVERSION=vx.x.x
!define TRAINER_VERSION "0.1.5" !define TRAINER_VERSION "0.1.5"
!define JAVA_BIN "java" !define JAVA_BIN "java"
!define ATCS_SOURCE_DIR "..\..\"
Name "Andor's Trail Content Studio v${VERSION}" Name "Andor's Trail Content Studio ${VERSION}"
OutFile "ATCS_v${VERSION}_Setup.exe" OutFile "..\ATCS_${VERSION}_Setup.exe"
InstallDir "$PROGRAMFILES\ATCS\" InstallDir "$PROGRAMFILES\ATCS\"
;SetCompressor /SOLID /FINAL lzma ;SetCompressor /SOLID /FINAL lzma
@@ -13,10 +14,10 @@ InstallDir "$PROGRAMFILES\ATCS\"
Var StartMenuFolder Var StartMenuFolder
!define MUI_WELCOMEPAGE_TITLE "Welcome to Andor's Trail Content Studio installer" !define MUI_WELCOMEPAGE_TITLE "Welcome to Andor's Trail Content Studio installer"
!define MUI_WELCOMEPAGE_TEXT "This will install Andor's Trail Content Studio v${VERSION} installer" !define MUI_WELCOMEPAGE_TEXT "This will install Andor's Trail Content Studio ${VERSION}"
!define MUI_FINISHPAGE_TEXT "Andor's Trail Content Studio v${VERSION} install completed !" !define MUI_FINISHPAGE_TEXT "Andor's Trail Content Studio ${VERSION} - Install completed !"
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "Andor's Trail Content Studio" !define MUI_STARTMENUPAGE_DEFAULTFOLDER "Andor's Trail Content Studio"
!define MUI_PAGE_HEADER_TEXT "Installing Andor's Trail Content Studio v${VERSION}" !define MUI_PAGE_HEADER_TEXT "Installing Andor's Trail Content Studio ${VERSION}"
;Start Menu Folder Page Configuration ;Start Menu Folder Page Configuration
@@ -46,31 +47,33 @@ Var StartMenuFolder
!insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES !insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "English"
;------------------------------------------------------------------------------------
Section install Section install
;--- Create in ...\packaging\common\ ATCS.cmd ATCT.ico ATCS.jar
SetOutPath $INSTDIR SetOutPath $INSTDIR
file "ATCS.ico" file "ATCS.ico"
file "${ATCS_SOURCE_DIR}\packaging\common\ATCS.jar"
Delete "$INSTDIR\lib\*"
Call GetJRE Call GetJRE
Pop $R0 Pop $R0
; file "${ATCS_SOURCE_DIR}\packaging\common\ATCS.cmd"
; !insertmacro _ReplaceInFile "ATCS.cmd" "java.exe" "$R0" (It was too much work this way)
FileOpen $9 "ATCS.cmd" w FileOpen $9 "ATCS.cmd" w
FileWrite $9 '@echo off$\r$\n' FileWrite $9 '@echo off$\r$\n'
FileWrite $9 '$\r$\n' FileWrite $9 '$\r$\n'
FileWrite $9 'set "ATCS_DIR=%~dp0"$\r$\n' FileWrite $9 'set "ATCS_DIR=%~dp0"$\r$\n'
FileWrite $9 'set "MAX_MEM=512M"$\r$\n' FileWrite $9 'set "MAX_MEM=1024M"$\r$\n'
FileWrite $9 'set "CP=%ATCS_DIR%lib\*"$\r$\n' FileWrite $9 'set "CP=%ATCS_DIR%lib\*"$\r$\n'
FileWrite $9 'set "JAVA=$R0"$\r$\n' FileWrite $9 'set "JAVA=$R0"$\r$\n'
FileWrite $9 'set "JAVA_OPTS="$\r$\n' FileWrite $9 'set "JAVA_OPTS="$\r$\n'
FileWrite $9 'set "ENV_FILE=%ATCS_DIR%ATCS.env.bat"$\r$\n' FileWrite $9 'set "ENV_FILE=%ATCS_DIR%ATCS.env.bat"$\r$\n'
FileWrite $9 'set "MAIN_CLASS=com.gpl.rpg.atcontentstudio.ATContentStudio"$\r$\n' FileWrite $9 'set "MAIN_CLASS=com.gpl.rpg.atcontentstudio.ATContentStudio"$\r$\n'
FileWrite $9 '$\r$\n' FileWrite $9 '$\r$\n'
FileWrite $9 'if exist "%ENV_FILE%" ($\r$\n' FileWrite $9 'if exist "%ENV_FILE%" ($\r$\n'
FileWrite $9 ' call "%ENV_FILE%"$\r$\n' FileWrite $9 ' call "%ENV_FILE%"$\r$\n'
FileWrite $9 ') else ($\r$\n' FileWrite $9 ') else ($\r$\n'
FileWrite $9 ' echo REM set "MAX_MEM=%MAX_MEM%">"%ENV_FILE%"$\r$\n' FileWrite $9 ' echo REM set "MAX_MEM=%MAX_MEM%">"%ENV_FILE%"$\r$\n'
@@ -79,96 +82,84 @@ Section install
FileWrite $9 ' echo.>>"%ENV_FILE%"$\r$\n' FileWrite $9 ' echo.>>"%ENV_FILE%"$\r$\n'
FileWrite $9 ')$\r$\n' FileWrite $9 ')$\r$\n'
FileWrite $9 '$\r$\n' FileWrite $9 '$\r$\n'
FileWrite $9 'start "" "%JAVA%" %JAVA_OPTS% -Xmx%MAX_MEM% -cp "%CP%" %MAIN_CLASS%$\r$\n' FileWrite $9 'start "" "%JAVA%" %JAVA_OPTS% -Xmx%MAX_MEM% -jar ATCS.jar$\r$\n'
FileClose $9 FileClose $9
SetOutPath "$INSTDIR\lib\"
file "C:\AT\ATCS_source\lib\jide-oss.jar"
file "C:\AT\ATCS_source\lib\ui.jar"
file "C:\AT\ATCS_source\lib\AndorsTrainer_v${TRAINER_VERSION}.jar"
file "C:\AT\ATCS_source\lib\junit-4.10.jar"
file "C:\AT\ATCS_source\lib\json_simple-1.1.jar"
file "C:\AT\temp\ATCS_v0.6.20\ATCS_v${VERSION}.jar"
file "C:\AT\ATCS_source\lib\rsyntaxtextarea.jar"
file "C:\AT\ATCS_source\lib\prefuse.jar"
file "C:\AT\ATCS_source\lib\bsh-2.0b4.jar"
file "C:\AT\ATCS_source\lib\jsoup-1.10.2.jar"
SetOutPath $INSTDIR
WriteUninstaller "$INSTDIR\Uninstall.exe" WriteUninstaller "$INSTDIR\Uninstall.exe"
!insertmacro MUI_STARTMENU_WRITE_BEGIN "ATCS" !insertmacro MUI_STARTMENU_WRITE_BEGIN "ATCS"
;Create shortcuts ;--- Create shortcuts
CreateDirectory "$SMPROGRAMS\$StartMenuFolder" CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Andor's Trail Content Studio.lnk" "$INSTDIR\ATCS.cmd" "" "$INSTDIR\ATCS.ico" CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Andor's Trail Content Studio.lnk" "$INSTDIR\ATCS.cmd" "" "$INSTDIR\ATCS.ico"
CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe" CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
!insertmacro MUI_STARTMENU_WRITE_END !insertmacro MUI_STARTMENU_WRITE_END
SectionEnd SectionEnd
;------------------------------------------------------------------------------------
Section uninstall Section uninstall
Delete "$INSTDIR\lib\jide-oss.jar" Delete "$INSTDIR\lib\jide-oss.jar"
Delete "$INSTDIR\lib\ui.jar" Delete "$INSTDIR\lib\ui.jar"
Delete "$INSTDIR\lib\junit-4.10.jar" Delete "$INSTDIR\lib\junit-4.10.jar"
Delete "$INSTDIR\lib\json_simple-1.1.jar" Delete "$INSTDIR\lib\json_simple-1.1.jar"
Delete "$INSTDIR\lib\AndorsTrainer_v${TRAINER_VERSION}.jar" Delete "$INSTDIR\lib\AndorsTrainer_v${TRAINER_VERSION}.jar"
Delete "$INSTDIR\lib\ATCS_v${VERSION}.jar"
Delete "$INSTDIR\lib\rsyntaxtextarea.jar" Delete "$INSTDIR\lib\rsyntaxtextarea.jar"
Delete "$INSTDIR\lib\prefuse.jar" Delete "$INSTDIR\lib\prefuse.jar"
Delete "$INSTDIR\lib\bsh-2.0b4.jar" Delete "$INSTDIR\lib\bsh-2.0b4.jar"
Delete "$INSTDIR\lib\jsoup-1.10.2.jar" Delete "$INSTDIR\lib\jsoup-1.10.2.jar"
RMDir "$INSTDIR\lib\" RMDir "$INSTDIR\lib\"
Delete "$INSTDIR\ATCS.ico" Delete "$INSTDIR\ATCS.ico"
Delete "$INSTDIR\ATCS.cmd" Delete "$INSTDIR\ATCS.cmd"
Delete "$INSTDIR\ATCS.env.bat" Delete "$INSTDIR\ATCS.env.bat"
Delete "$INSTDIR\ATCS.jar"
Delete "$INSTDIR\Uninstall.exe" Delete "$INSTDIR\Uninstall.exe"
RMDir "$INSTDIR" RMDir "$INSTDIR"
!insertmacro MUI_STARTMENU_GETFOLDER "ATCS" $StartMenuFolder !insertmacro MUI_STARTMENU_GETFOLDER "ATCS" $StartMenuFolder
Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk"
Delete "$SMPROGRAMS\$StartMenuFolder\Andor's Trail Content Studio.lnk" Delete "$SMPROGRAMS\$StartMenuFolder\Andor's Trail Content Studio.lnk"
RMDir "$SMPROGRAMS\$StartMenuFolder" RMDir "$SMPROGRAMS\$StartMenuFolder"
SectionEnd SectionEnd
;------------------------------------------------------------------------------------
Function GetJRE Function GetJRE
; ;
; Find JRE (javaw.exe) ; Find JRE (java.exe)
; DISABLED 1 - in .\jre directory (JRE Installed with application) ; DISABLED 1 - in .\jre directory (JRE Installed with application)
; 2 - in JAVA_HOME environment variable ; 2 - in JAVA_HOME environment variable
; 3 - in the registry ; 3 - in the registry
; 4 - assume javaw.exe in current dir or PATH ; 4 - assume java.exe in current dir or PATH
Push $R0 Push $R0
Push $R1 Push $R1
;ClearErrors ;ClearErrors
;StrCpy $R0 "$EXEDIR\jre\bin\javaw.exe" ;StrCpy $R0 "$EXEDIR\jre\bin\java.exe"
;IfFileExists $R0 JreFound ;IfFileExists $R0 JreFound
;StrCpy $R0 "" ;StrCpy $R0 ""
ClearErrors ClearErrors
ReadEnvStr $R0 "JAVA_HOME" ReadEnvStr $R0 "JAVA_HOME"
StrCpy $R0 "$R0\bin\${JAVA_BIN}.exe" StrCpy $R0 "$R0\bin\${JAVA_BIN}.exe"
IfErrors 0 JreFound IfErrors 0 JreFound
ClearErrors ClearErrors
ReadRegStr $R1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion" ReadRegStr $R1 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" "CurrentVersion"
ReadRegStr $R0 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$R1" "JavaHome" ReadRegStr $R0 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment\$R1" "JavaHome"
StrCpy $R0 "$R0\bin\${JAVA_BIN}.exe" StrCpy $R0 "$R0\bin\${JAVA_BIN}.exe"
IfErrors 0 JreFound IfErrors 0 JreFound
StrCpy $R0 "${JAVA_BIN}.exe" StrCpy $R0 "${JAVA_BIN}.exe"
JreFound: JreFound:
Pop $R1 Pop $R1
Exch $R0 Exch $R0

View File

@@ -1,8 +1,8 @@
@echo off @echo off
set "ATCS_DIR=%~dp0" set "ATCS_DIR=%~dp0"
set "MAX_MEM=512M" set "MAX_MEM=1024M"
set "JAVA=javaw.exe" set "JAVA=java.exe"
set "JAVA_OPTS=-DFONT_SCALE=1.0 -Dswing.aatext=true" set "JAVA_OPTS=-DFONT_SCALE=1.0 -Dswing.aatext=true"
set "ENV_FILE=%ATCS_DIR%ATCS.env.bat" set "ENV_FILE=%ATCS_DIR%ATCS.env.bat"

View File

@@ -1,4 +0,0 @@
#MAX_MEM=512M
#JAVA=java
#JAVA_OPTS=-DFONT_SCALE=1.0 -Dswing.aatext=true

View File

@@ -1,21 +1,26 @@
#!/bin/bash #!/bin/bash
ATCS_DIR=$(dirname $(readlink -f "$0" || greadlink -f "$0" || stat -f "$0")) ATCS_DIR="$(dirname "$(readlink -f "$0" || greadlink -f "$0" || stat -f "$0")")"
echo "ATCS_DIR: '${ATCS_DIR}'"
MAX_MEM=512M MAX_MEM="512M"
JAVA="java"
JAVA=java
JAVA_OPTS='-DFONT_SCALE=1.0 -Dswing.aatext=true' JAVA_OPTS='-DFONT_SCALE=1.0 -Dswing.aatext=true'
ENV_FILE=${ATCS_DIR}/ATCS.env
if [ -f ${ENV_FILE} ]; then ENV_FILE="${ATCS_DIR}/ATCS.env"
source ${ENV_FILE}
if [ -f "${ENV_FILE}" ]; then
source "${ENV_FILE}"
else else
echo "#MAX_MEM=${MAX_MEM}" >${ENV_FILE} {
echo "#JAVA=${JAVA}" >>${ENV_FILE} echo "#MAX_MEM=\"${MAX_MEM}\""
echo "#JAVA_OPTS=${JAVA_OPTS}" >>${ENV_FILE} echo "#JAVA=\"${JAVA}\""
echo "" >>${ENV_FILE} echo "#JAVA_OPTS=\"${JAVA_OPTS}\""
echo ""
}>"${ENV_FILE}"
fi fi
export ENV_FILE export ENV_FILE
$JAVA ${JAVA_OPTS} -Xmx${MAX_MEM} -jar ${ATCS_DIR}/ATCS.jar # shellcheck disable=SC2086
# (spellchecker is disabled for this line, because we want it to be split into multiple arguments)
$JAVA ${JAVA_OPTS} -Xmx${MAX_MEM} -jar "${ATCS_DIR}/ATCS.jar"

View File

@@ -18,10 +18,9 @@ ATCS_SOURCE_DIR=$(dirname "${PACKAGING_DIR}")
TEMP_DIR="${PACKAGING_DIR}/tmp" TEMP_DIR="${PACKAGING_DIR}/tmp"
JAR_LOCATION="${PACKAGING_DIR}/ATCS.jar" # Output JAR location as per script JAR_LOCATION="${PACKAGING_DIR}/ATCS.jar" # Output JAR location as per script
MANIFEST_LOCATION="${PACKAGING_DIR}/Manifest.txt" MANIFEST_LOCATION="${PACKAGING_DIR}/Manifest.txt"
VERSION_FILE="${PACKAGING_DIR}/ATCS_latest" VERSION_FILE="${ATCS_SOURCE_DIR}/res/ATCS_latest"
SOURCE_BASE_DIR="${ATCS_SOURCE_DIR}/src" # Base directory for standard source code SOURCE_BASE_DIR="${ATCS_SOURCE_DIR}/src" # Base directory for standard source code
LIB_BASE_DIR="${ATCS_SOURCE_DIR}/lib" # Base directory for libraries LIB_BASE_DIR="${ATCS_SOURCE_DIR}/lib" # Base directory for libraries
OUTPUT_JAR_DIR="${PACKAGING_DIR}" # Directory where the final JAR will be placed - as per script
# --- **ADDITIONAL SOURCE CODE FOLDERS** --- # --- **ADDITIONAL SOURCE CODE FOLDERS** ---
EXTRA_SOURCE_DIRS=( EXTRA_SOURCE_DIRS=(
@@ -30,7 +29,7 @@ EXTRA_SOURCE_DIRS=(
"siphash-zackehh/src/main/java" "siphash-zackehh/src/main/java"
) )
# --- Libraries to include (from IntelliJ artifact definition) --- # --- Libraries to include ---
LIBRARIES=( LIBRARIES=(
"AndorsTrainer_v0.1.5.jar" "AndorsTrainer_v0.1.5.jar"
"bsh-2.0b4.jar" "bsh-2.0b4.jar"
@@ -45,7 +44,7 @@ LIBRARIES=(
# --- Get version --- # --- Get version ---
echo "Getting version" echo "Getting version"
VERSION=$(cat "${VERSION_FILE}") VERSION=$(tr -d '[:space:]' < "${VERSION_FILE}")
echo "Got version ${VERSION}" echo "Got version ${VERSION}"
# --- Prepare temporary directory --- # --- Prepare temporary directory ---
@@ -63,7 +62,7 @@ done
# --- Set ClassPath --- # --- Set ClassPath ---
echo "Getting source files" echo "Getting source files"
# Find all java files in source directories and compile them # Find all java files in source directories
SOURCE_FILES=$(find "${SOURCE_BASE_DIR}" "${EXTRA_SOURCE_DIRS[@]/#/${ATCS_SOURCE_DIR}/}" -name "*.java" -print) SOURCE_FILES=$(find "${SOURCE_BASE_DIR}" "${EXTRA_SOURCE_DIRS[@]/#/${ATCS_SOURCE_DIR}/}" -name "*.java" -print)
#echo "SourceFiles: ${SOURCE_FILES}" #echo "SourceFiles: ${SOURCE_FILES}"
echo "" echo ""
@@ -71,6 +70,8 @@ echo ""
# --- Build Java classes --- # --- Build Java classes ---
echo 'Building java classes' echo 'Building java classes'
# shellcheck disable=SC2086
# (we need word splitting here to pass multiple files)
javac -cp "${TEMP_DIR}" -d "${TEMP_DIR}" ${SOURCE_FILES} javac -cp "${TEMP_DIR}" -d "${TEMP_DIR}" ${SOURCE_FILES}
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "Compilation failed. Please check errors above." echo "Compilation failed. Please check errors above."
@@ -85,6 +86,7 @@ mkdir -p "${TEMP_DIR}/com/gpl/rpg/atcontentstudio/img"
mkdir -p "${TEMP_DIR}/tiled/io/resources/" mkdir -p "${TEMP_DIR}/tiled/io/resources/"
cp -r "${ATCS_SOURCE_DIR}"/src/com/gpl/rpg/atcontentstudio/img/* "${TEMP_DIR}/com/gpl/rpg/atcontentstudio/img/" # some icons cp -r "${ATCS_SOURCE_DIR}"/src/com/gpl/rpg/atcontentstudio/img/* "${TEMP_DIR}/com/gpl/rpg/atcontentstudio/img/" # some icons
cp -r "${ATCS_SOURCE_DIR}"/hacked-libtiled/tiled/io/resources/* "${TEMP_DIR}/tiled/io/resources/" # dtd file for tmx maps cp -r "${ATCS_SOURCE_DIR}"/hacked-libtiled/tiled/io/resources/* "${TEMP_DIR}/tiled/io/resources/" # dtd file for tmx maps
cp "${VERSION_FILE}" "${TEMP_DIR}/" # Copy version file
# --- Create JAR file --- # --- Create JAR file ---
echo "" echo ""
@@ -103,17 +105,22 @@ cd "${PACKAGING_DIR}" || exit # Go back to packaging dir
echo '' echo ''
echo "Done creating jar at ${JAR_LOCATION}" echo "Done creating jar at ${JAR_LOCATION}"
cp -f "${JAR_LOCATION}" "${OUTPUT_JAR_DIR}/common/ATCS.jar" # Copy JAR to versioned name cp -f "${JAR_LOCATION}" "${PACKAGING_DIR}/common/ATCS.jar" # Copy JAR to versioned name
# --- Create archive --- # --- Create archive ---
if [ "$PLATFORM" = "LINUX" ]; then cd "${PACKAGING_DIR}" || exit
cd "${OUTPUT_JAR_DIR}" || exit echo "Creating archive"
echo "Creating archive" if [ "$PLATFORM" = "WINDOWS" ]; then
tar caf "ATCS_${VERSION}.tar.gz" common/* # archive the 'common' folder which now contains the JAR and libs # Use PowerShell's Compress-Archive which is available by default on Windows
echo "Created archive at ${OUTPUT_JAR_DIR}/ATCS_${VERSION}.tar.gz" powershell.exe -Command "Compress-Archive -Path './common/*' -DestinationPath './ATCS_${VERSION}.zip' -Force"
cd "${PACKAGING_DIR}" || exit
else else
echo "Can't create zip files on windows yet. Please pack the content of the '${OUTPUT_JAR_DIR}/common/' folder yourself" # Use zip command on Linux
zip -r "ATCS_${VERSION}.zip" common/* # archive the 'common' folder which now contains the JAR and libs
fi fi
if [ $? -ne 0 ]; then
echo "Archive creation failed."
exit 1
fi
echo "Created archive at ${PACKAGING_DIR}/ATCS_${VERSION}.zip"
echo "Script finished." echo "Script finished."

1
res/ATCS_latest Normal file
View File

@@ -0,0 +1 @@
v0.6.21

View File

@@ -1,6 +1,7 @@
atcs.spritesheet.actorconditions_1.category=actorcondition atcs.spritesheet.actorconditions_1.category=actorcondition
atcs.spritesheet.actorconditions_2.category=actorcondition atcs.spritesheet.actorconditions_2.category=actorcondition
atcs.spritesheet.actorconditions_japozero.category=actorcondition atcs.spritesheet.actorconditions_japozero.category=actorcondition
atcs.spritesheet.actorconditions_newb.category=actorcondition
atcs.spritesheet.actorconditions_omi1.category=actorcondition atcs.spritesheet.actorconditions_omi1.category=actorcondition
atcs.spritesheet.actorconditions_omi2.category=actorcondition atcs.spritesheet.actorconditions_omi2.category=actorcondition
@@ -60,6 +61,7 @@ atcs.spritesheet.monsters_gisons.category=monster
atcs.spritesheet.monsters_guynmart.category=monster atcs.spritesheet.monsters_guynmart.category=monster
atcs.spritesheet.monsters_insects.category=monster atcs.spritesheet.monsters_insects.category=monster
atcs.spritesheet.monsters_johny.category=monster
atcs.spritesheet.monsters_karvis1.category=monster atcs.spritesheet.monsters_karvis1.category=monster
atcs.spritesheet.monsters_karvis2.category=monster atcs.spritesheet.monsters_karvis2.category=monster
atcs.spritesheet.monsters_ld1.category=monster atcs.spritesheet.monsters_ld1.category=monster

View File

@@ -14,11 +14,7 @@ import java.io.InputStreamReader;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.net.URL; import java.net.URL;
import java.util.Enumeration; import java.util.*;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
@@ -42,8 +38,7 @@ import com.gpl.rpg.atcontentstudio.ui.WorkspaceSelector;
public class ATContentStudio { public class ATContentStudio {
public static final String APP_NAME = "Andor's Trail Content Studio"; public static final String APP_NAME = "Andor's Trail Content Studio";
public static final String APP_VERSION = "v0.6.20"; public static final String APP_VERSION = readVersionFromFile();
public static final String CHECK_UPDATE_URL = "https://andorstrail.com/static/ATCS_latest"; public static final String CHECK_UPDATE_URL = "https://andorstrail.com/static/ATCS_latest";
public static final String DOWNLOAD_URL = "https://andorstrail.com/viewtopic.php?f=6&t=4806"; public static final String DOWNLOAD_URL = "https://andorstrail.com/viewtopic.php?f=6&t=4806";
@@ -231,4 +226,13 @@ public class ATContentStudio {
} }
} }
} }
private static String readVersionFromFile() {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(
Objects.requireNonNull(ATContentStudio.class.getResourceAsStream("/ATCS_latest"))))) {
return reader.readLine();
} catch (IOException e) {
e.printStackTrace();
return "unknown";
}
}
} }

View File

@@ -29,7 +29,8 @@ public class ActorCondition extends JSONElement {
//public String id; inherited. //public String id; inherited.
public String icon_id; public String icon_id;
public String display_name; public String display_name;
public String description;
// Available from parsed state // Available from parsed state
public ACCategory category = null; public ACCategory category = null;
public Integer positive = null; public Integer positive = null;
@@ -157,6 +158,7 @@ public class ActorCondition extends JSONElement {
@Override @Override
public void parse(Map aCondJson) { public void parse(Map aCondJson) {
if (aCondJson.get("description") != null) this.description = (String) aCondJson.get("description");
if (aCondJson.get("category") != null) this.category = ACCategory.valueOf((String) aCondJson.get("category")); if (aCondJson.get("category") != null) this.category = ACCategory.valueOf((String) aCondJson.get("category"));
this.positive = JSONElement.getInteger((Number) aCondJson.get("isPositive")); this.positive = JSONElement.getInteger((Number) aCondJson.get("isPositive"));
Map abilityEffect = (Map) aCondJson.get("abilityEffect"); Map abilityEffect = (Map) aCondJson.get("abilityEffect");
@@ -271,6 +273,7 @@ public class ActorCondition extends JSONElement {
clone.state = this.state; clone.state = this.state;
clone.id = this.id; clone.id = this.id;
clone.display_name = this.display_name; clone.display_name = this.display_name;
clone.description = this.description;
clone.icon_id = this.icon_id; clone.icon_id = this.icon_id;
clone.category = this.category; clone.category = this.category;
clone.positive = this.positive; clone.positive = this.positive;
@@ -299,6 +302,7 @@ public class ActorCondition extends JSONElement {
jsonAC.put("id", this.id); jsonAC.put("id", this.id);
if (this.icon_id != null) jsonAC.put("iconID", this.icon_id); if (this.icon_id != null) jsonAC.put("iconID", this.icon_id);
if (this.display_name != null) jsonAC.put("name", this.display_name); if (this.display_name != null) jsonAC.put("name", this.display_name);
if (this.description != null) jsonAC.put("description", this.description);
if (this.category != null) jsonAC.put("category", this.category.toString()); if (this.category != null) jsonAC.put("category", this.category.toString());
if (this.positive != null && this.positive == 1) jsonAC.put("isPositive", this.positive); if (this.positive != null && this.positive == 1) jsonAC.put("isPositive", this.positive);
if (this.stacking != null && this.stacking == 1) jsonAC.put("isStacking", this.stacking); if (this.stacking != null && this.stacking == 1) jsonAC.put("isStacking", this.stacking);

View File

@@ -28,6 +28,7 @@ public class PotGenerator {
for (ActorCondition ac : gsrc.gameData.actorConditions) { for (ActorCondition ac : gsrc.gameData.actorConditions) {
pushString(stringsResources, resourcesStrings, ac.display_name, getPotContextComment(ac)); pushString(stringsResources, resourcesStrings, ac.display_name, getPotContextComment(ac));
pushString(stringsResources, resourcesStrings, ac.description, getPotContextComment(ac)+":description");
} }
for (Dialogue d : gsrc.gameData.dialogues ) { for (Dialogue d : gsrc.gameData.dialogues ) {

View File

@@ -30,6 +30,7 @@ public class ActorConditionEditor extends JSONElementEditor {
private JButton acIcon; private JButton acIcon;
private JTextField idField; private JTextField idField;
private JTextField nameField; private JTextField nameField;
private JTextField descriptionField;
@SuppressWarnings("rawtypes") @SuppressWarnings("rawtypes")
private JComboBox categoryBox; private JComboBox categoryBox;
private IntegerBasedCheckBox positiveBox; private IntegerBasedCheckBox positiveBox;
@@ -81,6 +82,7 @@ public class ActorConditionEditor extends JSONElementEditor {
idField = addTextField(pane, "Internal ID: ", ac.id, ac.writable, listener); idField = addTextField(pane, "Internal ID: ", ac.id, ac.writable, listener);
nameField = addTranslatableTextField(pane, "Display name: ", ac.display_name, ac.writable, listener); nameField = addTranslatableTextField(pane, "Display name: ", ac.display_name, ac.writable, listener);
descriptionField = addTranslatableTextField(pane, "Description: ", ac.description, ac.writable, listener);
categoryBox = addEnumValueBox(pane, "Category: ", ActorCondition.ACCategory.values(), ac.category, ac.writable, listener); categoryBox = addEnumValueBox(pane, "Category: ", ActorCondition.ACCategory.values(), ac.category, ac.writable, listener);
positiveBox = addIntegerBasedCheckBox(pane, "Positive", ac.positive, ac.writable, listener); positiveBox = addIntegerBasedCheckBox(pane, "Positive", ac.positive, ac.writable, listener);
stackingBox = addIntegerBasedCheckBox(pane, "Stacking", ac.stacking, ac.writable, listener); stackingBox = addIntegerBasedCheckBox(pane, "Stacking", ac.stacking, ac.writable, listener);
@@ -172,6 +174,10 @@ public class ActorConditionEditor extends JSONElementEditor {
ActorConditionEditor.this.name = aCond.getDesc(); ActorConditionEditor.this.name = aCond.getDesc();
aCond.childrenChanged(new ArrayList<ProjectTreeNode>()); aCond.childrenChanged(new ArrayList<ProjectTreeNode>());
ATContentStudio.frame.editorChanged(ActorConditionEditor.this); ATContentStudio.frame.editorChanged(ActorConditionEditor.this);
}else if (source == descriptionField) {
aCond.description = (String) value;
aCond.childrenChanged(new ArrayList<ProjectTreeNode>());
ATContentStudio.frame.editorChanged(ActorConditionEditor.this);
} else if (source == acIcon) { } else if (source == acIcon) {
aCond.icon_id = (String) value; aCond.icon_id = (String) value;
aCond.childrenChanged(new ArrayList<ProjectTreeNode>()); aCond.childrenChanged(new ArrayList<ProjectTreeNode>());