Difference between revisions of "BobscreenTest"

From Sega Retro

(getting close)
Line 4: Line 4:
 
{{#vardefine:xratio|{{#if:{{{forcewidescreen|}}}|16|4}}}}
 
{{#vardefine:xratio|{{#if:{{{forcewidescreen|}}}|16|4}}}}
 
{{#vardefine:yratio|{{#if:{{{forcewidescreen|}}}|9|3}}}}
 
{{#vardefine:yratio|{{#if:{{{forcewidescreen|}}}|9|3}}}}
{{#vardefine:defaultwidth|{{#ifexpr:{{#var:imagewidth}} < 320|{{#var:imagewidth}}|320}}}}
 
{{#vardefine:defaultheight|{{#expr:({{#var:defaultwidth}}/{{#var:xratio}})*{{#var:yratio}}}}}}
 
  
{{#vardefine:desiredwidth|{{{width|{{#ifexpr:{{#var:imagewidth}} > {{#var:defaultwidth}}|{{#var:defaultwidth}}|{{#var:imagewidth}}}}}}}}}
+
{{#if:{{{height|}}}
{{#vardefine:desiredheight|{{{height|{{#ifexpr:{{#var:imageheight}} > {{#var:defaultheight}}|{{#var:defaultheight}}|{{#var:imageheight}}}}}}}}}
+
|{{#vardefine:defaultheight|{{#var:imageheight|}}}}
 +
|{{#vardefine:defaultheight|{{#ifexpr:{{#var:imagewidth}} < 240|{{#var:imagewidth}}|240}}}}
 +
}}
 +
{{#if:{{{width|}}}
 +
|{{#vardefine:defaultwidth|{{#var:imagewidth|}}}}
 +
|{{#vardefine:defaultwidth|{{#expr:({{#var:defaultheight}}/{{#var:yratio}})*{{#var:xratio}}}}}}
 +
}}
  
 +
{{#vardefine:desiredwidth|{{{width|{{#var:defaultwidth}}}}}}}
 +
{{#vardefine:desiredheight|{{{height|{{#var:defaultheight}}}}}}}
 +
 +
<!--
 +
{{#vardefine:desiredwidth|{{{width|{{#ifexpr:{{#var:imagewidth}} > {{#var:defaultwidth}}|{{#var:imagewidth}}|{{#var:imagewidth}}}}}}}}}
 +
{{#vardefine:desiredheight|{{{height|{{#ifexpr:{{#var:imageheight}} > {{#var:defaultheight}}|{{#var:imageheight}}|{{#var:imageheight}}}}}}}}}
 +
-->
  
 
<!-- TODO: the rest -->
 
<!-- TODO: the rest -->
  
  
{{#vardefine:xscale|1}}
+
{{#vardefine:xscale|{{#expr:{{#var:desiredwidth}}/{{#var:imagewidth}}}}}}
{{#vardefine:yscale|1}}
+
{{#vardefine:yscale|{{#expr:{{#var:desiredheight}}/{{#var:imageheight}}}}}}
  
 
{{#vardefine:vmargin|0}}
 
{{#vardefine:vmargin|0}}
 
{{#vardefine:hmargin|0}}
 
{{#vardefine:hmargin|0}}
 
+
<!--
 
{{#ifeq: {{#mediadimensions:{{{1}}}}} | 512 × 448 | {{#vardefine:xscale|1.25}} }}
 
{{#ifeq: {{#mediadimensions:{{{1}}}}} | 512 × 448 | {{#vardefine:xscale|1.25}} }}
 
{{#ifeq: {{#mediadimensions:{{{1}}}}} | 512 × 480 | {{#vardefine:xscale|1.25}} }}
 
{{#ifeq: {{#mediadimensions:{{{1}}}}} | 512 × 480 | {{#vardefine:xscale|1.25}} }}
Line 35: Line 46:
 
{{#ifeq: {{#mediaheight:{{{1}}}}}|480|{{#vardefine:yscale|{{#expr:{{#var:yscale}}*0.75}}}}{{#vardefine:wsmargin|30}}|}}
 
{{#ifeq: {{#mediaheight:{{{1}}}}}|480|{{#vardefine:yscale|{{#expr:{{#var:yscale}}*0.75}}}}{{#vardefine:wsmargin|30}}|}}
 
}}
 
}}
 +
-->
 +
<!--
 
{{#if: {{{width|}}} | {{#vardefine:screenwidth|{{#expr:{{{width}}}/{{#var:scale}}}}}} }}
 
{{#if: {{{width|}}} | {{#vardefine:screenwidth|{{#expr:{{{width}}}/{{#var:scale}}}}}} }}
 
{{#vardefine:visiblewidth|{{#expr:{{#var:screenwidth}}*{{#var:scale}}}}}}
 
{{#vardefine:visiblewidth|{{#expr:{{#var:screenwidth}}*{{#var:scale}}}}}}
 
+
-->
{{#vardefine:newheight|{{#expr:{{#var:screenheight}}*{{#var:scale}}}}}}
+
{{#vardefine:newheight|{{#expr:{{#var:desiredheight}}*{{#var:scale}}}}}}
{{#vardefine:vmargin|{{#expr:((({{#var:screenheight}}*{{#var:yscale}})-{{#var:screenheight}})/2){{#ifeq:{{{forcewidescreen|}}}|yes|+{{#var:wsmargin}}|}}}}}}
+
{{#vardefine:vmargin|{{#expr:((({{#var:desiredheight}}*{{#var:yscale}})-{{#var:desiredheight}})/2)}}}}
  
 
</div>
 
</div>
*{{#var:desiredwidth}}:{{#var:desiredheight}}
+
*{{#var:desiredwidth}}:{{#var:desiredheight}} -> {{#var:xscale}}, {{#var:yscale}}
  
<div class="bobscreen" style="width:{{#var:visiblewidth}}px; display:inline-block; text-align:center;"><div style="transform:scalex({{#var:scale}}); {{#ifeq:{{#var:yscale}}|1||transform:scaley({{#var:yscale}}); margin-top:{{#var:vmargin}}px; margin-bottom:{{#var:vmargin}}px;}} transform-origin:50%">[[File:{{{1}}}|{{#var:screenwidth}}x384px]]</div></div></includeonly><noinclude>
+
<div class="bobscreen" style="width:{{#var:desiredwidth}}px; display:inline-block; text-align:center;"><div style="transform:scalex({{#var:xscale}}); {{#ifeq:{{#var:yscale}}|1||transform:scaley({{#var:yscale}}); margin-top:{{#var:vmargin}}px; margin-bottom:{{#var:vmargin}}px;}} transform-origin:50%">[[File:{{{1}}}|{{#var:screenwidth}}x384px]]</div></div></includeonly><noinclude>
  
  
Line 88: Line 101:
  
  
[[File:VirtuaFighter 32X Widescreen2 PAL.png]] -> {{bobscreenTest|VirtuaFighter 32X Widescreen2 PAL.png|forcewidescreen=yes|width=200}}
+
w200 [[File:VirtuaFighter 32X Widescreen2 PAL.png]] -> {{bobscreenTest|VirtuaFighter 32X Widescreen2 PAL.png|forcewidescreen=yes|width=200}}
  
  
[[File:VirtuaFighter 32X Widescreen2 PAL.png]] -> {{bobscreenTest|VirtuaFighter 32X Widescreen2 PAL.png|forcewidescreen=yes|height=200}}
+
h200 [[File:VirtuaFighter 32X Widescreen2 PAL.png]] -> {{bobscreenTest|VirtuaFighter 32X Widescreen2 PAL.png|forcewidescreen=yes|height=200}}
 
TODO: Get width parameter to work properly here.
 
TODO: Get width parameter to work properly here.
  
 
[[Category:Breakout box templates]]
 
[[Category:Breakout box templates]]
 
</noinclude>
 
</noinclude>

Revision as of 17:13, 3 July 2018



This template sets the maximum width of a screenshot to 320 pixels, and corrects its aspect ratio.

Usage

{{bobscreen|MagicalPuzzlePopils title.png}}

returns












  • 213.33333333333:160 -> 1.3333333333333, 1.1111111111111
MagicalPuzzlePopils title.png

This is how the game appears on an actual Sega Game Gear. The original image taken from an emulator is below:

MagicalPuzzlePopils title.png

Options

{{bobscreenTest|MagicalPuzzlePopils title.png|width=120}}

returns












  • 120:160 -> 0.75, 1.1111111111111
MagicalPuzzlePopils title.png

"width" also takes into account the adjusted aspect ratio, so the image appears 120 pixels wide even if the source image is not.

Height

In addition, this template corrects heights:

WinterHeat title.png ->












  • 320:240 -> 0.45454545454545, 0.5
WinterHeat title.png


ClockworkKnightUSPAL Title.png ->












  • 320:240 -> 0.90909090909091, 1.0714285714286
ClockworkKnightUSPAL Title.png


NiGHTS title.png ->

NiGHTS title.png

Anamorphic widescreen

VirtuaFighter 32X Widescreen2.png ->












  • 426.66666666667:240 -> 1.3333333333333, 1.0714285714286
VirtuaFighter 32X Widescreen2.png


VirtuaFighter 32X Widescreen2 PAL.png ->












  • 426.66666666667:240 -> 1.3333333333333, 1
VirtuaFighter 32X Widescreen2 PAL.png


w200 VirtuaFighter 32X Widescreen2 PAL.png ->












  • 200:240 -> 0.625, 1
VirtuaFighter 32X Widescreen2 PAL.png


h200 VirtuaFighter 32X Widescreen2 PAL.png ->












  • 426.66666666667:200 -> 1.3333333333333, 0.83333333333333
VirtuaFighter 32X Widescreen2 PAL.png

TODO: Get width parameter to work properly here.