Tidied up semicolon use, refactored random dungeon generation code, fixed visual bug in Day Care debug screen

This commit is contained in:
Maruno17
2021-08-22 23:18:34 +01:00
parent ecc5a040cd
commit 8bb70a226e
64 changed files with 1286 additions and 926 deletions

View File

@@ -288,7 +288,7 @@ def isDarkBackground(background,rect=nil)
yStart = (ySeg==0) ? rect.y+(rect.height/2) : rect.y+ySeg/2
count = 0
y = yStart
r = 0; g = 0; b = 0
r = g = b = 0
yLoop.times do
x = xStart
xLoop.times do

View File

@@ -335,8 +335,10 @@ class Window
return if !srcbitmap || srcbitmap.disposed?
left=dstrect.x
top=dstrect.y
y=0;loop do break unless y<dstrect.height
x=0;loop do break unless x<dstrect.width
y = 0
loop do break unless y < dstrect.height
x = 0
loop do break unless x < dstrect.width
dstbitmap.blt(x+left,y+top,srcbitmap,srcrect)
x+=srcrect.width
end
@@ -432,10 +434,10 @@ class Window
backRect=Rect.new(0,0,128,128)
blindsRect=nil
end
@sprites["corner0"].src_rect.set(trimX,trimY+0,16,16);
@sprites["corner1"].src_rect.set(trimX+48,trimY+0,16,16);
@sprites["corner2"].src_rect.set(trimX,trimY+48,16,16);
@sprites["corner3"].src_rect.set(trimX+48,trimY+48,16,16);
@sprites["corner0"].src_rect.set(trimX,trimY+0,16,16)
@sprites["corner1"].src_rect.set(trimX+48,trimY+0,16,16)
@sprites["corner2"].src_rect.set(trimX,trimY+48,16,16)
@sprites["corner3"].src_rect.set(trimX+48,trimY+48,16,16)
@sprites["scroll0"].src_rect.set(trimX+24, trimY+16, 16, 8) # up
@sprites["scroll3"].src_rect.set(trimX+24, trimY+40, 16, 8) # down
@sprites["scroll1"].src_rect.set(trimX+16, trimY+24, 8, 16) # left

View File

