PF Menu Guide

item.py Cheat Sheet

TitleID Menu Visibility

Add TitleIDs to Supported_TitleIDs to control which games show this patch in the context menu.

Supported_TitleIDs = ['4B4E0030', '4B4E002F']  # Pro Evolutions Soccer 5, World Soccer Winning Eleven 9

Menu Entry Format

Every menu entry is a group. It starts with ## label and finishes with ## end.

## label = Fixes: Random Weather in Cups/Leagues/Master League | on
	# Default = 7604 | New = 909090
	default.xbe|1362563|9090
## end

Exclusive Options

| exclusive = Name Only one option of a set

## label = Gameplay: Speed Decrease (95%) | off | exclusive = Speed
	# 95% speed ingame (cmp byte [counter], 20 ; have we hit 20 frames)
	default.xbe|6670|00803D409B9400057217FE050E1A0100...
## end

## label = Gameplay: Speed Decrease (90%) | off | exclusive = Speed
	# 90% speed ingame (cmp byte [counter], 10 ; have we hit 10 frames)
	default.xbe|6670|00803D409B9400057217FE050E1A0100...
## end

Menu Options

Several groups become one spin control, and only the chosen group is applied.

type = enum Menu entries

## label = Gameplay: Speed Decrease (95%) | off | type = enum | group = Gameplay Speed
	default.xbe|6670|00803D409B9400057217FE050E1A0100...
## end

## label = Gameplay: Speed Increase (105%) | off | type = enum | group = Gameplay Speed
	default.xbe|6670|00803D409B940005721BFE050E1A0100...
## end

as = / order = as and order

## label = Screen: $NUMBER[720]x480 Backbuffer (4:3) | off | type = enum | group = Screen Mode | as = Backbuffer 4:3 (720x480) | order = 1
	default.xbe|37426|D0|51715|D0|56955|D0|...
## end

## label = Screen: Widescreen (Anamorphic) | on | type = enum | group = Screen Mode | as = Widescreen (Anamorphic) | order = 2
	default.xbe|51904|00003C44
	...
## end

Value Options

A value control instead of an on/off tick box. These groups are always applied, and the placeholders in the patch lines are filled with the chosen value.

Placeholders

enum List, one block of lines per choice

## label = Gameplay: Game Speed | type = enum | default = Stock
## value = Stock
## value = 95%
	default.xbe|6670|...
## end

range Range control (rangeofnum)

## label = Gameplay: Player Camera Zoom | type = range | start = 200 | end = 800 | steps = 13 | format = %2.0f | default = 300
	default.xbe|3693416|{float}
## end

slider Slider

## label = Graphics: Chevron Size | type = slider | min = 50 | max = 100 | step = 5 | option = percent | default = 75
	default.xbe|7504|{float/100}
## end

number Typed with the numpad

## label = Other: Memory Pool MB | type = number | default = 32
	default.xbe|3110135|{u32}
## end

Hidden Options

| hidden Leave an entry out of the menu and never apply it

## label = Gameplay: Kingsley813 AI Changes (edits shared pitch limits, one sided) | off | hidden
	default.xbe|5125820|00E8DE45
	...
## end

Shared Blocks and Call

Use this when options share the same patch data.

## share Share block

## share = Radar Common
	# 100% transparency in transparency mode
	default.xbe|7012621|00000000
## end

## label = Graphics: Radar Transparency (Normal: 75% - Transparent: 100%) | on | type = enum | group = Radar Transparency | order = 2
	call Radar Common
	# 50% transparency in normal mode
	default.xbe|7012614|40000000
## end

call Call a normal group by its as name

## label = Screen: Widescreen (Anamorphic) | on | type = enum | group = Screen Mode | as = Widescreen (Anamorphic) | order = 2
	call Backbuffer 4:3 (720x480)
	default.xbe|51904|00003C44
	...
## end

File Copy and Remove

Lines inside a group, handled by item.py and never passed to the File Patcher. They work both ways, unlike [CP]. A path with .. or a drive letter is refused.

copy Copy a file into the game folder

copy source | destination

remove Delete a file from the game folder

remove path

Example

## label = Screen: Widescreen (Anamorphic) | on | type = enum | group = Screen Mode | as = Widescreen (Anamorphic) | order = 2
	default.xbe|51904|00003C44
	...
	# Copy the scoreboards fix
	copy 0_text_sys.ovl
## end

More examples

copy 0_text_sys.ovl | overlays\
copy 0_text_sys.ovl | overlays\0_text.ovl
copy widescreen\0_text_sys.ovl | 0_text_sys.ovl
remove old\0_text.ovl
Order

Info Block

A block between ## info and ## end, anywhere outside a group, is shown in the PATCH INFO viewer. It replaces the Info = line in [META] when present, and item.py removes it from the temp pf.

## info
The overlay AFS system is always enabled, it's used to fix widescreen scoreboards when widescreen is enabled.

# Features
#. Overlay AFS system, mod the game with .ovl files instead of editing AFS files...
#. Widescreen support (Anamorphic) at 720x480, with 75% width radar...
...

# Includes some of Kingsley813's edits
#. Ball Physics v5.5 with improved gravity, bounce, spin, friction and touch
## end

Layout lines

Viewer tags

Anything else is not changed, so the viewer tags work as they are.

Numbered Info

## info | numbered Skips the markup and numbers the lists for you

## info | numbered
The overlay AFS system is always enabled, it's used to fix widescreen scoreboards when widescreen is enabled.

# Features
Overlay AFS system, mod the game with .ovl files instead of editing AFS files...
Widescreen support (Anamorphic) at 720x480, with 75% width radar...
...

# Includes some of Kingsley813's edits
Ball Physics v5.5 with improved gravity, bounce, spin, friction and touch
Enhanced AI with better central positioning...
## end

Info Example

Copy this into a pf to test every info layout in the viewer.

## info
# Heading one
A second paragraph so you can see that text will look like this on a screen in front of your eyes hahahaha
Oh look a new line but its still a paragraph as there is no empty line between it hahahahahahahahahahahahaha
:/

## Smaller heading
1. Numbered item one
2. Numbered item two
   an indented line continues item two
5. Numbered item, the number is renumbered to 3

# Numbering restarts after a heading
#. Auto numbered, no number typed
#. Auto numbered again
#. And a third one

# Bullets
- Bullet with a dash
* Bullet with a star
  - Nested bullet, indented

# Styles
Some **bold text**, some *italic text*, and some `code text` here.
[COLOR red]Red text through the viewer tags[/COLOR]
## end

Execution Order

1Info block read and removed from the pf
2Groups parsed and call lines expanded
3Settings menu shown (hidden groups left out)
4Temp pf built (unticked and hidden groups commented, copy and remove lines removed)
5File deletes
6File copies
7File Patcher runs the temp pf