mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2026-06-13 23:39:28 +00:00
Merge remote-tracking branch 'origin/mkxp-z' into mkxp-z
This commit is contained in:
@@ -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
|
||||||
+43
-22
@@ -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)
|
||||||
@@ -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
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|||||||
@@ -2222,7 +2222,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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ class LocationWindow
|
|||||||
@window.resizeToFit(name,Graphics.width)
|
@window.resizeToFit(name,Graphics.width)
|
||||||
@window.x = 0
|
@window.x = 0
|
||||||
@window.y = -@window.height
|
@window.y = -@window.height
|
||||||
|
@window.height = 64
|
||||||
@window.viewport = Viewport.new(0,0,Graphics.width,Graphics.height)
|
@window.viewport = Viewport.new(0,0,Graphics.width,Graphics.height)
|
||||||
@window.viewport.z = 99999
|
@window.viewport.z = 99999
|
||||||
@currentmap = $game_map.map_id
|
@currentmap = $game_map.map_id
|
||||||
|
|||||||
@@ -398,7 +398,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
|
||||||
|
|||||||
@@ -96,7 +96,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
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ def pbEachFileSectionEx(f)
|
|||||||
end
|
end
|
||||||
lineno += 1
|
lineno += 1
|
||||||
Graphics.update if lineno%500==0
|
Graphics.update if lineno%500==0
|
||||||
Win32API.SetWindowText(_INTL("Processing {1} line {2}",FileLineData.file,lineno)) if lineno%50==0
|
pbSetWindowText(_INTL("Processing {1} line {2}",FileLineData.file,lineno)) if lineno%50==0
|
||||||
}
|
}
|
||||||
yield lastsection,sectionname if havesection
|
yield lastsection,sectionname if havesection
|
||||||
end
|
end
|
||||||
@@ -1179,6 +1179,7 @@ def pbCompileAllData(mustCompile)
|
|||||||
if !$INEDITOR && LANGUAGES.length>=2
|
if !$INEDITOR && LANGUAGES.length>=2
|
||||||
pbLoadMessages("Data/"+LANGUAGES[$PokemonSystem.language][1])
|
pbLoadMessages("Data/"+LANGUAGES[$PokemonSystem.language][1])
|
||||||
end
|
end
|
||||||
|
pbSetWindowText(nil) if mkxp?
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbCompiler
|
def pbCompiler
|
||||||
@@ -1242,24 +1243,26 @@ def pbCompiler
|
|||||||
end
|
end
|
||||||
# Check data files and PBS files, and recompile if any PBS file was edited
|
# Check data files and PBS files, and recompile if any PBS file was edited
|
||||||
# more recently than the data files were last created
|
# more recently than the data files were last created
|
||||||
for i in 0...dataFiles.length
|
if !mkxp?
|
||||||
begin
|
for i in 0...dataFiles.length
|
||||||
File.open("Data/#{dataFiles[i]}") { |file|
|
begin
|
||||||
latestDataTime = [latestDataTime,file.mtime.to_i].max
|
File.open("Data/#{dataFiles[i]}") { |file|
|
||||||
}
|
latestDataTime = [latestDataTime,file.mtime.to_i].max
|
||||||
rescue SystemCallError
|
}
|
||||||
mustCompile = true
|
rescue SystemCallError
|
||||||
|
mustCompile = true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
for i in 0...textFiles.length
|
||||||
for i in 0...textFiles.length
|
begin
|
||||||
begin
|
File.open("PBS/#{textFiles[i]}") { |file|
|
||||||
File.open("PBS/#{textFiles[i]}") { |file|
|
latestTextTime = [latestTextTime,file.mtime.to_i].max
|
||||||
latestTextTime = [latestTextTime,file.mtime.to_i].max
|
}
|
||||||
}
|
rescue SystemCallError
|
||||||
rescue SystemCallError
|
end
|
||||||
end
|
end
|
||||||
|
mustCompile |= (latestTextTime>=latestDataTime)
|
||||||
end
|
end
|
||||||
mustCompile |= (latestTextTime>=latestDataTime)
|
|
||||||
# Should recompile if holding Ctrl
|
# Should recompile if holding Ctrl
|
||||||
Input.update
|
Input.update
|
||||||
mustCompile = true if Input.press?(Input::CTRL)
|
mustCompile = true if Input.press?(Input::CTRL)
|
||||||
@@ -1273,7 +1276,7 @@ def pbCompiler
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
# Recompile all data
|
# Recompile all data
|
||||||
pbCompileAllData(mustCompile) { |msg| Win32API.SetWindowText(msg) }
|
pbCompileAllData(mustCompile) { |msg| pbSetWindowText(msg) }
|
||||||
rescue Exception
|
rescue Exception
|
||||||
e = $!
|
e = $!
|
||||||
raise e if "#{e.class}"=="Reset" || e.is_a?(Reset) || e.is_a?(SystemExit)
|
raise e if "#{e.class}"=="Reset" || e.is_a?(Reset) || e.is_a?(SystemExit)
|
||||||
|
|||||||
@@ -1416,7 +1416,7 @@ def pbCompileTrainerEvents(_mustcompile)
|
|||||||
changed = false
|
changed = false
|
||||||
map = mapData.getMap(id)
|
map = mapData.getMap(id)
|
||||||
next if !map || !mapData.mapinfos[id]
|
next if !map || !mapData.mapinfos[id]
|
||||||
Win32API.SetWindowText(_INTL("Processing map {1} ({2})",id,mapData.mapinfos[id].name))
|
pbSetWindowText(_INTL("Processing map {1} ({2})",id,mapData.mapinfos[id].name))
|
||||||
for key in map.events.keys
|
for key in map.events.keys
|
||||||
if Time.now.to_i-t>=5
|
if Time.now.to_i-t>=5
|
||||||
Graphics.update
|
Graphics.update
|
||||||
@@ -1448,7 +1448,7 @@ def pbCompileTrainerEvents(_mustcompile)
|
|||||||
changed = false
|
changed = false
|
||||||
Graphics.update
|
Graphics.update
|
||||||
commonEvents = pbLoadRxData("Data/CommonEvents")
|
commonEvents = pbLoadRxData("Data/CommonEvents")
|
||||||
Win32API.SetWindowText(_INTL("Processing common events"))
|
pbSetWindowText(_INTL("Processing common events"))
|
||||||
for key in 0...commonEvents.length
|
for key in 0...commonEvents.length
|
||||||
newevent = pbFixEventUse(commonEvents[key],0,mapData)
|
newevent = pbFixEventUse(commonEvents[key],0,mapData)
|
||||||
if newevent
|
if newevent
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
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
Binary file not shown.
@@ -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"
|
||||||
|
|
||||||
|
}
|
||||||
Binary file not shown.
Reference in New Issue
Block a user