You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-12-04 17:04:49 +00:00
550 lines
8.6 KiB
C++
550 lines
8.6 KiB
C++
/**************************************************************************/
|
|
/* betsy_bc1.h */
|
|
/**************************************************************************/
|
|
/* This file is part of: */
|
|
/* GODOT ENGINE */
|
|
/* https://godotengine.org */
|
|
/**************************************************************************/
|
|
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
|
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
|
/* */
|
|
/* Permission is hereby granted, free of charge, to any person obtaining */
|
|
/* a copy of this software and associated documentation files (the */
|
|
/* "Software"), to deal in the Software without restriction, including */
|
|
/* without limitation the rights to use, copy, modify, merge, publish, */
|
|
/* distribute, sublicense, and/or sell copies of the Software, and to */
|
|
/* permit persons to whom the Software is furnished to do so, subject to */
|
|
/* the following conditions: */
|
|
/* */
|
|
/* The above copyright notice and this permission notice shall be */
|
|
/* included in all copies or substantial portions of the Software. */
|
|
/* */
|
|
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
|
|
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
|
|
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
|
|
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
|
|
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
|
|
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
|
|
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
|
/**************************************************************************/
|
|
|
|
#pragma once
|
|
|
|
static unsigned char stb__OMatch5[256][2] = {
|
|
{ 0, 0 },
|
|
{ 0, 0 },
|
|
{ 0, 1 },
|
|
{ 0, 1 },
|
|
{ 1, 0 },
|
|
{ 1, 0 },
|
|
{ 1, 0 },
|
|
{ 1, 1 },
|
|
{ 1, 1 },
|
|
{ 2, 0 },
|
|
{ 2, 0 },
|
|
{ 0, 4 },
|
|
{ 2, 1 },
|
|
{ 2, 1 },
|
|
{ 2, 1 },
|
|
{ 3, 0 },
|
|
{ 3, 0 },
|
|
{ 3, 0 },
|
|
{ 3, 1 },
|
|
{ 1, 5 },
|
|
{ 3, 2 },
|
|
{ 3, 2 },
|
|
{ 4, 0 },
|
|
{ 4, 0 },
|
|
{ 4, 1 },
|
|
{ 4, 1 },
|
|
{ 4, 2 },
|
|
{ 4, 2 },
|
|
{ 4, 2 },
|
|
{ 3, 5 },
|
|
{ 5, 1 },
|
|
{ 5, 1 },
|
|
{ 5, 2 },
|
|
{ 4, 4 },
|
|
{ 5, 3 },
|
|
{ 5, 3 },
|
|
{ 5, 3 },
|
|
{ 6, 2 },
|
|
{ 6, 2 },
|
|
{ 6, 2 },
|
|
{ 6, 3 },
|
|
{ 5, 5 },
|
|
{ 6, 4 },
|
|
{ 6, 4 },
|
|
{ 4, 8 },
|
|
{ 7, 3 },
|
|
{ 7, 3 },
|
|
{ 7, 3 },
|
|
{ 7, 4 },
|
|
{ 7, 4 },
|
|
{ 7, 4 },
|
|
{ 7, 5 },
|
|
{ 5, 9 },
|
|
{ 7, 6 },
|
|
{ 7, 6 },
|
|
{ 8, 4 },
|
|
{ 8, 4 },
|
|
{ 8, 5 },
|
|
{ 8, 5 },
|
|
{ 8, 6 },
|
|
{ 8, 6 },
|
|
{ 8, 6 },
|
|
{ 7, 9 },
|
|
{ 9, 5 },
|
|
{ 9, 5 },
|
|
{ 9, 6 },
|
|
{ 8, 8 },
|
|
{ 9, 7 },
|
|
{ 9, 7 },
|
|
{ 9, 7 },
|
|
{ 10, 6 },
|
|
{ 10, 6 },
|
|
{ 10, 6 },
|
|
{ 10, 7 },
|
|
{ 9, 9 },
|
|
{ 10, 8 },
|
|
{ 10, 8 },
|
|
{ 8, 12 },
|
|
{ 11, 7 },
|
|
{ 11, 7 },
|
|
{ 11, 7 },
|
|
{ 11, 8 },
|
|
{ 11, 8 },
|
|
{ 11, 8 },
|
|
{ 11, 9 },
|
|
{ 9, 13 },
|
|
{ 11, 10 },
|
|
{ 11, 10 },
|
|
{ 12, 8 },
|
|
{ 12, 8 },
|
|
{ 12, 9 },
|
|
{ 12, 9 },
|
|
{ 12, 10 },
|
|
{ 12, 10 },
|
|
{ 12, 10 },
|
|
{ 11, 13 },
|
|
{ 13, 9 },
|
|
{ 13, 9 },
|
|
{ 13, 10 },
|
|
{ 12, 12 },
|
|
{ 13, 11 },
|
|
{ 13, 11 },
|
|
{ 13, 11 },
|
|
{ 14, 10 },
|
|
{ 14, 10 },
|
|
{ 14, 10 },
|
|
{ 14, 11 },
|
|
{ 13, 13 },
|
|
{ 14, 12 },
|
|
{ 14, 12 },
|
|
{ 12, 16 },
|
|
{ 15, 11 },
|
|
{ 15, 11 },
|
|
{ 15, 11 },
|
|
{ 15, 12 },
|
|
{ 15, 12 },
|
|
{ 15, 12 },
|
|
{ 15, 13 },
|
|
{ 13, 17 },
|
|
{ 15, 14 },
|
|
{ 15, 14 },
|
|
{ 16, 12 },
|
|
{ 16, 12 },
|
|
{ 16, 13 },
|
|
{ 16, 13 },
|
|
{ 16, 14 },
|
|
{ 16, 14 },
|
|
{ 16, 14 },
|
|
{ 15, 17 },
|
|
{ 17, 13 },
|
|
{ 17, 13 },
|
|
{ 17, 14 },
|
|
{ 16, 16 },
|
|
{ 17, 15 },
|
|
{ 17, 15 },
|
|
{ 17, 15 },
|
|
{ 18, 14 },
|
|
{ 18, 14 },
|
|
{ 18, 14 },
|
|
{ 18, 15 },
|
|
{ 17, 17 },
|
|
{ 18, 16 },
|
|
{ 18, 16 },
|
|
{ 16, 20 },
|
|
{ 19, 15 },
|
|
{ 19, 15 },
|
|
{ 19, 15 },
|
|
{ 19, 16 },
|
|
{ 19, 16 },
|
|
{ 19, 16 },
|
|
{ 19, 17 },
|
|
{ 17, 21 },
|
|
{ 19, 18 },
|
|
{ 19, 18 },
|
|
{ 20, 16 },
|
|
{ 20, 16 },
|
|
{ 20, 17 },
|
|
{ 20, 17 },
|
|
{ 20, 18 },
|
|
{ 20, 18 },
|
|
{ 20, 18 },
|
|
{ 19, 21 },
|
|
{ 21, 17 },
|
|
{ 21, 17 },
|
|
{ 21, 18 },
|
|
{ 20, 20 },
|
|
{ 21, 19 },
|
|
{ 21, 19 },
|
|
{ 21, 19 },
|
|
{ 22, 18 },
|
|
{ 22, 18 },
|
|
{ 22, 18 },
|
|
{ 22, 19 },
|
|
{ 21, 21 },
|
|
{ 22, 20 },
|
|
{ 22, 20 },
|
|
{ 20, 24 },
|
|
{ 23, 19 },
|
|
{ 23, 19 },
|
|
{ 23, 19 },
|
|
{ 23, 20 },
|
|
{ 23, 20 },
|
|
{ 23, 20 },
|
|
{ 23, 21 },
|
|
{ 21, 25 },
|
|
{ 23, 22 },
|
|
{ 23, 22 },
|
|
{ 24, 20 },
|
|
{ 24, 20 },
|
|
{ 24, 21 },
|
|
{ 24, 21 },
|
|
{ 24, 22 },
|
|
{ 24, 22 },
|
|
{ 24, 22 },
|
|
{ 23, 25 },
|
|
{ 25, 21 },
|
|
{ 25, 21 },
|
|
{ 25, 22 },
|
|
{ 24, 24 },
|
|
{ 25, 23 },
|
|
{ 25, 23 },
|
|
{ 25, 23 },
|
|
{ 26, 22 },
|
|
{ 26, 22 },
|
|
{ 26, 22 },
|
|
{ 26, 23 },
|
|
{ 25, 25 },
|
|
{ 26, 24 },
|
|
{ 26, 24 },
|
|
{ 24, 28 },
|
|
{ 27, 23 },
|
|
{ 27, 23 },
|
|
{ 27, 23 },
|
|
{ 27, 24 },
|
|
{ 27, 24 },
|
|
{ 27, 24 },
|
|
{ 27, 25 },
|
|
{ 25, 29 },
|
|
{ 27, 26 },
|
|
{ 27, 26 },
|
|
{ 28, 24 },
|
|
{ 28, 24 },
|
|
{ 28, 25 },
|
|
{ 28, 25 },
|
|
{ 28, 26 },
|
|
{ 28, 26 },
|
|
{ 28, 26 },
|
|
{ 27, 29 },
|
|
{ 29, 25 },
|
|
{ 29, 25 },
|
|
{ 29, 26 },
|
|
{ 28, 28 },
|
|
{ 29, 27 },
|
|
{ 29, 27 },
|
|
{ 29, 27 },
|
|
{ 30, 26 },
|
|
{ 30, 26 },
|
|
{ 30, 26 },
|
|
{ 30, 27 },
|
|
{ 29, 29 },
|
|
{ 30, 28 },
|
|
{ 30, 28 },
|
|
{ 30, 28 },
|
|
{ 31, 27 },
|
|
{ 31, 27 },
|
|
{ 31, 27 },
|
|
{ 31, 28 },
|
|
{ 31, 28 },
|
|
{ 31, 28 },
|
|
{ 31, 29 },
|
|
{ 31, 29 },
|
|
{ 31, 30 },
|
|
{ 31, 30 },
|
|
{ 31, 30 },
|
|
{ 31, 31 },
|
|
{ 31, 31 },
|
|
};
|
|
|
|
static unsigned char stb__OMatch6[256][2] = {
|
|
{ 0, 0 },
|
|
{ 0, 1 },
|
|
{ 1, 0 },
|
|
{ 1, 0 },
|
|
{ 1, 1 },
|
|
{ 2, 0 },
|
|
{ 2, 1 },
|
|
{ 3, 0 },
|
|
{ 3, 0 },
|
|
{ 3, 1 },
|
|
{ 4, 0 },
|
|
{ 4, 0 },
|
|
{ 4, 1 },
|
|
{ 5, 0 },
|
|
{ 5, 1 },
|
|
{ 6, 0 },
|
|
{ 6, 0 },
|
|
{ 6, 1 },
|
|
{ 7, 0 },
|
|
{ 7, 0 },
|
|
{ 7, 1 },
|
|
{ 8, 0 },
|
|
{ 8, 1 },
|
|
{ 8, 1 },
|
|
{ 8, 2 },
|
|
{ 9, 1 },
|
|
{ 9, 2 },
|
|
{ 9, 2 },
|
|
{ 9, 3 },
|
|
{ 10, 2 },
|
|
{ 10, 3 },
|
|
{ 10, 3 },
|
|
{ 10, 4 },
|
|
{ 11, 3 },
|
|
{ 11, 4 },
|
|
{ 11, 4 },
|
|
{ 11, 5 },
|
|
{ 12, 4 },
|
|
{ 12, 5 },
|
|
{ 12, 5 },
|
|
{ 12, 6 },
|
|
{ 13, 5 },
|
|
{ 13, 6 },
|
|
{ 8, 16 },
|
|
{ 13, 7 },
|
|
{ 14, 6 },
|
|
{ 14, 7 },
|
|
{ 9, 17 },
|
|
{ 14, 8 },
|
|
{ 15, 7 },
|
|
{ 15, 8 },
|
|
{ 11, 16 },
|
|
{ 15, 9 },
|
|
{ 15, 10 },
|
|
{ 16, 8 },
|
|
{ 16, 9 },
|
|
{ 16, 10 },
|
|
{ 15, 13 },
|
|
{ 17, 9 },
|
|
{ 17, 10 },
|
|
{ 17, 11 },
|
|
{ 15, 16 },
|
|
{ 18, 10 },
|
|
{ 18, 11 },
|
|
{ 18, 12 },
|
|
{ 16, 16 },
|
|
{ 19, 11 },
|
|
{ 19, 12 },
|
|
{ 19, 13 },
|
|
{ 17, 17 },
|
|
{ 20, 12 },
|
|
{ 20, 13 },
|
|
{ 20, 14 },
|
|
{ 19, 16 },
|
|
{ 21, 13 },
|
|
{ 21, 14 },
|
|
{ 21, 15 },
|
|
{ 20, 17 },
|
|
{ 22, 14 },
|
|
{ 22, 15 },
|
|
{ 25, 10 },
|
|
{ 22, 16 },
|
|
{ 23, 15 },
|
|
{ 23, 16 },
|
|
{ 26, 11 },
|
|
{ 23, 17 },
|
|
{ 24, 16 },
|
|
{ 24, 17 },
|
|
{ 27, 12 },
|
|
{ 24, 18 },
|
|
{ 25, 17 },
|
|
{ 25, 18 },
|
|
{ 28, 13 },
|
|
{ 25, 19 },
|
|
{ 26, 18 },
|
|
{ 26, 19 },
|
|
{ 29, 14 },
|
|
{ 26, 20 },
|
|
{ 27, 19 },
|
|
{ 27, 20 },
|
|
{ 30, 15 },
|
|
{ 27, 21 },
|
|
{ 28, 20 },
|
|
{ 28, 21 },
|
|
{ 28, 21 },
|
|
{ 28, 22 },
|
|
{ 29, 21 },
|
|
{ 29, 22 },
|
|
{ 24, 32 },
|
|
{ 29, 23 },
|
|
{ 30, 22 },
|
|
{ 30, 23 },
|
|
{ 25, 33 },
|
|
{ 30, 24 },
|
|
{ 31, 23 },
|
|
{ 31, 24 },
|
|
{ 27, 32 },
|
|
{ 31, 25 },
|
|
{ 31, 26 },
|
|
{ 32, 24 },
|
|
{ 32, 25 },
|
|
{ 32, 26 },
|
|
{ 31, 29 },
|
|
{ 33, 25 },
|
|
{ 33, 26 },
|
|
{ 33, 27 },
|
|
{ 31, 32 },
|
|
{ 34, 26 },
|
|
{ 34, 27 },
|
|
{ 34, 28 },
|
|
{ 32, 32 },
|
|
{ 35, 27 },
|
|
{ 35, 28 },
|
|
{ 35, 29 },
|
|
{ 33, 33 },
|
|
{ 36, 28 },
|
|
{ 36, 29 },
|
|
{ 36, 30 },
|
|
{ 35, 32 },
|
|
{ 37, 29 },
|
|
{ 37, 30 },
|
|
{ 37, 31 },
|
|
{ 36, 33 },
|
|
{ 38, 30 },
|
|
{ 38, 31 },
|
|
{ 41, 26 },
|
|
{ 38, 32 },
|
|
{ 39, 31 },
|
|
{ 39, 32 },
|
|
{ 42, 27 },
|
|
{ 39, 33 },
|
|
{ 40, 32 },
|
|
{ 40, 33 },
|
|
{ 43, 28 },
|
|
{ 40, 34 },
|
|
{ 41, 33 },
|
|
{ 41, 34 },
|
|
{ 44, 29 },
|
|
{ 41, 35 },
|
|
{ 42, 34 },
|
|
{ 42, 35 },
|
|
{ 45, 30 },
|
|
{ 42, 36 },
|
|
{ 43, 35 },
|
|
{ 43, 36 },
|
|
{ 46, 31 },
|
|
{ 43, 37 },
|
|
{ 44, 36 },
|
|
{ 44, 37 },
|
|
{ 44, 37 },
|
|
{ 44, 38 },
|
|
{ 45, 37 },
|
|
{ 45, 38 },
|
|
{ 40, 48 },
|
|
{ 45, 39 },
|
|
{ 46, 38 },
|
|
{ 46, 39 },
|
|
{ 41, 49 },
|
|
{ 46, 40 },
|
|
{ 47, 39 },
|
|
{ 47, 40 },
|
|
{ 43, 48 },
|
|
{ 47, 41 },
|
|
{ 47, 42 },
|
|
{ 48, 40 },
|
|
{ 48, 41 },
|
|
{ 48, 42 },
|
|
{ 47, 45 },
|
|
{ 49, 41 },
|
|
{ 49, 42 },
|
|
{ 49, 43 },
|
|
{ 47, 48 },
|
|
{ 50, 42 },
|
|
{ 50, 43 },
|
|
{ 50, 44 },
|
|
{ 48, 48 },
|
|
{ 51, 43 },
|
|
{ 51, 44 },
|
|
{ 51, 45 },
|
|
{ 49, 49 },
|
|
{ 52, 44 },
|
|
{ 52, 45 },
|
|
{ 52, 46 },
|
|
{ 51, 48 },
|
|
{ 53, 45 },
|
|
{ 53, 46 },
|
|
{ 53, 47 },
|
|
{ 52, 49 },
|
|
{ 54, 46 },
|
|
{ 54, 47 },
|
|
{ 57, 42 },
|
|
{ 54, 48 },
|
|
{ 55, 47 },
|
|
{ 55, 48 },
|
|
{ 58, 43 },
|
|
{ 55, 49 },
|
|
{ 56, 48 },
|
|
{ 56, 49 },
|
|
{ 59, 44 },
|
|
{ 56, 50 },
|
|
{ 57, 49 },
|
|
{ 57, 50 },
|
|
{ 60, 45 },
|
|
{ 57, 51 },
|
|
{ 58, 50 },
|
|
{ 58, 51 },
|
|
{ 61, 46 },
|
|
{ 58, 52 },
|
|
{ 59, 51 },
|
|
{ 59, 52 },
|
|
{ 62, 47 },
|
|
{ 59, 53 },
|
|
{ 60, 52 },
|
|
{ 60, 53 },
|
|
{ 60, 53 },
|
|
{ 60, 54 },
|
|
{ 61, 53 },
|
|
{ 61, 54 },
|
|
{ 61, 54 },
|
|
{ 61, 55 },
|
|
{ 62, 54 },
|
|
{ 62, 55 },
|
|
{ 62, 55 },
|
|
{ 62, 56 },
|
|
{ 63, 55 },
|
|
{ 63, 56 },
|
|
{ 63, 56 },
|
|
{ 63, 57 },
|
|
{ 63, 58 },
|
|
{ 63, 59 },
|
|
{ 63, 59 },
|
|
{ 63, 60 },
|
|
{ 63, 61 },
|
|
{ 63, 62 },
|
|
{ 63, 62 },
|
|
{ 63, 63 },
|
|
};
|