Merge branch 'mkxp-z' into dev

This commit is contained in:
Maruno17
2020-11-20 20:43:27 +00:00
51 changed files with 490 additions and 288 deletions

View 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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
#=============================================================================== #===============================================================================

View File

@@ -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(

View File

@@ -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

View File

@@ -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)

View File

@@ -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
#=============================================================================== #===============================================================================
# #
#=============================================================================== #===============================================================================

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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])

View File

@@ -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

View File

@@ -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

View File

@@ -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."))

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Fonts/power clear bold.ttf Normal file

Binary file not shown.

BIN
Fonts/power clear.ttf Normal file

Binary file not shown.

Binary file not shown.

BIN
Fonts/power green small.ttf Normal file

Binary file not shown.

BIN
Fonts/power green.ttf Normal file

Binary file not shown.

Binary file not shown.

BIN
fluidsynth.dll Normal file

Binary file not shown.

BIN
mkxp-z-x86_64.AppImage Normal file

Binary file not shown.

BIN
mkxp-z.app.zip Normal file

Binary file not shown.

BIN
mkxp-z.exe Normal file

Binary file not shown.

339
mkxp.json Normal file
View 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

Binary file not shown.