On Mon, 1 Jun 2020 05:24:19 +0200 Alex Free wrote: > > Sent: Sunday, May 31, 2020 at 10:43 AM > > From: "Charlene Wendling" <juliana...@posteo.jp> > > To: "Kirill Bychkov" <ki...@linklevel.net> > > Cc: "Alex Free" <ale...@mail.com>, "Landry Breuil" > > <lan...@openbsd.org>, ports@openbsd.org, abie...@openbsd.org > > Subject: Re: games/ioquake3 cvs current diffs adding ppc support > > > > Huh, looks my mail never made it to ports@ :D > > > > On Sun, 31 May 2020 09:43:46 +0300 > > Kirill Bychkov wrote: > > > > > On Sun, May 31, 2020 02:28, Alex Free wrote: > > > >> Sent: Saturday, May 30, 2020 at 9:45 PM > > > >> From: "Charlene Wendling" <juliana...@posteo.jp> > > > >> To: "Landry Breuil" <lan...@openbsd.org> > > > >> Cc: "Alex Free" <ale...@mail.com>, ports@openbsd.org, > > > >> abie...@openbsd.org Subject: Re: games/ioquake3 cvs current > > > >> diffs adding ppc support > > > >> > > > >> Hi, > > > >> > > > >> On Sat, 30 May 2020 09:36:25 +0200 > > > >> Landry Breuil wrote: > > > >> > > > >> > On Sat, May 30, 2020 at 09:09:13AM +0200, Alex Free wrote: > > > >> > > Successfully built and tested against current. > > > >> > > > > > >> > > Let me know if I can do anything else to make this happen. > > > >> > > > > > >> > > A new file named patch-code_qcommon_q_platform_h contains > > > >> > > the following immediately below. > > > >> > > > > >> > note that you can do a cvs add of that new file, and cvs diff > > > >> > will show it. > > > >> > > > > >> > > Below are the CVS diffs. > > > >> > > > > >> > usually, when sending a diff for a port, you to the cvs diff > > > >> > from the port directory, otherwise the person applying it > > > >> > will have to cd to /usr or use patch -p2 in that case. > > > >> > > > > >> > those are not strong remarks, your diff itself is fine, it's > > > >> > just 'best practice to get used to' if you plan to send more > > > >> > diffs (which are always welcome!) > > > >> > > > >> ^ Agreed :) > > > >> > > > >> It builds fine on macppc indeed, there are font glitches, but i > > > >> don't have much time to fiddle with q3config.cfg since i can't > > > >> read options. It requires to disable HDR at least to have > > > >> proper weapons/font textures with my Radeon 9700. > > > > > > Hi, > > > I see weapons, main menu (when option is highlighted) and console > > > on my G5 with Radeon 9600 Pro. > > > ok kirby@ > > > > > > >> > > > >> Alex, if you had the issue and know what is needed to make > > > >> glitches disappear, we should add it to pkg/README :) > > > >> > > > >> OK cwen@ either way, here is the diff as we usually expect it > > > >> by the way. > > > >> > > > >> Charl?ne. > > > >> > > > >> > > > > [diff was here] > > > > > > Thank you all for informing me of how to submit things > > > > correctly. I greatly appreciate the correct format for the > > > > patches submitted here. > > > > > > > > As for the font issues, I only have one powerpc machine with > > > > graphics acceleration support in OpenBSD 6.7. Mach64 DRI was > > > > dropped years ago. > > > > > > > > My one machine has a Radeon 9200 32MB graphics card so I had to > > > > change the renderer to opengl1 in q3cfg.cfg using the text > > > > below. > > > > > > > > seta cl_renderer "opengl1" > > > > > > > > Also, fullscreen is scaled incorrectly on my card, it is in the > > > > corner of the screen and not completely visible. Windowed mode > > > > works fine, I have it set in q3cfg.cfg using the text below. > > > > > > > > seta r_fullscreen "0" > > > > > > > > As I believe we are using different renderers (9700 supports > > > > OpenGL2.0 AFAIK), maybe the opengl1 renderer will work better? I > > > > haven?t had any font issues on my OpenGL 1.3 card, just the > > > > fullscreen one which I work around by setting xrandr -s 640x480. > > > > > > > > Another thing I think might be important, on my radeon 9200 I > > > > have to use the fastest preset for a playable game. Resolution > > > > can be then be changed. > > > > > > > > Is this good to include in the readme? I can submit a new patch > > > > for an updated readme if that is what should be done next. > > > > I think we should add a subsection that details that. See > > /usr/ports/infrastructure/templates/README.template for the > > format we're using. > > > > It works 100% fine in fullscreen here with the standard > > configuration and: > > > > seta cl_renderer "opengl1" > > seta r_allowExtensions "0" > > seta r_hdr "0" > > > > I can get 40-ish fps with that. The tricky part when setting up > > graphics settings is to remember to use 32-bit depth and textures, > > otherwise it's a complete mess. > > > > I'm replying to your next mail while here: > > > > > Thank you all for testing and helping in the process. What’s > > > the next step to get this into ports? Everything works as > > > expected, some graphics cards just need a few tweaks in the > > > config file that should be documented. > > > > Once we have a final diff that everyone agree upon, we've to wait > > for abieber@ that maintains the port to be OK with it/commit it. > > > > > > I’ve created a patch for the readme, does it cover everything you had > in mind and is it done correctly?
I think it's comprehensive enough. I've fixed a typo, added blank lines after sections headers, and set lines to 80 chars width like the template says. By the way, when you're doing a diff, just cd to the port directory itself and invoke 'cvs diff' from there, it's a bit easier to patch for reviews :) (I guess my mail won't be sent to ports@ again) Charlène. Index: Makefile =================================================================== RCS file: /cvs/ports/games/ioquake3/Makefile,v retrieving revision 1.25 diff -u -p -u -p -r1.25 Makefile --- Makefile 12 Jul 2019 20:46:19 -0000 1.25 +++ Makefile 1 Jun 2020 07:17:34 -0000 @@ -1,7 +1,7 @@ # $OpenBSD: Makefile,v 1.25 2019/07/12 20:46:19 sthen Exp $ BROKEN-i386= need to free up a register -ONLY_FOR_ARCHS= amd64 i386 +ONLY_FOR_ARCHS= amd64 i386 macppc COMMENT= clone of the original Quake III Arena @@ -33,7 +33,11 @@ ALL_TARGET= "release" USE_GMAKE= Yes NO_TEST= Yes +.if ${MACHINE_ARCH} == "powerpc" +QUAKE_ARCH= ppc +.else QUAKE_ARCH= ${ARCH:S/amd64/x86_64/:S/i386/x86/} +.endif SUBST_VARS+= QUAKE_ARCH do-install: Index: patches/patch-Makefile =================================================================== RCS file: /cvs/ports/games/ioquake3/patches/patch-Makefile,v retrieving revision 1.2 diff -u -p -u -p -r1.2 patch-Makefile --- patches/patch-Makefile 16 Apr 2018 13:12:22 -0000 1.2 +++ patches/patch-Makefile 1 Jun 2020 07:17:34 -0000 @@ -3,7 +3,16 @@ $OpenBSD: patch-Makefile,v 1.2 2018/04/1 Index: Makefile --- Makefile.orig +++ Makefile -@@ -743,16 +743,16 @@ ifeq ($(PLATFORM),openbsd) +@@ -4,7 +4,7 @@ + # GNU Make required + # + COMPILE_PLATFORM=$(shell uname | sed -e 's/_.*//' | tr '[:upper:]' '[:lower:]' | sed -e 's/\//_/g') +-COMPILE_ARCH=$(shell uname -m | sed -e 's/i.86/x86/' | sed -e 's/^arm.*/arm/') ++COMPILE_ARCH=$(shell uname -m | sed -e 's/i.86/x86/' | sed -e 's/macppc/ppc/' | sed -e 's/^arm.*/arm/') + + ifeq ($(COMPILE_PLATFORM),sunos) + # Solaris uname and GNU uname differ +@@ -769,16 +769,16 @@ ifeq ($(PLATFORM),openbsd) -pipe -DUSE_ICON -DMAP_ANONYMOUS=MAP_ANON CLIENT_CFLAGS += $(SDL_CFLAGS) @@ -23,7 +32,7 @@ Index: Makefile OPTIMIZE = $(OPTIMIZEVM) -ffast-math HAVE_VM_COMPILED=true else -@@ -1525,7 +1525,6 @@ Q3CPPOBJ = \ +@@ -1562,7 +1562,6 @@ Q3CPPOBJ = \ $(B)/tools/cpp/eval.o \ $(B)/tools/cpp/include.o \ $(B)/tools/cpp/hideset.o \ Index: patches/patch-code_qcommon_q_platform_h =================================================================== RCS file: patches/patch-code_qcommon_q_platform_h diff -N patches/patch-code_qcommon_q_platform_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-code_qcommon_q_platform_h 1 Jun 2020 07:17:34 -0000 @@ -0,0 +1,14 @@ +$OpenBSD$ + +Index: code/qcommon/q_platform.h +--- code/qcommon/q_platform.h.orig ++++ code/qcommon/q_platform.h +@@ -223,6 +223,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + + #ifdef __i386__ + #define ARCH_STRING "x86" ++#elif defined __ppc__ ++#define ARCH_STRING "ppc" + #elif defined __amd64__ + #undef idx64 + #define idx64 1 Index: pkg/README =================================================================== RCS file: /cvs/ports/games/ioquake3/pkg/README,v retrieving revision 1.5 diff -u -p -u -p -r1.5 README --- pkg/README 4 Sep 2018 12:46:13 -0000 1.5 +++ pkg/README 1 Jun 2020 07:17:34 -0000 @@ -19,3 +19,44 @@ rcctl enable ioq3ded && rcctl set ioq3de For more information on the dedicated server see here: http://wiki.ioquake3.org/Sys_Admin_Guide#Configuration_Files + +Macppc specifics +================ + +Additional configuration may be required, as noted below. + +OpenGL renderer +--------------- + +The opengl2 renderer is not available on many of the supported graphics cards +and will prevent ioquake3 from starting with the default configuration. +Specifiying seta cl_renderer "opengl1" in the config file will allow use of the +opengl1 renderer. + +16-bit textures +--------------- + +Graphical issues occur when using 16-bit textures on the Radeon 9200, 9600, and +9700. 32-bit textures should be used if this happens. + +Radeon 9700 +----------- + +Weapons and fonts will not appear without specifying seta r_hdr "0" in the +config file. The Radeon 9200 and 9600 do not have this issue. + +Extensions should also be turned off by specifying seta r_allowExtensions "0" +in the config file. + +Radeon 9200 +----------- + +Fullscreen requires the X11 resolution to match the one specified in the +ioquake3 config file. This has been tested in FVWM and Window Maker, and only +Window Maker displays fullscreen correctly out of the 2. + +The fastest graphics preset should be used in ioquake3. Resolution can then be +modified from there for a playable game. + +The main menu in ioquake3 has poor performance that other parts of the game do +not suffer from.