Merge branch 'master' of https://github.com/tildearrow/furnace into command-palette
1
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
*.sfd text
|
||||
1
.gitignore
vendored
|
|
@ -27,3 +27,4 @@ extern/imgui_patched/examples/
|
|||
src/asm/68k/amigatest/*.bin
|
||||
src/asm/68k/amigatest/player
|
||||
res/binary_to_compressed_c
|
||||
res/binary_to_compressed_c.exe
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ android {
|
|||
}
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 26
|
||||
versionCode 162
|
||||
versionName "0.6pre7"
|
||||
versionCode 166
|
||||
versionName "0.6pre8"
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
arguments "-DANDROID_APP_PLATFORM=android-21", "-DANDROID_STL=c++_static", "-DWARNINGS_ARE_ERRORS=ON"
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.tildearrow.furnace"
|
||||
android:versionCode="162"
|
||||
android:versionName="0.6pre7"
|
||||
android:versionCode="166"
|
||||
android:versionName="0.6pre8"
|
||||
android:installLocation="auto">
|
||||
|
||||
<!-- OpenGL ES 2.0 -->
|
||||
|
|
|
|||
BIN
demos/gameboy/Pleasure_of_Tension.fur
Normal file
BIN
demos/gameboy/cheap.fur
Normal file
BIN
demos/gameboy/dancing_to_the_death.fur
Normal file
BIN
demos/gameboy/lagtrain.fur
Normal file
BIN
demos/nes/one_sided_love.fur
Normal file
BIN
demos/opl/DASH.fur
Normal file
BIN
demos/opl/the_foggy_cave_in_the_darkness.fur
Normal file
BIN
demos/sms/gg_silver_surfer_st1.fur
Normal file
BIN
demos/sms/gg_soniccd_collision_chaos.fur
Normal file
|
|
@ -6,9 +6,14 @@ the default layout of Furnace is depicted below.
|
|||
|
||||

|
||||
|
||||
primary topics:
|
||||
## general info
|
||||
|
||||
- [UI components](components.md): recommended reading for all!
|
||||
- [global keyboard shortcuts](keyboard.md)
|
||||
- [menu bar](menu-bar.md)
|
||||
|
||||
## primary windows
|
||||
|
||||
- [order list](order-list.md)
|
||||
- [play/edit controls](play-edit-controls.md)
|
||||
- [instrument/wavetable/sample list](asset-list.md)
|
||||
|
|
@ -19,7 +24,7 @@ primary topics:
|
|||
- [wavetable editor](../5-wave/README.md)
|
||||
- [sample editor](../6-sample/README.md)
|
||||
|
||||
advanced topics:
|
||||
## advanced topics
|
||||
|
||||
- [mixer](../8-advanced/mixer.md)
|
||||
- [grooves](../8-advanced/grooves.md)
|
||||
|
|
@ -36,9 +41,7 @@ advanced topics:
|
|||
- [log viewer](../8-advanced/log-viewer.md)
|
||||
- [statistics](../8-advanced/stats.md)
|
||||
|
||||
other topics:
|
||||
## other topics
|
||||
|
||||
- [settings](../2-interface/settings.md)
|
||||
- [UI components](components.md)
|
||||
- [global keyboard shortcuts](keyboard.md)
|
||||
- [basic mode](basic-mode.md)
|
||||
- [settings](../2-interface/settings.md)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,35 @@
|
|||
# UI components
|
||||
|
||||
the user interface consists of several components. this paper describes some of them.
|
||||
the user interface consists of several kinds of components, some of which benefit from explanation.
|
||||
|
||||
## text fields
|
||||
|
||||
text fields are able to hold... text.
|
||||
|
||||
click on a text field to start editing, and click away to stop editing.
|
||||
|
||||
the following keyboard shortcuts work while on a text field:
|
||||
|
||||
- `Ctrl-X`: cut
|
||||
- `Ctrl-C`: copy
|
||||
- `Ctrl-V`: paste
|
||||
- `Ctrl-A`: select all
|
||||
|
||||
(replace Ctrl with Command on macOS)
|
||||
|
||||
## number input fields
|
||||
|
||||
these work similar to text fields, but you may only input numbers.
|
||||
|
||||
they also usually have `+` and `-` buttons which allow you to increase/decrease the amount when clicked (and rapidly do so when click-holding).
|
||||
|
||||
## sliders
|
||||
|
||||
sliders are used for controlling values in a quick manner by being dragged.
|
||||
|
||||
using the scroll wheel while holding Ctrl will change the slider's value by small amounts.
|
||||
|
||||
right-clicking or Ctrl-clicking or a slider (Command-click on macOS) will turn it into a number input field for a short period of time, allowing you to input precise values.
|
||||
|
||||
## windows
|
||||
|
||||
|
|
@ -16,7 +45,7 @@ to resize a window, drag the bottom right corner (marked by a triangular tab) or
|
|||
to collapse a window, click on the triangle in the title bar.
|
||||
clicking again expands it.
|
||||
|
||||
to close a window, click on the `X` at the top right corner.
|
||||
to close a window, click on the `X` at the top right corner, or select it from the "window" menu.
|
||||
|
||||
### arrangement and docking
|
||||
|
||||
|
|
@ -55,30 +84,3 @@ selecting this option will hide the tab bar of that window.
|
|||
to bring it back, click on the top left corner.
|
||||
|
||||
to undock a window, drag its tab away from where it is docked. then it will be floating again.
|
||||
|
||||
## text fields
|
||||
|
||||
text fields are able to hold... text.
|
||||
|
||||
click on a text field to start editing, and click away to stop editing.
|
||||
|
||||
the following keyboard shortcuts work while on a text field:
|
||||
|
||||
- `Ctrl-X`: cut
|
||||
- `Ctrl-C`: copy
|
||||
- `Ctrl-V`: paste
|
||||
- `Ctrl-A`: select all
|
||||
|
||||
(replace Ctrl with Command on macOS)
|
||||
|
||||
## number input fields
|
||||
|
||||
these work similar to text fields, but you may only input numbers.
|
||||
|
||||
they also usually have two buttons which allow you to increase/decrease the amount when clicked (and rapidly do so when click-holding).
|
||||
|
||||
## sliders
|
||||
|
||||
sliders are used for controlling values in a quick manner by being dragged.
|
||||
|
||||
alternatively, right-clicking or Ctrl-clicking or a slider (Command-click on macOS) will turn it into a number input field for a short period of time, allowing you to input fine values.
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 362 KiB After Width: | Height: | Size: 377 KiB |
|
Before Width: | Height: | Size: 368 KiB After Width: | Height: | Size: 435 KiB |
|
|
@ -27,6 +27,10 @@ settings are saved when clicking the **OK** button at the bottom of the dialog.
|
|||
- **Save unused patterns**
|
||||
- **Use new pattern format when saving**
|
||||
- **Don't apply compatibility flags when loading .dmf**
|
||||
- **Play after opening song:**
|
||||
- No
|
||||
- Only if already playing
|
||||
- Yes
|
||||
- **Audio export loop/fade out time:**
|
||||
- **Set to these values on start-up:**
|
||||
- **Loops**: number of additional times to play through `0Bxx` song loop.
|
||||
|
|
@ -41,7 +45,7 @@ settings are saved when clicking the **OK** button at the bottom of the dialog.
|
|||
- this will not choose a random system at each start.
|
||||
- **Reset to defaults**: sets default to "Sega Genesis/Mega Drive".
|
||||
- **Name**: name for the default system. may be set to any text.
|
||||
- **Configure:**: same as in the [chip manager](../8-advanced/chip-manager.md) and [mixer](../8-advanced/mixer.md).
|
||||
- **Configure**: same as in the [chip manager](../8-advanced/chip-manager.md) and [mixer](../8-advanced/mixer.md).
|
||||
- **When creating new song**:
|
||||
- **Display system preset selector**
|
||||
- **Start with initial system**
|
||||
|
|
@ -174,7 +178,10 @@ settings are saved when clicking the **OK** button at the bottom of the dialog.
|
|||
**FDS core**\
|
||||
**SID core**\
|
||||
**POKEY core**\
|
||||
**OPN/OPNA/OPNB cores**: all of these are covered in the [guide to choosing emulation cores](../9-guides/emulation-cores.md).
|
||||
**OPN/OPNA/OPNB cores**:
|
||||
- **Playback Core(s)**: core(s) to use for realtime playback.
|
||||
- **Render Core(s)**: core(s) to use for exporting audio.
|
||||
- all of these are covered in the [guide to choosing emulation cores](../9-guides/emulation-cores.md).
|
||||
|
||||
- **PC Speaker strategy**: this is covered in the [PC speaker system doc](../7-systems/pcspkr.md).
|
||||
|
||||
|
|
@ -209,6 +216,7 @@ settings are saved when clicking the **OK** button at the bottom of the dialog.
|
|||
- **Allow docking editors**
|
||||
- **Remember window position**: remembers the window's last position on start-up.
|
||||
- **Only allow window movement when clicking on title bar**
|
||||
- **Center pop-up windows**
|
||||
- **Play/edit controls layout:**
|
||||
- **Classic**
|
||||
- **Compact**
|
||||
|
|
@ -324,6 +332,7 @@ settings are saved when clicking the **OK** button at the bottom of the dialog.
|
|||
- **File path**
|
||||
- **Cursor details or file path**
|
||||
- **Nothing**
|
||||
- **Capitalize menu bar**
|
||||
|
||||
### Orders
|
||||
|
||||
|
|
@ -396,6 +405,7 @@ settings are saved when clicking the **OK** button at the bottom of the dialog.
|
|||
- **Horizontal instrument list**: when there are more instruments than there is room to display them...
|
||||
- if on, scroll horizontally through multiple columns.
|
||||
- if off, scroll vertically in one long column.
|
||||
- only appears if "Unified instrument/wavetable/sample list" is off.
|
||||
- **Instrument list icon style:**
|
||||
- **None**
|
||||
- **Graphical icons**
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 128 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 58 KiB |
11
doc/4-instrument/wsg.md
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# Namco WSG instrument editor
|
||||
|
||||
The Namco WSG/C15/C30 instrument editor consists of these macros:
|
||||
|
||||
- **Volume**: volume sequence
|
||||
- **Arpeggio**: pitch sequence
|
||||
- **Waveform**: specifies wavetable sequence
|
||||
- **Noise**: specifies noise pitch (WARNING: only on C30!)
|
||||
- **Panning (left)**: output level of left channel
|
||||
- **Panning (right)**: output level of right channel
|
||||
- **Pitch**: fine pitch
|
||||
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 164 KiB After Width: | Height: | Size: 165 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 15 KiB |
|
|
@ -1,36 +1,36 @@
|
|||
# choosing emulation cores
|
||||
|
||||
Furnace achieves the authentic sound of videogame hardware by emulating sound chips accurately as possible, using **emulator cores**. in some cases there are multiple cores to choose from, each with different strengths and weaknesses. here are the major differences between them all.
|
||||
Furnace achieves the authentic sound of videogame hardware by emulating sound chips as accurately as possible, using **emulator cores**. in some cases there are multiple cores to choose from, each with different strengths and weaknesses. here are the major differences between them all.
|
||||
|
||||
- **Arcade/YM2151 core**:
|
||||
- **ymfm**: default. much less CPU usage than Nuked-OPM, but less accurate. recommended for users with last-gen or earlier hardware.
|
||||
- **Nuked-OPM**: much more accurate than ymfm, due to the emulator being based on an image of the die map taken from a real YM2151. very CPU heavy, only recommended for users with recent hardware.
|
||||
- **ymfm**: default playback core. much less CPU usage than Nuked-OPM, but less accurate. recommended for users with last-gen or earlier hardware.
|
||||
- **Nuked-OPM**: default render core. much more accurate than ymfm, due to the emulator being based on an image of the die map taken from a real YM2151. very CPU heavy, only recommended for users with recent hardware.
|
||||
|
||||
- **Genesis/YM2612 core**:
|
||||
- **Nuked-OPN2**: default. a little lighter on the CPU than Nuked-OPM.
|
||||
- **Nuked-OPN2**: default core. a little lighter on the CPU than Nuked-OPM.
|
||||
- **ymfm**: same as ymfm above.
|
||||
|
||||
- **SN76489 core**:
|
||||
- **MAME**: default. less accurate than Nuked, but with lower CPU usage. comes from the MAME emulator project.
|
||||
- **MAME**: default core. less accurate than Nuked, but with lower CPU usage. comes from the MAME emulator project.
|
||||
- **Nuked-PSG Mod**: more accurate, but not by that much. this originally started as an emulator for the YM7101 PSG sound generator, but was modified to emulate the SN7 as the MAME core was deemed unsatisfactory by some.
|
||||
|
||||
- **NES core**:
|
||||
- **puNES**: default. it comes from a dedicated NES emulator.
|
||||
- **puNES**: default core. it comes from a dedicated NES emulator.
|
||||
- **NSFplay**: higher CPU usage than puNES.
|
||||
|
||||
- **FDS core**:
|
||||
- **puNES**: default. lower CPU usage and far less accurate.
|
||||
- **NSFplay**: higher CPU usage and much more accurate.
|
||||
- **puNES**: default playback core. lower CPU usage and far less accurate.
|
||||
- **NSFplay**: default render core. higher CPU usage and much more accurate.
|
||||
|
||||
- **SID core**:
|
||||
- **reSID**: default. a high quality emulation core. somewhat CPU heavy.
|
||||
- **reSIDfp**: improved version of reSID. the most accurate choice. _extremely_ CPU heavy.
|
||||
- **reSID**: default playback core. a high quality emulation core. somewhat CPU heavy.
|
||||
- **reSIDfp**: default render core. improved version of reSID. the most accurate choice. _extremely_ CPU heavy.
|
||||
- **dSID**: a lightweight open-source core used in DefleMask. not so accurate but it's very CPU light.
|
||||
|
||||
- **POKEY core**:
|
||||
- **Atari800 (mzpokeysnd)**: does not emulate two-tone mode.
|
||||
- **ASAP (C++ port)**: default. the sound core used in the ASAP player. most accurate option.
|
||||
- **ASAP (C++ port)**: default core. the sound core used in the ASAP player. most accurate option.
|
||||
|
||||
- **OPN/OPNA/OPNB cores**:
|
||||
- **ymfm only**: lower CPU usage, less accurate FM.
|
||||
- **Nuked-OPN2 (FM) + ymfm (SSG/ADPCM)**: default. more accurate FM at the cost of more CPU load.
|
||||
- **Nuked-OPN2 (FM) + ymfm (SSG/ADPCM)**: default cores. more accurate FM at the cost of more CPU load.
|
||||
|
|
|
|||
2
extern/fmt
vendored
|
|
@ -1 +1 @@
|
|||
Subproject commit afbcf1e8eafc5d7f27e29c7397f22521eaa33fac
|
||||
Subproject commit e57ca2e3685b160617d3d95fcd9e789c4e06ca88
|
||||
9
extern/igfd/ImGuiFileDialog.cpp
vendored
|
|
@ -3880,6 +3880,7 @@ namespace IGFD
|
|||
|
||||
float posY = ImGui::GetCursorPos().y; // height of last bar calc
|
||||
|
||||
ImGui::AlignTextToFramePadding();
|
||||
if (!fdFile.puDLGDirectoryMode)
|
||||
ImGui::Text(fileNameString);
|
||||
else // directory chooser
|
||||
|
|
@ -3913,8 +3914,9 @@ namespace IGFD
|
|||
prFileDialogInternal.puIsOk = true;
|
||||
res = true;
|
||||
}
|
||||
ImGui::EndDisabled();
|
||||
if (!(prFileDialogInternal.puCanWeContinue && notEmpty && fileValid==0)) {
|
||||
if (ImGui::IsItemHovered()) {
|
||||
if (ImGui::IsItemHovered(ImGuiHoveredFlags_AllowWhenDisabled)) {
|
||||
if (!notEmpty) {
|
||||
if (prFileDialogInternal.puDLGflags&ImGuiFileDialogFlags_ConfirmOverwrite) {
|
||||
ImGui::SetTooltip("file name is empty");
|
||||
|
|
@ -3925,7 +3927,11 @@ namespace IGFD
|
|||
ImGui::SetTooltip("we can't continue - this is most likely a bug!");
|
||||
} else switch (fileValid) {
|
||||
case 1:
|
||||
#ifdef _WIN32
|
||||
ImGui::SetTooltip("invalid characters in file name\nmake sure there aren't any of these:\n < > : \" / \\ | ? *");
|
||||
#else
|
||||
ImGui::SetTooltip("invalid characters in file name\nmake sure there aren't any slashes (/)");
|
||||
#endif
|
||||
break;
|
||||
case 2:
|
||||
ImGui::SetTooltip("this file name is reserved by the system");
|
||||
|
|
@ -3939,7 +3945,6 @@ namespace IGFD
|
|||
}
|
||||
}
|
||||
}
|
||||
ImGui::EndDisabled();
|
||||
|
||||
ImGui::SameLine();
|
||||
|
||||
|
|
|
|||
48
extern/igfd/dirent/dirent.h
vendored
|
|
@ -1114,11 +1114,20 @@ static int u8to16s(wchar_t* dest, const char* src, size_t limit) {
|
|||
int ch, p;
|
||||
char chs;
|
||||
p=0;
|
||||
while (src[p]!=0 && ret<limit) {
|
||||
while (src[p]!=0 && ret<limit-1) {
|
||||
ch=decodeUTF8s((const unsigned char*)&src[p],&chs);
|
||||
dest[ret++]=(unsigned short)ch;
|
||||
// surrogates
|
||||
if (ch>=0x10000) {
|
||||
ch-=0x10000;
|
||||
if (ret+1>=limit-1) break;
|
||||
dest[ret++]=(unsigned short)(0xd800|((ch>>10)&0x3ff));
|
||||
dest[ret++]=(unsigned short)(0xdc00|(ch&0x3ff));
|
||||
} else if (ch<0xd800 || ch>0xdfff) {
|
||||
dest[ret++]=(unsigned short)ch;
|
||||
}
|
||||
p+=chs;
|
||||
}
|
||||
dest[ret]=0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
@ -1176,19 +1185,34 @@ dirent_mbstowcs_s(
|
|||
|
||||
static int u16to8s(char* dest, const wchar_t* src, size_t limit) {
|
||||
size_t ret=0;
|
||||
unsigned int next=0;
|
||||
for (; (*src)!=0; src++) {
|
||||
if ((*src)<0x80) {
|
||||
if (ret+1>=limit-1) break;
|
||||
dest[ret++]=(*src);
|
||||
} else if ((*src)<0x800) {
|
||||
if (ret+2>=limit-1) break;
|
||||
dest[ret++]=(0xc0+(((*src)>>6)&31));
|
||||
dest[ret++]=(0x80+((*src)&63));
|
||||
if ((*src)>=0xd800 && (*src)<0xdc00) {
|
||||
next=0x10000+(((*src)&0x3ff)<<10);
|
||||
continue;
|
||||
} else if ((*src)>=0xdc00 && (*src)<0xe000) {
|
||||
next|=(*src)&0x3ff;
|
||||
} else {
|
||||
next=(*src);
|
||||
}
|
||||
if (next<0x80) {
|
||||
if (ret+1>=limit-1) break;
|
||||
dest[ret++]=next;
|
||||
} else if (next<0x800) {
|
||||
if (ret+2>=limit-1) break;
|
||||
dest[ret++]=(0xc0+((next>>6)&31));
|
||||
dest[ret++]=(0x80+(next&63));
|
||||
} else if (next<0x10000) {
|
||||
if (ret+3>=limit-1) break;
|
||||
dest[ret++]=(0xe0+(((*src)>>12)&15));
|
||||
dest[ret++]=(0x80+(((*src)>>6)&63));
|
||||
dest[ret++]=(0x80+((*src)&63));
|
||||
dest[ret++]=(0xe0+((next>>12)&15));
|
||||
dest[ret++]=(0x80+((next>>6)&63));
|
||||
dest[ret++]=(0x80+(next&63));
|
||||
} else {
|
||||
if (ret+4>=limit-1) break;
|
||||
dest[ret++]=(0xf0+((next>>18)&7));
|
||||
dest[ret++]=(0x80+((next>>12)&63));
|
||||
dest[ret++]=(0x80+((next>>6)&63));
|
||||
dest[ret++]=(0x80+(next&63));
|
||||
}
|
||||
}
|
||||
dest[ret]=0;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ when copying pattern data from Furnace, it's stored in the clipboard as plain te
|
|||
org.tildearrow.furnace - Pattern Data (144)
|
||||
```
|
||||
|
||||
this top line of text is always the same except for the number in parentheses, which is the internal build number. for example, 0.6pre7 is `162`.
|
||||
this top line of text is always the same except for the number in parentheses, which is the internal build number. for example, 0.6pre8 is `166`.
|
||||
|
||||
the second line is a number between 0 and 18 (decimal) which indicates which column the clip starts from.
|
||||
- `0`: note.
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ these fields are 0 in format versions prior to 100 (0.6pre1).
|
|||
|
||||
the format versions are:
|
||||
|
||||
- 166: Furnace 0.6pre8
|
||||
- 162: Furnace 0.6pre7
|
||||
- 161: Furnace 0.6pre6
|
||||
- 158: Furnace 0.6pre5
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ To generate a new letter icon:
|
|||
|
||||
- Open `icons.sfd` in FontForge.
|
||||
- Open "IBM Plex Sans Medium" to the side. Return to the icons font.
|
||||
- Copy char `E0F0` (the one with just two baselines) to the new codepoint.
|
||||
- Copy the two baselines from `E0F0` to the new codepoint.
|
||||
- Open the new codepoint.
|
||||
- Select the upper baseline.
|
||||
- Use `Element | Insert Text Outlines...` to place text:
|
||||
|
|
@ -13,14 +13,16 @@ To generate a new letter icon:
|
|||
- Delete the baseline.
|
||||
- If there's a line 2, repeat for the lower baseline, including deletion.
|
||||
- Select all.
|
||||
- Use `Element | Transformations | Transform...` to Scale Uniformly and Move as needed:
|
||||
- One letter: 12000%, X -896, Y 60.5.
|
||||
- Two letters: 10000%, X -896, Y 144.2.
|
||||
- Three letters: 8000%, X -896, Y 228.
|
||||
- Two lines: 8000%, X -896, Y 663.5.
|
||||
- Use `Element | Transformations | Transform...` to Scale Uniformly (from glyph origin) and Move as needed:
|
||||
- One letter: 12000%, X 896, Y 15.5.
|
||||
- Two letters: 10000%, X 896, Y 99.2.
|
||||
- Three letters: 8000%, X 896, Y 183.
|
||||
- Two lines: 8000%, X 896, Y 618.5.
|
||||
- If resulting glyph is too wide, repeat all steps starting with "IBM Plex Sans Condensed Medium" instead.
|
||||
- Remember to close the other IBM Plex font or select the proper one in the text dialog.
|
||||
|
||||
Note: Codepoints `EFF0` to `EFF4` are for reference and shouldn't be used.
|
||||
Notes:
|
||||
|
||||
Note: WSG icon (`E11F`) has been slightly kerned to fit.
|
||||
- Codepoints `E0F0` to `E0F4` are for reference only.
|
||||
- The back layer of each of `E0F1` to `E0F4` has lines that show the expected tops and bottoms of text. Round letters and numerals will reach slightly above or below.
|
||||
- The WSG icon (`E11F`) has been slightly kerned to fit.
|
||||
|
|
|
|||
|
|
@ -15,17 +15,17 @@
|
|||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleLongVersionString</key>
|
||||
<string>0.6pre7</string>
|
||||
<string>0.6pre8</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Furnace</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.6pre7</string>
|
||||
<string>0.6pre8</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.6pre7</string>
|
||||
<string>0.6pre8</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string></string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
|
|
|
|||
11910
res/icons.sfd
BIN
res/icons.ttf
|
|
@ -14,7 +14,7 @@ fi
|
|||
|
||||
cd linuxbuild
|
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-O3" -DCMAKE_CXX_FLAGS="-O3 -Wall -Wextra -Wno-unused-parameter -Werror" .. || exit 1
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="-O3" -DCMAKE_CXX_FLAGS="-O3 -Wall -Wextra -Wno-unused-parameter -Werror" -DWITH_DEMOS=ON -DWITH_INSTRUMENTS=ON -DWITH_WAVETABLES=ON .. || exit 1
|
||||
make -j4 || exit 1
|
||||
|
||||
cd ..
|
||||
|
|
|
|||
|
|
@ -34,6 +34,11 @@ cp -r ../../wavetables wavetables || exit 1
|
|||
|
||||
i686-w64-mingw32-strip -s furnace.exe || exit 1
|
||||
|
||||
# patch to remove GetTickCount64
|
||||
xxd -c 256 -ps furnace.exe | sed "s/4765745469636b436f756e743634/4765745469636b436f756e740000/g" | xxd -ps -r > furnace-patched.exe
|
||||
rm furnace.exe
|
||||
mv furnace-patched.exe furnace.exe
|
||||
|
||||
zip -r furnace.zip LICENSE.txt furnace.exe README.txt papers doc demos instruments wavetables
|
||||
|
||||
furName=$(git describe --tags | sed "s/v0/0/")
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ void DivDispatchContainer::clear() {
|
|||
}
|
||||
}
|
||||
|
||||
void DivDispatchContainer::init(DivSystem sys, DivEngine* eng, int chanCount, double gotRate, const DivConfig& flags) {
|
||||
void DivDispatchContainer::init(DivSystem sys, DivEngine* eng, int chanCount, double gotRate, const DivConfig& flags, bool isRender) {
|
||||
// quit if we already initialized
|
||||
if (dispatch!=NULL) return;
|
||||
|
||||
|
|
@ -231,33 +231,57 @@ void DivDispatchContainer::init(DivSystem sys, DivEngine* eng, int chanCount, do
|
|||
break;
|
||||
case DIV_SYSTEM_YM2612:
|
||||
dispatch=new DivPlatformGenesis;
|
||||
((DivPlatformGenesis*)dispatch)->setYMFM(eng->getConfInt("ym2612Core",0));
|
||||
if (isRender) {
|
||||
((DivPlatformGenesis*)dispatch)->setYMFM(eng->getConfInt("ym2612CoreRender",0));
|
||||
} else {
|
||||
((DivPlatformGenesis*)dispatch)->setYMFM(eng->getConfInt("ym2612Core",0));
|
||||
}
|
||||
((DivPlatformGenesis*)dispatch)->setSoftPCM(false);
|
||||
break;
|
||||
case DIV_SYSTEM_YM2612_EXT:
|
||||
dispatch=new DivPlatformGenesisExt;
|
||||
((DivPlatformGenesisExt*)dispatch)->setYMFM(eng->getConfInt("ym2612Core",0));
|
||||
if (isRender) {
|
||||
((DivPlatformGenesisExt*)dispatch)->setYMFM(eng->getConfInt("ym2612CoreRender",0));
|
||||
} else {
|
||||
((DivPlatformGenesisExt*)dispatch)->setYMFM(eng->getConfInt("ym2612Core",0));
|
||||
}
|
||||
((DivPlatformGenesisExt*)dispatch)->setSoftPCM(false);
|
||||
break;
|
||||
case DIV_SYSTEM_YM2612_CSM:
|
||||
dispatch=new DivPlatformGenesisExt;
|
||||
((DivPlatformGenesisExt*)dispatch)->setYMFM(eng->getConfInt("ym2612Core",0));
|
||||
if (isRender) {
|
||||
((DivPlatformGenesisExt*)dispatch)->setYMFM(eng->getConfInt("ym2612CoreRender",0));
|
||||
} else {
|
||||
((DivPlatformGenesisExt*)dispatch)->setYMFM(eng->getConfInt("ym2612Core",0));
|
||||
}
|
||||
((DivPlatformGenesisExt*)dispatch)->setSoftPCM(false);
|
||||
((DivPlatformGenesisExt*)dispatch)->setCSMChannel(6);
|
||||
break;
|
||||
case DIV_SYSTEM_YM2612_DUALPCM:
|
||||
dispatch=new DivPlatformGenesis;
|
||||
((DivPlatformGenesis*)dispatch)->setYMFM(eng->getConfInt("ym2612Core",0));
|
||||
if (isRender) {
|
||||
((DivPlatformGenesis*)dispatch)->setYMFM(eng->getConfInt("ym2612CoreRender",0));
|
||||
} else {
|
||||
((DivPlatformGenesis*)dispatch)->setYMFM(eng->getConfInt("ym2612Core",0));
|
||||
}
|
||||
((DivPlatformGenesis*)dispatch)->setSoftPCM(true);
|
||||
break;
|
||||
case DIV_SYSTEM_YM2612_DUALPCM_EXT:
|
||||
dispatch=new DivPlatformGenesisExt;
|
||||
((DivPlatformGenesisExt*)dispatch)->setYMFM(eng->getConfInt("ym2612Core",0));
|
||||
if (isRender) {
|
||||
((DivPlatformGenesisExt*)dispatch)->setYMFM(eng->getConfInt("ym2612CoreRender",0));
|
||||
} else {
|
||||
((DivPlatformGenesisExt*)dispatch)->setYMFM(eng->getConfInt("ym2612Core",0));
|
||||
}
|
||||
((DivPlatformGenesisExt*)dispatch)->setSoftPCM(true);
|
||||
break;
|
||||
case DIV_SYSTEM_SMS:
|
||||
dispatch=new DivPlatformSMS;
|
||||
((DivPlatformSMS*)dispatch)->setNuked(eng->getConfInt("snCore",0));
|
||||
if (isRender) {
|
||||
((DivPlatformSMS*)dispatch)->setNuked(eng->getConfInt("snCoreRender",0));
|
||||
} else {
|
||||
((DivPlatformSMS*)dispatch)->setNuked(eng->getConfInt("snCore",0));
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_GB:
|
||||
dispatch=new DivPlatformGB;
|
||||
|
|
@ -267,39 +291,71 @@ void DivDispatchContainer::init(DivSystem sys, DivEngine* eng, int chanCount, do
|
|||
break;
|
||||
case DIV_SYSTEM_NES:
|
||||
dispatch=new DivPlatformNES;
|
||||
((DivPlatformNES*)dispatch)->setNSFPlay(eng->getConfInt("nesCore",0)==1);
|
||||
if (isRender) {
|
||||
((DivPlatformNES*)dispatch)->setNSFPlay(eng->getConfInt("nesCoreRender",0)==1);
|
||||
} else {
|
||||
((DivPlatformNES*)dispatch)->setNSFPlay(eng->getConfInt("nesCore",0)==1);
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_C64_6581:
|
||||
dispatch=new DivPlatformC64;
|
||||
((DivPlatformC64*)dispatch)->setCore(eng->getConfInt("c64Core",0));
|
||||
if (isRender) {
|
||||
((DivPlatformC64*)dispatch)->setCore(eng->getConfInt("c64CoreRender",1));
|
||||
} else {
|
||||
((DivPlatformC64*)dispatch)->setCore(eng->getConfInt("c64Core",0));
|
||||
}
|
||||
((DivPlatformC64*)dispatch)->setChipModel(true);
|
||||
break;
|
||||
case DIV_SYSTEM_C64_8580:
|
||||
dispatch=new DivPlatformC64;
|
||||
((DivPlatformC64*)dispatch)->setCore(eng->getConfInt("c64Core",0));
|
||||
if (isRender) {
|
||||
((DivPlatformC64*)dispatch)->setCore(eng->getConfInt("c64CoreRender",1));
|
||||
} else {
|
||||
((DivPlatformC64*)dispatch)->setCore(eng->getConfInt("c64Core",0));
|
||||
}
|
||||
((DivPlatformC64*)dispatch)->setChipModel(false);
|
||||
break;
|
||||
case DIV_SYSTEM_YM2151:
|
||||
dispatch=new DivPlatformArcade;
|
||||
((DivPlatformArcade*)dispatch)->setYMFM(eng->getConfInt("arcadeCore",0)==0);
|
||||
if (isRender) {
|
||||
((DivPlatformArcade*)dispatch)->setYMFM(eng->getConfInt("arcadeCoreRender",1)==0);
|
||||
} else {
|
||||
((DivPlatformArcade*)dispatch)->setYMFM(eng->getConfInt("arcadeCore",0)==0);
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_YM2610:
|
||||
case DIV_SYSTEM_YM2610_FULL:
|
||||
dispatch=new DivPlatformYM2610;
|
||||
((DivPlatformYM2610*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
if (isRender) {
|
||||
((DivPlatformYM2610*)dispatch)->setCombo(eng->getConfInt("opnCoreRender",1)==1);
|
||||
} else {
|
||||
((DivPlatformYM2610*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_YM2610_EXT:
|
||||
case DIV_SYSTEM_YM2610_FULL_EXT:
|
||||
dispatch=new DivPlatformYM2610Ext;
|
||||
((DivPlatformYM2610Ext*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
if (isRender) {
|
||||
((DivPlatformYM2610Ext*)dispatch)->setCombo(eng->getConfInt("opnCoreRender",1)==1);
|
||||
} else {
|
||||
((DivPlatformYM2610Ext*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_YM2610B:
|
||||
dispatch=new DivPlatformYM2610B;
|
||||
((DivPlatformYM2610B*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
if (isRender) {
|
||||
((DivPlatformYM2610B*)dispatch)->setCombo(eng->getConfInt("opnCoreRender",1)==1);
|
||||
} else {
|
||||
((DivPlatformYM2610B*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_YM2610B_EXT:
|
||||
dispatch=new DivPlatformYM2610BExt;
|
||||
((DivPlatformYM2610BExt*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
if (isRender) {
|
||||
((DivPlatformYM2610BExt*)dispatch)->setCombo(eng->getConfInt("opnCoreRender",1)==1);
|
||||
} else {
|
||||
((DivPlatformYM2610BExt*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_AMIGA:
|
||||
dispatch=new DivPlatformAmiga;
|
||||
|
|
@ -312,26 +368,46 @@ void DivDispatchContainer::init(DivSystem sys, DivEngine* eng, int chanCount, do
|
|||
break;
|
||||
case DIV_SYSTEM_FDS:
|
||||
dispatch=new DivPlatformFDS;
|
||||
((DivPlatformFDS*)dispatch)->setNSFPlay(eng->getConfInt("fdsCore",0)==1);
|
||||
if (isRender) {
|
||||
((DivPlatformFDS*)dispatch)->setNSFPlay(eng->getConfInt("fdsCoreRender",1)==1);
|
||||
} else {
|
||||
((DivPlatformFDS*)dispatch)->setNSFPlay(eng->getConfInt("fdsCore",0)==1);
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_TIA:
|
||||
dispatch=new DivPlatformTIA;
|
||||
break;
|
||||
case DIV_SYSTEM_YM2203:
|
||||
dispatch=new DivPlatformYM2203;
|
||||
((DivPlatformYM2203*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
if (isRender) {
|
||||
((DivPlatformYM2203*)dispatch)->setCombo(eng->getConfInt("opnCoreRender",1)==1);
|
||||
} else {
|
||||
((DivPlatformYM2203*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_YM2203_EXT:
|
||||
dispatch=new DivPlatformYM2203Ext;
|
||||
((DivPlatformYM2203Ext*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
if (isRender) {
|
||||
((DivPlatformYM2203Ext*)dispatch)->setCombo(eng->getConfInt("opnCoreRender",1)==1);
|
||||
} else {
|
||||
((DivPlatformYM2203Ext*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_YM2608:
|
||||
dispatch=new DivPlatformYM2608;
|
||||
((DivPlatformYM2608*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
if (isRender) {
|
||||
((DivPlatformYM2608*)dispatch)->setCombo(eng->getConfInt("opnCoreRender",1)==1);
|
||||
} else {
|
||||
((DivPlatformYM2608*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_YM2608_EXT:
|
||||
dispatch=new DivPlatformYM2608Ext;
|
||||
((DivPlatformYM2608Ext*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
if (isRender) {
|
||||
((DivPlatformYM2608Ext*)dispatch)->setCombo(eng->getConfInt("opnCoreRender",1)==1);
|
||||
} else {
|
||||
((DivPlatformYM2608Ext*)dispatch)->setCombo(eng->getConfInt("opnCore",1)==1);
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_OPLL:
|
||||
case DIV_SYSTEM_OPLL_DRUMS:
|
||||
|
|
@ -396,7 +472,11 @@ void DivDispatchContainer::init(DivSystem sys, DivEngine* eng, int chanCount, do
|
|||
break;
|
||||
case DIV_SYSTEM_POKEY:
|
||||
dispatch=new DivPlatformPOKEY;
|
||||
((DivPlatformPOKEY*)dispatch)->setAltASAP(eng->getConfInt("pokeyCore",1)==1);
|
||||
if (isRender) {
|
||||
((DivPlatformPOKEY*)dispatch)->setAltASAP(eng->getConfInt("pokeyCoreRender",1)==1);
|
||||
} else {
|
||||
((DivPlatformPOKEY*)dispatch)->setAltASAP(eng->getConfInt("pokeyCore",1)==1);
|
||||
}
|
||||
break;
|
||||
case DIV_SYSTEM_QSOUND:
|
||||
dispatch=new DivPlatformQSound;
|
||||
|
|
|
|||
|
|
@ -821,6 +821,11 @@ void DivEngine::runExportThread() {
|
|||
size_t fadeOutSamples=got.rate*exportFadeOut;
|
||||
size_t curFadeOutSample=0;
|
||||
bool isFadingOut=false;
|
||||
|
||||
quitDispatch();
|
||||
initDispatch(true);
|
||||
renderSamples();
|
||||
|
||||
switch (exportMode) {
|
||||
case DIV_EXPORT_MODE_ONE: {
|
||||
SNDFILE* sf;
|
||||
|
|
@ -833,6 +838,9 @@ void DivEngine::runExportThread() {
|
|||
sf=sfWrap.doOpen(exportPath.c_str(),SFM_WRITE,&si);
|
||||
if (sf==NULL) {
|
||||
logE("could not open file for writing! (%s)",sf_strerror(NULL));
|
||||
quitDispatch();
|
||||
initDispatch(false);
|
||||
renderSamples();
|
||||
exporting=false;
|
||||
return;
|
||||
}
|
||||
|
|
@ -1144,6 +1152,10 @@ void DivEngine::runExportThread() {
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
quitDispatch();
|
||||
initDispatch(false);
|
||||
renderSamples();
|
||||
stopExport=false;
|
||||
}
|
||||
#else
|
||||
|
|
@ -3669,13 +3681,11 @@ DivSample* DivEngine::sampleFromFileRaw(const char* path, DivSampleDepth depth,
|
|||
return NULL;
|
||||
}
|
||||
if (channels<1) {
|
||||
lastError="invalid channel count";
|
||||
return NULL;
|
||||
channels=1;
|
||||
}
|
||||
if (depth!=DIV_SAMPLE_DEPTH_8BIT && depth!=DIV_SAMPLE_DEPTH_16BIT) {
|
||||
if (channels!=1) {
|
||||
lastError="channel count has to be 1 for non-8/16-bit format";
|
||||
return NULL;
|
||||
channels=1;
|
||||
}
|
||||
}
|
||||
BUSY_BEGIN;
|
||||
|
|
@ -3760,6 +3770,7 @@ DivSample* DivEngine::sampleFromFileRaw(const char* path, DivSampleDepth depth,
|
|||
samples=lenDivided*2;
|
||||
break;
|
||||
case DIV_SAMPLE_DEPTH_8BIT:
|
||||
case DIV_SAMPLE_DEPTH_MULAW:
|
||||
samples=lenDivided;
|
||||
break;
|
||||
case DIV_SAMPLE_DEPTH_BRR:
|
||||
|
|
@ -3829,11 +3840,45 @@ DivSample* DivEngine::sampleFromFileRaw(const char* path, DivSampleDepth depth,
|
|||
}
|
||||
delete[] buf;
|
||||
|
||||
// swap nibbles if needed
|
||||
if (swapNibbles) {
|
||||
unsigned char* b=(unsigned char*)sample->getCurBuf();
|
||||
for (unsigned int i=0; i<sample->getCurBufLen(); i++) {
|
||||
b[i]=(b[i]<<4)|(b[i]>>4);
|
||||
switch (depth) {
|
||||
case DIV_SAMPLE_DEPTH_1BIT:
|
||||
case DIV_SAMPLE_DEPTH_1BIT_DPCM:
|
||||
// reverse bit order
|
||||
for (unsigned int i=0; i<sample->getCurBufLen(); i++) {
|
||||
b[i]=(
|
||||
((b[i]&128)?1:0)|
|
||||
((b[i]&64)?2:0)|
|
||||
((b[i]&32)?4:0)|
|
||||
((b[i]&16)?8:0)|
|
||||
((b[i]&8)?16:0)|
|
||||
((b[i]&4)?32:0)|
|
||||
((b[i]&2)?64:0)|
|
||||
((b[i]&1)?128:0)
|
||||
);
|
||||
}
|
||||
break;
|
||||
case DIV_SAMPLE_DEPTH_YMZ_ADPCM:
|
||||
case DIV_SAMPLE_DEPTH_QSOUND_ADPCM:
|
||||
case DIV_SAMPLE_DEPTH_ADPCM_A:
|
||||
case DIV_SAMPLE_DEPTH_ADPCM_B:
|
||||
case DIV_SAMPLE_DEPTH_VOX:
|
||||
// swap nibbles
|
||||
for (unsigned int i=0; i<sample->getCurBufLen(); i++) {
|
||||
b[i]=(b[i]<<4)|(b[i]>>4);
|
||||
}
|
||||
break;
|
||||
case DIV_SAMPLE_DEPTH_MULAW:
|
||||
// Namco to G.711
|
||||
// Namco: smmmmxxx
|
||||
// G.711: sxxxmmmm (^0xff)
|
||||
for (unsigned int i=0; i<sample->getCurBufLen(); i++) {
|
||||
b[i]=(((b[i]&7)<<4)|(((b[i]>>3)&15)^((b[i]&0x80)?15:0))|(b[i]&0x80))^0xff;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4566,10 +4611,11 @@ void DivEngine::rescanAudioDevices() {
|
|||
}
|
||||
}
|
||||
|
||||
void DivEngine::initDispatch() {
|
||||
void DivEngine::initDispatch(bool isRender) {
|
||||
BUSY_BEGIN;
|
||||
if (isRender) logI("render cores set");
|
||||
for (int i=0; i<song.systemLen; i++) {
|
||||
disCont[i].init(song.system[i],this,getChannelCount(song.system[i]),got.rate,song.systemFlags[i]);
|
||||
disCont[i].init(song.system[i],this,getChannelCount(song.system[i]),got.rate,song.systemFlags[i],isRender);
|
||||
disCont[i].setRates(got.rate);
|
||||
disCont[i].setQuality(lowQuality);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,8 +56,8 @@
|
|||
|
||||
#define DIV_UNSTABLE
|
||||
|
||||
#define DIV_VERSION "dev165"
|
||||
#define DIV_ENGINE_VERSION 165
|
||||
#define DIV_VERSION "dev166"
|
||||
#define DIV_ENGINE_VERSION 166
|
||||
// for imports
|
||||
#define DIV_VERSION_MOD 0xff01
|
||||
#define DIV_VERSION_FC 0xff02
|
||||
|
|
@ -201,7 +201,7 @@ struct DivDispatchContainer {
|
|||
void flush(size_t count);
|
||||
void fillBuf(size_t runtotal, size_t offset, size_t size);
|
||||
void clear();
|
||||
void init(DivSystem sys, DivEngine* eng, int chanCount, double gotRate, const DivConfig& flags);
|
||||
void init(DivSystem sys, DivEngine* eng, int chanCount, double gotRate, const DivConfig& flags, bool isRender=false);
|
||||
void quit();
|
||||
DivDispatchContainer():
|
||||
dispatch(NULL),
|
||||
|
|
@ -1132,7 +1132,7 @@ class DivEngine {
|
|||
TAAudioDesc& getAudioDescGot();
|
||||
|
||||
// init dispatch
|
||||
void initDispatch();
|
||||
void initDispatch(bool isRender=false);
|
||||
|
||||
// quit dispatch
|
||||
void quitDispatch();
|
||||
|
|
|
|||
|
|
@ -449,6 +449,7 @@ void DivPlatformC140::renderSamples(int sysID) {
|
|||
if (memPos+length>=(getSampleMemCapacity())) {
|
||||
if (s->depth==DIV_SAMPLE_DEPTH_MULAW) {
|
||||
for (unsigned int i=0; i<(getSampleMemCapacity())-memPos; i++) {
|
||||
if (i>=s->lengthMuLaw) break;
|
||||
unsigned char x=s->dataMuLaw[i]^0xff;
|
||||
if (x&0x80) x^=15;
|
||||
unsigned char c140Mu=(x&0x80)|((x&15)<<3)|((x&0x70)>>4);
|
||||
|
|
@ -461,6 +462,7 @@ void DivPlatformC140::renderSamples(int sysID) {
|
|||
} else {
|
||||
if (s->depth==DIV_SAMPLE_DEPTH_MULAW) {
|
||||
for (unsigned int i=0; i<length; i++) {
|
||||
if (i>=s->lengthMuLaw) break;
|
||||
unsigned char x=s->dataMuLaw[i]^0xff;
|
||||
if (x&0x80) x^=15;
|
||||
unsigned char c140Mu=(x&0x80)|((x&15)<<3)|((x&0x70)>>4);
|
||||
|
|
|
|||
|
|
@ -458,7 +458,7 @@ int DivPlatformGB::dispatch(DivCommand c) {
|
|||
}
|
||||
chan[c.chan].envVol=chan[c.chan].outVol;
|
||||
|
||||
if (!chan[c.chan].keyOn) chan[c.chan].killIt=true;
|
||||
if (!chan[c.chan].keyOn && chan[c.chan].active) chan[c.chan].killIt=true;
|
||||
chan[c.chan].freqChanged=true;
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -443,13 +443,15 @@ void DivPlatformGenesisExt::muteChannel(int ch, bool mute) {
|
|||
DivPlatformGenesis::muteChannel(extChanOffs,IS_EXTCH_MUTED);
|
||||
|
||||
if (extMode) {
|
||||
int ordch=orderedOps[ch-2];
|
||||
unsigned short baseAddr=chanOffs[2]|opOffs[ordch];
|
||||
DivInstrumentFM::Operator op=chan[2].state.op[ordch];
|
||||
if (isOpMuted[ch-2] || !op.enable) {
|
||||
rWrite(baseAddr+0x40,127);
|
||||
} else {
|
||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-2].outVol&0x7f,127));
|
||||
for (int i=0; i<4; i++) {
|
||||
int ordch=orderedOps[i];
|
||||
unsigned short baseAddr=chanOffs[2]|opOffs[ordch];
|
||||
DivInstrumentFM::Operator op=chan[2].state.op[ordch];
|
||||
if (isOpMuted[i] || !op.enable) {
|
||||
rWrite(baseAddr+0x40,127);
|
||||
} else {
|
||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[i].outVol&0x7f,127));
|
||||
}
|
||||
}
|
||||
|
||||
rWrite(chanOffs[2]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch-2].pan<<6))|(chan[2].state.fms&7)|((chan[2].state.ams&3)<<4));
|
||||
|
|
@ -557,6 +559,17 @@ void DivPlatformGenesisExt::tick(bool sysTick) {
|
|||
rWrite(0x22,lfoValue);
|
||||
}
|
||||
|
||||
if (opChan[i].std.panL.had) {
|
||||
opChan[i].pan=opChan[i].std.panL.val&3;
|
||||
if (parent->song.sharedExtStat) {
|
||||
for (int j=0; j<4; j++) {
|
||||
if (i==j) continue;
|
||||
opChan[j].pan=opChan[i].pan;
|
||||
}
|
||||
}
|
||||
rWrite(chanOffs[extChanOffs]+ADDR_LRAF,(IS_EXTCH_MUTED?0:(opChan[i].pan<<6))|(chan[extChanOffs].state.fms&7)|((chan[extChanOffs].state.ams&3)<<4));
|
||||
}
|
||||
|
||||
// param macros
|
||||
unsigned short baseAddr=chanOffs[2]|opOffs[orderedOps[i]];
|
||||
DivInstrumentFM::Operator& op=chan[2].state.op[orderedOps[i]];
|
||||
|
|
@ -770,6 +783,9 @@ void DivPlatformGenesisExt::forceIns() {
|
|||
chan[csmChan].freqChanged=true;
|
||||
chan[csmChan].keyOn=true;
|
||||
}
|
||||
if (!extMode) {
|
||||
immWrite(0x27,0x00);
|
||||
}
|
||||
}
|
||||
|
||||
void* DivPlatformGenesisExt::getChanState(int ch) {
|
||||
|
|
|
|||
|
|
@ -134,14 +134,16 @@ void DivPlatformN163::updateWave(int ch, int wave, int pos, int len) {
|
|||
len&=0xfc; // 4 nibble boundary
|
||||
if (wave<0) {
|
||||
// load from wave synth
|
||||
for (int i=0; i<len; i++) {
|
||||
unsigned char addr=(pos+i); // address (nibble each)
|
||||
if (addr>=((0x78-(chanMax<<3))<<1)) { // avoid conflict with channel register area
|
||||
break;
|
||||
if (ch>=0) {
|
||||
for (int i=0; i<len; i++) {
|
||||
unsigned char addr=(pos+i); // address (nibble each)
|
||||
if (addr>=((0x78-(chanMax<<3))<<1)) { // avoid conflict with channel register area
|
||||
break;
|
||||
}
|
||||
unsigned char mask=(addr&1)?0xf0:0x0f;
|
||||
int data=chan[ch].ws.output[i];
|
||||
rWriteMask(addr>>1,(addr&1)?(data<<4):(data&0xf),mask);
|
||||
}
|
||||
unsigned char mask=(addr&1)?0xf0:0x0f;
|
||||
int data=chan[ch].ws.output[i];
|
||||
rWriteMask(addr>>1,(addr&1)?(data<<4):(data&0xf),mask);
|
||||
}
|
||||
} else {
|
||||
// load from custom
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
MODIFIED Namco C140 sound emulator - MODIFIED VERSION
|
||||
by cam900
|
||||
|
||||
MODIFICATION by tildearrow - adds muting function
|
||||
MODIFICATION by tildearrow - adds muting function and fixes overflow
|
||||
THIS IS NOT THE ORIGINAL VERSION - you can find the original one in
|
||||
commit 72d04777c013988ed8cf6da27c62a9d784a59dff
|
||||
|
||||
|
|
@ -99,8 +99,8 @@ void c140_voice_tick(struct c140_t *c140, const unsigned char v, const int cycle
|
|||
s1 = c140->mulaw[(s1 >> 8) & 0xff];
|
||||
s2 = c140->mulaw[(s2 >> 8) & 0xff];
|
||||
}
|
||||
// interpolate
|
||||
signed int sample = s1 + (((voice->frac) * (s2 - s1)) >> 16);
|
||||
// interpolate (originally was >>16, but I had to reduce it to 15 to prevent overflow)
|
||||
signed int sample = s1 + (((voice->frac >> 1) * (s2 - s1)) >> 15);
|
||||
voice->lout = sample * voice->lvol;
|
||||
voice->rout = sample * voice->rvol;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -606,13 +606,15 @@ void DivPlatformYM2203Ext::muteChannel(int ch, bool mute) {
|
|||
DivPlatformYM2203::muteChannel(extChanOffs,IS_EXTCH_MUTED);
|
||||
|
||||
if (extMode) {
|
||||
int ordch=orderedOps[ch-2];
|
||||
unsigned short baseAddr=chanOffs[2]|opOffs[ordch];
|
||||
DivInstrumentFM::Operator op=chan[2].state.op[ordch];
|
||||
if (isOpMuted[ch-2] || !op.enable) {
|
||||
rWrite(baseAddr+0x40,127);
|
||||
} else {
|
||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-2].outVol&0x7f,127));
|
||||
for (int i=0; i<4; i++) {
|
||||
int ordch=orderedOps[i];
|
||||
unsigned short baseAddr=chanOffs[2]|opOffs[ordch];
|
||||
DivInstrumentFM::Operator op=chan[2].state.op[ordch];
|
||||
if (isOpMuted[i] || !op.enable) {
|
||||
rWrite(baseAddr+0x40,127);
|
||||
} else {
|
||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[i].outVol&0x7f,127));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -669,6 +671,9 @@ void DivPlatformYM2203Ext::forceIns() {
|
|||
opChan[i].freqChanged=true;
|
||||
}
|
||||
}
|
||||
if (!extMode) {
|
||||
immWrite(0x27,0x00);
|
||||
}
|
||||
}
|
||||
|
||||
void* DivPlatformYM2203Ext::getChanState(int ch) {
|
||||
|
|
|
|||
|
|
@ -508,6 +508,17 @@ void DivPlatformYM2608Ext::tick(bool sysTick) {
|
|||
rWrite(0x22,lfoValue);
|
||||
}
|
||||
|
||||
if (opChan[i].std.panL.had) {
|
||||
opChan[i].pan=opChan[i].std.panL.val&3;
|
||||
if (parent->song.sharedExtStat) {
|
||||
for (int j=0; j<4; j++) {
|
||||
if (i==j) continue;
|
||||
opChan[j].pan=opChan[i].pan;
|
||||
}
|
||||
}
|
||||
rWrite(chanOffs[extChanOffs]+ADDR_LRAF,(IS_EXTCH_MUTED?0:(opChan[i].pan<<6))|(chan[extChanOffs].state.fms&7)|((chan[extChanOffs].state.ams&3)<<4));
|
||||
}
|
||||
|
||||
|
||||
// param macros
|
||||
unsigned short baseAddr=chanOffs[2]|opOffs[orderedOps[i]];
|
||||
|
|
@ -641,13 +652,15 @@ void DivPlatformYM2608Ext::muteChannel(int ch, bool mute) {
|
|||
DivPlatformYM2608::muteChannel(extChanOffs,IS_EXTCH_MUTED);
|
||||
|
||||
if (extMode) {
|
||||
int ordch=orderedOps[ch-2];
|
||||
unsigned short baseAddr=chanOffs[2]|opOffs[ordch];
|
||||
DivInstrumentFM::Operator op=chan[2].state.op[ordch];
|
||||
if (isOpMuted[ch-2] || !op.enable) {
|
||||
rWrite(baseAddr+0x40,127);
|
||||
} else {
|
||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-2].outVol&0x7f,127));
|
||||
for (int i=0; i<4; i++) {
|
||||
int ordch=orderedOps[i];
|
||||
unsigned short baseAddr=chanOffs[2]|opOffs[ordch];
|
||||
DivInstrumentFM::Operator op=chan[2].state.op[ordch];
|
||||
if (isOpMuted[i] || !op.enable) {
|
||||
rWrite(baseAddr+0x40,127);
|
||||
} else {
|
||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[i].outVol&0x7f,127));
|
||||
}
|
||||
}
|
||||
|
||||
rWrite(chanOffs[2]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch-2].pan<<6))|(chan[2].state.fms&7)|((chan[2].state.ams&3)<<4));
|
||||
|
|
@ -719,6 +732,9 @@ void DivPlatformYM2608Ext::forceIns() {
|
|||
opChan[i].freqChanged=true;
|
||||
}
|
||||
}
|
||||
if (!extMode) {
|
||||
immWrite(0x27,0x00);
|
||||
}
|
||||
}
|
||||
|
||||
void* DivPlatformYM2608Ext::getChanState(int ch) {
|
||||
|
|
|
|||
|
|
@ -504,6 +504,17 @@ void DivPlatformYM2610BExt::tick(bool sysTick) {
|
|||
rWrite(0x22,lfoValue);
|
||||
}
|
||||
|
||||
if (opChan[i].std.panL.had) {
|
||||
opChan[i].pan=opChan[i].std.panL.val&3;
|
||||
if (parent->song.sharedExtStat) {
|
||||
for (int j=0; j<4; j++) {
|
||||
if (i==j) continue;
|
||||
opChan[j].pan=opChan[i].pan;
|
||||
}
|
||||
}
|
||||
rWrite(chanOffs[extChanOffs]+ADDR_LRAF,(IS_EXTCH_MUTED?0:(opChan[i].pan<<6))|(chan[extChanOffs].state.fms&7)|((chan[extChanOffs].state.ams&3)<<4));
|
||||
}
|
||||
|
||||
// param macros
|
||||
unsigned short baseAddr=chanOffs[extChanOffs]|opOffs[orderedOps[i]];
|
||||
DivInstrumentFM::Operator& op=chan[extChanOffs].state.op[orderedOps[i]];
|
||||
|
|
@ -636,13 +647,15 @@ void DivPlatformYM2610BExt::muteChannel(int ch, bool mute) {
|
|||
DivPlatformYM2610B::muteChannel(extChanOffs,IS_EXTCH_MUTED);
|
||||
|
||||
if (extMode) {
|
||||
int ordch=orderedOps[ch-extChanOffs];
|
||||
unsigned short baseAddr=chanOffs[extChanOffs]|opOffs[ordch];
|
||||
DivInstrumentFM::Operator op=chan[extChanOffs].state.op[ordch];
|
||||
if (isOpMuted[ch-extChanOffs] || !op.enable) {
|
||||
rWrite(baseAddr+0x40,127);
|
||||
} else {
|
||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-extChanOffs].outVol&0x7f,127));
|
||||
for (int i=0; i<4; i++) {
|
||||
int ordch=orderedOps[i];
|
||||
unsigned short baseAddr=chanOffs[extChanOffs]|opOffs[ordch];
|
||||
DivInstrumentFM::Operator op=chan[extChanOffs].state.op[ordch];
|
||||
if (isOpMuted[i] || !op.enable) {
|
||||
rWrite(baseAddr+0x40,127);
|
||||
} else {
|
||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[i].outVol&0x7f,127));
|
||||
}
|
||||
}
|
||||
|
||||
rWrite(chanOffs[extChanOffs]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch-extChanOffs].pan<<6))|(chan[extChanOffs].state.fms&7)|((chan[extChanOffs].state.ams&3)<<4));
|
||||
|
|
@ -709,6 +722,9 @@ void DivPlatformYM2610BExt::forceIns() {
|
|||
opChan[i].freqChanged=true;
|
||||
}
|
||||
}
|
||||
if (!extMode) {
|
||||
immWrite(0x27,0x00);
|
||||
}
|
||||
}
|
||||
|
||||
void* DivPlatformYM2610BExt::getChanState(int ch) {
|
||||
|
|
|
|||
|
|
@ -504,6 +504,17 @@ void DivPlatformYM2610Ext::tick(bool sysTick) {
|
|||
rWrite(0x22,lfoValue);
|
||||
}
|
||||
|
||||
if (opChan[i].std.panL.had) {
|
||||
opChan[i].pan=opChan[i].std.panL.val&3;
|
||||
if (parent->song.sharedExtStat) {
|
||||
for (int j=0; j<4; j++) {
|
||||
if (i==j) continue;
|
||||
opChan[j].pan=opChan[i].pan;
|
||||
}
|
||||
}
|
||||
rWrite(chanOffs[extChanOffs]+ADDR_LRAF,(IS_EXTCH_MUTED?0:(opChan[i].pan<<6))|(chan[extChanOffs].state.fms&7)|((chan[extChanOffs].state.ams&3)<<4));
|
||||
}
|
||||
|
||||
// param macros
|
||||
unsigned short baseAddr=chanOffs[extChanOffs]|opOffs[orderedOps[i]];
|
||||
DivInstrumentFM::Operator& op=chan[extChanOffs].state.op[orderedOps[i]];
|
||||
|
|
@ -636,13 +647,15 @@ void DivPlatformYM2610Ext::muteChannel(int ch, bool mute) {
|
|||
DivPlatformYM2610::muteChannel(extChanOffs,IS_EXTCH_MUTED);
|
||||
|
||||
if (extMode) {
|
||||
int ordch=orderedOps[ch-extChanOffs];
|
||||
unsigned short baseAddr=chanOffs[extChanOffs]|opOffs[ordch];
|
||||
DivInstrumentFM::Operator op=chan[extChanOffs].state.op[ordch];
|
||||
if (isOpMuted[ch-extChanOffs] || !op.enable) {
|
||||
rWrite(baseAddr+0x40,127);
|
||||
} else {
|
||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[ch-extChanOffs].outVol&0x7f,127));
|
||||
for (int i=0; i<4; i++) {
|
||||
int ordch=orderedOps[i];
|
||||
unsigned short baseAddr=chanOffs[extChanOffs]|opOffs[ordch];
|
||||
DivInstrumentFM::Operator op=chan[extChanOffs].state.op[ordch];
|
||||
if (isOpMuted[i] || !op.enable) {
|
||||
rWrite(baseAddr+0x40,127);
|
||||
} else {
|
||||
rWrite(baseAddr+0x40,127-VOL_SCALE_LOG_BROKEN(127-op.tl,opChan[i].outVol&0x7f,127));
|
||||
}
|
||||
}
|
||||
|
||||
rWrite(chanOffs[extChanOffs]+0xb4,(IS_EXTCH_MUTED?0:(opChan[ch-extChanOffs].pan<<6))|(chan[extChanOffs].state.fms&7)|((chan[extChanOffs].state.ams&3)<<4));
|
||||
|
|
@ -709,6 +722,9 @@ void DivPlatformYM2610Ext::forceIns() {
|
|||
opChan[i].freqChanged=true;
|
||||
}
|
||||
}
|
||||
if (!extMode) {
|
||||
immWrite(0x27,0x00);
|
||||
}
|
||||
}
|
||||
|
||||
void* DivPlatformYM2610Ext::getChanState(int ch) {
|
||||
|
|
|
|||
|
|
@ -1304,6 +1304,7 @@ bool DivEngine::nextTick(bool noAccum, bool inhibitLowLat) {
|
|||
dispatchCmd(DivCommand(DIV_CMD_NOTE_ON,note.channel,note.note));
|
||||
keyHit[note.channel]=true;
|
||||
chan[note.channel].noteOnInhibit=true;
|
||||
chan[note.channel].lastIns=note.ins;
|
||||
} else {
|
||||
DivMacroInt* macroInt=disCont[dispatchOfChan[note.channel]].dispatch->getChanMacroInt(dispatchChanOfChan[note.channel]);
|
||||
if (macroInt!=NULL) {
|
||||
|
|
|
|||
|
|
@ -449,7 +449,12 @@ void DivEngine::registerSystems() {
|
|||
{0x30, {DIV_CMD_FM_HARD_RESET, "30xx: Toggle hard envelope reset on new notes"}},
|
||||
};
|
||||
|
||||
EffectHandlerMap fmOPN2EffectHandlerMap(fmEffectHandlerMap);
|
||||
EffectHandlerMap fmExtChEffectHandlerMap(fmEffectHandlerMap);
|
||||
fmExtChEffectHandlerMap.insert({
|
||||
{0x18, {DIV_CMD_FM_EXTCH, "18xx: Toggle extended channel 3 mode"}},
|
||||
});
|
||||
|
||||
EffectHandlerMap fmOPN2EffectHandlerMap(fmExtChEffectHandlerMap);
|
||||
fmOPN2EffectHandlerMap.insert({
|
||||
{0x17, {DIV_CMD_SAMPLE_MODE, "17xx: Toggle PCM mode (LEGACY)"}},
|
||||
{0xdf, {DIV_CMD_SAMPLE_DIR, "DFxx: Set sample playback direction (0: normal; 1: reverse)"}},
|
||||
|
|
@ -522,7 +527,6 @@ void DivEngine::registerSystems() {
|
|||
|
||||
fmOPNPostEffectHandlerMap.insert({
|
||||
{0x10, {DIV_CMD_FM_LFO, "10xy: Setup LFO (x: enable; y: speed)"}},
|
||||
{0x18, {DIV_CMD_FM_EXTCH, "18xx: Toggle extended channel 3 mode"}},
|
||||
{0x55, {DIV_CMD_FM_SSG, "55xy: Set SSG envelope (x: operator from 1 to 4 (0 for all ops); y: 0-7 on, 8 off)", effectOpVal<4>, effectValAnd<15>}},
|
||||
});
|
||||
EffectHandlerMap fmOPN2PostEffectHandlerMap(fmOPNPostEffectHandlerMap);
|
||||
|
|
@ -769,7 +773,7 @@ void DivEngine::registerSystems() {
|
|||
{DIV_CH_FM, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_FM, DIV_CH_FM, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM},
|
||||
{DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_AY, DIV_INS_AY, DIV_INS_AY, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA},
|
||||
{DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA},
|
||||
fmEffectHandlerMap,
|
||||
fmExtChEffectHandlerMap,
|
||||
fmOPNAPostEffectHandlerMap
|
||||
);
|
||||
|
||||
|
|
@ -1028,7 +1032,7 @@ void DivEngine::registerSystems() {
|
|||
{DIV_CH_FM, DIV_CH_FM, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE},
|
||||
{DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_AY, DIV_INS_AY, DIV_INS_AY},
|
||||
{},
|
||||
fmEffectHandlerMap,
|
||||
fmExtChEffectHandlerMap,
|
||||
fmOPNPostEffectHandlerMap
|
||||
);
|
||||
|
||||
|
|
@ -1040,7 +1044,7 @@ void DivEngine::registerSystems() {
|
|||
{DIV_CH_FM, DIV_CH_FM, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_NOISE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE},
|
||||
{DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_AY, DIV_INS_AY, DIV_INS_AY},
|
||||
{},
|
||||
fmEffectHandlerMap,
|
||||
fmExtChEffectHandlerMap,
|
||||
fmOPNPostEffectHandlerMap
|
||||
);
|
||||
|
||||
|
|
@ -1064,7 +1068,7 @@ void DivEngine::registerSystems() {
|
|||
{DIV_CH_FM, DIV_CH_FM, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_FM, DIV_CH_FM, DIV_CH_FM, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_NOISE, DIV_CH_NOISE, DIV_CH_NOISE, DIV_CH_NOISE, DIV_CH_NOISE, DIV_CH_NOISE, DIV_CH_PCM},
|
||||
{DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_AY, DIV_INS_AY, DIV_INS_AY, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMB},
|
||||
{DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_AMIGA},
|
||||
fmEffectHandlerMap,
|
||||
fmExtChEffectHandlerMap,
|
||||
fmOPNAPostEffectHandlerMap
|
||||
);
|
||||
|
||||
|
|
@ -1076,7 +1080,7 @@ void DivEngine::registerSystems() {
|
|||
{DIV_CH_FM, DIV_CH_FM, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_FM, DIV_CH_FM, DIV_CH_FM, DIV_CH_NOISE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_NOISE, DIV_CH_NOISE, DIV_CH_NOISE, DIV_CH_NOISE, DIV_CH_NOISE, DIV_CH_NOISE, DIV_CH_PCM},
|
||||
{DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_AY, DIV_INS_AY, DIV_INS_AY, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMB},
|
||||
{DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_AMIGA},
|
||||
fmEffectHandlerMap,
|
||||
fmExtChEffectHandlerMap,
|
||||
fmOPNAPostEffectHandlerMap
|
||||
);
|
||||
|
||||
|
|
@ -1368,7 +1372,7 @@ void DivEngine::registerSystems() {
|
|||
{DIV_CH_FM, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_FM, DIV_CH_FM, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM},
|
||||
{DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_AY, DIV_INS_AY, DIV_INS_AY, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMB},
|
||||
{DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA},
|
||||
fmEffectHandlerMap,
|
||||
fmExtChEffectHandlerMap,
|
||||
fmOPNAPostEffectHandlerMap
|
||||
);
|
||||
|
||||
|
|
@ -1380,7 +1384,7 @@ void DivEngine::registerSystems() {
|
|||
{DIV_CH_FM, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_FM, DIV_CH_FM, DIV_CH_NOISE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM},
|
||||
{DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_AY, DIV_INS_AY, DIV_INS_AY, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMB},
|
||||
{DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA},
|
||||
fmEffectHandlerMap,
|
||||
fmExtChEffectHandlerMap,
|
||||
fmOPNAPostEffectHandlerMap
|
||||
);
|
||||
|
||||
|
|
@ -1457,7 +1461,7 @@ void DivEngine::registerSystems() {
|
|||
{DIV_CH_FM, DIV_CH_FM, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_FM, DIV_CH_FM, DIV_CH_FM, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM},
|
||||
{DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_AY, DIV_INS_AY, DIV_INS_AY, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMB},
|
||||
{DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA},
|
||||
fmEffectHandlerMap,
|
||||
fmExtChEffectHandlerMap,
|
||||
fmOPNAPostEffectHandlerMap
|
||||
);
|
||||
|
||||
|
|
@ -1469,7 +1473,7 @@ void DivEngine::registerSystems() {
|
|||
{DIV_CH_FM, DIV_CH_FM, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_OP, DIV_CH_FM, DIV_CH_FM, DIV_CH_FM, DIV_CH_NOISE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PULSE, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM, DIV_CH_PCM},
|
||||
{DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_FM, DIV_INS_AY, DIV_INS_AY, DIV_INS_AY, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMA, DIV_INS_ADPCMB},
|
||||
{DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_NULL, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA, DIV_INS_AMIGA},
|
||||
fmEffectHandlerMap,
|
||||
fmExtChEffectHandlerMap,
|
||||
fmOPNAPostEffectHandlerMap
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -93,6 +93,7 @@ const char* aboutLine[]={
|
|||
"freq-mod",
|
||||
"gtr3qq",
|
||||
"Hortus",
|
||||
"ifrit05",
|
||||
"iyatemu",
|
||||
"JayBOB18",
|
||||
"Jimmy-DS",
|
||||
|
|
@ -113,6 +114,7 @@ const char* aboutLine[]={
|
|||
"niffuM",
|
||||
"<nk>",
|
||||
"NyaongI",
|
||||
"PichuMario",
|
||||
"potatoTeto",
|
||||
"psxdominator",
|
||||
"Raijin",
|
||||
|
|
@ -134,6 +136,7 @@ const char* aboutLine[]={
|
|||
"UserSniper",
|
||||
"Weeppiko",
|
||||
"Xan",
|
||||
"YaIiya",
|
||||
"Yuzu4K",
|
||||
"Zaxolotl",
|
||||
"ZoomTen (Zumi)",
|
||||
|
|
|
|||
|
|
@ -51,7 +51,9 @@ void FurnaceGUI::drawChannels() {
|
|||
ImGui::PushID(i);
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::Checkbox("##Visible",&e->curSubSong->chanShow[i]);
|
||||
if (ImGui::Checkbox("##Visible",&e->curSubSong->chanShow[i])) {
|
||||
MARK_MODIFIED;
|
||||
}
|
||||
ImGui::SameLine();
|
||||
if (ImGui::Button(ICON_FA_ARROWS)) {
|
||||
}
|
||||
|
|
@ -78,10 +80,14 @@ void FurnaceGUI::drawChannels() {
|
|||
}
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::InputTextWithHint("##ChanName",e->getChannelName(i),&e->curSubSong->chanName[i]);
|
||||
if (ImGui::InputTextWithHint("##ChanName",e->getChannelName(i),&e->curSubSong->chanName[i])) {
|
||||
MARK_MODIFIED;
|
||||
}
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::InputTextWithHint("##ChanShortName",e->getChannelShortName(i),&e->curSubSong->chanShortName[i]);
|
||||
if (ImGui::InputTextWithHint("##ChanShortName",e->getChannelShortName(i),&e->curSubSong->chanShortName[i])) {
|
||||
MARK_MODIFIED;
|
||||
}
|
||||
ImGui::PopID();
|
||||
}
|
||||
ImGui::EndTable();
|
||||
|
|
|
|||
|
|
@ -314,7 +314,7 @@ void FurnaceGUI::drawCompatFlags() {
|
|||
}
|
||||
ImGui::Checkbox("Continuous vibrato",&e->song.continuousVibrato);
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("when enabled, vibrato will not be reset on a new note.");
|
||||
ImGui::SetTooltip("when enabled, vibrato phase/position will not be reset on a new note.");
|
||||
}
|
||||
InvCheckbox("Pitch macro is not linear",&e->song.pitchMacroIsLinear);
|
||||
if (ImGui::IsItemHovered()) {
|
||||
|
|
|
|||
|
|
@ -534,9 +534,11 @@ void FurnaceGUI::drawInsList(bool asChild) {
|
|||
if (settings.unifiedDataView) {
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
if (ImGui::Selectable(ICON_FA_TASKS " Instruments",lastAssetType==0)) {
|
||||
if (ImGui::Selectable(ICON_FA_TASKS "##Instruments",lastAssetType==0)) {
|
||||
lastAssetType=0;
|
||||
}
|
||||
ImGui::SameLine();
|
||||
ImGui::Text("Instruments");
|
||||
ImGui::Indent();
|
||||
}
|
||||
|
||||
|
|
@ -602,18 +604,22 @@ void FurnaceGUI::drawInsList(bool asChild) {
|
|||
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
if (ImGui::Selectable(ICON_FA_AREA_CHART " Wavetables",lastAssetType==1)) {
|
||||
if (ImGui::Selectable(ICON_FA_AREA_CHART "##Wavetables",lastAssetType==1)) {
|
||||
lastAssetType=1;
|
||||
}
|
||||
ImGui::SameLine();
|
||||
ImGui::Text("Wavetables");
|
||||
ImGui::Indent();
|
||||
actualWaveList();
|
||||
ImGui::Unindent();
|
||||
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
if (ImGui::Selectable(ICON_FA_VOLUME_UP " Samples",lastAssetType==2)) {
|
||||
if (ImGui::Selectable(ICON_FA_VOLUME_UP "##Samples",lastAssetType==2)) {
|
||||
lastAssetType=2;
|
||||
}
|
||||
ImGui::SameLine();
|
||||
ImGui::Text("Samples");
|
||||
ImGui::Indent();
|
||||
actualSampleList();
|
||||
ImGui::Unindent();
|
||||
|
|
|
|||
|
|
@ -665,6 +665,7 @@ void FurnaceGUI::drawEditControls() {
|
|||
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("Octave");
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
|
|
@ -680,6 +681,7 @@ void FurnaceGUI::drawEditControls() {
|
|||
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("Edit Step");
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
|
|
|
|||
|
|
@ -1,270 +1,313 @@
|
|||
#include "fonts.h"
|
||||
// File: 'icons.ttf' (25956 bytes)
|
||||
// File: 'icons.ttf' (28108 bytes)
|
||||
// Exported using binary_to_compressed_c.cpp
|
||||
const unsigned int furIcons_compressed_size = 12568;
|
||||
const unsigned int furIcons_compressed_data[12568/4] =
|
||||
const unsigned int furIcons_compressed_size = 14633;
|
||||
const unsigned int furIcons_compressed_data[14636/4] =
|
||||
{
|
||||
0x0000bc57, 0x00000000, 0x64650000, 0x00000400, 0x00010036, 0x000e0000, 0x00030080, 0x54464660, 0x55d5a14d, 0x65000048, 0x00290382, 0x4544471c,
|
||||
0x00150046, 0x200f8214, 0x2c25822c, 0x2f534f1c, 0x52fa8c32, 0x01000069, 0x2b0f8268, 0x616d6356, 0xc7ffcb70, 0x020000b9, 0x012d2f82, 0x747663c8,
|
||||
0x043b0020, 0x0400006f, 0x261f8210, 0x73616704, 0x82ffff70, 0x65002259, 0x380f8224, 0x796c6708, 0x7309bc66, 0x040000ff, 0x5c000094, 0x61656824,
|
||||
0xd19d2464, 0x201b82ef, 0x210382ec, 0x10826836, 0x06820923, 0x835f8205, 0x6824282f, 0x2678746d, 0x825e10de, 0x82c0200f, 0x6c86281f, 0x7b61636f,
|
||||
0x823093ce, 0x8214203f, 0x6d80270f, 0x00707861, 0x3b820389, 0x7f820120, 0x6e20002d, 0x77656d61, 0x0087b987, 0x82b86000, 0x70f22c33, 0xcb74736f,
|
||||
0x00e7602a, 0x82ac6200, 0x847820a3, 0x00012deb, 0xbbd0b600, 0x3c0f5f46, 0x070b00f5, 0x00254682, 0xfffde000, 0x2b08839f, 0x778a00e1, 0x95fe80fc,
|
||||
0x47050007, 0x08220f82, 0x05820200, 0x33820283, 0x82000621, 0x070025b6, 0x0080fc00, 0x00200582, 0x18831182, 0x04200388, 0x3f251184, 0x0800bb03,
|
||||
0x24008300, 0x00000002, 0x22138401, 0x822e0040, 0x2b0d820b, 0x90010007, 0x00000500, 0xe6048c04, 0xfa201182, 0x032b0785, 0x0159005c, 0x020000cf,
|
||||
0x82090500, 0x21028515, 0x07851001, 0x46290584, 0x00547275, 0xe1200040, 0x20838535, 0x85568406, 0x208b8404, 0x2026833b, 0x83048207, 0x80fc2503,
|
||||
0x91000902, 0x52220c82, 0x79822000, 0x3500a52c, 0x29001d01, 0x6d019100, 0x9b827800, 0x47006034, 0x17015200, 0x4a000a00, 0x32018f00, 0x4f001b00,
|
||||
0x31822e00, 0x1801ca26, 0xa9003601, 0x28251b82, 0x4d013900, 0x82918200, 0x00032823, 0x017c0122, 0x8239007a, 0x01273413, 0x001300ce, 0x0073014c,
|
||||
0x01470022, 0x000b0127, 0x82b50085, 0x005b240f, 0x824b012e, 0x0000226f, 0x83058203, 0x861c2003, 0x00c2229b, 0x24098403, 0x0004001c, 0x2e1b82a6,
|
||||
0x00080008, 0x00000002, 0xe1f4e020, 0x84ffff35, 0xe1f02609, 0xffffff00, 0x200b82e3, 0x222b8400, 0x820e0006, 0x0004260b, 0x00060005, 0x202f8207,
|
||||
0x24858209, 0x000c000b, 0x2617820d, 0x0010000f, 0x82120011, 0x00142c85, 0x00160015, 0x00180017, 0x821a0019, 0x001c26c3, 0x001e001d, 0x08f1821f,
|
||||
0x2200212e, 0x24002300, 0x26002500, 0x28002700, 0x2a002900, 0x2c002b00, 0x2e002d00, 0x30002f00, 0x32003100, 0x34003300, 0x36003500, 0x38003700,
|
||||
0x3a28d982, 0x3c003b00, 0x3e003d00, 0x06208082, 0x81828485, 0x02010022, 0x02210582, 0x21008d00, 0xe4840001, 0x0d40148d, 0x043b22ce, 0x21d1826f,
|
||||
0x0185002c, 0x003c9708, 0x04c60084, 0x06640564, 0x07140704, 0x082a0898, 0x092809c2, 0x0aa40a6a, 0x0b7c0bf2, 0x0c220ce2, 0x0d5e0dda, 0x0e580ecc,
|
||||
0x10980fbe, 0x11b0104e, 0x12ba1172, 0x13001386, 0x14c8137c, 0x167815c8, 0x17121738, 0x1b1e1b80, 0x1c341cae, 0x1fea1dc0, 0x20bc1f08, 0x21342180,
|
||||
0x22fc218a, 0x27c82386, 0x28ca272a, 0x294e29ae, 0x2a062ac2, 0x2ba02bba, 0x00122ef0, 0x003b0002, 0x04150200, 0x000300aa, 0xb12e0007, 0x3c2f0001,
|
||||
0x000407b2, 0x06b132ed, 0xb23cdc05, 0x0a820203, 0x03b10022, 0x05201683, 0xb2271683, 0xfc010607, 0x8301b23c, 0x11333717, 0x21251121, 0x013b2111,
|
||||
0x0161feda, 0x049cfe64, 0x3b56fbaa, 0xd5823404, 0x80fc0226, 0x8003f5ff, 0x01200982, 0x002e5982, 0x21252105, 0x9a0533fd, 0x0007b3f9, 0x15820b0b,
|
||||
0x02032508, 0x043c0009, 0x002a04f7, 0x0025001b, 0x0100002f, 0x16322130, 0x010e1415, 0x15070607, 0x17161716, 0x1415011e, 0x0e2f0b82, 0x37212301,
|
||||
0x3d363221, 0x23263401, 0x85333521, 0x2b4d0809, 0x010a0201, 0x1f8e7dbd, 0x1e202031, 0x2025251e, 0x14132b1f, 0x385f2322, 0x01a217fe, 0x48483f18,
|
||||
0xfce8fe3f, 0x3d42423d, 0x8d2a04fc, 0x324f3877, 0x08030c0d, 0x1c0d0d02, 0x3c3f581c, 0x27273536, 0x3e428c2d, 0x88423e31, 0x3a2e393e, 0x088f833e,
|
||||
0x00910030, 0x036f0690, 0x000f00d6, 0x002b0017, 0x27302500, 0x07302130, 0x12362330, 0x12163337, 0x23300117, 0x33300706, 0x11300126, 0x33302700,
|
||||
0x03851330, 0x0702062f, 0xea023011, 0x49c7fe4c, 0x2fbf2f8a, 0x080382ab, 0x068dfe34, 0x3cf73d3c, 0xf7fe8402, 0x04cc9b17, 0xce3794cb, 0xe3e3901d,
|
||||
0x8c2e028c, 0x8cd2fd8c, 0xb9b9c902, 0x01f0fdb9, 0x28d4014a, 0x75018bfe, 0x329afe61, 0x8282b3fe, 0x82030021, 0x07d83a04, 0x038e0300, 0x038c0358,
|
||||
0x370000ba, 0x33270226, 0x17021d30, 0x1d17041d, 0x91029003, 0x8211a314, 0x9126f147, 0x26869571, 0x3317011e, 0x4137013e, 0x0d860673, 0x37033d22,
|
||||
0x04200289, 0x17850b8a, 0x298211a3, 0x719126f1, 0x332e86a1, 0x23070206, 0x2e270226, 0x0e232701, 0x0d820701, 0x2622052d, 0x37013e27, 0x3233011e,
|
||||
0x83263435, 0x27262918, 0x36343526, 0x17163233, 0x2e2b2182, 0x06222301, 0x16171415, 0x85011e17, 0x14152302, 0x3b822506, 0x27222322, 0x27262882,
|
||||
0x36373426, 0x3c823e37, 0x07202182, 0x1d352c84, 0x33161401, 0x023e3732, 0x3523013d, 0x8e231133, 0x68185e18, 0x3400cc01, 0x0c040e04, 0x0e030e04,
|
||||
0x0f7b0e39, 0x0f030e39, 0x0e030d03, 0x2761cc04, 0x62186401, 0x3a0e7a19, 0x0c205c83, 0x0f3b5c82, 0xf0020f3c, 0x0b276e4b, 0x4d1d0c2f, 0x342a7731,
|
||||
0x5a0a2409, 0x65702a2b, 0x82246348, 0x1a3c0813, 0x37373140, 0x09311616, 0x44300924, 0x74131615, 0x090c4302, 0x2c34484f, 0x1320212b, 0x22121212,
|
||||
0x5a3d5f22, 0x531e3837, 0x483c4611, 0x1e485050, 0x16271a1a, 0xe45adf7c, 0x70be0170, 0x0010b8cd, 0x2d47014d, 0x1919681a, 0x01441967, 0xfe444410,
|
||||
0x0a8244f0, 0x1a681922, 0x015b0110, 0x4d474147, 0xfe708408, 0x01457042, 0x671a4513, 0x1a671919, 0x45edfe45, 0x0b36380b, 0x2c290b2a, 0x0d2f2c6d,
|
||||
0x15020702, 0x5d502d2c, 0x0a343161, 0x24250b29, 0x162a342d, 0x08020c15, 0x171f0b02, 0x65293f17, 0x3e306e68, 0x292a1313, 0x42b84242, 0x282a2a42,
|
||||
0x31472627, 0x525c3931, 0x085c52a4, 0x1e312109, 0x9efe573b, 0x00070000, 0x062fff52, 0x004705ae, 0x0027001e, 0x0071005b, 0x008c0082, 0x050000b2,
|
||||
0x35262722, 0x84363734, 0x33302701, 0x0607020e, 0x0f453307, 0x14152b05, 0x3d322706, 0x1d223401, 0x65451401, 0x26012733, 0x16332702, 0xb4461712,
|
||||
0x0206290a, 0x11232107, 0x16173221, 0x07275c82, 0x012e2313, 0x48372327, 0x152707b2, 0x27262201, 0x8434012e, 0x8233208b, 0x08bf4523, 0x21059245,
|
||||
0x49823736, 0x010eb908, 0x366b1202, 0x1d0f1037, 0x3128271d, 0x3a553b8a, 0x0c0a1212, 0x51314711, 0x6a6e2f30, 0x3703d96d, 0x0c276f4b, 0x4d1e0c2e,
|
||||
0x342b7731, 0x5a092409, 0x65702b2b, 0x0c256348, 0x41190c2f, 0x15373631, 0x25093116, 0x16433009, 0xfb741315, 0x218321d1, 0x1450136b, 0x0c051304,
|
||||
0x14051205, 0x2169144e, 0x8f012083, 0x56090165, 0x3a392b2c, 0x4d147180, 0x249b7814, 0x9b242626, 0x5d3aad02, 0x23232122, 0x2e2e2221, 0x3333563b,
|
||||
0x0e3a0e1f, 0x44353e12, 0x36444c4c, 0x380f1242, 0xd069200e, 0x3c7f4242, 0x38363d3d, 0x2d232f30, 0x2a2b5052, 0x35312f33, 0x776a6735, 0x77197755,
|
||||
0x26080282, 0x0b363855, 0x2c290a2b, 0x0c302c6d, 0x14020802, 0x5d512d2c, 0x0a343160, 0x24240a29, 0x152b332d, 0x09020b16, 0x41200a02, 0x032c05d7,
|
||||
0xbf01706d, 0xe7fe466f, 0x1a691a46, 0x5c080282, 0x46190146, 0x7041fe6f, 0x34339e02, 0x11604d60, 0xb62ee7fe, 0x2a26552e, 0xde262a3e, 0x2a278efe,
|
||||
0x84b6842a, 0x14142a2a, 0x084a2525, 0x32390820, 0x53a1525f, 0x083b365e, 0x4e4a0921, 0x20000400, 0xe006d800, 0x0b008e03, 0x4a001500, 0x00007400,
|
||||
0x30113037, 0x14163221, 0x19012b06, 0x08374a01, 0x4e470120, 0x17162205, 0x47128216, 0x2e250650, 0x3e343501, 0x0b914102, 0x1506072c, 0x011f1614,
|
||||
0x1415011e, 0x4d47020e, 0x022e2105, 0x16212485, 0x0c464717, 0x3e373623, 0x06484701, 0x0121d108, 0x66665d20, 0x2aadb45d, 0xad292f2e, 0x7655dd02,
|
||||
0x0d320c2a, 0x362b2b23, 0x3b2e4141, 0x620a270a, 0x563d2162, 0x37384c36, 0x0d320d28, 0x39384b1a, 0x37342020, 0x205d643c, 0xdd025a3f, 0x4c5e0a04,
|
||||
0x294a663c, 0x426c4d2a, 0x59237d5a, 0x503d5113, 0x20506161, 0x16161d1c, 0x5ff38a19, 0x6d9e02e4, 0xf5fe6db9, 0x282b6a01, 0xfd2b292e, 0x0b343db6,
|
||||
0x162b0c2f, 0x27313a17, 0x07020c2e, 0x515c1202, 0x1b31482c, 0x0b321a1b, 0x29210b2d, 0x2a2c1817, 0x130c0b29, 0x4d2f505d, 0x31711d37, 0x82572d40,
|
||||
0x58815454, 0x3447502e, 0x5d663b2f, 0x09665d6e, 0x2f0f1008, 0xfe5d3420, 0x0005009b, 0x06d8002e, 0x008e03d2, 0x001f0012, 0x0134002a, 0x25000046,
|
||||
0x2807af42, 0x1e32013e, 0x020e1402, 0x05ca4227, 0x1d06222a, 0x05161401, 0x17322111, 0x2c0f5e41, 0x27012e05, 0x17071d23, 0x1d170f1d, 0x8502870e,
|
||||
0x2305820b, 0x11231101, 0x27073143, 0x3d27053d, 0x0e3d270f, 0x0b880287, 0x3311042d, 0x02262311, 0x603c3301, 0x82232223, 0x7a5f3a02, 0x23234460,
|
||||
0x483c6144, 0x4f904f4f, 0x01df014f, 0x2b2c5609, 0x9aa35657, 0x26008225, 0x0863029a, 0x440c0922, 0x622807b2, 0x22852175, 0x0d082308, 0x76231088,
|
||||
0x42d98521, 0x282d073d, 0xb6845428, 0x5a275484, 0x52a2525d, 0x3304845d, 0x339e024f, 0xfe67c134, 0x256901f1, 0x26293d2a, 0x155315b2, 0xae4dff44,
|
||||
0xfe02284d, 0x439e0270, 0x4043f4fe, 0x01278088, 0x4362fd90, 0x82000c01, 0x00043c00, 0x068100a5, 0x00e5035b, 0x0048002f, 0x005e0054, 0x23300100,
|
||||
0x2223010e, 0x4435022e, 0x904a07d1, 0x05d04409, 0x83363721, 0x013d3501, 0x11213523, 0x32210123, 0x06141516, 0x07010e07, 0x17021e15, 0x07300b82,
|
||||
0x2123020e, 0x37323337, 0x34013d36, 0x012b2627, 0x080add4d, 0x0e04e541, 0x804a6074, 0x3035345c, 0x53434330, 0x122b9c71, 0x6518124a, 0x7979634d,
|
||||
0x24242863, 0x10101b1b, 0x772f01ac, 0x72010601, 0x141b7769, 0x1a1a3415, 0x1311353d, 0x4f391011, 0x8768fe2f, 0x821e35e9, 0x356a0800, 0x3733d2e9,
|
||||
0x01d23337, 0x38503d0f, 0x686aa26d, 0x1c3738a2, 0x0b59631c, 0x493b0b2b, 0x7588757f, 0x130b0a7f, 0x271e1d14, 0x41fe7541, 0x62764603, 0x1515422f,
|
||||
0x01070314, 0x25242f16, 0x2d2c3235, 0x1b752541, 0x3429331c, 0x33711c1b, 0x33302730, 0x00050000, 0x06d80035, 0x008e03cb, 0x0046001f, 0x00600053,
|
||||
0x25000066, 0x1b442622, 0x37362c13, 0x0617011e, 0x22210607, 0x8227012e, 0x37362521, 0x3337013e, 0x07201082, 0x32290383, 0x033e1716, 0x021e3233,
|
||||
0x10584315, 0x2135a808, 0x37123635, 0x15331133, 0x33251523, 0x010e2311, 0x96834e01, 0x41694926, 0x5b217658, 0x4d3b4811, 0x3d4d5959, 0x3a0f124c,
|
||||
0x3c3d210e, 0x5738fc01, 0x2c10113c, 0x29552323, 0x2d2d3990, 0x16172221, 0x0104020d, 0x30251c0b, 0x35482a20, 0x573e211d, 0x41413b35, 0x02424275,
|
||||
0x2dc9fea1, 0x5b8e2eb5, 0xdbbefe5b, 0xd98e2307, 0x8154a9b1, 0x4b4d2e58, 0x6a393032, 0x6a5d665d, 0x2309313f, 0x29294909, 0x30304424, 0x3680493d,
|
||||
0x291c5336, 0x29282627, 0x01362d2d, 0x1b231501, 0x4d371c0f, 0x3c53332f, 0x3d3e5821, 0x843e3d0d, 0x4d270804, 0x014a5d83, 0x3afe4a2a, 0x01d88355,
|
||||
0x00ed3b63, 0xff1d0105, 0x05e30535, 0x000b0042, 0x001b0015, 0x0067004e, 0x45350500, 0x1124148d, 0x15211133, 0x21109345, 0x92452726, 0x0706250a,
|
||||
0x2223012e, 0x240c9145, 0x010e2301, 0x21028207, 0x2882012e, 0x11232726, 0x13331123, 0x11230182, 0x457c0123, 0x292b0783, 0xad292e2e, 0x016c1402,
|
||||
0x459afc11, 0x1e210d88, 0x0987451d, 0x45490321, 0x032b0d86, 0x2309052f, 0x0f681c09, 0x821c680f, 0x042f0808, 0x06b48068, 0xcb677bb3, 0x6e8c0213,
|
||||
0xf5fe6eb8, 0x282c6a01, 0xfd2c282e, 0xfd9f02c0, 0x570361c2, 0x2f0c343d, 0x16162b0b, 0x2e27313a, 0x4505060b, 0x1a3f0682, 0x4102321b, 0x17172822,
|
||||
0x0a2a2a2c, 0x515c130d, 0x1e364d2f, 0x48120c02, 0x1cbc3412, 0x8234bc1c, 0x00fe3208, 0xabfe9e02, 0x62fd5501, 0x00040000, 0x06d80029, 0x06bb46d7,
|
||||
0x46003a22, 0x461abb46, 0x1d2611a8, 0x16171401, 0x6c423233, 0x11252307, 0x01871521, 0x01292108, 0x66655e20, 0x29adb35d, 0xad292e2e, 0x95840f03,
|
||||
0x41694926, 0x223b3b57, 0x110f3d0f, 0x2c4e3b48, 0x4e350082, 0x0e134c3c, 0x3c220f3a, 0x012d013d, 0x01bffeae, 0x01ddfe23, 0x106d4641, 0x54a9b134,
|
||||
0x272d5981, 0x22084b26, 0x35393008, 0x5d665d35, 0x2e423535, 0x020b2a07, 0x60ba609e, 0x000060c4, 0x82475103, 0x6d01082e, 0x93052fff, 0x44004705,
|
||||
0x6d005500, 0x9e299182, 0xd500ab00, 0x0000e300, 0x05c04625, 0x0622232c, 0x27012e07, 0x013e3736, 0x83433637, 0x0e072205, 0x09775202, 0x82070621,
|
||||
0x22232a01, 0x3727022e, 0x17161716, 0x093e481e, 0x43013521, 0x373706cc, 0x3233023e, 0x27061016, 0x3d023e32, 0x022e3401, 0x07010e22, 0x4f011d06,
|
||||
0x25820589, 0x34350225, 0x42353736, 0x322005c7, 0x124a4282, 0x1e152405, 0x82141501, 0x0c49476b, 0x56471320, 0x8325200b, 0x2307211e, 0x02829982,
|
||||
0x27262223, 0x232d8206, 0x2e272223, 0x37204f82, 0x2406c94f, 0x1617011e, 0x82c98807, 0x16550873, 0x3c3e4b02, 0x4330313a, 0x0c300c17, 0x3314130f,
|
||||
0x2f2b2021, 0x0a213a50, 0x1a2f240a, 0x131a191d, 0x1f221613, 0x362c2d1f, 0x2a36472f, 0x0e0c500f, 0x2e11120e, 0x45413e1c, 0x9802473f, 0x0e3c5c3e,
|
||||
0x3c0e0f0f, 0x767d3e5c, 0x31237d76, 0x1e0e0e1e, 0x1f314531, 0x08008207, 0x31100fb3, 0x593bf8fd, 0x3c4a1f3d, 0x371e3e34, 0x29296853, 0x3f0f0f38,
|
||||
0x104a3d34, 0x3a5a3c10, 0x7942423c, 0x373d4242, 0x3a6f3b3b, 0x1652033a, 0x29564516, 0x225b3890, 0x010d2d21, 0x0e0a0105, 0x2030260e, 0x3524242a,
|
||||
0x1f11101d, 0x3836561f, 0x113c2c2b, 0x413bec10, 0x413b3a42, 0x2935c641, 0x2c312e07, 0x0a2a0a26, 0x1d141516, 0x2d17090a, 0x1a202841, 0x06192819,
|
||||
0x0d0d0604, 0x25391415, 0x191a482c, 0x21140e0e, 0x143e172c, 0x0c0c1111, 0x07343a0d, 0xfe5c3634, 0x40582f6a, 0x41525340, 0xb72f5940, 0x5cb6b8fe,
|
||||
0x2c49331c, 0x34482c75, 0x24341c1c, 0x08098224, 0x1a23252e, 0x06031c1a, 0x2a47341d, 0x07115143, 0x263a4e13, 0x0d192d40, 0x20202d0c, 0x134e3a26,
|
||||
0x43511107, 0x3424232a, 0x3238571d, 0x37373213, 0x38270482, 0x2e303a01, 0x84302e10, 0x1f2a0804, 0x6b404149, 0x4e291b55, 0x365a2828, 0x12140101,
|
||||
0x0e0f1b12, 0x304c360f, 0x1d2b2a32, 0x1312221e, 0x93303044, 0x3c0e3c3f, 0x04823e3e, 0x82003f21, 0x00043700, 0x06e40078, 0x00830388, 0x0027000f,
|
||||
0x00400037, 0x11300100, 0x03842330, 0x2130352a, 0x13301530, 0x33303530, 0x1b830f8a, 0x17823320, 0x27302122, 0x69542782, 0x010e3c0c, 0x012e3307,
|
||||
0xc86cac01, 0x5b53fc01, 0x5c24015b, 0x3c2b025c, 0x266f3afb, 0x82882699, 0xfe430803, 0x411005d7, 0x4010c610, 0xc2fd2203, 0x60603e02, 0x0158c2fd,
|
||||
0xfe5858ee, 0xb5b55812, 0x70be0170, 0x7042fe70, 0xc5313a02, 0x00c53131, 0x08000500, 0xf806d800, 0x34008e03, 0x46003e00, 0x58005000, 0x4b370000,
|
||||
0x272a3207, 0x13230723, 0x17121633, 0xa1862301, 0x3e081190, 0x2a7655fd, 0x230d310d, 0x40372b2b, 0x0a3a2e41, 0x62620a28, 0x36563c22, 0x2738384c,
|
||||
0x1a0d320d, 0x203a374b, 0x3c36341f, 0x3e215d65, 0x3dd0025a, 0xe46e3bfa, 0x26982689, 0x1104d7fe, 0x82c51040, 0x912820d1, 0x4ad92013, 0x0b242cea,
|
||||
0x9e02b5b5, 0x210a0041, 0x108ef7fd, 0x00820020, 0x60000335, 0xa006d800, 0x15008e03, 0x4b002b00, 0x30250000, 0x53333003, 0x33200542, 0x25057b43,
|
||||
0x07020633, 0xb1413521, 0x47052013, 0x012d1def, 0x1270db3c, 0x2b0a1247, 0x2b0b040b, 0x2509820b, 0x2595256d, 0xc7414b01, 0x84012605, 0x4a269683,
|
||||
0x14c94768, 0x9e02e428, 0x2737dd37, 0x0282279b, 0xc3830882, 0x2007d641, 0x17a9470b, 0x042acb82, 0xe4004700, 0x8303b906, 0xcd820b00, 0x29002122,
|
||||
0x46183f46, 0x01280a1b, 0x23112311, 0x48152135, 0x210e3047, 0x0246ad01, 0x7b012507, 0xfc01c86c, 0x200f0846, 0x06ea45c1, 0x423e0221, 0x7f820579,
|
||||
0x7b4f0620, 0x003d260c, 0x0058004e, 0x28794f7e, 0x2156454f, 0x454f7a03, 0x09fe211b, 0x216d184f, 0xeb4e1803, 0x01063b4a, 0x0535ff17, 0x004205e9,
|
||||
0x0017000b, 0x004b002d, 0x005f0055, 0x11300500, 0x03823330, 0x15302122, 0x0b870784, 0x31057550, 0x37363435, 0x1632013e, 0x14011e17, 0x010e0706,
|
||||
0x9c4b3227, 0x27342906, 0x012e2726, 0x07062223, 0xbf460182, 0x11052107, 0x2412394f, 0x11016ccc, 0x08038263, 0x4210fd22, 0x2926266a, 0x6a262629,
|
||||
0x26256b83, 0x25262a2a, 0x4026416b, 0x0c0d1617, 0x17160d0c, 0x3f282640, 0x3f220b87, 0x8348f401, 0x02cb250c, 0x61c2fd9f, 0x032b0484, 0x2b2c2d57,
|
||||
0x82545582, 0x832d2c2b, 0x83a92009, 0x1b612d08, 0x25251919, 0x252e692e, 0x1b191925, 0x552f0c8c, 0xb86e9e02, 0x01f6fe6e, 0x2e282c69, 0x82002c28,
|
||||
0x0a0036f0, 0xf606d800, 0x12008e03, 0x3a003000, 0x4a004400, 0x22250000, 0x06a84f2e, 0x2107b14e, 0x604c3637, 0x4ae6a606, 0x2c290592, 0x294c6a42,
|
||||
0x426a4c29, 0x9b078541, 0x665d21e0, 0x08086449, 0x6d130222, 0x2dd91001, 0x54548257, 0x2d2d5882, 0x82a88258, 0x1b602d57, 0x2425191a, 0x242e6a2e,
|
||||
0x1b1a1925, 0xd5820c8c, 0x280cd54f, 0xfd9e02c1, 0x000060c2, 0x22cb8204, 0x82b606d8, 0x001326db, 0x002d0022, 0x06d34366, 0x30153023, 0x26038821,
|
||||
0x30013011, 0x83173233, 0x070124e8, 0x52012b06, 0x27240569, 0x11012b26, 0x5006cf52, 0x272107e6, 0x82fc8226, 0x34352202, 0x0de85037, 0x14150623,
|
||||
0x06e85017, 0x06072408, 0x4a010e07, 0xcafea301, 0xedfe1301, 0x41edc301, 0x294a3434, 0x34344a29, 0x4beded41, 0x4b2e2e5c, 0x45dc0280, 0x242705de,
|
||||
0x40372b2a, 0x45171741, 0x112405df, 0x35563d11, 0x0807e045, 0x3a384a2b, 0x361a1a3f, 0x115d653c, 0x59201f10, 0x609e02e4, 0xdcfe60ba, 0x15159e02,
|
||||
0x7da87d54, 0x60151554, 0x5b6c5b5e, 0x22fe2f2f, 0x0ad6456b, 0x50171721, 0x242107c2, 0x09c35024, 0x2c2f2808, 0x0b14152a, 0x515c130c, 0x1b26272f,
|
||||
0x00001d1c, 0x008f0004, 0x03710690, 0x001500d6, 0x0039002f, 0x25000043, 0x53300130, 0x6e4e1186, 0x0bd44905, 0x2322df84, 0x0a523721, 0x096e4e08,
|
||||
0xfea2012e, 0x59168ded, 0x0b360f16, 0x0b380f05, 0x89370982, 0x012fb92f, 0x687301c2, 0x34291b77, 0x1f1e1919, 0x10241b1a, 0x4e1d1c11, 0x3c21065d,
|
||||
0x075b4e3c, 0x46039034, 0x45ecfe45, 0x3729c536, 0x014525c8, 0xfd8c4514, 0x4b4e8cd2, 0x142a3605, 0x0b010703, 0x4918170b, 0x2d2c3235, 0x75252120,
|
||||
0x34293337, 0x074a4e37, 0x01050036, 0x0535ff32, 0x004105ce, 0x00330026, 0x008a0078, 0x0500009b, 0x202e2c4e, 0x41d14a01, 0x4d012e21, 0x1e290642,
|
||||
0x11331701, 0x21231133, 0x26048235, 0x2607020e, 0x82373627, 0x15300810, 0x57387002, 0x2c10103d, 0x2a552322, 0x2d2d3990, 0x17172122, 0x0105010c,
|
||||
0x31251c0a, 0x35472b1f, 0x573d221e, 0x42423a35, 0x02414175, 0x393b3f44, 0x2108884a, 0x884a3413, 0x0a0b2206, 0x07884a23, 0x1f233c08, 0x362c2c1f,
|
||||
0x2937472f, 0x0e0d4f0f, 0x2d12110e, 0x45413e1d, 0xb2fd4740, 0x030e3408, 0x0edb7968, 0x67030834, 0xbc430179, 0x3e341708, 0x55400212, 0xcba3a556,
|
||||
0x30304425, 0x4e81493c, 0x47080d90, 0x0f1b2414, 0x2f4d361d, 0x223c5333, 0x0d3d3e59, 0x3c3f3f3c, 0x013e3d0d, 0x0729353d, 0x262b312e, 0x160a2a0a,
|
||||
0x091e1414, 0x402d1709, 0x1a1a2028, 0x05061927, 0x140e0c06, 0x2c253815, 0x0e1a1a48, 0x2b21150e, 0x10153f17, 0x0806594a, 0x5c363335, 0x63104a03,
|
||||
0x0200fe1b, 0x1b8dfe9e, 0x01021063, 0x015a62fd, 0x433818f5, 0x5c3a0213, 0x5abcfd5d, 0x1b000300, 0xe506d800, 0x39008e03, 0x7f005c00, 0x49250000,
|
||||
0x68430d47, 0x27262205, 0x10694326, 0x260ac04e, 0x0e070607, 0x56222101, 0x3e220597, 0xc95b3301, 0x0c09560a, 0x012722a2, 0x2a775410, 0x490c320d,
|
||||
0x91430570, 0x31312c06, 0x573c1111, 0x38374c36, 0x49330c27, 0x23080b73, 0x1f1f1011, 0x8429025a, 0x24131395, 0x57426825, 0x3d0f2276, 0x3a48120f,
|
||||
0x4e58584e, 0x0f124c3c, 0x79220f3a, 0x8b491e9e, 0x06b4430b, 0x512e2e23, 0x0bb5432c, 0x2d171729, 0x0c0b292a, 0x43505d13, 0xb12805b5, 0x404154a9,
|
||||
0x4d2e2c2c, 0x50053b4e, 0x52200a68, 0x00281a9a, 0x4f000500, 0xb106d800, 0x21099354, 0x93544000, 0x21012234, 0x08028235, 0x06152128, 0x01210702,
|
||||
0x22603d54, 0x22232322, 0x60796022, 0x44242444, 0x4e483c60, 0x4f4f904e, 0x0901de01, 0x572c2b57, 0x0d57a357, 0x60032e05, 0x420141fe, 0xa601cdfe,
|
||||
0x0136d636, 0x2b41544c, 0xbcfd2a08, 0x59ea015b, 0xbafe525b, 0x00070052, 0x0635ff2e, 0x004205d2, 0x0033001c, 0x00530047, 0x0073005d, 0x37000091,
|
||||
0x15300706, 0x05034c30, 0x33301132, 0x37363736, 0x07063330, 0x23171216, 0x1101012e, 0x450ae545, 0x26230cf1, 0x58333027, 0x3320066f, 0x1122cf82,
|
||||
0xe5560130, 0x012e2118, 0x082df347, 0x1a42f736, 0x48046d6d, 0x7f5a5a18, 0xba32ae41, 0x92278316, 0xad01a501, 0x2301c0fe, 0x4001ddfe, 0x73742201,
|
||||
0x1b6d1b7c, 0x1b6c1b03, 0x2da41878, 0x20014afb, 0x5e65655e, 0x20075d50, 0x29144817, 0x4b6e2308, 0x9f02d01e, 0x1e5cacfe, 0xce4d6d6d, 0x21e8fe4b,
|
||||
0xe2fee13d, 0xbb609f02, 0x0161c360, 0x32cbcc08, 0x028232c7, 0xe2fe2927, 0x03f6fe4e, 0x0df84763, 0x48b5fd21, 0x00212d37, 0x8f6b6200, 0xca000535,
|
||||
0x360635ff, 0x0f004205, 0x33001700, 0x92006600, 0x4e050000, 0x062a1105, 0x26333007, 0x27012e05, 0x494e3023, 0x30332605, 0x17011e13, 0x06e74933,
|
||||
0x53302321, 0x25243037, 0x33270226, 0x16214282, 0x07e34c17, 0x2706f14c, 0x33373637, 0x23070206, 0x262f6c82, 0x07062327, 0x0207010e, 0x3afb3df8,
|
||||
0x4e98266e, 0x30340770, 0x0230c631, 0x08340e19, 0xdb796802, 0x030e3408, 0x5bfc7967, 0x48057c44, 0x2e35050e, 0x621e1e3a, 0x563d2262, 0x38374c36,
|
||||
0x1a490327, 0x1f3a384a, 0x07eb4d20, 0x90014c08, 0x6e1a6a1a, 0x18092e0d, 0x24080317, 0x0f360b0a, 0x0a360e79, 0x03092309, 0x6b232331, 0x7a1b6e1c,
|
||||
0x1910390d, 0x19190219, 0xcb0d3b10, 0x0170b6b6, 0xfe7070bf, 0x3b027041, 0x34949494, 0xfd0f641b, 0xfe9f02ff, 0x1b640f8d, 0x53fd0102, 0x0c212d79,
|
||||
0x334b826f, 0x6f2ddb3b, 0x29981e70, 0x3c3cdc2b, 0x94252bdc, 0xa2a1de25, 0x6f245f82, 0x663fea31, 0x3f370082, 0x040031ea, 0x3bff1801, 0x3c05e805,
|
||||
0x3a001b00, 0x57004300, 0x41250000, 0x21221a7d, 0xa5612330, 0x3e232306, 0x0a823701, 0x27089843, 0x1e07010e, 0x33110101, 0x2007c543, 0x06764111,
|
||||
0x27823320, 0x0806b543, 0x320ccd36, 0x7867030c, 0x0c310ddb, 0x03796803, 0x6d1b7f3f, 0x6b1b021b, 0x9124781b, 0x238b2324, 0x19661980, 0x1a671a02,
|
||||
0x248c2478, 0xd9fb9325, 0x0111016c, 0x269a2601, 0x08078043, 0x9a277723, 0x5f17ae27, 0x02fffd18, 0x188efe9e, 0x0002175f, 0xb22d62fd, 0x2db22c2c,
|
||||
0x3639e539, 0xa72936db, 0x3e028229, 0x3936da36, 0x022903e6, 0x60c2fd9e, 0x01440801, 0xc732430f, 0x32c73131, 0x43f2fe43, 0x8200f6fe, 0x01062200,
|
||||
0x20f38236, 0x2ff382ca, 0x001e0014, 0x0032002a, 0x00500044, 0x23300500, 0x22055744, 0x82061415, 0x5c1720cb, 0x27220fc8, 0x18650723, 0x070b5008,
|
||||
0x3e4f0320, 0x2103210e, 0x3a0b6e4e, 0x21016da3, 0x4142685a, 0x79186118, 0x85165a16, 0x2f2e2aac, 0xb603ac29, 0x423bfa3d, 0x10330a64, 0x10c51040,
|
||||
0xdc79fd40, 0x11481171, 0x040a2b0b, 0x820b2c0b, 0xdf6e2309, 0x984e6801, 0x02c53f09, 0x485d6c9e, 0xbc2f145f, 0x2db52d2f, 0x2e292b5b, 0xfed52b28,
|
||||
0x70b6b696, 0x6f6fbf01, 0xf95041fe, 0x59012107, 0x220d4f4f, 0x540262fd, 0x003007a6, 0x00a90002, 0x03570690, 0x001d00d6, 0x25000033, 0x2005cb41,
|
||||
0x05855106, 0x210eae41, 0x05500516, 0x08114905, 0x33304008, 0x03301530, 0x9027a076, 0x64640413, 0x35c21896, 0xa017bc33, 0x02207f20, 0x96208120,
|
||||
0x8a33be17, 0x0aeb2d01, 0x164f411c, 0x41955003, 0x4190ccce, 0xa7a720ed, 0x53330127, 0x2426014f, 0x8234d034, 0xfe243402, 0xd7d74fdb, 0x1e720271,
|
||||
0x02175446, 0xfd47a148, 0x1000712b, 0x0102c71e, 0x28010634, 0xd8052fff, 0x0f004705, 0x43002500, 0x74005600, 0x4b547c00, 0x33d34f11, 0x194f0120,
|
||||
0x071e522b, 0x6d670228, 0x01fb01c7, 0xe84f4173, 0x6b822107, 0x2205fa4f, 0x4f27416b, 0x272509f1, 0x16164027, 0x2c00820d, 0xfd401616, 0x4c6b41d0,
|
||||
0x6b4c2929, 0x21078741, 0x1c874126, 0x28264134, 0x0c17163f, 0x170c0d0d, 0xed023f16, 0xfc01c86c, 0x47527901, 0xb7fd3605, 0x822c2b2d, 0x2c815554,
|
||||
0x2c2d2d2c, 0x82a9812c, 0x612d2b2c, 0x06384f1a, 0x4f242521, 0x24210538, 0x06454f25, 0x01031a24, 0x2e83572d, 0x2d2d5823, 0x202c8258, 0x502b8a57,
|
||||
0x714f093a, 0x011a2205, 0x08ab52e8, 0x39000538, 0xc70635ff, 0x0c004105, 0x3b001600, 0x81005e00, 0x30170000, 0xcb5e3011, 0x10ae6112, 0x2005895a,
|
||||
0x0ca34b06, 0x013e0136, 0x010e2337, 0x2e010b07, 0x1e232701, 0x23111701, 0x17163311, 0x33220882, 0x1b823736, 0x23113322, 0x392622a2, 0x2c560901,
|
||||
0xd25e582c, 0xad2f0808, 0x21215d3b, 0x21212424, 0x553b2e2f, 0x491e3433, 0x343f110d, 0x454b4b45, 0x0e124335, 0x6a1f0e38, 0x0501c402, 0x22030c01,
|
||||
0x09818309, 0x820c0322, 0x6220080c, 0x04373678, 0x18080922, 0x05511617, 0xd5fd6277, 0x0b010402, 0x83092104, 0x04210982, 0x0204010b, 0x36322082,
|
||||
0x09092105, 0x52151817, 0xbf627704, 0x34339e02, 0xf75e66c2, 0xb0fd2208, 0x07626128, 0x25133708, 0x07294925, 0x525e3238, 0x355e52a2, 0x0822083c,
|
||||
0xa9014f4a, 0x09134c13, 0xeffe1552, 0x51151101, 0x134b1208, 0x9e0263fe, 0x5d0e7575, 0x2e43421a, 0x62fd0ab2, 0x219fff04, 0x00000033, 0xff4d0104,
|
||||
0x05b3052f, 0x00170047, 0x008b0051, 0x05b7529d, 0x4a09d350, 0xc25009ed, 0x23594d14, 0x4d0e1649, 0x01202992, 0x2110094f, 0x76468501, 0x4b013809,
|
||||
0x0c2a7654, 0x2a240c32, 0x4240362c, 0x0a3b1717, 0x31610a28, 0x48111031, 0x0c2306f1, 0x611a0c33, 0x3b2906d3, 0x10105d65, 0xfd5a1f20, 0x2332848b,
|
||||
0x2b2b230d, 0x272e3286, 0x3131620a, 0x563c1111, 0x37384c36, 0x32890d28, 0x82643c21, 0x1f1f2b32, 0x0ce2015b, 0x68020d31, 0x0682db79, 0x79670323,
|
||||
0x06b246c5, 0x343d0b32, 0x2b0c2e0c, 0x31391616, 0x0b171827, 0x12020702, 0x250d764d, 0x17172822, 0x764d2b2c, 0x6203210b, 0x012133b1, 0x0f54487e,
|
||||
0x0000002f, 0x00cf0002, 0x03310681, 0x003400e5, 0x10f14e4a, 0x666a2620, 0x08985c05, 0x5209ae5d, 0x98080758, 0x1101020e, 0x36321614, 0x11331135,
|
||||
0x020e0714, 0x022e2722, 0x02021135, 0x0f34946a, 0x352d0f3f, 0x52504436, 0x2525493a, 0x2a3d3d7b, 0x5e446b4c, 0x5b314646, 0x465d2104, 0x21282847,
|
||||
0x7e4b4420, 0x704e2974, 0xc552f901, 0x11108551, 0x3bae764b, 0x82214b3b, 0x3a0f404d, 0x1b1c360f, 0x3a313d48, 0x1706070e, 0x3865393a, 0x21213e59,
|
||||
0x03513e21, 0x1c1d322a, 0x1a1a3438, 0x7318100d, 0x44613a65, 0xfd540325, 0x6c6c6bfc, 0xfe04026b, 0x44435c11, 0x16152b57, 0x015c8658, 0x10db82ef,
|
||||
0x3d07732d, 0x35ff0a39, 0x4205f606, 0x18000e00, 0x49002b00, 0x5d005300, 0x00006300, 0x5c333001, 0x2b200968, 0x2306965a, 0x11012b26, 0x5c2c824c,
|
||||
0x113a1483, 0x15211133, 0x41ed7602, 0x29252568, 0x68252529, 0x4beded41, 0x804b5c5c, 0xb05b49fe, 0xd4013c3a, 0x7e2a292b, 0x292a7ea7, 0x5b5e612b,
|
||||
0xfe5f5b6b, 0x2df60222, 0x54558257, 0x822d5782, 0x82a92007, 0x1b612906, 0x24251919, 0x242f692f, 0x88075f4c, 0x0e9a5c0c, 0xc45bfd20, 0x00052606,
|
||||
0x06d80003, 0x0abf56fd, 0xbf565920, 0x4c052034, 0xaa601362, 0x2311230d, 0xd8560801, 0x0d2e6b11, 0xd856a420, 0x01963906, 0x080b0105, 0x8283071f,
|
||||
0x0b081f07, 0x61010401, 0x12481278, 0x09081f08, 0x12240382, 0x62771247, 0x3a2bec56, 0x134c13a7, 0xfe124b13, 0x121101ef, 0x4a13124a, 0x0263fe13,
|
||||
0x279c279e, 0x82165916, 0x22088202, 0x820062fd, 0x00033100, 0x06d80022, 0x008e03de, 0x0033001b, 0x1300006c, 0x561c5953, 0x114c15ff, 0x012e2114,
|
||||
0x5c106a59, 0xd7200fd4, 0x28056553, 0x0c320cdb, 0x01796803, 0x0ad45640, 0xd05c4c20, 0x5702212f, 0x220a214b, 0x52010218, 0x0b200854, 0x0832cd5c,
|
||||
0x07000025, 0x2fff7c01, 0x47058405, 0x5b003700, 0x75006800, 0xa9009c00, 0x0000d500, 0x0e213001, 0x36330701, 0x66023e37, 0x012407a0, 0x22230607,
|
||||
0x23050076, 0x1e171637, 0x15791782, 0x06222905, 0x27012e07, 0x2137013e, 0x663a7666, 0xa46a07d7, 0x011e220d, 0x17a46a33, 0x82352121, 0x055a5f71,
|
||||
0x22232624, 0x8383020e, 0x02233c82, 0x82171632, 0x79152001, 0xc28205c9, 0x03213708, 0x03d7fe26, 0x0b06020c, 0x2b200d0d, 0x364b2b1c, 0x3d10101f,
|
||||
0x2d392c2d, 0x14342323, 0x0c4f1013, 0x2b230d0e, 0x41413b1c, 0x12342b3b, 0x040f3c0f, 0x7c010411, 0x75666901, 0x3b3b3724, 0x583717fe, 0x2c11103c,
|
||||
0x29552323, 0x2d2e3890, 0x17162221, 0xfd6a010c, 0x221e2109, 0x0806fd6a, 0x03414159, 0x2339fe50, 0x1b33248f, 0x1c323a1b, 0x06141f29, 0x0b103f10,
|
||||
0x4c381212, 0x1c1b5066, 0x2d190f0e, 0x1a201e1d, 0x52011a69, 0x9e277b01, 0x10101428, 0x361c0c17, 0x2a32314e, 0x10113d2a, 0x16210a0a, 0x143e1815,
|
||||
0x0d191110, 0x3a0b3a41, 0x02142141, 0xf93e0209, 0x6657fd3e, 0x01213766, 0x0b666bd1, 0x2827262d, 0x352d2e28, 0x23140101, 0x6b1d101b, 0x3f081266,
|
||||
0x207f2068, 0x2e2a2a2e, 0x1138310c, 0x0616271c, 0x1d200619, 0x1e1b2e1d, 0x25241b1a, 0x3e45282b, 0x171c1c1c, 0x0000175a, 0x7a010600, 0x86052fff,
|
||||
0x28004705, 0x6c003600, 0x9f009200, 0x0000ca00, 0x680c5868, 0x25222657, 0x83420621, 0x013e2418, 0x5f031e37, 0x5069064c, 0x21132207, 0x14bf5e25,
|
||||
0x2219eb6c, 0x61363521, 0x454206a0, 0x6852201e, 0x3935055d, 0x2c22225a, 0x0a04030d, 0x30260e0e, 0x24242b1f, 0x11111e34, 0x055c681e, 0x103d4508,
|
||||
0x413bec10, 0x423a3b41, 0xfe340342, 0x070c05d6, 0x210c0d0b, 0x4a2b1d2a, 0x0f101f36, 0x392c2d3e, 0x3523222d, 0x0e101413, 0x1b0d0d34, 0x3c1c2b22,
|
||||
0x2b3c4040, 0x3c0e1234, 0x0112070f, 0x3810fd7c, 0x11103c58, 0x552c2382, 0x2d389029, 0x1622212e, 0x03030c17, 0x5e07476d, 0x412205e5, 0x49427541,
|
||||
0x6b6b2505, 0x3b1c1b33, 0x21054842, 0x4842400f, 0x1b1c2e07, 0x2c190f0e, 0x1b201d1e, 0x52011a69, 0x2d4868e0, 0xa449f222, 0x24147542, 0x140a2a0a,
|
||||
0x0b764221, 0x01017423, 0x2d3b42b9, 0x42605f21, 0x0021243a, 0x061f5306, 0x0f00422f, 0x28001c00, 0x57003200, 0x00007a00, 0x07e95805, 0x30133034,
|
||||
0x17121633, 0x30272603, 0x30070623, 0x2e333007, 0x3d530101, 0x1e043a5c, 0xe206240a, 0x640a2406, 0x872182c9, 0x0b0af121, 0x3c0a0b0c, 0xfc290bb1,
|
||||
0x1d34539b, 0x4a0d1f29, 0x44343f11, 0x53444c4c, 0x09270d34, 0x82820421, 0x53092203, 0x093a0734, 0x18080521, 0x15520517, 0x23cb6277, 0x7f18187f,
|
||||
0x709f0223, 0x017041fe, 0x008231e0, 0x24d35708, 0x02a6018c, 0xc233349e, 0x01f2fe67, 0x3e292668, 0xb1fd2529, 0x842a2b27, 0x2a2b83b6, 0x25251413,
|
||||
0x3929074a, 0xa1535e32, 0x3c365e53, 0x4a082109, 0x13a8014f, 0x5216144c, 0x01f0fe09, 0x16510810, 0xfe124b14, 0x769e0264, 0x0e5d1975, 0xb10b4242,
|
||||
0x0062fd2f, 0x67410700, 0x00162c08, 0x002a0020, 0x003f0035, 0x7f870064, 0x06230807, 0x6c321507, 0x0e200634, 0x24052571, 0x34013d36, 0x0b237126,
|
||||
0x7f730120, 0x47b35413, 0x98022208, 0x504e1001, 0x171d3437, 0x090a2218, 0x22392816, 0xa766d5fe, 0x25262625, 0x252197a7, 0xfd972125, 0x507d413b,
|
||||
0x59d4013f, 0x05484154, 0x280b0b0c, 0x2b211c1c, 0x5a1c3347, 0x2b2d2b27, 0x28245727, 0x0123292b, 0x5185411e, 0x05000034, 0x2fff2701, 0x4705d905,
|
||||
0x34002a00, 0x71003c00, 0x14827d00, 0x2409d972, 0x3233023e, 0x19f17516, 0x5410ff6a, 0x76650e7b, 0x0d756508, 0x210a0b62, 0xb16f020e, 0xf402210b,
|
||||
0x261f0676, 0xfb3c7302, 0x6ce56f3a, 0x40260705, 0x4010c611, 0xe170b6fd, 0x270a210d, 0x2616756b, 0x3f215e64, 0x542e015a, 0x5f2009d3, 0x21071676,
|
||||
0x16762d59, 0x08652e08, 0x2f101008, 0xfe5d341f, 0x02b6b69b, 0x0b505b9e, 0x51544e20, 0x0b2f210a, 0x540f7376, 0x5c250982, 0x374d2f51, 0x0915701d,
|
||||
0x0200003d, 0x43ffce01, 0x3b043205, 0x3b002100, 0x30050000, 0x26272223, 0x2e353035, 0x82262701, 0x05417408, 0x1617322f, 0x15011e17, 0x15070214,
|
||||
0x3e322733, 0x05b76701, 0x23022e22, 0x08085b6f, 0x04021e28, 0x28558e70, 0x2f885527, 0x3e191b2f, 0x50503938, 0x395050c4, 0xa0bb3e38, 0x603af09a,
|
||||
0x13131244, 0x3a604412, 0x09855f3b, 0x2cbd5f31, 0x0b4c492b, 0x5b41414d, 0xc27f735c, 0x82224142, 0x42413400, 0xfee17fc2, 0xf2671cfc, 0x37374c28,
|
||||
0x37459e45, 0x8a284c37, 0x0300290a, 0xe4001300, 0x8303ed06, 0x3d220782, 0x79675100, 0x051d6c05, 0x4b0ac15d, 0x03220694, 0xf8570330, 0x23302307,
|
||||
0x436c1130, 0x2311230f, 0x01822130, 0x01303522, 0x23080584, 0x06153021, 0x30210702, 0x1772cfe3, 0x170d175d, 0x2270175b, 0x0903228a, 0x0c010501,
|
||||
0x82081e08, 0x071f0882, 0x36059744, 0x07124912, 0x08080820, 0x4812081f, 0x02627712, 0x0141fe9a, 0x62cefe41, 0xe432068e, 0x9b010301, 0x3131c832,
|
||||
0xfe4432c8, 0xfdfe45ee, 0x874b9d01, 0x09956221, 0x04000028, 0xd8004c00, 0xe382b406, 0x1e001426, 0x5f002800, 0xf35de583, 0x7211201d, 0x11210656,
|
||||
0x32994a01, 0xfe5db920, 0x60192106, 0x2408fe5d, 0x02ac2a2e, 0x076e6813, 0xfe580327, 0x030c03d7, 0x23244a07, 0x4a0e1321, 0xe4200624, 0x270e085e,
|
||||
0x2b292e28, 0x0296fed5, 0x2a067268, 0x279e2840, 0x17101014, 0x49351d0c, 0x11210fc5, 0x0ec54910, 0x00820020, 0x73010431, 0x8d052fff, 0x4c004705,
|
||||
0xb4007d00, 0x7200e000, 0x1720162f, 0x2106e24a, 0x01840607, 0x011e1522, 0x8405f24a, 0x2306220d, 0x05115722, 0x82372721, 0x0c3a7217, 0x210a324b,
|
||||
0x716b2627, 0x06364b06, 0x36370123, 0x85558632, 0x010e2354, 0x68412107, 0x8a012033, 0x1d514964, 0x67500221, 0x620811aa, 0x1d1d2828, 0x0a0a1110,
|
||||
0x17181212, 0x13331d1a, 0x110b0b13, 0x2c1f2011, 0x232f362c, 0x141c1b24, 0x0d4f0f15, 0x2d12111c, 0x45423d1d, 0x80034740, 0x8f2439fe, 0x1b1c3323,
|
||||
0x1b321e1d, 0x0b0f0f2a, 0x4010050a, 0x13110b0f, 0x66262637, 0x0e1c1b51, 0x1616190e, 0x1a201e1d, 0x52011b69, 0xd6fea7fd, 0x49030b03, 0x37350893,
|
||||
0x3e100f1e, 0x2d392d2c, 0x14342322, 0x0d4e0f14, 0x2c220e0d, 0x0692491b, 0x4c3b0f21, 0x02240507, 0x2438fe50, 0x2107b34b, 0xb34b1e2a, 0x854b2008,
|
||||
0x4b18205e, 0x4d7208b3, 0x0c270810, 0x2116170b, 0x1a20291f, 0x0c141419, 0x0604060d, 0x1d14151a, 0x242c251c, 0x0e191a24, 0x110a0a0e, 0x17161511,
|
||||
0x7222143e, 0x75200955, 0x2609614b, 0x0e111c1c, 0x4b13140e, 0x0d210764, 0x05654b0e, 0x1f442923, 0x05664b1f, 0x4c460521, 0x62202b22, 0x2028bb4b,
|
||||
0x06274f04, 0x0f008328, 0x37002e00, 0xfb5d8f03, 0x25d17e13, 0x27022625, 0x18011d33, 0x18223546, 0xc9158a45, 0xa65fa638, 0x90042026, 0x20388798,
|
||||
0x3d461815, 0x37012215, 0x7745183d, 0x18149414, 0x9111b345, 0xa638a611, 0x215fcc26, 0x46183335, 0x0130103f, 0x01b2663a, 0x6b0601c9, 0x0f103736,
|
||||
0x27281d1d, 0x12544018, 0x18eb0123, 0x0346185f, 0x03012d4f, 0x040c040e, 0x380e040e, 0x390e7c0e, 0x46180782, 0x01285204, 0x18621964, 0x0f390f7a,
|
||||
0x0b376b82, 0x0f030e04, 0x29030f3d, 0x4502bbfd, 0xb0fd5959, 0x3c7f4242, 0x18373c3d, 0x210aab40, 0x40183430, 0x4a200aab, 0x03da4510, 0x00002f55,
|
||||
0x47000500, 0xb906d800, 0x1e008e03, 0x0b822f00, 0x70005828, 0x0e010000, 0xef6c0701, 0x0662770a, 0x16201482, 0x7b05f16c, 0x05202456, 0x013925a4,
|
||||
0x103d0f10, 0x10046c6c, 0x791e1040, 0x9f287e1e, 0x2bad2b28, 0x02882283, 0x18ea7a63, 0x07060627, 0x0231100f, 0x08209f52, 0x46121d21, 0x9e02cf12,
|
||||
0x5115acfe, 0x24912514, 0x412fbc2f, 0x3441fefe, 0x2ef0fed1, 0x53404059, 0x7a414052, 0x1b350691, 0x762b4934, 0x1b34482c, 0x2424341b, 0x252b762c,
|
||||
0x1b1a1b23, 0x2224a35c, 0x4e060000, 0x2f3a0893, 0x63004200, 0x97008d00, 0x00009f00, 0x30213005, 0x36373035, 0x30353637, 0xdb493435, 0x37362a0a,
|
||||
0x1e32013e, 0x15161701, 0x05814a14, 0x010e0725, 0x56052107, 0x3521052a, 0x211d8234, 0xab7c3637, 0x4d3d8306, 0x26210555, 0x20018227, 0x222f8522,
|
||||
0x4a14011d, 0x012005d2, 0x08d14118, 0x242ff74e, 0x39fe4503, 0x091053d6, 0x2c055955, 0x664c1c1c, 0x0f0e3750, 0x17160c0d, 0x0612531d, 0x3f490126,
|
||||
0x0e3c2e2e, 0x23080082, 0x3f2e2e3c, 0x7c76767c, 0x10181922, 0x0606070f, 0x18100f07, 0x19184519, 0x0706100f, 0x0f100607, 0x89fe1819, 0x25200d4f,
|
||||
0x3afb3d74, 0x0d4fe46e, 0x68c52c0c, 0x292a2ebf, 0x38310c2f, 0x49261d11, 0x172a06c1, 0x351e1b17, 0x282b2524, 0xc1492223, 0x17672207, 0x07447c18,
|
||||
0xb7181733, 0x5cb6b8fe, 0x1a1a0e0e, 0x752d2423, 0x1a24242c, 0x29a0821a, 0x231b1a0e, 0x2d752c24, 0x0e832324, 0x4f770321, 0x20082c2b, 0x06000000,
|
||||
0x95fe0b01, 0x3c05f505, 0x39001f00, 0x4b004100, 0x6e005500, 0x30010000, 0x3d262223, 0x14f94e01, 0xf94e0620, 0x0792671a, 0x9b770120, 0x18052012,
|
||||
0x08171041, 0x5fe50223, 0x5b383539, 0x1211201f, 0x3625262a, 0x35368235, 0x7c292626, 0x27a1676b, 0x0c0d2d40, 0x402d0d0c, 0x2d098227, 0x0c0d0d0c,
|
||||
0xed02402d, 0xfb01c76d, 0x127a3bfb, 0x15042b0c, 0x09230905, 0x18186219, 0x08821962, 0x80670538, 0x7bb306b4, 0x3a95fe67, 0x34073231, 0x3e3d2b2b,
|
||||
0x2c81554c, 0x0082172b, 0x812c2b3d, 0x13ad9655, 0x331aa245, 0x6a2d2525, 0x3324252e, 0x24331b1b, 0x2d6a2e25, 0x67332525, 0x01210886, 0xca461824,
|
||||
0x2e292d09, 0x123e2b28, 0xb32c1249, 0x2cb32d2d, 0xfd220882, 0x411802ff, 0x022c0718, 0x81008500, 0xe5037b06, 0x4d003400, 0x41357764, 0x39081716,
|
||||
0x9469b701, 0x103e1035, 0x4435362c, 0x49395151, 0x3d7a2526, 0x6c4c2a3e, 0x45465f43, 0x21035b31, 0x2848465d, 0x44212027, 0x29757e4a, 0xfa03714e,
|
||||
0x0b2c0b06, 0x24238113, 0x08821381, 0xa1820627, 0x9ae007e1, 0x2d846482, 0x178f022a, 0xec22175a, 0x22ec4040, 0xfd380882, 0xfe46037f, 0xfcaa0156,
|
||||
0x030000ba, 0x9000b500, 0xd6034b06, 0x15000b00, 0x2119bd7b, 0xe5760109, 0x01b63c11, 0x7f7f7468, 0x34d8e174, 0xd8343939, 0xedfe5a03, 0x1758178c,
|
||||
0x050f370a, 0x820a380f, 0x2e883409, 0x03902eba, 0x89e68946, 0xc501b2fe, 0x323a3236, 0x7631fd36, 0x252205b1, 0xb17637c8, 0x8200200a, 0x07135000,
|
||||
0x2007b745, 0x46b5457e, 0x0834c64e, 0x3d101521, 0x036d6d0f, 0x1f104010, 0x287f1e78, 0xac2b27a0, 0x8722832b, 0x5c3f6302, 0x0e0e0f3b, 0x445c3b0f,
|
||||
0x3128053c, 0x1f0d0d1f, 0x1f314531, 0x22053444, 0x501a0331, 0x02203248, 0x213dd745, 0x6950ef01, 0x01053a2c, 0x052fff5b, 0x004705a5, 0x003e0034,
|
||||
0x00810048, 0x050000a2, 0x36272622, 0x07af7937, 0x20103754, 0x04451802, 0x44252011, 0x01201207, 0xf968458c, 0x0d697629, 0x2a0ee76a, 0x010e1716,
|
||||
0x76555002, 0x7f26252a, 0x0b2314d7, 0x7f091e1a, 0x01210dd8, 0x0542442d, 0x2aacb335, 0xac2a2e2e, 0x76542cfe, 0x2425262b, 0x40372b2a, 0x69161842,
|
||||
0x0d211138, 0x0e386919, 0x3b058476, 0x41692425, 0x2d227558, 0x3b48112e, 0x4e58584e, 0x0a134b3d, 0xd079224d, 0x2323343d, 0x54050a69, 0x0a230e84,
|
||||
0x54081b16, 0x617b1285, 0x2e292507, 0x18012b28, 0x48693d89, 0xb12a0826, 0x404055a9, 0x4d2d2c2d, 0x3019194b, 0x665d6a39, 0x313e695d, 0x52492f06,
|
||||
0x04000000, 0xe4002e00, 0x8303d206, 0x27000f00, 0x41183600, 0xcd5e15f7, 0x61132015, 0x62251825, 0xfc01c86c, 0x09a55570, 0x40ed832b, 0x28252569,
|
||||
0x69252528, 0x05ee6040, 0x41188120, 0x022009f8, 0x2705d370, 0x2a2a9e02, 0x7da87d2a, 0x60270582, 0x5b6c5b5e, 0x8222fe5e, 0x06002d9e, 0x2fff4b01,
|
||||
0x4705b505, 0x1e001500, 0x4930ab82, 0xd8016e00, 0x30050000, 0x30213035, 0x37123635, 0x2e054d74, 0x30233015, 0x30253015, 0x30113033, 0x5e010e23,
|
||||
0x3e20070c, 0x08e34418, 0x35480120, 0x012e2307, 0x297e0622, 0x021e2407, 0x69262201, 0x0e2108f8, 0x06a34201, 0x46181d20, 0x352b0e91, 0x0f231133,
|
||||
0x0e0f1501, 0x840d0f15, 0x85088205, 0x820e8802, 0x2e052708, 0x35372701, 0x02840b3f, 0x05840a20, 0x06200b88, 0x073c1793, 0x15331133, 0xc9fea102,
|
||||
0x8e2db52d, 0xbffe5c5c, 0x8e2307db, 0x5c3eaf02, 0x1d0f0e3c, 0x09cd4418, 0x00820720, 0x310f0f26, 0x0f103145, 0x07390982, 0xeefd311f, 0x49279683,
|
||||
0x3b584168, 0x3c0f213b, 0x3b481110, 0x2d2d2c4d, 0x5049182c, 0xbc2f220a, 0xb34b1808, 0x222eeb2e, 0xd20b2c0b, 0xd202206e, 0x01012453, 0x18c5a3a6,
|
||||
0x290e1d4a, 0x582fe2fe, 0x51524140, 0x45185883, 0x243b07ba, 0x2b752c25, 0x1a1a2425, 0x1a1a1c1c, 0x752b2524, 0x3324252c, 0xb106031c, 0x188055a9,
|
||||
0x2c0f7148, 0x09313e34, 0x29490923, 0x015a0b29, 0xd0b1d4f5, 0x280a2254, 0x8953d00a, 0x55b64150, 0xfd235f86, 0x84005abc, 0x000e2400, 0x840100ae,
|
||||
0x20048309, 0x240b8602, 0x000d0001, 0x240b861f, 0x00070002, 0x240b863d, 0x00290003, 0x200b8699, 0x20238204, 0x240b86df, 0x010f0005, 0x2a0b860d,
|
||||
0x010c0006, 0x00030037, 0x83090401, 0x85038252, 0x0001240b, 0x8603001a, 0x00022417, 0x862d000e, 0x0003240b, 0x86450052, 0x8204200b, 0x86c32023,
|
||||
0x0005240b, 0x86ed001e, 0x0006240b, 0x821d0118, 0x46003149, 0x72007500, 0x61006e00, 0x65006300, 0x49002000, 0x6f200782, 0x732e0f82, 0x75460000,
|
||||
0x63616e72, 0x63492065, 0x0e826e6f, 0x1f825220, 0x2d826720, 0x2b826c20, 0x00007228, 0x75676552, 0x0882616c, 0x6c004522, 0x63221982, 0x47827400,
|
||||
0x3d826920, 0x4b002022, 0x65200f82, 0x20220f82, 0x51823a00, 0x1f856199, 0x35003122, 0x3820ba82, 0x32380382, 0x32003000, 0x00003300, 0x63656c45,
|
||||
0x63697274, 0x65654b20, 0x203a2074, 0x0f82898c, 0x2d353127, 0x30322d38, 0x992a8232, 0x20bf8f5d, 0x26958256, 0x00730072, 0x826f0069, 0x822020df,
|
||||
0x0030246b, 0x842e0031, 0x00303007, 0x72655600, 0x6e6f6973, 0x31303020, 0x8230302e, 0x41598d10, 0x16411117, 0x00002306, 0x008b0002, 0x0c8b0120,
|
||||
0x3f200b84, 0x82080582, 0x00020001, 0x01020103, 0x01040103, 0x01060105, 0x01080107, 0x010a0109, 0x010c010b, 0x010e010d, 0x0110010f, 0x01120111,
|
||||
0x01140113, 0x01160115, 0x01180117, 0x011a0119, 0x011c011b, 0x011e011d, 0x0120011f, 0x01220121, 0x01240123, 0x01260125, 0x01280127, 0x012a0129,
|
||||
0x012c012b, 0x012e012d, 0x0130012f, 0x01320131, 0x01340133, 0x01360135, 0x01380137, 0x013a0139, 0x073c013b, 0x45696e75, 0x86304630, 0x86312007,
|
||||
0x86322007, 0x86332007, 0x84342007, 0x30312107, 0x31212785, 0x21278530, 0x27853031, 0x85303121, 0x30312127, 0x35202787, 0x36202f86, 0x37200786,
|
||||
0x38200786, 0x39200786, 0x41200786, 0x42200786, 0x43200786, 0x44200786, 0x45200786, 0x46200786, 0x31210785, 0x20078630, 0x86078631, 0x8631207f,
|
||||
0x8631207f, 0x8631207f, 0x8631207f, 0x8631207f, 0x8631207f, 0x8631207f, 0x8631207f, 0x8631207f, 0x8631207f, 0x8631207f, 0x8631207f, 0x8631207f,
|
||||
0x3032217f, 0x32217785, 0x86078631, 0x8632207f, 0x8632207f, 0x8632207f, 0x8632207f, 0x8632207f, 0x8632207f, 0x8632207f, 0x8632207f, 0x8632207f,
|
||||
0x8632207f, 0x8632207f, 0x8632207f, 0x8632207f, 0x3033217f, 0x33217785, 0x86078631, 0x8633207f, 0x8633207f, 0x3533287f, 0x01000000, 0x4400ffff,
|
||||
0x00260761, 0x14000c00, 0x15820400, 0x00000224, 0x03860100, 0x00240985, 0x31cbd6df, 0x64181182, 0xfa050c53, 0x1a9751d1,
|
||||
0x0000bc57, 0x00000000, 0xcc6d0000, 0x00000400, 0x00010037, 0x000e0000, 0x00030080, 0x54464660, 0x4458a24d, 0x6d000089, 0x281582b0, 0x4544471c,
|
||||
0x00150046, 0x200f8214, 0x2b0f8394, 0x322f534f, 0x7552fa8c, 0x68010000, 0x562c0f82, 0x70616d63, 0x8dc99dcd, 0x60020000, 0xe02c1382, 0x20747663,
|
||||
0x6f043b00, 0x40040000, 0x04261f82, 0x70736167, 0x5982ffff, 0x8c6d0022, 0x08280f82, 0x66796c67, 0x3fd5de2d, 0xdc2c1f82, 0xd8630000, 0x64616568,
|
||||
0xad24a224, 0xec201b82, 0x36210382, 0x23108268, 0x05068209, 0x24204b82, 0x24280f82, 0x78746d68, 0x1c12b128, 0xc0200f82, 0x9e280f82, 0x61636f6c,
|
||||
0x50b6999c, 0x44203f82, 0x98270f82, 0x7078616d, 0x82039500, 0x4801213b, 0x202c0f82, 0x656d616e, 0x1fd1e37f, 0xb4680000, 0xe62c3382, 0x74736f70,
|
||||
0x39fe916a, 0x9c6a0000, 0xf020a382, 0x012deb84, 0xff390000, 0x0f5f2c8b, 0x0b00f53c, 0x25368207, 0xfde00000, 0x08839fff, 0xdc04e12b, 0xfe80fcc9,
|
||||
0x05000768, 0x220f82e0, 0x82020008, 0x82028305, 0x00062233, 0x290982ff, 0x80fc0007, 0x00070000, 0x0c820100, 0x0420028b, 0x4b251184, 0x0800bb03,
|
||||
0x21008300, 0x23830002, 0x40222583, 0x0b822e00, 0x072b0d82, 0x00900100, 0x04000005, 0x82e6048c, 0x85fa2011, 0x5c032b07, 0xcf015900, 0x00020000,
|
||||
0x15820905, 0x01210285, 0x84078510, 0x75462905, 0x40005472, 0x41e12000, 0x06208385, 0x04856a84, 0x3b208b84, 0x07202683, 0x03830482, 0x0280fc25,
|
||||
0x82910009, 0x0052220c, 0x2c798220, 0x003500a5, 0x0029004b, 0x006d0191, 0x349b8278, 0x00470060, 0x00170152, 0x004a000a, 0x0032018f, 0x004f001b,
|
||||
0x2631822e, 0x011801ca, 0x82a90036, 0x0028251b, 0x004d0133, 0x23829182, 0x22000338, 0x7a017c01, 0x39003900, 0xce012701, 0x4c001300, 0x22007301,
|
||||
0x0d824700, 0x85000b24, 0x0f82b500, 0x2e005b26, 0x5c004b01, 0x2a200184, 0x53200582, 0x4b260382, 0x53005e00, 0x0982c800, 0x00218882, 0x83048203,
|
||||
0x861c2003, 0x00da22b3, 0x24098403, 0x0004001c, 0x2e1b82be, 0x00080008, 0x00000002, 0xe1f4e020, 0x84ffff41, 0xe1f02609, 0xffffff00, 0x200b82e3,
|
||||
0x222b8400, 0x820e0006, 0x0004260b, 0x00060005, 0x202f8207, 0x249d8209, 0x000c000b, 0x2617820d, 0x0010000f, 0x82120011, 0x00142c9d, 0x00160015,
|
||||
0x00180017, 0x821a0019, 0x1c3808db, 0x1e001d00, 0x20001f00, 0x22002100, 0x24002300, 0x26002500, 0x28002700, 0x2a002900, 0x2c002b00, 0x2e002d00,
|
||||
0x30002f00, 0x32003100, 0x34003300, 0x36003500, 0x38003700, 0x2008f182, 0x003b003a, 0x003d003c, 0x003f003e, 0x00410040, 0x00430042, 0x00450044,
|
||||
0x00470046, 0x00490048, 0x2098824a, 0x829c8506, 0x01002299, 0x21058202, 0x008d0002, 0x84000121, 0x40148dfc, 0x3b22ce0d, 0xd1826f04, 0x85002c21,
|
||||
0x3caf0801, 0xc6008400, 0x24056404, 0xd406c405, 0xea075807, 0x3409ce08, 0xb00a7609, 0x880bfe0a, 0x2e0cee0b, 0x6a0de60c, 0x640ed80d, 0xa40fca0e,
|
||||
0xbc105a10, 0xc6117e11, 0x0c139212, 0xd8138c13, 0x48159814, 0x12173816, 0x1e1b8017, 0x341cae1b, 0xea1dc01c, 0xbc1f081f, 0x34218020, 0xfc218a21,
|
||||
0xc8238622, 0xca272a27, 0x5229b028, 0x0a2ac629, 0xa42bbe2a, 0x162ef42b, 0x682e442e, 0xf02f8e2e, 0x6a300c30, 0x1e31d230, 0xac315631, 0xec31de31,
|
||||
0x3b000200, 0x15020000, 0x0300aa04, 0x2e000700, 0x2f0001b1, 0x0407b23c, 0xb132ed00, 0x3cdc0506, 0x820203b2, 0xb100220a, 0x20168303, 0x27168305,
|
||||
0x010607b2, 0x01b23cfc, 0x33371783, 0x25112111, 0x3b211121, 0x61feda01, 0x9cfe6401, 0x56fbaa04, 0x8234043b, 0xfc0226ed, 0x03f5ff80, 0x20098280,
|
||||
0x2e598201, 0x25210500, 0x0533fd21, 0x07b3f99a, 0x820b0b00, 0x03250815, 0x0f000902, 0xfd03f704, 0x25001b00, 0x00002f00, 0x32213001, 0x0e141516,
|
||||
0x07060701, 0x16171615, 0x15011e17, 0x2f0b8214, 0x2123010e, 0x36322137, 0x2634013d, 0x33352123, 0x4d080985, 0x0a02012b, 0x8e7dbd01, 0x2020311f,
|
||||
0x25251e1e, 0x132b1f20, 0x5f232214, 0xa217fe38, 0x483f1801, 0xe8fe3f48, 0x42423dfc, 0xfd03fc3d, 0x4f38778d, 0x030c0d32, 0x0d0d0208, 0x3f581c1c,
|
||||
0x2735363c, 0x428b2c27, 0x423e313e, 0x2e393e88, 0x8f833e3a, 0x91003008, 0x6f066300, 0x0f00a903, 0x2b001700, 0x30250000, 0x30213027, 0x36233007,
|
||||
0x16333712, 0x30011712, 0x30070623, 0x30012633, 0x30270011, 0x85133033, 0x02062f03, 0x02301107, 0xc7fe4cea, 0xbf2f8a49, 0x0382ab2f, 0x8dfe3408,
|
||||
0xf73d3c06, 0xfe84023c, 0xcc9b17f7, 0x3794cb04, 0xe3631dce, 0x2e028ce3, 0xd2fd8c8c, 0xb9c9028c, 0xf0fdb9b9, 0xd4014a01, 0x018bfe28, 0x9afe6175,
|
||||
0x82b3fe32, 0x03002182, 0xab3a0482, 0x61030007, 0x8c035803, 0x0000ba03, 0x27022637, 0x021d3033, 0x17041d17, 0x0290031d, 0x11a31491, 0x26f14782,
|
||||
0x86957191, 0x17011e26, 0x37013e33, 0x86067341, 0x033d220d, 0x20028937, 0x850b8a04, 0x8211a317, 0x9126f129, 0x2e86a171, 0x07020633, 0x27022623,
|
||||
0x2327012e, 0x8207010e, 0x22052d0d, 0x013e2726, 0x33011e37, 0x26343532, 0x26291883, 0x34352627, 0x16323336, 0x2b218217, 0x2223012e, 0x17141506,
|
||||
0x011e1716, 0x15230285, 0x82250614, 0x2223223b, 0x26288227, 0x37342627, 0x823e3736, 0x2021823c, 0x352c8407, 0x1614011d, 0x3e373233, 0x23013d02,
|
||||
0x23113335, 0x185e188e, 0x00cc0168, 0x040e0434, 0x030e040c, 0x7b0e390e, 0x030e390f, 0x030d030f, 0x61cc040e, 0x18640127, 0x0e7a1962, 0x205c833a,
|
||||
0x3b5c820c, 0x020f3c0f, 0x276e4bf0, 0x1d0c2f0b, 0x2a77314d, 0x0a240934, 0x702a2b5a, 0x24634865, 0x3c081382, 0x3731401a, 0x31161637, 0x30092409,
|
||||
0x13161544, 0x0c430274, 0x34484f09, 0x20212b2c, 0x12121213, 0x3d5f2222, 0x1e38375a, 0x3c461153, 0x48505048, 0x271a1a1e, 0x5adf7c16, 0xbe0170b7,
|
||||
0x10b8cd70, 0x47014d00, 0x19681a2d, 0x44196719, 0x44441001, 0x8244f0fe, 0x6819220a, 0x5b01101a, 0x47414701, 0x70af084d, 0x457042fe, 0x1a451301,
|
||||
0x67191967, 0xedfe451a, 0x36380b45, 0x290b2a0b, 0x2f2c6d2c, 0x0207020d, 0x512d2c15, 0x3431615c, 0x250b290a, 0x2a342d24, 0x020c1516, 0x1f0b0208,
|
||||
0x293f1717, 0x306e6865, 0x2a13133e, 0xb8424229, 0x2a2a4242, 0x47262728, 0x5c393131, 0x5c52a452, 0x31210908, 0xfe573b1e, 0x0700009e, 0x02ff5200,
|
||||
0x1a05ae06, 0x24001a00, 0x49003800, 0x78005300, 0x00008000, 0x35262205, 0x023e3734, 0x07063337, 0x010e0706, 0x013e3307, 0x15163233, 0x32270614,
|
||||
0x2334013d, 0x14011d22, 0x27022603, 0x17121633, 0x36331716, 0x82123637, 0x0702272a, 0x21112321, 0x27831732, 0x23130727, 0x2327012e, 0x07794837,
|
||||
0x22011527, 0x012e2726, 0x222a8234, 0x82333637, 0x06172123, 0x080b5845, 0x1e373698, 0x010e1701, 0x15011105, 0x35011101, 0x6d6ba201, 0x4f3a0f10,
|
||||
0x2a3b8a31, 0x251d1e2a, 0x47110c09, 0x6e5f5131, 0x6c6d6d6a, 0x2183211f, 0x1450136b, 0x0e0c0e0e, 0x144e140e, 0x20832169, 0x01658f01, 0x2b2c5609,
|
||||
0x71803a39, 0x78175608, 0x2626249b, 0xad029b24, 0x21225d3a, 0x22212323, 0x563b2e2e, 0x0d1f3333, 0x353e1249, 0x444c4c44, 0x0f124236, 0x69200e38,
|
||||
0x2801e4fe, 0xd8fe72fe, 0x3c7f84fd, 0x606f3c3d, 0x28292d22, 0x32562829, 0x676a312f, 0x7755776a, 0x02827719, 0x18035608, 0x6fbf0170, 0x46e7fe46,
|
||||
0x4e4f4f4e, 0x46190146, 0x7041fe6f, 0x34339e02, 0x11604d60, 0xc913e7fe, 0x2a265536, 0xde262a3e, 0x2a278efe, 0x84b6842a, 0x14142a2a, 0x074a2525,
|
||||
0x5f323929, 0x5e53a152, 0x21083b36, 0xb24e4a09, 0x100134fe, 0x0192fe82, 0x82effecd, 0x3f008200, 0x00200004, 0x03e006ab, 0x000b0061, 0x004a0015,
|
||||
0x37000074, 0x21301130, 0x06141632, 0x0119012b, 0x2008b749, 0x05ce4601, 0x16171622, 0xd0461282, 0x012e2806, 0x023e3435, 0x46173233, 0x072c08d1,
|
||||
0x16141506, 0x011e011f, 0x020e1415, 0x2105cd46, 0x2485022e, 0x46171621, 0x36230cc6, 0x46013e37, 0xd10806c8, 0x5d200121, 0xb45d6666, 0x2f2e2aad,
|
||||
0xdd02ad29, 0x0c2a7655, 0x2b230d32, 0x4141362b, 0x270a3b2e, 0x2162620a, 0x4c36563d, 0x0d283738, 0x4b1a0d32, 0x20203938, 0x643c3734, 0x5a3f205d,
|
||||
0x0a04dd02, 0x663c4c5e, 0x4d2a294a, 0x7d5a426c, 0x51135923, 0x6161503d, 0x1d1c2050, 0x8a191616, 0x02b75ff3, 0x6db96d9e, 0x6a01f5fe, 0x292e282b,
|
||||
0x3db6fd2b, 0x0c2f0b34, 0x3a17162b, 0x0c2e2731, 0x12020702, 0x482c515c, 0x1a1b1b31, 0x0b2d0b32, 0x18172921, 0x0b292a2c, 0x505d130c, 0x1d374d2f,
|
||||
0x2d403171, 0x54548257, 0x502e5881, 0x3b2f3447, 0x5d6e5d66, 0x10080966, 0x34202f0f, 0x009bfe5d, 0x002e0005, 0x03d206ab, 0x00120061, 0x002a001f,
|
||||
0x00460134, 0x68422500, 0x013e2807, 0x14021e32, 0x4227020e, 0x222a0583, 0x14011d06, 0x21110516, 0x5e411732, 0x2e052c0f, 0x1d232701, 0x0f1d1707,
|
||||
0x870e1d17, 0x820b8502, 0x11013305, 0x16331123, 0x011e1712, 0x053d3317, 0x270f3d27, 0x02870e3d, 0x042d0b88, 0x23113311, 0x33010226, 0x2223603c,
|
||||
0x3a028223, 0x44607a5f, 0x61442323, 0x4f4f483c, 0x014f4f90, 0x560901df, 0x56572b2c, 0x82259aa3, 0x029a2600, 0x09220863, 0x0732440c, 0x21756228,
|
||||
0x23082285, 0x10880d08, 0x85217623, 0x074c42ac, 0x5428282d, 0x5484b684, 0x525d5a27, 0x845d52a2, 0x024f3304, 0xc134339e, 0x01f1fe67, 0x3d2a2569,
|
||||
0x15b22629, 0x7f441553, 0x284dae4d, 0x0270fe02, 0xf4fe439e, 0x80884043, 0xfd900126, 0x0c014362, 0x3a055f43, 0x065400a5, 0x00b8035b, 0x0048002f,
|
||||
0x005e0054, 0x23302500, 0x2223010e, 0x4435022e, 0x3e43078a, 0x49062008, 0x362106e3, 0x35018237, 0x3523013d, 0x01231121, 0x15163221, 0x0e070614,
|
||||
0x1e150701, 0x0b821702, 0x020e0730, 0x33372123, 0x3d363732, 0x26273401, 0x5d4d012b, 0xe541080a, 0x60740e04, 0x345c804a, 0x43303035, 0x9c715343,
|
||||
0x124a122b, 0x634d6518, 0x28637979, 0x1b1b2424, 0x01ac1010, 0x0601772f, 0x77697201, 0x3415141b, 0x353d1a1a, 0x10111311, 0xfe2f4f39, 0x35e98768,
|
||||
0x0800821e, 0xd2e9356a, 0x33373733, 0x503de2d2, 0x6aa26d38, 0x3738a268, 0x59631c1c, 0x3b0b2b0b, 0x88757f49, 0x0b0a7f75, 0x1e1d1413, 0xfe754127,
|
||||
0x76460341, 0x15422f62, 0x07031415, 0x242f1601, 0x2c323525, 0x7525412d, 0x29331c1b, 0x711c1b34, 0x30273033, 0x00000033, 0x00350005, 0x03cb06ab,
|
||||
0x001f0061, 0x00530046, 0x00660060, 0x26222500, 0x2c131b44, 0x011e3736, 0x06070617, 0x012e2221, 0x23218227, 0x013e3736, 0x82050646, 0x32072a14,
|
||||
0x033e1716, 0x021e3233, 0x10584315, 0x2135a808, 0x37123635, 0x15331133, 0x33251523, 0x010e2311, 0x96834e01, 0x41694926, 0x5b217658, 0x4d3b4811,
|
||||
0x3d4d5959, 0x3a0f124c, 0x3c3d210e, 0x5738fc01, 0x2c10113c, 0x29552323, 0x2d2d3990, 0x16172221, 0x0104020d, 0x30251c0b, 0x35482a20, 0x573e211d,
|
||||
0x41413b35, 0x02424275, 0x2dc9fea1, 0x5b8e2eb5, 0xdbbefe5b, 0xac8e2307, 0x8154a9b1, 0x4b4d2e58, 0x6a393032, 0x6a5d665d, 0x2309313f, 0x29294909,
|
||||
0x30304424, 0x3680493d, 0x291c5336, 0x29282627, 0x01362d2d, 0x1b231501, 0x4d371c0f, 0x3c53332f, 0x3d3e5821, 0x843e3d0d, 0x4d2f0804, 0x014a5d83,
|
||||
0x3afe4a2a, 0x01d88355, 0x00ed3b63, 0xff4b0008, 0x05b50608, 0x000c0015, 0x001c0016, 0x005c0028, 0x00720068, 0x1700009b, 0x44301130, 0x01211235,
|
||||
0x23ec8311, 0x15211133, 0xa6450187, 0x2d754c06, 0x2406b44c, 0x13331323, 0x2a0b8503, 0x2533010f, 0x2337013e, 0x8207010e, 0x82138202, 0x1e232702,
|
||||
0x23111701, 0xaf4c3311, 0x82332005, 0x2902821e, 0xb0231133, 0x2c560901, 0x5644582c, 0xca013007, 0x0186f466, 0x01e1fe85, 0x01fdfe03, 0x4be7fa1f,
|
||||
0x25210cdd, 0x07dd4b09, 0x0c2e0c22, 0x0811dd4b, 0x22093830, 0x2309e109, 0x81c96408, 0x0e04f1ca, 0x0e030d03, 0x02b03b04, 0x010402d0, 0x071f080b,
|
||||
0x15165716, 0x1f081557, 0x05010b08, 0x12786201, 0x0b821248, 0x03820920, 0x47125408, 0xf8627712, 0x33349f02, 0xf1fe67c2, 0x29266901, 0xfd25293e,
|
||||
0xfd9f02bc, 0x9f025abb, 0xcf58c45a, 0x3957035a, 0x0b2b0b35, 0x2c6e2c2a, 0x08020c2f, 0x2c2d1402, 0x31605d51, 0x0a290a34, 0x342d2524, 0x0b16162a,
|
||||
0x0a030802, 0x3f171720, 0x0b696429, 0x821f7c1f, 0x33408202, 0x11e00161, 0x41101041, 0x1390d311, 0x4b13144c, 0x2db62d13, 0x13220282, 0x0b821349,
|
||||
0x0263fe29, 0x279d279f, 0x82165816, 0x2c088202, 0x000061fd, 0x29000400, 0xd706ab00, 0x05534703, 0x46003a22, 0x471a5347, 0x1d261140, 0x16171401,
|
||||
0x04433233, 0x41252007, 0x21080adc, 0x5e200129, 0xb35d6665, 0x2e2e29ad, 0x0f03ad29, 0x49269584, 0x3b574169, 0x3d0f223b, 0x3b48110f, 0x00822c4e,
|
||||
0x4c3c4e35, 0x0f3a0e13, 0x013d3c22, 0xfeae012d, 0xfe2301bf, 0x474101dd, 0xb1341005, 0x598154a9, 0x4b26272d, 0x30082208, 0x5d353539, 0x35355d66,
|
||||
0x2a07c642, 0x609e020b, 0x60c460ba, 0x51030000, 0x082e825f, 0x02ff6d01, 0x1a059305, 0x55004400, 0x91826d00, 0xab009e29, 0xe300d500, 0x47250000,
|
||||
0x232c0558, 0x2e070622, 0x37362701, 0x3637013e, 0x22051b44, 0x52020e07, 0x0621098f, 0x2a018207, 0x022e2223, 0x17163727, 0x481e1716, 0x352109d6,
|
||||
0x06644401, 0x023e3737, 0x10163233, 0x3e322706, 0x34013d02, 0x0e22022e, 0x1d060701, 0x05a14f01, 0x02252582, 0x37363435, 0x05f24835, 0x42823220,
|
||||
0x2405634a, 0x15011e15, 0x476b8214, 0x13200ce1, 0x200bee47, 0x211e8325, 0x99822307, 0x22230282, 0x82062726, 0x2223232d, 0x4f822e27, 0xb0833720,
|
||||
0x4c853320, 0xc9880720, 0x55087382, 0x3e4b0216, 0x30313a3c, 0x300c1743, 0x14130f0c, 0x2b202133, 0x213a502f, 0x2f240a0a, 0x1a191d1a, 0x22161313,
|
||||
0x2c2d1f1f, 0x36472f36, 0x0c500f2a, 0x11120e0e, 0x413e1c2e, 0x02473f45, 0x3c5c3e98, 0x0e0f0f0e, 0x7d3e5c3c, 0x237d7676, 0x0e0e1e31, 0x3145311e,
|
||||
0x0082071f, 0x100fb308, 0x3bf8fd31, 0x4a1f3d59, 0x1e3e343c, 0x29685337, 0x0f0f3829, 0x4a3d343f, 0x5a3c1010, 0x42423c3a, 0x3d424279, 0x6f3b3b37,
|
||||
0x52033a3a, 0x56451616, 0x5b389029, 0x0d2d2122, 0x0a010501, 0x30260e0e, 0x24242a20, 0x11101d35, 0x36561f1f, 0x3c2c2b38, 0x3bec1011, 0x3b3a4241,
|
||||
0x35994141, 0x312e0729, 0x2a0a262c, 0x1415160a, 0x17090a1d, 0x2028412d, 0x1928191a, 0x0d060406, 0x3914150d, 0x1a482c25, 0x140e0e19, 0x3e172c21,
|
||||
0x0c111114, 0x343a0d0c, 0x5c363407, 0x582f6afe, 0x52534040, 0x2f594041, 0xb6b8feb7, 0x49331c5c, 0x482c752c, 0x341c1c34, 0x09822424, 0x23252e08,
|
||||
0x031c1a1a, 0x47341d06, 0x1151432a, 0x3a4e1307, 0x192d4026, 0x202d0c0d, 0x4e3a2620, 0x51110713, 0x24232a43, 0x38571d34, 0x37321332, 0x27048237,
|
||||
0x303a0138, 0x302e102e, 0x2a080484, 0x4041491f, 0x291b556b, 0x5a28284e, 0x14010136, 0x0f1b1212, 0x4c360f0e, 0x2b2a3230, 0x12221e1d, 0x30304413,
|
||||
0x0e3c3f93, 0x823e3e3c, 0x003f2104, 0x04370082, 0xb7007800, 0x56038806, 0x27000f00, 0x40003700, 0x30010000, 0x84233011, 0x30352a03, 0x30153021,
|
||||
0x30353013, 0x830f8a33, 0x8233201b, 0x30212217, 0x54278227, 0x0e3c0c81, 0x2e330701, 0x6cac0101, 0x53fc01c8, 0x24015b5b, 0x2b025c5c, 0x6f3afb3c,
|
||||
0x88269926, 0x43080382, 0x1005d7fe, 0x10c61041, 0xfdf50240, 0x603e02c2, 0x58c2fd60, 0x5858ee01, 0xb55812fe, 0xbe0170b5, 0x42fe7070, 0x313a0270,
|
||||
0xc53131c5, 0x00050000, 0x06ab0008, 0x006103f8, 0x003e0034, 0x00500046, 0x37000058, 0x2a329f4b, 0x23072327, 0x12163313, 0x86230117, 0x081190a1,
|
||||
0x7655fd42, 0x0d310d2a, 0x372b2b23, 0x3a2e4140, 0x620a280a, 0x563c2262, 0x38384c36, 0x0d320d27, 0x3a374b1a, 0x36341f20, 0x215d653c, 0xd0025a3e,
|
||||
0x6e3bfa3d, 0x982689e4, 0x04d7fe26, 0xc5104011, 0x28034010, 0xac201391, 0x242c824b, 0x02b5b50b, 0x0a00419e, 0x8ef7fd21, 0x82002010, 0x00033400,
|
||||
0x06ab0060, 0x006103a0, 0x002b0015, 0x2500004b, 0x46300330, 0x06240eaa, 0x35210702, 0x2013b141, 0x1d874805, 0xdb3c012d, 0x12471270, 0x040b2b0a,
|
||||
0x820b2b0b, 0x256d2509, 0x4b012595, 0x2605c741, 0x96838401, 0x48684a26, 0xb7281461, 0xdd379e02, 0x279b2737, 0x08820282, 0xd641c383, 0x480b2007,
|
||||
0xcb821741, 0x4700042a, 0xb906b700, 0x0b005603, 0x2122cd82, 0x3f462900, 0x0a1b4618, 0x23110128, 0x21352311, 0x4c4d4815, 0x2e292807, 0x02ad292e,
|
||||
0x46ad0114, 0x01250702, 0x01c86c7b, 0x0f0846fc, 0xea45c120, 0x3e022106, 0x82057942, 0x4f06207f, 0x1e340893, 0x3d002700, 0x58004e00, 0x00007e00,
|
||||
0x26272205, 0x36373435, 0x30250184, 0x07020e33, 0x05944f06, 0x954f1720, 0x1d222408, 0x4f011401, 0x12560694, 0x4f06200a, 0x0e212d96, 0x12974f01,
|
||||
0x6b7a033f, 0x0f103736, 0x28271d1d, 0x553b8a31, 0x0a12123a, 0x3147110c, 0x6e2f3051, 0xfed96d6a, 0x06924f09, 0x05130426, 0x0512050c, 0x2212944f,
|
||||
0x4f144d14, 0x0e221794, 0x954f0e3a, 0x42fd350e, 0x3d3c7f42, 0x3038363d, 0x522d232f, 0x332a2b50, 0x3535312f, 0x2213904f, 0x821a691a, 0x11924f02,
|
||||
0x2eb62e22, 0x2215924f, 0x4f082008, 0x003c0d93, 0xff170106, 0x05e90508, 0x000b0015, 0x002d0017, 0x0055004b, 0x0500005f, 0x33301130, 0x21220382,
|
||||
0x07841530, 0xc6500b87, 0x34353305, 0x013e3736, 0x1e171632, 0x07061401, 0x3227010e, 0x01823736, 0x34013d2b, 0x2e272627, 0x06222301, 0x46018207,
|
||||
0x052107bf, 0x12d14f11, 0x016ccc24, 0x03826311, 0x10fd2208, 0x26266a42, 0x26262929, 0x256b836a, 0x262a2a26, 0x26416b25, 0x0d161740, 0x160d0c0c,
|
||||
0x28264017, 0x220b873f, 0x48f4013f, 0xf8250c83, 0xc1fd9f02, 0x2b048460, 0x2c2d5703, 0x5455822b, 0x2d2c2b82, 0xa9200983, 0x612d0883, 0x2519191b,
|
||||
0x2e692e25, 0x19192525, 0x2f0c8c1b, 0x6e9f0256, 0xf5fe6eb8, 0x282c6a01, 0x002c282e, 0x0036f082, 0x06ab000a, 0x006103f6, 0x00300012, 0x0044003a,
|
||||
0x2500004a, 0x40502e22, 0x07494f06, 0x112fe6af, 0x15211133, 0x6a422c01, 0x4c29294c, 0x8541426a, 0x21e09b07, 0x6449665d, 0x02220808, 0x10016d13,
|
||||
0x82572dac, 0x58825454, 0x82582d2d, 0x2d5782a8, 0x191a1b60, 0x6a2e2425, 0x1925242e, 0x0c8c1b1a, 0x6d505520, 0x02c1280e, 0x60c2fd9e, 0x82040000,
|
||||
0x06ab2ccb, 0x006103b6, 0x00220013, 0x4366002d, 0x302306d3, 0x88213015, 0x30112603, 0x32333001, 0x24e88317, 0x2b060701, 0x05ba5201, 0x2b262724,
|
||||
0x4d581101, 0x077e5106, 0x27262724, 0x0282012e, 0x37343522, 0x230d8051, 0x17141506, 0x08068051, 0x07060724, 0x014a010e, 0x01cafea3, 0x01edfe13,
|
||||
0x3441edc3, 0x29294a34, 0x4134344a, 0x5c4beded, 0x804b2e2e, 0xde45dc02, 0x2a242705, 0x4140372b, 0xdf451717, 0x11112405, 0x4535563d, 0x2b0807e0,
|
||||
0x3f3a384a, 0x3c361a1a, 0x10115d65, 0xb759201f, 0xba609e02, 0x02dcfe60, 0x5415159e, 0x547da87d, 0x5e601515, 0x2f5b6c5b, 0x6b22fe2f, 0x210ad645,
|
||||
0x5a511717, 0x24242107, 0x08095b51, 0x2a2c2f29, 0x0c0b1514, 0x2f515c13, 0x1c1b2627, 0x0400001d, 0x63008f00, 0xa9037106, 0x2f001500, 0x43003900,
|
||||
0x30250000, 0x50333001, 0x535a06ec, 0x02062806, 0x32210107, 0x49141516, 0xdf840bd4, 0x37212322, 0x4f08a252, 0x012e0906, 0x8dedfea2, 0x0f165916,
|
||||
0x0f050b36, 0x09820b38, 0xb92f8937, 0x01c2012f, 0x1b776873, 0x19193429, 0x1b1a1f1e, 0x1c111024, 0x06f54e1d, 0x4e3c3c21, 0x633407f3, 0xfe454603,
|
||||
0xc53645ec, 0x25c83729, 0x45140145, 0x8cd2fd8c, 0x3605e44e, 0x0703142a, 0x170b0b01, 0x32354918, 0x21202d2c, 0x33377525, 0x4e373429, 0x013409e3,
|
||||
0x0508ff32, 0x001405ce, 0x00330026, 0x008a0078, 0x0500009b, 0x202ec44e, 0x41d14a01, 0x27012e32, 0x11231123, 0x011e1333, 0x33113317, 0x35212311,
|
||||
0x0e260482, 0x27260702, 0x10823736, 0x02153008, 0x3d573870, 0x222c1010, 0x902a5523, 0x222d2d39, 0x0c171721, 0x0a010501, 0x1f31251c, 0x1e35472b,
|
||||
0x35573d22, 0x7542423a, 0x44024141, 0x4a393b3f, 0x13210888, 0x06884a34, 0x230a0b22, 0x0807884a, 0x1f1f233c, 0x2f362c2c, 0x0f293747, 0x0e0e0d4f,
|
||||
0x1d2d1211, 0x4045413e, 0x08b2fd47, 0x68030e34, 0x340edb79, 0x79670308, 0x08bc4301, 0x123e3417, 0x56554002, 0x25f8a3a5, 0x3c303044, 0x284f8149,
|
||||
0x1447080d, 0x1d0f1b24, 0x332f4d36, 0x59223c53, 0x3c0d3d3e, 0x0d3c3f3f, 0x3d013e3d, 0x2e072935, 0x0a262b31, 0x14160a2a, 0x09091e14, 0x28402d17,
|
||||
0x271a1a20, 0x06050619, 0x15140e0c, 0x482c2538, 0x0e0e1a1a, 0x172b2115, 0x4a10153f, 0x35080659, 0x035c3633, 0x1b63104a, 0x9e0200fe, 0x631b8dfe,
|
||||
0xfd010210, 0xf5015a62, 0x13433818, 0x5d5c3a02, 0x005abcfd, 0x001b0003, 0x03e506ab, 0x00390061, 0x007f005c, 0x47492500, 0x0568430d, 0x26272622,
|
||||
0x54106943, 0x07260aea, 0x010e0706, 0x1d472221, 0x013e2305, 0xd0513233, 0x5636200f, 0x22a2055b, 0x54100127, 0x320d2a77, 0x0570490c, 0x2c069143,
|
||||
0x11113131, 0x4c36573c, 0x0c273837, 0x0b734933, 0x10112308, 0x025a1f1f, 0x13958429, 0x68252413, 0x22765742, 0x120f3d0f, 0x584e3a48, 0x4c3c4e58,
|
||||
0x0f3a0f12, 0x1e9e7922, 0x430b8b49, 0x2e2306b4, 0x432c512e, 0x17230bb5, 0x552a2d17, 0x272d0611, 0x1d1c1b26, 0x4154a9b1, 0x2e2c2c40, 0x053b4e4d,
|
||||
0x200a0051, 0x281a9a52, 0x00050000, 0x06ab004f, 0x092b55b1, 0x55400021, 0x0122342b, 0x02823521, 0x15212808, 0x21070206, 0x603d5401, 0x23232222,
|
||||
0x79602222, 0x24244460, 0x483c6044, 0x4f904e4e, 0x01de014f, 0x2c2b5709, 0x57a35757, 0x032e0589, 0x0141fe60, 0x01cdfe42, 0x36d636a6, 0xd9544c01,
|
||||
0xfd2a082b, 0xea015bbc, 0xfe525b59, 0x070052ba, 0x08ff2e00, 0x1505d206, 0x33001c00, 0x53004700, 0x73005d00, 0x00009100, 0x30070637, 0x034c3015,
|
||||
0x30113205, 0x36373633, 0x06333037, 0x17121607, 0x01012e23, 0x0ae54511, 0x230cf145, 0x33302726, 0x20062949, 0x22cf8233, 0x57013011, 0x2e21187d,
|
||||
0x2df34701, 0x42f73608, 0x046d6d1a, 0x5a5a1848, 0x32ae417f, 0x278316ba, 0x01a50192, 0x01c0fead, 0x01ddfe23, 0x74220140, 0x6d1b7c73, 0x6c1b031b,
|
||||
0xa418781b, 0x014afb2d, 0x65655e20, 0x075d505e, 0x14481720, 0x41230829, 0x02d01e4b, 0x5cacfe9f, 0x4d6d6d1e, 0xe8fe4bce, 0xfee13d21, 0x609f02e2,
|
||||
0x60c460bb, 0xcbcc0801, 0x8232c732, 0xfe292702, 0xf6fe4ee2, 0xf8476203, 0xb5fd210d, 0x212d3748, 0x83620000, 0x0005358f, 0x0608ffca, 0x00150536,
|
||||
0x0017000f, 0x00660033, 0x05000092, 0x2a11054e, 0x33300706, 0x012e0526, 0x4e302327, 0x33260549, 0x011e1330, 0xe7493317, 0x30232106, 0x21106359,
|
||||
0x62592726, 0x05ad5a0a, 0x230d6159, 0x33270226, 0x16214282, 0x078e5317, 0x27069c53, 0x33373637, 0x23070206, 0x262f6c82, 0x07062327, 0x0207010e,
|
||||
0x3afb3df8, 0x4e98266e, 0x30340770, 0x0230c631, 0x08340e19, 0xdb796802, 0x030e3408, 0x5bfc7967, 0x48057c44, 0x2e35050e, 0x621e1e3a, 0x563d2262,
|
||||
0x38374c36, 0x1a490327, 0x1f3a384a, 0x07eb4d20, 0x90015e08, 0x6e1a6a1a, 0x18092e0d, 0x24080317, 0x0f360b0a, 0x0a360e79, 0x03092309, 0x6b232331,
|
||||
0x7a1b6e1c, 0x1910390d, 0x19190219, 0xf80d3b10, 0x0170b6b6, 0xfe7070bf, 0x3b027041, 0x34949494, 0xfd0f641b, 0xfe9f02ff, 0x1b640f8d, 0x61fd0102,
|
||||
0x343d5703, 0x2b0b2f0c, 0x313a1616, 0x060b2e27, 0x06945905, 0x321b1a35, 0x28224102, 0x2a2c1717, 0x130d0a2a, 0x4d2f515c, 0x830b1e36, 0xdb3b334b,
|
||||
0x1e706f2d, 0xdc2b2998, 0x2bdc3c3c, 0xde259425, 0x5f83a2a1, 0x3fea3223, 0x37008266, 0x0032ea3f, 0xff180104, 0x05e8050e, 0x001b000f, 0x0043003a,
|
||||
0x25000057, 0x221a7d41, 0x54233021, 0x072405fc, 0x37013e23, 0x98430a82, 0x010e2708, 0x01011e07, 0xc5433311, 0x41112007, 0x33200676, 0xb5432782,
|
||||
0xcd360806, 0x030c320c, 0x0ddb7867, 0x68030c31, 0x7f3f0379, 0x021b6d1b, 0x781b6b1b, 0x23249124, 0x1980238b, 0x1a021966, 0x24781a67, 0x9325248c,
|
||||
0x016cd9fb, 0x26010111, 0x8043269a, 0x77230807, 0x81279a27, 0xfd185f17, 0xfe9e02ff, 0x175f188e, 0x62fd0002, 0x2c2cb22d, 0xe5392db2, 0x36db3639,
|
||||
0x8229a729, 0xda363e02, 0x03e63936, 0xfd9e0229, 0x080160c2, 0x430f0144, 0x3131c732, 0xfe4332c7, 0xf6fe43f2, 0x22008200, 0x82360106, 0x82ca20f3,
|
||||
0x00142ff3, 0x002a001e, 0x00460032, 0x05000052, 0x57442330, 0x14152205, 0x20cb8206, 0x0f195d17, 0x07232722, 0x50083065, 0x0221070b, 0x0e3f4f03,
|
||||
0x21030222, 0x3a0b704e, 0x21016da3, 0x4142685a, 0x79186118, 0x85165a16, 0x2f2e2aac, 0xb603ac29, 0x423bfa3d, 0x10340a66, 0x10c51040, 0x6e79fd40,
|
||||
0x4811716e, 0x0a2b0b11, 0x0b2c0b04, 0x6e240982, 0x68016f70, 0x08099c4e, 0x9e02f220, 0x5f485d6c, 0x2fbc2f14, 0x5b2db52d, 0x282e292b, 0x96fed52b,
|
||||
0x0170b6b6, 0xfe6f6fbf, 0xfd507041, 0x59012506, 0x4f014f01, 0x240b554f, 0xb1feb1fe, 0x07ae5402, 0x00020030, 0x066300a9, 0x00a90357, 0x0033001d,
|
||||
0xd3412500, 0x51062005, 0xb641058d, 0x0516210e, 0x49050d50, 0x40080819, 0x15303330, 0xa0760330, 0x04139027, 0x18966464, 0xbc3335c2, 0x7f20a017,
|
||||
0x81200220, 0xbe179620, 0x2d018a33, 0x411c0aeb, 0x5003164f, 0xccce4195, 0x20ed4163, 0x0127a7a7, 0x014f5333, 0xd0342426, 0x34028234, 0x4fdbfe24,
|
||||
0x0271d7d7, 0x54461e72, 0xa1480217, 0x712bfd47, 0xe71e1000, 0x06348101, 0x02ff2801, 0x1a05d805, 0x25000f00, 0x56004300, 0x7c007400, 0x4f11d353,
|
||||
0x0120335b, 0x512ba14e, 0x022807a6, 0x01c76d67, 0x417301fb, 0x2107704f, 0x824f6b82, 0x416b2205, 0x09794f27, 0x40272725, 0x820d1616, 0x16162c00,
|
||||
0x41d0fd40, 0x29294c6b, 0x87416b4c, 0x41262107, 0x41341c87, 0x163f2826, 0x0d0d0c17, 0x3f16170c, 0xc86ced02, 0x4c01fc01, 0x3605cf51, 0x2b2db7fd,
|
||||
0x5554822c, 0x2d2c2c81, 0x812c2c2d, 0x2b2c82a9, 0x4e1a612d, 0x252106c0, 0x05c04e24, 0x4e252421, 0x1a2406cd, 0x572d0103, 0x58232e83, 0x82582d2d,
|
||||
0x8a57202c, 0x09c24f2b, 0x2205f94e, 0x52e8011a, 0x07360833, 0xfdfe3300, 0x0905c206, 0x16000c00, 0x61003c00, 0x9c008600, 0xb95aa200, 0x0f8b6119,
|
||||
0x2014f451, 0x06835a01, 0x5a010b21, 0x24a51a7f, 0x1614112c, 0x11353632, 0x07141133, 0x934d020e, 0x5b112005, 0x0124063e, 0x2b2c5709, 0x2a08284a,
|
||||
0x5e3aad02, 0x23232121, 0x612f2121, 0x1d5205b2, 0x390e390c, 0x0269200e, 0x010501c3, 0x081f080b, 0x1f078282, 0x04010b08, 0x13786201, 0x29058b5a,
|
||||
0x12082007, 0x62771247, 0x2282c0fb, 0x1d820c20, 0x08828226, 0x020c081e, 0x12222283, 0x33821249, 0x20080825, 0x82481207, 0x64013322, 0x65388e38,
|
||||
0x58350c0c, 0x0c36577f, 0x6636020c, 0xc15af8f4, 0xb120080f, 0x842a2b27, 0x2b2a83b6, 0x25251413, 0x0820084a, 0x535e3239, 0x365e53a1, 0x0821093c,
|
||||
0xa8014f4a, 0x2305925a, 0x1001f0fe, 0x2117905a, 0x23a1ff04, 0x9f023208, 0x4d514efe, 0xb201514d, 0x32445efe, 0x1f1f4132, 0x44323241, 0x61fda201,
|
||||
0xbbfd9f02, 0x0000005a, 0xff4d0104, 0x05b30502, 0x0017001a, 0x008b0051, 0x059f529d, 0x4a09bb50, 0xaa5009d5, 0x23414d14, 0x4d0efe48, 0x0120297a,
|
||||
0x2110f14e, 0x5a468501, 0x4b013809, 0x0c2a7654, 0x2a240c32, 0x4240362c, 0x0a3b1717, 0x31610a28, 0x48111031, 0x0c2306d9, 0x621a0c33, 0x3b290653,
|
||||
0x10105d65, 0xfd5a1f20, 0x2332848b, 0x2b2b230d, 0x272e3286, 0x3131620a, 0x563c1111, 0x37384c36, 0x32890d28, 0x82643c21, 0x1f1f2b32, 0x0ce2015b,
|
||||
0x68020d31, 0x0682db79, 0x79670323, 0x069246f2, 0x343d0b32, 0x2b0c2e0c, 0x31391616, 0x0b171827, 0x12020702, 0x250d5e4d, 0x17172822, 0x5e4d2b2c,
|
||||
0x6203210b, 0x012133b1, 0x0f3c487e, 0x0000002f, 0x00cf0002, 0x03310654, 0x003400b8, 0x10d94e4a, 0x666a2620, 0x08805c05, 0x52095e4a, 0x0e220740,
|
||||
0x35430102, 0x2787080d, 0x1135022e, 0x946a0202, 0x0f3f0f34, 0x4436352d, 0x493a5250, 0x3d7b2525, 0x6b4c2a3d, 0x46465e44, 0x21045b31, 0x2847465d,
|
||||
0x44202128, 0x29747e4b, 0xf901704e, 0x8551c552, 0x764b1110, 0x4b3b3bae, 0x404d5521, 0x360f3a0f, 0x3d481b1c, 0x070e3a31, 0x393a1706, 0x3e593865,
|
||||
0x3e212121, 0x322a0351, 0x34381c1d, 0x100d1a1a, 0x3a657318, 0x03254461, 0x6bfcfd54, 0x026b6c6c, 0x5c11fe04, 0x2b574443, 0x86581615, 0x82ef015c,
|
||||
0x732d10db, 0x0a393d07, 0xf60608ff, 0x0e001505, 0x2b001800, 0x53004900, 0x63005d00, 0x30010000, 0x09505c33, 0x7e5a2b20, 0x2b262306, 0xe24c1101,
|
||||
0x146b5c2c, 0x1133113a, 0x76021521, 0x256841ed, 0x25292925, 0xed416825, 0x5c5c4bed, 0x49fe804b, 0x3c3a985b, 0x292ba701, 0x7ea77e2a, 0x602b292a,
|
||||
0x5b6b5b5f, 0x0221fe5f, 0x82572df7, 0x57825455, 0x2007822d, 0x290682a9, 0x19191b61, 0x692f2425, 0xbf4c242f, 0x5c0c8807, 0xfd2e0e82, 0xfd9f02c0,
|
||||
0x050061c2, 0xab000300, 0xa756fd06, 0x5659200a, 0x052034a7, 0x2024bd4c, 0x11c05608, 0x200dae6b, 0x06c056a4, 0x744c9620, 0x83072105, 0x2007744c,
|
||||
0x0f006761, 0x3a2bd456, 0x134c13a7, 0xfe124b13, 0x121101ef, 0x4a13124a, 0x0263fe13, 0x279c279e, 0x82165916, 0x22088202, 0x820062fd, 0x00033100,
|
||||
0x06ab0022, 0x006103de, 0x0033001b, 0x1300006c, 0x561c4153, 0x114c15e7, 0x012e2114, 0x5c105259, 0xd7200fbc, 0x28054d53, 0x0c320cdb, 0x01796803,
|
||||
0x0abc5640, 0xb85c4c20, 0x2a02212f, 0x240a214b, 0xfd010218, 0x09a14b62, 0x5c080f6e, 0x250827b5, 0x01070000, 0x0502ff7c, 0x001a0584, 0x005b0037,
|
||||
0x00750068, 0x00a9009c, 0x010000d5, 0x010e2130, 0x37363307, 0x8866023e, 0x07012e07, 0x27222306, 0x2627012e, 0x17163727, 0x7917821e, 0x22220515,
|
||||
0x14820706, 0x37013e23, 0x3a5e6621, 0x6b07bf66, 0x1e220d24, 0x246b3301, 0x35212117, 0x29607182, 0x23262405, 0x83020e22, 0x233c8283, 0x17163202,
|
||||
0xc9790182, 0x08c28206, 0x26032137, 0x0c03d7fe, 0x0d0b0602, 0x1c2b200d, 0x1f364b2b, 0x2d3d1010, 0x232d392c, 0x13143423, 0x0e0c4f10, 0x1c2b230d,
|
||||
0x3b41413b, 0x0f12342b, 0x11040f3c, 0x017c0104, 0x245d6669, 0xfe3b3b37, 0x3c583717, 0x232c1110, 0x90295523, 0x212d2e38, 0x0c171622, 0x097d6b01,
|
||||
0x6b221e21, 0x5908067d, 0x50034141, 0x8f2339fe, 0x1b1b3324, 0x291c323a, 0x1006141f, 0x120b103f, 0x664c3812, 0x0e1c1b50, 0x1d2d190f, 0x691a201e,
|
||||
0x0152011a, 0x289e274e, 0x17101014, 0x4e361c0c, 0x2a2a3231, 0x0a10113d, 0x1516210a, 0x10143e18, 0x410d1911, 0x413a0b3a, 0x09021421, 0x3ef93e02,
|
||||
0x4e6657fd, 0xd1012137, 0x2d0be66b, 0x28282726, 0x01352d2e, 0x1b231401, 0xe66b1d10, 0x683f0812, 0x2e207f20, 0x0c2e2a2a, 0x1c113831, 0x19061627,
|
||||
0x1d1d2006, 0x1a1e1b2e, 0x2b25241b, 0x1c3e4528, 0x5a171c1c, 0x00000017, 0xff7a0106, 0x05860502, 0x0028001a, 0x006c0036, 0x009f0092, 0x680000ca,
|
||||
0x3f680c40, 0x21252226, 0x18834206, 0x37013e24, 0x345f031e, 0x07386906, 0x25211322, 0x6d14a75e, 0x2122196b, 0x88613635, 0x1e454206, 0x45685220,
|
||||
0x5a393505, 0x0d2c2222, 0x0e0a0403, 0x1f30260e, 0x3424242b, 0x1e11111e, 0x08054468, 0x10103d45, 0x41413bec, 0x42423a3b, 0xd6fe3403, 0x0b070c05,
|
||||
0x2a210c0d, 0x364a2b1d, 0x3e0f101f, 0x2d392c2d, 0x13352322, 0x340e1014, 0x221b0d0d, 0x403c1c2b, 0x342b3c40, 0x0f3c0e12, 0x7c011207, 0x583810fd,
|
||||
0x8211103c, 0x29552c23, 0x2e2d3890, 0x17162221, 0x6d03030c, 0xcd5e07c7, 0x41412205, 0x05494275, 0x336b6b25, 0x423b1c1b, 0x0f210548, 0x07484240,
|
||||
0x0e1b1c2e, 0x1e2c190f, 0x691b201d, 0xb352011a, 0x222d3068, 0x42a449f2, 0x0a241475, 0x21140a2a, 0x230b7642, 0xb9010174, 0x212d3b42, 0x3a42605f,
|
||||
0x06003824, 0x08ff3900, 0x1505c706, 0x1c000f00, 0x32002800, 0x7a005700, 0x58050000, 0x303407d1, 0x16333013, 0x26031712, 0x06233027, 0x30073007,
|
||||
0x01012e33, 0x5315536e, 0x25750f99, 0x14735313, 0x1e171625, 0x44331701, 0x113c0588, 0x0a1e0423, 0x06e20624, 0xc9640a24, 0x21872182, 0x0c0b0af1,
|
||||
0xb13c0a0b, 0x9bfc290b, 0x080d306e, 0x3bad0230, 0x2421215d, 0x2f212124, 0x33553b2e, 0x4a0d1f34, 0x44343f11, 0x35444c4c, 0x380e1243, 0x026a1f0e,
|
||||
0x010501c4, 0x0421090c, 0x22038282, 0x0c820c09, 0x3678623e, 0x05210937, 0x05171808, 0x62771552, 0x187f23f8, 0x02237f18, 0x41fe709f, 0x31e00170,
|
||||
0xd3240082, 0xa5018c24, 0x211d4e53, 0x4d532907, 0x52163f12, 0x01f0fe09, 0x16510810, 0xfe124b14, 0x769f0263, 0x0e5d1975, 0xb10b4242, 0x0061fd2f,
|
||||
0x67410700, 0x00162c08, 0x002a0020, 0x003f0035, 0x7f870064, 0x06230807, 0x6c321507, 0x0e20061c, 0x2305a571, 0x34013d36, 0x200ca371, 0x13ff7301,
|
||||
0x76057856, 0x75411e9b, 0x02220822, 0x4e100198, 0x1d343750, 0x0a221817, 0x39281609, 0x66d5fe22, 0x262625a7, 0x2197a725, 0x97212525, 0x7d413bfd,
|
||||
0xa7013f50, 0x48415459, 0x0b0b0c05, 0x211c1c28, 0x1c33472b, 0x2c2b275a, 0x2457272c, 0x23292b28, 0x85411d01, 0x00003451, 0xff270105, 0x05d90502,
|
||||
0x002a001a, 0x003c0034, 0x827d0071, 0x09597314, 0x33023e24, 0x71761632, 0x10e76a19, 0x650e7b54, 0x5d65085e, 0x0d7c5d0d, 0x210a0c5b, 0x8676f402,
|
||||
0x7302261f, 0x6f3afb3c, 0x07ed6be5, 0xc6114026, 0xb6fd4010, 0x6b12ea76, 0x6426135d, 0x5a3f215e, 0xd3542e01, 0x768c2009, 0x59210796, 0x0896762d,
|
||||
0x0808652e, 0x1f2f1010, 0x9bfe5d34, 0x9e02b6b6, 0x200b345b, 0x0a51544e, 0x020b2f22, 0x540ef376, 0x5c250982, 0x374d2f51, 0x09fd6f1d, 0x0200003d,
|
||||
0x16ffce01, 0x0e043205, 0x3b002100, 0x30050000, 0x26272223, 0x2e353035, 0x82262701, 0x05b04208, 0x1617322f, 0x15011e17, 0x15070214, 0x3e322733,
|
||||
0x05987401, 0x23022e22, 0x0808436f, 0x04021e28, 0x28558e70, 0x2f885527, 0x3e191b2f, 0x50503938, 0x395050c4, 0xa0bb3e38, 0x603af09a, 0x13131244,
|
||||
0x3a604412, 0x09855f3b, 0x2cea5f31, 0x0b4c492b, 0x5b41414d, 0xc27f735c, 0x82224142, 0x42413400, 0xfee17fc2, 0xf2671cfc, 0x37374c28, 0x37459e45,
|
||||
0x8a284c37, 0x0300290a, 0xb7001300, 0x5603ed06, 0x3d220782, 0x61675100, 0x61032005, 0x944b0f5f, 0x30032206, 0x07535803, 0x30233023, 0x0f2b6c11,
|
||||
0x30231123, 0x22018221, 0x84013035, 0x21230805, 0x02061530, 0xe3302107, 0x5d1772cf, 0x5b170d17, 0x8a227017, 0x01090322, 0x080c0105, 0x8282081e,
|
||||
0x44071f08, 0x12360597, 0x20071249, 0x1f080808, 0x12481208, 0x9a026277, 0x410141fe, 0x7662cefe, 0x01b73206, 0x329b0103, 0xc83131c8, 0xeefe4432,
|
||||
0x01fdfe45, 0x21874b9d, 0x28097d62, 0x00040000, 0x06ab004c, 0x26e382b4, 0x001e0014, 0x835f0028, 0x1ddb5de5, 0x2107a642, 0x994a0111, 0x5db92032,
|
||||
0x192106e4, 0x08e45d60, 0xac2a2e24, 0x56681302, 0x58032707, 0x0c03d7fe, 0x244a0703, 0x0e132123, 0x2006244a, 0x0eec5db7, 0x292e2827, 0x96fed52b,
|
||||
0x065a6802, 0x9e28402a, 0x10101427, 0x351d0c17, 0x210fc549, 0xc5491011, 0x8200200e, 0x01043000, 0x0502ff73, 0x001a058d, 0x007d004c, 0x72e000b4,
|
||||
0x17201717, 0x2106e24a, 0x01840607, 0x011e1522, 0x8405f24a, 0x2306220d, 0x05115722, 0x82372721, 0x0c227217, 0x210a324b, 0x596b2627, 0x06364b06,
|
||||
0x36370123, 0x85558632, 0x010e2354, 0x68412107, 0x8a012033, 0x1d514964, 0x67500221, 0x62081192, 0x1d1d2828, 0x0a0a1110, 0x17181212, 0x13331d1a,
|
||||
0x110b0b13, 0x2c1f2011, 0x232f362c, 0x141c1b24, 0x0d4f0f15, 0x2d12111c, 0x45423d1d, 0x80034740, 0x8f2439fe, 0x1b1c3323, 0x1b321e1d, 0x0b0f0f2a,
|
||||
0x4010050a, 0x13110b0f, 0x66262637, 0x0e1c1b51, 0x1616190e, 0x1a201e1d, 0x52011b69, 0xd6fea7fd, 0x49030b03, 0x37350893, 0x3e100f1e, 0x2d392d2c,
|
||||
0x14342322, 0x0d4e0f14, 0x2c220e0d, 0x0692491b, 0x4c3b0f21, 0x02240507, 0x2438fe50, 0x2107b34b, 0xb34b1e2a, 0x854b2008, 0x4b18205e, 0x357208b3,
|
||||
0x0c270810, 0x2116170b, 0x1a20291f, 0x0c141419, 0x0604060d, 0x1d14151a, 0x242c251c, 0x0e191a24, 0x110a0a0e, 0x17161511, 0x7222143e, 0x7520093d,
|
||||
0x2609614b, 0x0e111c1c, 0x4b13140e, 0x0d210764, 0x05654b0e, 0x1f442923, 0x05664b1f, 0x4c460521, 0x62202b22, 0x2028bb4b, 0x06274f04, 0x0f005628,
|
||||
0x37002e00, 0x5b5e8f03, 0x243f6f13, 0x02260526, 0x011d3327, 0x22354618, 0x158a4518, 0x5fa638c9, 0x461826a6, 0x1520194a, 0x153d4618, 0x3d370122,
|
||||
0x14774518, 0x45181494, 0x119111b3, 0x26a638a6, 0x35215fcc, 0x3f461833, 0x3a012810, 0xc901b266, 0x706b0601, 0x282105f6, 0x12f67027, 0x18eb0123,
|
||||
0x0346185f, 0x03012d4f, 0x040c040e, 0x380e040e, 0x390e7c0e, 0x46180782, 0x01285204, 0x18621964, 0x0f390f7a, 0x0b3a6b82, 0x0f030e04, 0xfc020f3d,
|
||||
0x4502bbfd, 0xb0fd5959, 0x3c7f4242, 0x38373c3d, 0x7a71302f, 0x34302107, 0x200a7a71, 0xda45104a, 0x002f5503, 0x00050000, 0x06ab0047, 0x006103b9,
|
||||
0x822f001e, 0x0058280b, 0x01000070, 0x6c07010e, 0xc67a0ad7, 0x82332005, 0x06d96c14, 0x20243e7b, 0x3925a405, 0x3d0f1001, 0x046c6c10, 0x1e104010,
|
||||
0x287e1e79, 0xad2b289f, 0x8822832b, 0xd27a6302, 0x06062718, 0x31100f07, 0x209e5202, 0xf0012208, 0xcf124612, 0xacfe9e02, 0x25145115, 0xbc2f2491,
|
||||
0xfefe412f, 0xfed13441, 0x40592ef0, 0x40525340, 0x06797a41, 0x49341b35, 0x482c762b, 0x341b1b34, 0x762c2424, 0x1b23252b, 0xa35c1b1a, 0x00002224,
|
||||
0x08934e06, 0x42002f3a, 0x8d006300, 0xa0009800, 0x30050000, 0x30353021, 0x36373637, 0x34353035, 0x2a0adb49, 0x013e3736, 0x17011e32, 0x4a141516,
|
||||
0x07250581, 0x2107010e, 0x052a5605, 0x82343521, 0x3637211d, 0x8306937c, 0x05554d3d, 0x82272621, 0x85222001, 0x05dd752f, 0x16171623, 0x51421801,
|
||||
0x22f74e08, 0xf2791220, 0x4503240c, 0x53d639fe, 0x5a550911, 0x1c1c2c05, 0x3750664c, 0x0c0d0f0e, 0x531d1716, 0x01260613, 0x2e2e3f49, 0x00820e3c,
|
||||
0x2e3c2308, 0x767c3f2e, 0x19227c76, 0x070f1018, 0x0f070606, 0x45191810, 0x100f1918, 0x06070706, 0x18190f10, 0x0e4f89fe, 0x3d742620, 0x726e3afb,
|
||||
0x0c0f4f72, 0xbf68f22c, 0x2f292a2e, 0x1138310c, 0xc349261d, 0x17172a06, 0x24351e1b, 0x23282b25, 0x07c34922, 0x18176722, 0x33072e7c, 0xfeb71817,
|
||||
0x0e5cb6b8, 0x231a1a0e, 0x2c752d24, 0x1a1a2424, 0x0e29a182, 0x24231b1a, 0x242d752c, 0x210e8323, 0x2d4f7703, 0x4f01231f, 0x2f4f4f01, 0x0020080a,
|
||||
0x01060000, 0x0568fe0b, 0x000f05f5, 0x0039001f, 0x004b0041, 0x006f0055, 0x23300100, 0x013d2622, 0x2014fd4e, 0x1afd4e06, 0x2007f667, 0x12877701,
|
||||
0x41180520, 0x2e080d65, 0x33112311, 0x37363313, 0x02231133, 0x35395fe5, 0x201f5b38, 0x262a1211, 0x82353625, 0x26263536, 0x676b7c29, 0x2d4027a1,
|
||||
0x0d0c0c0d, 0x8227402d, 0x0d0c2d09, 0x402d0c0d, 0xc76ded02, 0x3bfbfb01, 0x2b0cff79, 0x09051504, 0x62190923, 0x19621818, 0x05390882, 0x06b48067,
|
||||
0x677b595a, 0x313a68fe, 0x2b340732, 0x4c3e3d2b, 0x2b2c8155, 0x3d008217, 0x55812c2b, 0x4513ad96, 0x25331aa2, 0x2e6a2d25, 0x1b332425, 0x2524331b,
|
||||
0x252d6a2e, 0xec673325, 0x24012108, 0x2d09e276, 0x2b282e29, 0x1249123e, 0x2d2db32c, 0x08822cb3, 0x02fffd39, 0xababfe9e, 0x0062fdaa, 0x00020000,
|
||||
0x06540085, 0x00b8037b, 0x644d0034, 0x1a41357f, 0x133d0813, 0x01231133, 0x359469b7, 0x2c103e10, 0x51443536, 0x26493951, 0x3e3d7a25, 0x436c4c2a,
|
||||
0x3145465f, 0x5d21035b, 0x27284846, 0x4a442120, 0x4e29757e, 0x06fa0371, 0x130b2c0b, 0x81242381, 0x27088213, 0xe1a18206, 0x829ae007, 0x2a2d8c64,
|
||||
0x5a178f02, 0x40ec2217, 0x8222ec40, 0x7ffd3808, 0x56fe4603, 0xbafcaa01, 0x00030000, 0x066300b5, 0x00a9034b, 0x7b15000b, 0x092119ad, 0x11d57601,
|
||||
0x6801b63c, 0x747f7f74, 0x3934d8e1, 0x03d83439, 0x8cedfe5a, 0x0a175817, 0x0f050f37, 0x09820a38, 0xba2e8834, 0x4603632e, 0xfe89e689, 0x36c501b2,
|
||||
0x36323a32, 0xa17631fd, 0xc8252205, 0x0aa17637, 0x00820020, 0x20071b50, 0x06bf4561, 0xbd457e20, 0x34ce4e46, 0x10152108, 0x6d6d0f3d, 0x10401003,
|
||||
0x7f1e781f, 0x2b27a028, 0x22832bac, 0x3f630287, 0x0e0f3b5c, 0x5c3b0f0e, 0x28054344, 0x0d0d1f31, 0x3145311f, 0x053b441f, 0x1a033122, 0x45325050,
|
||||
0x01213edf, 0x2c7150ef, 0x5b01053a, 0xa50502ff, 0x34001a05, 0x48003e00, 0xa2008100, 0x22050000, 0x37362726, 0x54079f79, 0x0225103f, 0x23012e07,
|
||||
0x0f3f5422, 0x14654b18, 0x01694589, 0x0d597629, 0x2a0eb157, 0x010e1716, 0x76555002, 0x7f26252a, 0x0b2314c7, 0x7f091e1a, 0x01210dc8, 0x0545442d,
|
||||
0x2aacb335, 0xac2a2e2e, 0x76542cfe, 0x2425262b, 0x40372b2a, 0x69161842, 0x0d211140, 0x0e406919, 0x08057476, 0x69242521, 0x22755841, 0x48112e2d,
|
||||
0x58584e3b, 0x134b3d4e, 0x79224d0a, 0x23343dfd, 0x16162b23, 0x54273139, 0x0a230e8c, 0x54081b16, 0x4b18128d, 0x292507bf, 0x012b282e, 0x693d8918,
|
||||
0x2a082650, 0x4055a9b1, 0x2d2c2d40, 0x19194b4d, 0x5d6a3930, 0x3e695d66, 0x492f0631, 0x00000052, 0x002e0004, 0x03d206b7, 0x000f0056, 0x18360027,
|
||||
0x5e15e741, 0x132015d5, 0x25182d61, 0x01c86c62, 0xad5570fc, 0xed832b09, 0x25256940, 0x25252828, 0xf6604069, 0x18812005, 0x2009e841, 0x05bb7002,
|
||||
0x2a9e0227, 0xa87d2a2a, 0x2705827d, 0x6c5b5e60, 0x22fe5e5b, 0x002d9e82, 0xff4b0106, 0x05b50502, 0x0015001a, 0x30ab821e, 0x016e0049, 0x050000d8,
|
||||
0x21303530, 0x12363530, 0x053d7437, 0x2330152e, 0x25301530, 0x11303330, 0x010e2330, 0x2007145e, 0xd344183e, 0x48012008, 0x2e23073d, 0x7e062201,
|
||||
0x1e240719, 0x26220102, 0x6d08006a, 0x07220681, 0x46181d06, 0x352b0e81, 0x0f231133, 0x0e0f1501, 0x840d0f15, 0x91088205, 0x2e05270b, 0x35372701,
|
||||
0x02840b3f, 0x05840a20, 0x06200b88, 0x073c1793, 0x15331133, 0xc9fea102, 0x8e2db52d, 0xbffe5c5c, 0x8e2307db, 0x5c3eaf02, 0x1d0f0e3c, 0x09bd4418,
|
||||
0x00820720, 0x310f0f26, 0x0f103145, 0x07390982, 0xeefd311f, 0x49279683, 0x3b584168, 0x3c0f213b, 0x3b481110, 0x2d2d2c4d, 0xd849182c, 0xbc2f220a,
|
||||
0x3b4c1808, 0x222eeb2e, 0xd20b2c0b, 0xd202206e, 0x01012453, 0x18f2a3a6, 0x290ea54a, 0x582fe2fe, 0x51524140, 0x45185883, 0x243b07aa, 0x2b752c25,
|
||||
0x1a1a2425, 0x1a1a1c1c, 0x752b2524, 0x3324252c, 0xb106031c, 0x188055a9, 0x2c0f6148, 0x09313e34, 0x29490923, 0x015a0b29, 0xd0b1d4f5, 0x280a2254,
|
||||
0x8953d00a, 0x55b64150, 0xfd235f86, 0x82005abc, 0x02350800, 0x5f025c00, 0x7105a406, 0x1b000300, 0x21130000, 0x27012115, 0x33351737, 0x07173715,
|
||||
0x17231533, 0x23152707, 0x37270735, 0x065c3523, 0x04b8f948, 0x8c2a8cc2, 0x2103823c, 0x0887c6c6, 0x46a50224, 0x118c2202, 0x00261a84, 0x5c000100,
|
||||
0x5b8225ff, 0x1400d622, 0x38085982, 0x3e012c32, 0x34113505, 0x022c032e, 0x019d5c23, 0xf6050134, 0x5b7fadc7, 0xaa6f3c2e, 0xfef8fecc, 0xada9fee5,
|
||||
0x5633a502, 0x7a837e72, 0xf90e4766, 0x7d5b154f, 0x68869190, 0x24478d3e, 0x012c2201, 0x2047832e, 0x2747823e, 0x9da40633, 0xfbfeccfe, 0x01254889,
|
||||
0x011b0108, 0x82489657, 0x000532ef, 0x0638ff2a, 0x009405d6, 0x00400004, 0x014b0044, 0x2b9b8208, 0x21072130, 0x030e2204, 0x07040e07, 0x2e06eb57,
|
||||
0x33363435, 0x041e1732, 0x37033e32, 0x8337043e, 0x1716240c, 0x83141516, 0x032e391e, 0x21152103, 0x05231501, 0x25352325, 0x33023e34, 0x36171632,
|
||||
0x17031e32, 0x14212682, 0x21058306, 0x05833236, 0x013e1725, 0x82033e37, 0x84362047, 0x22288340, 0x8631011e, 0x2317840c, 0x021e3233, 0x5b852983,
|
||||
0x85141521, 0x27262961, 0x3435012e, 0x27022e35, 0x0e2e6e83, 0x27222301, 0x0607010e, 0x07062722, 0x0c86030e, 0x02200683, 0xb0840e82, 0x03862683,
|
||||
0x82022e21, 0x273b08ba, 0x35010e34, 0x2627010e, 0x16172627, 0x06273435, 0x36373437, 0x5c262223, 0xfe46e401, 0x54e00462, 0x2f4f5061, 0x3c15070f,
|
||||
0x522c5b40, 0x4da7934b, 0x151d0835, 0x2f0f0f1b, 0x9a61504f, 0xddd4081b, 0x62fee401, 0x019610fe, 0x96000100, 0x0e047afc, 0x1b131a24, 0x171f0e0b,
|
||||
0x0202080c, 0x11151b11, 0x04070602, 0x10072e38, 0x020c0e10, 0x06030810, 0x0a0c130c, 0x530b0609, 0x040d1339, 0x0c11282c, 0x2f411e18, 0x0d151d0c,
|
||||
0x241a0e04, 0x27142013, 0x11140c1e, 0x0909090a, 0x2c21492f, 0x121a1301, 0x1004180f, 0x25210f06, 0x2a100f14, 0x10171c19, 0x21091224, 0x132e0e0d,
|
||||
0x18133b1a, 0x0d060707, 0x0e290938, 0x111a141b, 0x122f340d, 0x19100807, 0x160b0a11, 0x1c101010, 0x22180f17, 0x08221a0c, 0x030d1611, 0x06171601,
|
||||
0x021a0327, 0x01100801, 0x08020103, 0x021a1207, 0x2fbb6eb9, 0x173c5242, 0x424a1d09, 0xa72d184b, 0x0f0d4d4e, 0x17161d15, 0x2f42523c, 0x90081897,
|
||||
0x016e5801, 0xf0f0fa25, 0x1d0da0fa, 0x1b151a29, 0x1d110e07, 0x26170e11, 0x0c020b3a, 0x0505070d, 0x0b091037, 0x08040910, 0x040d670c, 0x3b1f2741,
|
||||
0x0e186037, 0x121d1107, 0x15092617, 0x5201100f, 0x04380443, 0x34010512, 0x10171108, 0x0b122d0c, 0x3e080403, 0x2f070b42, 0x0b24111d, 0x14111045,
|
||||
0x1d0f331c, 0x0a5d090e, 0x18180c4d, 0x022d410c, 0x17211617, 0x0c110508, 0x2226141b, 0x19220e05, 0x02071703, 0x02030c0c, 0x04110205, 0x04020202,
|
||||
0x24038201, 0x171a0702, 0x07b34300, 0x00492508, 0x000f000b, 0x33150100, 0x23152315, 0x33352335, 0x15210135, 0xb4980521, 0xb4b464b4, 0x480628fb,
|
||||
0x4905b8f9, 0x64380b83, 0x465cfdb4, 0x53000500, 0x8c063eff, 0x0600a705, 0x2c002800, 0x37003000, 0x11293d82, 0x33010b33, 0x07232711, 0x20018327,
|
||||
0x26058403, 0x1b35020b, 0x82173702, 0x84132001, 0x33172905, 0x2b153321, 0x37333502, 0x2e082d85, 0xcea0a104, 0xc936a0ce, 0x303f334a, 0x3a3a3f2f,
|
||||
0x10311937, 0x27273736, 0x31103637, 0x3a3a3719, 0x3f302f3f, 0x01c94a33, 0xbc8a8af2, 0x83887373, 0x0247082c, 0x01b00108, 0xfedefe22, 0x3ed63a50,
|
||||
0xe3cd72a9, 0x8b54fcfe, 0xfe92df6a, 0x010401d4, 0xeb0189eb, 0xaffe0401, 0x8b6adfb7, 0xe3fcfe54, 0x3ea972cd, 0x3a6161d6, 0xdefe50fe, 0xb0012201,
|
||||
0x00030000, 0x0637ff5c, 0x82e005a4, 0x000d22bb, 0x26b7833b, 0x23010923, 0x84110311, 0x2f012206, 0x85bf8501, 0x840f2005, 0x020f220f, 0x23c4821f,
|
||||
0x011f013f, 0x0586c485, 0xc8340328, 0x14011401, 0x068598c8, 0x38d8023d, 0x4b604e72, 0x5a5a6048, 0x184b2754, 0x394b4554, 0x155a364b, 0x39252539,
|
||||
0x82365a15, 0x5445310c, 0x54274b18, 0x48605a5a, 0x724e604b, 0xfcfe5d01, 0x04229484, 0xb9825d02, 0x3008d183, 0x1bc8fefc, 0x2d420438, 0x21665951,
|
||||
0x48582a37, 0x645a7084, 0x8f523b4b, 0x4a656c43, 0x4b3b528f, 0x84705a64, 0x372a5848, 0x51596621, 0x3804422d, 0x3b008200, 0xff4b0002, 0x05b50622,
|
||||
0x000900d0, 0x0500002a, 0x15012d15, 0x010d3521, 0x17130135, 0x3f20ad8b, 0x0324d98d, 0x6d010307, 0x04227e83, 0x7a820126, 0xd3fa2608, 0x1f6d6e4e,
|
||||
0x756d3262, 0x615e7d75, 0x4994667d, 0x7d669449, 0x757d5e61, 0x62326d75, 0x4e6e6d1f, 0xcecea03e, 0x080383a0, 0xfe540333, 0x73eccd7e, 0x426e54b0,
|
||||
0x59a1b2cc, 0x36993184, 0x84319935, 0xccb2a159, 0xb0546e42, 0xcd090190, 0x00007efe, 0xff5e0002, 0x05a2066a, 0x000b007b, 0x0e5b421f, 0x03270330,
|
||||
0x27020b27, 0x021b3711, 0x13371337, 0x69421521, 0xc7fe2106, 0x86877487, 0x42a70221, 0xfc330777, 0x629dfef0, 0xfeb2f7fe, 0xfe6501be, 0x07058467,
|
||||
0x8267fe84, 0xb2be2f09, 0xfe62f7fe, 0x0300749d, 0x3eff5300, 0x9342af06, 0x002f2c06, 0x35211300, 0x2135010d, 0x41211503, 0x80420507, 0x021b2205,
|
||||
0x42798235, 0x072109a0, 0x20268503, 0x075442cb, 0x45035522, 0x21068c42, 0x8c42363b, 0x3b36210b, 0x20068c42, 0x074b4296, 0xa0030428, 0xfea0cece,
|
||||
0x864261fc, 0x9bfe2126, 0x00202f83, 0x04280082, 0x5effc800, 0xa6053806, 0x0f2bb582, 0x1f001b00, 0x35250000, 0x43031521, 0x0b8b0b7f, 0x1123112e,
|
||||
0xcc016c04, 0x64b4b4b4, 0xc0fcb4b4, 0x02270684, 0x64a05a31, 0x439c0464, 0xfe210595, 0x2507855c, 0xb8f90e02, 0x62824806, 0x47010021, 0x0221058f,
|
||||
0x2c6382a5, 0x15211300, 0x48065c21, 0xa502b8f9, 0x231c8346, 0xae000e00, 0x0a842182, 0x02200482, 0x01220b86, 0x8b820d00, 0x11820120, 0x02000026,
|
||||
0x3d000700, 0x03241786, 0x91002500, 0x04200b86, 0xd3202382, 0x05240b86, 0x01010f00, 0x06240b86, 0x2b010c00, 0x01226b82, 0x3f840904, 0x0b860020,
|
||||
0x1a000122, 0x03210982, 0x20178300, 0x20778202, 0x2417862d, 0x004a0003, 0x200b8645, 0x20238204, 0x240b86b7, 0x001e0005, 0x240b86e1, 0x01180006,
|
||||
0x304d8311, 0x00750046, 0x006e0072, 0x00630061, 0x00200065, 0x20078249, 0x2e0f826f, 0x46000073, 0x616e7275, 0x49206563, 0x826e6f63, 0x8252200e,
|
||||
0x8267201f, 0x826c202d, 0x0072282b, 0x67655200, 0x82616c75, 0x00462108, 0x74212f83, 0x22078300, 0x84670072, 0x823a2045, 0x21599949, 0x1f830020,
|
||||
0x38003124, 0x03842d00, 0x30003226, 0x33003200, 0x6f2a7182, 0x6f46746e, 0x20656772, 0x7d8c203a, 0x31270f82, 0x2d382d38, 0x83323032, 0x20b3a826,
|
||||
0x248d8256, 0x00730072, 0x20a38469, 0x24678220, 0x00310030, 0x3007842e, 0x56000030, 0x69737265, 0x30206e6f, 0x302e3130, 0x8d108230, 0x110b41b3,
|
||||
0x23060a41, 0x00020000, 0x0120008b, 0x0b840c8b, 0x05824b20, 0x00019a08, 0x01030002, 0x01030102, 0x01050104, 0x01070106, 0x01090108, 0x010b010a,
|
||||
0x010d010c, 0x010f010e, 0x01110110, 0x01130112, 0x01150114, 0x01170116, 0x01190118, 0x011b011a, 0x011d011c, 0x011f011e, 0x01210120, 0x01230122,
|
||||
0x01250124, 0x01270126, 0x01290128, 0x012b012a, 0x012d012c, 0x012f012e, 0x01310130, 0x01330132, 0x01350134, 0x01370136, 0x01390138, 0x013b013a,
|
||||
0x013d013c, 0x013f013e, 0x01410140, 0x01430142, 0x01450144, 0x01470146, 0x6e750748, 0x46304569, 0x20078630, 0x20078631, 0x20078632, 0x20078633,
|
||||
0x21078434, 0x27853031, 0x85303121, 0x30312127, 0x31212785, 0x21278530, 0x27873031, 0x2f863520, 0x07863620, 0x07863720, 0x07863820, 0x07863920,
|
||||
0x07864120, 0x07864220, 0x07864320, 0x07864420, 0x07864520, 0x07854620, 0x86303121, 0x86312007, 0x207f8607, 0x207f8631, 0x207f8631, 0x207f8631,
|
||||
0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x217f8631, 0x77853032, 0x86313221,
|
||||
0x207f8607, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632,
|
||||
0x207f8632, 0x217f8632, 0x77853033, 0x86313321, 0x207f8607, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633,
|
||||
0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x217f8633, 0x77853034, 0x00313428, 0xff010000, 0xcd4400ff, 0x00002607, 0x0014000c,
|
||||
0x24158204, 0x00000002, 0x85038601, 0xe0002409, 0x82206855, 0xe0002c11, 0x009ffffd, 0xe1000000, 0x05c9dc04, 0xc4a023fa, 0x00000091,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// not auto-generated. update every time you change icons.ttf!
|
||||
|
||||
#define ICON_MIN_FUR 0xe0f0
|
||||
#define ICON_MAX_FUR 0xe135
|
||||
#define ICON_MAX_FUR 0xe141
|
||||
|
||||
// test
|
||||
#define ICON_FUR_TEST0 u8"\ue0f0"
|
||||
|
|
@ -66,4 +66,16 @@
|
|||
#define ICON_FUR_INS_TED u8"\ue134"
|
||||
#define ICON_FUR_INS_C140 u8"\ue135"
|
||||
|
||||
// sample editor?
|
||||
// sample editor
|
||||
#define ICON_FUR_SAMPLE_APPLY_SILENCE u8"\ue136"
|
||||
#define ICON_FUR_SAMPLE_FADEIN u8"\ue137"
|
||||
#define ICON_FUR_SAMPLE_FADEOUT u8"\ue138"
|
||||
#define ICON_FUR_SAMPLE_FILTER u8"\ue139"
|
||||
#define ICON_FUR_SAMPLE_INSERT_SILENCE u8"\ue13a"
|
||||
#define ICON_FUR_SAMPLE_INVERT u8"\ue13b"
|
||||
#define ICON_FUR_SAMPLE_NORMALIZE u8"\ue13c"
|
||||
#define ICON_FUR_SAMPLE_RESAMPLE u8"\ue13d"
|
||||
#define ICON_FUR_SAMPLE_RESIZE u8"\ue13e"
|
||||
#define ICON_FUR_SAMPLE_REVERSE u8"\ue13f"
|
||||
#define ICON_FUR_SAMPLE_SIGN u8"\ue140"
|
||||
#define ICON_FUR_SAMPLE_TRIM u8"\ue141"
|
||||
|
|
@ -5792,23 +5792,45 @@ bool FurnaceGUI::loop() {
|
|||
pendingRawSampleBigEndian=false;
|
||||
}
|
||||
|
||||
ImGui::BeginDisabled(pendingRawSampleDepth!=DIV_SAMPLE_DEPTH_8BIT && pendingRawSampleDepth!=DIV_SAMPLE_DEPTH_16BIT);
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("Channels");
|
||||
ImGui::SameLine();
|
||||
if (ImGui::InputInt("##RSChans",&pendingRawSampleChannels)) {
|
||||
if (pendingRawSampleDepth==DIV_SAMPLE_DEPTH_8BIT || pendingRawSampleDepth==DIV_SAMPLE_DEPTH_16BIT) {
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("Channels");
|
||||
ImGui::SameLine();
|
||||
ImGui::SetNextItemWidth(120.0f*dpiScale);
|
||||
if (ImGui::InputInt("##RSChans",&pendingRawSampleChannels)) {
|
||||
}
|
||||
ImGui::Text("(will be mixed down to mono)");
|
||||
ImGui::Checkbox("Unsigned",&pendingRawSampleUnsigned);
|
||||
}
|
||||
ImGui::Text("(will be mixed down to mono)");
|
||||
ImGui::Checkbox("Unsigned",&pendingRawSampleUnsigned);
|
||||
ImGui::EndDisabled();
|
||||
|
||||
ImGui::BeginDisabled(pendingRawSampleDepth!=DIV_SAMPLE_DEPTH_16BIT);
|
||||
ImGui::Checkbox("Big endian",&pendingRawSampleBigEndian);
|
||||
ImGui::EndDisabled();
|
||||
if (pendingRawSampleDepth==DIV_SAMPLE_DEPTH_16BIT) {
|
||||
ImGui::Checkbox("Big endian",&pendingRawSampleBigEndian);
|
||||
}
|
||||
|
||||
ImGui::BeginDisabled(pendingRawSampleDepth==DIV_SAMPLE_DEPTH_16BIT);
|
||||
ImGui::Checkbox("Swap nibbles",&pendingRawSampleSwapNibbles);
|
||||
ImGui::EndDisabled();
|
||||
if (pendingRawSampleDepth==DIV_SAMPLE_DEPTH_YMZ_ADPCM ||
|
||||
pendingRawSampleDepth==DIV_SAMPLE_DEPTH_QSOUND_ADPCM ||
|
||||
pendingRawSampleDepth==DIV_SAMPLE_DEPTH_ADPCM_A ||
|
||||
pendingRawSampleDepth==DIV_SAMPLE_DEPTH_ADPCM_B ||
|
||||
pendingRawSampleDepth==DIV_SAMPLE_DEPTH_VOX) {
|
||||
ImGui::Checkbox("Swap nibbles",&pendingRawSampleSwapNibbles);
|
||||
}
|
||||
|
||||
if (pendingRawSampleDepth==DIV_SAMPLE_DEPTH_MULAW) {
|
||||
ImGui::Text("Encoding:");
|
||||
ImGui::Indent();
|
||||
if (ImGui::RadioButton("G.711",pendingRawSampleSwapNibbles==0)) {
|
||||
pendingRawSampleSwapNibbles=0;
|
||||
}
|
||||
if (ImGui::RadioButton("Namco",pendingRawSampleSwapNibbles==1)) {
|
||||
pendingRawSampleSwapNibbles=1;
|
||||
}
|
||||
ImGui::Unindent();
|
||||
}
|
||||
|
||||
if (pendingRawSampleDepth==DIV_SAMPLE_DEPTH_1BIT ||
|
||||
pendingRawSampleDepth==DIV_SAMPLE_DEPTH_1BIT_DPCM) {
|
||||
ImGui::Checkbox("Reverse bit order",&pendingRawSampleSwapNibbles);
|
||||
}
|
||||
|
||||
if (ImGui::Button("OK")) {
|
||||
DivSample* s=e->sampleFromFileRaw(pendingRawSample.c_str(),(DivSampleDepth)pendingRawSampleDepth,pendingRawSampleChannels,pendingRawSampleBigEndian,pendingRawSampleUnsigned,pendingRawSampleSwapNibbles);
|
||||
|
|
|
|||
|
|
@ -1428,6 +1428,14 @@ class FurnaceGUI {
|
|||
int c64Core;
|
||||
int pokeyCore;
|
||||
int opnCore;
|
||||
int arcadeCoreRender;
|
||||
int ym2612CoreRender;
|
||||
int snCoreRender;
|
||||
int nesCoreRender;
|
||||
int fdsCoreRender;
|
||||
int c64CoreRender;
|
||||
int pokeyCoreRender;
|
||||
int opnCoreRender;
|
||||
int pcSpeakerOutMethod;
|
||||
String yrw801Path;
|
||||
String tg100Path;
|
||||
|
|
@ -1596,6 +1604,14 @@ class FurnaceGUI {
|
|||
c64Core(0),
|
||||
pokeyCore(1),
|
||||
opnCore(1),
|
||||
arcadeCoreRender(1),
|
||||
ym2612CoreRender(0),
|
||||
snCoreRender(0),
|
||||
nesCoreRender(0),
|
||||
fdsCoreRender(1),
|
||||
c64CoreRender(1),
|
||||
pokeyCoreRender(1),
|
||||
opnCoreRender(1),
|
||||
pcSpeakerOutMethod(0),
|
||||
yrw801Path(""),
|
||||
tg100Path(""),
|
||||
|
|
|
|||
|
|
@ -1468,7 +1468,7 @@ void FurnaceGUI::drawMacroEdit(FurnaceGUIMacroDesc& i, int totalFit, float avail
|
|||
if (!i.isBitfield) {
|
||||
if (settings.oldMacroVSlider) {
|
||||
ImGui::SameLine(0.0f);
|
||||
if (ImGui::VSliderInt("IMacroVScroll",ImVec2(20.0f*dpiScale,i.height*dpiScale),&i.macro->vScroll,0,(i.max-i.min)-i.macro->vZoom,"",ImGuiSliderFlags_NoInput)) {
|
||||
if (ImGui::VSliderInt("##IMacroVScroll",ImVec2(20.0f*dpiScale,i.height*dpiScale),&i.macro->vScroll,0,(i.max-i.min)-i.macro->vZoom,"",ImGuiSliderFlags_NoInput)) {
|
||||
if (i.macro->vScroll<0) i.macro->vScroll=0;
|
||||
if (i.macro->vScroll>((i.max-i.min)-i.macro->vZoom)) i.macro->vScroll=(i.max-i.min)-i.macro->vZoom;
|
||||
}
|
||||
|
|
@ -1494,7 +1494,7 @@ void FurnaceGUI::drawMacroEdit(FurnaceGUIMacroDesc& i, int totalFit, float avail
|
|||
if (i.macro->vScroll>((i.max-i.min)-i.macro->vZoom)) i.macro->vScroll=(i.max-i.min)-i.macro->vZoom;
|
||||
}
|
||||
|
||||
ImGuiID scrollbarID=ImGui::GetID("IMacroVScroll");
|
||||
ImGuiID scrollbarID=ImGui::GetID("##IMacroVScroll");
|
||||
ImGui::KeepAliveID(scrollbarID);
|
||||
if (ImGui::ScrollbarEx(scrollbarPos,scrollbarID,ImGuiAxis_Y,&scrollV,availV,contentsV,0)) {
|
||||
i.macro->vScroll=(i.max-i.min-i.macro->vZoom)-scrollV;
|
||||
|
|
@ -1888,7 +1888,7 @@ void FurnaceGUI::drawMacros(std::vector<FurnaceGUIMacroDesc>& macros, FurnaceGUI
|
|||
break;
|
||||
}
|
||||
case 1: {
|
||||
ImGui::Text("Mobile");
|
||||
ImGui::Text("Tabs");
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
|
|
@ -1980,8 +1980,37 @@ void FurnaceGUI::drawMacros(std::vector<FurnaceGUIMacroDesc>& macros, FurnaceGUI
|
|||
FurnaceGUIMacroDesc& m=macros[state.selectedMacro];
|
||||
m.macro->open|=1;
|
||||
|
||||
m.height=ImGui::GetContentRegionAvail().y-ImGui::GetFontSize()-ImGui::GetFrameHeightWithSpacing()-12.0f*dpiScale-ImGui::GetStyle().ItemSpacing.y*3.0f;
|
||||
if (m.macro->name=="arp") m.height-=12.0f*dpiScale;
|
||||
float availableWidth=ImGui::GetContentRegionAvail().x-reservedSpace;
|
||||
int totalFit=MIN(255,availableWidth/MAX(1,macroPointSize*dpiScale));
|
||||
int scrollMax=0;
|
||||
for (FurnaceGUIMacroDesc& i: macros) {
|
||||
if (i.macro->len>scrollMax) scrollMax=i.macro->len;
|
||||
}
|
||||
scrollMax-=totalFit;
|
||||
if (scrollMax<0) scrollMax=0;
|
||||
if (macroDragScroll>scrollMax) {
|
||||
macroDragScroll=scrollMax;
|
||||
}
|
||||
ImGui::BeginDisabled(scrollMax<1);
|
||||
ImGui::SetNextItemWidth(availableWidth);
|
||||
if (CWSliderInt("##MacroScroll",¯oDragScroll,0,scrollMax,"")) {
|
||||
if (macroDragScroll<0) macroDragScroll=0;
|
||||
if (macroDragScroll>scrollMax) macroDragScroll=scrollMax;
|
||||
}
|
||||
ImGui::EndDisabled();
|
||||
|
||||
ImGui::SameLine();
|
||||
ImGui::Button(ICON_FA_SEARCH_PLUS "##MacroZoomB");
|
||||
if (ImGui::BeginPopupContextItem("MacroZoomP",ImGuiPopupFlags_MouseButtonLeft)) {
|
||||
ImGui::SetNextItemWidth(120.0f*dpiScale);
|
||||
if (ImGui::InputInt("##MacroPointSize",¯oPointSize,1,16)) {
|
||||
if (macroPointSize<1) macroPointSize=1;
|
||||
if (macroPointSize>256) macroPointSize=256;
|
||||
}
|
||||
ImGui::EndPopup();
|
||||
}
|
||||
|
||||
m.height=ImGui::GetContentRegionAvail().y-ImGui::GetFontSize()-ImGui::GetFrameHeightWithSpacing()-(m.bit30?28.0f:12.0f)*dpiScale-ImGui::GetStyle().ItemSpacing.y*3.0f;
|
||||
if (m.height<10.0f*dpiScale) m.height=10.0f*dpiScale;
|
||||
m.height/=dpiScale;
|
||||
drawMacroEdit(m,totalFit,availableWidth,index);
|
||||
|
|
@ -1999,7 +2028,25 @@ void FurnaceGUI::drawMacros(std::vector<FurnaceGUIMacroDesc>& macros, FurnaceGUI
|
|||
}
|
||||
ImGui::SameLine();
|
||||
}
|
||||
BUTTON_TO_SET_PROPS(m);
|
||||
ImGui::Text("StepLen");
|
||||
ImGui::SameLine();
|
||||
ImGui::SetNextItemWidth(120.0f*dpiScale);
|
||||
if (ImGui::InputScalar("##IMacroSpeed",ImGuiDataType_U8,&m.macro->speed,&_ONE,&_THREE)) {
|
||||
if (m.macro->speed<1) m.macro->speed=1;
|
||||
MARK_MODIFIED;
|
||||
}
|
||||
ImGui::SameLine();
|
||||
ImGui::Text("Delay");
|
||||
ImGui::SameLine();
|
||||
ImGui::SetNextItemWidth(120.0f*dpiScale);
|
||||
if (ImGui::InputScalar("##IMacroDelay",ImGuiDataType_U8,&m.macro->delay,&_ONE,&_THREE)) {
|
||||
MARK_MODIFIED;
|
||||
}
|
||||
ImGui::SameLine();
|
||||
{
|
||||
FurnaceGUIMacroDesc& i=m;
|
||||
BUTTON_TO_SET_MODE(ImGui::Button);
|
||||
}
|
||||
if (m.modeName!=NULL) {
|
||||
bool modeVal=m.macro->mode;
|
||||
String modeName=fmt::sprintf("%s##IMacroMode",m.modeName);
|
||||
|
|
@ -2188,7 +2235,7 @@ void FurnaceGUI::drawInsEdit() {
|
|||
}
|
||||
if (ImGui::Begin("Instrument Editor",&insEditOpen,globalWinFlags|(settings.allowEditDocking?0:ImGuiWindowFlags_NoDocking))) {
|
||||
if (curIns<0 || curIns>=(int)e->song.ins.size()) {
|
||||
ImGui::SetCursorPosY(ImGui::GetCursorPosY()+(ImGui::GetContentRegionAvail().y-ImGui::GetFrameHeightWithSpacing()*2.0f)*0.5f);
|
||||
ImGui::SetCursorPosY(ImGui::GetCursorPosY()+(ImGui::GetContentRegionAvail().y-ImGui::GetFrameHeightWithSpacing()*(e->song.ins.empty()?2.0f:3.0f)+ImGui::GetStyle().ItemSpacing.y)*0.5f);
|
||||
CENTER_TEXT("no instrument selected");
|
||||
ImGui::Text("no instrument selected");
|
||||
if (ImGui::BeginTable("noAssetCenter",3)) {
|
||||
|
|
@ -2201,6 +2248,7 @@ void FurnaceGUI::drawInsEdit() {
|
|||
ImGui::TableNextColumn();
|
||||
|
||||
if (e->song.ins.size()>0) {
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
if (ImGui::BeginCombo("##InsSelect","select one...")) {
|
||||
String name;
|
||||
for (size_t i=0; i<e->song.ins.size(); i++) {
|
||||
|
|
@ -2213,7 +2261,7 @@ void FurnaceGUI::drawInsEdit() {
|
|||
}
|
||||
ImGui::EndCombo();
|
||||
}
|
||||
ImGui::SameLine();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::TextUnformatted("or");
|
||||
ImGui::SameLine();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -950,7 +950,7 @@ void FurnaceGUI::drawPattern() {
|
|||
// cursor follows wheel
|
||||
if (settings.cursorFollowsWheel && (!e->isPlaying() || !followPattern) && ImGui::IsWindowHovered(ImGuiHoveredFlags_ChildWindows)) {
|
||||
if (wheelX!=0 || wheelY!=0) {
|
||||
moveCursor(wheelX,wheelY,false);
|
||||
moveCursor(wheelX,(settings.cursorFollowsWheel==2)?wheelY:-wheelY,false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
#include <math.h>
|
||||
#include "../ta-log.h"
|
||||
#include "IconsFontAwesome4.h"
|
||||
#include "furIcons.h"
|
||||
#include "misc/cpp/imgui_stdlib.h"
|
||||
#include <fmt/printf.h>
|
||||
#include "guiConst.h"
|
||||
|
|
@ -784,7 +785,7 @@ void FurnaceGUI::drawSampleEdit() {
|
|||
sameLineMaybe();
|
||||
ImGui::Dummy(ImVec2(4.0*dpiScale,dpiScale));
|
||||
sameLineMaybe();
|
||||
ImGui::Button(ICON_FA_ARROWS_H "##SResize");
|
||||
ImGui::Button(ICON_FUR_SAMPLE_RESIZE "##SResize");
|
||||
if (ImGui::IsItemClicked()) {
|
||||
resizeSize=sample->samples;
|
||||
}
|
||||
|
|
@ -819,7 +820,7 @@ void FurnaceGUI::drawSampleEdit() {
|
|||
resizeSize=sample->samples;
|
||||
}
|
||||
sameLineMaybe();
|
||||
ImGui::Button(ICON_FA_EXPAND "##SResample");
|
||||
ImGui::Button(ICON_FUR_SAMPLE_RESAMPLE "##SResample");
|
||||
if (ImGui::IsItemClicked()) {
|
||||
resampleTarget=targetRate;
|
||||
}
|
||||
|
|
@ -940,28 +941,28 @@ void FurnaceGUI::drawSampleEdit() {
|
|||
ImGui::EndPopup();
|
||||
}
|
||||
sameLineMaybe();
|
||||
if (ImGui::Button(ICON_FA_ARROWS_V "##SNormalize")) {
|
||||
if (ImGui::Button(ICON_FUR_SAMPLE_NORMALIZE "##SNormalize")) {
|
||||
doAction(GUI_ACTION_SAMPLE_NORMALIZE);
|
||||
}
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("Normalize");
|
||||
}
|
||||
sameLineMaybe();
|
||||
if (ImGui::Button(ICON_FA_ARROW_UP "##SFadeIn")) {
|
||||
if (ImGui::Button(ICON_FUR_SAMPLE_FADEIN "##SFadeIn")) {
|
||||
doAction(GUI_ACTION_SAMPLE_FADE_IN);
|
||||
}
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("Fade in");
|
||||
}
|
||||
sameLineMaybe();
|
||||
if (ImGui::Button(ICON_FA_ARROW_DOWN "##SFadeOut")) {
|
||||
if (ImGui::Button(ICON_FUR_SAMPLE_FADEOUT "##SFadeOut")) {
|
||||
doAction(GUI_ACTION_SAMPLE_FADE_OUT);
|
||||
}
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("Fade out");
|
||||
}
|
||||
sameLineMaybe();
|
||||
ImGui::Button(ICON_FA_ADJUST "##SInsertSilence");
|
||||
ImGui::Button(ICON_FUR_SAMPLE_INSERT_SILENCE "##SInsertSilence");
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("Insert silence");
|
||||
}
|
||||
|
|
@ -992,7 +993,7 @@ void FurnaceGUI::drawSampleEdit() {
|
|||
ImGui::EndPopup();
|
||||
}
|
||||
sameLineMaybe();
|
||||
if (ImGui::Button(ICON_FA_ERASER "##SSilence")) {
|
||||
if (ImGui::Button(ICON_FUR_SAMPLE_APPLY_SILENCE "##SSilence")) {
|
||||
doAction(GUI_ACTION_SAMPLE_SILENCE);
|
||||
}
|
||||
if (ImGui::IsItemHovered()) {
|
||||
|
|
@ -1015,28 +1016,28 @@ void FurnaceGUI::drawSampleEdit() {
|
|||
ImGui::SameLine();
|
||||
ImGui::Dummy(ImVec2(4.0*dpiScale,dpiScale));
|
||||
sameLineMaybe();
|
||||
if (ImGui::Button(ICON_FA_BACKWARD "##SReverse")) {
|
||||
if (ImGui::Button(ICON_FUR_SAMPLE_REVERSE "##SReverse")) {
|
||||
doAction(GUI_ACTION_SAMPLE_REVERSE);
|
||||
}
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("Reverse");
|
||||
}
|
||||
sameLineMaybe();
|
||||
if (ImGui::Button(ICON_FA_SORT_AMOUNT_ASC "##SInvert")) {
|
||||
if (ImGui::Button(ICON_FUR_SAMPLE_INVERT "##SInvert")) {
|
||||
doAction(GUI_ACTION_SAMPLE_INVERT);
|
||||
}
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("Invert");
|
||||
}
|
||||
sameLineMaybe();
|
||||
if (ImGui::Button(ICON_FA_LEVEL_DOWN "##SSign")) {
|
||||
if (ImGui::Button(ICON_FUR_SAMPLE_SIGN "##SSign")) {
|
||||
doAction(GUI_ACTION_SAMPLE_SIGN);
|
||||
}
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("Signed/unsigned exchange");
|
||||
}
|
||||
sameLineMaybe();
|
||||
ImGui::Button(ICON_FA_INDUSTRY "##SFilter");
|
||||
ImGui::Button(ICON_FUR_SAMPLE_FILTER "##SFilter");
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("Apply filter");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1189,46 +1189,113 @@ void FurnaceGUI::drawSettings() {
|
|||
CONFIG_SECTION("Emulation") {
|
||||
// SUBSECTION LAYOUT
|
||||
CONFIG_SUBSECTION("Cores");
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("Arcade/YM2151 core");
|
||||
ImGui::SameLine();
|
||||
ImGui::Combo("##ArcadeCore",&settings.arcadeCore,arcadeCores,2);
|
||||
if (ImGui::BeginTable("##Cores",3)) {
|
||||
ImGui::TableSetupColumn("##System",ImGuiTableColumnFlags_WidthFixed);
|
||||
ImGui::TableSetupColumn("##PlaybackCores",ImGuiTableColumnFlags_WidthStretch);
|
||||
ImGui::TableSetupColumn("##RenderCores",ImGuiTableColumnFlags_WidthStretch);
|
||||
ImGui::TableNextRow(ImGuiTableRowFlags_Headers);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::Text("System");
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::Text("Playback Core(s)");
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("used for playback");
|
||||
}
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::Text("Render Core(s)");
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("used in audio export");
|
||||
}
|
||||
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("Genesis/YM2612 core");
|
||||
ImGui::SameLine();
|
||||
ImGui::Combo("##YM2612Core",&settings.ym2612Core,ym2612Cores,2);
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("Arcade/YM2151");
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##ArcadeCore",&settings.arcadeCore,arcadeCores,2);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##ArcadeCoreRender",&settings.arcadeCoreRender,arcadeCores,2);
|
||||
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("SN76489 core");
|
||||
ImGui::SameLine();
|
||||
ImGui::Combo("##SNCore",&settings.snCore,snCores,2);
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("Genesis/YM2612");
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##YM2612Core",&settings.ym2612Core,ym2612Cores,2);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##YM2612CoreRender",&settings.ym2612CoreRender,ym2612Cores,2);
|
||||
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("NES core");
|
||||
ImGui::SameLine();
|
||||
ImGui::Combo("##NESCore",&settings.nesCore,nesCores,2);
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("SN76489");
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##SNCore",&settings.snCore,snCores,2);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##SNCoreRender",&settings.snCoreRender,snCores,2);
|
||||
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("FDS core");
|
||||
ImGui::SameLine();
|
||||
ImGui::Combo("##FDSCore",&settings.fdsCore,nesCores,2);
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("NES");
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##NESCore",&settings.nesCore,nesCores,2);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##NESCoreRender",&settings.nesCoreRender,nesCores,2);
|
||||
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("SID core");
|
||||
ImGui::SameLine();
|
||||
ImGui::Combo("##C64Core",&settings.c64Core,c64Cores,3);
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("FDS");
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##FDSCore",&settings.fdsCore,nesCores,2);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##FDSCoreRender",&settings.fdsCoreRender,nesCores,2);
|
||||
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("POKEY core");
|
||||
ImGui::SameLine();
|
||||
ImGui::Combo("##POKEYCore",&settings.pokeyCore,pokeyCores,2);
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("SID");
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##C64Core",&settings.c64Core,c64Cores,3);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##C64CoreRender",&settings.c64CoreRender,c64Cores,3);
|
||||
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("OPN/OPNA/OPNB cores");
|
||||
ImGui::SameLine();
|
||||
ImGui::Combo("##OPNCore",&settings.opnCore,opnCores,2);
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("POKEY");
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##POKEYCore",&settings.pokeyCore,pokeyCores,2);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##POKEYCoreRender",&settings.pokeyCoreRender,pokeyCores,2);
|
||||
|
||||
ImGui::TableNextRow();
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
ImGui::Text("OPN/OPNA/OPNB");
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##OPNCore",&settings.opnCore,opnCores,2);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x);
|
||||
ImGui::Combo("##OPNCoreRender",&settings.opnCoreRender,opnCores,2);
|
||||
ImGui::EndTable();
|
||||
}
|
||||
ImGui::Separator();
|
||||
|
||||
ImGui::AlignTextToFramePadding();
|
||||
|
|
@ -1910,10 +1977,18 @@ void FurnaceGUI::drawSettings() {
|
|||
settings.cursorMoveNoScroll=cursorMoveNoScrollB;
|
||||
}
|
||||
|
||||
bool cursorFollowsWheelB=settings.cursorFollowsWheel;
|
||||
if (ImGui::Checkbox("Move cursor with scroll wheel",&cursorFollowsWheelB)) {
|
||||
settings.cursorFollowsWheel=cursorFollowsWheelB;
|
||||
ImGui::Text("Move cursor with scroll wheel:");
|
||||
ImGui::Indent();
|
||||
if (ImGui::RadioButton("No##csw0",settings.cursorFollowsWheel==0)) {
|
||||
settings.cursorFollowsWheel=0;
|
||||
}
|
||||
if (ImGui::RadioButton("Yes##csw1",settings.cursorFollowsWheel==1)) {
|
||||
settings.cursorFollowsWheel=1;
|
||||
}
|
||||
if (ImGui::RadioButton("Inverted##csw2",settings.cursorFollowsWheel==2)) {
|
||||
settings.cursorFollowsWheel=2;
|
||||
}
|
||||
ImGui::Unindent();
|
||||
|
||||
END_SECTION;
|
||||
}
|
||||
|
|
@ -2348,18 +2423,22 @@ void FurnaceGUI::drawSettings() {
|
|||
if (ImGui::RadioButton("Unified##mel0",settings.macroLayout==0)) {
|
||||
settings.macroLayout=0;
|
||||
}
|
||||
if (ImGui::RadioButton("Mobile##mel1",settings.macroLayout==1)) {
|
||||
/*
|
||||
if (ImGui::RadioButton("Tabs##mel1",settings.macroLayout==1)) {
|
||||
settings.macroLayout=1;
|
||||
}
|
||||
*/
|
||||
if (ImGui::RadioButton("Grid##mel2",settings.macroLayout==2)) {
|
||||
settings.macroLayout=2;
|
||||
}
|
||||
if (ImGui::RadioButton("Single (with list)##mel3",settings.macroLayout==3)) {
|
||||
settings.macroLayout=3;
|
||||
}
|
||||
/*
|
||||
if (ImGui::RadioButton("Single (combo box)##mel4",settings.macroLayout==4)) {
|
||||
settings.macroLayout=4;
|
||||
}
|
||||
*/
|
||||
ImGui::Unindent();
|
||||
|
||||
bool oldMacroVSliderB=settings.oldMacroVSlider;
|
||||
|
|
@ -2939,6 +3018,14 @@ void FurnaceGUI::syncSettings() {
|
|||
settings.c64Core=e->getConfInt("c64Core",0);
|
||||
settings.pokeyCore=e->getConfInt("pokeyCore",1);
|
||||
settings.opnCore=e->getConfInt("opnCore",1);
|
||||
settings.arcadeCoreRender=e->getConfInt("arcadeCoreRender",1);
|
||||
settings.ym2612CoreRender=e->getConfInt("ym2612CoreRender",0);
|
||||
settings.snCoreRender=e->getConfInt("snCoreRender",0);
|
||||
settings.nesCoreRender=e->getConfInt("nesCoreRender",0);
|
||||
settings.fdsCoreRender=e->getConfInt("fdsCoreRender",1);
|
||||
settings.c64CoreRender=e->getConfInt("c64CoreRender",1);
|
||||
settings.pokeyCoreRender=e->getConfInt("pokeyCoreRender",1);
|
||||
settings.opnCoreRender=e->getConfInt("opnCoreRender",1);
|
||||
settings.pcSpeakerOutMethod=e->getConfInt("pcSpeakerOutMethod",0);
|
||||
settings.yrw801Path=e->getConfString("yrw801Path","");
|
||||
settings.tg100Path=e->getConfString("tg100Path","");
|
||||
|
|
@ -3099,6 +3186,14 @@ void FurnaceGUI::syncSettings() {
|
|||
clampSetting(settings.c64Core,0,2);
|
||||
clampSetting(settings.pokeyCore,0,1);
|
||||
clampSetting(settings.opnCore,0,1);
|
||||
clampSetting(settings.arcadeCoreRender,0,1);
|
||||
clampSetting(settings.ym2612CoreRender,0,1);
|
||||
clampSetting(settings.snCoreRender,0,1);
|
||||
clampSetting(settings.nesCoreRender,0,1);
|
||||
clampSetting(settings.fdsCoreRender,0,1);
|
||||
clampSetting(settings.c64CoreRender,0,2);
|
||||
clampSetting(settings.pokeyCoreRender,0,1);
|
||||
clampSetting(settings.opnCoreRender,0,1);
|
||||
clampSetting(settings.pcSpeakerOutMethod,0,4);
|
||||
clampSetting(settings.mainFont,0,6);
|
||||
clampSetting(settings.patFont,0,6);
|
||||
|
|
@ -3210,7 +3305,7 @@ void FurnaceGUI::syncSettings() {
|
|||
clampSetting(settings.pullDeleteRow,0,1);
|
||||
clampSetting(settings.newSongBehavior,0,1);
|
||||
clampSetting(settings.memUsageUnit,0,1);
|
||||
clampSetting(settings.cursorFollowsWheel,0,1);
|
||||
clampSetting(settings.cursorFollowsWheel,0,2);
|
||||
clampSetting(settings.noDMFCompat,0,1);
|
||||
clampSetting(settings.removeInsOff,0,1);
|
||||
clampSetting(settings.removeVolOff,0,1);
|
||||
|
|
@ -3288,7 +3383,15 @@ void FurnaceGUI::commitSettings() {
|
|||
settings.fdsCore!=e->getConfInt("fdsCore",0) ||
|
||||
settings.c64Core!=e->getConfInt("c64Core",0) ||
|
||||
settings.pokeyCore!=e->getConfInt("pokeyCore",1) ||
|
||||
settings.opnCore!=e->getConfInt("opnCore",1)
|
||||
settings.opnCore!=e->getConfInt("opnCore",1) ||
|
||||
settings.arcadeCoreRender!=e->getConfInt("arcadeCoreRender",0) ||
|
||||
settings.ym2612CoreRender!=e->getConfInt("ym2612CoreRender",0) ||
|
||||
settings.snCoreRender!=e->getConfInt("snCoreRender",0) ||
|
||||
settings.nesCoreRender!=e->getConfInt("nesCoreRender",0) ||
|
||||
settings.fdsCoreRender!=e->getConfInt("fdsCoreRender",0) ||
|
||||
settings.c64CoreRender!=e->getConfInt("c64CoreRender",0) ||
|
||||
settings.pokeyCoreRender!=e->getConfInt("pokeyCoreRender",1) ||
|
||||
settings.opnCoreRender!=e->getConfInt("opnCoreRender",1)
|
||||
);
|
||||
|
||||
e->setConf("mainFontSize",settings.mainFontSize);
|
||||
|
|
@ -3313,6 +3416,14 @@ void FurnaceGUI::commitSettings() {
|
|||
e->setConf("c64Core",settings.c64Core);
|
||||
e->setConf("pokeyCore",settings.pokeyCore);
|
||||
e->setConf("opnCore",settings.opnCore);
|
||||
e->setConf("arcadeCoreRender",settings.arcadeCoreRender);
|
||||
e->setConf("ym2612CoreRender",settings.ym2612CoreRender);
|
||||
e->setConf("snCoreRender",settings.snCoreRender);
|
||||
e->setConf("nesCoreRender",settings.nesCoreRender);
|
||||
e->setConf("fdsCoreRender",settings.fdsCoreRender);
|
||||
e->setConf("c64CoreRender",settings.c64CoreRender);
|
||||
e->setConf("pokeyCoreRender",settings.pokeyCoreRender);
|
||||
e->setConf("opnCoreRender",settings.opnCoreRender);
|
||||
e->setConf("pcSpeakerOutMethod",settings.pcSpeakerOutMethod);
|
||||
e->setConf("yrw801Path",settings.yrw801Path);
|
||||
e->setConf("tg100Path",settings.tg100Path);
|
||||
|
|
@ -4135,6 +4246,17 @@ void FurnaceGUI::applyUISettings(bool updateFonts) {
|
|||
ImFontGlyphRangesBuilder range;
|
||||
ImVector<ImWchar> outRange;
|
||||
|
||||
ImFontConfig fontConf;
|
||||
ImFontConfig fontConfP;
|
||||
|
||||
fontConf.OversampleV=1;
|
||||
fontConf.OversampleH=2;
|
||||
fontConfP.OversampleV=1;
|
||||
fontConfP.OversampleH=2;
|
||||
|
||||
//fontConf.RasterizerMultiply=1.5;
|
||||
//fontConfP.RasterizerMultiply=1.5;
|
||||
|
||||
range.AddRanges(upTo800);
|
||||
if (settings.loadJapanese) {
|
||||
range.AddRanges(ImGui::GetIO().Fonts->GetGlyphRangesJapanese());
|
||||
|
|
@ -4180,21 +4302,21 @@ void FurnaceGUI::applyUISettings(bool updateFonts) {
|
|||
fc1.MergeMode=true;
|
||||
|
||||
if (settings.mainFont==6) { // custom font
|
||||
if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(settings.mainFontPath.c_str(),MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),NULL,fontRange))==NULL) {
|
||||
if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(settings.mainFontPath.c_str(),MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),&fontConf,fontRange))==NULL) {
|
||||
logW("could not load UI font! reverting to default font");
|
||||
settings.mainFont=0;
|
||||
if ((mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFont[settings.mainFont],builtinFontLen[settings.mainFont],MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),NULL,fontRange))==NULL) {
|
||||
if ((mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFont[settings.mainFont],builtinFontLen[settings.mainFont],MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),&fontConf,fontRange))==NULL) {
|
||||
logE("could not load UI font! falling back to Proggy Clean.");
|
||||
mainFont=ImGui::GetIO().Fonts->AddFontDefault();
|
||||
}
|
||||
}
|
||||
} else if (settings.mainFont==5) { // system font
|
||||
if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_FONT_PATH_1,MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),NULL,fontRange))==NULL) {
|
||||
if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_FONT_PATH_2,MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),NULL,fontRange))==NULL) {
|
||||
if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_FONT_PATH_3,MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),NULL,fontRange))==NULL) {
|
||||
if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_FONT_PATH_1,MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),&fontConf,fontRange))==NULL) {
|
||||
if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_FONT_PATH_2,MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),&fontConf,fontRange))==NULL) {
|
||||
if ((mainFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_FONT_PATH_3,MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),&fontConf,fontRange))==NULL) {
|
||||
logW("could not load UI font! reverting to default font");
|
||||
settings.mainFont=0;
|
||||
if ((mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFont[settings.mainFont],builtinFontLen[settings.mainFont],MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),NULL,fontRange))==NULL) {
|
||||
if ((mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFont[settings.mainFont],builtinFontLen[settings.mainFont],MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),&fontConf,fontRange))==NULL) {
|
||||
logE("could not load UI font! falling back to Proggy Clean.");
|
||||
mainFont=ImGui::GetIO().Fonts->AddFontDefault();
|
||||
}
|
||||
|
|
@ -4202,7 +4324,7 @@ void FurnaceGUI::applyUISettings(bool updateFonts) {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
if ((mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFont[settings.mainFont],builtinFontLen[settings.mainFont],MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),NULL,fontRange))==NULL) {
|
||||
if ((mainFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFont[settings.mainFont],builtinFontLen[settings.mainFont],MAX(1,e->getConfInt("mainFontSize",18)*dpiScale),&fontConf,fontRange))==NULL) {
|
||||
logE("could not load UI font! falling back to Proggy Clean.");
|
||||
mainFont=ImGui::GetIO().Fonts->AddFontDefault();
|
||||
}
|
||||
|
|
@ -4230,21 +4352,21 @@ void FurnaceGUI::applyUISettings(bool updateFonts) {
|
|||
patFont=mainFont;
|
||||
} else {
|
||||
if (settings.patFont==6) { // custom font
|
||||
if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(settings.patFontPath.c_str(),MAX(1,e->getConfInt("patFontSize",18)*dpiScale),NULL,upTo800))==NULL) {
|
||||
if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(settings.patFontPath.c_str(),MAX(1,e->getConfInt("patFontSize",18)*dpiScale),&fontConfP,upTo800))==NULL) {
|
||||
logW("could not load pattern font! reverting to default font");
|
||||
settings.patFont=0;
|
||||
if ((patFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.patFont],builtinFontMLen[settings.patFont],MAX(1,e->getConfInt("patFontSize",18)*dpiScale),NULL,upTo800))==NULL) {
|
||||
if ((patFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.patFont],builtinFontMLen[settings.patFont],MAX(1,e->getConfInt("patFontSize",18)*dpiScale),&fontConfP,upTo800))==NULL) {
|
||||
logE("could not load pattern font! falling back to Proggy Clean.");
|
||||
patFont=ImGui::GetIO().Fonts->AddFontDefault();
|
||||
}
|
||||
}
|
||||
} else if (settings.patFont==5) { // system font
|
||||
if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_PAT_FONT_PATH_1,MAX(1,e->getConfInt("patFontSize",18)*dpiScale),NULL,upTo800))==NULL) {
|
||||
if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_PAT_FONT_PATH_2,MAX(1,e->getConfInt("patFontSize",18)*dpiScale),NULL,upTo800))==NULL) {
|
||||
if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_PAT_FONT_PATH_3,MAX(1,e->getConfInt("patFontSize",18)*dpiScale),NULL,upTo800))==NULL) {
|
||||
if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_PAT_FONT_PATH_1,MAX(1,e->getConfInt("patFontSize",18)*dpiScale),&fontConfP,upTo800))==NULL) {
|
||||
if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_PAT_FONT_PATH_2,MAX(1,e->getConfInt("patFontSize",18)*dpiScale),&fontConfP,upTo800))==NULL) {
|
||||
if ((patFont=ImGui::GetIO().Fonts->AddFontFromFileTTF(SYSTEM_PAT_FONT_PATH_3,MAX(1,e->getConfInt("patFontSize",18)*dpiScale),&fontConfP,upTo800))==NULL) {
|
||||
logW("could not load pattern font! reverting to default font");
|
||||
settings.patFont=0;
|
||||
if ((patFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.patFont],builtinFontMLen[settings.patFont],MAX(1,e->getConfInt("patFontSize",18)*dpiScale),NULL,upTo800))==NULL) {
|
||||
if ((patFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.patFont],builtinFontMLen[settings.patFont],MAX(1,e->getConfInt("patFontSize",18)*dpiScale),&fontConfP,upTo800))==NULL) {
|
||||
logE("could not load pattern font! falling back to Proggy Clean.");
|
||||
patFont=ImGui::GetIO().Fonts->AddFontDefault();
|
||||
}
|
||||
|
|
@ -4252,7 +4374,7 @@ void FurnaceGUI::applyUISettings(bool updateFonts) {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
if ((patFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.patFont],builtinFontMLen[settings.patFont],MAX(1,e->getConfInt("patFontSize",18)*dpiScale),NULL,upTo800))==NULL) {
|
||||
if ((patFont=ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(builtinFontM[settings.patFont],builtinFontMLen[settings.patFont],MAX(1,e->getConfInt("patFontSize",18)*dpiScale),&fontConfP,upTo800))==NULL) {
|
||||
logE("could not load pattern font!");
|
||||
patFont=ImGui::GetIO().Fonts->AddFontDefault();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,7 +97,11 @@ int writeLog(int level, const char* msg, fmt::printf_args args) {
|
|||
time_t thisMakesNoSense=time(NULL);
|
||||
int pos=(logPosition.fetch_add(1))&TA_LOG_MASK;
|
||||
|
||||
#if FMT_VERSION >= 100100
|
||||
logEntries[pos].text.assign(fmt::vsprintf(fmt::basic_string_view<char>(msg),args));
|
||||
#else
|
||||
logEntries[pos].text.assign(fmt::vsprintf(msg,args));
|
||||
#endif
|
||||
// why do I have to pass a pointer
|
||||
// can't I just pass the time_t directly?!
|
||||
#ifdef _WIN32
|
||||
|
|
|
|||
|
|
@ -88,7 +88,14 @@ WString utf8To16(const char* s) {
|
|||
p=0;
|
||||
while (s[p]!=0) {
|
||||
ch=decodeUTF8((const unsigned char*)&s[p],chs);
|
||||
ret+=(unsigned short)ch;
|
||||
// surrogates
|
||||
if (ch>=0x10000) {
|
||||
ch-=0x10000;
|
||||
ret+=(unsigned short)(0xd800|((ch>>10)&0x3ff));
|
||||
ret+=(unsigned short)(0xdc00|(ch&0x3ff));
|
||||
} else if (ch<0xd800 || ch>0xdfff) {
|
||||
ret+=(unsigned short)ch;
|
||||
}
|
||||
p+=chs;
|
||||
}
|
||||
return ret;
|
||||
|
|
@ -96,16 +103,30 @@ WString utf8To16(const char* s) {
|
|||
|
||||
String utf16To8(const wchar_t* s) {
|
||||
String ret;
|
||||
unsigned int next=0;
|
||||
for (size_t i=0; i<wcslen(s); i++) {
|
||||
if (s[i]<0x80) {
|
||||
ret+=s[i];
|
||||
} else if (s[i]<0x800) {
|
||||
ret+=(0xc0+((s[i]>>6)&31));
|
||||
ret+=(0x80+((s[i])&63));
|
||||
if (s[i]>=0xd800 && s[i]<0xdc00) {
|
||||
next=0x10000+((s[i]&0x3ff)<<10);
|
||||
continue;
|
||||
} else if (s[i]>=0xdc00 && s[i]<0xe000) {
|
||||
next|=s[i]&0x3ff;
|
||||
} else {
|
||||
ret+=(0xe0+((s[i]>>12)&15));
|
||||
ret+=(0x80+((s[i]>>6)&63));
|
||||
ret+=(0x80+((s[i])&63));
|
||||
next=s[i];
|
||||
}
|
||||
if (next<0x80) {
|
||||
ret+=next;
|
||||
} else if (next<0x800) {
|
||||
ret+=(0xc0+((next>>6)&31));
|
||||
ret+=(0x80+((next)&63));
|
||||
} else if (next<0x10000) {
|
||||
ret+=(0xe0+((next>>12)&15));
|
||||
ret+=(0x80+((next>>6)&63));
|
||||
ret+=(0x80+((next)&63));
|
||||
} else {
|
||||
ret+=(0xf0+((next>>18)&7));
|
||||
ret+=(0x80+((next>>12)&63));
|
||||
ret+=(0x80+((next>>6)&63));
|
||||
ret+=(0x80+((next)&63));
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
|
|
|
|||