@@ -455,8 +455,10 @@ class SpriteWindow < Window
return if !srcbitmap || srcbitmap.disposed?
left=dstrect.x
top=dstrect.y
y=0;loop do break unless y<dstrect.height
x=0;loop do break unless x<dstrect.width
y = 0
loop do break unless y < dstrect.height
x = 0
loop do break unless x < dstrect.width
dstbitmap.blt(x+left,y+top,srcbitmap,srcrect)
x+=srcrect.width
end
@@ -567,10 +569,10 @@ class SpriteWindow < Window
blindsRect=nil
end
if @_windowskin && !@_windowskin.disposed?
@sprites["corner0"].src_rect.set(trimX,trimY+0,16,16);
@sprites["corner1"].src_rect.set(trimX+48,trimY+0,16,16);
@sprites["corner2"].src_rect.set(trimX,trimY+48,16,16);
@sprites["corner3"].src_rect.set(trimX+48,trimY+48,16,16);
@sprites["corner0"].src_rect.set(trimX,trimY+0,16,16)
@sprites["corner1"].src_rect.set(trimX+48,trimY+0,16,16)
@sprites["corner2"].src_rect.set(trimX,trimY+48,16,16)
@sprites["corner3"].src_rect.set(trimX+48,trimY+48,16,16)
@sprites["scroll0"].src_rect.set(trimX+24, trimY+16, 16, 8) # up
@sprites["scroll3"].src_rect.set(trimX+24, trimY+40, 16, 8) # down
@sprites["scroll1"].src_rect.set(trimX+16, trimY+24, 8, 16) # left
@@ -613,12 +615,12 @@ class SpriteWindow < Window
endX=(!@_windowskin || @_windowskin.disposed?) ? @skinrect.x : @_windowskin.width-cx
# height of bottom end of window
endY=(!@_windowskin || @_windowskin.disposed?) ? @skinrect.y : @_windowskin.height-cy
@sprites["corner0"].src_rect.set(0,0,startX,startY);
@sprites["corner1"].src_rect.set(cx,0,endX,startY);
@sprites["corner2"].src_rect.set(0,cy,startX,endY);
@sprites["corner3"].src_rect.set(cx,cy,endX,endY);
@sprites["corner0"].src_rect.set(0,0,startX,startY)
@sprites["corner1"].src_rect.set(cx,0,endX,startY)
@sprites["corner2"].src_rect.set(0,cy,startX,endY)
@sprites["corner3"].src_rect.set(cx,cy,endX,endY)
backRect=Rect.new(@skinrect.x,@skinrect.y,
@skinrect.width,@skinrect.height);
@skinrect.width,@skinrect.height)
blindsRect=nil
sideRects=[
Rect.new(startX,0,@skinrect.width,startY), # side0 (top)

View File

@@ -346,14 +346,14 @@ class ChangelingSprite < SpriteWrapper
def dispose
return if disposed?
for bm in @bitmaps.values; bm.dispose; end
@bitmaps.values.each { |bm| bm.dispose }
@bitmaps.clear
super
end
def update
return if disposed?
for bm in @bitmaps.values; bm.update; end
@bitmaps.values.each { |bm| bm.update }
self.bitmap = (@currentBitmap) ? @currentBitmap.bitmap : nil
end
end

View File

@@ -46,13 +46,13 @@ class LargePlane < Plane
def ox; @__ox; end
def oy; @__oy; end
def ox=(value);
def ox=(value)
return if @__ox==value
@__ox = value
refresh
end
def oy=(value);
def oy=(value)
return if @__oy==value
@__oy = value
refresh
@@ -89,13 +89,13 @@ class LargePlane < Plane
def color; @__sprite.color; end
def tone; @__sprite.tone; end
def zoom_x=(v);
def zoom_x=(v)
return if @__sprite.zoom_x==v
@__sprite.zoom_x = v
refresh
end
def zoom_y=(v);
def zoom_y=(v)
return if @__sprite.zoom_y==v
@__sprite.zoom_y = v
refresh
@@ -107,7 +107,7 @@ class LargePlane < Plane
def z=(v); @__sprite.z=(v); end
def color=(v); @__sprite.color=(v); end
def tone=(v); @__sprite.tone=(v); end
def update; ;end
def update; end
def refresh
@__sprite.visible = (@__visible && !@__bitmap.nil?)

View File

@@ -93,7 +93,9 @@ end
def getContrastColor(color)
raise "No color given" if !color
r=color.red; g=color.green; b=color.blue
r=color.red
g=color.green
b=color.blue
yuv=[
r * 0.299 + g * 0.587 + b * 0.114,
r * -0.1687 + g * -0.3313 + b * 0.500 + 0.5,
@@ -593,7 +595,8 @@ def getFormattedText(bitmap,xDst,yDst,widthDst,heightDst,text,lineheight=32,
elsif control=="r" # Right align this line
if !endtag
x=0
rightalign=1; lastword=[characters.length,x]
rightalign=1
lastword=[characters.length,x]
end
end
controls[i]=nil
@@ -719,13 +722,15 @@ def getFormattedText(bitmap,xDst,yDst,widthDst,heightDst,text,lineheight=32,
leftSearch = 0
rightSearch = 0
# Search left for a space
i = half; while i>=0
i = half
while i>=0
break if realtext[i,1][/\s/]||isWaitChar(realtext[i,1]) # found a space
leftSearch += 1
i -= 1
end
# Search right for a space
i = half; while i<realtext.length
i = half
while i<realtext.length
break if realtext[i,1][/\s/]||isWaitChar(realtext[i,1]) # found a space
rightSearch += 1
i += 1