diff --git a/.gitignore b/.gitignore index a0b508c..245929b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ rott-1.1.tar.gz -/rott-1.1.2.tar.gz diff --git a/rott-1.0-registered.patch b/rott-1.0-registered.patch new file mode 100644 index 0000000..e14062c --- /dev/null +++ b/rott-1.0-registered.patch @@ -0,0 +1,13 @@ +--- rott-1.0/rott/develop.h~ 2007-05-11 10:24:32.000000000 +0200 ++++ rott-1.0/rott/develop.h 2007-05-11 10:24:32.000000000 +0200 +@@ -41,8 +41,8 @@ + + #define BNACRASHPREVENT 1 //bna added + // Make sure only one of the following are on at one time +-#define SHAREWARE 1 +-#define SUPERROTT 0 ++#define SHAREWARE 0 ++#define SUPERROTT 1 + #define SITELICENSE 0 + + // cute little dopefish thing, only works with special patch? diff --git a/rott-1.1-fix-end-level-display.patch b/rott-1.1-fix-end-level-display.patch new file mode 100644 index 0000000..4485bf6 --- /dev/null +++ b/rott-1.1-fix-end-level-display.patch @@ -0,0 +1,21 @@ +diff -up rott-1.1/rott/rt_game.c~ rott-1.1/rott/rt_game.c +--- rott-1.1/rott/rt_game.c~ 2008-08-04 23:36:53.000000000 +0200 ++++ rott-1.1/rott/rt_game.c 2008-08-04 23:36:53.000000000 +0200 +@@ -3426,7 +3426,7 @@ void LevelCompleted + tmpPic = ( pic_t * )W_CacheLumpName( "mmbk", PU_CACHE, Cvt_pic_t, 1 ); + VWB_DrawPic( 0, 0, tmpPic ); + VW_UpdateScreen(); +- DisableScreenStretch(); ++// DisableScreenStretch(); + + IN_StartAck(); + EndBonusVoice = 0; +@@ -3759,7 +3759,7 @@ EndBonusSkip = true; + + + //bna section +- EnableScreenStretch();//bna++ ++// EnableScreenStretch();//bna++ + VW_UpdateScreen();//bna++ + // DisableScreenStretch();//bna++ + //bna section end diff --git a/rott-1.1-gameover.patch b/rott-1.1-gameover.patch new file mode 100644 index 0000000..9ac3a9a --- /dev/null +++ b/rott-1.1-gameover.patch @@ -0,0 +1,85 @@ +--- rott-1.1/rott/rt_vid.c 2008-05-24 08:29:59.000000000 +0200 ++++ rott-1.1.new/rott/rt_vid.c 2008-08-04 23:02:04.000000000 +0200 +@@ -1099,38 +1100,23 @@ + + void VL_DecompressLBM (lbm_t *lbminfo, boolean flip) + { +- byte *screen = (byte *)bufferofs; +- byte *orig; +- int count; +- byte b, +- rept; ++ int count; ++ byte b, rept; + byte *source = (byte *)&lbminfo->data; + byte *buf; + int ht = lbminfo->height; +- +- int x = 0; +- int y; +- byte *origbuf; + byte pal[768]; +- +- +- orig = screen; +- +- if (iGLOBAL_SCREENWIDTH <= 320){ +- buf = (byte *) SafeMalloc (64000); +- }else{ +- buf = (byte *) SafeMalloc (iGLOBAL_SCREENWIDTH*iGLOBAL_SCREENHEIGHT); +- } +- origbuf = buf; +- +- VL_ClearBuffer (displayofs, 0); +- ++ ++ EnableScreenStretch(); ++ + memcpy(&pal[0],lbminfo->palette,768); + + VL_NormalizePalette (&pal[0]); + + VW_MarkUpdateBlock (0, 0, 320, 200); + ++ buf = (byte *)bufferofs; ++ + while (ht--) + { + count = 0; +@@ -1163,36 +1149,7 @@ + buf += (iGLOBAL_SCREENWIDTH-320); //eg 800 - 320) + } + } +- //SetTextMode ( ); //12345678 +- +- { +- int cnt; +- +- cnt = 0; +- screen = orig; +- buf = origbuf; +- VGAMAPMASK (writemask); +- +- //bna section start +- if (iGLOBAL_SCREENWIDTH <= 320){ +- for (y = 0; y < (lbminfo->height*lbminfo->width); y++) +- +- { +- *screen++ = *(buf+y); +- } +- }else{ +- for (y = 0; y < (lbminfo->height); y++){ +- for (x = 0; x < iGLOBAL_SCREENWIDTH; x++){ +- *screen++ = *(buf++); +- } +- } +- } +- // bna section end +- +- } + +- SafeFree(origbuf); +- EnableScreenStretch();//bna++ shut on streech mode + if (flip==true) + VW_UpdateScreen (); + diff --git a/rott-registered.desktop b/rott-registered.desktop index e90880e..0212bae 100644 --- a/rott-registered.desktop +++ b/rott-registered.desktop @@ -1,10 +1,10 @@ [Desktop Entry] +Encoding=UTF-8 Name=Rise of the Triad (Registered) Comment=RotT Registered launch script, this requires the registered data files Exec=rott-registered StartupNotify=false Terminal=false Type=Application -Icon=rott +Icon=rott.png Categories=Game;ActionGame; -Keywords=game;fps;first;person;shooter;rise;triad;rott; diff --git a/rott-registered.metainfo.xml b/rott-registered.metainfo.xml deleted file mode 100644 index b479aac..0000000 --- a/rott-registered.metainfo.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - rott-registered.desktop - rott-shareware.desktop - CC0-1.0 - GPL-2.0+ - Engine for Rise of the Triad registered - - Place the registered Rise of the Triad datafiles under /usr/share/rott/ - - http://icculus.org/rott/ - jwrdegoede_at_gmail.com - diff --git a/rott-registered.sh b/rott-registered.sh index da31e8f..bfd4714 100644 --- a/rott-registered.sh +++ b/rott-registered.sh @@ -2,11 +2,6 @@ set -e -if [ -f /usr/share/rott/DARKWAR.WAD ]; then - cd /usr/share/rott - exec rott-registered.bin "$@" -fi - if [ ! -f ~/.rott/registered/*.WAD -a ! -f ~/.rott/registered/*.wad ]; then zenity --info --text='In order to play the registered version of Rise of the Triad (ROTT), An Apogee Game, the original registered ROTT datafiles are needed. diff --git a/rott-shareware.appdata.xml b/rott-shareware.appdata.xml deleted file mode 100644 index 5332995..0000000 --- a/rott-shareware.appdata.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - rott-shareware.desktop - CC0-1.0 - GPL-2.0+ - Rise of the Triad - Apogee's classic 3d first person shooter Rise of the Triad - -

