mirror of https://github.com/nmlgc/ReC98.git
[Reverse-engineering] [th02/th04/th05] Hardcoded spark sprites
As seen when killing stage enemies or grazing. Funded by -Tom-.
This commit is contained in:
parent
2ea2e0ddf9
commit
da284cacaf
|
@ -0,0 +1,51 @@
|
|||
; Draws the hardcoded spark sprite with the given ID, with ([x], [vram_y])
|
||||
; pointing to the top-left point. Assumptions:
|
||||
; • The GRCG is active, and set to the intended color
|
||||
; • [sprite_id] ≤ SPARK_SPRITES
|
||||
|
||||
; void pascal near spark_render(int x, int vram_y, int sprite_id);
|
||||
spark_render proc near
|
||||
@@sprite_id = word ptr 4
|
||||
@@vram_y = word ptr 6
|
||||
@@x = word ptr 8
|
||||
|
||||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
push di
|
||||
mov ax, GRAM_400
|
||||
mov es, ax
|
||||
mov bx, [bp+@@x]
|
||||
mov ax, bx
|
||||
sar ax, 3 ; x /= 8
|
||||
mov dx, [bp+@@vram_y]
|
||||
shl dx, 6 ; [vram_y] * 64
|
||||
add ax, dx
|
||||
shr dx, 2 ; (([vram_y] * 64) / 4) = [vram_y] * 16
|
||||
add ax, dx
|
||||
mov di, ax ; ([vram_y] * 64) + ([vram_y] * 16) = [vram_y * ROW_SIZE]
|
||||
mov ax, bx
|
||||
and ax, 7 ; [x] & 7
|
||||
shl ax, 7 ; *= SPARK_SIZE * SPARK_SPRITES (offset of X-shifted sprite)
|
||||
mov dx, [bp+@@sprite_id]
|
||||
shl dx, 4 ; sprite_ptr = [sprite_id] * SPARK_SIZE
|
||||
add ax, dx
|
||||
add ax, offset sSPARKS
|
||||
mov si, ax
|
||||
mov cx, SPARK_H
|
||||
|
||||
@@blit_loop:
|
||||
movsw
|
||||
add di, (ROW_SIZE - SPARK_VRAM_W)
|
||||
cmp di, (ROW_SIZE * RES_Y)
|
||||
jl short @@next_row
|
||||
sub di, (ROW_SIZE * RES_Y)
|
||||
|
||||
@@next_row:
|
||||
loop @@blit_loop
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
retn 6
|
||||
spark_render endp
|
||||
even
|
|
@ -0,0 +1,529 @@
|
|||
; 1bpp spark sprites, pre-shifted for all 8 possible X positions within a
|
||||
; single VRAM byte.
|
||||
SPARK_H = 8
|
||||
SPARK_VRAM_W = (16 / 8)
|
||||
SPARK_SIZE = (SPARK_VRAM_W * SPARK_H)
|
||||
SPARK_SPRITES = 8
|
||||
|
||||
public sSPARKS
|
||||
label sSPARKS byte
|
||||
; x + 0
|
||||
db 10000b, 0b
|
||||
db 10000b, 0b
|
||||
db 10000b, 0b
|
||||
db 11111b, 0b
|
||||
db 11111000b, 0b
|
||||
db 1000b, 0b
|
||||
db 1000b, 0b
|
||||
db 1000b, 0b
|
||||
db 1000000b, 0b
|
||||
db 100001b, 0b
|
||||
db 10010b, 0b
|
||||
db 11100b, 0b
|
||||
db 111000b, 0b
|
||||
db 1001000b, 0b
|
||||
db 10000100b, 0b
|
||||
db 10b, 0b
|
||||
db 0b, 0b
|
||||
db 1000010b, 0b
|
||||
db 100100b, 0b
|
||||
db 11000b, 0b
|
||||
db 11000b, 0b
|
||||
db 100100b, 0b
|
||||
db 1000010b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 100100b, 0b
|
||||
db 11000b, 0b
|
||||
db 11000b, 0b
|
||||
db 100100b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 1000000b, 0b
|
||||
db 100001b, 0b
|
||||
db 10010b, 0b
|
||||
db 11100b, 0b
|
||||
db 111000b, 0b
|
||||
db 1001000b, 0b
|
||||
db 10000100b, 0b
|
||||
db 10b, 0b
|
||||
db 0b, 0b
|
||||
db 1000010b, 0b
|
||||
db 100100b, 0b
|
||||
db 11000b, 0b
|
||||
db 11000b, 0b
|
||||
db 100100b, 0b
|
||||
db 1000010b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 100100b, 0b
|
||||
db 11000b, 0b
|
||||
db 11000b, 0b
|
||||
db 100100b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 111100b, 0b
|
||||
db 1000010b, 0b
|
||||
db 10000001b, 0b
|
||||
db 10011001b, 0b
|
||||
db 10011001b, 0b
|
||||
db 10000001b, 0b
|
||||
db 1000010b, 0b
|
||||
db 111100b, 0b
|
||||
; x + 1
|
||||
db 1000b, 0b
|
||||
db 1000b, 0b
|
||||
db 1000b, 0b
|
||||
db 1111b,10000000b
|
||||
db 1111100b, 0b
|
||||
db 100b, 0b
|
||||
db 100b, 0b
|
||||
db 100b, 0b
|
||||
db 100000b, 0b
|
||||
db 10000b,10000000b
|
||||
db 1001b, 0b
|
||||
db 1110b, 0b
|
||||
db 11100b, 0b
|
||||
db 100100b, 0b
|
||||
db 1000010b, 0b
|
||||
db 1b, 0b
|
||||
db 0b, 0b
|
||||
db 100001b, 0b
|
||||
db 10010b, 0b
|
||||
db 1100b, 0b
|
||||
db 1100b, 0b
|
||||
db 10010b, 0b
|
||||
db 100001b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 10010b, 0b
|
||||
db 1100b, 0b
|
||||
db 1100b, 0b
|
||||
db 10010b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 100000b, 0b
|
||||
db 10000b,10000000b
|
||||
db 1001b, 0b
|
||||
db 1110b, 0b
|
||||
db 11100b, 0b
|
||||
db 100100b, 0b
|
||||
db 1000010b, 0b
|
||||
db 1b, 0b
|
||||
db 0b, 0b
|
||||
db 100001b, 0b
|
||||
db 10010b, 0b
|
||||
db 1100b, 0b
|
||||
db 1100b, 0b
|
||||
db 10010b, 0b
|
||||
db 100001b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 10010b, 0b
|
||||
db 1100b, 0b
|
||||
db 1100b, 0b
|
||||
db 10010b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 11110b, 0b
|
||||
db 100001b, 0b
|
||||
db 1000000b,10000000b
|
||||
db 1001100b,10000000b
|
||||
db 1001100b,10000000b
|
||||
db 1000000b,10000000b
|
||||
db 100001b, 0b
|
||||
db 11110b, 0b
|
||||
; x + 2
|
||||
db 100b, 0b
|
||||
db 100b, 0b
|
||||
db 100b, 0b
|
||||
db 111b,11000000b
|
||||
db 111110b, 0b
|
||||
db 10b, 0b
|
||||
db 10b, 0b
|
||||
db 10b, 0b
|
||||
db 10000b, 0b
|
||||
db 1000b, 1000000b
|
||||
db 100b,10000000b
|
||||
db 111b, 0b
|
||||
db 1110b, 0b
|
||||
db 10010b, 0b
|
||||
db 100001b, 0b
|
||||
db 0b,10000000b
|
||||
db 0b, 0b
|
||||
db 10000b,10000000b
|
||||
db 1001b, 0b
|
||||
db 110b, 0b
|
||||
db 110b, 0b
|
||||
db 1001b, 0b
|
||||
db 10000b,10000000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 1001b, 0b
|
||||
db 110b, 0b
|
||||
db 110b, 0b
|
||||
db 1001b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 10000b, 0b
|
||||
db 1000b, 1000000b
|
||||
db 100b,10000000b
|
||||
db 111b, 0b
|
||||
db 1110b, 0b
|
||||
db 10010b, 0b
|
||||
db 100001b, 0b
|
||||
db 0b,10000000b
|
||||
db 0b, 0b
|
||||
db 10000b,10000000b
|
||||
db 1001b, 0b
|
||||
db 110b, 0b
|
||||
db 110b, 0b
|
||||
db 1001b, 0b
|
||||
db 10000b,10000000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 1001b, 0b
|
||||
db 110b, 0b
|
||||
db 110b, 0b
|
||||
db 1001b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 1111b, 0b
|
||||
db 10000b,10000000b
|
||||
db 100000b, 1000000b
|
||||
db 100110b, 1000000b
|
||||
db 100110b, 1000000b
|
||||
db 100000b, 1000000b
|
||||
db 10000b,10000000b
|
||||
db 1111b, 0b
|
||||
; x + 3
|
||||
db 10b, 0b
|
||||
db 10b, 0b
|
||||
db 10b, 0b
|
||||
db 11b,11100000b
|
||||
db 11111b, 0b
|
||||
db 1b, 0b
|
||||
db 1b, 0b
|
||||
db 1b, 0b
|
||||
db 1000b, 0b
|
||||
db 100b, 100000b
|
||||
db 10b, 1000000b
|
||||
db 11b,10000000b
|
||||
db 111b, 0b
|
||||
db 1001b, 0b
|
||||
db 10000b,10000000b
|
||||
db 0b, 1000000b
|
||||
db 0b, 0b
|
||||
db 1000b, 1000000b
|
||||
db 100b,10000000b
|
||||
db 11b, 0b
|
||||
db 11b, 0b
|
||||
db 100b,10000000b
|
||||
db 1000b, 1000000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 100b,10000000b
|
||||
db 11b, 0b
|
||||
db 11b, 0b
|
||||
db 100b,10000000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 1000b, 0b
|
||||
db 100b, 100000b
|
||||
db 10b, 1000000b
|
||||
db 11b,10000000b
|
||||
db 111b, 0b
|
||||
db 1001b, 0b
|
||||
db 10000b,10000000b
|
||||
db 0b, 1000000b
|
||||
db 0b, 0b
|
||||
db 1000b, 1000000b
|
||||
db 100b,10000000b
|
||||
db 11b, 0b
|
||||
db 11b, 0b
|
||||
db 100b,10000000b
|
||||
db 1000b, 1000000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 100b,10000000b
|
||||
db 11b, 0b
|
||||
db 11b, 0b
|
||||
db 100b,10000000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 111b,10000000b
|
||||
db 1000b, 1000000b
|
||||
db 10000b, 100000b
|
||||
db 10011b, 100000b
|
||||
db 10011b, 100000b
|
||||
db 10000b, 100000b
|
||||
db 1000b, 1000000b
|
||||
db 111b,10000000b
|
||||
; x + 4
|
||||
db 1b, 0b
|
||||
db 1b, 0b
|
||||
db 1b, 0b
|
||||
db 1b,11110000b
|
||||
db 1111b,10000000b
|
||||
db 0b,10000000b
|
||||
db 0b,10000000b
|
||||
db 0b,10000000b
|
||||
db 100b, 0b
|
||||
db 10b, 10000b
|
||||
db 1b, 100000b
|
||||
db 1b,11000000b
|
||||
db 11b,10000000b
|
||||
db 100b,10000000b
|
||||
db 1000b, 1000000b
|
||||
db 0b, 100000b
|
||||
db 0b, 0b
|
||||
db 100b, 100000b
|
||||
db 10b, 1000000b
|
||||
db 1b,10000000b
|
||||
db 1b,10000000b
|
||||
db 10b, 1000000b
|
||||
db 100b, 100000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 10b, 1000000b
|
||||
db 1b,10000000b
|
||||
db 1b,10000000b
|
||||
db 10b, 1000000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 100b, 0b
|
||||
db 10b, 10000b
|
||||
db 1b, 100000b
|
||||
db 1b,11000000b
|
||||
db 11b,10000000b
|
||||
db 100b,10000000b
|
||||
db 1000b, 1000000b
|
||||
db 0b, 100000b
|
||||
db 0b, 0b
|
||||
db 100b, 100000b
|
||||
db 10b, 1000000b
|
||||
db 1b,10000000b
|
||||
db 1b,10000000b
|
||||
db 10b, 1000000b
|
||||
db 100b, 100000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 10b, 1000000b
|
||||
db 1b,10000000b
|
||||
db 1b,10000000b
|
||||
db 10b, 1000000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 11b,11000000b
|
||||
db 100b, 100000b
|
||||
db 1000b, 10000b
|
||||
db 1001b,10010000b
|
||||
db 1001b,10010000b
|
||||
db 1000b, 10000b
|
||||
db 100b, 100000b
|
||||
db 11b,11000000b
|
||||
; x + 5
|
||||
db 0b,10000000b
|
||||
db 0b,10000000b
|
||||
db 0b,10000000b
|
||||
db 0b,11111000b
|
||||
db 111b,11000000b
|
||||
db 0b, 1000000b
|
||||
db 0b, 1000000b
|
||||
db 0b, 1000000b
|
||||
db 10b, 0b
|
||||
db 1b, 1000b
|
||||
db 0b,10010000b
|
||||
db 0b,11100000b
|
||||
db 1b,11000000b
|
||||
db 10b, 1000000b
|
||||
db 100b, 100000b
|
||||
db 0b, 10000b
|
||||
db 0b, 0b
|
||||
db 10b, 10000b
|
||||
db 1b, 100000b
|
||||
db 0b,11000000b
|
||||
db 0b,11000000b
|
||||
db 1b, 100000b
|
||||
db 10b, 10000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 1b, 100000b
|
||||
db 0b,11000000b
|
||||
db 0b,11000000b
|
||||
db 1b, 100000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 10b, 0b
|
||||
db 1b, 1000b
|
||||
db 0b,10010000b
|
||||
db 0b,11100000b
|
||||
db 1b,11000000b
|
||||
db 10b, 1000000b
|
||||
db 100b, 100000b
|
||||
db 0b, 10000b
|
||||
db 0b, 0b
|
||||
db 10b, 10000b
|
||||
db 1b, 100000b
|
||||
db 0b,11000000b
|
||||
db 0b,11000000b
|
||||
db 1b, 100000b
|
||||
db 10b, 10000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 1b, 100000b
|
||||
db 0b,11000000b
|
||||
db 0b,11000000b
|
||||
db 1b, 100000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 1b,11100000b
|
||||
db 10b, 10000b
|
||||
db 100b, 1000b
|
||||
db 100b,11001000b
|
||||
db 100b,11001000b
|
||||
db 100b, 1000b
|
||||
db 10b, 10000b
|
||||
db 1b,11100000b
|
||||
; x + 6
|
||||
db 0b, 1000000b
|
||||
db 0b, 1000000b
|
||||
db 0b, 1000000b
|
||||
db 0b, 1111100b
|
||||
db 11b,11100000b
|
||||
db 0b, 100000b
|
||||
db 0b, 100000b
|
||||
db 0b, 100000b
|
||||
db 1b, 0b
|
||||
db 0b,10000100b
|
||||
db 0b, 1001000b
|
||||
db 0b, 1110000b
|
||||
db 0b,11100000b
|
||||
db 1b, 100000b
|
||||
db 10b, 10000b
|
||||
db 0b, 1000b
|
||||
db 0b, 0b
|
||||
db 1b, 1000b
|
||||
db 0b,10010000b
|
||||
db 0b, 1100000b
|
||||
db 0b, 1100000b
|
||||
db 0b,10010000b
|
||||
db 1b, 1000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b,10010000b
|
||||
db 0b, 1100000b
|
||||
db 0b, 1100000b
|
||||
db 0b,10010000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 1b, 0b
|
||||
db 0b,10000100b
|
||||
db 0b, 1001000b
|
||||
db 0b, 1110000b
|
||||
db 0b,11100000b
|
||||
db 1b, 100000b
|
||||
db 10b, 10000b
|
||||
db 0b, 1000b
|
||||
db 0b, 0b
|
||||
db 1b, 1000b
|
||||
db 0b,10010000b
|
||||
db 0b, 1100000b
|
||||
db 0b, 1100000b
|
||||
db 0b,10010000b
|
||||
db 1b, 1000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b,10010000b
|
||||
db 0b, 1100000b
|
||||
db 0b, 1100000b
|
||||
db 0b,10010000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b,11110000b
|
||||
db 1b, 1000b
|
||||
db 10b, 100b
|
||||
db 10b, 1100100b
|
||||
db 10b, 1100100b
|
||||
db 10b, 100b
|
||||
db 1b, 1000b
|
||||
db 0b,11110000b
|
||||
; x + 7
|
||||
db 0b, 100000b
|
||||
db 0b, 100000b
|
||||
db 0b, 100000b
|
||||
db 0b, 111110b
|
||||
db 1b,11110000b
|
||||
db 0b, 10000b
|
||||
db 0b, 10000b
|
||||
db 0b, 10000b
|
||||
db 0b,10000000b
|
||||
db 0b, 1000010b
|
||||
db 0b, 100100b
|
||||
db 0b, 111000b
|
||||
db 0b, 1110000b
|
||||
db 0b,10010000b
|
||||
db 1b, 1000b
|
||||
db 0b, 100b
|
||||
db 0b, 0b
|
||||
db 0b,10000100b
|
||||
db 0b, 1001000b
|
||||
db 0b, 110000b
|
||||
db 0b, 110000b
|
||||
db 0b, 1001000b
|
||||
db 0b,10000100b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 1001000b
|
||||
db 0b, 110000b
|
||||
db 0b, 110000b
|
||||
db 0b, 1001000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b,10000000b
|
||||
db 0b, 1000010b
|
||||
db 0b, 100100b
|
||||
db 0b, 111000b
|
||||
db 0b, 1110000b
|
||||
db 0b,10010000b
|
||||
db 1b, 1000b
|
||||
db 0b, 100b
|
||||
db 0b, 0b
|
||||
db 0b,10000100b
|
||||
db 0b, 1001000b
|
||||
db 0b, 110000b
|
||||
db 0b, 110000b
|
||||
db 0b, 1001000b
|
||||
db 0b,10000100b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 1001000b
|
||||
db 0b, 110000b
|
||||
db 0b, 110000b
|
||||
db 0b, 1001000b
|
||||
db 0b, 0b
|
||||
db 0b, 0b
|
||||
db 0b, 1111000b
|
||||
db 0b,10000100b
|
||||
db 1b, 10b
|
||||
db 1b, 110010b
|
||||
db 1b, 110010b
|
||||
db 1b, 10b
|
||||
db 0b,10000100b
|
||||
db 0b, 1111000b
|
1080
th02_main.asm
1080
th02_main.asm
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,64 @@
|
|||
; Draws the hardcoded spark sprite with the given ID, with ([x], [vram_y])
|
||||
; pointing to the top-left point. Assumptions:
|
||||
; • ES is already be set to the beginning of a VRAM segment
|
||||
; • The GRCG is active, and set to the intended color
|
||||
|
||||
; void near fastcall spark_render(int x, int vram_y, int sprite_id);
|
||||
public @spark_render
|
||||
@spark_render proc near
|
||||
push si
|
||||
push di
|
||||
mov si, ax ; SI = [x]
|
||||
mov bx, dx ; BX = [vram_y]
|
||||
sar ax, 3 ; x / 8
|
||||
shl dx, 6 ; [vram_y] * 64
|
||||
add ax, dx
|
||||
shr dx, 2 ; (([vram_y] * 64) / 4) = [vram_y] * 16
|
||||
add ax, dx
|
||||
mov di, ax ; ([vram_y] * 64) + ([vram_y] * 16) = [vram_y * ROW_SIZE]
|
||||
and si, 7 ; [x] & 7
|
||||
mov ax, si
|
||||
shl si, 7 ; *= SPARK_SIZE * SPARK_SPRITES (offset of X-shifted sprite)
|
||||
add si, offset sSPARKS
|
||||
and cx, 7 ; & (SPARK_SPRITES - 1)
|
||||
shl cx, 4 ; * SPARK_SIZE
|
||||
add si, cx
|
||||
cmp bx, RES_Y - SPARK_H
|
||||
ja short @@ywrap_needed
|
||||
mov cx, SPARK_H ; CX = # of rows copied *before* Y wrap
|
||||
xor bx, bx ; BX = # of rows copied *after* Y wrap
|
||||
jmp short @@blit_loop
|
||||
|
||||
@@ywrap_needed:
|
||||
mov cx, RES_Y
|
||||
sub cx, bx
|
||||
mov bx, SPARK_H
|
||||
sub bx, cx
|
||||
|
||||
@@blit_loop:
|
||||
lodsw
|
||||
or ah, ah
|
||||
jz short @@8px
|
||||
mov es:[di], ax
|
||||
jmp short @@next_row
|
||||
|
||||
@@8px:
|
||||
or al, al
|
||||
jz short @@next_row
|
||||
mov es:[di], al
|
||||
|
||||
@@next_row:
|
||||
add di, ROW_SIZE
|
||||
loop @@blit_loop
|
||||
or bx, bx
|
||||
jz short @@ret
|
||||
sub di, (ROW_SIZE * RES_Y)
|
||||
xchg cx, bx
|
||||
jmp short @@blit_loop
|
||||
|
||||
@@ret:
|
||||
pop di
|
||||
pop si
|
||||
retn
|
||||
@spark_render endp
|
||||
even
|
1093
th04_main.asm
1093
th04_main.asm
File diff suppressed because it is too large
Load Diff
1094
th05_main.asm
1094
th05_main.asm
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue