mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Merge branch 'mkxp-z' into dev
This commit is contained in:
23
Data/Scripts/001_Technical/001_MKXP_Compatibility.rb
Normal file
23
Data/Scripts/001_Technical/001_MKXP_Compatibility.rb
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
$MKXP = !!defined?(System)
|
||||||
|
|
||||||
|
def mkxp?
|
||||||
|
return $MKXP
|
||||||
|
end
|
||||||
|
|
||||||
|
def pbSetWindowText(string)
|
||||||
|
if mkxp?
|
||||||
|
System.set_window_title(string || System.game_title)
|
||||||
|
else
|
||||||
|
Win32API.SetWindowText(string || "RGSS Player")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Bitmap
|
||||||
|
if mkxp?
|
||||||
|
alias mkxp_draw_text draw_text
|
||||||
|
def draw_text(x, y, width, height, text, align = 0)
|
||||||
|
height = text_size(text).height
|
||||||
|
mkxp_draw_text(x, y, width, height, text, align)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -16,9 +16,26 @@ if true # Disables using Alt+Enter to go fullscreen
|
|||||||
regHotKey.call(0, 1, 1, 0x0D)
|
regHotKey.call(0, 1, 1, 0x0D)
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbSetResizeFactor(factor=1,norecalc=false)
|
if mkxp?
|
||||||
factor = [0.5,1.0,2.0,-1][factor] if !norecalc
|
# This kinda puts most of SpriteResizer out of business
|
||||||
(factor<0) ? pbConfigureFullScreen : pbConfigureWindowedScreen(factor)
|
def pbSetResizeFactor(factor)
|
||||||
|
if !$ResizeInitialized
|
||||||
|
Graphics.resize_screen(SCREEN_WIDTH, SCREEN_HEIGHT)
|
||||||
|
$ResizeInitialized = true
|
||||||
|
end
|
||||||
|
if factor < 0 || factor == 3
|
||||||
|
Graphics.fullscreen = true if !Graphics.fullscreen
|
||||||
|
else
|
||||||
|
Graphics.fullscreen = false if Graphics.fullscreen
|
||||||
|
Graphics.scale = factor
|
||||||
|
Graphics.center
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
def pbSetResizeFactor(factor=1,norecalc=false)
|
||||||
|
factor = [0.5,1.0,2.0,-1][factor] if !norecalc
|
||||||
|
(factor<0) ? pbConfigureFullScreen : pbConfigureWindowedScreen(factor)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbSetResizeFactor2(factor,force=false)
|
def pbSetResizeFactor2(factor,force=false)
|
||||||
@@ -172,33 +189,37 @@ module Graphics
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class << self
|
if mkxp?
|
||||||
begin
|
@@haveresizescreen = true
|
||||||
x = @@haveresizescreen
|
else
|
||||||
rescue NameError # If exception is caught, the class
|
class << self
|
||||||
if !method_defined?(:oldresizescreen) # variable wasn't defined yet
|
begin
|
||||||
begin
|
x = @@haveresizescreen
|
||||||
alias oldresizescreen resize_screen
|
rescue NameError # If exception is caught, the class
|
||||||
@@haveresizescreen = true
|
if !method_defined?(:oldresizescreen) # variable wasn't defined yet
|
||||||
rescue
|
begin
|
||||||
|
alias oldresizescreen resize_screen
|
||||||
|
@@haveresizescreen = true
|
||||||
|
rescue
|
||||||
|
@@haveresizescreen = false
|
||||||
|
end
|
||||||
|
else
|
||||||
@@haveresizescreen = false
|
@@haveresizescreen = false
|
||||||
end
|
end
|
||||||
else
|
end
|
||||||
@@haveresizescreen = false
|
|
||||||
|
def haveresizescreen
|
||||||
|
@@haveresizescreen
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def haveresizescreen
|
def self.resize_screen(w,h)
|
||||||
@@haveresizescreen
|
@@width = w
|
||||||
|
@@height = h
|
||||||
|
pbSetResizeFactor($ResizeFactor,true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.resize_screen(w,h)
|
|
||||||
@@width = w
|
|
||||||
@@height = h
|
|
||||||
pbSetResizeFactor($ResizeFactor,true)
|
|
||||||
end
|
|
||||||
|
|
||||||
@@deletefailed = false
|
@@deletefailed = false
|
||||||
|
|
||||||
def self.snap_to_bitmap(resize=true)
|
def self.snap_to_bitmap(resize=true)
|
||||||
@@ -23,13 +23,8 @@ class Game_System
|
|||||||
attr_accessor :bgm_position
|
attr_accessor :bgm_position
|
||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
if $RPGVX
|
@map_interpreter = Interpreter.new(0, true)
|
||||||
@map_interpreter = Game_Interpreter.new(0,true)
|
@battle_interpreter = Interpreter.new(0, false)
|
||||||
@battle_interpreter = Game_Interpreter.new(0,false)
|
|
||||||
else
|
|
||||||
@map_interpreter = Interpreter.new(0,true)
|
|
||||||
@battle_interpreter = Interpreter.new(0,false)
|
|
||||||
end
|
|
||||||
@timer = 0
|
@timer = 0
|
||||||
@timer_working = false
|
@timer_working = false
|
||||||
@save_disabled = false
|
@save_disabled = false
|
||||||
|
|||||||
@@ -31,8 +31,8 @@ class Game_Map
|
|||||||
|
|
||||||
TILE_WIDTH = 32
|
TILE_WIDTH = 32
|
||||||
TILE_HEIGHT = 32
|
TILE_HEIGHT = 32
|
||||||
X_SUBPIXELS = ($RPGVX) ? 8 : 4
|
X_SUBPIXELS = 4
|
||||||
Y_SUBPIXELS = ($RPGVX) ? 8 : 4
|
Y_SUBPIXELS = 4
|
||||||
REAL_RES_X = TILE_WIDTH * X_SUBPIXELS
|
REAL_RES_X = TILE_WIDTH * X_SUBPIXELS
|
||||||
REAL_RES_Y = TILE_HEIGHT * Y_SUBPIXELS
|
REAL_RES_Y = TILE_HEIGHT * Y_SUBPIXELS
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ class Game_Map
|
|||||||
|
|
||||||
def setup(map_id)
|
def setup(map_id)
|
||||||
@map_id = map_id
|
@map_id = map_id
|
||||||
@map = load_data(sprintf("Data/Map%03d.%s",map_id,($RPGVX) ? "rvdata" : "rxdata"))
|
@map = load_data(sprintf("Data/Map%03d.rxdata",map_id))
|
||||||
tileset = $data_tilesets[@map.tileset_id]
|
tileset = $data_tilesets[@map.tileset_id]
|
||||||
updateTileset
|
updateTileset
|
||||||
@fog_ox = 0
|
@fog_ox = 0
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ class Spriteset_Map
|
|||||||
|
|
||||||
def update
|
def update
|
||||||
return if @tilemap.disposed?
|
return if @tilemap.disposed?
|
||||||
if $RPGVX || $PokemonSystem.tilemap==0
|
if $PokemonSystem.tilemap==0
|
||||||
if self.map==$game_map
|
if self.map==$game_map
|
||||||
pbDayNightTint(@@viewport3)
|
pbDayNightTint(@@viewport3)
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -266,16 +266,16 @@ class Interpreter
|
|||||||
when 402; return command_402 # When [**]
|
when 402; return command_402 # When [**]
|
||||||
when 403; return command_403 # When Cancel
|
when 403; return command_403 # When Cancel
|
||||||
when 103; return command_103 # Input Number
|
when 103; return command_103 # Input Number
|
||||||
when 104; return command_104 # Change Text Options [not in VX]
|
when 104; return command_104 # Change Text Options
|
||||||
when 105; return command_105 # Button Input Processing [not in VX]
|
when 105; return command_105 # Button Input Processing
|
||||||
when 106; return command_106 # Wait [in VX: 230]
|
when 106; return command_106 # Wait
|
||||||
when 111; return command_111 # Conditional Branch
|
when 111; return command_111 # Conditional Branch
|
||||||
when 411; return command_411 # Else
|
when 411; return command_411 # Else
|
||||||
when 112; return command_112 # Loop
|
when 112; return command_112 # Loop
|
||||||
when 413; return command_413 # Repeat Above
|
when 413; return command_413 # Repeat Above
|
||||||
when 113; return command_113 # Break Loop
|
when 113; return command_113 # Break Loop
|
||||||
when 115; return command_115 # Exit Event Processing
|
when 115; return command_115 # Exit Event Processing
|
||||||
when 116; return command_116 # Erase Event [in VX: 214]
|
when 116; return command_116 # Erase Event
|
||||||
when 117; return command_117 # Call Common Event
|
when 117; return command_117 # Call Common Event
|
||||||
when 118; return command_118 # Label
|
when 118; return command_118 # Label
|
||||||
when 119; return command_119 # Jump to Label
|
when 119; return command_119 # Jump to Label
|
||||||
@@ -288,7 +288,7 @@ class Interpreter
|
|||||||
when 127; return command_127 # Change Weapons
|
when 127; return command_127 # Change Weapons
|
||||||
when 128; return command_128 # Change Armor
|
when 128; return command_128 # Change Armor
|
||||||
when 129; return command_129 # Change Party Member
|
when 129; return command_129 # Change Party Member
|
||||||
when 131; return command_131 # Change Windowskin [not in VX]
|
when 131; return command_131 # Change Windowskin
|
||||||
when 132; return command_132 # Change Battle BGM
|
when 132; return command_132 # Change Battle BGM
|
||||||
when 133; return command_133 # Change Battle End ME
|
when 133; return command_133 # Change Battle End ME
|
||||||
when 134; return command_134 # Change Save Access
|
when 134; return command_134 # Change Save Access
|
||||||
@@ -298,14 +298,14 @@ class Interpreter
|
|||||||
when 202; return command_202 # Set Event Location
|
when 202; return command_202 # Set Event Location
|
||||||
when 203; return command_203 # Scroll Map
|
when 203; return command_203 # Scroll Map
|
||||||
when 204; return command_204 # Change Map Settings
|
when 204; return command_204 # Change Map Settings
|
||||||
when 205; return command_205 # Change Fog Color Tone [in VX: Set Move Route]
|
when 205; return command_205 # Change Fog Color Tone
|
||||||
when 206; return command_206 # Change Fog Opacity [in VX: Get on/off Vehicle]
|
when 206; return command_206 # Change Fog Opacity
|
||||||
when 207; return command_207 # Show Animation [in VX: 212]
|
when 207; return command_207 # Show Animation
|
||||||
when 208; return command_208 # Change Transparent Flag [in VX: 211]
|
when 208; return command_208 # Change Transparent Flag
|
||||||
when 209; return command_209 # Set Move Route [in VX: 205]
|
when 209; return command_209 # Set Move Route
|
||||||
when 210; return command_210 # Wait for Move's Completion
|
when 210; return command_210 # Wait for Move's Completion
|
||||||
when 221; return command_221 # Prepare for Transition [Not in VX, now called Fadeout Screen]
|
when 221; return command_221 # Prepare for Transition
|
||||||
when 222; return command_222 # Execute Transition [Not in VX, now called Fadein Screen]
|
when 222; return command_222 # Execute Transition
|
||||||
when 223; return command_223 # Change Screen Color Tone
|
when 223; return command_223 # Change Screen Color Tone
|
||||||
when 224; return command_224 # Screen Flash
|
when 224; return command_224 # Screen Flash
|
||||||
when 225; return command_225 # Screen Shake
|
when 225; return command_225 # Screen Shake
|
||||||
@@ -319,8 +319,8 @@ class Interpreter
|
|||||||
when 242; return command_242 # Fade Out BGM
|
when 242; return command_242 # Fade Out BGM
|
||||||
when 245; return command_245 # Play BGS
|
when 245; return command_245 # Play BGS
|
||||||
when 246; return command_246 # Fade Out BGS
|
when 246; return command_246 # Fade Out BGS
|
||||||
when 247; return command_247 # Memorize BGM/BGS [not in VX]
|
when 247; return command_247 # Memorize BGM/BGS
|
||||||
when 248; return command_248 # Restore BGM/BGS [not in VX]
|
when 248; return command_248 # Restore BGM/BGS
|
||||||
when 249; return command_249 # Play ME
|
when 249; return command_249 # Play ME
|
||||||
when 250; return command_250 # Play SE
|
when 250; return command_250 # Play SE
|
||||||
when 251; return command_251 # Stop SE
|
when 251; return command_251 # Stop SE
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ def pbSetTextMessages
|
|||||||
neednewline=false
|
neednewline=false
|
||||||
end
|
end
|
||||||
if list.code == 101
|
if list.code == 101
|
||||||
lastitem+="#{list.parameters[0]}" if !$RPGVX
|
lastitem+="#{list.parameters[0]}"
|
||||||
neednewline=true
|
neednewline=true
|
||||||
elsif list.code == 102
|
elsif list.code == 102
|
||||||
for k in 0...list.parameters[0].length
|
for k in 0...list.parameters[0].length
|
||||||
@@ -107,7 +107,7 @@ def pbSetTextMessages
|
|||||||
t = Time.now.to_i
|
t = Time.now.to_i
|
||||||
Graphics.update
|
Graphics.update
|
||||||
end
|
end
|
||||||
filename=sprintf("Data/Map%03d.%s",id,$RPGVX ? "rvdata" : "rxdata")
|
filename=sprintf("Data/Map%03d.rxdata",id)
|
||||||
next if !pbRgssExists?(filename)
|
next if !pbRgssExists?(filename)
|
||||||
map = load_data(filename)
|
map = load_data(filename)
|
||||||
items=[]
|
items=[]
|
||||||
@@ -132,7 +132,7 @@ def pbSetTextMessages
|
|||||||
neednewline=false
|
neednewline=false
|
||||||
end
|
end
|
||||||
if list.code == 101
|
if list.code == 101
|
||||||
lastitem+="#{list.parameters[0]}" if !$RPGVX
|
lastitem+="#{list.parameters[0]}"
|
||||||
neednewline=true
|
neednewline=true
|
||||||
elsif list.code == 102
|
elsif list.code == 102
|
||||||
for k in 0...list.parameters[0].length
|
for k in 0...list.parameters[0].length
|
||||||
|
|||||||
@@ -387,11 +387,11 @@ def pbSetSystemFont(bitmap)
|
|||||||
fontname = MessageConfig.pbGetSystemFontName
|
fontname = MessageConfig.pbGetSystemFontName
|
||||||
bitmap.font.name = fontname
|
bitmap.font.name = fontname
|
||||||
if fontname == "Pokemon FireLeaf" || fontname == "Power Red and Green"
|
if fontname == "Pokemon FireLeaf" || fontname == "Power Red and Green"
|
||||||
bitmap.font.size = 29
|
bitmap.font.size = mkxp? ? 27 : 29
|
||||||
elsif fontname == "Pokemon Emerald Small" || fontname == "Power Green Small"
|
elsif fontname == "Pokemon Emerald Small" || fontname == "Power Green Small"
|
||||||
bitmap.font.size = 25
|
bitmap.font.size = mkxp? ? 29 : 25
|
||||||
else
|
else
|
||||||
bitmap.font.size = 31
|
bitmap.font.size = mkxp? ? 29 : 31
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -404,7 +404,7 @@ end
|
|||||||
# Sets a bitmap's font to the system narrow font.
|
# Sets a bitmap's font to the system narrow font.
|
||||||
def pbSetNarrowFont(bitmap)
|
def pbSetNarrowFont(bitmap)
|
||||||
bitmap.font.name = pbNarrowFontName
|
bitmap.font.name = pbNarrowFontName
|
||||||
bitmap.font.size = 31
|
bitmap.font.size = mkxp? ? 29 : 31
|
||||||
end
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ class Window_UnformattedTextPokemon < SpriteWindow_Base
|
|||||||
def resizeHeightToFit(text,width=-1) # width is current window width
|
def resizeHeightToFit(text,width=-1) # width is current window width
|
||||||
dims=resizeToFitInternal(text,width)
|
dims=resizeToFitInternal(text,width)
|
||||||
self.width=width<0 ? Graphics.width : width
|
self.width=width<0 ? Graphics.width : width
|
||||||
self.height=dims[1]+self.borderY
|
self.height = dims[1] + self.borderY - (mkxp? ? 4 : 0)
|
||||||
refresh
|
refresh
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1227,7 +1227,7 @@ class Window_CommandPokemon < Window_DrawableCommand
|
|||||||
def drawItem(index,_count,rect)
|
def drawItem(index,_count,rect)
|
||||||
pbSetSystemFont(self.contents) if @starting
|
pbSetSystemFont(self.contents) if @starting
|
||||||
rect=drawCursor(index,rect)
|
rect=drawCursor(index,rect)
|
||||||
pbDrawShadowText(self.contents,rect.x,rect.y,rect.width,rect.height,
|
pbDrawShadowText(self.contents,rect.x,rect.y + (mkxp? ? 6 : 0),rect.width,rect.height,
|
||||||
@commands[index],self.baseColor,self.shadowColor)
|
@commands[index],self.baseColor,self.shadowColor)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -1331,7 +1331,7 @@ class Window_AdvancedCommandPokemon < Window_DrawableCommand
|
|||||||
dims=[]
|
dims=[]
|
||||||
getAutoDims(commands,dims,width)
|
getAutoDims(commands,dims,width)
|
||||||
self.width=dims[0]
|
self.width=dims[0]
|
||||||
self.height=dims[1]
|
self.height=dims[1] - (mkxp? ? 6 : 0)
|
||||||
end
|
end
|
||||||
|
|
||||||
def itemCount
|
def itemCount
|
||||||
@@ -1343,7 +1343,7 @@ class Window_AdvancedCommandPokemon < Window_DrawableCommand
|
|||||||
rect=drawCursor(index,rect)
|
rect=drawCursor(index,rect)
|
||||||
if toUnformattedText(@commands[index]).gsub(/\n/,"")==@commands[index]
|
if toUnformattedText(@commands[index]).gsub(/\n/,"")==@commands[index]
|
||||||
# Use faster alternative for unformatted text without line breaks
|
# Use faster alternative for unformatted text without line breaks
|
||||||
pbDrawShadowText(self.contents,rect.x,rect.y,rect.width,rect.height,
|
pbDrawShadowText(self.contents,rect.x,rect.y + (mkxp? ? 6 : 0),rect.width,rect.height,
|
||||||
@commands[index],self.baseColor,self.shadowColor)
|
@commands[index],self.baseColor,self.shadowColor)
|
||||||
else
|
else
|
||||||
chars=getFormattedText(
|
chars=getFormattedText(
|
||||||
|
|||||||
@@ -168,6 +168,7 @@ end
|
|||||||
|
|
||||||
def getFormattedTextFast(bitmap,xDst,yDst,widthDst,heightDst,text,lineheight,
|
def getFormattedTextFast(bitmap,xDst,yDst,widthDst,heightDst,text,lineheight,
|
||||||
newlineBreaks=true,explicitBreaksOnly=false)
|
newlineBreaks=true,explicitBreaksOnly=false)
|
||||||
|
yDst += 4 if mkxp?
|
||||||
x=y=0
|
x=y=0
|
||||||
characters=[]
|
characters=[]
|
||||||
textchunks=[]
|
textchunks=[]
|
||||||
@@ -421,6 +422,7 @@ _drawFormattedChars_ function.
|
|||||||
def getFormattedText(bitmap,xDst,yDst,widthDst,heightDst,text,lineheight=32,
|
def getFormattedText(bitmap,xDst,yDst,widthDst,heightDst,text,lineheight=32,
|
||||||
newlineBreaks=true,explicitBreaksOnly=false,
|
newlineBreaks=true,explicitBreaksOnly=false,
|
||||||
collapseAlignments=false)
|
collapseAlignments=false)
|
||||||
|
yDst += 4 if mkxp?
|
||||||
dummybitmap=nil
|
dummybitmap=nil
|
||||||
if !bitmap || bitmap.disposed? # allows function to be called with nil bitmap
|
if !bitmap || bitmap.disposed? # allows function to be called with nil bitmap
|
||||||
dummybitmap=Bitmap.new(1,1)
|
dummybitmap=Bitmap.new(1,1)
|
||||||
@@ -888,8 +890,7 @@ end
|
|||||||
#===============================================================================
|
#===============================================================================
|
||||||
def getLineBrokenChunks(bitmap,value,width,dims,plain=false)
|
def getLineBrokenChunks(bitmap,value,width,dims,plain=false)
|
||||||
x=0
|
x=0
|
||||||
y=0
|
y=mkxp? ? 4: 0
|
||||||
textheight=0
|
|
||||||
ret=[]
|
ret=[]
|
||||||
if dims
|
if dims
|
||||||
dims[0]=0
|
dims[0]=0
|
||||||
@@ -905,9 +906,7 @@ def getLineBrokenChunks(bitmap,value,width,dims,plain=false)
|
|||||||
ccheck=c
|
ccheck=c
|
||||||
if ccheck=="\n"
|
if ccheck=="\n"
|
||||||
x=0
|
x=0
|
||||||
# y+=(textheight==0) ? bitmap.text_size("X").height : textheight
|
y+=32
|
||||||
y+=(textheight==0) ? bitmap.text_size("X").height+1 : textheight
|
|
||||||
textheight=0
|
|
||||||
next
|
next
|
||||||
end
|
end
|
||||||
if ccheck[/</] && !plain
|
if ccheck[/</] && !plain
|
||||||
@@ -927,14 +926,10 @@ def getLineBrokenChunks(bitmap,value,width,dims,plain=false)
|
|||||||
minTextSize=bitmap.text_size(word.gsub(/\s*/,""))
|
minTextSize=bitmap.text_size(word.gsub(/\s*/,""))
|
||||||
if x>0 && x+minTextSize.width>width
|
if x>0 && x+minTextSize.width>width
|
||||||
x=0
|
x=0
|
||||||
y+=32 # (textheight==0) ? bitmap.text_size("X").height : textheight
|
y+=32
|
||||||
# y+=(textheight==0) ? bitmap.text_size("X").height+1 : textheight
|
|
||||||
textheight=0
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
textheight=32 # [textheight,textSize.height].max
|
ret.push([word,x,y,textwidth,32,color])
|
||||||
# textheight=[textheight,textSize.height+1].max
|
|
||||||
ret.push([word,x,y,textwidth,textheight,color])
|
|
||||||
x+=textwidth
|
x+=textwidth
|
||||||
dims[0]=x if dims && dims[0]<x
|
dims[0]=x if dims && dims[0]<x
|
||||||
end
|
end
|
||||||
@@ -943,7 +938,7 @@ def getLineBrokenChunks(bitmap,value,width,dims,plain=false)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
dims[1]=y+textheight if dims
|
dims[1]=y+32 if dims
|
||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1112,8 +1107,9 @@ end
|
|||||||
|
|
||||||
def pbDrawShadowText(bitmap,x,y,width,height,string,baseColor,shadowColor=nil,align=0)
|
def pbDrawShadowText(bitmap,x,y,width,height,string,baseColor,shadowColor=nil,align=0)
|
||||||
return if !bitmap || !string
|
return if !bitmap || !string
|
||||||
width=(width<0) ? bitmap.text_size(string).width+4 : width
|
width=(width<0) ? bitmap.text_size(string).width+1 : width
|
||||||
height=(height<0) ? bitmap.text_size(string).height+4 : height
|
height=(height<0) ? bitmap.text_size(string).height+1 : height
|
||||||
|
y += -2 if mkxp?
|
||||||
if shadowColor && shadowColor.alpha>0
|
if shadowColor && shadowColor.alpha>0
|
||||||
bitmap.font.color=shadowColor
|
bitmap.font.color=shadowColor
|
||||||
bitmap.draw_text(x+2,y,width,height,string,align)
|
bitmap.draw_text(x+2,y,width,height,string,align)
|
||||||
@@ -1161,7 +1157,7 @@ def pbDrawTextPositions(bitmap,textpos)
|
|||||||
for i in textpos
|
for i in textpos
|
||||||
textsize = bitmap.text_size(i[0])
|
textsize = bitmap.text_size(i[0])
|
||||||
x = i[1]
|
x = i[1]
|
||||||
y = i[2]
|
y = i[2] + (mkxp? ? 6 : 0)
|
||||||
if i[3]==true || i[3]==1 # right align
|
if i[3]==true || i[3]==1 # right align
|
||||||
x -= textsize.width
|
x -= textsize.width
|
||||||
elsif i[3]==2 # centered
|
elsif i[3]==2 # centered
|
||||||
|
|||||||
@@ -382,126 +382,6 @@ end
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Game_Interpreter # Used by RMVX
|
|
||||||
include InterpreterMixin
|
|
||||||
eval(InterpreterMixin::CustomEventCommands)
|
|
||||||
@@immediateDisplayAfterWait=false
|
|
||||||
@buttonInput=false
|
|
||||||
|
|
||||||
def pbParams
|
|
||||||
return @params
|
|
||||||
end
|
|
||||||
|
|
||||||
def command_105
|
|
||||||
return false if @buttonInput
|
|
||||||
@buttonInput=true
|
|
||||||
pbButtonInputProcessing(@list[@index].parameters[0])
|
|
||||||
@buttonInput=false
|
|
||||||
@index+=1
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
|
|
||||||
def command_101
|
|
||||||
if $game_temp.message_window_showing
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
$game_message=Game_Message.new if !$game_message
|
|
||||||
message=""
|
|
||||||
commands=nil
|
|
||||||
numInputVar=nil
|
|
||||||
numInputDigitsMax=nil
|
|
||||||
text=""
|
|
||||||
facename=@list[@index].parameters[0]
|
|
||||||
faceindex=@list[@index].parameters[1]
|
|
||||||
if facename && facename!=""
|
|
||||||
text+="\\ff[#{facename},#{faceindex}]"
|
|
||||||
end
|
|
||||||
if $game_message
|
|
||||||
$game_message.background=@list[@index].parameters[2]
|
|
||||||
end
|
|
||||||
$game_system.message_position=@list[@index].parameters[3]
|
|
||||||
message+=text
|
|
||||||
messageend=""
|
|
||||||
loop do
|
|
||||||
nextIndex=pbNextIndex(@index)
|
|
||||||
code=@list[nextIndex].code
|
|
||||||
if code == 401
|
|
||||||
text=@list[nextIndex].parameters[0]
|
|
||||||
text+=" " if text!="" && text[text.length-1,1]!=" "
|
|
||||||
message+=text
|
|
||||||
@index=nextIndex
|
|
||||||
else
|
|
||||||
if code == 102
|
|
||||||
commands=@list[nextIndex].parameters
|
|
||||||
@index=nextIndex
|
|
||||||
elsif code == 106 && @@immediateDisplayAfterWait
|
|
||||||
params=@list[nextIndex].parameters
|
|
||||||
if params[0]<=10
|
|
||||||
nextcode=@list[nextIndex+1].code
|
|
||||||
if nextcode==101||nextcode==102||nextcode==103
|
|
||||||
@index=nextIndex
|
|
||||||
else
|
|
||||||
break
|
|
||||||
end
|
|
||||||
else
|
|
||||||
break
|
|
||||||
end
|
|
||||||
elsif code == 103
|
|
||||||
numInputVar=@list[nextIndex].parameters[0]
|
|
||||||
numInputDigitsMax=@list[nextIndex].parameters[1]
|
|
||||||
@index=nextIndex
|
|
||||||
elsif code == 101
|
|
||||||
messageend="\1"
|
|
||||||
end
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
message=_MAPINTL($game_map.map_id,message)
|
|
||||||
@message_waiting=true
|
|
||||||
if commands
|
|
||||||
cmdlist=[]
|
|
||||||
for cmd in commands[0]
|
|
||||||
cmdlist.push(_MAPINTL($game_map.map_id,cmd))
|
|
||||||
end
|
|
||||||
command=pbMessage(message+messageend,cmdlist,commands[1])
|
|
||||||
@branch[@list[@index].indent] = command
|
|
||||||
elsif numInputVar
|
|
||||||
params=ChooseNumberParams.new
|
|
||||||
params.setMaxDigits(numInputDigitsMax)
|
|
||||||
params.setDefaultValue($game_variables[numInputVar])
|
|
||||||
$game_variables[numInputVar]=pbMessageChooseNumber(message+messageend,params)
|
|
||||||
$game_map.need_refresh = true if $game_map
|
|
||||||
else
|
|
||||||
pbMessage(message+messageend)
|
|
||||||
end
|
|
||||||
@message_waiting=false
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
|
|
||||||
def command_102
|
|
||||||
@message_waiting=true
|
|
||||||
command=pbShowCommands(nil,@list[@index].parameters[0],@list[@index].parameters[1])
|
|
||||||
@message_waiting=false
|
|
||||||
@branch[@list[@index].indent] = command
|
|
||||||
Input.update # Must call Input.update again to avoid extra triggers
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
|
|
||||||
def command_103
|
|
||||||
varnumber=@list[@index].parameters[0]
|
|
||||||
@message_waiting=true
|
|
||||||
params=ChooseNumberParams.new
|
|
||||||
params.setMaxDigits(@list[@index].parameters[1])
|
|
||||||
params.setDefaultValue($game_variables[varnumber])
|
|
||||||
$game_variables[varnumber]=pbChooseNumber(nil,params)
|
|
||||||
$game_map.need_refresh = true if $game_map
|
|
||||||
@message_waiting=false
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Interpreter # Used by RMXP
|
class Interpreter # Used by RMXP
|
||||||
include InterpreterMixin
|
include InterpreterMixin
|
||||||
eval(InterpreterMixin::CustomEventCommands)
|
eval(InterpreterMixin::CustomEventCommands)
|
||||||
|
|||||||
@@ -49,16 +49,16 @@ class Window_CharacterEntry < Window_DrawableCommand
|
|||||||
def drawItem(index,_count,rect)
|
def drawItem(index,_count,rect)
|
||||||
rect=drawCursor(index,rect)
|
rect=drawCursor(index,rect)
|
||||||
if index==@charset.length # -1
|
if index==@charset.length # -1
|
||||||
pbDrawShadowText(self.contents,rect.x,rect.y,rect.width,rect.height,"[ ]",
|
pbDrawShadowText(self.contents,rect.x,rect.y + (mkxp? ? 6 : 0),rect.width,rect.height,"[ ]",
|
||||||
self.baseColor,self.shadowColor)
|
self.baseColor,self.shadowColor)
|
||||||
elsif index==@charset.length+1 # -2
|
elsif index==@charset.length+1 # -2
|
||||||
pbDrawShadowText(self.contents,rect.x,rect.y,rect.width,rect.height,@othercharset,
|
pbDrawShadowText(self.contents,rect.x,rect.y + (mkxp? ? 6 : 0),rect.width,rect.height,@othercharset,
|
||||||
self.baseColor,self.shadowColor)
|
self.baseColor,self.shadowColor)
|
||||||
elsif index==@charset.length+2 # -3
|
elsif index==@charset.length+2 # -3
|
||||||
pbDrawShadowText(self.contents,rect.x,rect.y,rect.width,rect.height,_INTL("OK"),
|
pbDrawShadowText(self.contents,rect.x,rect.y + (mkxp? ? 6 : 0),rect.width,rect.height,_INTL("OK"),
|
||||||
self.baseColor,self.shadowColor)
|
self.baseColor,self.shadowColor)
|
||||||
else
|
else
|
||||||
pbDrawShadowText(self.contents,rect.x,rect.y,rect.width,rect.height,@charset[index],
|
pbDrawShadowText(self.contents,rect.x,rect.y + (mkxp? ? 6 : 0),rect.width,rect.height,@charset[index],
|
||||||
self.baseColor,self.shadowColor)
|
self.baseColor,self.shadowColor)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -1533,28 +1533,6 @@ end
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Game_Interpreter
|
|
||||||
def command_303
|
|
||||||
if $Trainer
|
|
||||||
$Trainer.name=pbEnterPlayerName(_INTL("Your name?"),1,@params[1],$Trainer.name)
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
if $game_actors && $data_actors && $data_actors[@params[0]] != nil
|
|
||||||
# Set battle abort flag
|
|
||||||
pbFadeOutIn {
|
|
||||||
sscene=PokemonEntryScene.new
|
|
||||||
sscreen=PokemonEntry.new(sscene)
|
|
||||||
$game_actors[@params[0]].name=sscreen.pbStartScreen(
|
|
||||||
_INTL("Enter {1}'s name.",$game_actors[@params[0]].name),
|
|
||||||
1,@params[1],$game_actors[@params[0]].name)
|
|
||||||
}
|
|
||||||
end
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
#
|
#
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|||||||
@@ -411,7 +411,7 @@ end
|
|||||||
Events.onMapChanging += proc { |_sender,e|
|
Events.onMapChanging += proc { |_sender,e|
|
||||||
newMapID = e[0]
|
newMapID = e[0]
|
||||||
if newMapID>0
|
if newMapID>0
|
||||||
mapinfos = ($RPGVX) ? load_data("Data/MapInfos.rvdata") : load_data("Data/MapInfos.rxdata")
|
mapinfos = load_data("Data/MapInfos.rxdata")
|
||||||
oldWeather = GameData::MapMetadata.get($game_map.map_id).weather
|
oldWeather = GameData::MapMetadata.get($game_map.map_id).weather
|
||||||
if $game_map.name!=mapinfos[newMapID].name
|
if $game_map.name!=mapinfos[newMapID].name
|
||||||
$game_screen.weather(0,0,0) if oldWeather
|
$game_screen.weather(0,0,0) if oldWeather
|
||||||
@@ -431,7 +431,7 @@ Events.onMapChange += proc { |_sender,e|
|
|||||||
$PokemonEncounters.setup($game_map.map_id) if $PokemonEncounters
|
$PokemonEncounters.setup($game_map.map_id) if $PokemonEncounters
|
||||||
$PokemonGlobal.visitedMaps[$game_map.map_id] = true
|
$PokemonGlobal.visitedMaps[$game_map.map_id] = true
|
||||||
if oldid!=0 && oldid!=$game_map.map_id
|
if oldid!=0 && oldid!=$game_map.map_id
|
||||||
mapinfos = ($RPGVX) ? load_data("Data/MapInfos.rvdata") : load_data("Data/MapInfos.rxdata")
|
mapinfos = load_data("Data/MapInfos.rxdata")
|
||||||
weather = GameData::MapMetadata.get($game_map.map_id).weather
|
weather = GameData::MapMetadata.get($game_map.map_id).weather
|
||||||
if $game_map.name!=mapinfos[oldid].name
|
if $game_map.name!=mapinfos[oldid].name
|
||||||
$game_screen.weather(weather[0],8,20) if weather && rand(100)<weather[1]
|
$game_screen.weather(weather[0],8,20) if weather && rand(100)<weather[1]
|
||||||
@@ -485,7 +485,7 @@ Events.onMapSceneChange += proc { |_sender,e|
|
|||||||
nosignpost = true if NO_SIGNPOSTS[2*i+1]==$PokemonGlobal.mapTrail[1] && NO_SIGNPOSTS[2*i]==$game_map.map_id
|
nosignpost = true if NO_SIGNPOSTS[2*i+1]==$PokemonGlobal.mapTrail[1] && NO_SIGNPOSTS[2*i]==$game_map.map_id
|
||||||
break if nosignpost
|
break if nosignpost
|
||||||
end
|
end
|
||||||
mapinfos = $RPGVX ? load_data("Data/MapInfos.rvdata") : load_data("Data/MapInfos.rxdata")
|
mapinfos = load_data("Data/MapInfos.rxdata")
|
||||||
oldmapname = mapinfos[$PokemonGlobal.mapTrail[1]].name
|
oldmapname = mapinfos[$PokemonGlobal.mapTrail[1]].name
|
||||||
nosignpost = true if $game_map.name==oldmapname
|
nosignpost = true if $game_map.name==oldmapname
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -625,11 +625,7 @@ end
|
|||||||
# Blacking out animation
|
# Blacking out animation
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
def pbRxdataExists?(file)
|
def pbRxdataExists?(file)
|
||||||
if $RPGVX
|
return pbRgssExists?(file+".rxdata")
|
||||||
return pbRgssExists?(file+".rvdata")
|
|
||||||
else
|
|
||||||
return pbRgssExists?(file+".rxdata")
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbStartOver(gameover=false)
|
def pbStartOver(gameover=false)
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ end
|
|||||||
Events.onMapChange += proc { |_sender,e|
|
Events.onMapChange += proc { |_sender,e|
|
||||||
oldMapID = e[0]
|
oldMapID = e[0]
|
||||||
# Get and compare map names
|
# Get and compare map names
|
||||||
mapInfos = $RPGVX ? load_data("Data/MapInfos.rvdata") : load_data("Data/MapInfos.rxdata")
|
mapInfos = load_data("Data/MapInfos.rxdata")
|
||||||
next if mapInfos && oldMapID>0 && mapInfos[oldMapID] &&
|
next if mapInfos && oldMapID>0 && mapInfos[oldMapID] &&
|
||||||
mapInfos[oldMapID].name && $game_map.name==mapInfos[oldMapID].name
|
mapInfos[oldMapID].name && $game_map.name==mapInfos[oldMapID].name
|
||||||
# Make roaming Pokémon roam
|
# Make roaming Pokémon roam
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ class Window_DexesList < Window_CommandPokemon
|
|||||||
def drawItem(index,count,rect)
|
def drawItem(index,count,rect)
|
||||||
super(index,count,rect)
|
super(index,count,rect)
|
||||||
if index>=0 && index<@commands2.length
|
if index>=0 && index<@commands2.length
|
||||||
pbDrawShadowText(self.contents,rect.x+254,rect.y,64,rect.height,
|
pbDrawShadowText(self.contents,rect.x+254,rect.y + (mkxp? ? 6 : 0),64,rect.height,
|
||||||
sprintf("%d",@commands2[index][0]),self.baseColor,self.shadowColor,1)
|
sprintf("%d",@commands2[index][0]),self.baseColor,self.shadowColor,1)
|
||||||
pbDrawShadowText(self.contents,rect.x+350,rect.y,64,rect.height,
|
pbDrawShadowText(self.contents,rect.x+350,rect.y + (mkxp? ? 6 : 0),64,rect.height,
|
||||||
sprintf("%d",@commands2[index][1]),self.baseColor,self.shadowColor,1)
|
sprintf("%d",@commands2[index][1]),self.baseColor,self.shadowColor,1)
|
||||||
allseen = (@commands2[index][0]>=@commands2[index][2])
|
allseen = (@commands2[index][0]>=@commands2[index][2])
|
||||||
allown = (@commands2[index][1]>=@commands2[index][2])
|
allown = (@commands2[index][1]>=@commands2[index][2])
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ class Window_Pokedex < Window_DrawableCommand
|
|||||||
else
|
else
|
||||||
text = sprintf("%03d ----------",indexNumber)
|
text = sprintf("%03d ----------",indexNumber)
|
||||||
end
|
end
|
||||||
pbDrawShadowText(self.contents,rect.x+36,rect.y+6,rect.width,rect.height,
|
pbDrawShadowText(self.contents,rect.x+36,rect.y+6 + (mkxp? ? 6 : 0),rect.width,rect.height,
|
||||||
text,self.baseColor,self.shadowColor)
|
text,self.baseColor,self.shadowColor)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -122,7 +122,8 @@ class Window_CommandPokemonColor < Window_CommandPokemon
|
|||||||
base = Color.new(0,80,160)
|
base = Color.new(0,80,160)
|
||||||
shadow = Color.new(128,192,240)
|
shadow = Color.new(128,192,240)
|
||||||
end
|
end
|
||||||
pbDrawShadowText(self.contents,rect.x,rect.y,rect.width,rect.height,@commands[index],base,shadow)
|
pbDrawShadowText(self.contents,rect.x,rect.y + (mkxp? ? 6 : 0),rect.width,rect.height,
|
||||||
|
@commands[index],base,shadow)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -398,7 +399,7 @@ class PokemonPartyPanel < SpriteWrapper
|
|||||||
"Graphics/Pictures/Party/overlay_lv",20,70,0,0,22,14]])
|
"Graphics/Pictures/Party/overlay_lv",20,70,0,0,22,14]])
|
||||||
pbSetSmallFont(@overlaysprite.bitmap)
|
pbSetSmallFont(@overlaysprite.bitmap)
|
||||||
pbDrawTextPositions(@overlaysprite.bitmap,[
|
pbDrawTextPositions(@overlaysprite.bitmap,[
|
||||||
[@pokemon.level.to_s,42,62,0,basecolor,shadowcolor]
|
[@pokemon.level.to_s,42,63,0,basecolor,shadowcolor]
|
||||||
])
|
])
|
||||||
end
|
end
|
||||||
# Draw annotation text
|
# Draw annotation text
|
||||||
|
|||||||
@@ -259,8 +259,7 @@ class PokemonLoadScreen
|
|||||||
savefile = RTP.getSaveFileName("Game.rxdata")
|
savefile = RTP.getSaveFileName("Game.rxdata")
|
||||||
FontInstaller.install
|
FontInstaller.install
|
||||||
data_system = pbLoadRxData("Data/System")
|
data_system = pbLoadRxData("Data/System")
|
||||||
mapfile = ($RPGVX) ? sprintf("Data/Map%03d.rvdata",data_system.start_map_id) :
|
mapfile = sprintf("Data/Map%03d.rxdata",data_system.start_map_id)
|
||||||
sprintf("Data/Map%03d.rxdata",data_system.start_map_id)
|
|
||||||
if data_system.start_map_id==0 || !pbRgssExists?(mapfile)
|
if data_system.start_map_id==0 || !pbRgssExists?(mapfile)
|
||||||
pbMessage(_INTL("No starting position was set in the map editor.\1"))
|
pbMessage(_INTL("No starting position was set in the map editor.\1"))
|
||||||
pbMessage(_INTL("The game cannot continue."))
|
pbMessage(_INTL("The game cannot continue."))
|
||||||
|
|||||||
@@ -331,7 +331,8 @@ class Window_PokemonOption < Window_DrawableCommand
|
|||||||
rect = drawCursor(index,rect)
|
rect = drawCursor(index,rect)
|
||||||
optionname = (index==@options.length) ? _INTL("Cancel") : @options[index].name
|
optionname = (index==@options.length) ? _INTL("Cancel") : @options[index].name
|
||||||
optionwidth = rect.width*9/20
|
optionwidth = rect.width*9/20
|
||||||
pbDrawShadowText(self.contents,rect.x,rect.y,optionwidth,rect.height,optionname,
|
text_y = rect.y + (mkxp? ? 6 : 0)
|
||||||
|
pbDrawShadowText(self.contents,rect.x,text_y,optionwidth,rect.height,optionname,
|
||||||
@nameBaseColor,@nameShadowColor)
|
@nameBaseColor,@nameShadowColor)
|
||||||
return if index==@options.length
|
return if index==@options.length
|
||||||
if @options[index].is_a?(EnumOption)
|
if @options[index].is_a?(EnumOption)
|
||||||
@@ -345,7 +346,7 @@ class Window_PokemonOption < Window_DrawableCommand
|
|||||||
xpos = optionwidth+rect.x
|
xpos = optionwidth+rect.x
|
||||||
ivalue = 0
|
ivalue = 0
|
||||||
for value in @options[index].values
|
for value in @options[index].values
|
||||||
pbDrawShadowText(self.contents,xpos,rect.y,optionwidth,rect.height,value,
|
pbDrawShadowText(self.contents,xpos,text_y,optionwidth,rect.height,value,
|
||||||
(ivalue==self[index]) ? @selBaseColor : self.baseColor,
|
(ivalue==self[index]) ? @selBaseColor : self.baseColor,
|
||||||
(ivalue==self[index]) ? @selShadowColor : self.shadowColor
|
(ivalue==self[index]) ? @selShadowColor : self.shadowColor
|
||||||
)
|
)
|
||||||
@@ -354,14 +355,14 @@ class Window_PokemonOption < Window_DrawableCommand
|
|||||||
ivalue += 1
|
ivalue += 1
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
pbDrawShadowText(self.contents,rect.x+optionwidth,rect.y,optionwidth,rect.height,
|
pbDrawShadowText(self.contents,rect.x+optionwidth,text_y,optionwidth,rect.height,
|
||||||
optionname,self.baseColor,self.shadowColor)
|
optionname,self.baseColor,self.shadowColor)
|
||||||
end
|
end
|
||||||
elsif @options[index].is_a?(NumberOption)
|
elsif @options[index].is_a?(NumberOption)
|
||||||
value = _INTL("Type {1}/{2}",@options[index].optstart+self[index],
|
value = _INTL("Type {1}/{2}",@options[index].optstart+self[index],
|
||||||
@options[index].optend-@options[index].optstart+1)
|
@options[index].optend-@options[index].optstart+1)
|
||||||
xpos = optionwidth+rect.x
|
xpos = optionwidth+rect.x
|
||||||
pbDrawShadowText(self.contents,xpos,rect.y,optionwidth,rect.height,value,
|
pbDrawShadowText(self.contents,xpos,text_y,optionwidth,rect.height,value,
|
||||||
@selBaseColor,@selShadowColor)
|
@selBaseColor,@selShadowColor)
|
||||||
elsif @options[index].is_a?(SliderOption)
|
elsif @options[index].is_a?(SliderOption)
|
||||||
value = sprintf(" %d",@options[index].optend)
|
value = sprintf(" %d",@options[index].optend)
|
||||||
@@ -375,12 +376,12 @@ class Window_PokemonOption < Window_DrawableCommand
|
|||||||
8,16,@selBaseColor)
|
8,16,@selBaseColor)
|
||||||
value = sprintf("%d",@options[index].optstart+self[index])
|
value = sprintf("%d",@options[index].optstart+self[index])
|
||||||
xpos += optionwidth-self.contents.text_size(value).width
|
xpos += optionwidth-self.contents.text_size(value).width
|
||||||
pbDrawShadowText(self.contents,xpos,rect.y,optionwidth,rect.height,value,
|
pbDrawShadowText(self.contents,xpos,text_y,optionwidth,rect.height,value,
|
||||||
@selBaseColor,@selShadowColor)
|
@selBaseColor,@selShadowColor)
|
||||||
else
|
else
|
||||||
value = @options[index].values[self[index]]
|
value = @options[index].values[self[index]]
|
||||||
xpos = optionwidth+rect.x
|
xpos = optionwidth+rect.x
|
||||||
pbDrawShadowText(self.contents,xpos,rect.y,optionwidth,rect.height,value,
|
pbDrawShadowText(self.contents,xpos,text_y,optionwidth,rect.height,value,
|
||||||
@selBaseColor,@selShadowColor)
|
@selBaseColor,@selShadowColor)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -413,7 +413,8 @@ class PokemonBoxSprite < SpriteWrapper
|
|||||||
pbSetSystemFont(@contents)
|
pbSetSystemFont(@contents)
|
||||||
widthval = @contents.text_size(boxname).width
|
widthval = @contents.text_size(boxname).width
|
||||||
xval = 162-(widthval/2)
|
xval = 162-(widthval/2)
|
||||||
pbDrawShadowText(@contents,xval,8,widthval,32,boxname,Color.new(248,248,248),Color.new(40,48,48))
|
pbDrawShadowText(@contents,xval,8 + (mkxp? ? 6 : 0),widthval,32,
|
||||||
|
boxname,Color.new(248,248,248),Color.new(40,48,48))
|
||||||
@refreshBox = false
|
@refreshBox = false
|
||||||
end
|
end
|
||||||
yval = self.y+30
|
yval = self.y+30
|
||||||
@@ -536,7 +537,7 @@ class PokemonBoxPartySprite < SpriteWrapper
|
|||||||
def refresh
|
def refresh
|
||||||
@contents.blt(0,0,@boxbitmap.bitmap,Rect.new(0,0,172,352))
|
@contents.blt(0,0,@boxbitmap.bitmap,Rect.new(0,0,172,352))
|
||||||
pbDrawTextPositions(self.bitmap,[
|
pbDrawTextPositions(self.bitmap,[
|
||||||
[_INTL("Back"),86,242,2,Color.new(248,248,248),Color.new(80,80,80),1]
|
[_INTL("Back"),86,242 - (mkxp? ? 2 : 0),2,Color.new(248,248,248),Color.new(80,80,80),1]
|
||||||
])
|
])
|
||||||
|
|
||||||
xvalues = [18,90,18,90,18,90]
|
xvalues = [18,90,18,90,18,90]
|
||||||
@@ -1384,8 +1385,8 @@ class PokemonStorageScene
|
|||||||
buttonbase = Color.new(248,248,248)
|
buttonbase = Color.new(248,248,248)
|
||||||
buttonshadow = Color.new(80,80,80)
|
buttonshadow = Color.new(80,80,80)
|
||||||
pbDrawTextPositions(overlay,[
|
pbDrawTextPositions(overlay,[
|
||||||
[_INTL("Party: {1}",(@storage.party.length rescue 0)),270,328,2,buttonbase,buttonshadow,1],
|
[_INTL("Party: {1}",(@storage.party.length rescue 0)),270,328 - (mkxp? ? 2 : 0),2,buttonbase,buttonshadow,1],
|
||||||
[_INTL("Exit"),446,328,2,buttonbase,buttonshadow,1],
|
[_INTL("Exit"),446,328 - (mkxp? ? 2 : 0),2,buttonbase,buttonshadow,1],
|
||||||
])
|
])
|
||||||
pokemon = nil
|
pokemon = nil
|
||||||
if @screen.pbHeldPokemon
|
if @screen.pbHeldPokemon
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
# Abstraction layer for RPG Maker XP/VX
|
# Abstraction layer for RPG Maker XP
|
||||||
# Won't be used if $PokemonBag exists
|
# Won't be used if $PokemonBag exists
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
class RpgxpMartAdapter
|
class RpgxpMartAdapter
|
||||||
@@ -884,33 +884,3 @@ class Interpreter
|
|||||||
setPrice(item,-1,sellprice)
|
setPrice(item,-1,sellprice)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Game_Interpreter
|
|
||||||
def getItem(p)
|
|
||||||
if p[0]==0; return $data_items[p[1]]
|
|
||||||
elsif p[0]==1; return $data_weapons[p[1]]
|
|
||||||
elsif p[0]==2; return $data_armors[p[1]]
|
|
||||||
end
|
|
||||||
return nil
|
|
||||||
end
|
|
||||||
|
|
||||||
def command_302
|
|
||||||
shop_goods = [getItem(@params)]
|
|
||||||
# Loop
|
|
||||||
loop do
|
|
||||||
# Advance index
|
|
||||||
@index += 1
|
|
||||||
# If next event command has shop on second line or after
|
|
||||||
if @list[@index].code == 605
|
|
||||||
# Add goods list to new item
|
|
||||||
shop_goods.push(getItem(@list[@index].parameters))
|
|
||||||
else
|
|
||||||
# End
|
|
||||||
pbPokemonMart(shop_goods.compact,nil,@params[2])
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|||||||
@@ -9,11 +9,7 @@ def pbSafeLoad(file)
|
|||||||
end
|
end
|
||||||
|
|
||||||
def pbLoadRxData(file) # :nodoc:
|
def pbLoadRxData(file) # :nodoc:
|
||||||
if $RPGVX
|
return load_data(file+".rxdata")
|
||||||
return load_data(file+".rvdata")
|
|
||||||
else
|
|
||||||
return load_data(file+".rxdata")
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbChooseLanguage
|
def pbChooseLanguage
|
||||||
@@ -102,7 +98,11 @@ def pbScreenCapture
|
|||||||
filestart = sprintf("%s.%03d",filestart,(t.to_f-t.to_i)*1000) # milliseconds
|
filestart = sprintf("%s.%03d",filestart,(t.to_f-t.to_i)*1000) # milliseconds
|
||||||
capturefile = RTP.getSaveFileName(sprintf("%s.png",filestart))
|
capturefile = RTP.getSaveFileName(sprintf("%s.png",filestart))
|
||||||
if capturefile && safeExists?("rubyscreen.dll")
|
if capturefile && safeExists?("rubyscreen.dll")
|
||||||
Graphics.snap_to_bitmap(false).saveToPng(capturefile)
|
if mkxp?
|
||||||
|
Graphics.screenshot(capturefile)
|
||||||
|
else
|
||||||
|
Graphics.snap_to_bitmap(false).saveToPng(capturefile)
|
||||||
|
end
|
||||||
pbSEPlay("Pkmn exp full") if FileTest.audio_exist?("Audio/SE/Pkmn exp full")
|
pbSEPlay("Pkmn exp full") if FileTest.audio_exist?("Audio/SE/Pkmn exp full")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -105,9 +105,10 @@ class SpriteWindow_DebugVariables < Window_DrawableCommand
|
|||||||
idWidth = totalWidth*15/100
|
idWidth = totalWidth*15/100
|
||||||
nameWidth = totalWidth*65/100
|
nameWidth = totalWidth*65/100
|
||||||
statusWidth = totalWidth*20/100
|
statusWidth = totalWidth*20/100
|
||||||
self.shadowtext(rect.x,rect.y,idWidth,rect.height,id_text)
|
text_y = rect.y + (mkxp? ? 6 : 0)
|
||||||
self.shadowtext(rect.x+idWidth,rect.y,nameWidth,rect.height,name,0,(codeswitch) ? 1 : 0)
|
self.shadowtext(rect.x,text_y,idWidth,rect.height,id_text)
|
||||||
self.shadowtext(rect.x+idWidth+nameWidth,rect.y,statusWidth,rect.height,status,1,colors)
|
self.shadowtext(rect.x+idWidth,text_y,nameWidth,rect.height,name,0,(codeswitch) ? 1 : 0)
|
||||||
|
self.shadowtext(rect.x+idWidth+nameWidth,text_y,statusWidth,rect.height,status,1,colors)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -416,7 +417,7 @@ class SpriteWindow_DebugRoamers < Window_DrawableCommand
|
|||||||
# roaming
|
# roaming
|
||||||
curmap = $PokemonGlobal.roamPosition[index]
|
curmap = $PokemonGlobal.roamPosition[index]
|
||||||
if curmap
|
if curmap
|
||||||
mapinfos = ($RPGVX) ? load_data("Data/MapInfos.rvdata") : load_data("Data/MapInfos.rxdata")
|
mapinfos = load_data("Data/MapInfos.rxdata")
|
||||||
status = "[ROAMING][#{curmap}: #{mapinfos[curmap].name}]"
|
status = "[ROAMING][#{curmap}: #{mapinfos[curmap].name}]"
|
||||||
else
|
else
|
||||||
status = "[ROAMING][map not set]"
|
status = "[ROAMING][map not set]"
|
||||||
@@ -426,8 +427,9 @@ class SpriteWindow_DebugRoamers < Window_DrawableCommand
|
|||||||
else
|
else
|
||||||
status = "[NOT ROAMING][Switch #{pkmn[2]} is off]"
|
status = "[NOT ROAMING][Switch #{pkmn[2]} is off]"
|
||||||
end
|
end
|
||||||
self.shadowtext(name,rect.x,rect.y,nameWidth,rect.height)
|
text_y = rect.y + (mkxp? ? 6 : 0)
|
||||||
self.shadowtext(status,rect.x+nameWidth,rect.y,statusWidth,rect.height,1,statuscolor)
|
self.shadowtext(name,rect.x,text_y,nameWidth,rect.height)
|
||||||
|
self.shadowtext(status,rect.x+nameWidth,text_y,statusWidth,rect.height,1,statuscolor)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
BIN
Fonts/pkmndp.ttf
BIN
Fonts/pkmndp.ttf
Binary file not shown.
Binary file not shown.
BIN
Fonts/pkmnem.ttf
BIN
Fonts/pkmnem.ttf
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Fonts/pkmnfl.ttf
BIN
Fonts/pkmnfl.ttf
Binary file not shown.
BIN
Fonts/power clear bold.ttf
Normal file
BIN
Fonts/power clear bold.ttf
Normal file
Binary file not shown.
BIN
Fonts/power clear.ttf
Normal file
BIN
Fonts/power clear.ttf
Normal file
Binary file not shown.
BIN
Fonts/power green narrow.ttf
Normal file
BIN
Fonts/power green narrow.ttf
Normal file
Binary file not shown.
BIN
Fonts/power green small.ttf
Normal file
BIN
Fonts/power green small.ttf
Normal file
Binary file not shown.
BIN
Fonts/power green.ttf
Normal file
BIN
Fonts/power green.ttf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Fonts/power red and green.ttf
Normal file
BIN
Fonts/power red and green.ttf
Normal file
Binary file not shown.
BIN
fluidsynth.dll
Normal file
BIN
fluidsynth.dll
Normal file
Binary file not shown.
BIN
mkxp-z-x86_64.AppImage
Normal file
BIN
mkxp-z-x86_64.AppImage
Normal file
Binary file not shown.
BIN
mkxp-z.app.zip
Normal file
BIN
mkxp-z.app.zip
Normal file
Binary file not shown.
BIN
mkxp-z.exe
Normal file
BIN
mkxp-z.exe
Normal file
Binary file not shown.
339
mkxp.json
Normal file
339
mkxp.json
Normal file
@@ -0,0 +1,339 @@
|
|||||||
|
{
|
||||||
|
// Lines starting with '//' are comments.
|
||||||
|
//
|
||||||
|
// About filesystem paths specified in this config:
|
||||||
|
// The "gameFolder" path is resolved either relative
|
||||||
|
// to the directory containing the mkxp executable
|
||||||
|
// (the default behavior), or relative to the current
|
||||||
|
// working directory (when compiled with
|
||||||
|
// -DWORKDIR_CURRENT). All other paths are resolved
|
||||||
|
// relative to gameFolder and ignoring both RTPs and
|
||||||
|
// encrypted archives.
|
||||||
|
|
||||||
|
|
||||||
|
// Specify the RGSS version to run under.
|
||||||
|
// Possible values are 0, 1, 2, 3. If set to 0,
|
||||||
|
// mkxp will try to guess the required version
|
||||||
|
// based on the game files found in gameFolder.
|
||||||
|
// If this fails, the version defaults to 1.
|
||||||
|
// (default: 0)
|
||||||
|
//
|
||||||
|
// "rgssVersion": 1,
|
||||||
|
|
||||||
|
|
||||||
|
// Request an OpenGL 4.1 context. This
|
||||||
|
// introduces these minimum requirements
|
||||||
|
// for GPUs:
|
||||||
|
//
|
||||||
|
// + NVIDIA 400 Series+
|
||||||
|
// + AMD Radeon HD 5000+
|
||||||
|
// + Intel HD Graphics 4000+
|
||||||
|
//
|
||||||
|
// If disabled, OpenGL 3.3 is used instead.
|
||||||
|
// (default: disabled)
|
||||||
|
//
|
||||||
|
// "openGL4": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Create a debug context and log
|
||||||
|
// OpenGL debug information to the console
|
||||||
|
// (default: disabled)
|
||||||
|
//
|
||||||
|
// "debugMode": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Continuously print average FPS to console.
|
||||||
|
// This setting does not affect the window title
|
||||||
|
// FPS display toggled via F2
|
||||||
|
// (default: disabled)
|
||||||
|
//
|
||||||
|
// "printFPS": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Game window is resizable
|
||||||
|
// (default: enabled)
|
||||||
|
//
|
||||||
|
// "winResizable": true,
|
||||||
|
|
||||||
|
|
||||||
|
// Start game in fullscreen (this can
|
||||||
|
// always be toggled with Alt-Enter at runtime)
|
||||||
|
// (default: disabled)
|
||||||
|
//
|
||||||
|
// "fullscreen": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Preserve game screen aspect ratio,
|
||||||
|
// as opposed to stretch-to-fill
|
||||||
|
// (default: enabled)
|
||||||
|
//
|
||||||
|
// "fixedAspectRatio": true,
|
||||||
|
|
||||||
|
|
||||||
|
// Apply linear interpolation when game screen
|
||||||
|
// is upscaled
|
||||||
|
// (default: disabled)
|
||||||
|
//
|
||||||
|
// "smoothScaling": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Sync screen redraws to the monitor refresh rate
|
||||||
|
// (default: disabled)
|
||||||
|
//
|
||||||
|
// "vsync": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Specify the window width on startup. If set to 0,
|
||||||
|
// it will default to the default resolution width
|
||||||
|
// specific to the RGSS version (640 in RGSS1, 544
|
||||||
|
// in RGSS2 or higher).
|
||||||
|
// (default: 0)
|
||||||
|
//
|
||||||
|
// "defScreenW": 640,
|
||||||
|
|
||||||
|
|
||||||
|
// Specify the window height on startup. If set to 0,
|
||||||
|
// it will default to the default resolution height
|
||||||
|
// specific to the RGSS version (480 in RGSS1, 416
|
||||||
|
// in RGSS2 or higher).
|
||||||
|
// (default: 0)
|
||||||
|
//
|
||||||
|
// "defScreenH": 480,
|
||||||
|
|
||||||
|
|
||||||
|
// Override the game window title
|
||||||
|
// (default: none)
|
||||||
|
//
|
||||||
|
// "windowTitle": "Custom Title",
|
||||||
|
|
||||||
|
|
||||||
|
// Enforce a static frame rate
|
||||||
|
// This option may be force-disabled at build time.
|
||||||
|
// (0 = disabled)
|
||||||
|
//
|
||||||
|
// "fixedFramerate": 0,
|
||||||
|
|
||||||
|
|
||||||
|
// Skip (don't draw) frames when behind.
|
||||||
|
// Can be changed at runtime, but this is the
|
||||||
|
// default value when the game starts.
|
||||||
|
// (default: disabled)
|
||||||
|
//
|
||||||
|
// "frameSkip": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Use a fixed framerate that is approx. equal to the
|
||||||
|
// native screen refresh rate. This is different from
|
||||||
|
// "fixedFramerate" because the actual frame rate is
|
||||||
|
// reported back to the game, ensuring correct timers.
|
||||||
|
// If the screen refresh rate cannot be determined,
|
||||||
|
// this option is force-disabled.
|
||||||
|
// This option may be force-disabled at build time.
|
||||||
|
// (default: disabled)
|
||||||
|
//
|
||||||
|
// "syncToRefreshrate": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Don't use alpha blending when rendering text
|
||||||
|
// (default: disabled)
|
||||||
|
//
|
||||||
|
// "solidFonts": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Work around buggy graphics drivers which don't
|
||||||
|
// properly synchronize texture access, most
|
||||||
|
// apparent when text doesn't show up or the map
|
||||||
|
// tileset doesn't render at all
|
||||||
|
// (default: disabled)
|
||||||
|
//
|
||||||
|
// "subImageFix": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Enable framebuffer blitting if the driver is
|
||||||
|
// capable of it. Some drivers carry buggy
|
||||||
|
// implementations of this functionality, so
|
||||||
|
// disabling it can be used as a workaround
|
||||||
|
// (default: enabled)
|
||||||
|
//
|
||||||
|
// "enableBlitting": true,
|
||||||
|
|
||||||
|
|
||||||
|
// Limit the maximum size (width, height) of
|
||||||
|
// most textures mkxp will create (exceptions are
|
||||||
|
// rendering backbuffers and similar).
|
||||||
|
// If set to 0, the hardware maximum is used.
|
||||||
|
// This is useful for recording traces that can
|
||||||
|
// be played back on machines with lower specs.
|
||||||
|
// (default: 0)
|
||||||
|
//
|
||||||
|
// "maxTextureSize": 0,
|
||||||
|
|
||||||
|
|
||||||
|
// Set the base path of the game to '/path/to/game'
|
||||||
|
// (default: executable directory)
|
||||||
|
//
|
||||||
|
// "gameFolder": "/path/to/game",
|
||||||
|
|
||||||
|
|
||||||
|
// Use either right or left Alt + Enter to toggle
|
||||||
|
// fullscreen
|
||||||
|
// (default: disabled)
|
||||||
|
//
|
||||||
|
// "anyAltToggleFS": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Enable F12 game reset
|
||||||
|
// (default: enabled)
|
||||||
|
//
|
||||||
|
// "enableReset": true,
|
||||||
|
|
||||||
|
|
||||||
|
// Allow symlinks for game assets to be followed
|
||||||
|
// (default: disabled)
|
||||||
|
//
|
||||||
|
// "allowSymlinks": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Organisation / company and application / game
|
||||||
|
// name to build the directory path where mkxp
|
||||||
|
// will store game specific data (eg. key bindings).
|
||||||
|
// If not specified, mkxp will save to a common
|
||||||
|
// directory shared by all games. Note that these
|
||||||
|
// are TWO individual config entries, and both need
|
||||||
|
// to be defined for this to take effect.
|
||||||
|
// (default: none)
|
||||||
|
//
|
||||||
|
// "dataPathOrg": "mycompany",
|
||||||
|
// "dataPathApp": "mygame",
|
||||||
|
|
||||||
|
|
||||||
|
// Set the game window icon to 'path/to/icon.png'
|
||||||
|
// (default: none)
|
||||||
|
//
|
||||||
|
// "iconPath": "/path/to/icon.png",
|
||||||
|
|
||||||
|
|
||||||
|
// Instead of playing an RPG Maker game,
|
||||||
|
// execute a single plain text script instead
|
||||||
|
// (default: none)
|
||||||
|
//
|
||||||
|
// "customScript": "/path/to/script.rb",
|
||||||
|
|
||||||
|
|
||||||
|
// Define raw scripts to be executed before the
|
||||||
|
// actual Scripts.rxdata execution starts
|
||||||
|
// This option may be force-disabled at build time.
|
||||||
|
// (default: none)
|
||||||
|
//
|
||||||
|
// "preloadScript": ["my_win32_wrapper.rb",
|
||||||
|
// "ruby18_fixes.rb"],
|
||||||
|
|
||||||
|
|
||||||
|
// Index all accesible assets via their lower case path
|
||||||
|
// (emulates windows case insensitivity)
|
||||||
|
// (default: enabled)
|
||||||
|
//
|
||||||
|
// "pathCache": true,
|
||||||
|
|
||||||
|
// In some versions of Essentials, overworld code
|
||||||
|
// requests the player's sprite texture from disk
|
||||||
|
// at least once every frame. The damage this
|
||||||
|
// causes is less perceptible in RPG Maker XP,
|
||||||
|
// but MKXP's RGSSAD code is much slower and will
|
||||||
|
// cause games to lag. Hard.
|
||||||
|
//
|
||||||
|
// I have no interest in fixing it, because:
|
||||||
|
//
|
||||||
|
// (A) I don't see any point in such frail encryption, and
|
||||||
|
// (B) One can easily replicate load_data entirely in Ruby
|
||||||
|
// (https://gist.github.com/inori-z/0800dbdc213b9936e0e81f64c9a98c4c)
|
||||||
|
//
|
||||||
|
// If you insist on using archives, you can use a
|
||||||
|
// version of Essentials that isn't broken,
|
||||||
|
// otherwise come up with your own solution
|
||||||
|
// (there are many), or leave your Graphics files
|
||||||
|
// loose and disable this option.
|
||||||
|
// (default: false)
|
||||||
|
//
|
||||||
|
// "compressedGraphics": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Add 'rtp1', 'rtp2.zip' and 'game.rgssad' to the
|
||||||
|
// asset search path (multiple allowed)
|
||||||
|
// (default: none)
|
||||||
|
//
|
||||||
|
// "RTP": ["/path/to/rtp1",
|
||||||
|
// "/path/to/rtp2.zip",
|
||||||
|
// "/path/to/game.rgssad"],
|
||||||
|
|
||||||
|
|
||||||
|
// Use the script's name as filename in warnings and error messages
|
||||||
|
// (default: enabled)
|
||||||
|
//
|
||||||
|
// "useScriptNames": true,
|
||||||
|
|
||||||
|
|
||||||
|
// Font substitutions allow drop-in replacements of fonts
|
||||||
|
// to be used without changing the RGSS scripts,
|
||||||
|
// eg. providing 'Open Sans' when the game thinkgs it's
|
||||||
|
// using 'Arial'. Font family to be substituted and
|
||||||
|
// replacement family are separated by one sole '>'.
|
||||||
|
// Be careful not to include any spaces.
|
||||||
|
// This is not connected to the built-in font, which is
|
||||||
|
// always used when a non-existing font family is
|
||||||
|
// requested by RGSS.
|
||||||
|
// (default: none)
|
||||||
|
//
|
||||||
|
// "fontSub": ["Arial>Open Sans",
|
||||||
|
// "Times New Roman>Liberation Serif"]
|
||||||
|
|
||||||
|
|
||||||
|
// Because mkxp is usually distributed as a stand alone
|
||||||
|
// build, no predefined load paths are initialized
|
||||||
|
// ($:, $LOAD_PATH) in the MRI backend. With this option,
|
||||||
|
// they can be specified manually (eg. when using a system
|
||||||
|
// libruby.so). It is however recommended to statically
|
||||||
|
// link all required gems into libruby.so.
|
||||||
|
// (default: none)
|
||||||
|
//
|
||||||
|
// "rubyLoadpath": ["/usr/lib64/ruby/",
|
||||||
|
// "/usr/local/share/ruby/site_ruby"],
|
||||||
|
|
||||||
|
|
||||||
|
// SoundFont to use for midi playback (via fluidsynth)
|
||||||
|
// (default: none)
|
||||||
|
//
|
||||||
|
"midiSoundFont": "soundfont.sf2",
|
||||||
|
|
||||||
|
|
||||||
|
// Activate "chorus" effect for midi playback
|
||||||
|
//
|
||||||
|
// "midiChorus": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Activate "reverb" effect for midi playback
|
||||||
|
//
|
||||||
|
// "midiReverb": false,
|
||||||
|
|
||||||
|
|
||||||
|
// Number of OpenAL sources to allocate for SE playback.
|
||||||
|
// If there are a lot of sounds playing at the same time
|
||||||
|
// and audibly cutting each other off, try increasing
|
||||||
|
// this number. Maximum: 64.
|
||||||
|
//
|
||||||
|
// "SESourceCount": 6
|
||||||
|
|
||||||
|
|
||||||
|
// The Windows game executable name minus ".exe". By default
|
||||||
|
// this is "Game", but some developers manually rename it.
|
||||||
|
// mkxp needs this name because both the .ini (game
|
||||||
|
// configuration) and .rgssad (encrypted data archive) must
|
||||||
|
// carry the same name minus their extension, and we cannot
|
||||||
|
// guess the executable's name.
|
||||||
|
// You could just as well rename them both to "Game.ini" and
|
||||||
|
// "Game.rgssad", but specifying the executable name here
|
||||||
|
// is a tiny bit less intrusive.
|
||||||
|
//
|
||||||
|
// "execName": "Game"
|
||||||
|
|
||||||
|
}
|
||||||
BIN
soundfont.sf2
Normal file
BIN
soundfont.sf2
Normal file
Binary file not shown.
Reference in New Issue
Block a user