mirror of
https://github.com/RetroDECK/Supermodel.git
synced 2024-11-24 22:55:40 +00:00
- Only player 1 crosshair is shown by default now.
- Tweaked Makefiles a bit. - More documentation updates. - Changed version string to 0.2a in preparation for the final release :)
This commit is contained in:
parent
33f35effaf
commit
83067f076f
|
@ -13,6 +13,9 @@
|
|||
Copyright 2011 Bart Trzynadlowski, Nik Henson
|
||||
|
||||
|
||||
LICENSE AGREEMENT FOR SUPERMODEL VERSION 0.2A
|
||||
|
||||
|
||||
Supermodel is distributed as free software under the terms of the GNU General
|
||||
Public License, included below. See README.txt for additional documentation.
|
||||
The source code may be obtained from the official Supermodel web site:
|
||||
|
|
180
Docs/README.txt
180
Docs/README.txt
|
@ -1,7 +1,7 @@
|
|||
TODO: Proof source code, fix capitalization in config dialog!
|
||||
TODO: Proof source code
|
||||
TODO: if Nik adds MSVC project files, mention that first in compiling section
|
||||
TODO: discussion of missing input settings in index: saturation, dead zone, analog/digital sensitivity, etc. All missing now.
|
||||
TODO: input stuff to be written in section 12
|
||||
TODO: add a title to this document and LICENSE.txt (e.g. 'User Manual for Supermodel Version 0.2a', 'License Agreement for Supermodel v0.2a')
|
||||
TODO: final proof read, then convert all tabs to spaces
|
||||
TODO: don't forget to add date to revision history!
|
||||
|
||||
|
@ -15,20 +15,22 @@ TODO: don't forget to add date to revision history!
|
|||
#### ### ## ## #### #### ## ## #### ### ## #### ####
|
||||
####
|
||||
|
||||
Supermodel Version 0.2a
|
||||
A Sega Model 3 Arcade Emulator.
|
||||
Copyright 2011 Bart Trzynadlowski, Nik Henson
|
||||
|
||||
|
||||
USER MANUAL FOR SUPERMODEL VERSION 0.2A
|
||||
|
||||
|
||||
================
|
||||
Introduction
|
||||
================
|
||||
|
||||
Supermodel emulates the Sega Model 3 arcade platform. It uses OpenGL 2.1 and
|
||||
is available for Windows, Linux, and Mac OS X. In order to use it, you must
|
||||
legally possess ROM images of Model 3 games. Learning to operate Supermodel
|
||||
may come with a steep learning curve for most people. Carefully reading this
|
||||
document in its entirety before seeking out help is strongly advised.
|
||||
runs on Windows, Linux, and Mac OS X. In order to use it, you must legally
|
||||
possess ROM images of Model 3 games. Learning to operate Supermodel will come
|
||||
with a steep learning curve for most people. Before seeking out help, please
|
||||
read this user manual carefully.
|
||||
|
||||
Supermodel is distributed as free software under the terms of the GNU General
|
||||
Public License, included in LICENSE.txt. Additional copyright information for
|
||||
|
@ -44,10 +46,10 @@ The source code may be obtained from the official Supermodel web site:
|
|||
==============
|
||||
|
||||
This is an early public release of Supermodel. It is very much preliminary,
|
||||
alpha version software (hence the 'a' in the version number). Development was
|
||||
started in January of 2011 and has focused on reverse engineering aspects of
|
||||
the system that are still unknown. Consequently, many important features, such
|
||||
as a proper user interface, are not yet implemented and game compatibility is
|
||||
alpha version software (hence the 'a' in the version number). Development
|
||||
began in January of 2011 and has focused on reverse engineering aspects of the
|
||||
Model 3 that are still unknown. Consequently, many important features, such as
|
||||
a proper user interface, are not yet implemented and game compatibility is
|
||||
still low.
|
||||
|
||||
|
||||
|
@ -81,7 +83,7 @@ still low.
|
|||
1. Revision History
|
||||
=======================
|
||||
|
||||
Version 0.2a (September ?, 2011)
|
||||
Version 0.2a (September 24, 2011)
|
||||
- New, fully customizable input system. Supports any combination of
|
||||
keyboards, mice, and analog and digital controllers. [Nik Henson]
|
||||
- Texture offsets. Fixes models in 'Fighting Vipers 2', 'Virtual On',
|
||||
|
@ -94,13 +96,13 @@ still low.
|
|||
- Sound support. Special thanks to ElSemi for contributing his SCSP
|
||||
emulator and Karl Stenerud for allowing us to use his 68K emulator.
|
||||
- Multi-threading support. Sound and drive board emulation are off-
|
||||
loaded to a separate thread, substantially enhancing performance.
|
||||
loaded to separate threads, substantially enhancing performance.
|
||||
[Nik Henson]
|
||||
- Z80 emulation based on code by Frank D. Cringle and YAZE-AG by
|
||||
Andreas Gerlich.
|
||||
- Digital Sound Board (MPEG music) emulation courtesy of R. Belmont and
|
||||
the MPEG decoder library by Tomislav Uzelac.
|
||||
- Improved ROM loading. It should no longer be as easily confused by
|
||||
- Improved ROM loader. It should no longer be as easily confused by
|
||||
combined ROM sets as long as unused files are removed.
|
||||
- Configuration file now supports more settings and allows game-
|
||||
specific customization.
|
||||
|
@ -154,7 +156,8 @@ directories should be created:
|
|||
Saves/ Directory where save states will be saved.
|
||||
|
||||
Supermodel requires OpenGL 2.1 and a substantial amount of both video and
|
||||
system memory.
|
||||
system memory. A very fast CPU and GPU are needed to achieve playable frame
|
||||
rates.
|
||||
|
||||
As of this version, Linux and Mac OS X binaries are not provided. Users must
|
||||
compile their own.
|
||||
|
@ -170,7 +173,7 @@ arguments for an explanation of supported options.
|
|||
|
||||
Supermodel uses MAME-compatible ROM sets. It loads from ZIP archives based on
|
||||
file checksums and automatically detects games; therefore, file names are not
|
||||
important. A maximum of one ZIP file can be specified on the command line. For
|
||||
important. Only one ZIP file can be specified on the command line. For
|
||||
example:
|
||||
|
||||
supermodel scud.zip -fullscreen
|
||||
|
@ -314,10 +317,10 @@ automatically adjusts the display area to retain the aspect ratio of the Model
|
|||
3's native (and Supermodel's default) resolution, 496x384. Currently, this
|
||||
cannot be overriden. Changing video modes at run-time is not yet supported.
|
||||
|
||||
By default, Supermodel limits the frame rate to 60 Hz. This has no impact on
|
||||
performance except when the frame rate exceeds 60 FPS on fast systems. This
|
||||
can be disabled with the '-no-throttle' option. Some video drivers may
|
||||
continue to lock to the refresh rate.
|
||||
By default, Supermodel limits the frame rate to 60 frames per second. This has
|
||||
no impact on performance except when the frame rate exceeds 60 FPS on fast
|
||||
systems. Frame rate limiting can be disabled with the '-no-throttle' option.
|
||||
Some video drivers may continue to lock to the refresh rate.
|
||||
|
||||
To change the resolution, use the '-res' command line option. For full screen
|
||||
mode, use '-fullscreen'. For example, to set a full screen 1920x1080 mode,
|
||||
|
@ -326,7 +329,7 @@ try:
|
|||
supermodel game.zip -res=1920,1080 -fullscreen
|
||||
|
||||
Video settings may also be specified globally or on a per-game basis in the
|
||||
configuration file, described elsewhere in this document.
|
||||
configuration file, described elsewhere in this manual.
|
||||
|
||||
|
||||
=====================
|
||||
|
@ -360,7 +363,7 @@ levels become too high.
|
|||
|
||||
To disable sound and music board emulation altogether, use the '-no-sound' and
|
||||
'-no-dsb' options. These will not merely mute the corresponding audio channels
|
||||
but will prevent the CPUs and audio chips from being emulated altogether. Save
|
||||
but will prevent the audio co-processors from being emulated altogether. Save
|
||||
states generated with these settings may not be able to properly restore audio
|
||||
when loaded after emulation is re-enabled.
|
||||
|
||||
|
@ -371,15 +374,16 @@ Please keep in mind that MPEG music emulation is preliminary and the decoder is
|
|||
buggy. Periodic squeaks and pops occur on many music tracks. The Sega Custom
|
||||
Sound Processor (SCSP) emulator, used for sound emulation, is an older version
|
||||
of ElSemi's code and also quite buggy. Sound glitches are known to occur now
|
||||
and then, and many sounds and tunes do not sound quite correct.
|
||||
and then, and many sounds and tunes do not sound quite correct yet.
|
||||
|
||||
|
||||
===============
|
||||
7. Controls
|
||||
===============
|
||||
|
||||
Supermodel only supports the keyboard and mouse at present. Emulator functions
|
||||
are listed below and cannot be changed.
|
||||
Game controls are fully configurable and can be mapped to keyboards, mice, and
|
||||
game controllers. Emulator functions, on the other hand, cannot be changed and
|
||||
are listed below.
|
||||
|
||||
Function Key Assignment
|
||||
-------- --------------
|
||||
|
@ -415,19 +419,22 @@ will save changes to 'Supermodel.ini'. You can choose which input to configure
|
|||
using the Up and Down arrow keys. Clearing an input means it will be unusable.
|
||||
|
||||
If the configuration dialog is not responding to your key presses, make sure
|
||||
that the blank window rather than the command prompt is selected. This may
|
||||
seem counter-intuitive but inputs are captured by the graphical window while
|
||||
messages are printed to the command prompt.
|
||||
that the blank pop-up window rather than the command prompt is selected. This
|
||||
may seem counter-intuitive but inputs are captured by the graphical window
|
||||
while messages are printed to the command prompt.
|
||||
|
||||
|
||||
XBox 360 Controllers
|
||||
--------------------
|
||||
|
||||
For full XBox 360 controller support, the XInput system must be used
|
||||
For full XBox 360 controller support, the XInput system must be used on Windows
|
||||
('-input-system=xinput'). Otherwise, the left and right trigger buttons cannot
|
||||
be mapped individually and force feedback will not work. Please read the
|
||||
section titled 'Input Systems', further below.
|
||||
|
||||
Mac OS X users can use Colin Munro's XBox 360 controller driver:
|
||||
http://tattiebogle.net/index.php/ProjectRoot/Xbox360Controller/OsxDriver
|
||||
|
||||
|
||||
Analog Controls
|
||||
---------------
|
||||
|
@ -461,7 +468,7 @@ Virtual On Twin Joysticks
|
|||
to a tracked vehicle (e.g. a tank). Movement is accomplished by pushing both
|
||||
joysticks in the same direction. Pushing and pulling in opposite directions
|
||||
will turn the robot, while pulling the joysticks apart sideways or pushing them
|
||||
inwards is for jumping and falling back down to the ground, respectively.
|
||||
inwards are for jumping and falling back down to the ground, respectively.
|
||||
|
||||
Supermodel supports mapping the individual joysticks but also provides 'macro'
|
||||
controls by default. These allow all the necessary twin joystick commands to
|
||||
|
@ -486,13 +493,16 @@ Light gun axes can be mapped to mice, analog controls, or even digital buttons.
|
|||
To simulate pointing off-screen (required in order to reload), a 'point off-
|
||||
screen' input is provided which, for as long as it is pressed, will aim the gun
|
||||
off-screen. To reload, hold down this button and then, while holding it, press
|
||||
the trigger.
|
||||
the trigger. For automatic reloading, the 'InputAutoTrigger' setting can be
|
||||
enabled in the configuration file (described elsewhere in this manual).
|
||||
|
||||
Crosshairs for both players will be visible in full screen mode and can also be
|
||||
enabled in windowed modes. Use Alt-I to select the crosshair mode.
|
||||
Crosshairs will be visible in full screen mode and can also be enabled in
|
||||
windowed modes. Use Alt-I to cycle through different crosshair options (enable
|
||||
for a single player, both, or none).
|
||||
|
||||
For multiple mouse support, allowing two mice or PC light guns to be used, Raw
|
||||
Input must be used. This is supported only on Windows and is described below.
|
||||
For multiple mouse support, allowing two mice or PC light guns to be mapped,
|
||||
Raw Input must be used. This is supported only on Windows and is described
|
||||
below.
|
||||
|
||||
|
||||
Input Systems
|
||||
|
@ -518,8 +528,8 @@ Windows users can select between four different input systems:
|
|||
Windows but does not provide full support for all devices.
|
||||
|
||||
When switching input systems with '-input-system', you must also configure your
|
||||
inputs using the same option. For example, when running Supermodel with
|
||||
XInput ('supermodel game.zip -input-system=xinput'), you must configure with
|
||||
inputs using the same option. For example, when running Supermodel with XInput
|
||||
('supermodel game.zip -input-system=xinput'), you must also configure with
|
||||
XInput ('supermodel -config-inputs -input-system=xinput'). Many settings are
|
||||
not compatible between input systems.
|
||||
|
||||
|
@ -563,8 +573,8 @@ Force feedback can be enabled and tuned in the configuration file. Setting
|
|||
|
||||
ForceFeedback = 1
|
||||
|
||||
There are three DirectInput effects: constant force, self centering, and
|
||||
vibration. The strength of each can be tuned with the following settings:
|
||||
There are four DirectInput effects: constant force, self centering, friction,
|
||||
and vibration. The strength of each can be tuned with the following settings:
|
||||
|
||||
DirectInputConstForceMax = 100
|
||||
DirectInputSelfCenterMax = 100
|
||||
|
@ -588,7 +598,8 @@ The relevant settings are:
|
|||
The constant force threshold specifies how strong a constant force command must
|
||||
be before it is sent to the controller as a vibration effect (whose strength is
|
||||
determined by XInputConstForceMax). The default values are shown above and
|
||||
will require calibration by the user on a game-by-game basis.
|
||||
will require calibration by the user on a game-by-game basis to achieve the
|
||||
best feel.
|
||||
|
||||
|
||||
============================
|
||||
|
@ -600,11 +611,19 @@ Save states are saved and restored by pressing F5 and F7, respectively. Up to
|
|||
Saves/ directory, which must exist beforehand. If you extracted the Supermodel
|
||||
ZIP file correctly, it will have been created automatically.
|
||||
|
||||
If a Model 3 co-processor (ie. sound board, DSB, drive board) is disabled when
|
||||
a save state is taken, it will not resume normal operation when the state is
|
||||
loaded, even if Supermodel is running with the co-processor re-enabled. The
|
||||
drive board (and consequently, force feedback effects) is explicitly disabled
|
||||
for the remainder of the session if a save state with an inactive drive board
|
||||
is loaded. Audio co-processors are not, and therefore audio playback may
|
||||
eventually resume after the audio boards have booted themselves up.
|
||||
|
||||
Non-volatile memory (NVRAM) consists of battery-backed backup RAM and an EEPROM
|
||||
chip. The former is used for high score data and statistics whereas the latter
|
||||
stores machine settings (often accessed using the Test buttons). NVRAM is
|
||||
automatically saved each time Supermodel exits and is loaded at start-up. It
|
||||
can be cleared by deleting the NVRAM files or using Alt-N.
|
||||
can be cleared by deleting the NVRAM files or pressing Alt-N.
|
||||
|
||||
|
||||
=======================================
|
||||
|
@ -643,7 +662,7 @@ in attract mode will result in a PowerPC crash before the stage loads. This is
|
|||
caused by an unknown emulation bug. Simply wait until the Darth Vader sequence
|
||||
appears before attempting to start a game.
|
||||
|
||||
If Star Wars Trilogy is booting directly into the stage select screen, it is
|
||||
If 'Star Wars Trilogy' is booting directly into the stage select screen, it is
|
||||
probably because you exited Supermodel with credits still in the machine.
|
||||
Clear the NVRAM (Alt-N) and reset the game (Alt-R).
|
||||
|
||||
|
@ -651,8 +670,8 @@ Clear the NVRAM (Alt-N) and reset the game (Alt-R).
|
|||
Sega Rally 2
|
||||
------------
|
||||
|
||||
As with Star Wars Trilogy, you may experience problems if you attempt to start
|
||||
a game before any 3D graphics are displayed (for example, during the Sega
|
||||
As with 'Star Wars Trilogy', you may experience problems if you attempt to
|
||||
start a game before any 3D graphics are displayed (for example, during the Sega
|
||||
logo).
|
||||
|
||||
The region can be changed by entering the test menu (press the Test button) and
|
||||
|
@ -660,11 +679,22 @@ then pressing the Service button four times for short durations, twice for long
|
|||
durations, twice for short durations, and once again for a long duration.
|
||||
|
||||
|
||||
Spikeout and Spikeout Final Edition
|
||||
-----------------------------------
|
||||
|
||||
These games can be played all the way through but may lock up during the
|
||||
attract mode. There are periodic texture glitches due to Supermodel's
|
||||
inadequate texture caching system and possibly also due to a texture offset
|
||||
bug.
|
||||
|
||||
|
||||
The Lost World
|
||||
--------------
|
||||
|
||||
To reload, the light gun must be pointed off-screen by pressing (and holding)
|
||||
the 'off-screen' button and, simultaneously, pressing the trigger to shoot.
|
||||
This behavior can be changed with the 'InputAutoTrigger' setting in the
|
||||
configuration file.
|
||||
|
||||
The region can be changed by entering the test menu (press the Test button) and
|
||||
pressing: Start, Start, Service, Start, Service, Test. Use the player 1 Start
|
||||
|
@ -681,6 +711,8 @@ during transition scenes.
|
|||
Virtua Striker 2 '98 (Step 1.5 and 2.0 versions)
|
||||
------------------------------------------------
|
||||
|
||||
The Virtua Striker games all run very slowly for an unknown reason.
|
||||
|
||||
The region can be changed by entering the test menu (press the Test button)
|
||||
and, in the 'Game Assignments' menu, performing the following sequence:
|
||||
|
||||
|
@ -741,7 +773,7 @@ game-specific settings, and lastly, global settings.
|
|||
|
||||
An index of all allowed settings is provided further below in this document.
|
||||
|
||||
NOTE: Type carefully! Supermodel will not report syntax errors or detect
|
||||
NOTE: Type carefully! Supermodel will not report syntax errors nor detect
|
||||
typos. Carefully read the discussion of the file syntax below. To verify that
|
||||
your intended settings are taking effect, check the 'error.log' file that is
|
||||
produced by Supermodel during each run.
|
||||
|
@ -750,16 +782,15 @@ produced by Supermodel during each run.
|
|||
File Structure and Syntax
|
||||
-------------------------
|
||||
|
||||
The configuration file is a list of settings grouped under sections. All names
|
||||
and settings in the file are case sensitive. Settings take the form:
|
||||
The configuration file is a list of settings grouped by sections. All setting
|
||||
names and their arguments are case sensitive. They take the form:
|
||||
|
||||
Name = Argument
|
||||
|
||||
Names are case sensitive. Only one setting per line is allowed. Only two
|
||||
types of arguments are allowed: integers and strings. The choice of which to
|
||||
use is determined by the setting. Integers are unsigned and begin at 0.
|
||||
Strings can contain any characters and are enclosed by double quotes.
|
||||
Examples:
|
||||
Only one setting per line is allowed. Only two types of arguments are allowed:
|
||||
integers and strings. The choice of which to use is determined by the setting.
|
||||
Integers are unsigned and begin at 0. Strings can contain any characters and
|
||||
are enclosed by double quotes. Examples:
|
||||
|
||||
IntegerSetting1 = 0
|
||||
IntegerSetting2 = 65536
|
||||
|
@ -788,7 +819,7 @@ Global and Game-Specific Sections
|
|||
|
||||
Sections determine whether settings are applied globally, to all games, or to
|
||||
specific games. Game-specific settings will override global settings and can
|
||||
be used to tune Supermodel on a game-by-game basis. Global settings should be
|
||||
be used to tune Supermodel on a game-by-game basis. Global settings must be
|
||||
placed in the 'Global' section and game-specific settings in sections named
|
||||
after the ROM sets. ROM sets must be typed in lower case and use the MAME
|
||||
(http://www.mamedev.org) naming convention. They can be obtained by running
|
||||
|
@ -845,7 +876,7 @@ by generating a configuration file using '-config-inputs'.
|
|||
=====================================
|
||||
|
||||
All valid command line settings are listed here, ordered by category. Defaults
|
||||
are given under the assumption that they also have not been changed in the
|
||||
are given under the assumption that they have not been changed in the
|
||||
configuration file.
|
||||
|
||||
Square brackets ('[' and ']') indicate optional parameters. Angled brackets
|
||||
|
@ -890,9 +921,10 @@ not. All options are case sensitive.
|
|||
may slow down Supermodel on weaker computers. Supermodel's
|
||||
performance can frequently be improved by lowering the
|
||||
PowerPC frequency (25 MHz works in many games). In some
|
||||
games, this will cause timing problems. The optimum value
|
||||
for this setting will vary from game to game and system to
|
||||
system. Valid values are 1 to 1000.
|
||||
games, this will cause timing problems and jerky
|
||||
performance. The optimum frequency will vary from game to
|
||||
game and system to system. Valid values for <f> are 1 to
|
||||
1000.
|
||||
|
||||
----------------
|
||||
|
||||
|
@ -908,7 +940,8 @@ not. All options are case sensitive.
|
|||
Description: Disables 60 FPS throttling. The Model 3 runs at a 60 Hz
|
||||
refresh rate, which Supermodel enforces if this option is
|
||||
omitted. Unthrottled operation may not work on some
|
||||
systems because graphics drivers may lock the refresh rate.
|
||||
systems because graphics drivers may lock the refresh rate
|
||||
on their own.
|
||||
|
||||
----------------
|
||||
|
||||
|
@ -920,8 +953,9 @@ not. All options are case sensitive.
|
|||
|
||||
Option: -res=<x>,<y>
|
||||
|
||||
Description: Resolution of the display in pixels. The default is
|
||||
496x384, the Model 3's native resolution.
|
||||
Description: Resolution of the display in pixels, with <x> being width
|
||||
and <y> being height. The default is 496x384, the Model
|
||||
3's native resolution.
|
||||
|
||||
----------------
|
||||
|
||||
|
@ -935,9 +969,12 @@ not. All options are case sensitive.
|
|||
-vert-shader=<file>
|
||||
|
||||
Description: Allows external fragment and vertex shaders to be used for
|
||||
3D rendering. Files should be ASCII text files containing
|
||||
GLSL source code. The file extension is not important. By
|
||||
default, Supermodel's internal shader programs are used.
|
||||
3D rendering. <file> is the file path. Files should be
|
||||
ASCII text files containing GLSL source code. The file
|
||||
extension is not important. By default, Supermodel's
|
||||
internal shader programs are used. These options are
|
||||
intended for future extensibility and for use by
|
||||
developers.
|
||||
|
||||
----------------
|
||||
|
||||
|
@ -967,8 +1004,8 @@ not. All options are case sensitive.
|
|||
Description: Specifies the volume of MPEG music produced by the Digital
|
||||
Sound Board and the audio produced by the sound board in
|
||||
percent. The default is 100, which is full volume, and the
|
||||
valid range is 0 (muted) to 200%. See the section on audio
|
||||
settings for more information.
|
||||
valid range of <v> is 0 (muted) to 200. See the section on
|
||||
audio settings for more information.
|
||||
|
||||
----------------
|
||||
|
||||
|
@ -992,7 +1029,7 @@ not. All options are case sensitive.
|
|||
|
||||
Description: Sets the input system. This is only available on Windows,
|
||||
where the default is 'dinput' (DirectInput). SDL is used
|
||||
for all other platforms. Valid input systems are:
|
||||
for all other platforms. Valid choices for <s> are:
|
||||
|
||||
dinput DirectInput.
|
||||
xinput XInput
|
||||
|
@ -1563,6 +1600,7 @@ we would like to thank:
|
|||
- ElSemi, for all sorts of technical information and insight
|
||||
- Naibo Zhang, for his work on Model 3 graphics
|
||||
- R. Belmont, for all sorts of help and the Mac OS X port
|
||||
- krom, for adding in the remaining ROM sets
|
||||
- Andrew Lewis (a.k.a. Andy Geezer), for dumping the drive board ROMs and
|
||||
providing region codes
|
||||
- The Guru, for his efforts in dumping Model 3 ROM sets
|
||||
|
@ -1577,10 +1615,12 @@ we would like to thank:
|
|||
|
||||
Supermodel includes code from the following projects:
|
||||
|
||||
zlib: http://zlib.net
|
||||
minizip: http://www.winimage.com/zLibDll/minizip.html
|
||||
The OpenGL Extension
|
||||
Wrangler Library (GLEW): http://glew.sourceforge.net
|
||||
- zlib: http://zlib.net
|
||||
- minizip: http://www.winimage.com/zLibDll/minizip.html
|
||||
- YAZE-AG: http://www.mathematik.uni-ulm.de/users/ag/yaze/
|
||||
- Amp by Tomislav Uzalec
|
||||
- The OpenGL Extension Wrangler Library (GLEW):
|
||||
http://glew.sourceforge.net
|
||||
|
||||
The OpenGL Extension Wrangler Library
|
||||
Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||
|
|
|
@ -66,7 +66,7 @@ CC = gcc
|
|||
OCC = gcc
|
||||
LD = gcc
|
||||
COMPILER_FLAGS = -I$(OBJ_DIR) -ISrc/ -ISrc/OSD -ISrc/OSD/SDL/ -ISrc/Pkgs/ -ISrc/CPU/68K/Musashi -ISrc/Sound/MPEG -c -Wall -O3 -DUSE_FILE32API -DSUPERMODEL_OSX
|
||||
CFLAGS = $(COMPILER_FLAGS) -std=c99
|
||||
CFLAGS = $(COMPILER_FLAGS)
|
||||
CPPFLAGS = $(COMPILER_FLAGS)
|
||||
LFLAGS = -o $(OUTFILE) $(SDL_LDFLAGS) -lz -lm -lstdc++
|
||||
|
||||
|
@ -213,7 +213,7 @@ $(OBJ_DIR)/%.o: Src/Pkgs/%.c
|
|||
# To eliminate name conflicts, object files have the prefix "amp_" attached.
|
||||
#
|
||||
$(OBJ_DIR)/amp_%.o: Src/Sound/MPEG/%.cpp Src/Sound/MPEG/%.h
|
||||
$(CC) $< $(CFLAGS) -o $(OBJ_DIR)/amp_$(*F).o
|
||||
$(CC) $< $(CPPFLAGS) -o $(OBJ_DIR)/amp_$(*F).o
|
||||
|
||||
$(OBJ_DIR)/amp_%.o: Src/Sound/MPEG/%.cpp
|
||||
$(CC) $< $(CFLAGS) -o $(OBJ_DIR)/amp_$(*F).o
|
||||
$(CC) $< $(CPPFLAGS) -o $(OBJ_DIR)/amp_$(*F).o
|
|
@ -67,7 +67,7 @@ OUTFILE = $(BIN_DIR)/Supermodel
|
|||
CC = gcc
|
||||
LD = gcc
|
||||
COMPILER_FLAGS = `sdl-config --cflags` -ISrc/ -ISrc/OSD/SDL/ -ISrc/Pkgs/ -c -Wall -O3
|
||||
CFLAGS = $(COMPILER_FLAGS) -std=c99
|
||||
CFLAGS = $(COMPILER_FLAGS)
|
||||
CPPFLAGS = $(COMPILER_FLAGS)
|
||||
LFLAGS = -o $(OUTFILE) -L$(SDL_LIBPATH) -lGL -lGLU -lSDL -lz -lm -lstdc++
|
||||
|
||||
|
@ -215,7 +215,7 @@ $(OBJ_DIR)/%.o: Src/Pkgs/%.c
|
|||
# To eliminate name conflicts, object files have the prefix "amp_" attached.
|
||||
#
|
||||
$(OBJ_DIR)/amp_%.o: Src/Sound/MPEG/%.cpp Src/Sound/MPEG/%.h
|
||||
$(CC) $< $(CFLAGS) -o $(OBJ_DIR)/amp_$(*F).o
|
||||
$(CC) $< $(CPPFLAGS) -o $(OBJ_DIR)/amp_$(*F).o
|
||||
|
||||
$(OBJ_DIR)/amp_%.o: Src/Sound/MPEG/%.cpp
|
||||
$(CC) $< $(CFLAGS) -o $(OBJ_DIR)/amp_$(*F).o
|
||||
$(CC) $< $(CPPFLAGS) -o $(OBJ_DIR)/amp_$(*F).o
|
||||
|
|
|
@ -71,6 +71,10 @@ endif
|
|||
# Edit these paths as necessary.
|
||||
# The following environment variables are used:
|
||||
# DXSDK_DIR is Direct X installation directory.
|
||||
#
|
||||
# SDL and zlib must have been built with the multi-threaded static run-time
|
||||
# library (/MT option). By default, they usually come built with /MD. You must
|
||||
# either compile them yourself or edit the compiler options below to use /MD.
|
||||
###############################################################################
|
||||
|
||||
#
|
||||
|
|
|
@ -677,9 +677,9 @@ static void UpdateCrosshairs(CInputs *Inputs, unsigned showCrosshairs)
|
|||
|
||||
// Draw visible crosshairs
|
||||
glBegin(GL_TRIANGLES);
|
||||
if ((showCrosshairs & 2) && !Inputs->trigger[0]->offscreenValue) // Player 1
|
||||
if ((showCrosshairs & 1) && !Inputs->trigger[0]->offscreenValue) // Player 1
|
||||
DrawCrosshair(x[0], y[0], 1.0f, 0.0f, 0.0f);
|
||||
if ((showCrosshairs & 1) && !Inputs->trigger[1]->offscreenValue) // Player 2
|
||||
if ((showCrosshairs & 2) && !Inputs->trigger[1]->offscreenValue) // Player 2
|
||||
DrawCrosshair(x[1], y[1], 0.0f, 1.0f, 0.0f);
|
||||
glEnd();
|
||||
}
|
||||
|
@ -739,11 +739,8 @@ int Supermodel(const char *zipFile, CInputs *Inputs, CINIFile *CmdLine)
|
|||
// Hide mouse if fullscreen, enable crosshairs for gun games
|
||||
Inputs->GetInputSystem()->SetMouseVisibility(!g_Config.fullScreen);
|
||||
gameHasLightguns = !!(Model3->GetGameInfo()->inputFlags & (GAME_INPUT_GUN1|GAME_INPUT_GUN2));
|
||||
if (g_Config.fullScreen)
|
||||
{
|
||||
if (gameHasLightguns)
|
||||
showCrosshairs = 3;
|
||||
}
|
||||
if (g_Config.fullScreen && gameHasLightguns)
|
||||
showCrosshairs = 1; // show player 1 cursor only by default (TODO: add an IsMapped() member to CInput to allow testing for both lightguns)
|
||||
|
||||
// Attach the inputs to the emulator
|
||||
Model3->AttachInputs(Inputs);
|
||||
|
@ -980,14 +977,14 @@ int Supermodel(const char *zipFile, CInputs *Inputs, CINIFile *CmdLine)
|
|||
}
|
||||
else if (Inputs->uiSelectCrosshairs->Pressed() && gameHasLightguns)
|
||||
{
|
||||
// Count downwards to get this sequence: both, player 1, player 2, none
|
||||
showCrosshairs--;
|
||||
|
||||
showCrosshairs++;
|
||||
switch ((showCrosshairs&3))
|
||||
{
|
||||
case 0: puts("Crosshairs disabled."); break;
|
||||
case 3: puts("Crosshairs enabled."); break;
|
||||
case 2: puts("Showing Player 1 crosshair only."); break;
|
||||
case 1: puts("Showing Player 2 crosshair only."); break;
|
||||
case 1: puts("Showing Player 1 crosshair only."); break;
|
||||
case 2: puts("Showing Player 2 crosshair only."); break;
|
||||
}
|
||||
}
|
||||
else if (Inputs->uiClearNVRAM->Pressed())
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
Program-Wide Definitions
|
||||
******************************************************************************/
|
||||
|
||||
#define SUPERMODEL_VERSION "0.2a-RC3" // version string
|
||||
#define SUPERMODEL_VERSION "0.2a" // version string
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
|
|
Loading…
Reference in a new issue