- This is the icculus.org Linux port of Apogee's classic 3d shooter Rise of - the Triad (RotT), which has been released under the GPL by Apogee. This - version is enhanced with the "high" resolution rendering from the winrott - port. -

-

- This package contains the engine for the shareware version of RotT. - In order to play the shareware version, you will need the shareware - datafiles. Which can be freely downloaded from Apogee/3DRealms, but - cannot be distributed as a part of Fedora. When you start RotT for the - first time it will offer to download the datafiles for you. -

-
- https://icculus.org/rott/ - - http://image.dosgamesarchive.com/screenshots/risetriad6.gif - http://image.dosgamesarchive.com/screenshots/risetriad1.gif - http://image.dosgamesarchive.com/screenshots/risetriad2.gif - http://image.dosgamesarchive.com/screenshots/risetriad3.gif - http://image.dosgamesarchive.com/screenshots/risetriad5.gif - - jwrdegoede_at_fedoraproject.org -
diff --git a/rott-shareware.desktop b/rott-shareware.desktop index ed9830c..2dff597 100644 --- a/rott-shareware.desktop +++ b/rott-shareware.desktop @@ -1,10 +1,10 @@ [Desktop Entry] +Encoding=UTF-8 Name=Rise of the Triad Comment=RotT Shareware launcher, will automatically download the needed data-files Exec=rott-shareware StartupNotify=false Terminal=false Type=Application -Icon=rott +Icon=rott.png Categories=Game;ActionGame; -Keywords=game;fps;first;person;shooter;rise;triad;rott; diff --git a/rott-shareware.sh b/rott-shareware.sh index 1e47aa0..2b8fde9 100644 --- a/rott-shareware.sh +++ b/rott-shareware.sh @@ -2,12 +2,6 @@ set -e -# game assets installed with game-data-packager -if [ -f /usr/share/rott/REMOTE1.RTS ]; then - cd /usr/share/rott - exec /usr/bin/rott-shareware.bin "$@" -fi - mkdir -p $HOME/.rott cd $HOME/.rott diff --git a/rott.spec b/rott.spec index 128cd19..e8415f1 100644 --- a/rott.spec +++ b/rott.spec @@ -1,25 +1,26 @@ Name: rott -Version: 1.1.2 -Release: 28%{?dist} +Version: 1.1 +Release: 8%{?dist} Summary: Rise of the Triad -# Automatically converted from old format: GPLv2+ - review is highly recommended. -License: GPL-2.0-or-later +Group: Amusements/Games +License: GPLv2+ URL: http://icculus.org/rott/ -Source0: http://icculus.org/rott/releases/rott-%{version}.tar.gz +Source0: http://icculus.org/rott/releases/rott-1.1.tar.gz Source1: rott-shareware.sh Source2: rott-registered.sh Source3: rott.autodlrc Source4: rott-shareware.desktop Source5: rott-registered.desktop -Source6: rott-shareware.appdata.xml -Source7: rott-registered.metainfo.xml # Notice this is made from an edited screenshot and thus derived from the non- -# free datafiles. I believe this constitutes fair-use. If anyone disagrees let +# free datafiles. I believe this constitues fair-use. If anyone disagrees let # me know and I'll remove it -Source8: rott.png -BuildRequires: make -BuildRequires: gcc -BuildRequires: SDL_mixer-devel desktop-file-utils libappstream-glib +Source6: rott.png +Patch0: rott-1.1-gameover.patch +Patch1: rott-1.1-fix-end-level-display.patch +# Note: this gets applied during build, not during prep! +Patch99: rott-1.0-registered.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: SDL_mixer-devel desktop-file-utils %description This is the icculus.org Linux port of Apogee's classic 3d shooter Rise of the @@ -29,7 +30,8 @@ enhanced with the "high" resolution rendering from the winrott port. %package shareware Summary: Rise of the Triad shareware version -Requires: hicolor-icon-theme autodownloader unzip +Group: Amusements/Games +Requires: hicolor-icon-theme autodownloader %description shareware This is the icculus.org Linux port of Apogee's classic 3d shooter Rise of the @@ -45,6 +47,7 @@ the datafiles for you. %package registered Summary: Rise of the Triad registered version +Group: Amusements/Games Requires: hicolor-icon-theme zenity %description registered @@ -60,6 +63,8 @@ from this dir. %prep %setup -q +%patch0 -p1 +%patch1 -p1 cp -a doc/rott.6 rott-shareware.6 cp -a doc/rott.6 rott-registered.6 @@ -71,17 +76,18 @@ touch -r rott-registered.6.orig rott-registered.6 %build pushd rott -make %{?_smp_mflags} \ - EXTRACFLAGS="$RPM_OPT_FLAGS -Wno-unused -Wno-pointer-sign" \ - ROTT=rott-shareware.bin -make tidy -make %{?_smp_mflags} \ - EXTRACFLAGS="$RPM_OPT_FLAGS -Wno-unused -Wno-pointer-sign" \ - ROTT=rott-registered.bin SHAREWARE=0 SUPERROTT=1 +make %{?_smp_mflags} EXTRACFLAGS="$RPM_OPT_FLAGS -Wno-unused -Wno-pointer-sign" +mv rott rott-shareware.bin + +patch -p2 < %{PATCH99} +make clean +make %{?_smp_mflags} EXTRACFLAGS="$RPM_OPT_FLAGS -Wno-unused -Wno-pointer-sign" +mv rott rott-registered.bin popd %install +rm -rf $RPM_BUILD_ROOT #no make install target, DIY mkdir -p $RPM_BUILD_ROOT%{_bindir} mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} @@ -95,131 +101,81 @@ install -p -m 644 %{name}-registered.6 $RPM_BUILD_ROOT%{_mandir}/man6 # below is the desktop file and icon stuff. mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications -desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications %{SOURCE4} -desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications %{SOURCE5} -mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata -install -p -m 644 %{SOURCE6} %{SOURCE7} $RPM_BUILD_ROOT%{_datadir}/appdata -appstream-util validate-relax --nonet $RPM_BUILD_ROOT%{_datadir}/appdata/*.xml +desktop-file-install \ +%if 0%{?fedora} && 0%{?fedora} < 19 + --vendor fedora \ +%endif + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ + %{SOURCE4} +mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications +desktop-file-install \ +%if 0%{?fedora} && 0%{?fedora} < 19 + --vendor fedora \ +%endif + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ + %{SOURCE5} mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps -install -p -m 644 %{SOURCE8} \ +install -p -m 644 %{SOURCE6} \ $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps/ + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post shareware +touch --no-create %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + +%postun shareware +touch --no-create %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + +%post registered +touch --no-create %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + +%postun registered +touch --no-create %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + + %files shareware -%doc README doc/*.txt -%license COPYING +%defattr(-,root,root,-) +%doc README COPYING doc/*.txt %{_bindir}/rott-shareware* %{_mandir}/man6/%{name}-shareware.6* %{_datadir}/%{name} -%{_datadir}/appdata/%{name}-shareware.appdata.xml +%if 0%{?fedora} && 0%{?fedora} < 19 +%{_datadir}/applications/fedora-%{name}-shareware.desktop +%else %{_datadir}/applications/%{name}-shareware.desktop +%endif %{_datadir}/icons/hicolor/64x64/apps/%{name}.png %files registered -%doc README doc/*.txt -%license COPYING +%defattr(-,root,root,-) +%doc README COPYING doc/*.txt %{_bindir}/rott-registered* %{_mandir}/man6/%{name}-registered.6* -%{_datadir}/appdata/%{name}-registered.metainfo.xml +%if 0%{?fedora} && 0%{?fedora} < 19 +%{_datadir}/applications/fedora-%{name}-registered.desktop +%else %{_datadir}/applications/%{name}-registered.desktop +%endif %{_datadir}/icons/hicolor/64x64/apps/%{name}.png %changelog -* Fri Jul 25 2025 Fedora Release Engineering - 1.1.2-28 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sat Jan 18 2025 Fedora Release Engineering - 1.1.2-27 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Fri Jul 26 2024 Miroslav Suchý - 1.1.2-26 -- convert license to SPDX - -* Fri Jul 19 2024 Fedora Release Engineering - 1.1.2-25 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jan 26 2024 Fedora Release Engineering - 1.1.2-24 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 1.1.2-23 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jul 21 2023 Fedora Release Engineering - 1.1.2-22 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Jan 20 2023 Fedora Release Engineering - 1.1.2-21 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jul 23 2022 Fedora Release Engineering - 1.1.2-20 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri Jan 21 2022 Fedora Release Engineering - 1.1.2-19 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jul 23 2021 Fedora Release Engineering - 1.1.2-18 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jan 27 2021 Fedora Release Engineering - 1.1.2-17 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Sat Aug 01 2020 Fedora Release Engineering - 1.1.2-16 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 1.1.2-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jan 30 2020 Fedora Release Engineering - 1.1.2-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Jul 26 2019 Fedora Release Engineering - 1.1.2-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sat Feb 02 2019 Fedora Release Engineering - 1.1.2-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Jul 14 2018 Fedora Release Engineering - 1.1.2-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Fri Feb 09 2018 Fedora Release Engineering - 1.1.2-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Jan 18 2018 Igor Gnatenko - 1.1.2-9 -- Remove obsolete scriptlets - -* Thu Aug 03 2017 Fedora Release Engineering - 1.1.2-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 1.1.2-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 1.1.2-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Thu Feb 04 2016 Fedora Release Engineering - 1.1.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Sat Jan 16 2016 Hans de Goede - 1.1.2-4 -- Add support for game-data-packager provided assets (rhbz#1295511) -- Add appdata files -- Modernize spec a bit - -* Thu Jun 18 2015 Fedora Release Engineering - 1.1.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Mon Aug 18 2014 Fedora Release Engineering - 1.1.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sun Jun 15 2014 Hans de Goede - 1.1.2-1 -- New upstream release 1.1.2 -- Fix FTBFS (rhbz#1037308) - -* Sun Jun 08 2014 Fedora Release Engineering - 1.1-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Sun Aug 04 2013 Fedora Release Engineering - 1.1-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - * Mon Feb 25 2013 Toshio Kuratomi - 1.1-8 - Remove --vendor from desktop files for F19+ https://fedorahosted.org/fesco/ticket/1077 diff --git a/sources b/sources index c3d62a9..a10efa0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d523c7c6c97f95ba84b8cf4deae7db38 rott-1.1.2.tar.gz +3e4940c364ecfae86375b7b1a77860d9 rott-1.1.tar.gz