|
|
(10 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| {{Infobox 3DS Homebrews | | {{Infobox 3DS Homebrews |
| |title=ioQuake3DS | | |title=ioQuake3DS |
| |image=ioQuake3DS.jpg | | |image=Ioquake3ds2.png |
| |description=Quake 3 for 3DS. | | |description=Quake 3 for 3DS. |
| |author=masterfeizz | | |author=MasterFeizz |
| |lastupdated=2019/09/03 | | |lastupdated=2022/10/31 |
| |type=Shooter | | |type=Shooter |
| |version=1.1.0 | | |version=1.2.0 |
| |license=Mixed | | |license=Mixed |
| |download=[https://dlhb.gamebrew.org/3dshomebrews/ioquake3ds.7z Quake 3 & OpenArena] | | |download=https://dlhb.gamebrew.org/3dshomebrews/ioquake3ds.7z?k33p0fil35 |
| |website=https://github.com/masterfeizz/ioQuake3DS | | |website=https://github.com/masterfeizz/ioQuake3DS |
| |source=https://github.com/masterfeizz/ioQuake3DS | | |source=https://github.com/masterfeizz/ioQuake3DS/releases |
| }} | | }} |
| ioQuake3DS is a port of the ioQuake3 game engine for the Nintendo 3DS. ioQuake3DS allows you to play the original Quake III and now also Open Arena on your Nintendo 3DS portable video gaming system. While you can play both of these games using the original Nintendo 2DS/3DS consoles, it is suggested you use a New Nintendo 3DS. | | ioQuake3DS is a port of the ioQuake3 game engine for the Nintendo 3DS. ioQuake3DS allows you to play the original Quake III and now also Open Arena on your Nintendo 3DS portable video gaming system. |
|
| |
|
| ==Features==
| | While you can play both of these games using the original Nintendo 2DS/3DS consoles, it is suggested you use a New Nintendo 3DS. |
| * SDL 2 backend.
| |
| * OpenAL sound API support (multiple speaker support and better sound quality).
| |
| * Full x86_64 support on Linux.
| |
| * VoIP support, both in-game and external support through Mumble.
| |
| * MinGW compilation support on Windows and cross compilation support on Linux.
| |
| * AVI video capture of demos.
| |
| * Much improved console autocompletion.
| |
| * Persistent console history.
| |
| * Colorized terminal output.
| |
| * Optional Ogg Vorbis support.
| |
| * Much improved QVM tools.
| |
| * Support for various esoteric operating systems.
| |
| * cl_guid support.
| |
| * HTTP/FTP download redirection (using cURL).
| |
| * Multiuser support on Windows systems (user specific game data is stored in "%APPDATA%\Quake3").
| |
| * PNG support.
| |
| * Many, many bug fixes.
| |
|
| |
|
| ==Installation== | | ==Installation== |
Line 38: |
Line 21: |
| For OpenArena, extract openarena_data.zip to the root of your SD card. Then install OpenArena.cia and launch it. | | For OpenArena, extract openarena_data.zip to the root of your SD card. Then install OpenArena.cia and launch it. |
|
| |
|
| ==User guide==
| | '''Note:''' Original 3DS support is very buggy and is not supported on the .3dsx version. |
| The map editor and associated compiling tools are not included. A modern copy can be found from [http://icculus.org/gtkradiant icculus.org].
| |
|
| |
|
| More documentation including a Player's Guide and Sysadmin Guide is on [http://wiki.ioquake3.org ioQuake3's wiki page].
| | ==Screenshots== |
| | https://dlhb.gamebrew.org/3dshomebrews/ioquake3ds3.png |
| | https://dlhb.gamebrew.org/3dshomebrews/ioquake3ds4.png |
|
| |
|
| ===Console===
| | https://dlhb.gamebrew.org/3dshomebrews/ioquake3ds5.png |
| {| role="presentation" class="wikitable mw-collapsible mw-collapsed"|
| | https://dlhb.gamebrew.org/3dshomebrews/ioquake3ds6.png |
| ! colspan=2 style="text-align:center;" | ioQuake3 new cavrs
| |
| |-
| |
| |
| |
| <pre>
| |
| cl_autoRecordDemo - Record a new demo on each map change.
| |
| cl_aviFrameRate - The framerate to use when capturing video.
| |
| cl_aviMotionJpeg - Use the mjpeg codec when capturing video.
| |
| cl_guidServerUniq - Makes cl_guid unique for each server.
| |
| cl_cURLLib - Filename of cURL library to load.
| |
| cl_consoleKeys - Space delimited list of key names or
| |
| characters that toggle the console.
| |
| cl_mouseAccelStyle - Set to 1 for QuakeLive mouse acceleration
| |
| behaviour, 0 for standard q3.
| |
| cl_mouseAccelOffset - Tuning the acceleration curve, see below.
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| con_autochat - Set to 0 to disable sending console input
| |
| text as chat when there is not a slash
| |
| at the beginning.
| |
| con_autoclear - Set to 0 to disable clearing console
| |
| input text when console is closed.
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| in_joystickUseAnalog - Do not translate joystick axis events
| |
| to keyboard commands.
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| j_forward - Joystick analogue to m_forward,
| |
| for forward movement speed/direction.
| |
| j_side - Joystick analogue to m_side,
| |
| for side movement speed/direction.
| |
| j_up - Joystick up movement speed/direction.
| |
| j_pitch - Joystick analogue to m_pitch,
| |
| for pitch rotation speed/direction.
| |
| j_yaw - Joystick analogue to m_yaw,
| |
| for yaw rotation speed/direction.
| |
| j_forward_axis - Selects which joystick axis
| |
| controls forward/back.
| |
| j_side_axis - Selects which joystick axis
| |
| controls left/right.
| |
| j_up_axis - Selects which joystick axis
| |
| controls up/down.
| |
| j_pitch_axis - Selects which joystick axis
| |
| controls pitch.
| |
| j_yaw_axis - Selects which joystick axis
| |
| controls yaw.
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| s_useOpenAL - Use the OpenAL sound backend if available.
| |
| s_alPrecache - Cache OpenAL sounds before use.
| |
| s_alGain - The value of AL_GAIN for each source.
| |
| s_alSources - The total number of sources (memory) to
| |
| allocate.
| |
| s_alDopplerFactor - The value passed to alDopplerFactor.
| |
| s_alDopplerSpeed - The value passed to alDopplerVelocity.
| |
| s_alMinDistance - The value of AL_REFERENCE_DISTANCE for
| |
| each source.
| |
| s_alMaxDistance - The maximum distance before sounds start
| |
| to become inaudible.
| |
| s_alRolloff - The value of AL_ROLLOFF_FACTOR for each
| |
| source.
| |
| s_alGraceDistance - After having passed MaxDistance, length
| |
| until sounds are completely inaudible.
| |
| s_alDriver - Which OpenAL library to use.
| |
| s_alDevice - Which OpenAL device to use.
| |
| s_alAvailableDevices - List of available OpenAL devices.
| |
| s_alInputDevice - Which OpenAL input device to use.
| |
| s_alAvailableInputDevices - List of available OpenAL input devices.
| |
| s_sdlBits - SDL bit resolution.
| |
| s_sdlSpeed - SDL sample rate.
| |
| s_sdlChannels - SDL number of channels.
| |
| s_sdlDevSamps - SDL DMA buffer size override.
| |
| s_sdlMixSamps - SDL mix buffer size override.
| |
| s_backend - Read only, indicates the current sound
| |
| backend.
| |
| s_muteWhenMinimized - Mute sound when minimized.
| |
| s_muteWhenUnfocused - Mute sound when window is unfocused.
| |
| sv_dlRate - Bandwidth allotted to PK3 file downloads
| |
| via UDP, in kbyte/s.
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| com_ansiColor - Enable use of ANSI escape codes in the tty.
| |
| com_altivec - Enable use of altivec on PowerPC systems.
| |
| com_standalone (read only) - If set to 1, quake3 is running in
| |
| standalone mode.
| |
| com_basegame - Use a different base than baseq3. If no
| |
| original Quake3 or TeamArena pak files.
| |
| are found, this will enable running in
| |
| standalone mode.
| |
| com_homepath - Specify name that is to be appended to the
| |
| home path.
| |
| com_legacyprotocol - Specify protocol version number for
| |
| legacy Quake3 1.32c protocol, see
| |
| Network protocols section (startup only).
| |
| com_maxfpsUnfocused - Maximum frames per second when unfocused.
| |
| com_maxfpsMinimized - Maximum frames per second when minimized.
| |
| com_busyWait - Will use a busy loop to wait for rendering
| |
| next frame when set to non-zero value.
| |
| com_pipefile - Specify filename to create a named pipe
| |
| through which other processes can control
| |
| the server while it is running.
| |
| Nonfunctional on Windows.
| |
| com_gamename - Gamename sent to master server in
| |
| getservers[Ext] query and infoResponse.
| |
| "gamename" infostring value. Also used
| |
| for filtering local network games.
| |
| com_protocol - Specify protocol version number for
| |
| current ioquake3 protocol, see
| |
| Network protocols section (startup only).
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| in_joystickNo - Select which joystick to use.
| |
| in_availableJoysticks - List of available Joysticks.
| |
| in_keyboardDebug - Print keyboard debug info.
| |
|
| |
|
| sv_dlURL - The base of the HTTP or FTP site that
| | ==Compatibility== |
| holds custom pk3 files for your server.
| | Recommend for New 3DS only. Original 3DS support is not supported on the .3dsx version. |
| sv_banFile - Name of the file that is used for storing
| |
| the server bans.
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| net_ip6 - IPv6 address to bind to.
| |
| net_port6 - Port to bind to using the ipv6 address.
| |
| net_enabled - Enable networking, bitmask. Add up
| |
| number for option to enable it:
| |
| enable ipv4 networking: 1
| |
| enable ipv6 networking: 2
| |
| prioritise ipv6 over ipv4: 4
| |
| disable multicast support: 8
| |
| net_mcast6addr - Multicast address to use for scanning for
| |
| ipv6 servers on the local network.
| |
| net_mcastiface - Outgoing interface to use for scan.
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| r_allowResize - Make window resizable.
| |
| r_ext_texture_filter_anisotropic - Anisotropic texture filtering.
| |
| r_zProj - Distance of observer camera to projection
| |
| plane in quake3 standard units.
| |
| r_greyscale - Desaturate textures, useful for anaglyph,
| |
| supports values in the range of 0 to 1.
| |
| r_stereoEnabled - Enable stereo rendering for techniques
| |
| like shutter glasses (untested).
| |
| r_anaglyphMode - Enable rendering of anaglyph images
| |
| red-cyan glasses: 1
| |
| red-blue: 2
| |
| red-green: 3
| |
| green-magenta: 4
| |
| To swap the colors for left and right eye
| |
| just add 4 to the value for the wanted
| |
| color combination. For red-blue and
| |
| red-green you probably want to enable
| |
| r_greyscale.
| |
| r_stereoSeparation - Control eye separation. Resulting
| |
| separation is r_zProj divided by this
| |
| value in quake3 standard units.
| |
| See http://wiki.ioquake3.org/Stereo_Rendering.
| |
| r_marksOnTriangleMeshes - Support impact marks on md3 models, MOD
| |
| developers should increase the mark.
| |
| triangle limits in cg_marks.c if they
| |
| intend to use this.
| |
| r_sdlDriver - Read only, indicates the SDL driver
| |
| backend being used.
| |
| r_noborder - Remove window decoration from window
| |
| managers, like borders and titlebar.
| |
| r_screenshotJpegQuality - Controls quality of jpeg screenshots
| |
| captured using screenshotJPEG.
| |
| r_aviMotionJpegQuality - Controls quality of video capture when
| |
| cl_aviMotionJpeg is enabled.
| |
| r_mode -2 - This new video mode automatically uses the
| |
| desktop resolution.
| |
| </pre>
| |
| |-
| |
| |}
| |
| {| role="presentation" class="wikitable mw-collapsible mw-collapsed"|
| |
| ! colspan=2 style="text-align:center;" | New commands list
| |
| |-
| |
| |
| |
| <pre>
| |
| video [filename] - Start video capture (use with demo command).
| |
| stopvideo - Stop video capture.
| |
| stopmusic - Stop background music.
| |
| minimize - Minimize the game and show desktop.
| |
| togglemenu - Causes escape key event for opening/closing menu, or
| |
| going to a previous menu. works in binds, even in UI.
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| print - Print out the contents of a cvar.
| |
| unset - Unset a user created cvar.
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| banaddr <range> - Ban an ip address range from joining a game on this
| |
| server, valid <range> is either playernum or CIDR
| |
| notation address range.
| |
| exceptaddr <range> - Exempt an ip address range from a ban.
| |
| bandel <range> - Delete ban (either range or ban number).
| |
| exceptdel <range> - Delete exception (either range or exception number).
| |
| listbans - List all currently active bans and exceptions.
| |
| rehashbans - Reload the banlist from serverbans.dat.
| |
| flushbans - Delete all bans.
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| net_restart - Restart network subsystem to change latched settings.
| |
| game_restart <fs_game> - Switch to another mod.
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| which <filename/path> - Print out the path on disk to a loaded item.
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| execq <filename> - Quiet exec command, doesn't print "execing file.cfg".
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| kicknum <client number> - Kick a client by number, same as clientkick command.
| |
| kickall - Kick all clients, similar to "kick all" (but kicks
| |
| everyone even if someone is named "all").
| |
| kickbots - Kick all bots, similar to "kick allbots" (but kicks
| |
| all bots even if someone is named "allbots").
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| tell <client num> <msg> - Send message to a single client (new to server).
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| cvar_modified [filter] - List modified cvars, can filter results (such as "r*"
| |
| for renderer cvars) like cvarlist which lists all cvars.
| |
| </pre>
| |
| |-
| |
| |
| |
| <pre>
| |
| addbot random - The bot name "random" now selects a random bot.
| |
| </pre>
| |
| |-
| |
| |}
| |
|
| |
|
| ===Open Arena=== | | ==Changelog== |
| Open Arena is an original open source multiplayer experience powered by the Quake III engine that features Quake III style of play is very fast and requires skill to be played successfully online.
| | '''v1.2.0''' |
| | *Multi-threaded rendering (N3DS only). |
| | *800px (Wide) mode support (N3DS only). |
| | *WARNING: Original 3DS support is very buggy and is not supported on the .3dsx version. |
|
| |
|
| It's an arcade-style gameplay which allows players to quickly move through maps thanks to bouncepads, accelerator pads, teleporters and advanced techniques such as strafe jumping and rocket jumping. Some arenas include traps.
| | '''v1.1.0''' |
| | * OpenArena support. |
| | * Added CirclePad input. CirclePad aiming can be toggled by disabling joystick input in the settings menu. |
| | * Fix ghost audio bug. |
|
| |
|
| ==Compatibility==
| | '''v1.0.0''' |
| Recommend for New 3DS only. Original 3DS support is not supported on the .3dsx version.
| | * Fixed networking; online multiplayer should now work. |
| | * Fixed touchscreen keyboard input. |
| | * Added support for the original 3DS and 2DS. |
| | * WARNING: original 3ds support is very buggy and is not supported on the .3dsx version. |
| | |
| | '''v0.1''' |
| | * Initial Version. |
|
| |
|
| ==Credits== | | ==Credits== |
Line 335: |
Line 71: |
| | | |
| | | |
|
| |
| ==Changelog==
| |
| '''v1.1.0'''
| |
| * OpenArena support.
| |
| * Added CirclePad input. CirclePad aiming can be toggled by disabling joystick input in the settings menu.
| |
| * Fix ghost audio bug.
| |
|
| |
| '''v1.0.0'''
| |
| * Fixed networking; online multiplayer should now work.
| |
| * Fixed touchscreen keyboard input.
| |
| * Added support for the original 3DS and 2DS.
| |
| * WARNING: original 3ds support is very buggy and is not supported on the .3dsx version.
| |
|
| |
| '''v0.1'''
| |
| * Initial Version.
| |
|
| |
|
| ==External links== | | ==External links== |
Line 356: |
Line 77: |
| * Reddit - https://www.reddit.com/r/3dshacks/comments/cyyqqp/ioquake3ds_v110_openarena_and_circlepad_support | | * Reddit - https://www.reddit.com/r/3dshacks/comments/cyyqqp/ioquake3ds_v110_openarena_and_circlepad_support |
| * Reddit - https://www.reddit.com/r/3dshacks/comments/d5sh14/comment/f0ocuqs/?utm_source=share&utm_medium=web2x&context=3 | | * Reddit - https://www.reddit.com/r/3dshacks/comments/d5sh14/comment/f0ocuqs/?utm_source=share&utm_medium=web2x&context=3 |
|
| |
| [[Category:3DS homebrew games]]
| |
| [[Category:Homebrew shooter games on 3DS]]
| |