Skip to content

Commit

Permalink
Bump version, switch UIScalingMode so mode 1 = OnlineArcade
Browse files Browse the repository at this point in the history
  • Loading branch information
emoose committed Jul 4, 2024
1 parent c2f1475 commit cb8c622
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 22 deletions.
9 changes: 5 additions & 4 deletions OutRun2006Tweaks.ini
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,16 @@ VSync = 1
[Graphics]
# Adjusts the UI scaling applied by the game
# 0 = game default, stretches to screen ratio
# 1 = 4:3 UI centered to middle of screen
# 2 = fixed UI scaling without stretching, based on Outrun Online Arcade
# 1 = fixed UI scaling without stretching, based on Outrun Online Arcade
# 2 = 4:3 UI centered to middle of screen
# Outrun Online Arcade scaling required many manual code changes, please let me know if you notice anything broken!
UIScalingMode = 0

# Adds 4:3 letterboxing to game menus, to address some graphical issues outside of the menus 4:3 display
# 0 = disable all letterboxing
# 1 = letterbox menus only, disabled when in-game
# 2 = always letterbox (only recommended with UIScalingMode = 1)
# NOTE: this letterboxing setting is only used when UIScalingMode above is set to 1 or above
# NOTE: this letterboxing is only used when UIScalingMode is set to 1 or above
UILetterboxing = 1

# 1 - 16, 0 to leave it at games default.
Expand Down Expand Up @@ -87,7 +87,8 @@ AllowFLAC = true
# (gamepad buttons can be rebound below)
#
# The tracks played by the CDSwitcher can be customized in the CDTracks section at the end of this file
# Custom tracks can also be added there for CDSwitcher to load in
# Custom tracks can also be added there for CDSwitcher to load in
# (AllowUncompressedBGM must be enabled above for CDSwitcher to function correctly)
SwitcherEnable = false

# Whether to display track title after switching
Expand Down
13 changes: 2 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Latest builds can be found under the releases section: https://github.com/emoose

### Features
**Bugfixes:**
- UI can now scale to different aspect ratios properly without stretching (requires `UIScalingMode = 2` in INI)
- UI can now scale to different aspect ratios properly without stretching (requires `UIScalingMode = 1` in INI)
- Prevents save corruption bug when remapping controls with many dinput devices connected
- Fixed C2C ranking scoreboards not updating on Steam and other releases due to faulty anti-piracy checks
- Pegasus animation's clopping sound effect will now end correctly
Expand Down Expand Up @@ -50,20 +50,11 @@ To set it up:
Steam Deck/Linux users may need to run the game with `WINEDLLOVERRIDES="dinput8=n,b" %command%` launch parameters for the mod to load in.

### Building
Building requires Visual Studio 2022, CMake & git to be installed, with those setup just clone this repo and then run `build_2022.bat`.
Building requires Visual Studio 2022, CMake & git to be installed, with those setup just clone this repo and then run `generate_2022.bat`.

If the batch script succeeds you should see a `build\outrun2006tweaks-proj.sln` solution file, just open that in VS and build it.

(if you have issues building with this setup please let me know)

### TODO
- even with LODs & culling disabled some distant cars still pop into view, can distance of them loading in be increased?
- likewise certain parts of the stage have pop-in, usually happens when some part is obscured by some other geometry, occlusion culling maybe?
- car shadow improvements? seems player car uses different shadowing to other cars, could that be added to those too?
- (the existing car shadows also seem to disappear after some distance, could it be increased?)
- input deadzone improvements?
- fix broken car horn (haven't seen any code for it yet though...)
- game retiming? probably a pipe dream - seems game is meant for 60.2Hz tickrate, lots of things coded for that & using 0.0166112... frametimes

### Thanks
Thanks to [debugging.games](http://debugging.games) for hosting debug symbols for OutRun 2 SP (Lindburgh), very useful for looking into Outrun2006.
7 changes: 2 additions & 5 deletions src/hooks_graphics.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -468,8 +468,8 @@ VSyncOverride VSyncOverride::instance;
enum class ScalingMode
{
Vanilla,
KeepCentered,
OnlineArcade,
KeepCentered,
Other
};

Expand Down Expand Up @@ -686,10 +686,7 @@ class UIScaling : public Hook
{
float spacing = -((Game::screen_scale->y * Game::original_resolution.x) - Game::screen_resolution->x) / 2;

// Space out the UI elements if they're past a certain X position
// Seems this is pretty much what online arcade does
// TODO: add checks to skip processing non-HUD elements

// Space out the UI elements if they're in the not in the middle of the screen
float* m = *Module::exe_ptr<float*>(0x49B564);
float x = m[12];

Expand Down
4 changes: 2 additions & 2 deletions src/resource.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
#endif

#define MODULE_VERSION_MAJOR 0
#define MODULE_VERSION_MINOR 3
#define MODULE_VERSION_BUILD 1
#define MODULE_VERSION_MINOR 4
#define MODULE_VERSION_BUILD 0
#define MODULE_VERSION_REVISION 0

#define STR(value) #value
Expand Down

0 comments on commit cb8c622

Please sign in to comment.