Showing preview only (1,898K chars total). Download the full file or copy to clipboard to get everything.
Repository: Jakz/retro8
Branch: master
Commit: 8d074ac12634
Files: 131
Total size: 1.8 MB
Directory structure:
gitextract_ybi21nfe/
├── .gitattributes
├── .gitignore
├── .gitlab-ci.yml
├── CMakeLists.txt
├── LICENSE
├── Makefile
├── Makefile.common
├── README.md
├── data/
│ ├── api.lua
│ ├── default.funkey-s.desktop
│ ├── default.gcw0.desktop
│ ├── default.retrofw.desktop
│ └── icon.aseprite
├── jni/
│ ├── Android.mk
│ └── Application.mk
├── link.T
├── projects/
│ ├── Makefile
│ ├── build_opk_funkey.sh
│ ├── build_opk_od.sh
│ ├── build_opk_retrofw.sh
│ ├── cmake/
│ │ ├── FindSDL2.cmake
│ │ ├── FindSDL2_image.cmake
│ │ ├── FindSDL2_mixer.cmake
│ │ ├── FindSDL2_ttf.cmake
│ │ └── readme.md
│ ├── vs2017/
│ │ ├── .gitignore
│ │ └── retro8/
│ │ ├── api.lua
│ │ ├── libretro.vcxproj
│ │ ├── libretro.vcxproj.filters
│ │ ├── retro8-sdl1.2.vcxproj
│ │ ├── retro8-sdl1.2.vcxproj.filters
│ │ ├── retro8.sln
│ │ ├── retro8.vcxproj
│ │ └── retro8.vcxproj.filters
│ └── xcode/
│ └── retro8.xcodeproj/
│ └── project.pbxproj
├── src/
│ ├── common.h
│ ├── config.h
│ ├── gen/
│ │ ├── lua_api.h
│ │ └── pico_font.h
│ ├── io/
│ │ ├── loader.cpp
│ │ ├── loader.h
│ │ ├── picopng.cpp
│ │ ├── stegano.cpp
│ │ └── stegano.h
│ ├── libretro/
│ │ ├── libretro.cpp
│ │ └── libretro.h
│ ├── lua/
│ │ ├── lapi.c
│ │ ├── lapi.h
│ │ ├── lauxlib.c
│ │ ├── lauxlib.h
│ │ ├── lbaselib.c
│ │ ├── lbitlib.c
│ │ ├── lcode.c
│ │ ├── lcode.h
│ │ ├── lcorolib.c
│ │ ├── lctype.c
│ │ ├── lctype.h
│ │ ├── ldblib.c
│ │ ├── ldebug.c
│ │ ├── ldebug.h
│ │ ├── ldo.c
│ │ ├── ldo.h
│ │ ├── ldump.c
│ │ ├── lfunc.c
│ │ ├── lfunc.h
│ │ ├── lgc.c
│ │ ├── lgc.h
│ │ ├── linit.c
│ │ ├── liolib.c
│ │ ├── llex.c
│ │ ├── llex.h
│ │ ├── llimits.h
│ │ ├── lmathlib.c
│ │ ├── lmem.c
│ │ ├── lmem.h
│ │ ├── loadlib.c
│ │ ├── lobject.c
│ │ ├── lobject.h
│ │ ├── lopcodes.c
│ │ ├── lopcodes.h
│ │ ├── loslib.c
│ │ ├── lparser.c
│ │ ├── lparser.h
│ │ ├── lprefix.h
│ │ ├── lstate.c
│ │ ├── lstate.h
│ │ ├── lstring.c
│ │ ├── lstring.h
│ │ ├── lstrlib.c
│ │ ├── ltable.c
│ │ ├── ltable.h
│ │ ├── ltablib.c
│ │ ├── ltests.c
│ │ ├── ltests.h
│ │ ├── ltm.c
│ │ ├── ltm.h
│ │ ├── lua.h
│ │ ├── lua.hpp
│ │ ├── luaconf.h
│ │ ├── lualib.h
│ │ ├── lundump.c
│ │ ├── lundump.h
│ │ ├── lutf8lib.c
│ │ ├── lvm.c
│ │ ├── lvm.h
│ │ ├── lzio.c
│ │ └── lzio.h
│ ├── main.cpp
│ ├── test/
│ │ ├── catch.hpp
│ │ └── test.cpp
│ ├── views/
│ │ ├── game_view.cpp
│ │ ├── main_view.h
│ │ ├── menu_view.cpp
│ │ ├── sdl_helper.h
│ │ ├── sdl_impl.h
│ │ ├── sdl_impl12.h
│ │ ├── view_manager.cpp
│ │ └── view_manager.h
│ └── vm/
│ ├── defines.h
│ ├── gfx.cpp
│ ├── gfx.h
│ ├── input.h
│ ├── lua_bridge.cpp
│ ├── lua_bridge.h
│ ├── machine.cpp
│ ├── machine.h
│ ├── memory.cpp
│ ├── memory.h
│ ├── sound.cpp
│ └── sound.h
└── status.md
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
src/lua/* linguist-vendored
================================================
FILE: .gitignore
================================================
*.o
projects/vs2017/libs/**
projects/opendingux/**
projects/funkey/**
**/.vs/**
**/Debug/**
**/Release/**
.DS_Store
================================================
FILE: .gitlab-ci.yml
================================================
# DESCRIPTION: GitLab CI/CD for libRetro (NOT FOR GitLab-proper)
##############################################################################
################################# BOILERPLATE ################################
##############################################################################
# Core definitions
.core-defs:
variables:
JNI_PATH: .
CORENAME: retro8
MAKEFILE: Makefile
# Inclusion templates, required for the build to work
include:
################################## DESKTOPS ################################
# Windows 64-bit
- project: 'libretro-infrastructure/ci-templates'
file: '/windows-x64-mingw.yml'
# Windows 32-bit
- project: 'libretro-infrastructure/ci-templates'
file: '/windows-i686-mingw.yml'
# Linux 64-bit
- project: 'libretro-infrastructure/ci-templates'
file: '/linux-x64.yml'
# Linux 32-bit
- project: 'libretro-infrastructure/ci-templates'
file: '/linux-i686.yml'
# MacOS 64-bit
- project: 'libretro-infrastructure/ci-templates'
file: '/osx-x64.yml'
################################## CELLULAR ################################
# Android
- project: 'libretro-infrastructure/ci-templates'
file: '/android-jni.yml'
################################## CONSOLES ################################
# PlayStation Vita
#- project: 'libretro-infrastructure/ci-templates'
#file: '/vita-static.yml'
# Nintendo GameCube
#- project: 'libretro-infrastructure/ci-templates'
#file: '/ngc-static.yml'
# Nintendo Wii
#- project: 'libretro-infrastructure/ci-templates'
#file: '/wii-static.yml'
# Stages for building
stages:
- build-prepare
- build-shared
- build-static
##############################################################################
#################################### STAGES ##################################
##############################################################################
#
################################### DESKTOPS #################################
# Windows 64-bit
libretro-build-windows-x64:
extends:
- .libretro-windows-x64-mingw-make-default
- .core-defs
# Windows 32-bit
libretro-build-windows-i686:
extends:
- .libretro-windows-i686-mingw-make-default
- .core-defs
# Linux 64-bit
libretro-build-linux-x64:
extends:
- .libretro-linux-x64-make-default
- .core-defs
# Linux 32-bit
libretro-build-linux-i686:
extends:
- .libretro-linux-i686-make-default
- .core-defs
# MacOS 64-bit
libretro-build-osx-x64:
extends:
- .libretro-osx-x64-make-default
- .core-defs
################################### CELLULAR #################################
# Android ARMv7a
android-armeabi-v7a:
extends:
- .libretro-android-jni-armeabi-v7a
- .core-defs
# Android ARMv8a
android-arm64-v8a:
extends:
- .libretro-android-jni-arm64-v8a
- .core-defs
# Android 64-bit x86
android-x86_64:
extends:
- .libretro-android-jni-x86_64
- .core-defs
# Android 32-bit x86
android-x86:
extends:
- .libretro-android-jni-x86
- .core-defs
################################### CONSOLES #################################
# Nintendo GameCube
#libretro-build-ngc:
#extends:
#- .libretro-ngc-static-retroarch-master
#- .core-defs
# Nintendo Wii
#libretro-build-wii:
#extends:
#- .libretro-wii-static-retroarch-master
#- .core-defs
# PlayStation Vita
#libretro-build-vita:
#extends:
#- .libretro-vita-static-retroarch-master
#- .core-defs
================================================
FILE: CMakeLists.txt
================================================
cmake_minimum_required(VERSION 3.5.0)
project (retro8)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/projects/cmake")
option(FUNKEY_S "Building for FunKey-S" OFF)
option(OPENDINGUX "Build on opendingux toolchain" OFF)
option(RETROFW "Build for retrofw" OFF)
# RETROFW is an OPENDINGUX variant
if (RETROFW)
set(OPENDINGUX ON)
endif()
if ("${CMAKE_BUILD_TYPE}" STREQUAL "")
set(CMAKE_BUILD_TYPE "Debug")
endif()
if(OPENDINGUX)
set(CMAKE_CXX_COMPILER "$ENV{CROSS}g++" CACHE PATH "" FORCE)
set(CMAKE_C_COMPILER "$ENV{CROSS}gcc" CACHE PATH "" FORCE)
if(RETROFW)
set(CMAKE_SYSROOT "/opt/mipsel-linux-uclibc/mipsel-buildroot-linux-uclibc/sysroot")
else()
set(CMAKE_SYSROOT "/opt/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot")
endif()
elseif(FUNKEY_S)
add_definitions(-DFUNKEY_S)
endif()
if (FUNKEY_S OR RETROFW)
find_package(SDL REQUIRED)
include_directories(${SDL_INCLUDE_DIR})
else()
find_package(SDL2 REQUIRED)
include_directories(${SDL2_INCLUDE_DIR})
endif()
add_compile_options(-Wno-unused-parameter -Wno-missing-field-initializers
-Wno-sign-compare -Wno-parentheses -Wno-unused-variable -Wno-char-subscripts
)
add_compile_options(-g -O2 -W -Wall -Wextra)
add_compile_options(
$<$<COMPILE_LANGUAGE:CXX>:-Wno-reorder>
)
if(APPLE)
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-std=c++14>)
else()
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-std=c++11>)
endif()
include_directories(src)
set(SRC_ROOT "${CMAKE_SOURCE_DIR}/src")
file(GLOB SOURCES_ROOT "${SRC_ROOT}/*.cpp")
file(GLOB SOURCES_VIEWS "${SRC_ROOT}/views/*.cpp")
file(GLOB SOURCES_IO "${SRC_ROOT}/io/*.cpp")
file(GLOB SOURCES_VM "${SRC_ROOT}/vm/*.cpp")
file(GLOB SOURCES_LUA "${SRC_ROOT}/lua/*.c")
set(SOURCES ${SOURCES_ROOT} ${SOURCES_VIEWS} ${SOURCES_IO} ${SOURCES_VM} ${SOURCES_LUA})
add_executable(retro8 ${SOURCES})
if (SDL_FOUND)
target_link_libraries(retro8 ${SDL_LIBRARY})
else()
target_link_libraries(retro8 ${SDL2_LIBRARY})
endif()
================================================
FILE: LICENSE
================================================
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
================================================
FILE: Makefile
================================================
STATIC_LINKING := 0
AR := ar
ifneq ($(V),1)
Q := @
endif
ifneq ($(SANITIZER),)
CFLAGS := -fsanitize=$(SANITIZER) $(CFLAGS)
CXXFLAGS := -fsanitize=$(SANITIZER) $(CXXFLAGS)
LDFLAGS := -fsanitize=$(SANITIZER) $(LDFLAGS)
endif
ifeq ($(platform),)
platform = unix
ifeq ($(shell uname -a),)
platform = win
else ifneq ($(findstring MINGW,$(shell uname -a)),)
platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
platform = osx
else ifneq ($(findstring win,$(shell uname -a)),)
platform = win
endif
endif
# system platform
system_platform = unix
ifeq ($(shell uname -a),)
EXE_EXT = .exe
system_platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
system_platform = osx
arch = intel
ifeq ($(shell uname -p),powerpc)
arch = ppc
endif
else ifneq ($(findstring MINGW,$(shell uname -a)),)
system_platform = win
endif
CORE_DIR += .
TARGET_NAME := retro8
LIBM = -lm
ifeq ($(ARCHFLAGS),)
ifeq ($(archs),ppc)
ARCHFLAGS = -arch ppc -arch ppc64
else
ARCHFLAGS = -arch i386 -arch x86_64
endif
endif
ifeq ($(platform), osx)
ifndef ($(NOUNIVERSAL))
CXXFLAGS += $(ARCHFLAGS)
LFLAGS += $(ARCHFLAGS)
endif
endif
ifeq ($(STATIC_LINKING), 1)
EXT := a
endif
ifneq (,$(findstring unix,$(platform)))
EXT ?= so
TARGET := $(TARGET_NAME)_libretro.$(EXT)
fpic := -fPIC
SHARED := -shared -Wl,--version-script=$(CORE_DIR)/link.T -Wl,--no-undefined
LIBS += -lpthread
else ifeq ($(platform), linux-portable)
TARGET := $(TARGET_NAME)_libretro.$(EXT)
fpic := -fPIC -nostdlib
SHARED := -shared -Wl,--version-script=$(CORE_DIR)/link.T
LIBM :=
else ifneq (,$(findstring osx,$(platform)))
TARGET := $(TARGET_NAME)_libretro.dylib
fpic := -fPIC
SHARED := -dynamiclib
else ifneq (,$(findstring ios,$(platform)))
TARGET := $(TARGET_NAME)_libretro_ios.dylib
fpic := -fPIC
SHARED := -dynamiclib
ifeq ($(IOSSDK),)
IOSSDK := $(shell xcodebuild -version -sdk iphoneos Path)
endif
DEFINES := -DIOS
CC = cc -arch armv7 -isysroot $(IOSSDK)
ifeq ($(platform),ios9)
CC += -miphoneos-version-min=8.0
CXXFLAGS += -miphoneos-version-min=8.0
else
CC += -miphoneos-version-min=5.0
CXXFLAGS += -miphoneos-version-min=5.0
endif
else ifneq (,$(findstring qnx,$(platform)))
TARGET := $(TARGET_NAME)_libretro_qnx.so
fpic := -fPIC
SHARED := -shared -Wl,--version-script=$(CORE_DIR)/link.T -Wl,--no-undefined
else ifeq ($(platform), emscripten)
TARGET := $(TARGET_NAME)_libretro_emscripten.bc
fpic := -fPIC
SHARED := -shared -Wl,--version-script=$(CORE_DIR)/link.T -Wl,--no-undefined
else ifeq ($(platform), libnx)
include $(DEVKITPRO)/libnx/switch_rules
TARGET := $(TARGET_NAME)_libretro_$(platform).a
DEFINES := -DSWITCH=1 -D__SWITCH__ -DARM
CFLAGS := $(DEFINES) -fPIE -I$(LIBNX)/include/ -ffunction-sections -fdata-sections -ftls-model=local-exec
CFLAGS += -march=armv8-a -mtune=cortex-a57 -mtp=soft -mcpu=cortex-a57+crc+fp+simd -ffast-math
CXXFLAGS := $(ASFLAGS) $(CFLAGS)
STATIC_LINKING = 1
else ifeq ($(platform), vita)
TARGET := $(TARGET_NAME)_vita.a
CC = arm-vita-eabi-gcc
AR = arm-vita-eabi-ar
CXXFLAGS += -Wl,-q -Wall -O3
STATIC_LINKING = 1
else
CC ?= gcc
TARGET := $(TARGET_NAME)_libretro.dll
SHARED := -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=$(CORE_DIR)/link.T -Wl,--no-undefined
endif
LDFLAGS += $(LIBM)
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g -DDEBUG
CXXFLAGS += -O0 -g -DDEBUG
else
CFLAGS += -O3
CXXFLAGS += -O3
endif
include Makefile.common
OBJECTS := $(SOURCES_C:.c=.o) $(SOURCES_CXX:.cpp=.o)
CFLAGS += -Wall -D__LIBRETRO__ $(fpic) $(INCFLAGS)
CXXFLAGS += -Wall -D__LIBRETRO__ $(fpic) $(INCFLAGS) -std=c++14
all: $(TARGET)
$(TARGET): $(OBJECTS)
ifeq ($(STATIC_LINKING), 1)
$(AR) rcs $@ $(OBJECTS)
else
@$(if $(Q), $(shell echo echo LD $@),)
$(CXX) $(fpic) $(SHARED) -o $@ $(OBJECTS) $(LIBS) $(LDFLAGS)
endif
%.o: %.c
@$(if $(Q), $(shell echo echo CC $<),)
$(Q)$(CC) $(CFLAGS) $(fpic) -c -o $@ $<
%.o: %.cpp
@$(if $(Q), $(shell echo echo CXX $<),)
$(Q)$(CXX) $(CXXFLAGS) $(fpic) -c -o $@ $<
clean:
rm -f $(OBJECTS) $(TARGET)
.PHONY: clean
print-%:
@echo '$*=$($*)'
================================================
FILE: Makefile.common
================================================
SRC_FOLDERS := \
$(CORE_DIR)/src/io \
$(CORE_DIR)/src/libretro \
$(CORE_DIR)/src/vm
SRC_FOLDERS_C := \
$(CORE_DIR)/src/lua
INCLUDES := \
$(CORE_DIR)/src \
$(CORE_DIR)/src/io \
$(CORE_DIR)/src/lua \
$(CORE_DIR)/src/libretro \
$(CORE_DIR)/src/vm
INCFLAGS := $(foreach dir,$(INCLUDES), -I$(dir))
SRC_CORE_CXX := $(foreach dir, $(SRC_FOLDERS), $(wildcard $(dir)/*.cpp))
SRC_CORE_C := $(foreach dir,$(SRC_FOLDERS_C), $(wildcard $(dir)/*.c))
SOURCES_CXX := $(SRC_CORE_CXX)
SOURCES_C := $(SRC_CORE_C)
================================================
FILE: README.md
================================================
## Introduction
This is an attempt to have an open source reimplementation of PICO-8 fantasy console to be used on Desktop platforms but especially wherever you want to compile it.
It was born as an attempt to make PICO-8 games playable on OpenDingux devices (GCW0, RG350, ..).
It has now been extended to be compiled as a RetroArch core too.
## Implementation
The emulator is written in C++11 and embeds Lua source code (to allow extensions to the language that PICO-8 has). It has a SDL2.0 back-end but a SDL1.2 back-end wouldn't be hard to implement.
## Status
Currently much of the API is already working with good performance, even basic sound and music are working.
Many demos already work and even some full games.
- All graphics functions have been implemented but not all their subfeatures,
- All math functions have been implemented,
- Sound functions have been implemented together with an audio renderer stack but many effects still missing
- Common platform functions have been implemented
- Some Lua language extensions have been implemented
- Many quirks of the Lua extensions are implemented but some of most obscure things are still missing
Fixed arithmetic support is still missing.
## Screenshots



## Building
If you want to build a libretro backend:
```
make
```
If you want to build a local binary you can run:
```
cmake .
make
```
If you want to cross-compile for OpenDingux:
```
cmake -DOPENDINGUX=ON .
make
```
If you want to compile for retrofw (assuming your compiler is installed per [retrofw instructions](https://github.com/retrofw/retrofw.github.io/wiki/Making-Games)):
```
CROSS=/opt/mipsel-linux-uclibc/bin/mipsel-buildroot-linux-uclibc- cmake -DRETROFW=ON .
make
```
To build an OpenDingux OPK file once your binary is built:
```
mkdir -p projects/opendingux
cp -a retro8 projects/opendingux/
cd projects
./build_opk_od.sh
```
================================================
FILE: data/api.lua
================================================
function all(t)
if t ~= nil then
local nt = {}
local ni = 1
for _,v in pairs(t) do
nt[ni] = v
ni = ni + 1
end
for k,v in pairs(nt) do
end
local i = 0
return function() i = i + 1; return nt[i] end
end
return function() end
end
function add(t, v)
if t ~= nil then
t[#t+1] = v
return v
end
end
function foreach(c, f)
if c ~= nil then
for value in all(c) do
f(value)
end
end
end
function mapdraw(...)
map(table.unpack(arg))
end
function count(t)
if t ~= nil then
return #t
end
end
function del(t, v)
if t ~= nil then
local found = false
for i = 1, #t do
if t[i] == v then
found = true
end
if found then
t[i] = t[i+1]
end
end
if found then
return v
end
end
end
function cocreate(f)
return coroutine.create(f)
end
function yield()
coroutine.yield()
end
-- TODO: missing vararg
function coresume(f)
return coroutine.resume(f)
end
function costatus(f)
return coroutine.status(f)
end
================================================
FILE: data/default.funkey-s.desktop
================================================
[Desktop Entry]
Type=Emulator
Name=retro-8
Comment=PICO-8 Emulator
Terminal=false
StartupNotify=true
Exec=retro8 %f
Icon=icon
Categories=emulators;
X-OD-Filter=.png,.p8
================================================
FILE: data/default.gcw0.desktop
================================================
[Desktop Entry]
Type=Emulator
Name=retro-8
Comment=PICO-8 Emulator
Terminal=false
StartupNotify=true
Exec=retro8 %f
Icon=icon
Categories=emulators;
X-OD-Filter=.png,.p8
================================================
FILE: data/default.retrofw.desktop
================================================
[Desktop Entry]
Type=Application
Name=Retro8
Comment=PICO-8 Emulator
Exec=retro8 %f
Icon=icon
Terminal=false
Type=Application
Categories=emulators;
X-OD-NeedsDownscaling=true
X-OD-Filter=.png,.p8
================================================
FILE: jni/Android.mk
================================================
LOCAL_PATH := $(call my-dir)
CORE_DIR := $(LOCAL_PATH)/..
INCFLAGS :=
include $(CORE_DIR)/Makefile.common
COREFLAGS := -D__LIBRETRO__ -DNOGDB $(INCFLAGS)
GIT_VERSION := " $(shell git rev-parse --short HEAD || echo unknown)"
ifneq ($(GIT_VERSION)," unknown")
COREFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\"
endif
include $(CLEAR_VARS)
LOCAL_MODULE := retro
LOCAL_SRC_FILES := $(SOURCES_CXX) $(SOURCES_C)
LOCAL_CFLAGS := $(COREFLAGS)
LOCAL_LDFLAGS := -Wl,-version-script=$(CORE_DIR)/link.T
include $(BUILD_SHARED_LIBRARY)
================================================
FILE: jni/Application.mk
================================================
APP_ABI := all
APP_STL := c++_static
================================================
FILE: link.T
================================================
{
global: retro_*;
local: *;
};
================================================
FILE: projects/Makefile
================================================
.PHONY: all clean info
CXX := $(CROSS)g++
CC := $(CROSS)gcc
SYSROOT:= $(shell $(CXX) -print-sysroot)
CXXFLAGS += $(shell $(SYSROOT)/usr/bin/sdl2-config --cflags)
LDFLAGS += $(shell $(SYSROOT)/usr/bin/sdl2-config --libs)
LDFLAGS += -lSDL2_image -L$(shell pwd) -flto
DISABLED_WARNINGS += -Wno-unused-parameter -Wno-missing-field-initializers -Wno-sign-compare -Wno-parentheses -Wno-unused-variable -Wno-reorder
CXXFLAGS += -g -O2 -W -Wall -Wextra -std=c++0x $(DISABLED_WARNINGS) -I../../src
CCFLAGS +=
# -O2
SRC_BASE := "../../src"
SRC_FOLDERS := $(SRC_BASE) $(SRC_BASE)/views $(SRC_BASE)/vm $(SRC_BASE)/io $(SRC_BASE)/lua
TEST := $(wildcard $(SRC_BASE)/views/*.cpp)
FULL_SOURCES := $(foreach dir, $(SRC_FOLDERS), $(wildcard $(dir)/*.cpp))
SOURCES := $(patsubst $(SRC_BASE)/%, %, $(foreach dir, $(SRC_FOLDERS), $(wildcard $(dir)/*.cpp)))
BINARIES:= $(foreach source, $(SOURCES), $(source:%.cpp=%.o) )
EXECUTABLE:= ./retro8
all: $(EXECUTABLE)
$(EXECUTABLE): $(BINARIES)
$(CXX) $(BINARIES) -o $@ $(LDFLAGS)
mkdir -p data
#.cpp.o:
# $(CC) $(CXXFLAGS) $< -o $@
clean:
rm -f $(BINARIES) $(EXECUTABLE)
info:
@echo Source base: $(SRC_BASE)
@echo Source subfolders: $(SRC_FOLDERS)
@echo Source files: $(TEST)
@echo Test: $(SRC_BASE)/views/*.cpp
================================================
FILE: projects/build_opk_funkey.sh
================================================
rm -rf opk
mkdir -p opk
cp funkey/retro8 opk
cp vs2017/retro8/api.lua opk
cp ../data/default.funkey-s.desktop opk
cp ../data/icon.png opk
mksquashfs opk retro8.opk -all-root -noappend -no-exports -no-xattrs -no-progress > /dev/null
# rm -rf opk
================================================
FILE: projects/build_opk_od.sh
================================================
rm -rf opk
mkdir -p opk
cp opendingux/retro8 opk
cp vs2017/retro8/api.lua opk
cp ../data/default.gcw0.desktop opk
cp ../data/pico8_font.png opk
cp ../data/icon.png opk
mksquashfs opk retro8.opk -all-root -noappend -no-exports -no-xattrs -no-progress > /dev/null
# rm -rf opk
================================================
FILE: projects/build_opk_retrofw.sh
================================================
rm -rf opk
mkdir -p opk
cp ../retro8 opk
cp vs2017/retro8/api.lua opk
cp ../data/default.retrofw.desktop opk
cp ../data/pico8_font.png opk
cp ../data/icon.png opk
mksquashfs opk retro8.opk -all-root -noappend -no-exports -no-xattrs -no-progress > /dev/null
# rm -rf opk
================================================
FILE: projects/cmake/FindSDL2.cmake
================================================
# This module defines
# SDL2_LIBRARY, the name of the library to link against
# SDL2_FOUND, if false, do not try to link to SDL2
# SDL2_INCLUDE_DIR, where to find SDL.h
#
# This module responds to the the flag:
# SDL2_BUILDING_LIBRARY
# If this is defined, then no SDL2main will be linked in because
# only applications need main().
# Otherwise, it is assumed you are building an application and this
# module will attempt to locate and set the the proper link flags
# as part of the returned SDL2_LIBRARY variable.
#
# Don't forget to include SDLmain.h and SDLmain.m your project for the
# OS X framework based version. (Other versions link to -lSDL2main which
# this module will try to find on your behalf.) Also for OS X, this
# module will automatically add the -framework Cocoa on your behalf.
#
#
# Additional Note: If you see an empty SDL2_LIBRARY_TEMP in your configuration
# and no SDL2_LIBRARY, it means CMake did not find your SDL2 library
# (SDL2.dll, libsdl2.so, SDL2.framework, etc).
# Set SDL2_LIBRARY_TEMP to point to your SDL2 library, and configure again.
# Similarly, if you see an empty SDL2MAIN_LIBRARY, you should set this value
# as appropriate. These values are used to generate the final SDL2_LIBRARY
# variable, but when these values are unset, SDL2_LIBRARY does not get created.
#
#
# $SDL2DIR is an environment variable that would
# correspond to the ./configure --prefix=$SDL2DIR
# used in building SDL2.
# l.e.galup 9-20-02
#
# Modified by Eric Wing.
# Added code to assist with automated building by using environmental variables
# and providing a more controlled/consistent search behavior.
# Added new modifications to recognize OS X frameworks and
# additional Unix paths (FreeBSD, etc).
# Also corrected the header search path to follow "proper" SDL guidelines.
# Added a search for SDL2main which is needed by some platforms.
# Added a search for threads which is needed by some platforms.
# Added needed compile switches for MinGW.
#
# On OSX, this will prefer the Framework version (if found) over others.
# People will have to manually change the cache values of
# SDL2_LIBRARY to override this selection or set the CMake environment
# CMAKE_INCLUDE_PATH to modify the search paths.
#
# Note that the header path has changed from SDL2/SDL.h to just SDL.h
# This needed to change because "proper" SDL convention
# is #include "SDL.h", not <SDL2/SDL.h>. This is done for portability
# reasons because not all systems place things in SDL2/ (see FreeBSD).
#=============================================================================
# Copyright 2003-2009 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
# message("<FindSDL2.cmake>")
SET(SDL2_SEARCH_PATHS
~/Library/Frameworks
/Library/Frameworks
/usr/local
/usr
/sw # Fink
/opt/local # DarwinPorts
/opt/csw # Blastwave
/opt
${SDL2_PATH}
)
FIND_PATH(SDL2_INCLUDE_DIR SDL.h
HINTS
$ENV{SDL2DIR}
PATH_SUFFIXES include/SDL2 include
PATHS ${SDL2_SEARCH_PATHS}
)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(PATH_SUFFIXES lib64 lib/x64 lib)
else()
set(PATH_SUFFIXES lib/x86 lib)
endif()
FIND_LIBRARY(SDL2_LIBRARY_TEMP
NAMES SDL2
HINTS
$ENV{SDL2DIR}
PATH_SUFFIXES ${PATH_SUFFIXES}
PATHS ${SDL2_SEARCH_PATHS}
)
IF(NOT SDL2_BUILDING_LIBRARY)
IF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
# Non-OS X framework versions expect you to also dynamically link to
# SDL2main. This is mainly for Windows and OS X. Other (Unix) platforms
# seem to provide SDL2main for compatibility even though they don't
# necessarily need it.
FIND_LIBRARY(SDL2MAIN_LIBRARY
NAMES SDL2main
HINTS
$ENV{SDL2DIR}
PATH_SUFFIXES ${PATH_SUFFIXES}
PATHS ${SDL2_SEARCH_PATHS}
)
ENDIF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
ENDIF(NOT SDL2_BUILDING_LIBRARY)
# SDL2 may require threads on your system.
# The Apple build may not need an explicit flag because one of the
# frameworks may already provide it.
# But for non-OSX systems, I will use the CMake Threads package.
IF(NOT APPLE)
FIND_PACKAGE(Threads)
ENDIF(NOT APPLE)
# MinGW needs an additional link flag, -mwindows
# It's total link flags should look like -lmingw32 -lSDL2main -lSDL2 -mwindows
IF(MINGW)
SET(MINGW32_LIBRARY mingw32 "-mwindows" CACHE STRING "mwindows for MinGW")
ENDIF(MINGW)
IF(SDL2_LIBRARY_TEMP)
# For SDL2main
IF(NOT SDL2_BUILDING_LIBRARY)
IF(SDL2MAIN_LIBRARY)
SET(SDL2_LIBRARY_TEMP ${SDL2MAIN_LIBRARY} ${SDL2_LIBRARY_TEMP})
ENDIF(SDL2MAIN_LIBRARY)
ENDIF(NOT SDL2_BUILDING_LIBRARY)
# For OS X, SDL2 uses Cocoa as a backend so it must link to Cocoa.
# CMake doesn't display the -framework Cocoa string in the UI even
# though it actually is there if I modify a pre-used variable.
# I think it has something to do with the CACHE STRING.
# So I use a temporary variable until the end so I can set the
# "real" variable in one-shot.
IF(APPLE)
SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} "-framework Cocoa")
ENDIF(APPLE)
# For threads, as mentioned Apple doesn't need this.
# In fact, there seems to be a problem if I used the Threads package
# and try using this line, so I'm just skipping it entirely for OS X.
IF(NOT APPLE)
SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
ENDIF(NOT APPLE)
# For MinGW library
IF(MINGW)
SET(SDL2_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL2_LIBRARY_TEMP})
ENDIF(MINGW)
# Set the final string here so the GUI reflects the final state.
SET(SDL2_LIBRARY ${SDL2_LIBRARY_TEMP} CACHE STRING "Where the SDL2 Library can be found")
# Set the temp variable to INTERNAL so it is not seen in the CMake GUI
SET(SDL2_LIBRARY_TEMP "${SDL2_LIBRARY_TEMP}" CACHE INTERNAL "")
ENDIF(SDL2_LIBRARY_TEMP)
# message("</FindSDL2.cmake>")
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR)
================================================
FILE: projects/cmake/FindSDL2_image.cmake
================================================
# Locate SDL_image library
#
# This module defines:
#
# ::
#
# SDL2_IMAGE_LIBRARIES, the name of the library to link against
# SDL2_IMAGE_INCLUDE_DIRS, where to find the headers
# SDL2_IMAGE_FOUND, if false, do not try to link against
# SDL2_IMAGE_VERSION_STRING - human-readable string containing the version of SDL_image
#
#
#
# For backward compatibility the following variables are also set:
#
# ::
#
# SDLIMAGE_LIBRARY (same value as SDL2_IMAGE_LIBRARIES)
# SDLIMAGE_INCLUDE_DIR (same value as SDL2_IMAGE_INCLUDE_DIRS)
# SDLIMAGE_FOUND (same value as SDL2_IMAGE_FOUND)
#
#
#
# $SDLDIR is an environment variable that would correspond to the
# ./configure --prefix=$SDLDIR used in building SDL.
#
# Created by Eric Wing. This was influenced by the FindSDL.cmake
# module, but with modifications to recognize OS X frameworks and
# additional Unix paths (FreeBSD, etc).
#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
# Copyright 2012 Benjamin Eikel
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
find_path(SDL2_IMAGE_INCLUDE_DIR SDL_image.h
HINTS
ENV SDL2IMAGEDIR
ENV SDL2DIR
PATH_SUFFIXES SDL2
# path suffixes to search inside ENV{SDLDIR}
include/SDL2 include
PATHS ${SDL2_IMAGE_PATH}
)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(VC_LIB_PATH_SUFFIX lib/x64)
else()
set(VC_LIB_PATH_SUFFIX lib/x86)
endif()
find_library(SDL2_IMAGE_LIBRARY
NAMES SDL2_image
HINTS
ENV SDL2IMAGEDIR
ENV SDL2DIR
PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
PATHS ${SDL2_IMAGE_PATH}
)
if(SDL2_IMAGE_INCLUDE_DIR AND EXISTS "${SDL2_IMAGE_INCLUDE_DIR}/SDL_image.h")
file(STRINGS "${SDL2_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL2_IMAGE_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_IMAGE_MAJOR_VERSION[ \t]+[0-9]+$")
file(STRINGS "${SDL2_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL2_IMAGE_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_IMAGE_MINOR_VERSION[ \t]+[0-9]+$")
file(STRINGS "${SDL2_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL2_IMAGE_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_IMAGE_PATCHLEVEL[ \t]+[0-9]+$")
string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_IMAGE_VERSION_MAJOR "${SDL2_IMAGE_VERSION_MAJOR_LINE}")
string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_IMAGE_VERSION_MINOR "${SDL2_IMAGE_VERSION_MINOR_LINE}")
string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL2_IMAGE_VERSION_PATCH "${SDL2_IMAGE_VERSION_PATCH_LINE}")
set(SDL2_IMAGE_VERSION_STRING ${SDL2_IMAGE_VERSION_MAJOR}.${SDL2_IMAGE_VERSION_MINOR}.${SDL2_IMAGE_VERSION_PATCH})
unset(SDL2_IMAGE_VERSION_MAJOR_LINE)
unset(SDL2_IMAGE_VERSION_MINOR_LINE)
unset(SDL2_IMAGE_VERSION_PATCH_LINE)
unset(SDL2_IMAGE_VERSION_MAJOR)
unset(SDL2_IMAGE_VERSION_MINOR)
unset(SDL2_IMAGE_VERSION_PATCH)
endif()
set(SDL2_IMAGE_LIBRARIES ${SDL2_IMAGE_LIBRARY})
set(SDL2_IMAGE_INCLUDE_DIRS ${SDL2_IMAGE_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_image
REQUIRED_VARS SDL2_IMAGE_LIBRARIES SDL2_IMAGE_INCLUDE_DIRS
VERSION_VAR SDL2_IMAGE_VERSION_STRING)
# for backward compatibility
set(SDLIMAGE_LIBRARY ${SDL2_IMAGE_LIBRARIES})
set(SDLIMAGE_INCLUDE_DIR ${SDL2_IMAGE_INCLUDE_DIRS})
set(SDLIMAGE_FOUND ${SDL2_IMAGE_FOUND})
mark_as_advanced(SDL2_IMAGE_LIBRARY SDL2_IMAGE_INCLUDE_DIR)
================================================
FILE: projects/cmake/FindSDL2_mixer.cmake
================================================
# Locate SDL_MIXER library
#
# This module defines:
#
# ::
#
# SDL2_MIXER_LIBRARIES, the name of the library to link against
# SDL2_MIXER_INCLUDE_DIRS, where to find the headers
# SDL2_MIXER_FOUND, if false, do not try to link against
# SDL2_MIXER_VERSION_STRING - human-readable string containing the version of SDL_MIXER
#
#
#
# For backward compatibility the following variables are also set:
#
# ::
#
# SDLMIXER_LIBRARY (same value as SDL2_MIXER_LIBRARIES)
# SDLMIXER_INCLUDE_DIR (same value as SDL2_MIXER_INCLUDE_DIRS)
# SDLMIXER_FOUND (same value as SDL2_MIXER_FOUND)
#
#
#
# $SDLDIR is an environment variable that would correspond to the
# ./configure --prefix=$SDLDIR used in building SDL.
#
# Created by Eric Wing. This was influenced by the FindSDL.cmake
# module, but with modifications to recognize OS X frameworks and
# additional Unix paths (FreeBSD, etc).
#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
# Copyright 2012 Benjamin Eikel
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
find_path(SDL2_MIXER_INCLUDE_DIR SDL_mixer.h
HINTS
ENV SDL2MIXERDIR
ENV SDL2DIR
PATH_SUFFIXES SDL2
# path suffixes to search inside ENV{SDLDIR}
include/SDL2 include
PATHS ${SDL2_MIXER_PATH}
)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(VC_LIB_PATH_SUFFIX lib/x64)
else()
set(VC_LIB_PATH_SUFFIX lib/x86)
endif()
find_library(SDL2_MIXER_LIBRARY
NAMES SDL2_mixer
HINTS
ENV SDL2MIXERDIR
ENV SDL2DIR
PATH_SUFFIXES lib bin ${VC_LIB_PATH_SUFFIX}
PATHS ${SDL2_MIXER_PATH}
)
if(SDL2_MIXER_INCLUDE_DIR AND EXISTS "${SDL2_MIXER_INCLUDE_DIR}/SDL_mixer.h")
file(STRINGS "${SDL2_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL2_MIXER_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_MIXER_MAJOR_VERSION[ \t]+[0-9]+$")
file(STRINGS "${SDL2_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL2_MIXER_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_MIXER_MINOR_VERSION[ \t]+[0-9]+$")
file(STRINGS "${SDL2_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL2_MIXER_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_MIXER_PATCHLEVEL[ \t]+[0-9]+$")
string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_MIXER_VERSION_MAJOR "${SDL2_MIXER_VERSION_MAJOR_LINE}")
string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_MIXER_VERSION_MINOR "${SDL2_MIXER_VERSION_MINOR_LINE}")
string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL2_MIXER_VERSION_PATCH "${SDL2_MIXER_VERSION_PATCH_LINE}")
set(SDL2_MIXER_VERSION_STRING ${SDL2_MIXER_VERSION_MAJOR}.${SDL2_MIXER_VERSION_MINOR}.${SDL2_MIXER_VERSION_PATCH})
unset(SDL2_MIXER_VERSION_MAJOR_LINE)
unset(SDL2_MIXER_VERSION_MINOR_LINE)
unset(SDL2_MIXER_VERSION_PATCH_LINE)
unset(SDL2_MIXER_VERSION_MAJOR)
unset(SDL2_MIXER_VERSION_MINOR)
unset(SDL2_MIXER_VERSION_PATCH)
endif()
set(SDL2_MIXER_LIBRARIES ${SDL2_MIXER_LIBRARY})
set(SDL2_MIXER_INCLUDE_DIRS ${SDL2_MIXER_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_mixer
REQUIRED_VARS SDL2_MIXER_LIBRARIES SDL2_MIXER_INCLUDE_DIRS
VERSION_VAR SDL2_MIXER_VERSION_STRING)
# for backward compatibility
set(SDLMIXER_LIBRARY ${SDL2_MIXER_LIBRARIES})
set(SDLMIXER_INCLUDE_DIR ${SDL2_MIXER_INCLUDE_DIRS})
set(SDLMIXER_FOUND ${SDL2_MIXER_FOUND})
mark_as_advanced(SDL2_MIXER_LIBRARY SDL2_MIXER_INCLUDE_DIR)
================================================
FILE: projects/cmake/FindSDL2_ttf.cmake
================================================
# Locate SDL_ttf library
#
# This module defines:
#
# ::
#
# SDL2_TTF_LIBRARIES, the name of the library to link against
# SDL2_TTF_INCLUDE_DIRS, where to find the headers
# SDL2_TTF_FOUND, if false, do not try to link against
# SDL2_TTF_VERSION_STRING - human-readable string containing the version of SDL_ttf
#
#
#
# For backward compatibility the following variables are also set:
#
# ::
#
# SDLTTF_LIBRARY (same value as SDL2_TTF_LIBRARIES)
# SDLTTF_INCLUDE_DIR (same value as SDL2_TTF_INCLUDE_DIRS)
# SDLTTF_FOUND (same value as SDL2_TTF_FOUND)
#
#
#
# $SDLDIR is an environment variable that would correspond to the
# ./configure --prefix=$SDLDIR used in building SDL.
#
# Created by Eric Wing. This was influenced by the FindSDL.cmake
# module, but with modifications to recognize OS X frameworks and
# additional Unix paths (FreeBSD, etc).
#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
# Copyright 2012 Benjamin Eikel
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
find_path(SDL2_TTF_INCLUDE_DIR SDL_ttf.h
HINTS
ENV SDL2TTFDIR
ENV SDL2DIR
PATH_SUFFIXES SDL2
# path suffixes to search inside ENV{SDLDIR}
include/SDL2 include
PATHS ${SDL2_TTF_PATH}
)
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
set(VC_LIB_PATH_SUFFIX lib/x64)
else ()
set(VC_LIB_PATH_SUFFIX lib/x86)
endif ()
find_library(SDL2_TTF_LIBRARY
NAMES SDL2_ttf
HINTS
ENV SDL2TTFDIR
ENV SDL2DIR
PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
PATHS ${SDL2_TTF_PATH}
)
if (SDL2_TTF_INCLUDE_DIR AND EXISTS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h")
file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL2_TTF_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_TTF_MAJOR_VERSION[ \t]+[0-9]+$")
file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL2_TTF_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_TTF_MINOR_VERSION[ \t]+[0-9]+$")
file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL2_TTF_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_TTF_PATCHLEVEL[ \t]+[0-9]+$")
string(REGEX REPLACE "^#define[ \t]+SDL_TTF_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_MAJOR "${SDL2_TTF_VERSION_MAJOR_LINE}")
string(REGEX REPLACE "^#define[ \t]+SDL_TTF_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_MINOR "${SDL2_TTF_VERSION_MINOR_LINE}")
string(REGEX REPLACE "^#define[ \t]+SDL_TTF_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_PATCH "${SDL2_TTF_VERSION_PATCH_LINE}")
set(SDL2_TTF_VERSION_STRING ${SDL2_TTF_VERSION_MAJOR}.${SDL2_TTF_VERSION_MINOR}.${SDL2_TTF_VERSION_PATCH})
unset(SDL2_TTF_VERSION_MAJOR_LINE)
unset(SDL2_TTF_VERSION_MINOR_LINE)
unset(SDL2_TTF_VERSION_PATCH_LINE)
unset(SDL2_TTF_VERSION_MAJOR)
unset(SDL2_TTF_VERSION_MINOR)
unset(SDL2_TTF_VERSION_PATCH)
endif ()
set(SDL2_TTF_LIBRARIES ${SDL2_TTF_LIBRARY})
set(SDL2_TTF_INCLUDE_DIRS ${SDL2_TTF_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_ttf
REQUIRED_VARS SDL2_TTF_LIBRARIES SDL2_TTF_INCLUDE_DIRS
VERSION_VAR SDL2_TTF_VERSION_STRING)
# for backward compatibility
set(SDLTTF_LIBRARY ${SDL2_TTF_LIBRARIES})
set(SDLTTF_INCLUDE_DIR ${SDL2_TTF_INCLUDE_DIRS})
set(SDLTTF_FOUND ${SDL2_TTF_FOUND})
================================================
FILE: projects/cmake/readme.md
================================================
This repository contains CMake scripts for finding the `SDL2`, `SDL2_image` and
`SDL2_ttf` libraries and headers.
CMake itself comes with corresponding scripts for SDL 1.2, which hopefully in
time will be updated for SDL2 and make this repo redundant. In the mean
time, I'm putting them up here in case anyone else finds them useful.
I've tested them on Linux and Mac OS using the Makefile and XCode targets.
On Linux, you'll need the SDL2 development packages installed from your distro
package manager. On Mac OS you can install the development frameworks
from the SDL website or alternatively, if you use Homebrew you can run
`brew install sdl2` to install the development packages.
## Usage
### General
In order to use these scripts, you first need to tell CMake where to find them, via
the `CMAKE_MODULE_PATH` variable. For example, if you put them in a
subdirectory called `cmake`, then in your root `CMakeLists.txt` add the line
```cmake
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${project_SOURCE_DIR}/cmake")
```
where `project` is the name of your project. You can then use the packages
themselves by adding
```cmake
find_package(SDL2 REQUIRED)
find_package(SDL2_image REQUIRED)
find_package(SDL2_ttf REQUIRED)
include_directories(${SDL2_INCLUDE_DIR}
${SDL2_IMAGE_INCLUDE_DIR}
${SDL2_TTF_INCLUDE_DIR})
target_link_libraries(target ${SDL2_LIBRARY}
${SDL2_IMAGE_LIBRARIES}
${SDL2_TTF_LIBRARIES})
```
or whatever is appropriate for your project.
### mingw32 / msys
This section supplements ```Usage -> General``` section. You still are required
to incorporate ```General``` configuration settings in you CMakeLists.txt.
Because cmake binaries for windows aren't aware of *nix/win paths conversion,
default paths FindSDL2 will look in won't do any good. For that you should set SDL2_PATH variable.
For example:
```cmake
set(SDL2_PATH "D:\\apps\\SDL2\\i686-w64-mingw32")
```
```bash
mkdir build
cd build
cmake .. -G"MSYS Makefiles"
make
```
## Licence
I am not the original author of these scripts. I found `FindSDL2.cmake`
after some Googling, and hacked up the `image` and `ttf` scripts from the
SDL1 versions that come with CMake. The original scripts, and my changes,
are released under the two-clause BSD licence.
## Bugs
These scripts are provided in the hope that you might find them useful. They
work for me and hopefully they'll work for you too. If you fix any
issues with them then I'd appreciate a pull request so other
users can get your fixes too, but that's up to you :-).
================================================
FILE: projects/vs2017/.gitignore
================================================
*.png
*.dll
*.p8
================================================
FILE: projects/vs2017/retro8/api.lua
================================================
function all(t)
if t ~= nil then
local nt = {}
local ni = 1
for _,v in pairs(t) do
nt[ni] = v
ni = ni + 1
end
for k,v in pairs(nt) do
end
local i = 0
return function() i = i + 1; return nt[i] end
end
return function() end
end
function add(t, v)
if t ~= nil then
t[#t+1] = v
end
return t
end
function foreach(c, f)
if c ~= nil then
for key, value in ipairs(c) do
f(value)
end
end
end
function mapdraw(...)
map(table.unpack(arg))
end
function count(t)
if t ~= nil then
return #t
end
end
-- check semantics
function del(t, v)
if t ~= nil then
local found = false
for i = 1, #t do
if t[i] == v then
found = true
end
if found then
t[i] = t[i+1]
end
end
end
end
function cocreate(f)
return coroutine.create(f)
end
function yield()
coroutine.yield()
end
-- TODO: missing vararg
function coresume(f)
return coroutine.resume(f)
end
function costatus(f)
return coroutine.status(f)
end
================================================
FILE: projects/vs2017/retro8/libretro.vcxproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{0E0E60BF-5A2C-4690-9E9A-6990DA1715B4}</ProjectGuid>
<RootNamespace>libretro</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
<ProjectName>libretro</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<TargetName>retro8_libretro</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<TargetName>retro8_libretro</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>$(SolutionDir)../../../src</AdditionalIncludeDirectories>
<PreprocessorDefinitions>__LIBRETRO__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>$(SolutionDir)../../../src</AdditionalIncludeDirectories>
<PreprocessorDefinitions>__LIBRETRO__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\io\loader.cpp" />
<ClCompile Include="..\..\..\src\io\picopng.cpp" />
<ClCompile Include="..\..\..\src\io\stegano.cpp" />
<ClCompile Include="..\..\..\src\lua\lapi.c" />
<ClCompile Include="..\..\..\src\lua\lauxlib.c" />
<ClCompile Include="..\..\..\src\lua\lbaselib.c" />
<ClCompile Include="..\..\..\src\lua\lbitlib.c" />
<ClCompile Include="..\..\..\src\lua\lcode.c" />
<ClCompile Include="..\..\..\src\lua\lcorolib.c" />
<ClCompile Include="..\..\..\src\lua\lctype.c" />
<ClCompile Include="..\..\..\src\lua\ldblib.c" />
<ClCompile Include="..\..\..\src\lua\ldebug.c" />
<ClCompile Include="..\..\..\src\lua\ldo.c" />
<ClCompile Include="..\..\..\src\lua\ldump.c" />
<ClCompile Include="..\..\..\src\lua\lfunc.c" />
<ClCompile Include="..\..\..\src\lua\lgc.c" />
<ClCompile Include="..\..\..\src\lua\linit.c" />
<ClCompile Include="..\..\..\src\lua\liolib.c" />
<ClCompile Include="..\..\..\src\lua\llex.c" />
<ClCompile Include="..\..\..\src\lua\lmathlib.c" />
<ClCompile Include="..\..\..\src\lua\lmem.c" />
<ClCompile Include="..\..\..\src\lua\loadlib.c" />
<ClCompile Include="..\..\..\src\lua\lobject.c" />
<ClCompile Include="..\..\..\src\lua\lopcodes.c" />
<ClCompile Include="..\..\..\src\lua\loslib.c" />
<ClCompile Include="..\..\..\src\lua\lparser.c" />
<ClCompile Include="..\..\..\src\lua\lstate.c" />
<ClCompile Include="..\..\..\src\lua\lstring.c" />
<ClCompile Include="..\..\..\src\lua\lstrlib.c" />
<ClCompile Include="..\..\..\src\lua\ltable.c" />
<ClCompile Include="..\..\..\src\lua\ltablib.c" />
<ClCompile Include="..\..\..\src\lua\ltests.c" />
<ClCompile Include="..\..\..\src\lua\ltm.c" />
<ClCompile Include="..\..\..\src\lua\lundump.c" />
<ClCompile Include="..\..\..\src\lua\lutf8lib.c" />
<ClCompile Include="..\..\..\src\lua\lvm.c" />
<ClCompile Include="..\..\..\src\lua\lzio.c" />
<ClCompile Include="..\..\..\src\libretro\libretro.cpp" />
<ClCompile Include="..\..\..\src\vm\gfx.cpp" />
<ClCompile Include="..\..\..\src\vm\lua_bridge.cpp" />
<ClCompile Include="..\..\..\src\vm\machine.cpp" />
<ClCompile Include="..\..\..\src\vm\memory.cpp" />
<ClCompile Include="..\..\..\src\vm\sound.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\common.h" />
<ClInclude Include="..\..\..\src\config.h" />
<ClInclude Include="..\..\..\src\gen\lua_api.h" />
<ClInclude Include="..\..\..\src\gen\pico_font.h" />
<ClInclude Include="..\..\..\src\io\loader.h" />
<ClInclude Include="..\..\..\src\io\stegano.h" />
<ClInclude Include="..\..\..\src\lua\lapi.h" />
<ClInclude Include="..\..\..\src\lua\lauxlib.h" />
<ClInclude Include="..\..\..\src\lua\lcode.h" />
<ClInclude Include="..\..\..\src\lua\lctype.h" />
<ClInclude Include="..\..\..\src\lua\ldebug.h" />
<ClInclude Include="..\..\..\src\lua\ldo.h" />
<ClInclude Include="..\..\..\src\lua\lfunc.h" />
<ClInclude Include="..\..\..\src\lua\lgc.h" />
<ClInclude Include="..\..\..\src\lua\llex.h" />
<ClInclude Include="..\..\..\src\lua\llimits.h" />
<ClInclude Include="..\..\..\src\lua\lmem.h" />
<ClInclude Include="..\..\..\src\lua\lobject.h" />
<ClInclude Include="..\..\..\src\lua\lopcodes.h" />
<ClInclude Include="..\..\..\src\lua\lparser.h" />
<ClInclude Include="..\..\..\src\lua\lprefix.h" />
<ClInclude Include="..\..\..\src\lua\lstate.h" />
<ClInclude Include="..\..\..\src\lua\lstring.h" />
<ClInclude Include="..\..\..\src\lua\ltable.h" />
<ClInclude Include="..\..\..\src\lua\ltests.h" />
<ClInclude Include="..\..\..\src\lua\ltm.h" />
<ClInclude Include="..\..\..\src\lua\lua.h" />
<ClInclude Include="..\..\..\src\lua\lua.hpp" />
<ClInclude Include="..\..\..\src\lua\luaconf.h" />
<ClInclude Include="..\..\..\src\lua\lualib.h" />
<ClInclude Include="..\..\..\src\lua\lundump.h" />
<ClInclude Include="..\..\..\src\lua\lvm.h" />
<ClInclude Include="..\..\..\src\lua\lzio.h" />
<ClInclude Include="..\..\..\src\libretro\libretro.h" />
<ClInclude Include="..\..\..\src\vm\defines.h" />
<ClInclude Include="..\..\..\src\vm\gfx.h" />
<ClInclude Include="..\..\..\src\vm\input.h" />
<ClInclude Include="..\..\..\src\vm\lua_api.h" />
<ClInclude Include="..\..\..\src\vm\lua_bridge.h" />
<ClInclude Include="..\..\..\src\vm\machine.h" />
<ClInclude Include="..\..\..\src\vm\memory.h" />
<ClInclude Include="..\..\..\src\vm\pico_font.h" />
<ClInclude Include="..\..\..\src\vm\sound.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
================================================
FILE: projects/vs2017/retro8/libretro.vcxproj.filters
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{a471f701-0e6a-4004-b161-ca280a2be93a}</UniqueIdentifier>
</Filter>
<Filter Include="src\vm">
<UniqueIdentifier>{f5eb0eee-f070-4775-8d48-90cef3473e3b}</UniqueIdentifier>
</Filter>
<Filter Include="src\io">
<UniqueIdentifier>{b05b286e-5e6e-4a96-9f06-fcbcf3fd06c0}</UniqueIdentifier>
</Filter>
<Filter Include="src\lua">
<UniqueIdentifier>{2368e1b6-dcbf-4a03-9ec7-31a181f8f28a}</UniqueIdentifier>
</Filter>
<Filter Include="src\libretro">
<UniqueIdentifier>{84f3008f-35b1-4fc8-a328-0386a6107d2b}</UniqueIdentifier>
</Filter>
<Filter Include="src\gen">
<UniqueIdentifier>{29585708-f023-42b3-ab4f-f94a5094a00a}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\vm\gfx.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\lua_bridge.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\machine.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\memory.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\sound.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\io\loader.cpp">
<Filter>src\io</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\io\stegano.cpp">
<Filter>src\io</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lapi.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lauxlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lbaselib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lbitlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lcode.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lcorolib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lctype.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ldblib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ldebug.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ldo.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ldump.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lfunc.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lgc.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\linit.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\liolib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\llex.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lmathlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lmem.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\loadlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lobject.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lopcodes.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\loslib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lparser.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lstate.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lstring.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lstrlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ltable.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ltablib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ltests.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ltm.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lundump.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lutf8lib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lvm.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lzio.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\libretro\libretro.cpp">
<Filter>src\libretro</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\io\picopng.cpp">
<Filter>src\io</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\common.h">
<Filter>src</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\defines.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\gfx.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\lua_bridge.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\machine.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\memory.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\sound.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\io\loader.h">
<Filter>src\io</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\io\stegano.h">
<Filter>src\io</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lapi.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lauxlib.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lcode.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lctype.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ldebug.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ldo.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lfunc.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lgc.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\llex.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\llimits.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lmem.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lobject.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lopcodes.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lparser.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lprefix.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lstate.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lstring.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ltable.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ltests.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ltm.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lua.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lua.hpp">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\luaconf.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lualib.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lundump.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lvm.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lzio.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\libretro\libretro.h">
<Filter>src\libretro</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\lua_api.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\pico_font.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\input.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\gen\lua_api.h">
<Filter>src\gen</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\gen\pico_font.h">
<Filter>src\gen</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\config.h">
<Filter>src</Filter>
</ClInclude>
</ItemGroup>
</Project>
================================================
FILE: projects/vs2017/retro8/retro8-sdl1.2.vcxproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{6AA50535-4009-46CB-9B64-9624BC3F9169}</ProjectGuid>
<RootNamespace>retro8sdl12</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(ProjectName)-$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(ProjectName)-$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(ProjectName)-$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(ProjectName)-$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>D:\dev\sdl\SDL1.2.15\include;$(SolutionDir)../../../src;D:\dev\odreader\projects\vs2017\zlib\include;D:\dev\retro8\projects\vs2017\libs\lua\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>D:\dev\retro8\projects\vs2017\libs\zlib\lib\win_x64\zlib.lib;D:\dev\sdl\SDL1.2.15\lib\x64\SDL.lib;D:\dev\sdl\SDL1.2.15\lib\x64\SDLmain.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>D:\dev\sdl\SDL1.2.15\include;$(SolutionDir)../../../src;D:\dev\odreader\projects\vs2017\zlib\include;C:\Users\Jack\Documents\dev\retro-8\projects\vs2017\libs\lua\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>D:\dev\retro8\projects\vs2017\libs\zlib\lib\win_x64\zlib.lib;D:\dev\sdl\SDL1.2.15\lib\x64\SDL.lib;D:\dev\sdl\SDL1.2.15\lib\x64\SDLmain.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\io\loader.cpp" />
<ClCompile Include="..\..\..\src\io\picopng.cpp" />
<ClCompile Include="..\..\..\src\io\stegano.cpp" />
<ClCompile Include="..\..\..\src\lua\lapi.c" />
<ClCompile Include="..\..\..\src\lua\lauxlib.c" />
<ClCompile Include="..\..\..\src\lua\lbaselib.c" />
<ClCompile Include="..\..\..\src\lua\lbitlib.c" />
<ClCompile Include="..\..\..\src\lua\lcode.c" />
<ClCompile Include="..\..\..\src\lua\lcorolib.c" />
<ClCompile Include="..\..\..\src\lua\lctype.c" />
<ClCompile Include="..\..\..\src\lua\ldblib.c" />
<ClCompile Include="..\..\..\src\lua\ldebug.c" />
<ClCompile Include="..\..\..\src\lua\ldo.c" />
<ClCompile Include="..\..\..\src\lua\ldump.c" />
<ClCompile Include="..\..\..\src\lua\lfunc.c" />
<ClCompile Include="..\..\..\src\lua\lgc.c" />
<ClCompile Include="..\..\..\src\lua\linit.c" />
<ClCompile Include="..\..\..\src\lua\liolib.c" />
<ClCompile Include="..\..\..\src\lua\llex.c" />
<ClCompile Include="..\..\..\src\lua\lmathlib.c" />
<ClCompile Include="..\..\..\src\lua\lmem.c" />
<ClCompile Include="..\..\..\src\lua\loadlib.c" />
<ClCompile Include="..\..\..\src\lua\lobject.c" />
<ClCompile Include="..\..\..\src\lua\lopcodes.c" />
<ClCompile Include="..\..\..\src\lua\loslib.c" />
<ClCompile Include="..\..\..\src\lua\lparser.c" />
<ClCompile Include="..\..\..\src\lua\lstate.c" />
<ClCompile Include="..\..\..\src\lua\lstring.c" />
<ClCompile Include="..\..\..\src\lua\lstrlib.c" />
<ClCompile Include="..\..\..\src\lua\ltable.c" />
<ClCompile Include="..\..\..\src\lua\ltablib.c" />
<ClCompile Include="..\..\..\src\lua\ltests.c" />
<ClCompile Include="..\..\..\src\lua\ltm.c" />
<ClCompile Include="..\..\..\src\lua\lundump.c" />
<ClCompile Include="..\..\..\src\lua\lutf8lib.c" />
<ClCompile Include="..\..\..\src\lua\lvm.c" />
<ClCompile Include="..\..\..\src\lua\lzio.c" />
<ClCompile Include="..\..\..\src\main.cpp" />
<ClCompile Include="..\..\..\src\views\game_view.cpp" />
<ClCompile Include="..\..\..\src\views\menu_view.cpp" />
<ClCompile Include="..\..\..\src\views\view_manager.cpp" />
<ClCompile Include="..\..\..\src\vm\gfx.cpp" />
<ClCompile Include="..\..\..\src\vm\lua_bridge.cpp" />
<ClCompile Include="..\..\..\src\vm\machine.cpp" />
<ClCompile Include="..\..\..\src\vm\memory.cpp" />
<ClCompile Include="..\..\..\src\vm\sound.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\common.h" />
<ClInclude Include="..\..\..\src\config.h" />
<ClInclude Include="..\..\..\src\gen\lua_api.h" />
<ClInclude Include="..\..\..\src\gen\pico_font.h" />
<ClInclude Include="..\..\..\src\io\loader.h" />
<ClInclude Include="..\..\..\src\io\stegano.h" />
<ClInclude Include="..\..\..\src\lua\lapi.h" />
<ClInclude Include="..\..\..\src\lua\lauxlib.h" />
<ClInclude Include="..\..\..\src\lua\lcode.h" />
<ClInclude Include="..\..\..\src\lua\lctype.h" />
<ClInclude Include="..\..\..\src\lua\ldebug.h" />
<ClInclude Include="..\..\..\src\lua\ldo.h" />
<ClInclude Include="..\..\..\src\lua\lfunc.h" />
<ClInclude Include="..\..\..\src\lua\lgc.h" />
<ClInclude Include="..\..\..\src\lua\llex.h" />
<ClInclude Include="..\..\..\src\lua\llimits.h" />
<ClInclude Include="..\..\..\src\lua\lmem.h" />
<ClInclude Include="..\..\..\src\lua\lobject.h" />
<ClInclude Include="..\..\..\src\lua\lopcodes.h" />
<ClInclude Include="..\..\..\src\lua\lparser.h" />
<ClInclude Include="..\..\..\src\lua\lprefix.h" />
<ClInclude Include="..\..\..\src\lua\lstate.h" />
<ClInclude Include="..\..\..\src\lua\lstring.h" />
<ClInclude Include="..\..\..\src\lua\ltable.h" />
<ClInclude Include="..\..\..\src\lua\ltests.h" />
<ClInclude Include="..\..\..\src\lua\ltm.h" />
<ClInclude Include="..\..\..\src\lua\lua.h" />
<ClInclude Include="..\..\..\src\lua\lua.hpp" />
<ClInclude Include="..\..\..\src\lua\luaconf.h" />
<ClInclude Include="..\..\..\src\lua\lualib.h" />
<ClInclude Include="..\..\..\src\lua\lundump.h" />
<ClInclude Include="..\..\..\src\lua\lvm.h" />
<ClInclude Include="..\..\..\src\lua\lzio.h" />
<ClInclude Include="..\..\..\src\views\main_view.h" />
<ClInclude Include="..\..\..\src\views\sdl_helper.h" />
<ClInclude Include="..\..\..\src\views\sdl_impl12.h" />
<ClInclude Include="..\..\..\src\views\view_manager.h" />
<ClInclude Include="..\..\..\src\vm\defines.h" />
<ClInclude Include="..\..\..\src\vm\gfx.h" />
<ClInclude Include="..\..\..\src\vm\input.h" />
<ClInclude Include="..\..\..\src\vm\lua_bridge.h" />
<ClInclude Include="..\..\..\src\vm\machine.h" />
<ClInclude Include="..\..\..\src\vm\memory.h" />
<ClInclude Include="..\..\..\src\vm\sound.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
================================================
FILE: projects/vs2017/retro8/retro8-sdl1.2.vcxproj.filters
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{42385b49-0ab6-4132-85d7-e32a6d86680a}</UniqueIdentifier>
</Filter>
<Filter Include="src\gen">
<UniqueIdentifier>{0459b9e3-12af-4756-9b9a-50cd2756d16f}</UniqueIdentifier>
</Filter>
<Filter Include="src\io">
<UniqueIdentifier>{02b98048-b55c-4da3-b643-d900d371ef7e}</UniqueIdentifier>
</Filter>
<Filter Include="src\lua">
<UniqueIdentifier>{3ae2ecb6-c5c2-494b-9e27-24734c408507}</UniqueIdentifier>
</Filter>
<Filter Include="src\vm">
<UniqueIdentifier>{da7a994f-80a9-4361-9d36-c441cd2c4090}</UniqueIdentifier>
</Filter>
<Filter Include="src\views">
<UniqueIdentifier>{f916d59d-e58f-46bd-b334-34632fc018a0}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\main.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\io\picopng.cpp">
<Filter>src\io</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\io\stegano.cpp">
<Filter>src\io</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\io\loader.cpp">
<Filter>src\io</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lcode.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lcorolib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lctype.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ldblib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ldebug.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ldo.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ldump.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lfunc.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lgc.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\linit.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\liolib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\llex.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lmathlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lmem.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\loadlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lobject.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lopcodes.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\loslib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lparser.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lstate.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lstring.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lstrlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ltable.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ltablib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ltests.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ltm.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lundump.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lutf8lib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lvm.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lzio.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lapi.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lauxlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lbaselib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lbitlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\gfx.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\lua_bridge.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\machine.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\memory.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\sound.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\views\menu_view.cpp">
<Filter>src\views</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\views\view_manager.cpp">
<Filter>src\views</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\views\game_view.cpp">
<Filter>src\views</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\common.h">
<Filter>src</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\gen\lua_api.h">
<Filter>src\gen</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\gen\pico_font.h">
<Filter>src\gen</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\io\stegano.h">
<Filter>src\io</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\io\loader.h">
<Filter>src\io</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lcode.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lctype.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ldebug.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ldo.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lfunc.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lgc.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\llex.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\llimits.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lmem.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lobject.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lopcodes.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lparser.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lprefix.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lstate.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lstring.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ltable.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ltests.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ltm.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lua.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lua.hpp">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\luaconf.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lualib.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lundump.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lvm.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lzio.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lapi.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lauxlib.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\sound.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\defines.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\gfx.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\input.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\lua_bridge.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\machine.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\memory.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\views\sdl_helper.h">
<Filter>src\views</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\views\view_manager.h">
<Filter>src\views</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\views\main_view.h">
<Filter>src\views</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\views\sdl_impl12.h">
<Filter>src\views</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\config.h">
<Filter>src</Filter>
</ClInclude>
</ItemGroup>
</Project>
================================================
FILE: projects/vs2017/retro8/retro8.sln
================================================
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.421
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "retro8", "retro8.vcxproj", "{9834F81E-B512-4925-ADA7-746E485735D1}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libretro", "libretro.vcxproj", "{0E0E60BF-5A2C-4690-9E9A-6990DA1715B4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "retro8-sdl1.2", "retro8-sdl1.2.vcxproj", "{6AA50535-4009-46CB-9B64-9624BC3F9169}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9834F81E-B512-4925-ADA7-746E485735D1}.Debug|x64.ActiveCfg = Debug|x64
{9834F81E-B512-4925-ADA7-746E485735D1}.Debug|x64.Build.0 = Debug|x64
{9834F81E-B512-4925-ADA7-746E485735D1}.Release|x64.ActiveCfg = Release|x64
{9834F81E-B512-4925-ADA7-746E485735D1}.Release|x64.Build.0 = Release|x64
{0E0E60BF-5A2C-4690-9E9A-6990DA1715B4}.Debug|x64.ActiveCfg = Debug|x64
{0E0E60BF-5A2C-4690-9E9A-6990DA1715B4}.Debug|x64.Build.0 = Debug|x64
{0E0E60BF-5A2C-4690-9E9A-6990DA1715B4}.Release|x64.ActiveCfg = Release|x64
{0E0E60BF-5A2C-4690-9E9A-6990DA1715B4}.Release|x64.Build.0 = Release|x64
{6AA50535-4009-46CB-9B64-9624BC3F9169}.Debug|x64.ActiveCfg = Debug|x64
{6AA50535-4009-46CB-9B64-9624BC3F9169}.Debug|x64.Build.0 = Debug|x64
{6AA50535-4009-46CB-9B64-9624BC3F9169}.Release|x64.ActiveCfg = Release|x64
{6AA50535-4009-46CB-9B64-9624BC3F9169}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C9B2834F-9565-43CC-82A8-40713A7448F4}
EndGlobalSection
EndGlobal
================================================
FILE: projects/vs2017/retro8/retro8.vcxproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{9834F81E-B512-4925-ADA7-746E485735D1}</ProjectGuid>
<RootNamespace>odcalc</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(ProjectName)-$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(ProjectName)-$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(ProjectName)-$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(ProjectName)-$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>D:\dev\openmom\libs\sdl2\win\include;D:\dev\sdl\SDL2_ttf\include;$(SolutionDir)../../../src;D:\dev\odreader\projects\vs2017\zlib\include;C:\Users\Jack\Documents\dev\retro-8\projects\vs2017\libs\lua\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<LanguageStandard>stdcpp17</LanguageStandard>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>D:\dev\openmom\libs\sdl2\win\lib\x64\SDL2.lib;D:\dev\openmom\libs\sdl2\win\lib\x64\SDL2main.lib;D:\dev/retro8\projects\vs2017\libs\zlib\lib\win_x64\zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode>
<AdditionalIncludeDirectories>D:\dev\openmom\libs\sdl2\win\include;D:\dev\sdl\SDL2_ttf\include;$(SolutionDir)../../../src;D:\dev\odreader\projects\vs2017\zlib\include;C:\Users\Jack\Documents\dev\retro-8\projects\vs2017\libs\lua\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<LanguageStandard>stdcpp17</LanguageStandard>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>D:\dev\openmom\libs\sdl2\win\lib\x64\SDL2.lib;D:\dev\openmom\libs\sdl2\win\lib\x64\SDL2main.lib;D:\dev/retro8\projects\vs2017\libs\zlib\lib\win_x64\zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\io\loader.cpp" />
<ClCompile Include="..\..\..\src\io\picopng.cpp" />
<ClCompile Include="..\..\..\src\io\stegano.cpp" />
<ClCompile Include="..\..\..\src\lua\lapi.c" />
<ClCompile Include="..\..\..\src\lua\lauxlib.c" />
<ClCompile Include="..\..\..\src\lua\lbaselib.c" />
<ClCompile Include="..\..\..\src\lua\lbitlib.c" />
<ClCompile Include="..\..\..\src\lua\lcode.c" />
<ClCompile Include="..\..\..\src\lua\lcorolib.c" />
<ClCompile Include="..\..\..\src\lua\lctype.c" />
<ClCompile Include="..\..\..\src\lua\ldblib.c" />
<ClCompile Include="..\..\..\src\lua\ldebug.c" />
<ClCompile Include="..\..\..\src\lua\ldo.c" />
<ClCompile Include="..\..\..\src\lua\ldump.c" />
<ClCompile Include="..\..\..\src\lua\lfunc.c" />
<ClCompile Include="..\..\..\src\lua\lgc.c" />
<ClCompile Include="..\..\..\src\lua\linit.c" />
<ClCompile Include="..\..\..\src\lua\liolib.c" />
<ClCompile Include="..\..\..\src\lua\llex.c" />
<ClCompile Include="..\..\..\src\lua\lmathlib.c" />
<ClCompile Include="..\..\..\src\lua\lmem.c" />
<ClCompile Include="..\..\..\src\lua\loadlib.c" />
<ClCompile Include="..\..\..\src\lua\lobject.c" />
<ClCompile Include="..\..\..\src\lua\lopcodes.c" />
<ClCompile Include="..\..\..\src\lua\loslib.c" />
<ClCompile Include="..\..\..\src\lua\lparser.c" />
<ClCompile Include="..\..\..\src\lua\lstate.c" />
<ClCompile Include="..\..\..\src\lua\lstring.c" />
<ClCompile Include="..\..\..\src\lua\lstrlib.c" />
<ClCompile Include="..\..\..\src\lua\ltable.c" />
<ClCompile Include="..\..\..\src\lua\ltablib.c" />
<ClCompile Include="..\..\..\src\lua\ltests.c" />
<ClCompile Include="..\..\..\src\lua\ltm.c" />
<ClCompile Include="..\..\..\src\lua\lundump.c" />
<ClCompile Include="..\..\..\src\lua\lutf8lib.c" />
<ClCompile Include="..\..\..\src\lua\lvm.c" />
<ClCompile Include="..\..\..\src\lua\lzio.c" />
<ClCompile Include="..\..\..\src\main.cpp" />
<ClCompile Include="..\..\..\src\test\test.cpp" />
<ClCompile Include="..\..\..\src\views\game_view.cpp" />
<ClCompile Include="..\..\..\src\views\menu_view.cpp" />
<ClCompile Include="..\..\..\src\views\view_manager.cpp" />
<ClCompile Include="..\..\..\src\vm\gfx.cpp" />
<ClCompile Include="..\..\..\src\vm\lua_bridge.cpp" />
<ClCompile Include="..\..\..\src\vm\machine.cpp" />
<ClCompile Include="..\..\..\src\vm\memory.cpp" />
<ClCompile Include="..\..\..\src\vm\sound.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\common.h" />
<ClInclude Include="..\..\..\src\config.h" />
<ClInclude Include="..\..\..\src\gen\lua_api.h" />
<ClInclude Include="..\..\..\src\gen\pico_font.h" />
<ClInclude Include="..\..\..\src\io\loader.h" />
<ClInclude Include="..\..\..\src\io\stegano.h" />
<ClInclude Include="..\..\..\src\lua\lapi.h" />
<ClInclude Include="..\..\..\src\lua\lauxlib.h" />
<ClInclude Include="..\..\..\src\lua\lcode.h" />
<ClInclude Include="..\..\..\src\lua\lctype.h" />
<ClInclude Include="..\..\..\src\lua\ldebug.h" />
<ClInclude Include="..\..\..\src\lua\ldo.h" />
<ClInclude Include="..\..\..\src\lua\lfunc.h" />
<ClInclude Include="..\..\..\src\lua\lgc.h" />
<ClInclude Include="..\..\..\src\lua\llex.h" />
<ClInclude Include="..\..\..\src\lua\llimits.h" />
<ClInclude Include="..\..\..\src\lua\lmem.h" />
<ClInclude Include="..\..\..\src\lua\lobject.h" />
<ClInclude Include="..\..\..\src\lua\lopcodes.h" />
<ClInclude Include="..\..\..\src\lua\lparser.h" />
<ClInclude Include="..\..\..\src\lua\lprefix.h" />
<ClInclude Include="..\..\..\src\lua\lstate.h" />
<ClInclude Include="..\..\..\src\lua\lstring.h" />
<ClInclude Include="..\..\..\src\lua\ltable.h" />
<ClInclude Include="..\..\..\src\lua\ltests.h" />
<ClInclude Include="..\..\..\src\lua\ltm.h" />
<ClInclude Include="..\..\..\src\lua\lua.h" />
<ClInclude Include="..\..\..\src\lua\lua.hpp" />
<ClInclude Include="..\..\..\src\lua\luaconf.h" />
<ClInclude Include="..\..\..\src\lua\lualib.h" />
<ClInclude Include="..\..\..\src\lua\lundump.h" />
<ClInclude Include="..\..\..\src\lua\lvm.h" />
<ClInclude Include="..\..\..\src\lua\lzio.h" />
<ClInclude Include="..\..\..\src\test\catch.hpp" />
<ClInclude Include="..\..\..\src\views\main_view.h" />
<ClInclude Include="..\..\..\src\views\sdl_helper.h" />
<ClInclude Include="..\..\..\src\views\sdl_impl.h" />
<ClInclude Include="..\..\..\src\views\view_manager.h" />
<ClInclude Include="..\..\..\src\vm\defines.h" />
<ClInclude Include="..\..\..\src\vm\gfx.h" />
<ClInclude Include="..\..\..\src\vm\input.h" />
<ClInclude Include="..\..\..\src\vm\lua_api.h" />
<ClInclude Include="..\..\..\src\vm\lua_bridge.h" />
<ClInclude Include="..\..\..\src\vm\machine.h" />
<ClInclude Include="..\..\..\src\vm\memory.h" />
<ClInclude Include="..\..\..\src\vm\pico_font.h" />
<ClInclude Include="..\..\..\src\vm\sound.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
================================================
FILE: projects/vs2017/retro8/retro8.vcxproj.filters
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{3f009d6b-1e09-4eeb-a437-a4a81b3ab9f9}</UniqueIdentifier>
</Filter>
<Filter Include="src\views">
<UniqueIdentifier>{27152753-2e36-4acb-81f1-c3410bd2a257}</UniqueIdentifier>
</Filter>
<Filter Include="src\vm">
<UniqueIdentifier>{6e666e1e-d48a-4580-bc53-58b7673c2cfd}</UniqueIdentifier>
</Filter>
<Filter Include="src\io">
<UniqueIdentifier>{191051b8-b13d-4e65-a79b-12a98cfc6288}</UniqueIdentifier>
</Filter>
<Filter Include="src\test">
<UniqueIdentifier>{91c70d3b-3da5-4d36-9075-f3004a94a914}</UniqueIdentifier>
</Filter>
<Filter Include="src\lua">
<UniqueIdentifier>{b501b260-9d32-44c3-8fa8-7ea19ecaa1c6}</UniqueIdentifier>
</Filter>
<Filter Include="src\gen">
<UniqueIdentifier>{fae37348-b6e8-4580-a006-48440daab96a}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\common.h">
<Filter>src</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\views\view_manager.h">
<Filter>src\views</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\views\main_view.h">
<Filter>src\views</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\machine.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\gfx.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\defines.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\lua_bridge.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\io\loader.h">
<Filter>src\io</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\test\catch.hpp">
<Filter>src\test</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lcode.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lctype.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ldebug.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ldo.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lfunc.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lgc.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\llex.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\llimits.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lmem.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lobject.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lopcodes.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lparser.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lprefix.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lstate.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lstring.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ltable.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ltests.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\ltm.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lua.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\luaconf.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lualib.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lundump.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lvm.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lzio.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lapi.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lauxlib.h">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\lua\lua.hpp">
<Filter>src\lua</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\sound.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\io\stegano.h">
<Filter>src\io</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\memory.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\lua_api.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\pico_font.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\vm\input.h">
<Filter>src\vm</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\views\sdl_helper.h">
<Filter>src\views</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\gen\pico_font.h">
<Filter>src\gen</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\gen\lua_api.h">
<Filter>src\gen</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\views\sdl_impl.h">
<Filter>src\views</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\config.h">
<Filter>src</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\main.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\views\view_manager.cpp">
<Filter>src\views</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\machine.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\gfx.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\lua_bridge.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\io\loader.cpp">
<Filter>src\io</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\test\test.cpp">
<Filter>src\test</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\views\game_view.cpp">
<Filter>src\views</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lcorolib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lctype.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ldblib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ldebug.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ldo.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ldump.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lfunc.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lgc.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\linit.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\liolib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\llex.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lmem.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\loadlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lobject.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lopcodes.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\loslib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lparser.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lstate.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lstring.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lstrlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ltable.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ltablib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ltests.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\ltm.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lundump.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lutf8lib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lvm.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lzio.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lapi.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lauxlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lbaselib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lbitlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lcode.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\lua\lmathlib.c">
<Filter>src\lua</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\sound.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\io\stegano.cpp">
<Filter>src\io</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\vm\memory.cpp">
<Filter>src\vm</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\views\menu_view.cpp">
<Filter>src\views</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\io\picopng.cpp">
<Filter>src\io</Filter>
</ClCompile>
</ItemGroup>
</Project>
================================================
FILE: projects/xcode/retro8.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
045273B723C3E9CC00F67C90 /* loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0452735E23C3E9CC00F67C90 /* loader.cpp */; };
045273B823C3E9CC00F67C90 /* stegano.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0452736023C3E9CC00F67C90 /* stegano.cpp */; };
045273B923C3E9CC00F67C90 /* lapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736323C3E9CC00F67C90 /* lapi.c */; };
045273BA23C3E9CC00F67C90 /* lauxlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736523C3E9CC00F67C90 /* lauxlib.c */; };
045273BB23C3E9CC00F67C90 /* lbaselib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736723C3E9CC00F67C90 /* lbaselib.c */; };
045273BC23C3E9CC00F67C90 /* lbitlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736823C3E9CC00F67C90 /* lbitlib.c */; };
045273BD23C3E9CC00F67C90 /* lcode.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736923C3E9CC00F67C90 /* lcode.c */; };
045273BE23C3E9CC00F67C90 /* lcorolib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736B23C3E9CC00F67C90 /* lcorolib.c */; };
045273BF23C3E9CC00F67C90 /* lctype.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736C23C3E9CC00F67C90 /* lctype.c */; };
045273C023C3E9CC00F67C90 /* ldblib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736E23C3E9CC00F67C90 /* ldblib.c */; };
045273C123C3E9CC00F67C90 /* ldebug.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736F23C3E9CC00F67C90 /* ldebug.c */; };
045273C223C3E9CC00F67C90 /* ldo.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737123C3E9CC00F67C90 /* ldo.c */; };
045273C323C3E9CC00F67C90 /* ldump.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737323C3E9CC00F67C90 /* ldump.c */; };
045273C423C3E9CC00F67C90 /* lfunc.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737423C3E9CC00F67C90 /* lfunc.c */; };
045273C523C3E9CC00F67C90 /* lgc.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737623C3E9CC00F67C90 /* lgc.c */; };
045273C623C3E9CC00F67C90 /* linit.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737823C3E9CC00F67C90 /* linit.c */; };
045273C723C3E9CC00F67C90 /* liolib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737923C3E9CC00F67C90 /* liolib.c */; };
045273C823C3E9CC00F67C90 /* llex.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737A23C3E9CC00F67C90 /* llex.c */; };
045273C923C3E9CC00F67C90 /* lmathlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737D23C3E9CC00F67C90 /* lmathlib.c */; };
045273CA23C3E9CC00F67C90 /* lmem.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737E23C3E9CC00F67C90 /* lmem.c */; };
045273CB23C3E9CC00F67C90 /* loadlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738023C3E9CC00F67C90 /* loadlib.c */; };
045273CC23C3E9CC00F67C90 /* lobject.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738123C3E9CC00F67C90 /* lobject.c */; };
045273CD23C3E9CC00F67C90 /* lopcodes.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738323C3E9CC00F67C90 /* lopcodes.c */; };
045273CE23C3E9CC00F67C90 /* loslib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738523C3E9CC00F67C90 /* loslib.c */; };
045273CF23C3E9CC00F67C90 /* lparser.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738623C3E9CC00F67C90 /* lparser.c */; };
045273D023C3E9CC00F67C90 /* lstate.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738923C3E9CC00F67C90 /* lstate.c */; };
045273D123C3E9CC00F67C90 /* lstring.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738B23C3E9CC00F67C90 /* lstring.c */; };
045273D223C3E9CC00F67C90 /* lstrlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738D23C3E9CC00F67C90 /* lstrlib.c */; };
045273D323C3E9CC00F67C90 /* ltable.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738E23C3E9CC00F67C90 /* ltable.c */; };
045273D423C3E9CC00F67C90 /* ltablib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452739023C3E9CC00F67C90 /* ltablib.c */; };
045273D523C3E9CC00F67C90 /* ltests.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452739123C3E9CC00F67C90 /* ltests.c */; };
045273D623C3E9CC00F67C90 /* ltm.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452739323C3E9CC00F67C90 /* ltm.c */; };
045273D723C3E9CC00F67C90 /* lundump.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452739923C3E9CC00F67C90 /* lundump.c */; };
045273D823C3E9CC00F67C90 /* lutf8lib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452739B23C3E9CC00F67C90 /* lutf8lib.c */; };
045273D923C3E9CC00F67C90 /* lvm.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452739C23C3E9CC00F67C90 /* lvm.c */; };
045273DA23C3E9CC00F67C90 /* lzio.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452739E23C3E9CC00F67C90 /* lzio.c */; };
045273DB23C3E9CC00F67C90 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 045273A023C3E9CC00F67C90 /* main.cpp */; };
045273DD23C3E9CC00F67C90 /* game_view.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 045273A623C3E9CC00F67C90 /* game_view.cpp */; };
045273DE23C3E9CC00F67C90 /* menu_view.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 045273A823C3E9CC00F67C90 /* menu_view.cpp */; };
045273DF23C3E9CC00F67C90 /* view_manager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 045273A923C3E9CC00F67C90 /* view_manager.cpp */; };
045273E023C3E9CC00F67C90 /* gfx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 045273AD23C3E9CC00F67C90 /* gfx.cpp */; };
045273E123C3E9CC00F67C90 /* lua_bridge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 045273AF23C3E9CC00F67C90 /* lua_bridge.cpp */; };
045273E223C3E9CC00F67C90 /* machine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 045273B123C3E9CC00F67C90 /* machine.cpp */; };
045273E323C3E9CC00F67C90 /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 045273B323C3E9CC00F67C90 /* memory.cpp */; };
045273E423C3E9CC00F67C90 /* sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 045273B523C3E9CC00F67C90 /* sound.cpp */; };
0485411F249216DF003B2EF1 /* libretro.h in Headers */ = {isa = PBXBuildFile; fileRef = 0485411D249216DF003B2EF1 /* libretro.h */; };
04854120249216DF003B2EF1 /* libretro.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0485411E249216DF003B2EF1 /* libretro.cpp */; };
0485412124921717003B2EF1 /* loader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0452735E23C3E9CC00F67C90 /* loader.cpp */; };
0485412224921717003B2EF1 /* stegano.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0452736023C3E9CC00F67C90 /* stegano.cpp */; };
0485412424921717003B2EF1 /* gfx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 045273AD23C3E9CC00F67C90 /* gfx.cpp */; };
0485412524921717003B2EF1 /* lua_bridge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 045273AF23C3E9CC00F67C90 /* lua_bridge.cpp */; };
0485412624921717003B2EF1 /* machine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 045273B123C3E9CC00F67C90 /* machine.cpp */; };
0485412724921717003B2EF1 /* memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 045273B323C3E9CC00F67C90 /* memory.cpp */; };
0485412824921717003B2EF1 /* sound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 045273B523C3E9CC00F67C90 /* sound.cpp */; };
0485412C24921739003B2EF1 /* pico_font.h in Headers */ = {isa = PBXBuildFile; fileRef = 0485412A24921739003B2EF1 /* pico_font.h */; };
0485412D24921739003B2EF1 /* lua_api.h in Headers */ = {isa = PBXBuildFile; fileRef = 0485412B24921739003B2EF1 /* lua_api.h */; };
0485412E249217C6003B2EF1 /* lapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736323C3E9CC00F67C90 /* lapi.c */; };
0485412F249217C6003B2EF1 /* lauxlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736523C3E9CC00F67C90 /* lauxlib.c */; };
04854130249217C6003B2EF1 /* lbaselib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736723C3E9CC00F67C90 /* lbaselib.c */; };
04854131249217C6003B2EF1 /* lbitlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736823C3E9CC00F67C90 /* lbitlib.c */; };
04854132249217C6003B2EF1 /* lcode.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736923C3E9CC00F67C90 /* lcode.c */; };
04854133249217C6003B2EF1 /* lcorolib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736B23C3E9CC00F67C90 /* lcorolib.c */; };
04854134249217C6003B2EF1 /* lctype.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736C23C3E9CC00F67C90 /* lctype.c */; };
04854135249217C6003B2EF1 /* ldblib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736E23C3E9CC00F67C90 /* ldblib.c */; };
04854136249217C6003B2EF1 /* ldebug.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452736F23C3E9CC00F67C90 /* ldebug.c */; };
04854137249217C6003B2EF1 /* ldo.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737123C3E9CC00F67C90 /* ldo.c */; };
04854138249217C6003B2EF1 /* ldump.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737323C3E9CC00F67C90 /* ldump.c */; };
04854139249217C6003B2EF1 /* lfunc.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737423C3E9CC00F67C90 /* lfunc.c */; };
0485413A249217C6003B2EF1 /* lgc.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737623C3E9CC00F67C90 /* lgc.c */; };
0485413B249217C6003B2EF1 /* linit.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737823C3E9CC00F67C90 /* linit.c */; };
0485413C249217C6003B2EF1 /* liolib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737923C3E9CC00F67C90 /* liolib.c */; };
0485413D249217C6003B2EF1 /* llex.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737A23C3E9CC00F67C90 /* llex.c */; };
0485413E249217C6003B2EF1 /* lmathlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737D23C3E9CC00F67C90 /* lmathlib.c */; };
0485413F249217C6003B2EF1 /* lmem.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452737E23C3E9CC00F67C90 /* lmem.c */; };
04854140249217C6003B2EF1 /* loadlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738023C3E9CC00F67C90 /* loadlib.c */; };
04854141249217C6003B2EF1 /* lobject.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738123C3E9CC00F67C90 /* lobject.c */; };
04854142249217C6003B2EF1 /* lopcodes.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738323C3E9CC00F67C90 /* lopcodes.c */; };
04854143249217C6003B2EF1 /* loslib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738523C3E9CC00F67C90 /* loslib.c */; };
04854144249217C6003B2EF1 /* lparser.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738623C3E9CC00F67C90 /* lparser.c */; };
04854145249217C6003B2EF1 /* lstate.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738923C3E9CC00F67C90 /* lstate.c */; };
04854146249217C6003B2EF1 /* lstring.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738B23C3E9CC00F67C90 /* lstring.c */; };
04854147249217C6003B2EF1 /* lstrlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738D23C3E9CC00F67C90 /* lstrlib.c */; };
04854148249217C6003B2EF1 /* ltable.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452738E23C3E9CC00F67C90 /* ltable.c */; };
04854149249217C6003B2EF1 /* ltablib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452739023C3E9CC00F67C90 /* ltablib.c */; };
0485414A249217C6003B2EF1 /* ltests.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452739123C3E9CC00F67C90 /* ltests.c */; };
0485414B249217C6003B2EF1 /* ltm.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452739323C3E9CC00F67C90 /* ltm.c */; };
0485414C249217C6003B2EF1 /* lundump.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452739923C3E9CC00F67C90 /* lundump.c */; };
0485414D249217C6003B2EF1 /* lutf8lib.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452739B23C3E9CC00F67C90 /* lutf8lib.c */; };
0485414E249217C6003B2EF1 /* lvm.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452739C23C3E9CC00F67C90 /* lvm.c */; };
0485414F249217C6003B2EF1 /* lzio.c in Sources */ = {isa = PBXBuildFile; fileRef = 0452739E23C3E9CC00F67C90 /* lzio.c */; };
04854150249217D1003B2EF1 /* picopng.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 04ECF30D23F1631500BA0410 /* picopng.cpp */; };
04ECF30E23F1631500BA0410 /* picopng.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 04ECF30D23F1631500BA0410 /* picopng.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
0452734F23C3E98B00F67C90 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
0452735123C3E98B00F67C90 /* retro8 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = retro8; sourceTree = BUILT_PRODUCTS_DIR; };
0452735C23C3E9CC00F67C90 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = "<group>"; };
0452735E23C3E9CC00F67C90 /* loader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = loader.cpp; sourceTree = "<group>"; };
0452735F23C3E9CC00F67C90 /* loader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loader.h; sourceTree = "<group>"; };
0452736023C3E9CC00F67C90 /* stegano.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stegano.cpp; sourceTree = "<group>"; };
0452736123C3E9CC00F67C90 /* stegano.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stegano.h; sourceTree = "<group>"; };
0452736323C3E9CC00F67C90 /* lapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lapi.c; sourceTree = "<group>"; };
0452736423C3E9CC00F67C90 /* lapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lapi.h; sourceTree = "<group>"; };
0452736523C3E9CC00F67C90 /* lauxlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lauxlib.c; sourceTree = "<group>"; };
0452736623C3E9CC00F67C90 /* lauxlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lauxlib.h; sourceTree = "<group>"; };
0452736723C3E9CC00F67C90 /* lbaselib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lbaselib.c; sourceTree = "<group>"; };
0452736823C3E9CC00F67C90 /* lbitlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lbitlib.c; sourceTree = "<group>"; };
0452736923C3E9CC00F67C90 /* lcode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lcode.c; sourceTree = "<group>"; };
0452736A23C3E9CC00F67C90 /* lcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lcode.h; sourceTree = "<group>"; };
0452736B23C3E9CC00F67C90 /* lcorolib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lcorolib.c; sourceTree = "<group>"; };
0452736C23C3E9CC00F67C90 /* lctype.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lctype.c; sourceTree = "<group>"; };
0452736D23C3E9CC00F67C90 /* lctype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lctype.h; sourceTree = "<group>"; };
0452736E23C3E9CC00F67C90 /* ldblib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ldblib.c; sourceTree = "<group>"; };
0452736F23C3E9CC00F67C90 /* ldebug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ldebug.c; sourceTree = "<group>"; };
0452737023C3E9CC00F67C90 /* ldebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ldebug.h; sourceTree = "<group>"; };
0452737123C3E9CC00F67C90 /* ldo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ldo.c; sourceTree = "<group>"; };
0452737223C3E9CC00F67C90 /* ldo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ldo.h; sourceTree = "<group>"; };
0452737323C3E9CC00F67C90 /* ldump.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ldump.c; sourceTree = "<group>"; };
0452737423C3E9CC00F67C90 /* lfunc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lfunc.c; sourceTree = "<group>"; };
0452737523C3E9CC00F67C90 /* lfunc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lfunc.h; sourceTree = "<group>"; };
0452737623C3E9CC00F67C90 /* lgc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lgc.c; sourceTree = "<group>"; };
0452737723C3E9CC00F67C90 /* lgc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lgc.h; sourceTree = "<group>"; };
0452737823C3E9CC00F67C90 /* linit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = linit.c; sourceTree = "<group>"; };
0452737923C3E9CC00F67C90 /* liolib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = liolib.c; sourceTree = "<group>"; };
0452737A23C3E9CC00F67C90 /* llex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = llex.c; sourceTree = "<group>"; };
0452737B23C3E9CC00F67C90 /* llex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = llex.h; sourceTree = "<group>"; };
0452737C23C3E9CC00F67C90 /* llimits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = llimits.h; sourceTree = "<group>"; };
0452737D23C3E9CC00F67C90 /* lmathlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lmathlib.c; sourceTree = "<group>"; };
0452737E23C3E9CC00F67C90 /* lmem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lmem.c; sourceTree = "<group>"; };
0452737F23C3E9CC00F67C90 /* lmem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lmem.h; sourceTree = "<group>"; };
0452738023C3E9CC00F67C90 /* loadlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = loadlib.c; sourceTree = "<group>"; };
0452738123C3E9CC00F67C90 /* lobject.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lobject.c; sourceTree = "<group>"; };
0452738223C3E9CC00F67C90 /* lobject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lobject.h; sourceTree = "<group>"; };
0452738323C3E9CC00F67C90 /* lopcodes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lopcodes.c; sourceTree = "<group>"; };
0452738423C3E9CC00F67C90 /* lopcodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lopcodes.h; sourceTree = "<group>"; };
0452738523C3E9CC00F67C90 /* loslib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = loslib.c; sourceTree = "<group>"; };
0452738623C3E9CC00F67C90 /* lparser.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lparser.c; sourceTree = "<group>"; };
0452738723C3E9CC00F67C90 /* lparser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lparser.h; sourceTree = "<group>"; };
0452738823C3E9CC00F67C90 /* lprefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lprefix.h; sourceTree = "<group>"; };
0452738923C3E9CC00F67C90 /* lstate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lstate.c; sourceTree = "<group>"; };
0452738A23C3E9CC00F67C90 /* lstate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lstate.h; sourceTree = "<group>"; };
0452738B23C3E9CC00F67C90 /* lstring.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lstring.c; sourceTree = "<group>"; };
0452738C23C3E9CC00F67C90 /* lstring.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lstring.h; sourceTree = "<group>"; };
0452738D23C3E9CC00F67C90 /* lstrlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lstrlib.c; sourceTree = "<group>"; };
0452738E23C3E9CC00F67C90 /* ltable.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ltable.c; sourceTree = "<group>"; };
0452738F23C3E9CC00F67C90 /* ltable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ltable.h; sourceTree = "<group>"; };
0452739023C3E9CC00F67C90 /* ltablib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ltablib.c; sourceTree = "<group>"; };
0452739123C3E9CC00F67C90 /* ltests.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ltests.c; sourceTree = "<group>"; };
0452739223C3E9CC00F67C90 /* ltests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ltests.h; sourceTree = "<group>"; };
0452739323C3E9CC00F67C90 /* ltm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ltm.c; sourceTree = "<group>"; };
0452739423C3E9CC00F67C90 /* ltm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ltm.h; sourceTree = "<group>"; };
0452739523C3E9CC00F67C90 /* lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lua.h; sourceTree = "<group>"; };
0452739623C3E9CC00F67C90 /* lua.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = lua.hpp; sourceTree = "<group>"; };
0452739723C3E9CC00F67C90 /* luaconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = luaconf.h; sourceTree = "<group>"; };
0452739823C3E9CC00F67C90 /* lualib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lualib.h; sourceTree = "<group>"; };
0452739923C3E9CC00F67C90 /* lundump.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lundump.c; sourceTree = "<group>"; };
0452739A23C3E9CC00F67C90 /* lundump.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lundump.h; sourceTree = "<group>"; };
0452739B23C3E9CC00F67C90 /* lutf8lib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lutf8lib.c; sourceTree = "<group>"; };
0452739C23C3E9CC00F67C90 /* lvm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lvm.c; sourceTree = "<group>"; };
0452739D23C3E9CC00F67C90 /* lvm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lvm.h; sourceTree = "<group>"; };
0452739E23C3E9CC00F67C90 /* lzio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lzio.c; sourceTree = "<group>"; };
0452739F23C3E9CC00F67C90 /* lzio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lzio.h; sourceTree = "<group>"; };
045273A023C3E9CC00F67C90 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
045273A623C3E9CC00F67C90 /* game_view.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = game_view.cpp; sourceTree = "<group>"; };
045273A723C3E9CC00F67C90 /* main_view.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = main_view.h; sourceTree = "<group>"; };
045273A823C3E9CC00F67C90 /* menu_view.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = menu_view.cpp; sourceTree = "<group>"; };
045273A923C3E9CC00F67C90 /* view_manager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = view_manager.cpp; sourceTree = "<group>"; };
045273AA23C3E9CC00F67C90 /* view_manager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = view_manager.h; sourceTree = "<group>"; };
045273AC23C3E9CC00F67C90 /* defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = defines.h; sourceTree = "<group>"; };
045273AD23C3E9CC00F67C90 /* gfx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gfx.cpp; sourceTree = "<group>"; };
045273AE23C3E9CC00F67C90 /* gfx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gfx.h; sourceTree = "<group>"; };
045273AF23C3E9CC00F67C90 /* lua_bridge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lua_bridge.cpp; sourceTree = "<group>"; };
045273B023C3E9CC00F67C90 /* lua_bridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lua_bridge.h; sourceTree = "<group>"; };
045273B123C3E9CC00F67C90 /* machine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = machine.cpp; sourceTree = "<group>"; };
045273B223C3E9CC00F67C90 /* machine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = machine.h; sourceTree = "<group>"; };
045273B323C3E9CC00F67C90 /* memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = memory.cpp; sourceTree = "<group>"; };
045273B423C3E9CC00F67C90 /* memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memory.h; sourceTree = "<group>"; };
045273B523C3E9CC00F67C90 /* sound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sound.cpp; sourceTree = "<group>"; };
045273B623C3E9CC00F67C90 /* sound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sound.h; sourceTree = "<group>"; };
0485411024921697003B2EF1 /* retro8_libretro.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = retro8_libretro.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
0485411D249216DF003B2EF1 /* libretro.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = libretro.h; sourceTree = "<group>"; };
0485411E249216DF003B2EF1 /* libretro.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = libretro.cpp; sourceTree = "<group>"; };
0485412A24921739003B2EF1 /* pico_font.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pico_font.h; sourceTree = "<group>"; };
0485412B24921739003B2EF1 /* lua_api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lua_api.h; sourceTree = "<group>"; };
04ECF30A23E066CC00BA0410 /* sdl_helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdl_helper.h; sourceTree = "<group>"; };
04ECF30D23F1631500BA0410 /* picopng.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = picopng.cpp; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
0452734E23C3E98B00F67C90 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
0485410E24921697003B2EF1 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
0452734823C3E98B00F67C90 = {
isa = PBXGroup;
children = (
0452735B23C3E9CC00F67C90 /* src */,
0452735223C3E98B00F67C90 /* Products */,
);
sourceTree = "<group>";
};
0452735223C3E98B00F67C90 /* Products */ = {
isa = PBXGroup;
children = (
0452735123C3E98B00F67C90 /* retro8 */,
0485411024921697003B2EF1 /* retro8_libretro.dylib */,
);
name = Products;
sourceTree = "<group>";
};
0452735B23C3E9CC00F67C90 /* src */ = {
isa = PBXGroup;
children = (
0452735C23C3E9CC00F67C90 /* common.h */,
0485412924921739003B2EF1 /* gen */,
0485411C249216DF003B2EF1 /* libretro */,
0452735D23C3E9CC00F67C90 /* io */,
0452736223C3E9CC00F67C90 /* lua */,
045273A023C3E9CC00F67C90 /* main.cpp */,
045273A523C3E9CC00F67C90 /* views */,
045273AB23C3E9CC00F67C90 /* vm */,
);
name = src;
path = ../../src;
sourceTree = "<group>";
};
0452735D23C3E9CC00F67C90 /* io */ = {
isa = PBXGroup;
children = (
04ECF30D23F1631500BA0410 /* picopng.cpp */,
0452735E23C3E9CC00F67C90 /* loader.cpp */,
0452735F23C3E9CC00F67C90 /* loader.h */,
0452736023C3E9CC00F67C90 /* stegano.cpp */,
0452736123C3E9CC00F67C90 /* stegano.h */,
);
path = io;
sourceTree = "<group>";
};
0452736223C3E9CC00F67C90 /* lua */ = {
isa = PBXGroup;
children = (
0452736323C3E9CC00F67C90 /* lapi.c */,
0452736423C3E9CC00F67C90 /* lapi.h */,
0452736523C3E9CC00F67C90 /* lauxlib.c */,
0452736623C3E9CC00F67C90 /* lauxlib.h */,
0452736723C3E9CC00F67C90 /* lbaselib.c */,
0452736823C3E9CC00F67C90 /* lbitlib.c */,
0452736923C3E9CC00F67C90 /* lcode.c */,
0452736A23C3E9CC00F67C90 /* lcode.h */,
0452736B23C3E9CC00F67C90 /* lcorolib.c */,
0452736C23C3E9CC00F67C90 /* lctype.c */,
0452736D23C3E9CC00F67C90 /* lctype.h */,
0452736E23C3E9CC00F67C90 /* ldblib.c */,
0452736F23C3E9CC00F67C90 /* ldebug.c */,
0452737023C3E9CC00F67C90 /* ldebug.h */,
0452737123C3E9CC00F67C90 /* ldo.c */,
0452737223C3E9CC00F67C90 /* ldo.h */,
0452737323C3E9CC00F67C90 /* ldump.c */,
0452737423C3E9CC00F67C90 /* lfunc.c */,
0452737523C3E9CC00F67C90 /* lfunc.h */,
0452737623C3E9CC00F67C90 /* lgc.c */,
0452737723C3E9CC00F67C90 /* lgc.h */,
0452737823C3E9CC00F67C90 /* linit.c */,
0452737923C3E9CC00F67C90 /* liolib.c */,
0452737A23C3E9CC00F67C90 /* llex.c */,
0452737B23C3E9CC00F67C90 /* llex.h */,
0452737C23C3E9CC00F67C90 /* llimits.h */,
0452737D23C3E9CC00F67C90 /* lmathlib.c */,
0452737E23C3E9CC00F67C90 /* lmem.c */,
0452737F23C3E9CC00F67C90 /* lmem.h */,
0452738023C3E9CC00F67C90 /* loadlib.c */,
0452738123C3E9CC00F67C90 /* lobject.c */,
0452738223C3E9CC00F67C90 /* lobject.h */,
0452738323C3E9CC00F67C90 /* lopcodes.c */,
0452738423C3E9CC00F67C90 /* lopcodes.h */,
0452738523C3E9CC00F67C90 /* loslib.c */,
0452738623C3E9CC00F67C90 /* lparser.c */,
0452738723C3E9CC00F67C90 /* lparser.h */,
0452738823C3E9CC00F67C90 /* lprefix.h */,
0452738923C3E9CC00F67C90 /* lstate.c */,
0452738A23C3E9CC00F67C90 /* lstate.h */,
0452738B23C3E9CC00F67C90 /* lstring.c */,
0452738C23C3E9CC00F67C90 /* lstring.h */,
0452738D23C3E9CC00F67C90 /* lstrlib.c */,
0452738E23C3E9CC00F67C90 /* ltable.c */,
0452738F23C3E9CC00F67C90 /* ltable.h */,
0452739023C3E9CC00F67C90 /* ltablib.c */,
0452739123C3E9CC00F67C90 /* ltests.c */,
0452739223C3E9CC00F67C90 /* ltests.h */,
0452739323C3E9CC00F67C90 /* ltm.c */,
0452739423C3E9CC00F67C90 /* ltm.h */,
0452739523C3E9CC00F67C90 /* lua.h */,
0452739623C3E9CC00F67C90 /* lua.hpp */,
0452739723C3E9CC00F67C90 /* luaconf.h */,
0452739823C3E9CC00F67C90 /* lualib.h */,
0452739923C3E9CC00F67C90 /* lundump.c */,
0452739A23C3E9CC00F67C90 /* lundump.h */,
0452739B23C3E9CC00F67C90 /* lutf8lib.c */,
0452739C23C3E9CC00F67C90 /* lvm.c */,
0452739D23C3E9CC00F67C90 /* lvm.h */,
0452739E23C3E9CC00F67C90 /* lzio.c */,
0452739F23C3E9CC00F67C90 /* lzio.h */,
);
path = lua;
sourceTree = "<group>";
};
045273A523C3E9CC00F67C90 /* views */ = {
isa = PBXGroup;
children = (
045273A623C3E9CC00F67C90 /* game_view.cpp */,
045273A723C3E9CC00F67C90 /* main_view.h */,
045273A823C3E9CC00F67C90 /* menu_view.cpp */,
04ECF30A23E066CC00BA0410 /* sdl_helper.h */,
045273A923C3E9CC00F67C90 /* view_manager.cpp */,
045273AA23C3E9CC00F67C90 /* view_manager.h */,
);
path = views;
sourceTree = "<group>";
};
045273AB23C3E9CC00F67C90 /* vm */ = {
isa = PBXGroup;
children = (
045273AC23C3E9CC00F67C90 /* defines.h */,
045273AD23C3E9CC00F67C90 /* gfx.cpp */,
045273AE23C3E9CC00F67C90 /* gfx.h */,
045273AF23C3E9CC00F67C90 /* lua_bridge.cpp */,
045273B023C3E9CC00F67C90 /* lua_bridge.h */,
045273B123C3E9CC00F67C90 /* machine.cpp */,
045273B223C3E9CC00F67C90 /* machine.h */,
045273B323C3E9CC00F67C90 /* memory.cpp */,
045273B423C3E9CC00F67C90 /* memory.h */,
045273B523C3E9CC00F67C90 /* sound.cpp */,
045273B623C3E9CC00F67C90 /* sound.h */,
);
path = vm;
sourceTree = "<group>";
};
0485411C249216DF003B2EF1 /* libretro */ = {
isa = PBXGroup;
children = (
0485411D249216DF003B2EF1 /* libretro.h */,
0485411E249216DF003B2EF1 /* libretro.cpp */,
);
path = libretro;
sourceTree = "<group>";
};
0485412924921739003B2EF1 /* gen */ = {
isa = PBXGroup;
children = (
0485412A24921739003B2EF1 /* pico_font.h */,
0485412B24921739003B2EF1 /* lua_api.h */,
);
path = gen;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
0485410C24921697003B2EF1 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
0485412C24921739003B2EF1 /* pico_font.h in Headers */,
0485412D24921739003B2EF1 /* lua_api.h in Headers */,
0485411F249216DF003B2EF1 /* libretro.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
0452735023C3E98B00F67C90 /* retro8 */ = {
isa = PBXNativeTarget;
buildConfigurationList = 0452735823C3E98B00F67C90 /* Build configuration list for PBXNativeTarget "retro8" */;
buildPhases = (
0452734D23C3E98B00F67C90 /* Sources */,
0452734E23C3E98B00F67C90 /* Frameworks */,
0452734F23C3E98B00F67C90 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = retro8;
productName = retro8;
productReference = 0452735123C3E98B00F67C90 /* retro8 */;
productType = "com.apple.product-type.tool";
};
0485410F24921697003B2EF1 /* libretro */ = {
isa = PBXNativeTarget;
buildConfigurationList = 0485411A24921697003B2EF1 /* Build configuration list for PBXNativeTarget "libretro" */;
buildPhases = (
0485410C24921697003B2EF1 /* Headers */,
0485410D24921697003B2EF1 /* Sources */,
0485410E24921697003B2EF1 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = libretro;
productName = libretro;
productReference = 0485411024921697003B2EF1 /* retro8_libretro.dylib */;
productType = "com.apple.product-type.library.dynamic";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
0452734923C3E98B00F67C90 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0730;
ORGANIZATIONNAME = Jack;
TargetAttributes = {
0452735023C3E98B00F67C90 = {
CreatedOnToolsVersion = 7.3.1;
};
0485410F24921697003B2EF1 = {
CreatedOnToolsVersion = 10.1;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 0452734C23C3E98B00F67C90 /* Build configuration list for PBXProject "retro8" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 0452734823C3E98B00F67C90;
productRefGroup = 0452735223C3E98B00F67C90 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
0452735023C3E98B00F67C90 /* retro8 */,
0485410F24921697003B2EF1 /* libretro */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
0452734D23C3E98B00F67C90 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
045273BD23C3E9CC00F67C90 /* lcode.c in Sources */,
045273BE23C3E9CC00F67C90 /* lcorolib.c in Sources */,
045273C423C3E9CC00F67C90 /* lfunc.c in Sources */,
045273D623C3E9CC00F67C90 /* ltm.c in Sources */,
045273D723C3E9CC00F67C90 /* lundump.c in Sources */,
045273E323C3E9CC00F67C90 /* memory.cpp in Sources */,
045273D523C3E9CC00F67C90 /* ltests.c in Sources */,
045273B723C3E9CC00F67C90 /* loader.cpp in Sources */,
045273C123C3E9CC00F67C90 /* ldebug.c in Sources */,
045273C723C3E9CC00F67C90 /* liolib.c in Sources */,
045273CE23C3E9CC00F67C90 /* loslib.c in Sources */,
045273BB23C3E9CC00F67C90 /* lbaselib.c in Sources */,
045273C023C3E9CC00F67C90 /* ldblib.c in Sources */,
045273D923C3E9CC00F67C90 /* lvm.c in Sources */,
045273DE23C3E9CC00F67C90 /* menu_view.cpp in Sources */,
045273DD23C3E9CC00F67C90 /* game_view.cpp in Sources */,
045273E023C3E9CC00F67C90 /* gfx.cpp in Sources */,
045273E123C3E9CC00F67C90 /* lua_bridge.cpp in Sources */,
045273BC23C3E9CC00F67C90 /* lbitlib.c in Sources */,
045273C623C3E9CC00F67C90 /* linit.c in Sources */,
045273CA23C3E9CC00F67C90 /* lmem.c in Sources */,
045273D823C3E9CC00F67C90 /* lutf8lib.c in Sources */,
045273DA23C3E9CC00F67C90 /* lzio.c in Sources */,
045273C323C3E9CC00F67C90 /* ldump.c in Sources */,
045273D123C3E9CC00F67C90 /* lstring.c in Sources */,
045273B923C3E9CC00F67C90 /* lapi.c in Sources */,
045273D023C3E9CC00F67C90 /* lstate.c in Sources */,
045273CD23C3E9CC00F67C90 /* lopcodes.c in Sources */,
045273C823C3E9CC00F67C90 /* llex.c in Sources */,
045273E223C3E9CC00F67C90 /* machine.cpp in Sources */,
045273B823C3E9CC00F67C90 /* stegano.cpp in Sources */,
045273C223C3E9CC00F67C90 /* ldo.c in Sources */,
045273CB23C3E9CC00F67C90 /* loadlib.c in Sources */,
045273CC23C3E9CC00F67C90 /* lobject.c in Sources */,
045273DF23C3E9CC00F67C90 /* view_manager.cpp in Sources */,
045273D423C3E9CC00F67C90 /* ltablib.c in Sources */,
045273D223C3E9CC00F67C90 /* lstrlib.c in Sources */,
045273C923C3E9CC00F67C90 /* lmathlib.c in Sources */,
045273E423C3E9CC00F67C90 /* sound.cpp in Sources */,
045273C523C3E9CC00F67C90 /* lgc.c in Sources */,
045273BF23C3E9CC00F67C90 /* lctype.c in Sources */,
045273BA23C3E9CC00F67C90 /* lauxlib.c in Sources */,
04ECF30E23F1631500BA0410 /* picopng.cpp in Sources */,
045273CF23C3E9CC00F67C90 /* lparser.c in Sources */,
045273D323C3E9CC00F67C90 /* ltable.c in Sources */,
045273DB23C3E9CC00F67C90 /* main.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
0485410D24921697003B2EF1 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
04854150249217D1003B2EF1 /* picopng.cpp in Sources */,
0485412E249217C6003B2EF1 /* lapi.c in Sources */,
0485412F249217C6003B2EF1 /* lauxlib.c in Sources */,
04854130249217C6003B2EF1 /* lbaselib.c in Sources */,
04854131249217C6003B2EF1 /* lbitlib.c in Sources */,
04854132249217C6003B2EF1 /* lcode.c in Sources */,
04854133249217C6003B2EF1 /* lcorolib.c in Sources */,
04854134249217C6003B2EF1 /* lctype.c in Sources */,
04854135249217C6003B2EF1 /* ldblib.c in Sources */,
04854136249217C6003B2EF1 /* ldebug.c in Sources */,
04854137249217C6003B2EF1 /* ldo.c in Sources */,
04854138249217C6003B2EF1 /* ldump.c in Sources */,
04854139249217C6003B2EF1 /* lfunc.c in Sources */,
0485413A249217C6003B2EF1 /* lgc.c in Sources */,
0485413B249217C6003B2EF1 /* linit.c in Sources */,
0485413C249217C6003B2EF1 /* liolib.c in Sources */,
0485413D249217C6003B2EF1 /* llex.c in Sources */,
0485413E249217C6003B2EF1 /* lmathlib.c in Sources */,
0485413F249217C6003B2EF1 /* lmem.c in Sources */,
04854140249217C6003B2EF1 /* loadlib.c in Sources */,
04854141249217C6003B2EF1 /* lobject.c in Sources */,
04854142249217C6003B2EF1 /* lopcodes.c in Sources */,
04854143249217C6003B2EF1 /* loslib.c in Sources */,
04854144249217C6003B2EF1 /* lparser.c in Sources */,
04854145249217C6003B2EF1 /* lstate.c in Sources */,
04854146249217C6003B2EF1 /* lstring.c in Sources */,
04854147249217C6003B2EF1 /* lstrlib.c in Sources */,
04854148249217C6003B2EF1 /* ltable.c in Sources */,
04854149249217C6003B2EF1 /* ltablib.c in Sources */,
0485414A249217C6003B2EF1 /* ltests.c in Sources */,
0485414B249217C6003B2EF1 /* ltm.c in Sources */,
0485414C249217C6003B2EF1 /* lundump.c in Sources */,
0485414D249217C6003B2EF1 /* lutf8lib.c in Sources */,
0485414E249217C6003B2EF1 /* lvm.c in Sources */,
0485414F249217C6003B2EF1 /* lzio.c in Sources */,
0485412124921717003B2EF1 /* loader.cpp in Sources */,
0485412224921717003B2EF1 /* stegano.cpp in Sources */,
0485412424921717003B2EF1 /* gfx.cpp in Sources */,
0485412524921717003B2EF1 /* lua_bridge.cpp in Sources */,
0485412624921717003B2EF1 /* machine.cpp in Sources */,
0485412724921717003B2EF1 /* memory.cpp in Sources */,
0485412824921717003B2EF1 /* sound.cpp in Sources */,
04854120249216DF003B2EF1 /* libretro.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
0452735623C3E98B00F67C90 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.11;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
0452735723C3E98B00F67C90 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.11;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
};
name = Release;
};
0452735923C3E98B00F67C90 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
HEADER_SEARCH_PATHS = "${SRCROOT}/../../src";
LIBRARY_SEARCH_PATHS = "$(inherited)";
OTHER_CFLAGS = (
"-I/usr/local/include/SDL2",
"-D_THREAD_SAFE\n-I/usr/local/include/SDL2",
"-D_THREAD_SAFE",
);
OTHER_LDFLAGS = (
"-L/usr/local/lib",
"-lSDL2",
);
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
0452735A23C3E98B00F67C90 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
HEADER_SEARCH_PATHS = "${SRCROOT}/../../src";
LIBRARY_SEARCH_PATHS = "$(inherited)";
OTHER_CFLAGS = (
"-I/usr/local/include/SDL2",
"-D_THREAD_SAFE\n-I/usr/local/include/SDL2",
"-D_THREAD_SAFE",
);
OTHER_LDFLAGS = (
"-L/usr/local/lib",
"-lSDL2",
);
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
0485411824921697003B2EF1 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
EXECUTABLE_PREFIX = "";
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_ENABLE_CPP_EXCEPTIONS = YES;
GCC_ENABLE_CPP_RTTI = YES;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
HEADER_SEARCH_PATHS = "${SRCROOT}/../../src";
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_NAME = retro8_libretro;
SKIP_INSTALL = YES;
};
name = Debug;
};
0485411924921697003B2EF1 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
EXECUTABLE_PREFIX = "";
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_ENABLE_CPP_EXCEPTIONS = YES;
GCC_ENABLE_CPP_RTTI = YES;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
HEADER_SEARCH_PATHS = "${SRCROOT}/../../src";
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_FAST_MATH = YES;
PRODUCT_NAME = retro8_libretro;
SKIP_INSTALL = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
0452734C23C3E98B00F67C90 /* Build configuration list for PBXProject "retro8" */ = {
isa = XCConfigurationList;
buildConfigurations = (
0452735623C3E98B00F67C90 /* Debug */,
0452735723C3E98B00F67C90 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
0452735823C3E98B00F67C90 /* Build configuration list for PBXNativeTarget "retro8" */ = {
isa = XCConfigurationList;
buildConfigurations = (
0452735923C3E98B00F67C90 /* Debug */,
0452735A23C3E98B00F67C90 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
0485411A24921697003B2EF1 /* Build configuration list for PBXNativeTarget "libretro" */ = {
isa = XCConfigurationList;
buildConfigurations = (
0485411824921697003B2EF1 /* Debug */,
0485411924921697003B2EF1 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 0452734923C3E98B00F67C90 /* Project object */;
}
================================================
FILE: src/common.h
================================================
#pragma once
#include <cstdint>
#include <type_traits>
#include <vector>
using u32 = uint32_t;
using u16 = uint16_t;
using s32 = int32_t;
using s64 = int64_t;
using byte = uint8_t;
template<typename T>
struct bit_mask
{
using utype = typename std::underlying_type<T>::type;
utype value;
inline bool isSet(T flag) const { return value & static_cast<utype>(flag); }
inline void set(T flag) { value |= static_cast<utype>(flag); }
inline void reset(T flag) { value &= ~static_cast<utype>(flag); }
inline void set(T flag, bool value) { if (value) set(flag); else reset(flag); }
inline bit_mask<T> operator~() const
{
return bit_mask<T>(~value);
}
inline bit_mask<T> operator&(T flag) const
{
return bit_mask<T>(value & static_cast<utype>(flag));
}
inline bit_mask<T> operator|(T flag) const
{
return bit_mask<T>(value | static_cast<utype>(flag));
}
inline bit_mask<T> operator&(const bit_mask<T>& other) const
{
return bit_mask<T>(value & other.value);
}
bit_mask<T>() : value(0) { }
private:
bit_mask<T>(utype value) : value(value) { }
};
struct Platform
{
static uint32_t getTicks();
static int loadPNG(std::vector<unsigned char>& out_image, unsigned long& image_width, unsigned long& image_height, const unsigned char* in_png, size_t in_size, bool convert_to_rgba32 = true);
};
#include "config.h"
================================================
FILE: src/config.h
================================================
#pragma once
#define PLATFORM_WIN32 0
#define PLATFORM_LIBRETRO 1
#define PLATFORM_OPENDINGUX 2
#define PLATFORM_FUNKEY 3
#define SOUND_ENABLED true
#if defined(FUNKEY_S)
#define PLATFORM PLATFORM_FUNKEY
#elif defined(__LIBRETRO__)
#define PLATFORM PLATFORM_LIBRETRO
#elif defined(_WIN32)
#define PLATFORM PLATFORM_WIN32
#endif
#define MOUSE_ENABLED false
#define TEST_MODE false
#define R8_OPTS_ENABLED true
#define R8_USE_LODE_PNG true
#if PLATFORM != PLATFORM_LIBRETRO
#include "SDL.h"
#define LOGD(x , ...) printf(x"\n", ## __VA_ARGS__)
#if PLATFORM == PLATFORM_WIN32
static constexpr int SCREEN_WIDTH = 240;
static constexpr int SCREEN_HEIGHT = 240;
#undef MOUSE_ENABLED
#define MOUSE_ENABLED true
static constexpr auto KEY_UP = SDLK_UP;
static constexpr auto KEY_DOWN = SDLK_DOWN;
static constexpr auto KEY_LEFT = SDLK_LEFT;
static constexpr auto KEY_RIGHT = SDLK_RIGHT;
static constexpr auto KEY_ACTION1_1 = SDLK_z;
static constexpr auto KEY_ACTION1_2 = SDLK_x;
static constexpr auto KEY_ACTION2_1 = SDLK_a;
static constexpr auto KEY_ACTION2_2 = SDLK_s;
static constexpr auto KEY_MUTE = SDLK_m;
static constexpr auto KEY_PAUSE = SDLK_p;
static constexpr auto KEY_NEXT_SCALER = SDLK_v;
static constexpr auto KEY_MENU = SDLK_RETURN;
static constexpr auto KEY_EXIT = SDLK_ESCAPE;
#elif PLATFORM == PLATFORM_OPENDINGUX
static constexpr int SCREEN_WIDTH = 320;
static constexpr int SCREEN_HEIGHT = 240;
static constexpr auto KEY_UP = SDLK_UP;
static constexpr auto KEY_DOWN = SDLK_DOWN;
static constexpr auto KEY_LEFT = SDLK_LEFT;
static constexpr auto KEY_RIGHT = SDLK_RIGHT;
static constexpr auto KEY_ACTION1_1 = SDLK_LCTRL; // A
static constexpr auto KEY_ACTION1_2 = SDLK_LALT; // B
static constexpr auto KEY_ACTION2_1 = SDLK_SPACE; // Y
static constexpr auto KEY_ACTION2_2 = SDLK_LSHIFT; // X
static constexpr auto KEY_MUTE = 0xffff;
static constexpr auto KEY_PAUSE = 0xffff + 1;
static constexpr auto KEY_NEXT_SCALER = SDLK_TAB; // L
static constexpr auto KEY_MENU = SDLK_RETURN;
static constexpr auto KEY_EXIT = SDLK_ESCAPE;
#elif PLATFORM == PLATFORM_FUNKEY
static constexpr int SCREEN_WIDTH = 240;
static constexpr int SCREEN_HEIGHT = 240;
static constexpr auto KEY_UP = SDLK_u;
static constexpr auto KEY_DOWN = SDLK_d;
static constexpr auto KEY_LEFT = SDLK_l;
static constexpr auto KEY_RIGHT = SDLK_r;
static constexpr auto KEY_ACTION1_1 = SDLK_b; // A
static constexpr auto KEY_ACTION1_2 = SDLK_a; // B
static constexpr auto KEY_ACTION2_1 = SDLK_y; // Y
static constexpr auto KEY_ACTION2_2 = SDLK_x; // X
static constexpr auto KEY_MUTE = 0xffff;
static constexpr auto KEY_PAUSE = 0xffff + 1;
static constexpr auto KEY_NEXT_SCALER = SDLK_h; // L
static constexpr auto KEY_MENU = SDLK_s;
static constexpr auto KEY_EXIT = 0xffff + 2;
#endif
#else
#define LOGD(x, ...)
#endif
================================================
FILE: src/gen/lua_api.h
================================================
const char* lua_api_string =
"function all(t)\n"
" if t ~= nil then\n"
" local nt = {}\n"
" local ni = 1\n"
" for _,v in pairs(t) do\n"
" nt[ni] = v\n"
" ni = ni + 1\n"
" end\n"
" for k,v in pairs(nt) do\n"
" end\n"
"\n"
" local i = 0\n"
" return function() i = i + 1; return nt[i] end\n"
" end\n"
" return function() end\n"
"end\n"
"\n"
"function add(t, v)\n"
" if t ~= nil then\n"
" t[#t+1] = v\n"
" return v\n"
" end\n"
"end\n"
"\n"
"function foreach(c, f)\n"
" if c ~= nil then\n"
" for value in all(c) do\n"
" f(value)\n"
" end\n"
" end\n"
"end\n"
"\n"
"\n"
"function mapdraw(...)\n"
" map(table.unpack(arg))\n"
"end\n"
"\n"
"function count(t)\n"
" if t ~= nil then\n"
" return #t\n"
" end\n"
"end\n"
"\n"
"function del(t, v)\n"
" if t ~= nil then\n"
" local found = false\n"
" for i = 1, #t do\n"
" if t[i] == v then\n"
" found = true\n"
" end\n"
" if found then\n"
" t[i] = t[i+1]\n"
" end\n"
" end\n"
" if found then\n"
" return v\n"
" end\n"
" end\n"
"end\n"
"\n"
"function cocreate(f)\n"
" return coroutine.create(f)\n"
"end\n"
"\n"
"function yield()\n"
" coroutine.yield()\n"
"end\n"
"\n"
"-- TODO: missing vararg\n"
"function coresume(f)\n"
" return coroutine.resume(f)\n"
"end\n"
"\n"
"function costatus(f)\n"
" return coroutine.status(f)\n"
"end";
================================================
FILE: src/gen/pico_font.h
================================================
#include "common.h"
namespace retro8
{
namespace gfx
{
static constexpr uint8_t font_map[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x40, 0xa0, 0xa0, 0xe0, 0xa0, 0xc0, 0x40, 0x40, 0x40, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20,
0x00, 0x40, 0xa0, 0xe0, 0xc0, 0x20, 0xc0, 0x80, 0x80, 0x20, 0x40, 0x40, 0x00, 0x00, 0x00, 0x40,
0x00, 0x40, 0x00, 0xa0, 0x60, 0x40, 0xc0, 0x00, 0x80, 0x20, 0xe0, 0xe0, 0x00, 0xe0, 0x00, 0x40,
0x00, 0x00, 0x00, 0xe0, 0xe0, 0x80, 0xa0, 0x00, 0x80, 0x20, 0x40, 0x40, 0x40, 0x00, 0x00, 0x40,
0x00, 0x40, 0x00, 0xa0, 0x40, 0xa0, 0xe0, 0x00, 0x40, 0x40, 0xa0, 0x00, 0x80, 0x00, 0x40, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe0, 0xc0, 0xe0, 0xe0, 0xa0, 0xe0, 0x80, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x20, 0x00, 0x80, 0xe0,
0xa0, 0x40, 0x20, 0x20, 0xa0, 0x80, 0x80, 0x20, 0xa0, 0xa0, 0x40, 0x40, 0x40, 0xe0, 0x40, 0x20,
0xa0, 0x40, 0xe0, 0x60, 0xe0, 0xe0, 0xe0, 0x20, 0xe0, 0xe0, 0x00, 0x00, 0x80, 0x00, 0x20, 0x60,
0xa0, 0x40, 0x80, 0x20, 0x20, 0x20, 0xa0, 0x20, 0xa0, 0x20, 0x40, 0x40, 0x40, 0xe0, 0x40, 0x00,
0xe0, 0xe0, 0xe0, 0xe0, 0x20, 0xe0, 0xe0, 0x20, 0xe0, 0x20, 0x00, 0x80, 0x20, 0x00, 0x80, 0x40,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xa0, 0xe0, 0xc0, 0xe0, 0xc0, 0xe0, 0xe0, 0
gitextract_ybi21nfe/ ├── .gitattributes ├── .gitignore ├── .gitlab-ci.yml ├── CMakeLists.txt ├── LICENSE ├── Makefile ├── Makefile.common ├── README.md ├── data/ │ ├── api.lua │ ├── default.funkey-s.desktop │ ├── default.gcw0.desktop │ ├── default.retrofw.desktop │ └── icon.aseprite ├── jni/ │ ├── Android.mk │ └── Application.mk ├── link.T ├── projects/ │ ├── Makefile │ ├── build_opk_funkey.sh │ ├── build_opk_od.sh │ ├── build_opk_retrofw.sh │ ├── cmake/ │ │ ├── FindSDL2.cmake │ │ ├── FindSDL2_image.cmake │ │ ├── FindSDL2_mixer.cmake │ │ ├── FindSDL2_ttf.cmake │ │ └── readme.md │ ├── vs2017/ │ │ ├── .gitignore │ │ └── retro8/ │ │ ├── api.lua │ │ ├── libretro.vcxproj │ │ ├── libretro.vcxproj.filters │ │ ├── retro8-sdl1.2.vcxproj │ │ ├── retro8-sdl1.2.vcxproj.filters │ │ ├── retro8.sln │ │ ├── retro8.vcxproj │ │ └── retro8.vcxproj.filters │ └── xcode/ │ └── retro8.xcodeproj/ │ └── project.pbxproj ├── src/ │ ├── common.h │ ├── config.h │ ├── gen/ │ │ ├── lua_api.h │ │ └── pico_font.h │ ├── io/ │ │ ├── loader.cpp │ │ ├── loader.h │ │ ├── picopng.cpp │ │ ├── stegano.cpp │ │ └── stegano.h │ ├── libretro/ │ │ ├── libretro.cpp │ │ └── libretro.h │ ├── lua/ │ │ ├── lapi.c │ │ ├── lapi.h │ │ ├── lauxlib.c │ │ ├── lauxlib.h │ │ ├── lbaselib.c │ │ ├── lbitlib.c │ │ ├── lcode.c │ │ ├── lcode.h │ │ ├── lcorolib.c │ │ ├── lctype.c │ │ ├── lctype.h │ │ ├── ldblib.c │ │ ├── ldebug.c │ │ ├── ldebug.h │ │ ├── ldo.c │ │ ├── ldo.h │ │ ├── ldump.c │ │ ├── lfunc.c │ │ ├── lfunc.h │ │ ├── lgc.c │ │ ├── lgc.h │ │ ├── linit.c │ │ ├── liolib.c │ │ ├── llex.c │ │ ├── llex.h │ │ ├── llimits.h │ │ ├── lmathlib.c │ │ ├── lmem.c │ │ ├── lmem.h │ │ ├── loadlib.c │ │ ├── lobject.c │ │ ├── lobject.h │ │ ├── lopcodes.c │ │ ├── lopcodes.h │ │ ├── loslib.c │ │ ├── lparser.c │ │ ├── lparser.h │ │ ├── lprefix.h │ │ ├── lstate.c │ │ ├── lstate.h │ │ ├── lstring.c │ │ ├── lstring.h │ │ ├── lstrlib.c │ │ ├── ltable.c │ │ ├── ltable.h │ │ ├── ltablib.c │ │ ├── ltests.c │ │ ├── ltests.h │ │ ├── ltm.c │ │ ├── ltm.h │ │ ├── lua.h │ │ ├── lua.hpp │ │ ├── luaconf.h │ │ ├── lualib.h │ │ ├── lundump.c │ │ ├── lundump.h │ │ ├── lutf8lib.c │ │ ├── lvm.c │ │ ├── lvm.h │ │ ├── lzio.c │ │ └── lzio.h │ ├── main.cpp │ ├── test/ │ │ ├── catch.hpp │ │ └── test.cpp │ ├── views/ │ │ ├── game_view.cpp │ │ ├── main_view.h │ │ ├── menu_view.cpp │ │ ├── sdl_helper.h │ │ ├── sdl_impl.h │ │ ├── sdl_impl12.h │ │ ├── view_manager.cpp │ │ └── view_manager.h │ └── vm/ │ ├── defines.h │ ├── gfx.cpp │ ├── gfx.h │ ├── input.h │ ├── lua_bridge.cpp │ ├── lua_bridge.h │ ├── machine.cpp │ ├── machine.h │ ├── memory.cpp │ ├── memory.h │ ├── sound.cpp │ └── sound.h └── status.md
Copy disabled (too large)
Download .txt
Showing preview only (307,674K chars total). Download the full file to get everything.
SYMBOL INDEX (2740 symbols across 73 files)
FILE: src/common.h
function isSet (line 21) | inline bool isSet(T flag) const { return value & static_cast<utype>(flag...
function set (line 22) | inline void set(T flag) { value |= static_cast<utype>(flag); }
function reset (line 23) | inline void reset(T flag) { value &= ~static_cast<utype>(flag); }
function set (line 24) | inline void set(T flag, bool value) { if (value) set(flag); else reset(f...
function bit_mask (line 37) | inline bit_mask<T> operator|(T flag) const
type Platform (line 53) | struct Platform
FILE: src/gen/pico_font.h
function namespace (line 3) | namespace retro8
FILE: src/io/loader.cpp
function color_t (line 29) | color_t Loader::colorFromDigit(char d)
function sprite_index_t (line 34) | sprite_index_t Loader::spriteIndexFromString(const char* c)
type State (line 90) | enum class State { HEADER, CODE, GFX, GFF, LABEL, MAP, SFX, MUSIC }
FILE: src/io/loader.h
function namespace (line 8) | namespace retro8
FILE: src/io/picopng.cpp
function decodePNG (line 29) | int decodePNG(std::vector<unsigned char>& out_image, unsigned long& imag...
FILE: src/io/stegano.cpp
class PXADecoder (line 39) | class PXADecoder
method readBit (line 49) | bool readBit()
method readBits (line 63) | int32_t readBits(size_t c)
method moveToFront (line 73) | void moveToFront(size_t i)
method PXADecoder (line 82) | PXADecoder(const uint8_t* data, size_t expected) : data(data), b(0), o...
method process (line 90) | std::string process()
FILE: src/io/stegano.h
function namespace (line 7) | namespace retro8
FILE: src/libretro/libretro.cpp
function fallback_log (line 31) | static void fallback_log(enum retro_log_level level, const char *fmt, ...)
type RetroArchEnv (line 40) | struct RetroArchEnv
type ColorMapper (line 55) | struct ColorMapper
function retro_api_version (line 65) | unsigned retro_api_version()
function retro_init (line 70) | void retro_init()
function retro_deinit (line 84) | void retro_deinit()
function retro_get_system_info (line 91) | void retro_get_system_info(retro_system_info* info)
function retro_get_system_av_info (line 101) | void retro_get_system_av_info(retro_system_av_info* info)
function retro_set_environment (line 112) | void retro_set_environment(retro_environment_t e)
function retro_set_video_refresh (line 122) | void retro_set_video_refresh(retro_video_refresh_t callback) { env.video...
function retro_set_audio_sample (line 123) | void retro_set_audio_sample(retro_audio_sample_t callback) { env.audio =...
function retro_set_audio_sample_batch (line 124) | void retro_set_audio_sample_batch(retro_audio_sample_batch_t callback) {...
function retro_set_input_poll (line 125) | void retro_set_input_poll(retro_input_poll_t callback) { env.inputPoll =...
function retro_set_input_state (line 126) | void retro_set_input_state(retro_input_state_t callback) { env.inputStat...
function retro_set_controller_port_device (line 127) | void retro_set_controller_port_device(unsigned port, unsigned device) { ...
function retro_serialize_size (line 130) | size_t retro_serialize_size(void) { return 0; }
function retro_serialize (line 131) | bool retro_serialize(void *data, size_t size) { return true; }
function retro_unserialize (line 132) | bool retro_unserialize(const void *data, size_t size) { return true; }
function retro_cheat_reset (line 133) | void retro_cheat_reset(void) { }
function retro_cheat_set (line 134) | void retro_cheat_set(unsigned index, bool enabled, const char *code) { }
function retro_get_region (line 135) | unsigned retro_get_region(void) { return 0; }
function retro_get_memory_size (line 137) | size_t retro_get_memory_size(unsigned id) { return 0; }
function retro_load_game_special (line 139) | bool retro_load_game_special(unsigned game_type, const struct retro_game...
function retro_load_game (line 140) | bool retro_load_game(const retro_game_info* info)
function retro_unload_game (line 190) | void retro_unload_game(void)
function retro_run (line 195) | void retro_run()
function retro_reset (line 280) | void retro_reset()
FILE: src/libretro/libretro.h
type retro_language (line 260) | enum retro_language
type retro_key (line 312) | enum retro_key
type retro_mod (line 467) | enum retro_mod
type retro_vfs_file_handle (line 1309) | struct retro_vfs_file_handle
type retro_vfs_dir_handle (line 1313) | struct retro_vfs_dir_handle
type retro_vfs_file_handle (line 1342) | struct retro_vfs_file_handle
type retro_vfs_file_handle (line 1347) | struct retro_vfs_file_handle
type retro_vfs_file_handle (line 1352) | struct retro_vfs_file_handle
type retro_vfs_file_handle (line 1356) | struct retro_vfs_file_handle
type retro_vfs_file_handle (line 1360) | struct retro_vfs_file_handle
type retro_vfs_file_handle (line 1364) | struct retro_vfs_file_handle
type retro_vfs_file_handle (line 1368) | struct retro_vfs_file_handle
type retro_vfs_file_handle (line 1372) | struct retro_vfs_file_handle
type retro_vfs_file_handle (line 1376) | struct retro_vfs_file_handle
type retro_vfs_file_handle (line 1380) | struct retro_vfs_file_handle
type retro_vfs_dir_handle (line 1402) | struct retro_vfs_dir_handle
type retro_vfs_dir_handle (line 1407) | struct retro_vfs_dir_handle
type retro_vfs_dir_handle (line 1412) | struct retro_vfs_dir_handle
type retro_vfs_dir_handle (line 1416) | struct retro_vfs_dir_handle
type retro_vfs_dir_handle (line 1421) | struct retro_vfs_dir_handle
type retro_vfs_interface (line 1423) | struct retro_vfs_interface
type retro_vfs_interface_info (line 1449) | struct retro_vfs_interface_info
type retro_hw_render_interface_type (line 1462) | enum retro_hw_render_interface_type
type retro_hw_render_interface (line 1475) | struct retro_hw_render_interface
type retro_led_interface (line 1482) | struct retro_led_interface
type retro_midi_interface (line 1508) | struct retro_midi_interface
type retro_hw_render_context_negotiation_interface_type (line 1517) | enum retro_hw_render_context_negotiation_interface_type
type retro_hw_render_context_negotiation_interface (line 1525) | struct retro_hw_render_context_negotiation_interface
type retro_memory_descriptor (line 1566) | struct retro_memory_descriptor
type retro_memory_map (line 1712) | struct retro_memory_map
type retro_controller_description (line 1718) | struct retro_controller_description
type retro_controller_info (line 1733) | struct retro_controller_info
type retro_subsystem_memory_info (line 1739) | struct retro_subsystem_memory_info
type retro_subsystem_rom_info (line 1750) | struct retro_subsystem_rom_info
type retro_subsystem_info (line 1774) | struct retro_subsystem_info
type retro_get_proc_address_interface (line 1819) | struct retro_get_proc_address_interface
type retro_log_level (line 1824) | enum retro_log_level
type retro_log_level (line 1835) | enum retro_log_level
type retro_log_callback (line 1838) | struct retro_log_callback
type retro_perf_tick_t (line 1869) | typedef uint64_t retro_perf_tick_t;
type retro_time_t (line 1870) | typedef int64_t retro_time_t;
type retro_perf_counter (line 1872) | struct retro_perf_counter
type retro_perf_counter (line 1906) | struct retro_perf_counter
type retro_perf_counter (line 1909) | struct retro_perf_counter
type retro_perf_counter (line 1912) | struct retro_perf_counter
type retro_perf_callback (line 1947) | struct retro_perf_callback
type retro_sensor_action (line 1962) | enum retro_sensor_action
type retro_sensor_action (line 1984) | enum retro_sensor_action
type retro_sensor_interface (line 1988) | struct retro_sensor_interface
type retro_camera_buffer (line 1994) | enum retro_camera_buffer
type retro_camera_callback (line 2042) | struct retro_camera_callback
type retro_location_callback (line 2108) | struct retro_location_callback
type retro_rumble_effect (line 2119) | enum retro_rumble_effect
type retro_rumble_effect (line 2135) | enum retro_rumble_effect
type retro_rumble_interface (line 2137) | struct retro_rumble_interface
type retro_audio_callback (line 2154) | struct retro_audio_callback
type retro_usec_t (line 2168) | typedef int64_t retro_usec_t;
type retro_frame_time_callback (line 2170) | struct retro_frame_time_callback
type retro_hw_context_type (line 2203) | enum retro_hw_context_type
type retro_hw_render_callback (line 2229) | struct retro_hw_render_callback
type retro_keyboard_callback (line 2334) | struct retro_keyboard_callback
type retro_game_info (line 2375) | struct retro_game_info
type retro_game_info (line 2390) | struct retro_game_info
type retro_disk_control_callback (line 2445) | struct retro_disk_control_callback
type retro_disk_control_ext_callback (line 2458) | struct retro_disk_control_ext_callback
type retro_pixel_format (line 2479) | enum retro_pixel_format
type retro_message (line 2503) | struct retro_message
type retro_input_descriptor (line 2512) | struct retro_input_descriptor
type retro_system_info (line 2526) | struct retro_system_info
type retro_game_geometry (line 2571) | struct retro_game_geometry
type retro_system_timing (line 2585) | struct retro_system_timing
type retro_system_av_info (line 2591) | struct retro_system_av_info
type retro_variable (line 2597) | struct retro_variable
type retro_core_option_display (line 2612) | struct retro_core_option_display
type retro_core_option_value (line 2639) | struct retro_core_option_value
type retro_core_option_definition (line 2649) | struct retro_core_option_definition
type retro_core_options_intl (line 2669) | struct retro_core_options_intl
type retro_game_info (line 2682) | struct retro_game_info
type retro_framebuffer (line 2705) | struct retro_framebuffer
type retro_system_info (line 2799) | struct retro_system_info
type retro_system_av_info (line 2807) | struct retro_system_av_info
type retro_game_info (line 2857) | struct retro_game_info
type retro_game_info (line 2863) | struct retro_game_info
FILE: src/lua/lapi.c
function TValue (line 60) | static TValue *index2addr (lua_State *L, int idx) {
function growstack (line 91) | static void growstack (lua_State *L, void *ud) {
function LUA_API (line 97) | LUA_API int lua_checkstack (lua_State *L, int n) {
function LUA_API (line 118) | LUA_API void lua_xmove (lua_State *from, lua_State *to, int n) {
function LUA_API (line 134) | LUA_API lua_CFunction lua_atpanic (lua_State *L, lua_CFunction panicf) {
function LUA_API (line 144) | LUA_API const lua_Number *lua_version (lua_State *L) {
function LUA_API (line 160) | LUA_API int lua_absindex (lua_State *L, int idx) {
function LUA_API (line 167) | LUA_API int lua_gettop (lua_State *L) {
function LUA_API (line 172) | LUA_API void lua_settop (lua_State *L, int idx) {
function reverse (line 193) | static void reverse (lua_State *L, StkId from, StkId to) {
function LUA_API (line 207) | LUA_API void lua_rotate (lua_State *L, int idx, int n) {
function LUA_API (line 222) | LUA_API void lua_copy (lua_State *L, int fromidx, int toidx) {
function LUA_API (line 237) | LUA_API void lua_pushvalue (lua_State *L, int idx) {
function LUA_API (line 251) | LUA_API int lua_type (lua_State *L, int idx) {
function LUA_API (line 257) | LUA_API const char *lua_typename (lua_State *L, int t) {
function LUA_API (line 264) | LUA_API int lua_iscfunction (lua_State *L, int idx) {
function LUA_API (line 270) | LUA_API int lua_isinteger (lua_State *L, int idx) {
function LUA_API (line 276) | LUA_API int lua_isnumber (lua_State *L, int idx) {
function LUA_API (line 283) | LUA_API int lua_isstring (lua_State *L, int idx) {
function LUA_API (line 289) | LUA_API int lua_isuserdata (lua_State *L, int idx) {
function LUA_API (line 295) | LUA_API int lua_rawequal (lua_State *L, int index1, int index2) {
function LUA_API (line 302) | LUA_API void lua_arith (lua_State *L, int op) {
function LUA_API (line 318) | LUA_API int lua_compare (lua_State *L, int index1, int index2, int op) {
function LUA_API (line 337) | LUA_API size_t lua_stringtonumber (lua_State *L, const char *s) {
function LUA_API (line 345) | LUA_API lua_Number lua_tonumberx (lua_State *L, int idx, int *pisnum) {
function LUA_API (line 356) | LUA_API lua_Integer lua_tointegerx (lua_State *L, int idx, int *pisnum) {
function LUA_API (line 367) | LUA_API int lua_toboolean (lua_State *L, int idx) {
function LUA_API (line 373) | LUA_API const char *lua_tolstring (lua_State *L, int idx, size_t *len) {
function LUA_API (line 392) | LUA_API size_t lua_rawlen (lua_State *L, int idx) {
function LUA_API (line 404) | LUA_API lua_CFunction lua_tocfunction (lua_State *L, int idx) {
function LUA_API (line 413) | LUA_API void *lua_touserdata (lua_State *L, int idx) {
function LUA_API (line 423) | LUA_API lua_State *lua_tothread (lua_State *L, int idx) {
function LUA_API (line 429) | LUA_API const void *lua_topointer (lua_State *L, int idx) {
function LUA_API (line 450) | LUA_API void lua_pushnil (lua_State *L) {
function LUA_API (line 458) | LUA_API void lua_pushnumber (lua_State *L, lua_Number n) {
function LUA_API (line 466) | LUA_API void lua_pushinteger (lua_State *L, lua_Integer n) {
function LUA_API (line 479) | LUA_API const char *lua_pushlstring (lua_State *L, const char *s, size_t...
function LUA_API (line 491) | LUA_API const char *lua_pushstring (lua_State *L, const char *s) {
function LUA_API (line 508) | LUA_API const char *lua_pushvfstring (lua_State *L, const char *fmt,
function LUA_API (line 519) | LUA_API const char *lua_pushfstring (lua_State *L, const char *fmt, ...) {
function LUA_API (line 532) | LUA_API void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n) {
function LUA_API (line 557) | LUA_API void lua_pushboolean (lua_State *L, int b) {
function LUA_API (line 565) | LUA_API void lua_pushlightuserdata (lua_State *L, void *p) {
function LUA_API (line 573) | LUA_API int lua_pushthread (lua_State *L) {
function auxgetstr (line 588) | static int auxgetstr (lua_State *L, const TValue *t, const char *k) {
function LUA_API (line 605) | LUA_API int lua_getglobal (lua_State *L, const char *name) {
function LUA_API (line 612) | LUA_API int lua_gettable (lua_State *L, int idx) {
function LUA_API (line 622) | LUA_API int lua_getfield (lua_State *L, int idx, const char *k) {
function LUA_API (line 628) | LUA_API int lua_geti (lua_State *L, int idx, lua_Integer n) {
function LUA_API (line 647) | LUA_API int lua_rawget (lua_State *L, int idx) {
function LUA_API (line 658) | LUA_API int lua_rawgeti (lua_State *L, int idx, lua_Integer n) {
function LUA_API (line 670) | LUA_API int lua_rawgetp (lua_State *L, int idx, const void *p) {
function LUA_API (line 684) | LUA_API void lua_createtable (lua_State *L, int narray, int nrec) {
function LUA_API (line 697) | LUA_API int lua_getmetatable (lua_State *L, int objindex) {
function LUA_API (line 724) | LUA_API int lua_getuservalue (lua_State *L, int idx) {
function auxsetstr (line 743) | static void auxsetstr (lua_State *L, const TValue *t, const char *k) {
function LUA_API (line 759) | LUA_API void lua_setglobal (lua_State *L, const char *name) {
function LUA_API (line 766) | LUA_API void lua_settable (lua_State *L, int idx) {
function LUA_API (line 777) | LUA_API void lua_setfield (lua_State *L, int idx, const char *k) {
function LUA_API (line 783) | LUA_API void lua_seti (lua_State *L, int idx, lua_Integer n) {
function LUA_API (line 801) | LUA_API void lua_rawset (lua_State *L, int idx) {
function LUA_API (line 817) | LUA_API void lua_rawseti (lua_State *L, int idx, lua_Integer n) {
function LUA_API (line 830) | LUA_API void lua_rawsetp (lua_State *L, int idx, const void *p) {
function LUA_API (line 846) | LUA_API int lua_setmetatable (lua_State *L, int objindex) {
function LUA_API (line 886) | LUA_API void lua_setuservalue (lua_State *L, int idx) {
function LUA_API (line 909) | LUA_API void lua_callk (lua_State *L, int nargs, int nresults,
type CallS (line 935) | struct CallS { /* data to 'f_call' */
function f_call (line 941) | static void f_call (lua_State *L, void *ud) {
function LUA_API (line 948) | LUA_API int lua_pcallk (lua_State *L, int nargs, int nresults, int errfunc,
function LUA_API (line 992) | LUA_API int lua_load (lua_State *L, lua_Reader reader, void *data,
function LUA_API (line 1016) | LUA_API int lua_dump (lua_State *L, lua_Writer writer, void *data, int s...
function LUA_API (line 1031) | LUA_API int lua_status (lua_State *L) {
function LUA_API (line 1040) | LUA_API int lua_gc (lua_State *L, int what, int data) {
function LUA_API (line 1114) | LUA_API int lua_error (lua_State *L) {
function LUA_API (line 1123) | LUA_API int lua_next (lua_State *L, int idx) {
function LUA_API (line 1140) | LUA_API void lua_concat (lua_State *L, int n) {
function LUA_API (line 1156) | LUA_API void lua_len (lua_State *L, int idx) {
function LUA_API (line 1166) | LUA_API lua_Alloc lua_getallocf (lua_State *L, void **ud) {
function LUA_API (line 1176) | LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud) {
function LUA_API (line 1184) | LUA_API void *lua_newuserdata (lua_State *L, size_t size) {
function LUA_API (line 1222) | LUA_API const char *lua_getupvalue (lua_State *L, int funcindex, int n) {
function LUA_API (line 1236) | LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n) {
function UpVal (line 1257) | static UpVal **getupvalref (lua_State *L, int fidx, int n, LClosure **pf) {
function LUA_API (line 1268) | LUA_API void *lua_upvalueid (lua_State *L, int fidx, int n) {
function LUA_API (line 1287) | LUA_API void lua_upvaluejoin (lua_State *L, int fidx1, int n1,
FILE: src/lua/lauxlib.c
function findfield (line 46) | static int findfield (lua_State *L, int objidx, int level) {
function pushglobalfuncname (line 73) | static int pushglobalfuncname (lua_State *L, lua_Debug *ar) {
function pushfuncname (line 94) | static void pushfuncname (lua_State *L, lua_Debug *ar) {
function lastlevel (line 110) | static int lastlevel (lua_State *L) {
function LUALIB_API (line 125) | LUALIB_API void luaL_traceback (lua_State *L, lua_State *L1,
function LUALIB_API (line 164) | LUALIB_API int luaL_argerror (lua_State *L, int arg, const char *extrams...
function typeerror (line 182) | static int typeerror (lua_State *L, int arg, const char *tname) {
function tag_error (line 196) | static void tag_error (lua_State *L, int arg, int tag) {
function LUALIB_API (line 205) | LUALIB_API void luaL_where (lua_State *L, int level) {
function LUALIB_API (line 223) | LUALIB_API int luaL_error (lua_State *L, const char *fmt, ...) {
function LUALIB_API (line 234) | LUALIB_API int luaL_fileresult (lua_State *L, int stat, const char *fnam...
function LUALIB_API (line 274) | LUALIB_API int luaL_execresult (lua_State *L, int stat) {
function LUALIB_API (line 299) | LUALIB_API int luaL_newmetatable (lua_State *L, const char *tname) {
function LUALIB_API (line 312) | LUALIB_API void luaL_setmetatable (lua_State *L, const char *tname) {
function LUALIB_API (line 318) | LUALIB_API void *luaL_testudata (lua_State *L, int ud, const char *tname) {
function LUALIB_API (line 333) | LUALIB_API void *luaL_checkudata (lua_State *L, int ud, const char *tnam...
function LUALIB_API (line 348) | LUALIB_API int luaL_checkoption (lua_State *L, int arg, const char *def,
function LUALIB_API (line 368) | LUALIB_API void luaL_checkstack (lua_State *L, int space, const char *ms...
function LUALIB_API (line 378) | LUALIB_API void luaL_checktype (lua_State *L, int arg, int t) {
function LUALIB_API (line 384) | LUALIB_API void luaL_checkany (lua_State *L, int arg) {
function LUALIB_API (line 390) | LUALIB_API const char *luaL_checklstring (lua_State *L, int arg, size_t ...
function LUALIB_API (line 397) | LUALIB_API const char *luaL_optlstring (lua_State *L, int arg,
function LUALIB_API (line 408) | LUALIB_API lua_Number luaL_checknumber (lua_State *L, int arg) {
function LUALIB_API (line 417) | LUALIB_API lua_Number luaL_optnumber (lua_State *L, int arg, lua_Number ...
function interror (line 422) | static void interror (lua_State *L, int arg) {
function LUALIB_API (line 430) | LUALIB_API lua_Integer luaL_checkinteger (lua_State *L, int arg) {
function LUALIB_API (line 440) | LUALIB_API lua_Integer luaL_optinteger (lua_State *L, int arg,
type UBox (line 455) | typedef struct UBox {
function boxgc (line 476) | static int boxgc (lua_State *L) {
function LUALIB_API (line 505) | LUALIB_API char *luaL_prepbuffsize (luaL_Buffer *B, size_t sz) {
function LUALIB_API (line 528) | LUALIB_API void luaL_addlstring (luaL_Buffer *B, const char *s, size_t l) {
function LUALIB_API (line 537) | LUALIB_API void luaL_addstring (luaL_Buffer *B, const char *s) {
function LUALIB_API (line 542) | LUALIB_API void luaL_pushresult (luaL_Buffer *B) {
function LUALIB_API (line 552) | LUALIB_API void luaL_pushresultsize (luaL_Buffer *B, size_t sz) {
function LUALIB_API (line 558) | LUALIB_API void luaL_addvalue (luaL_Buffer *B) {
function LUALIB_API (line 569) | LUALIB_API void luaL_buffinit (lua_State *L, luaL_Buffer *B) {
function LUALIB_API (line 577) | LUALIB_API char *luaL_buffinitsize (lua_State *L, luaL_Buffer *B, size_t...
function LUALIB_API (line 595) | LUALIB_API int luaL_ref (lua_State *L, int t) {
function LUALIB_API (line 616) | LUALIB_API void luaL_unref (lua_State *L, int t, int ref) {
type LoadF (line 635) | typedef struct LoadF {
function errfile (line 660) | static int errfile (lua_State *L, const char *what, int fnameindex) {
function skipBOM (line 669) | static int skipBOM (LoadF *lf) {
function skipcomment (line 690) | static int skipcomment (LoadF *lf, int *cp) {
function LUALIB_API (line 703) | LUALIB_API int luaL_loadfilex (lua_State *L, const char *filename,
type LoadS (line 739) | typedef struct LoadS {
function LUALIB_API (line 755) | LUALIB_API int luaL_loadbufferx (lua_State *L, const char *buff, size_t ...
function LUALIB_API (line 764) | LUALIB_API int luaL_loadstring (lua_State *L, const char *s) {
function LUALIB_API (line 772) | LUALIB_API int luaL_getmetafield (lua_State *L, int obj, const char *eve...
function LUALIB_API (line 788) | LUALIB_API int luaL_callmeta (lua_State *L, int obj, const char *event) {
function LUALIB_API (line 798) | LUALIB_API lua_Integer luaL_len (lua_State *L, int idx) {
function LUALIB_API (line 810) | LUALIB_API const char *luaL_tolstring (lua_State *L, int idx, size_t *le...
function libsize (line 884) | static int libsize (const luaL_Reg *l) {
function LUALIB_API (line 897) | LUALIB_API void luaL_pushmodule (lua_State *L, const char *modname,
function LUALIB_API (line 913) | LUALIB_API void luaL_openlib (lua_State *L, const char *libname,
function LUALIB_API (line 934) | LUALIB_API void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) {
function LUALIB_API (line 951) | LUALIB_API int luaL_getsubtable (lua_State *L, int idx, const char *fnam...
function LUALIB_API (line 971) | LUALIB_API void luaL_requiref (lua_State *L, const char *modname,
function LUALIB_API (line 991) | LUALIB_API const char *luaL_gsub (lua_State *L, const char *s, const cha...
function panic (line 1019) | static int panic (lua_State *L) {
function LUALIB_API (line 1026) | LUALIB_API lua_State *luaL_newstate (void) {
function LUALIB_API (line 1033) | LUALIB_API void luaL_checkversion_ (lua_State *L, lua_Number ver, size_t...
FILE: src/lua/lauxlib.h
type luaL_Reg (line 31) | typedef struct luaL_Reg {
type luaL_Buffer (line 148) | typedef struct luaL_Buffer {
type luaL_Stream (line 193) | typedef struct luaL_Stream {
FILE: src/lua/lbaselib.c
function luaB_print (line 24) | static int luaB_print (lua_State *L) {
function luaB_tonumber (line 69) | static int luaB_tonumber (lua_State *L) {
function luaB_error (line 102) | static int luaB_error (lua_State *L) {
function luaB_getmetatable (line 114) | static int luaB_getmetatable (lua_State *L) {
function luaB_setmetatable (line 125) | static int luaB_setmetatable (lua_State *L) {
function luaB_rawequal (line 138) | static int luaB_rawequal (lua_State *L) {
function luaB_rawlen (line 146) | static int luaB_rawlen (lua_State *L) {
function luaB_rawget (line 155) | static int luaB_rawget (lua_State *L) {
function luaB_rawset (line 163) | static int luaB_rawset (lua_State *L) {
function luaB_collectgarbage (line 173) | static int luaB_collectgarbage (lua_State *L) {
function luaB_type (line 201) | static int luaB_type (lua_State *L) {
function pairsmeta (line 209) | static int pairsmeta (lua_State *L, const char *method, int iszero,
function luaB_next (line 226) | static int luaB_next (lua_State *L) {
function luaB_pairs (line 238) | static int luaB_pairs (lua_State *L) {
function ipairsaux (line 246) | static int ipairsaux (lua_State *L) {
function luaB_ipairs (line 257) | static int luaB_ipairs (lua_State *L) {
function load_aux (line 270) | static int load_aux (lua_State *L, int status, int envidx) {
function luaB_loadfile (line 287) | static int luaB_loadfile (lua_State *L) {
function luaB_load (line 334) | static int luaB_load (lua_State *L) {
function dofilecont (line 356) | static int dofilecont (lua_State *L, int d1, lua_KContext d2) {
function luaB_dofile (line 362) | static int luaB_dofile (lua_State *L) {
function luaB_assert (line 372) | static int luaB_assert (lua_State *L) {
function luaB_select (line 385) | static int luaB_select (lua_State *L) {
function finishpcall (line 408) | static int finishpcall (lua_State *L, int status, lua_KContext extra) {
function luaB_pcall (line 419) | static int luaB_pcall (lua_State *L) {
function luaB_xpcall (line 434) | static int luaB_xpcall (lua_State *L) {
function luaB_tostring (line 446) | static int luaB_tostring (lua_State *L) {
function LUAMOD_API (line 486) | LUAMOD_API int luaopen_base (lua_State *L) {
FILE: src/lua/lbitlib.c
function lua_Unsigned (line 49) | static lua_Unsigned andaux (lua_State *L) {
function b_and (line 58) | static int b_and (lua_State *L) {
function b_test (line 65) | static int b_test (lua_State *L) {
function b_or (line 72) | static int b_or (lua_State *L) {
function b_xor (line 82) | static int b_xor (lua_State *L) {
function b_not (line 92) | static int b_not (lua_State *L) {
function b_shift (line 99) | static int b_shift (lua_State *L, lua_Unsigned r, lua_Integer i) {
function b_lshift (line 116) | static int b_lshift (lua_State *L) {
function b_rshift (line 121) | static int b_rshift (lua_State *L) {
function b_arshift (line 126) | static int b_arshift (lua_State *L) {
function b_rot (line 141) | static int b_rot (lua_State *L, lua_Integer d) {
function b_lrot (line 152) | static int b_lrot (lua_State *L) {
function b_rrot (line 157) | static int b_rrot (lua_State *L) {
function fieldargs (line 168) | static int fieldargs (lua_State *L, int farg, int *width) {
function b_extract (line 180) | static int b_extract (lua_State *L) {
function b_replace (line 190) | static int b_replace (lua_State *L) {
function LUAMOD_API (line 220) | LUAMOD_API int luaopen_bit32 (lua_State *L) {
function LUAMOD_API (line 229) | LUAMOD_API int luaopen_bit32 (lua_State *L) {
FILE: src/lua/lcode.c
function tonumeral (line 43) | static int tonumeral(const expdesc *e, TValue *v) {
function luaK_nil (line 64) | void luaK_nil (FuncState *fs, int from, int n) {
function getjump (line 90) | static int getjump (FuncState *fs, int pc) {
function fixjump (line 103) | static void fixjump (FuncState *fs, int pc, int dest) {
function luaK_concat (line 116) | void luaK_concat (FuncState *fs, int *l1, int l2) {
function luaK_jump (line 136) | int luaK_jump (FuncState *fs) {
function luaK_ret (line 149) | void luaK_ret (FuncState *fs, int first, int nret) {
function condjump (line 158) | static int condjump (FuncState *fs, OpCode op, int A, int B, int C) {
function luaK_getlabel (line 168) | int luaK_getlabel (FuncState *fs) {
function Instruction (line 179) | static Instruction *getjumpcontrol (FuncState *fs, int pc) {
function patchtestreg (line 195) | static int patchtestreg (FuncState *fs, int node, int reg) {
function removevalues (line 213) | static void removevalues (FuncState *fs, int list) {
function patchlistaux (line 224) | static void patchlistaux (FuncState *fs, int list, int vtarget, int reg,
function dischargejpc (line 242) | static void dischargejpc (FuncState *fs) {
function luaK_patchtohere (line 252) | void luaK_patchtohere (FuncState *fs, int list) {
function luaK_patchlist (line 263) | void luaK_patchlist (FuncState *fs, int list, int target) {
function luaK_patchclose (line 278) | void luaK_patchclose (FuncState *fs, int list, int level) {
function luaK_code (line 293) | static int luaK_code (FuncState *fs, Instruction i) {
function luaK_codeABC (line 312) | int luaK_codeABC (FuncState *fs, OpCode o, int a, int b, int c) {
function luaK_codeABx (line 324) | int luaK_codeABx (FuncState *fs, OpCode o, int a, unsigned int bc) {
function codeextraarg (line 335) | static int codeextraarg (FuncState *fs, int a) {
function luaK_codek (line 346) | int luaK_codek (FuncState *fs, int reg, int k) {
function luaK_checkstack (line 361) | void luaK_checkstack (FuncState *fs, int n) {
function luaK_reserveregs (line 375) | void luaK_reserveregs (FuncState *fs, int n) {
function freereg (line 386) | static void freereg (FuncState *fs, int reg) {
function freeexp (line 397) | static void freeexp (FuncState *fs, expdesc *e) {
function freeexps (line 407) | static void freeexps (FuncState *fs, expdesc *e1, expdesc *e2) {
function addk (line 428) | static int addk (FuncState *fs, TValue *key, TValue *v) {
function luaK_stringK (line 458) | int luaK_stringK (FuncState *fs, TString *s) {
function luaK_intK (line 471) | int luaK_intK (FuncState *fs, lua_Integer n) {
function luaK_numberK (line 481) | static int luaK_numberK (FuncState *fs, lua_Number r) {
function boolK (line 491) | static int boolK (FuncState *fs, int b) {
function nilK (line 501) | static int nilK (FuncState *fs) {
function luaK_setreturns (line 515) | void luaK_setreturns (FuncState *fs, expdesc *e, int nresults) {
function luaK_setoneret (line 539) | void luaK_setoneret (FuncState *fs, expdesc *e) {
function luaK_dischargevars (line 556) | void luaK_dischargevars (FuncState *fs, expdesc *e) {
function discharge2reg (line 595) | static void discharge2reg (FuncState *fs, expdesc *e, int reg) {
function discharge2anyreg (line 641) | static void discharge2anyreg (FuncState *fs, expdesc *e) {
function code_loadbool (line 649) | static int code_loadbool (FuncState *fs, int A, int b, int jump) {
function need_value (line 659) | static int need_value (FuncState *fs, int list) {
function exp2reg (line 675) | static void exp2reg (FuncState *fs, expdesc *e, int reg) {
function luaK_exp2nextreg (line 703) | void luaK_exp2nextreg (FuncState *fs, expdesc *e) {
function luaK_exp2anyreg (line 715) | int luaK_exp2anyreg (FuncState *fs, expdesc *e) {
function luaK_exp2anyregup (line 734) | void luaK_exp2anyregup (FuncState *fs, expdesc *e) {
function luaK_exp2val (line 744) | void luaK_exp2val (FuncState *fs, expdesc *e) {
function luaK_exp2RK (line 758) | int luaK_exp2RK (FuncState *fs, expdesc *e) {
function luaK_storevar (line 782) | void luaK_storevar (FuncState *fs, expdesc *var, expdesc *ex) {
function luaK_self (line 809) | void luaK_self (FuncState *fs, expdesc *e, expdesc *key) {
function negatecondition (line 825) | static void negatecondition (FuncState *fs, expdesc *e) {
function jumponcond (line 839) | static int jumponcond (FuncState *fs, expdesc *e, int cond) {
function luaK_goiftrue (line 857) | void luaK_goiftrue (FuncState *fs, expdesc *e) {
function luaK_goiffalse (line 884) | void luaK_goiffalse (FuncState *fs, expdesc *e) {
function codenot (line 910) | static void codenot (FuncState *fs, expdesc *e) {
function luaK_indexed (line 946) | void luaK_indexed (FuncState *fs, expdesc *t, expdesc *k) {
function validop (line 960) | static int validop (int op, TValue *v1, TValue *v2) {
function constfolding (line 978) | static int constfolding (FuncState *fs, int op, expdesc *e1,
function codeunexpval (line 1004) | static void codeunexpval (FuncState *fs, OpCode op, expdesc *e, int line) {
function codebinexpval (line 1022) | void codebinexpval (FuncState *fs, OpCode op,
function codecomp (line 1037) | static void codecomp (FuncState *fs, BinOpr opr, expdesc *e1, expdesc *e...
function luaK_prefix (line 1066) | void luaK_prefix (FuncState *fs, UnOpr op, expdesc *e, int line) {
function luaK_infix (line 1086) | void luaK_infix (FuncState *fs, BinOpr op, expdesc *v) {
function luaK_posfix (line 1124) | void luaK_posfix (FuncState *fs, BinOpr op,
function luaK_fixline (line 1177) | void luaK_fixline (FuncState *fs, int line) {
function luaK_setlist (line 1189) | void luaK_setlist (FuncState *fs, int base, int nelems, int tostore) {
FILE: src/lua/lcode.h
type BinOpr (line 26) | typedef enum BinOpr {
type UnOpr (line 40) | typedef enum UnOpr { OPR_MINUS, OPR_BNOT, OPR_NOT, OPR_LEN, OPR_NOUNOPR ...
FILE: src/lua/lcorolib.c
function lua_State (line 21) | static lua_State *getco (lua_State *L) {
function auxresume (line 28) | static int auxresume (lua_State *L, lua_State *co, int narg) {
function luaB_coresume (line 57) | static int luaB_coresume (lua_State *L) {
function luaB_auxwrap (line 74) | static int luaB_auxwrap (lua_State *L) {
function luaB_cocreate (line 89) | static int luaB_cocreate (lua_State *L) {
function luaB_cowrap (line 99) | static int luaB_cowrap (lua_State *L) {
function luaB_yield (line 106) | static int luaB_yield (lua_State *L) {
function luaB_costatus (line 111) | static int luaB_costatus (lua_State *L) {
function luaB_yieldable (line 138) | static int luaB_yieldable (lua_State *L) {
function luaB_corunning (line 144) | static int luaB_corunning (lua_State *L) {
function LUAMOD_API (line 164) | LUAMOD_API int luaopen_coroutine (lua_State *L) {
FILE: src/lua/ldblib.c
function checkstack (line 35) | static void checkstack (lua_State *L, lua_State *L1, int n) {
function db_getregistry (line 41) | static int db_getregistry (lua_State *L) {
function db_getmetatable (line 47) | static int db_getmetatable (lua_State *L) {
function db_setmetatable (line 56) | static int db_setmetatable (lua_State *L) {
function db_getuservalue (line 66) | static int db_getuservalue (lua_State *L) {
function db_setuservalue (line 75) | static int db_setuservalue (lua_State *L) {
function lua_State (line 90) | static lua_State *getthread (lua_State *L, int *arg) {
function settabss (line 107) | static void settabss (lua_State *L, const char *k, const char *v) {
function settabsi (line 112) | static void settabsi (lua_State *L, const char *k, int v) {
function settabsb (line 117) | static void settabsb (lua_State *L, const char *k, int v) {
function treatstackoption (line 130) | static void treatstackoption (lua_State *L, lua_State *L1, const char *f...
function db_getinfo (line 145) | static int db_getinfo (lua_State *L) {
function db_getlocal (line 193) | static int db_getlocal (lua_State *L) {
function db_setlocal (line 224) | static int db_setlocal (lua_State *L) {
function auxupvalue (line 248) | static int auxupvalue (lua_State *L, int get) {
function db_getupvalue (line 260) | static int db_getupvalue (lua_State *L) {
function db_setupvalue (line 265) | static int db_setupvalue (lua_State *L) {
function checkupval (line 275) | static int checkupval (lua_State *L, int argf, int argnup) {
function db_upvalueid (line 284) | static int db_upvalueid (lua_State *L) {
function db_upvaluejoin (line 291) | static int db_upvaluejoin (lua_State *L) {
function hookf (line 305) | static void hookf (lua_State *L, lua_Debug *ar) {
function makemask (line 324) | static int makemask (const char *smask, int count) {
function db_sethook (line 347) | static int db_sethook (lua_State *L) {
function db_gethook (line 379) | static int db_gethook (lua_State *L) {
function db_debug (line 402) | static int db_debug (lua_State *L) {
function db_traceback (line 417) | static int db_traceback (lua_State *L) {
function LUAMOD_API (line 452) | LUAMOD_API int luaopen_debug (lua_State *L) {
FILE: src/lua/ldebug.c
function currentpc (line 45) | static int currentpc (CallInfo *ci) {
function currentline (line 51) | static int currentline (CallInfo *ci) {
function swapextra (line 62) | static void swapextra (lua_State *L) {
function LUA_API (line 81) | LUA_API void lua_sethook (lua_State *L, lua_Hook func, int mask, int cou...
function LUA_API (line 95) | LUA_API lua_Hook lua_gethook (lua_State *L) {
function LUA_API (line 100) | LUA_API int lua_gethookmask (lua_State *L) {
function LUA_API (line 105) | LUA_API int lua_gethookcount (lua_State *L) {
function LUA_API (line 110) | LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar) {
function LUA_API (line 171) | LUA_API const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int...
function LUA_API (line 195) | LUA_API const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int...
function funcinfo (line 211) | static void funcinfo (lua_Debug *ar, Closure *cl) {
function collectvalidlines (line 229) | static void collectvalidlines (lua_State *L, Closure *f) {
function auxgetinfo (line 262) | static int auxgetinfo (lua_State *L, const char *what, lua_Debug *ar,
function LUA_API (line 309) | LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar) {
function kname (line 355) | static void kname (Proto *p, int pc, int c, const char **name) {
function filterpc (line 375) | static int filterpc (int pc, int jmptarget) {
function findsetreg (line 385) | static int findsetreg (Proto *p, int lastpc, int reg) {
function isinstack (line 546) | static int isinstack (CallInfo *ci, const TValue *o) {
function l_noret (line 585) | l_noret luaG_typeerror (lua_State *L, const TValue *o, const char *op) {
function l_noret (line 591) | l_noret luaG_concaterror (lua_State *L, const TValue *p1, const TValue *...
function l_noret (line 597) | l_noret luaG_opinterror (lua_State *L, const TValue *p1,
function l_noret (line 609) | l_noret luaG_tointerror (lua_State *L, const TValue *p1, const TValue *p...
function l_noret (line 617) | l_noret luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p...
function l_noret (line 640) | l_noret luaG_errormsg (lua_State *L) {
function l_noret (line 652) | l_noret luaG_runerror (lua_State *L, const char *fmt, ...) {
function luaG_traceexec (line 666) | void luaG_traceexec (lua_State *L) {
FILE: src/lua/ldo.c
type lua_longjmp (line 84) | struct lua_longjmp {
function seterrorobj (line 91) | static void seterrorobj (lua_State *L, int errcode, StkId oldtop) {
function l_noret (line 110) | l_noret luaD_throw (lua_State *L, int errcode) {
function luaD_rawrunprotected (line 136) | int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud) {
function correctstack (line 158) | static void correctstack (lua_State *L, TValue *oldstack) {
function luaD_reallocstack (line 177) | void luaD_reallocstack (lua_State *L, int newsize) {
function luaD_growstack (line 191) | void luaD_growstack (lua_State *L, int n) {
function stackinuse (line 210) | static int stackinuse (lua_State *L) {
function luaD_shrinkstack (line 221) | void luaD_shrinkstack (lua_State *L) {
function luaD_inctop (line 240) | void luaD_inctop (lua_State *L) {
function luaD_hook (line 253) | void luaD_hook (lua_State *L, int event, int line) {
function callhook (line 280) | static void callhook (lua_State *L, CallInfo *ci) {
function StkId (line 293) | static StkId adjust_varargs (lua_State *L, Proto *p, int actual) {
function tryfuncTM (line 315) | static void tryfuncTM (lua_State *L, StkId func) {
function moveresults (line 334) | static int moveresults (lua_State *L, const TValue *firstResult, StkId res,
function luaD_poscall (line 376) | int luaD_poscall (lua_State *L, CallInfo *ci, StkId firstResult, int nre...
function luaD_precall (line 413) | int luaD_precall (lua_State *L, StkId func, int nresults) {
function stackerror (line 481) | static void stackerror (lua_State *L) {
function luaD_call (line 495) | void luaD_call (lua_State *L, StkId func, int nResults) {
function luaD_callnoyield (line 507) | void luaD_callnoyield (lua_State *L, StkId func, int nResults) {
function finishCcall (line 518) | static void finishCcall (lua_State *L, int status) {
function unroll (line 548) | static void unroll (lua_State *L, void *ud) {
function CallInfo (line 566) | static CallInfo *findpcall (lua_State *L) {
function recover (line 581) | static int recover (lua_State *L, int status) {
function resume_error (line 603) | static int resume_error (lua_State *L, const char *msg, int narg) {
function resume (line 619) | static void resume (lua_State *L, void *ud) {
function LUA_API (line 648) | LUA_API int lua_resume (lua_State *L, lua_State *from, int nargs) {
function LUA_API (line 687) | LUA_API int lua_isyieldable (lua_State *L) {
function LUA_API (line 692) | LUA_API int lua_yieldk (lua_State *L, int nresults, lua_KContext ctx,
function luaD_pcall (line 721) | int luaD_pcall (lua_State *L, Pfunc func, void *u,
type SParser (line 748) | struct SParser { /* data to 'f_parser' */
function checkmode (line 757) | static void checkmode (lua_State *L, const char *mode, const char *x) {
function f_parser (line 766) | static void f_parser (lua_State *L, void *ud) {
function luaD_protectedparser (line 783) | int luaD_protectedparser (lua_State *L, ZIO *z, const char *name,
FILE: src/lua/ldump.c
type DumpState (line 22) | typedef struct {
function DumpBlock (line 40) | static void DumpBlock (const void *b, size_t size, DumpState *D) {
function DumpByte (line 52) | static void DumpByte (int y, DumpState *D) {
function DumpInt (line 58) | static void DumpInt (int x, DumpState *D) {
function DumpNumber (line 63) | static void DumpNumber (lua_Number x, DumpState *D) {
function DumpInteger (line 68) | static void DumpInteger (lua_Integer x, DumpState *D) {
function DumpString (line 73) | static void DumpString (const TString *s, DumpState *D) {
function DumpCode (line 90) | static void DumpCode (const Proto *f, DumpState *D) {
function DumpConstants (line 98) | static void DumpConstants (const Proto *f, DumpState *D) {
function DumpProtos (line 128) | static void DumpProtos (const Proto *f, DumpState *D) {
function DumpUpvalues (line 137) | static void DumpUpvalues (const Proto *f, DumpState *D) {
function DumpDebug (line 147) | static void DumpDebug (const Proto *f, DumpState *D) {
function DumpFunction (line 166) | static void DumpFunction (const Proto *f, TString *psource, DumpState *D) {
function DumpHeader (line 184) | static void DumpHeader (DumpState *D) {
function luaU_dump (line 202) | int luaU_dump(lua_State *L, const Proto *f, lua_Writer w, void *data,
FILE: src/lua/lfunc.c
function CClosure (line 25) | CClosure *luaF_newCclosure (lua_State *L, int n) {
function LClosure (line 33) | LClosure *luaF_newLclosure (lua_State *L, int n) {
function luaF_initupvals (line 45) | void luaF_initupvals (lua_State *L, LClosure *cl) {
function UpVal (line 57) | UpVal *luaF_findupval (lua_State *L, StkId level) {
function luaF_close (line 83) | void luaF_close (lua_State *L, StkId level) {
function Proto (line 99) | Proto *luaF_newproto (lua_State *L) {
function luaF_freeproto (line 125) | void luaF_freeproto (lua_State *L, Proto *f) {
FILE: src/lua/lfunc.h
type UpVal (line 35) | struct UpVal {
FILE: src/lua/lgc.c
function removeentry (line 125) | static void removeentry (Node *n) {
function iscleared (line 139) | static int iscleared (global_State *g, const TValue *o) {
function luaC_barrier_ (line 155) | void luaC_barrier_ (lua_State *L, GCObject *o, GCObject *v) {
function luaC_barrierback_ (line 171) | void luaC_barrierback_ (lua_State *L, Table *t) {
function luaC_upvalbarrier_ (line 185) | void luaC_upvalbarrier_ (lua_State *L, UpVal *uv) {
function luaC_fix (line 194) | void luaC_fix (lua_State *L, GCObject *o) {
function GCObject (line 208) | GCObject *luaC_newobj (lua_State *L, int tt, size_t sz) {
function reallymarkobject (line 235) | static void reallymarkobject (global_State *g, GCObject *o) {
function markmt (line 289) | static void markmt (global_State *g) {
function markbeingfnz (line 299) | static void markbeingfnz (global_State *g) {
function remarkupvals (line 312) | static void remarkupvals (global_State *g) {
function restartcollection (line 337) | static void restartcollection (global_State *g) {
function traverseweakvalue (line 361) | static void traverseweakvalue (global_State *g, Table *h) {
function traverseephemeron (line 394) | static int traverseephemeron (global_State *g, Table *h) {
function traversestrongtable (line 433) | static void traversestrongtable (global_State *g, Table *h) {
function lu_mem (line 451) | static lu_mem traversetable (global_State *g, Table *h) {
function traverseproto (line 479) | static int traverseproto (global_State *g, Proto *f) {
function lu_mem (line 501) | static lu_mem traverseCclosure (global_State *g, CClosure *cl) {
function lu_mem (line 514) | static lu_mem traverseLclosure (global_State *g, LClosure *cl) {
function lu_mem (line 530) | static lu_mem traversethread (global_State *g, lua_State *th) {
function propagatemark (line 559) | static void propagatemark (global_State *g) {
function propagateall (line 603) | static void propagateall (global_State *g) {
function convergeephemerons (line 608) | static void convergeephemerons (global_State *g) {
function clearkeys (line 639) | static void clearkeys (global_State *g, GCObject *l, GCObject *f) {
function clearvalues (line 658) | static void clearvalues (global_State *g, GCObject *l, GCObject *f) {
function luaC_upvdeccount (line 678) | void luaC_upvdeccount (lua_State *L, UpVal *uv) {
function freeLclosure (line 686) | static void freeLclosure (lua_State *L, LClosure *cl) {
function freeobj (line 697) | static void freeobj (lua_State *L, GCObject *o) {
function GCObject (line 735) | static GCObject **sweeplist (lua_State *L, GCObject **p, lu_mem count) {
function GCObject (line 758) | static GCObject **sweeptolive (lua_State *L, GCObject **p) {
function checkSizes (line 778) | static void checkSizes (lua_State *L, global_State *g) {
function GCObject (line 788) | static GCObject *udata2finalize (global_State *g) {
function dothecall (line 801) | static void dothecall (lua_State *L, void *ud) {
function GCTM (line 807) | static void GCTM (lua_State *L, int propagateerrors) {
function runafewfinalizers (line 844) | static int runafewfinalizers (lua_State *L) {
function callallpendingfinalizers (line 859) | static void callallpendingfinalizers (lua_State *L) {
function GCObject (line 869) | static GCObject **findlast (GCObject **p) {
function separatetobefnz (line 880) | static void separatetobefnz (global_State *g, int all) {
function luaC_checkfinalizer (line 902) | void luaC_checkfinalizer (lua_State *L, GCObject *o, Table *mt) {
function setpause (line 940) | static void setpause (global_State *g) {
function entersweep (line 959) | static void entersweep (lua_State *L) {
function luaC_freeallobjects (line 967) | void luaC_freeallobjects (lua_State *L) {
function l_mem (line 982) | static l_mem atomic (lua_State *L) {
function lu_mem (line 1029) | static lu_mem sweepstep (lua_State *L, global_State *g,
function lu_mem (line 1045) | static lu_mem singlestep (lua_State *L) {
function luaC_runtilstate (line 1104) | void luaC_runtilstate (lua_State *L, int statesmask) {
function l_mem (line 1115) | static l_mem getdebt (global_State *g) {
function luaC_step (line 1129) | void luaC_step (lua_State *L) {
function luaC_fullgc (line 1159) | void luaC_fullgc (lua_State *L, int isemergency) {
FILE: src/lua/linit.c
function LUALIB_API (line 60) | LUALIB_API void luaL_openlibs (lua_State *L) {
FILE: src/lua/liolib.c
function l_checkmode (line 40) | static int l_checkmode (const char *mode) {
type luaL_Stream (line 142) | typedef luaL_Stream LStream;
function io_type (line 150) | static int io_type (lua_State *L) {
function f_tostring (line 164) | static int f_tostring (lua_State *L) {
function FILE (line 174) | static FILE *tofile (lua_State *L) {
function LStream (line 188) | static LStream *newprefile (lua_State *L) {
function aux_close (line 201) | static int aux_close (lua_State *L) {
function f_close (line 209) | static int f_close (lua_State *L) {
function io_close (line 215) | static int io_close (lua_State *L) {
function f_gc (line 222) | static int f_gc (lua_State *L) {
function io_fclose (line 233) | static int io_fclose (lua_State *L) {
function LStream (line 240) | static LStream *newfile (lua_State *L) {
function opencheck (line 248) | static void opencheck (lua_State *L, const char *fname, const char *mode) {
function io_open (line 256) | static int io_open (lua_State *L) {
function io_pclose (line 270) | static int io_pclose (lua_State *L) {
function io_popen (line 276) | static int io_popen (lua_State *L) {
function io_tmpfile (line 286) | static int io_tmpfile (lua_State *L) {
function FILE (line 293) | static FILE *getiofile (lua_State *L, const char *findex) {
function g_iofile (line 303) | static int g_iofile (lua_State *L, const char *f, const char *mode) {
function io_input (line 320) | static int io_input (lua_State *L) {
function io_output (line 325) | static int io_output (lua_State *L) {
function aux_lines (line 339) | static void aux_lines (lua_State *L, int toclose) {
function f_lines (line 349) | static int f_lines (lua_State *L) {
function io_lines (line 356) | static int io_lines (lua_State *L) {
type RN (line 390) | typedef struct {
function nextc (line 401) | static int nextc (RN *rn) {
function test2 (line 417) | static int test2 (RN *rn, const char *set) {
function readdigits (line 427) | static int readdigits (RN *rn, int hex) {
function read_number (line 440) | static int read_number (lua_State *L, FILE *f) {
function test_eof (line 474) | static int test_eof (lua_State *L, FILE *f) {
function read_line (line 482) | static int read_line (lua_State *L, FILE *f, int chop) {
function read_all (line 503) | static void read_all (lua_State *L, FILE *f) {
function read_chars (line 516) | static int read_chars (lua_State *L, FILE *f, size_t n) {
function g_read (line 529) | static int g_read (lua_State *L, FILE *f, int first) {
function io_read (line 579) | static int io_read (lua_State *L) {
function f_read (line 584) | static int f_read (lua_State *L) {
function io_readline (line 589) | static int io_readline (lua_State *L) {
function g_write (line 620) | static int g_write (lua_State *L, FILE *f, int arg) {
function io_write (line 644) | static int io_write (lua_State *L) {
function f_write (line 649) | static int f_write (lua_State *L) {
function f_seek (line 656) | static int f_seek (lua_State *L) {
function f_setvbuf (line 675) | static int f_setvbuf (lua_State *L) {
function io_flush (line 687) | static int io_flush (lua_State *L) {
function f_flush (line 692) | static int f_flush (lua_State *L) {
function createmeta (line 733) | static void createmeta (lua_State *L) {
function io_noclose (line 745) | static int io_noclose (lua_State *L) {
function createstdfile (line 754) | static void createstdfile (lua_State *L, FILE *f, const char *k,
function LUAMOD_API (line 767) | LUAMOD_API int luaopen_io (lua_State *L) {
FILE: src/lua/llex.c
function save (line 58) | static void save (LexState *ls, int c) {
function luaX_init (line 71) | void luaX_init (lua_State *L) {
function l_noret (line 110) | static l_noret lexerror (LexState *ls, const char *msg, int token) {
function l_noret (line 118) | l_noret luaX_syntaxerror (LexState *ls, const char *msg) {
function TString (line 128) | TString *luaX_newstring (LexState *ls, const char *str, size_t l) {
function inclinenumber (line 152) | static void inclinenumber (LexState *ls) {
function luaX_setinput (line 163) | void luaX_setinput (lua_State *L, LexState *ls, ZIO *z, TString *source,
function check_next1 (line 188) | static int check_next1 (LexState *ls, int c) {
function check_next2 (line 201) | static int check_next2 (LexState *ls, const char *set) {
function read_numeral (line 216) | static int read_numeral (LexState *ls, SemInfo *seminfo) {
function skip_sep (line 252) | static int skip_sep (LexState *ls) {
function read_long_string (line 265) | static void read_long_string (LexState *ls, SemInfo *seminfo, int sep) {
function esccheck (line 304) | static void esccheck (LexState *ls, int c, const char *msg) {
function gethexa (line 313) | static int gethexa (LexState *ls) {
function readhexaesc (line 320) | static int readhexaesc (LexState *ls) {
function readutf8esc (line 328) | static unsigned long readutf8esc (LexState *ls) {
function utf8esc (line 346) | static void utf8esc (LexState *ls) {
function readdecesc (line 354) | static int readdecesc (LexState *ls) {
function read_string (line 367) | static void read_string (LexState *ls, int del, SemInfo *seminfo) {
function llex (line 430) | static int llex (LexState *ls, SemInfo *seminfo) {
function luaX_next (line 664) | void luaX_next (LexState *ls) {
function luaX_lookahead (line 675) | int luaX_lookahead (LexState *ls) {
FILE: src/lua/llex.h
type RESERVED (line 26) | enum RESERVED {
type SemInfo (line 44) | typedef union {
type Token (line 51) | typedef struct Token {
type LexState (line 59) | typedef struct LexState {
FILE: src/lua/llimits.h
type LUAI_UMEM (line 23) | typedef LUAI_UMEM lu_mem;
type LUAI_MEM (line 24) | typedef LUAI_MEM l_mem;
type lu_mem (line 26) | typedef size_t lu_mem;
type l_mem (line 27) | typedef ptrdiff_t l_mem;
type lu_mem (line 29) | typedef unsigned long lu_mem;
type l_mem (line 30) | typedef long l_mem;
type lu_byte (line 35) | typedef unsigned char lu_byte;
type LUAI_USER_ALIGNMENT_T (line 65) | typedef LUAI_USER_ALIGNMENT_T L_Umaxalign;
type L_Umaxalign (line 67) | typedef union {
type LUAI_UACNUMBER (line 79) | typedef LUAI_UACNUMBER l_uacNumber;
type LUAI_UACINT (line 80) | typedef LUAI_UACINT l_uacInt;
type Instruction (line 163) | typedef unsigned int Instruction;
type Instruction (line 165) | typedef unsigned long Instruction;
FILE: src/lua/lmathlib.c
function math_abs (line 39) | static int math_abs (lua_State *L) {
function math_sin (line 50) | static int math_sin (lua_State *L) {
function math_cos (line 55) | static int math_cos (lua_State *L) {
function math_tan (line 60) | static int math_tan (lua_State *L) {
function math_asin (line 65) | static int math_asin (lua_State *L) {
function math_acos (line 70) | static int math_acos (lua_State *L) {
function math_atan (line 75) | static int math_atan (lua_State *L) {
function math_toint (line 83) | static int math_toint (lua_State *L) {
function pushnumint (line 96) | static void pushnumint (lua_State *L, lua_Number d) {
function math_floor (line 105) | static int math_floor (lua_State *L) {
function math_ceil (line 116) | static int math_ceil (lua_State *L) {
function math_fmod (line 127) | static int math_fmod (lua_State *L) {
function math_modf (line 149) | static int math_modf (lua_State *L) {
function math_sqrt (line 166) | static int math_sqrt (lua_State *L) {
function math_ult (line 172) | static int math_ult (lua_State *L) {
function math_log (line 179) | static int math_log (lua_State *L) {
function math_exp (line 199) | static int math_exp (lua_State *L) {
function math_deg (line 204) | static int math_deg (lua_State *L) {
function math_rad (line 209) | static int math_rad (lua_State *L) {
function math_min (line 215) | static int math_min (lua_State *L) {
function math_max (line 229) | static int math_max (lua_State *L) {
function math_random (line 247) | static int math_random (lua_State *L) {
function math_randomseed (line 277) | static int math_randomseed (lua_State *L) {
function math_type (line 284) | static int math_type (lua_State *L) {
function math_cosh (line 306) | static int math_cosh (lua_State *L) {
function math_sinh (line 311) | static int math_sinh (lua_State *L) {
function math_tanh (line 316) | static int math_tanh (lua_State *L) {
function math_pow (line 321) | static int math_pow (lua_State *L) {
function math_frexp (line 328) | static int math_frexp (lua_State *L) {
function math_ldexp (line 335) | static int math_ldexp (lua_State *L) {
function math_log10 (line 342) | static int math_log10 (lua_State *L) {
function LUAMOD_API (line 398) | LUAMOD_API int luaopen_math (lua_State *L) {
FILE: src/lua/lmem.c
function l_noret (line 68) | l_noret luaM_toobig (lua_State *L) {
FILE: src/lua/loadlib.c
function lsys_unloadlib (line 121) | static void lsys_unloadlib (void *lib) {
function lua_CFunction (line 133) | static lua_CFunction lsys_sym (lua_State *L, void *lib, const char *sym) {
function setprogdir (line 168) | static void setprogdir (lua_State *L) {
function pusherror (line 185) | static void pusherror (lua_State *L) {
function lsys_unloadlib (line 195) | static void lsys_unloadlib (void *lib) {
function lua_CFunction (line 208) | static lua_CFunction lsys_sym (lua_State *L, void *lib, const char *sym) {
function lsys_unloadlib (line 231) | static void lsys_unloadlib (void *lib) {
function lua_CFunction (line 243) | static lua_CFunction lsys_sym (lua_State *L, void *lib, const char *sym) {
function noenv (line 278) | static int noenv (lua_State *L) {
function setpath (line 290) | static void setpath (lua_State *L, const char *fieldname,
function addtoclib (line 331) | static void addtoclib (lua_State *L, const char *path, void *plib) {
function gctm (line 345) | static int gctm (lua_State *L) {
function lookforfunc (line 372) | static int lookforfunc (lua_State *L, const char *path, const char *sym) {
function ll_loadlib (line 393) | static int ll_loadlib (lua_State *L) {
function readable (line 416) | static int readable (const char *filename) {
function ll_searchpath (line 458) | static int ll_searchpath (lua_State *L) {
function checkload (line 484) | static int checkload (lua_State *L, int stat, const char *filename) {
function searcher_Lua (line 495) | static int searcher_Lua (lua_State *L) {
function loadfunc (line 512) | static int loadfunc (lua_State *L, const char *filename, const char *mod...
function searcher_C (line 530) | static int searcher_C (lua_State *L) {
function searcher_Croot (line 538) | static int searcher_Croot (lua_State *L) {
function searcher_preload (line 560) | static int searcher_preload (lua_State *L) {
function findloader (line 569) | static void findloader (lua_State *L, const char *name) {
function ll_require (line 597) | static int ll_require (lua_State *L) {
function set_env (line 634) | static void set_env (lua_State *L) {
function dooptions (line 646) | static void dooptions (lua_State *L, int n) {
function modinit (line 658) | static void modinit (lua_State *L, const char *modname) {
function ll_module (line 673) | static int ll_module (lua_State *L) {
function ll_seeall (line 691) | static int ll_seeall (lua_State *L) {
function createsearcherstable (line 733) | static void createsearcherstable (lua_State *L) {
function createclibstable (line 757) | static void createclibstable (lua_State *L) {
function LUAMOD_API (line 767) | LUAMOD_API int luaopen_package (lua_State *L) {
FILE: src/lua/lobject.c
function luaO_int2fb (line 41) | int luaO_int2fb (unsigned int x) {
function luaO_fb2int (line 57) | int luaO_fb2int (int x) {
function luaO_ceillog2 (line 65) | int luaO_ceillog2 (unsigned int x) {
function lua_Integer (line 83) | static lua_Integer intarith (lua_State *L, int op, lua_Integer v1,
function lua_Number (line 103) | static lua_Number numarith (lua_State *L, int op, lua_Number v1,
function luaO_arith (line 123) | void luaO_arith (lua_State *L, int op, const TValue *p1, const TValue *p2,
function luaO_hexavalue (line 163) | int luaO_hexavalue (int c) {
function isneg (line 169) | static int isneg (const char **s) {
function lua_Number (line 193) | static lua_Number lua_strx2number (const char *s, char **endptr) {
function lua_Number (line 245) | lua_Number lua_strb2number(const char* s, char** endptr)
function luaO_str2num (line 382) | size_t luaO_str2num (const char *s, TValue *o) {
function luaO_utf8esc (line 397) | int luaO_utf8esc (char *buff, unsigned long x) {
function luaO_tostring (line 422) | void luaO_tostring (lua_State *L, StkId obj) {
function pushstr (line 441) | static void pushstr (lua_State *L, const char *str, size_t l) {
function luaO_chunkid (line 538) | void luaO_chunkid (char *out, const char *source, size_t bufflen) {
FILE: src/lua/lobject.h
type GCObject (line 72) | typedef struct GCObject GCObject;
type GCObject (line 85) | struct GCObject {
type Value (line 100) | typedef union Value {
type TValue (line 113) | typedef struct lua_TValue {
type TValue (line 294) | typedef TValue *StkId;
type TString (line 303) | typedef struct TString {
type UTString (line 318) | typedef union UTString {
type Udata (line 346) | typedef struct Udata {
type UUdata (line 358) | typedef union UUdata {
type Upvaldesc (line 386) | typedef struct Upvaldesc {
type LocVar (line 397) | typedef struct LocVar {
type Proto (line 407) | typedef struct Proto {
type UpVal (line 436) | typedef struct UpVal UpVal;
type CClosure (line 446) | typedef struct CClosure {
type LClosure (line 453) | typedef struct LClosure {
type Closure (line 460) | typedef union Closure {
type TKey (line 475) | typedef union TKey {
type Node (line 491) | typedef struct Node {
type Table (line 497) | typedef struct Table {
FILE: src/lua/lopcodes.h
type OpMode (line 32) | enum OpMode {iABC, iABx, iAsBx, iAx}
type OpCode (line 167) | typedef enum {
type OpArgMask (line 274) | enum OpArgMask {
FILE: src/lua/loslib.c
function time_t (line 69) | static time_t l_checktime (lua_State *L, int arg) {
function os_execute (line 141) | static int os_execute (lua_State *L) {
function os_remove (line 156) | static int os_remove (lua_State *L) {
function os_rename (line 162) | static int os_rename (lua_State *L) {
function os_tmpname (line 169) | static int os_tmpname (lua_State *L) {
function os_getenv (line 180) | static int os_getenv (lua_State *L) {
function os_clock (line 186) | static int os_clock (lua_State *L) {
function setfield (line 200) | static void setfield (lua_State *L, const char *key, int value) {
function setboolfield (line 205) | static void setboolfield (lua_State *L, const char *key, int value) {
function setallfields (line 216) | static void setallfields (lua_State *L, struct tm *stm) {
function getboolfield (line 229) | static int getboolfield (lua_State *L, const char *key) {
function getfield (line 242) | static int getfield (lua_State *L, const char *key, int d, int delta) {
function os_date (line 286) | static int os_date (lua_State *L) {
function os_time (line 328) | static int os_time (lua_State *L) {
function os_difftime (line 354) | static int os_difftime (lua_State *L) {
function os_setlocale (line 364) | static int os_setlocale (lua_State *L) {
function os_exit (line 376) | static int os_exit (lua_State *L) {
function LUAMOD_API (line 408) | LUAMOD_API int luaopen_os (lua_State *L) {
FILE: src/lua/lparser.c
type BlockCnt (line 48) | typedef struct BlockCnt {
function l_noret (line 67) | static l_noret semerror (LexState *ls, const char *msg) {
function l_noret (line 73) | static l_noret error_expected (LexState *ls, int token) {
function l_noret (line 79) | static l_noret errorlimit (FuncState *fs, int limit, const char *what) {
function checklimit (line 92) | static void checklimit (FuncState *fs, int v, int l, const char *what) {
function testnext (line 97) | static int testnext (LexState *ls, int c) {
function check (line 106) | static void check (LexState *ls, int c) {
function checknext (line 112) | static void checknext (LexState *ls, int c) {
function check_match (line 122) | static void check_match (LexState *ls, int what, int who, int where) {
function TString (line 135) | static TString *str_checkname (LexState *ls) {
function init_exp (line 144) | static void init_exp (expdesc *e, expkind k, int i) {
function codestring (line 151) | static void codestring (LexState *ls, expdesc *e, TString *s) {
function checkname (line 156) | static void checkname (LexState *ls, expdesc *e) {
function registerlocalvar (line 161) | static int registerlocalvar (LexState *ls, TString *varname) {
function new_localvar (line 175) | static void new_localvar (LexState *ls, TString *name) {
function new_localvarliteral_ (line 187) | static void new_localvarliteral_ (LexState *ls, const char *name, size_t...
function LocVar (line 195) | static LocVar *getlocvar (FuncState *fs, int i) {
function adjustlocalvars (line 202) | static void adjustlocalvars (LexState *ls, int nvars) {
function removevars (line 211) | static void removevars (FuncState *fs, int tolevel) {
function searchupvalue (line 218) | static int searchupvalue (FuncState *fs, TString *name) {
function newupvalue (line 228) | static int newupvalue (FuncState *fs, TString *name, expdesc *v) {
function searchvar (line 244) | static int searchvar (FuncState *fs, TString *n) {
function markupval (line 258) | static void markupval (FuncState *fs, int level) {
function singlevaraux (line 270) | static void singlevaraux (FuncState *fs, TString *n, expdesc *var, int b...
function singlevar (line 295) | static void singlevar (LexState *ls, expdesc *var) {
function adjust_assign (line 309) | static void adjust_assign (LexState *ls, int nvars, int nexps, expdesc *...
function enterlevel (line 331) | static void enterlevel (LexState *ls) {
function closegoto (line 341) | static void closegoto (LexState *ls, int g, Labeldesc *label) {
function findlabel (line 365) | static int findlabel (LexState *ls, int g) {
function newlabelentry (line 385) | static int newlabelentry (LexState *ls, Labellist *l, TString *name,
function findgotos (line 403) | static void findgotos (LexState *ls, Labeldesc *lb) {
function movegotosout (line 421) | static void movegotosout (FuncState *fs, BlockCnt *bl) {
function enterblock (line 439) | static void enterblock (FuncState *fs, BlockCnt *bl, lu_byte isloop) {
function breaklabel (line 454) | static void breaklabel (LexState *ls) {
function l_noret (line 464) | static l_noret undefgoto (LexState *ls, Labeldesc *gt) {
function leaveblock (line 473) | static void leaveblock (FuncState *fs) {
function Proto (line 499) | static Proto *addprototype (LexState *ls) {
function codeclosure (line 522) | static void codeclosure (LexState *ls, expdesc *v) {
function open_func (line 529) | static void open_func (LexState *ls, FuncState *fs, BlockCnt *bl) {
function close_func (line 552) | static void close_func (LexState *ls) {
function block_follow (line 587) | static int block_follow (LexState *ls, int withuntil) {
function statlist (line 600) | static void statlist (LexState *ls) {
function fieldsel (line 612) | static void fieldsel (LexState *ls, expdesc *v) {
function yindex (line 623) | static void yindex (LexState *ls, expdesc *v) {
type ConsControl (line 639) | struct ConsControl {
function recfield (line 648) | static void recfield (LexState *ls, struct ConsControl *cc) {
function closelistfield (line 669) | static void closelistfield (FuncState *fs, struct ConsControl *cc) {
function lastlistfield (line 680) | static void lastlistfield (FuncState *fs, struct ConsControl *cc) {
function listfield (line 695) | static void listfield (LexState *ls, struct ConsControl *cc) {
function field (line 704) | static void field (LexState *ls, struct ConsControl *cc) {
function constructor (line 726) | static void constructor (LexState *ls, expdesc *t) {
function parlist (line 755) | static void parlist (LexState *ls) {
function body (line 784) | static void body (LexState *ls, expdesc *e, int ismethod, int line) {
function explist (line 806) | static int explist (LexState *ls, expdesc *v) {
function funcargs (line 819) | static void funcargs (LexState *ls, expdesc *f, int line) {
function primaryexp (line 873) | static void primaryexp (LexState *ls, expdesc *v) {
function suffixedexp (line 895) | static void suffixedexp (LexState *ls, expdesc *v) {
function simpleexp (line 933) | static void simpleexp (LexState *ls, expdesc *v) {
function UnOpr (line 988) | static UnOpr getunopr (int op) {
function BinOpr (line 999) | static BinOpr getbinopr (int op) {
function BinOpr (line 1051) | static BinOpr subexpr (LexState *ls, expdesc *v, int limit) {
function expr (line 1081) | static void expr (LexState *ls, expdesc *v) {
function block (line 1096) | static void block (LexState *ls) {
type LHS_assign (line 1110) | struct LHS_assign {
function check_conflict (line 1122) | static void check_conflict (LexState *ls, struct LHS_assign *lh, expdesc...
function BinOpr (line 1149) | static BinOpr op_for_compound_assign(Token r)
function assignment (line 1168) | static void assignment (LexState *ls, struct LHS_assign *lh, int nvars) {
function compound_assign_op (line 1211) | static void compound_assign_op(LexState *ls, expdesc *v) {
function cond (line 1230) | static int cond (LexState *ls) {
function gotostat (line 1240) | static void gotostat (LexState *ls, int pc) {
function checkrepeated (line 1256) | static void checkrepeated (FuncState *fs, Labellist *ll, TString *label) {
function skipnoopstat (line 1270) | static void skipnoopstat (LexState *ls) {
function labelstat (line 1276) | static void labelstat (LexState *ls, TString *label, int line) {
function whilestat (line 1294) | static void whilestat (LexState *ls, int line) {
function repeatstat (line 1313) | static void repeatstat (LexState *ls, int line) {
function exp1 (line 1333) | static int exp1 (LexState *ls) {
function forbody (line 1344) | static void forbody (LexState *ls, int base, int line, int nvars, int is...
function fornum (line 1370) | static void fornum (LexState *ls, TString *varname, int line) {
function forlist (line 1392) | static void forlist (LexState *ls, TString *indexname) {
function forstat (line 1417) | static void forstat (LexState *ls, int line) {
function inline_if (line 1437) | static void inline_if(LexState* ls, expdesc* v)
function test_then_block (line 1479) | static int test_then_block (LexState *ls, int *escapelist) {
function ifstat (line 1528) | static void ifstat (LexState *ls, int line) {
function localfunc (line 1545) | static void localfunc (LexState *ls) {
function localstat (line 1556) | static void localstat (LexState *ls) {
function funcname (line 1576) | static int funcname (LexState *ls, expdesc *v) {
function funcstat (line 1590) | static void funcstat (LexState *ls, int line) {
function exprstat (line 1601) | static void exprstat (LexState *ls) {
function retstat (line 1624) | static void retstat (LexState *ls) {
function statement (line 1657) | static void statement (LexState *ls) {
function mainfunc (line 1732) | static void mainfunc (LexState *ls, FuncState *fs) {
function LClosure (line 1746) | LClosure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff,
FILE: src/lua/lparser.h
type expkind (line 25) | typedef enum {
type expdesc (line 54) | typedef struct expdesc {
type Vardesc (line 72) | typedef struct Vardesc {
type Labeldesc (line 78) | typedef struct Labeldesc {
type Labellist (line 87) | typedef struct Labellist {
type Dyndata (line 95) | typedef struct Dyndata {
type BlockCnt (line 107) | struct BlockCnt
type FuncState (line 111) | typedef struct FuncState {
FILE: src/lua/lstate.c
type LX (line 54) | typedef struct LX {
type LG (line 63) | typedef struct LG {
function makeseed (line 81) | static unsigned int makeseed (lua_State *L) {
function luaE_setdebt (line 98) | void luaE_setdebt (global_State *g, l_mem debt) {
function CallInfo (line 108) | CallInfo *luaE_extendCI (lua_State *L) {
function luaE_freeCI (line 122) | void luaE_freeCI (lua_State *L) {
function luaE_shrinkCI (line 137) | void luaE_shrinkCI (lua_State *L) {
function stack_init (line 151) | static void stack_init (lua_State *L1, lua_State *L) {
function freestack (line 171) | static void freestack (lua_State *L) {
function init_registry (line 184) | static void init_registry (lua_State *L, global_State *g) {
function f_luaopen (line 203) | static void f_luaopen (lua_State *L, void *ud) {
function preinit_thread (line 221) | static void preinit_thread (lua_State *L, global_State *g) {
function close_state (line 242) | static void close_state (lua_State *L) {
function LUA_API (line 255) | LUA_API lua_State *lua_newthread (lua_State *L) {
function luaE_freethread (line 285) | void luaE_freethread (lua_State *L, lua_State *L1) {
function LUA_API (line 295) | LUA_API lua_State *lua_newstate (lua_Alloc f, void *ud) {
function LUA_API (line 341) | LUA_API void lua_close (lua_State *L) {
FILE: src/lua/lstate.h
type lua_longjmp (line 51) | struct lua_longjmp
type stringtable (line 76) | typedef struct stringtable {
type CallInfo (line 92) | typedef struct CallInfo {
type global_State (line 137) | typedef struct global_State {
type lua_State (line 178) | struct lua_State {
type TString (line 213) | struct TString
type Udata (line 214) | struct Udata
type Table (line 216) | struct Table
type Proto (line 217) | struct Proto
type lua_State (line 218) | struct lua_State
FILE: src/lua/lstring.c
function luaS_eqlngstr (line 40) | int luaS_eqlngstr (TString *a, TString *b) {
function luaS_hash (line 49) | unsigned int luaS_hash (const char *str, size_t l, unsigned int seed) {
function luaS_hashlongstr (line 58) | unsigned int luaS_hashlongstr (TString *ts) {
function luaS_resize (line 71) | void luaS_resize (lua_State *L, int newsize) {
function luaS_clearcache (line 103) | void luaS_clearcache (global_State *g) {
function luaS_init (line 116) | void luaS_init (lua_State *L) {
function TString (line 133) | static TString *createstrobj (lua_State *L, size_t l, int tag, unsigned ...
function TString (line 147) | TString *luaS_createlngstrobj (lua_State *L, size_t l) {
function luaS_remove (line 154) | void luaS_remove (lua_State *L, TString *ts) {
function TString (line 167) | static TString *internshrstr (lua_State *L, const char *str, size_t l) {
function TString (line 199) | TString *luaS_newlstr (lua_State *L, const char *str, size_t l) {
function TString (line 219) | TString *luaS_new (lua_State *L, const char *str) {
function Udata (line 236) | Udata *luaS_newudata (lua_State *L, size_t s) {
FILE: src/lua/lstrlib.c
function str_len (line 54) | static int str_len (lua_State *L) {
function lua_Integer (line 63) | static lua_Integer posrelat (lua_Integer pos, size_t len) {
function str_sub (line 70) | static int str_sub (lua_State *L) {
function str_reverse (line 84) | static int str_reverse (lua_State *L) {
function str_lower (line 96) | static int str_lower (lua_State *L) {
function str_upper (line 109) | static int str_upper (lua_State *L) {
function str_rep (line 122) | static int str_rep (lua_State *L) {
function str_byte (line 148) | static int str_byte (lua_State *L) {
function str_char (line 167) | static int str_char (lua_State *L) {
function writer (line 182) | static int writer (lua_State *L, const void *b, size_t size, void *B) {
function str_dump (line 189) | static int str_dump (lua_State *L) {
type MatchState (line 214) | typedef struct MatchState {
function check_capture (line 242) | static int check_capture (MatchState *ms, int l) {
function capture_to_close (line 250) | static int capture_to_close (MatchState *ms) {
function match_class (line 282) | static int match_class (int c, int cl) {
function matchbracketclass (line 302) | static int matchbracketclass (int c, const char *p, const char *ec) {
function singlematch (line 325) | static int singlematch (MatchState *ms, const char *s, const char *p,
function push_onecapture (line 550) | static void push_onecapture (MatchState *ms, int i, const char *s,
function push_captures (line 569) | static int push_captures (MatchState *ms, const char *s, const char *e) {
function nospecials (line 580) | static int nospecials (const char *p, size_t l) {
function prepstate (line 591) | static void prepstate (MatchState *ms, lua_State *L,
function reprepstate (line 601) | static void reprepstate (MatchState *ms) {
function str_find_aux (line 607) | static int str_find_aux (lua_State *L, int find) {
function str_find (line 654) | static int str_find (lua_State *L) {
function str_match (line 659) | static int str_match (lua_State *L) {
type GMatchState (line 665) | typedef struct GMatchState {
function gmatch_aux (line 673) | static int gmatch_aux (lua_State *L) {
function gmatch (line 689) | static int gmatch (lua_State *L) {
function add_s (line 703) | static void add_s (MatchState *ms, luaL_Buffer *b, const char *s,
function add_value (line 731) | static void add_value (MatchState *ms, luaL_Buffer *b, const char *s,
function str_gsub (line 762) | static int str_gsub (lua_State *L) {
function lua_Number (line 833) | static lua_Number adddigit (char *buff, int n, lua_Number x) {
function num2straux (line 841) | static int num2straux (char *buff, int sz, lua_Number x) {
function lua_number2strx (line 873) | static int lua_number2strx (lua_State *L, char *buff, int sz,
function addquoted (line 908) | static void addquoted (luaL_Buffer *b, const char *s, size_t len) {
function checkdp (line 934) | static void checkdp (char *buff, int nb) {
function addliteral (line 943) | static void addliteral (lua_State *L, luaL_Buffer *b, int arg) {
function addlenmod (line 1006) | static void addlenmod (char *form, const char *lenmod) {
function str_format (line 1016) | static int str_format (lua_State *L) {
type cD (line 1131) | struct cD {
type Ftypes (line 1142) | typedef union Ftypes {
type Header (line 1153) | typedef struct Header {
type KOption (line 1163) | typedef enum KOption {
function digit (line 1180) | static int digit (int c) { return '0' <= c && c <= '9'; }
function getnum (line 1182) | static int getnum (const char **fmt, int df) {
function getnumlimit (line 1199) | static int getnumlimit (Header *h, const char **fmt, int df) {
function initheader (line 1211) | static void initheader (lua_State *L, Header *h) {
function KOption (line 1221) | static KOption getoption (Header *h, const char **fmt, int *size) {
function KOption (line 1268) | static KOption getdetails (Header *h, size_t totalsize,
function packint (line 1295) | static void packint (luaL_Buffer *b, lua_Unsigned n,
function copywithendian (line 1316) | static void copywithendian (volatile char *dest, volatile const char *src,
function str_pack (line 1330) | static int str_pack (lua_State *L) {
function str_packsize (line 1417) | static int str_packsize (lua_State *L) {
function lua_Integer (line 1450) | static lua_Integer unpackint (lua_State *L, const char *str,
function str_unpack (line 1476) | static int str_unpack (lua_State *L) {
function createmetatable (line 1564) | static void createmetatable (lua_State *L) {
function LUAMOD_API (line 1579) | LUAMOD_API int luaopen_string (lua_State *L) {
FILE: src/lua/ltable.c
function l_hashfloat (line 97) | static int l_hashfloat (lua_Number n) {
function Node (line 117) | static Node *mainposition (const Table *t, const TValue *key) {
function arrayindex (line 144) | static unsigned int arrayindex (const TValue *key) {
function findindex (line 159) | static unsigned int findindex (lua_State *L, Table *t, StkId key) {
function luaH_next (line 186) | int luaH_next (lua_State *L, Table *t, StkId key) {
function computesizes (line 219) | static unsigned int computesizes (unsigned int nums[], unsigned int *pna) {
function countint (line 243) | static int countint (const TValue *key, unsigned int *nums) {
function numusearray (line 259) | static unsigned int numusearray (const Table *t, unsigned int *nums) {
function numusehash (line 285) | static int numusehash (const Table *t, unsigned int *nums, unsigned int ...
function setarrayvector (line 301) | static void setarrayvector (lua_State *L, Table *t, unsigned int size) {
function setnodevector (line 310) | static void setnodevector (lua_State *L, Table *t, unsigned int size) {
type AuxsetnodeT (line 335) | typedef struct {
function auxsetnode (line 341) | static void auxsetnode (lua_State *L, void *ud) {
function luaH_resize (line 347) | void luaH_resize (lua_State *L, Table *t, unsigned int nasize,
function luaH_resizearray (line 387) | void luaH_resizearray (lua_State *L, Table *t, unsigned int nasize) {
function rehash (line 395) | static void rehash (lua_State *L, Table *t, const TValue *ek) {
function Table (line 421) | Table *luaH_new (lua_State *L) {
function luaH_free (line 433) | void luaH_free (lua_State *L, Table *t) {
function Node (line 441) | static Node *getfreepos (Table *t) {
function TValue (line 461) | TValue *luaH_newkey (lua_State *L, Table *t, const TValue *key) {
function TValue (line 516) | const TValue *luaH_getint (Table *t, lua_Integer key) {
function TValue (line 539) | const TValue *luaH_getshortstr (Table *t, TString *key) {
function TValue (line 560) | static const TValue *getgeneric (Table *t, const TValue *key) {
function TValue (line 575) | const TValue *luaH_getstr (Table *t, TString *key) {
function TValue (line 589) | const TValue *luaH_get (Table *t, const TValue *key) {
function TValue (line 610) | TValue *luaH_set (lua_State *L, Table *t, const TValue *key) {
function luaH_setint (line 618) | void luaH_setint (lua_State *L, Table *t, lua_Integer key, TValue *value) {
function lua_Unsigned (line 632) | static lua_Unsigned unbound_search (Table *t, lua_Unsigned j) {
function lua_Unsigned (line 660) | lua_Unsigned luaH_getn (Table *t) {
function Node (line 682) | Node *luaH_mainposition (const Table *t, const TValue *key) {
function luaH_isdummy (line 686) | int luaH_isdummy (const Table *t) { return isdummy(t); }
FILE: src/lua/ltablib.c
function checkfield (line 36) | static int checkfield (lua_State *L, const char *key, int n) {
function checktab (line 46) | static void checktab (lua_State *L, int arg, int what) {
function maxn (line 62) | static int maxn (lua_State *L) {
function tinsert (line 79) | static int tinsert (lua_State *L) {
function tremove (line 106) | static int tremove (lua_State *L) {
function tmove (line 128) | static int tmove (lua_State *L) {
function addfield (line 160) | static void addfield (lua_State *L, luaL_Buffer *b, lua_Integer i) {
function tconcat (line 169) | static int tconcat (lua_State *L) {
function pack (line 194) | static int pack (lua_State *L) {
function unpack (line 207) | static int unpack (lua_State *L) {
type IdxT (line 236) | typedef unsigned int IdxT;
function l_randomizePivot (line 258) | static unsigned int l_randomizePivot (void) {
function set2 (line 277) | static void set2 (lua_State *L, IdxT i, IdxT j) {
function sort_comp (line 287) | static int sort_comp (lua_State *L, int a, int b) {
function IdxT (line 310) | static IdxT partition (lua_State *L, IdxT lo, IdxT up) {
function IdxT (line 346) | static IdxT choosePivot (IdxT lo, IdxT up, unsigned int rnd) {
function auxsort (line 357) | static void auxsort (lua_State *L, IdxT lo, IdxT up,
function sort (line 411) | static int sort (lua_State *L) {
function LUAMOD_API (line 441) | LUAMOD_API int luaopen_table (lua_State *L) {
FILE: src/lua/ltests.c
function setnameval (line 55) | static void setnameval (lua_State *L, const char *name, int val) {
function pushobject (line 62) | static void pushobject (lua_State *L, const TValue *o) {
function tpanic (line 68) | static int tpanic (lua_State *L) {
type Header (line 83) | typedef union Header {
function freeblock (line 111) | static void freeblock (Memcontrol *mc, Header *block) {
function testobjref1 (line 189) | static int testobjref1 (global_State *g, GCObject *f, GCObject *t) {
function printobj (line 197) | static void printobj (global_State *g, GCObject *o) {
function testobjref (line 204) | static int testobjref (global_State *g, GCObject *f, GCObject *t) {
function checkvalref (line 220) | static void checkvalref (global_State *g, GCObject *f, const TValue *t) {
function checktable (line 226) | static void checktable (global_State *g, Table *h) {
function checkproto (line 247) | static void checkproto (global_State *g, Proto *f) {
function checkCclosure (line 266) | static void checkCclosure (global_State *g, CClosure *cl) {
function checkLclosure (line 274) | static void checkLclosure (global_State *g, LClosure *cl) {
function lua_checkpc (line 289) | static int lua_checkpc (lua_State *L, CallInfo *ci) {
function checkstack (line 303) | static void checkstack (global_State *g, lua_State *L1) {
function checkobject (line 322) | static void checkobject (global_State *g, GCObject *o, int maybedead) {
function checkgraylist (line 369) | static void checkgraylist (global_State *g, GCObject *o) {
function markgrays (line 391) | static void markgrays (global_State *g) {
function checkgray (line 401) | static void checkgray (global_State *g, GCObject *o) {
function lua_checkmemory (line 412) | int lua_checkmemory (lua_State *L) {
function luaI_printcode (line 490) | void luaI_printcode (Proto *pt, int size) {
function luaI_printinst (line 500) | void luaI_printinst (Proto *pt, int pc) {
function listcode (line 507) | static int listcode (lua_State *L) {
function listk (line 526) | static int listk (lua_State *L) {
function listlocals (line 541) | static int listlocals (lua_State *L) {
function printstack (line 558) | static void printstack (lua_State *L) {
function get_limits (line 569) | static int get_limits (lua_State *L) {
function mem_query (line 582) | static int mem_query (lua_State *L) {
function settrick (line 609) | static int settrick (lua_State *L) {
function gc_color (line 618) | static int gc_color (lua_State *L) {
function gc_state (line 634) | static int gc_state (lua_State *L) {
function hash_query (line 658) | static int hash_query (lua_State *L) {
function stacklevel (line 674) | static int stacklevel (lua_State *L) {
function table_query (line 683) | static int table_query (lua_State *L) {
function string_query (line 716) | static int string_query (lua_State *L) {
function tref (line 738) | static int tref (lua_State *L) {
function getref (line 747) | static int getref (lua_State *L) {
function unref (line 754) | static int unref (lua_State *L) {
function upvalue (line 762) | static int upvalue (lua_State *L) {
function newuserdata (line 779) | static int newuserdata (lua_State *L) {
function pushuserdata (line 787) | static int pushuserdata (lua_State *L) {
function udataval (line 794) | static int udataval (lua_State *L) {
function doonnewstack (line 800) | static int doonnewstack (lua_State *L) {
function s2d (line 812) | static int s2d (lua_State *L) {
function d2s (line 818) | static int d2s (lua_State *L) {
function num2int (line 825) | static int num2int (lua_State *L) {
function newstate (line 831) | static int newstate (lua_State *L) {
function lua_State (line 845) | static lua_State *getstate (lua_State *L) {
function loadlib (line 852) | static int loadlib (lua_State *L) {
function closestate (line 880) | static int closestate (lua_State *L) {
function doremote (line 886) | static int doremote (lua_State *L) {
function int2fb_aux (line 911) | static int int2fb_aux (lua_State *L) {
function log2_aux (line 919) | static int log2_aux (lua_State *L) {
type Aux (line 926) | struct Aux { jmp_buf jb; const char *paniccode; lua_State *L; }
function panicback (line 931) | static int panicback (lua_State *L) {
function checkpanic (line 942) | static int checkpanic (lua_State *L) {
function skip (line 984) | static void skip (const char **pc) {
function getnum_aux (line 994) | static int getnum_aux (lua_State *L, lua_State *L1, const char **pc) {
function getindex_aux (line 1039) | static int getindex_aux (lua_State *L, lua_State *L1, const char **pc) {
function pushcode (line 1050) | static void pushcode (lua_State *L, int code) {
function runC (line 1077) | static int runC (lua_State *L, lua_State *L1, const char *pc) {
function testC (line 1386) | static int testC (lua_State *L) {
function Cfunc (line 1405) | static int Cfunc (lua_State *L) {
function Cfunck (line 1410) | static int Cfunck (lua_State *L, int status, lua_KContext ctx) {
function makeCfunc (line 1419) | static int makeCfunc (lua_State *L) {
function Chook (line 1438) | static void Chook (lua_State *L, lua_Debug *ar) {
function sethookaux (line 1455) | static void sethookaux (lua_State *L, int mask, int count, const char *s...
function sethook (line 1474) | static int sethook (lua_State *L) {
function coresume (line 1492) | static int coresume (lua_State *L) {
type luaL_Reg (line 1512) | struct luaL_Reg
function checkfinalmem (line 1552) | static void checkfinalmem (void) {
function luaB_opentests (line 1558) | int luaB_opentests (lua_State *L) {
FILE: src/lua/ltests.h
type Memcontrol (line 50) | typedef struct Memcontrol {
type L_EXTRA (line 76) | struct L_EXTRA { int lock; int *plock; }
FILE: src/lua/ltm.c
function luaT_init (line 37) | void luaT_init (lua_State *L) {
function TValue (line 59) | const TValue *luaT_gettm (Table *events, TMS event, TString *ename) {
function TValue (line 70) | const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o, TMS event) {
function luaT_callTM (line 102) | void luaT_callTM (lua_State *L, const TValue *f, const TValue *p1,
function luaT_callbinTM (line 124) | int luaT_callbinTM (lua_State *L, const TValue *p1, const TValue *p2,
function luaT_trybinTM (line 135) | void luaT_trybinTM (lua_State *L, const TValue *p1, const TValue *p2,
function luaT_callorderTM (line 158) | int luaT_callorderTM (lua_State *L, const TValue *p1, const TValue *p2,
FILE: src/lua/ltm.h
type TMS (line 18) | typedef enum {
FILE: src/lua/lua.h
type lua_State (line 56) | typedef struct lua_State lua_State;
type LUA_NUMBER (line 89) | typedef LUA_NUMBER lua_Number;
type LUA_INTEGER (line 93) | typedef LUA_INTEGER lua_Integer;
type LUA_UNSIGNED (line 96) | typedef LUA_UNSIGNED lua_Unsigned;
type LUA_KCONTEXT (line 99) | typedef LUA_KCONTEXT lua_KContext;
type lua_Debug (line 417) | typedef struct lua_Debug lua_Debug;
type lua_Debug (line 441) | struct lua_Debug {
FILE: src/lua/lundump.c
type LoadState (line 32) | typedef struct {
function l_noret (line 39) | static l_noret error(LoadState *S, const char *why) {
function LoadBlock (line 51) | static void LoadBlock (LoadState *S, void *b, size_t size) {
function lu_byte (line 60) | static lu_byte LoadByte (LoadState *S) {
function LoadInt (line 67) | static int LoadInt (LoadState *S) {
function lua_Number (line 74) | static lua_Number LoadNumber (LoadState *S) {
function lua_Integer (line 81) | static lua_Integer LoadInteger (LoadState *S) {
function TString (line 88) | static TString *LoadString (LoadState *S) {
function LoadCode (line 107) | static void LoadCode (LoadState *S, Proto *f) {
function LoadConstants (line 118) | static void LoadConstants (LoadState *S, Proto *f) {
function LoadProtos (line 152) | static void LoadProtos (LoadState *S, Proto *f) {
function LoadUpvalues (line 166) | static void LoadUpvalues (LoadState *S, Proto *f) {
function LoadDebug (line 180) | static void LoadDebug (LoadState *S, Proto *f) {
function LoadFunction (line 202) | static void LoadFunction (LoadState *S, Proto *f, TString *psource) {
function checkliteral (line 219) | static void checkliteral (LoadState *S, const char *s, const char *msg) {
function fchecksize (line 228) | static void fchecksize (LoadState *S, size_t size, const char *tname) {
function checkHeader (line 236) | static void checkHeader (LoadState *S) {
function LClosure (line 258) | LClosure *luaU_undump(lua_State *L, ZIO *Z, const char *name) {
FILE: src/lua/lutf8lib.c
function lua_Integer (line 30) | static lua_Integer u_posrelat (lua_Integer pos, size_t len) {
function utflen (line 71) | static int utflen (lua_State *L) {
function codepoint (line 100) | static int codepoint (lua_State *L) {
function pushutfchar (line 128) | static void pushutfchar (lua_State *L, int arg) {
function utfchar (line 138) | static int utfchar (lua_State *L) {
function byteoffset (line 160) | static int byteoffset (lua_State *L) {
function iter_aux (line 201) | static int iter_aux (lua_State *L) {
function iter_codes (line 225) | static int iter_codes (lua_State *L) {
function LUAMOD_API (line 250) | LUAMOD_API int luaopen_utf8 (lua_State *L) {
FILE: src/lua/lvm.c
function luaV_tonumber_ (line 72) | int luaV_tonumber_ (const TValue *obj, lua_Number *n) {
function luaV_tointeger (line 94) | int luaV_tointeger (const TValue *obj, lua_Integer *p, int mode) {
function forlimit (line 135) | static int forlimit (const TValue *obj, lua_Integer *p, lua_Integer step,
function luaV_finishget (line 160) | void luaV_finishget (lua_State *L, const TValue *t, TValue *key, StkId val,
function luaV_finishset (line 203) | void luaV_finishset (lua_State *L, const TValue *t, TValue *key,
function l_strcmp (line 248) | static int l_strcmp (const TString *ls, const TString *rs) {
function LTintfloat (line 281) | static int LTintfloat (lua_Integer i, lua_Number f) {
function LEintfloat (line 300) | static int LEintfloat (lua_Integer i, lua_Number f) {
function LTnum (line 318) | static int LTnum (const TValue *l, const TValue *r) {
function LEnum (line 341) | static int LEnum (const TValue *l, const TValue *r) {
function luaV_lessthan (line 364) | int luaV_lessthan (lua_State *L, const TValue *l, const TValue *r) {
function luaV_lessequal (line 384) | int luaV_lessequal (lua_State *L, const TValue *l, const TValue *r) {
function luaV_equalobj (line 407) | int luaV_equalobj (lua_State *L, const TValue *t1, const TValue *t2) {
function copy2buff (line 460) | static void copy2buff (StkId top, int n, char *buff) {
function luaV_concat (line 474) | void luaV_concat (lua_State *L, int total) {
function luaV_objlen (line 517) | void luaV_objlen (lua_State *L, StkId ra, const TValue *rb) {
function lua_Integer (line 552) | lua_Integer luaV_div (lua_State *L, lua_Integer m, lua_Integer n) {
function lua_Integer (line 572) | lua_Integer luaV_mod (lua_State *L, lua_Integer m, lua_Integer n) {
function lua_Integer (line 593) | lua_Integer luaV_shiftl (lua_Integer x, lua_Integer y) {
function LClosure (line 610) | static LClosure *getcached (Proto *p, UpVal **encup, StkId base) {
function pushclosure (line 632) | static void pushclosure (lua_State *L, Proto *p, UpVal **encup, StkId base,
function luaV_finishOp (line 656) | void luaV_finishOp (lua_State *L) {
function luaV_execute (line 786) | void luaV_execute (lua_State *L) {
FILE: src/lua/lzio.c
function luaZ_fill (line 23) | int luaZ_fill (ZIO *z) {
function luaZ_init (line 38) | void luaZ_init (lua_State *L, ZIO *z, lua_Reader reader, void *data) {
function luaZ_read (line 48) | size_t luaZ_read (ZIO *z, void *b, size_t n) {
FILE: src/lua/lzio.h
type ZIO (line 18) | typedef struct Zio ZIO;
type Mbuffer (line 23) | typedef struct Mbuffer {
type Zio (line 55) | struct Zio {
FILE: src/main.cpp
function main (line 29) | int main(int argc, char* argv[])
FILE: src/test/catch.hpp
type Catch (line 95) | namespace Catch {
type CaseSensitive (line 463) | struct CaseSensitive { enum Choice {
type Choice (line 463) | enum Choice {
class NonCopyable (line 468) | class NonCopyable {
method NonCopyable (line 469) | NonCopyable( NonCopyable const& ) = delete;
method NonCopyable (line 470) | NonCopyable( NonCopyable && ) = delete;
method NonCopyable (line 471) | NonCopyable& operator = ( NonCopyable const& ) = delete;
method NonCopyable (line 472) | NonCopyable& operator = ( NonCopyable && ) = delete;
type SourceLineInfo (line 479) | struct SourceLineInfo {
method SourceLineInfo (line 481) | SourceLineInfo() = delete;
method SourceLineInfo (line 482) | SourceLineInfo( char const* _file, std::size_t _line ) noexcept
method SourceLineInfo (line 487) | SourceLineInfo( SourceLineInfo const& other ) = default;
method SourceLineInfo (line 488) | SourceLineInfo& operator = ( SourceLineInfo const& ) = default;
method SourceLineInfo (line 489) | SourceLineInfo( SourceLineInfo&& ) noexcept = default;
method SourceLineInfo (line 490) | SourceLineInfo& operator = ( SourceLineInfo&& ) noexcept = default;
method empty (line 492) | bool empty() const noexcept { return file[0] == '\0'; }
type StreamEndStop (line 511) | struct StreamEndStop {
function T (line 515) | T const& operator + ( T const& value, StreamEndStop ) {
type RegistrarForTagAliases (line 526) | struct RegistrarForTagAliases {
class TestSpec (line 547) | class TestSpec
class Pattern (line 5053) | class Pattern {
class NamePattern (line 5064) | class NamePattern : public Pattern {
class TagPattern (line 5072) | class TagPattern : public Pattern {
class ExcludedPattern (line 5080) | class ExcludedPattern : public Pattern {
type Filter (line 5088) | struct Filter {
type FilterMatch (line 5096) | struct FilterMatch {
type ITestInvoker (line 549) | struct ITestInvoker {
class TestCase (line 554) | class TestCase
type IConfig (line 555) | struct IConfig
type ITestCaseRegistry (line 557) | struct ITestCaseRegistry {
class StringRef (line 583) | class StringRef {
method StringRef (line 595) | constexpr StringRef() noexcept = default;
method StringRef (line 599) | constexpr StringRef( char const* rawChars, size_type size ) noexcept
method StringRef (line 604) | StringRef( std::string const& stdString ) noexcept
method empty (line 625) | constexpr auto empty() const noexcept -> bool {
method size (line 628) | constexpr auto size() const noexcept -> size_type {
method isNullTerminated (line 645) | constexpr auto isNullTerminated() const noexcept -> bool {
method const_iterator (line 650) | constexpr const_iterator begin() const { return m_start; }
method const_iterator (line 651) | constexpr const_iterator end() const { return m_start + m_size; }
type always_false (line 902) | struct always_false : std::false_type {}
type true_given (line 904) | struct true_given : std::true_type {}
type is_callable_tester (line 905) | struct is_callable_tester {
type is_callable (line 913) | struct is_callable
class TestInvokerAsMethod (line 939) | class TestInvokerAsMethod : public ITestInvoker {
method TestInvokerAsMethod (line 942) | TestInvokerAsMethod( void (C::*testAsMethod)() ) noexcept : m_testAs...
method invoke (line 944) | void invoke() const override {
function makeTestInvoker (line 953) | auto makeTestInvoker( void (C::*testAsMethod)() ) noexcept -> ITestInv...
type NameAndTags (line 957) | struct NameAndTags {
type AutoReg (line 963) | struct AutoReg : NonCopyable {
type ResultWas (line 1330) | struct ResultWas { enum OfType {
type OfType (line 1330) | enum OfType {
type ResultDisposition (line 1354) | struct ResultDisposition { enum Flags {
type Flags (line 1354) | enum Flags {
function isFalseTest (line 1365) | inline bool isFalseTest( int flags ) { return ( flags & ResultDisposit...
type AssertionInfo (line 1373) | struct AssertionInfo
class StringRef (line 1408) | class StringRef
method StringRef (line 595) | constexpr StringRef() noexcept = default;
method StringRef (line 599) | constexpr StringRef( char const* rawChars, size_type size ) noexcept
method StringRef (line 604) | StringRef( std::string const& stdString ) noexcept
method empty (line 625) | constexpr auto empty() const noexcept -> bool {
method size (line 628) | constexpr auto size() const noexcept -> size_type {
method isNullTerminated (line 645) | constexpr auto isNullTerminated() const noexcept -> bool {
method const_iterator (line 650) | constexpr const_iterator begin() const { return m_start; }
method const_iterator (line 651) | constexpr const_iterator end() const { return m_start + m_size; }
type IStream (line 1410) | struct IStream {
class ReusableStringStream (line 1417) | class ReusableStringStream : NonCopyable {
method get (line 1431) | auto get() -> std::ostream& { return *m_oss; }
type Detail (line 1442) | namespace Detail {
type EnumInfo (line 1443) | struct EnumInfo {
function rawMemoryToString (line 1536) | std::string rawMemoryToString( const T& object ) {
class IsStreamInsertable (line 1541) | class IsStreamInsertable {
function convertUnstreamable (line 1557) | typename std::enable_if<
function convertUnstreamable (line 1563) | typename std::enable_if<
function convertUnstreamable (line 1570) | typename std::enable_if<
function stringify (line 1621) | std::string stringify(const T& e) {
function convertUnknownEnumToString (line 1626) | std::string convertUnknownEnumToString( E e ) {
function rangeToString (line 1806) | std::string rangeToString(InputIterator first, InputIterator last) {
function stringify (line 1836) | inline std::string stringify( NSString* nsstring ) {
type TupleElementPrinter (line 1904) | struct TupleElementPrinter {
method print (line 1905) | static void print(const Tuple& tuple, std::ostream& os) {
type TupleElementPrinter<Tuple, N, false> (line 1916) | struct TupleElementPrinter<Tuple, N, false> {
method print (line 1917) | static void print(const Tuple&, std::ostream&) {}
class Approx (line 3032) | class Approx {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
type ObjectStorage (line 7325) | struct ObjectStorage
method ObjectStorage (line 7329) | ObjectStorage() : data() {}
method ObjectStorage (line 7331) | ObjectStorage(const ObjectStorage& other)
method ObjectStorage (line 7336) | ObjectStorage(ObjectStorage&& other)
method construct (line 7344) | void construct(Args&&... args)
method destruct (line 7350) | typename std::enable_if<AllowManualDestruction>::type destruct()
method destruct_on_exit (line 7358) | void destruct_on_exit(typename std::enable_if<Destruct, U>::type* ...
method destruct_on_exit (line 7361) | void destruct_on_exit(typename std::enable_if<!Destruct, U>::type*...
method T (line 7363) | T& stored_object()
function Approx (line 7791) | Approx Approx::custom() {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
function Approx (line 7795) | Approx Approx::operator-() const {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
class EnumValuesRegistry (line 10443) | class EnumValuesRegistry : public IMutableEnumValuesRegistry {
function StringRef (line 10470) | StringRef extractInstanceName(StringRef enumInstance) {
function parseEnums (line 10480) | std::vector<StringRef> parseEnums( StringRef enums ) {
function StringRef (line 10492) | StringRef EnumInfo::lookup( int value ) const {
function makeEnumInfo (line 10500) | std::unique_ptr<EnumInfo> makeEnumInfo( StringRef enumName, StringRe...
function EnumInfo (line 10514) | EnumInfo const& EnumValuesRegistry::registerEnum( StringRef enumName...
class StreamBufImpl (line 13408) | class StreamBufImpl : public std::streambuf {
method StreamBufImpl (line 13413) | StreamBufImpl() {
method overflow (line 13422) | int overflow( int c ) override {
method sync (line 13434) | int sync() override {
type OutputDebugWriter (line 13445) | struct OutputDebugWriter {
class FileStream (line 13454) | class FileStream : public IStream {
method FileStream (line 13457) | FileStream( StringRef filename ) {
class CoutStream (line 13470) | class CoutStream : public IStream {
method CoutStream (line 13475) | CoutStream() : m_os( Catch::cout().rdbuf() ) {}
class DebugOutStream (line 13484) | class DebugOutStream : public IStream {
method DebugOutStream (line 13488) | DebugOutStream()
type Endianness (line 14725) | struct Endianness {
type Arch (line 14726) | enum Arch { Big, Little }
method Arch (line 14728) | static Arch which() {
function rawMemoryToString (line 14738) | std::string rawMemoryToString( const void *object, std::size_t size ) {
type IMutableEnumValuesRegistry (line 1453) | struct IMutableEnumValuesRegistry {
type Detail (line 1529) | namespace Detail {
type EnumInfo (line 1443) | struct EnumInfo {
function rawMemoryToString (line 1536) | std::string rawMemoryToString( const T& object ) {
class IsStreamInsertable (line 1541) | class IsStreamInsertable {
function convertUnstreamable (line 1557) | typename std::enable_if<
function convertUnstreamable (line 1563) | typename std::enable_if<
function convertUnstreamable (line 1570) | typename std::enable_if<
function stringify (line 1621) | std::string stringify(const T& e) {
function convertUnknownEnumToString (line 1626) | std::string convertUnknownEnumToString( E e ) {
function rangeToString (line 1806) | std::string rangeToString(InputIterator first, InputIterator last) {
function stringify (line 1836) | inline std::string stringify( NSString* nsstring ) {
type TupleElementPrinter (line 1904) | struct TupleElementPrinter {
method print (line 1905) | static void print(const Tuple& tuple, std::ostream& os) {
type TupleElementPrinter<Tuple, N, false> (line 1916) | struct TupleElementPrinter<Tuple, N, false> {
method print (line 1917) | static void print(const Tuple&, std::ostream&) {}
class Approx (line 3032) | class Approx {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
type ObjectStorage (line 7325) | struct ObjectStorage
method ObjectStorage (line 7329) | ObjectStorage() : data() {}
method ObjectStorage (line 7331) | ObjectStorage(const ObjectStorage& other)
method ObjectStorage (line 7336) | ObjectStorage(ObjectStorage&& other)
method construct (line 7344) | void construct(Args&&... args)
method destruct (line 7350) | typename std::enable_if<AllowManualDestruction>::type destruct()
method destruct_on_exit (line 7358) | void destruct_on_exit(typename std::enable_if<Destruct, U>::type* ...
method destruct_on_exit (line 7361) | void destruct_on_exit(typename std::enable_if<!Destruct, U>::type*...
method T (line 7363) | T& stored_object()
function Approx (line 7791) | Approx Approx::custom() {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
function Approx (line 7795) | Approx Approx::operator-() const {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
class EnumValuesRegistry (line 10443) | class EnumValuesRegistry : public IMutableEnumValuesRegistry {
function StringRef (line 10470) | StringRef extractInstanceName(StringRef enumInstance) {
function parseEnums (line 10480) | std::vector<StringRef> parseEnums( StringRef enums ) {
function StringRef (line 10492) | StringRef EnumInfo::lookup( int value ) const {
function makeEnumInfo (line 10500) | std::unique_ptr<EnumInfo> makeEnumInfo( StringRef enumName, StringRe...
function EnumInfo (line 10514) | EnumInfo const& EnumValuesRegistry::registerEnum( StringRef enumName...
class StreamBufImpl (line 13408) | class StreamBufImpl : public std::streambuf {
method StreamBufImpl (line 13413) | StreamBufImpl() {
method overflow (line 13422) | int overflow( int c ) override {
method sync (line 13434) | int sync() override {
type OutputDebugWriter (line 13445) | struct OutputDebugWriter {
class FileStream (line 13454) | class FileStream : public IStream {
method FileStream (line 13457) | FileStream( StringRef filename ) {
class CoutStream (line 13470) | class CoutStream : public IStream {
method CoutStream (line 13475) | CoutStream() : m_os( Catch::cout().rdbuf() ) {}
class DebugOutStream (line 13484) | class DebugOutStream : public IStream {
method DebugOutStream (line 13488) | DebugOutStream()
type Endianness (line 14725) | struct Endianness {
type Arch (line 14726) | enum Arch { Big, Little }
method Arch (line 14728) | static Arch which() {
function rawMemoryToString (line 14738) | std::string rawMemoryToString( const void *object, std::size_t size ) {
type StringMaker (line 1592) | struct StringMaker {
method convert (line 1594) | static
method convert (line 1605) | static
type Detail (line 1616) | namespace Detail {
type EnumInfo (line 1443) | struct EnumInfo {
function rawMemoryToString (line 1536) | std::string rawMemoryToString( const T& object ) {
class IsStreamInsertable (line 1541) | class IsStreamInsertable {
function convertUnstreamable (line 1557) | typename std::enable_if<
function convertUnstreamable (line 1563) | typename std::enable_if<
function convertUnstreamable (line 1570) | typename std::enable_if<
function stringify (line 1621) | std::string stringify(const T& e) {
function convertUnknownEnumToString (line 1626) | std::string convertUnknownEnumToString( E e ) {
function rangeToString (line 1806) | std::string rangeToString(InputIterator first, InputIterator last) {
function stringify (line 1836) | inline std::string stringify( NSString* nsstring ) {
type TupleElementPrinter (line 1904) | struct TupleElementPrinter {
method print (line 1905) | static void print(const Tuple& tuple, std::ostream& os) {
type TupleElementPrinter<Tuple, N, false> (line 1916) | struct TupleElementPrinter<Tuple, N, false> {
method print (line 1917) | static void print(const Tuple&, std::ostream&) {}
class Approx (line 3032) | class Approx {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
type ObjectStorage (line 7325) | struct ObjectStorage
method ObjectStorage (line 7329) | ObjectStorage() : data() {}
method ObjectStorage (line 7331) | ObjectStorage(const ObjectStorage& other)
method ObjectStorage (line 7336) | ObjectStorage(ObjectStorage&& other)
method construct (line 7344) | void construct(Args&&... args)
method destruct (line 7350) | typename std::enable_if<AllowManualDestruction>::type destruct()
method destruct_on_exit (line 7358) | void destruct_on_exit(typename std::enable_if<Destruct, U>::type* ...
method destruct_on_exit (line 7361) | void destruct_on_exit(typename std::enable_if<!Destruct, U>::type*...
method T (line 7363) | T& stored_object()
function Approx (line 7791) | Approx Approx::custom() {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
function Approx (line 7795) | Approx Approx::operator-() const {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
class EnumValuesRegistry (line 10443) | class EnumValuesRegistry : public IMutableEnumValuesRegistry {
function StringRef (line 10470) | StringRef extractInstanceName(StringRef enumInstance) {
function parseEnums (line 10480) | std::vector<StringRef> parseEnums( StringRef enums ) {
function StringRef (line 10492) | StringRef EnumInfo::lookup( int value ) const {
function makeEnumInfo (line 10500) | std::unique_ptr<EnumInfo> makeEnumInfo( StringRef enumName, StringRe...
function EnumInfo (line 10514) | EnumInfo const& EnumValuesRegistry::registerEnum( StringRef enumName...
class StreamBufImpl (line 13408) | class StreamBufImpl : public std::streambuf {
method StreamBufImpl (line 13413) | StreamBufImpl() {
method overflow (line 13422) | int overflow( int c ) override {
method sync (line 13434) | int sync() override {
type OutputDebugWriter (line 13445) | struct OutputDebugWriter {
class FileStream (line 13454) | class FileStream : public IStream {
method FileStream (line 13457) | FileStream( StringRef filename ) {
class CoutStream (line 13470) | class CoutStream : public IStream {
method CoutStream (line 13475) | CoutStream() : m_os( Catch::cout().rdbuf() ) {}
class DebugOutStream (line 13484) | class DebugOutStream : public IStream {
method DebugOutStream (line 13488) | DebugOutStream()
type Endianness (line 14725) | struct Endianness {
type Arch (line 14726) | enum Arch { Big, Little }
method Arch (line 14728) | static Arch which() {
function rawMemoryToString (line 14738) | std::string rawMemoryToString( const void *object, std::size_t size ) {
type StringMaker<std::string> (line 1642) | struct StringMaker<std::string> {
type StringMaker<std::string_view> (line 1648) | struct StringMaker<std::string_view> {
type StringMaker<char const *> (line 1654) | struct StringMaker<char const *> {
type StringMaker<char *> (line 1658) | struct StringMaker<char *> {
type StringMaker<std::wstring> (line 1664) | struct StringMaker<std::wstring> {
type StringMaker<std::wstring_view> (line 1670) | struct StringMaker<std::wstring_view> {
type StringMaker<wchar_t const *> (line 1676) | struct StringMaker<wchar_t const *> {
type StringMaker<wchar_t *> (line 1680) | struct StringMaker<wchar_t *> {
type StringMaker<char[SZ]> (line 1688) | struct StringMaker<char[SZ]> {
method convert (line 1689) | static std::string convert(char const* str) {
type StringMaker<signed char[SZ]> (line 1694) | struct StringMaker<signed char[SZ]> {
method convert (line 1695) | static std::string convert(signed char const* str) {
type StringMaker<unsigned char[SZ]> (line 1700) | struct StringMaker<unsigned char[SZ]> {
method convert (line 1701) | static std::string convert(unsigned char const* str) {
type StringMaker<std::byte> (line 1708) | struct StringMaker<std::byte> {
type StringMaker<int> (line 1713) | struct StringMaker<int> {
type StringMaker<long> (line 1717) | struct StringMaker<long> {
type StringMaker<long long> (line 1721) | struct StringMaker<long long> {
type StringMaker<unsigned int> (line 1725) | struct StringMaker<unsigned int> {
type StringMaker<unsigned long> (line 1729) | struct StringMaker<unsigned long> {
type StringMaker<unsigned long long> (line 1733) | struct StringMaker<unsigned long long> {
type StringMaker<bool> (line 1738) | struct StringMaker<bool> {
type StringMaker<char> (line 1743) | struct StringMaker<char> {
type StringMaker<signed char> (line 1747) | struct StringMaker<signed char> {
type StringMaker<unsigned char> (line 1751) | struct StringMaker<unsigned char> {
type StringMaker<std::nullptr_t> (line 1756) | struct StringMaker<std::nullptr_t> {
type StringMaker<float> (line 1761) | struct StringMaker<float> {
type StringMaker<double> (line 1767) | struct StringMaker<double> {
type StringMaker<T*> (line 1773) | struct StringMaker<T*> {
method convert (line 1775) | static std::string convert(U* p) {
type StringMaker<R C::*> (line 1785) | struct StringMaker<R C::*> {
method convert (line 1786) | static std::string convert(R C::* p) {
type StringMaker<T^> (line 1797) | struct StringMaker<T^> {
method convert (line 1798) | static std::string convert( T^ ref ) {
type Detail (line 1804) | namespace Detail {
type EnumInfo (line 1443) | struct EnumInfo {
function rawMemoryToString (line 1536) | std::string rawMemoryToString( const T& object ) {
class IsStreamInsertable (line 1541) | class IsStreamInsertable {
function convertUnstreamable (line 1557) | typename std::enable_if<
function convertUnstreamable (line 1563) | typename std::enable_if<
function convertUnstreamable (line 1570) | typename std::enable_if<
function stringify (line 1621) | std::string stringify(const T& e) {
function convertUnknownEnumToString (line 1626) | std::string convertUnknownEnumToString( E e ) {
function rangeToString (line 1806) | std::string rangeToString(InputIterator first, InputIterator last) {
function stringify (line 1836) | inline std::string stringify( NSString* nsstring ) {
type TupleElementPrinter (line 1904) | struct TupleElementPrinter {
method print (line 1905) | static void print(const Tuple& tuple, std::ostream& os) {
type TupleElementPrinter<Tuple, N, false> (line 1916) | struct TupleElementPrinter<Tuple, N, false> {
method print (line 1917) | static void print(const Tuple&, std::ostream&) {}
class Approx (line 3032) | class Approx {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
type ObjectStorage (line 7325) | struct ObjectStorage
method ObjectStorage (line 7329) | ObjectStorage() : data() {}
method ObjectStorage (line 7331) | ObjectStorage(const ObjectStorage& other)
method ObjectStorage (line 7336) | ObjectStorage(ObjectStorage&& other)
method construct (line 7344) | void construct(Args&&... args)
method destruct (line 7350) | typename std::enable_if<AllowManualDestruction>::type destruct()
method destruct_on_exit (line 7358) | void destruct_on_exit(typename std::enable_if<Destruct, U>::type* ...
method destruct_on_exit (line 7361) | void destruct_on_exit(typename std::enable_if<!Destruct, U>::type*...
method T (line 7363) | T& stored_object()
function Approx (line 7791) | Approx Approx::custom() {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
function Approx (line 7795) | Approx Approx::operator-() const {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
class EnumValuesRegistry (line 10443) | class EnumValuesRegistry : public IMutableEnumValuesRegistry {
function StringRef (line 10470) | StringRef extractInstanceName(StringRef enumInstance) {
function parseEnums (line 10480) | std::vector<StringRef> parseEnums( StringRef enums ) {
function StringRef (line 10492) | StringRef EnumInfo::lookup( int value ) const {
function makeEnumInfo (line 10500) | std::unique_ptr<EnumInfo> makeEnumInfo( StringRef enumName, StringRe...
function EnumInfo (line 10514) | EnumInfo const& EnumValuesRegistry::registerEnum( StringRef enumName...
class StreamBufImpl (line 13408) | class StreamBufImpl : public std::streambuf {
method StreamBufImpl (line 13413) | StreamBufImpl() {
method overflow (line 13422) | int overflow( int c ) override {
method sync (line 13434) | int sync() override {
type OutputDebugWriter (line 13445) | struct OutputDebugWriter {
class FileStream (line 13454) | class FileStream : public IStream {
method FileStream (line 13457) | FileStream( StringRef filename ) {
class CoutStream (line 13470) | class CoutStream : public IStream {
method CoutStream (line 13475) | CoutStream() : m_os( Catch::cout().rdbuf() ) {}
class DebugOutStream (line 13484) | class DebugOutStream : public IStream {
method DebugOutStream (line 13488) | DebugOutStream()
type Endianness (line 14725) | struct Endianness {
type Arch (line 14726) | enum Arch { Big, Little }
method Arch (line 14728) | static Arch which() {
function rawMemoryToString (line 14738) | std::string rawMemoryToString( const void *object, std::size_t size ) {
type StringMaker<NSString*> (line 1821) | struct StringMaker<NSString*> {
method convert (line 1822) | static std::string convert(NSString * nsstring) {
type StringMaker<NSObject*> (line 1829) | struct StringMaker<NSObject*> {
method convert (line 1830) | static std::string convert(NSObject* nsObject) {
type Detail (line 1835) | namespace Detail {
type EnumInfo (line 1443) | struct EnumInfo {
function rawMemoryToString (line 1536) | std::string rawMemoryToString( const T& object ) {
class IsStreamInsertable (line 1541) | class IsStreamInsertable {
function convertUnstreamable (line 1557) | typename std::enable_if<
function convertUnstreamable (line 1563) | typename std::enable_if<
function convertUnstreamable (line 1570) | typename std::enable_if<
function stringify (line 1621) | std::string stringify(const T& e) {
function convertUnknownEnumToString (line 1626) | std::string convertUnknownEnumToString( E e ) {
function rangeToString (line 1806) | std::string rangeToString(InputIterator first, InputIterator last) {
function stringify (line 1836) | inline std::string stringify( NSString* nsstring ) {
type TupleElementPrinter (line 1904) | struct TupleElementPrinter {
method print (line 1905) | static void print(const Tuple& tuple, std::ostream& os) {
type TupleElementPrinter<Tuple, N, false> (line 1916) | struct TupleElementPrinter<Tuple, N, false> {
method print (line 1917) | static void print(const Tuple&, std::ostream&) {}
class Approx (line 3032) | class Approx {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
type ObjectStorage (line 7325) | struct ObjectStorage
method ObjectStorage (line 7329) | ObjectStorage() : data() {}
method ObjectStorage (line 7331) | ObjectStorage(const ObjectStorage& other)
method ObjectStorage (line 7336) | ObjectStorage(ObjectStorage&& other)
method construct (line 7344) | void construct(Args&&... args)
method destruct (line 7350) | typename std::enable_if<AllowManualDestruction>::type destruct()
method destruct_on_exit (line 7358) | void destruct_on_exit(typename std::enable_if<Destruct, U>::type* ...
method destruct_on_exit (line 7361) | void destruct_on_exit(typename std::enable_if<!Destruct, U>::type*...
method T (line 7363) | T& stored_object()
function Approx (line 7791) | Approx Approx::custom() {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
function Approx (line 7795) | Approx Approx::operator-() const {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
class EnumValuesRegistry (line 10443) | class EnumValuesRegistry : public IMutableEnumValuesRegistry {
function StringRef (line 10470) | StringRef extractInstanceName(StringRef enumInstance) {
function parseEnums (line 10480) | std::vector<StringRef> parseEnums( StringRef enums ) {
function StringRef (line 10492) | StringRef EnumInfo::lookup( int value ) const {
function makeEnumInfo (line 10500) | std::unique_ptr<EnumInfo> makeEnumInfo( StringRef enumName, StringRe...
function EnumInfo (line 10514) | EnumInfo const& EnumValuesRegistry::registerEnum( StringRef enumName...
class StreamBufImpl (line 13408) | class StreamBufImpl : public std::streambuf {
method StreamBufImpl (line 13413) | StreamBufImpl() {
method overflow (line 13422) | int overflow( int c ) override {
method sync (line 13434) | int sync() override {
type OutputDebugWriter (line 13445) | struct OutputDebugWriter {
class FileStream (line 13454) | class FileStream : public IStream {
method FileStream (line 13457) | FileStream( StringRef filename ) {
class CoutStream (line 13470) | class CoutStream : public IStream {
method CoutStream (line 13475) | CoutStream() : m_os( Catch::cout().rdbuf() ) {}
class DebugOutStream (line 13484) | class DebugOutStream : public IStream {
method DebugOutStream (line 13488) | DebugOutStream()
type Endianness (line 14725) | struct Endianness {
type Arch (line 14726) | enum Arch { Big, Little }
method Arch (line 14728) | static Arch which() {
function rawMemoryToString (line 14738) | std::string rawMemoryToString( const void *object, std::size_t size ) {
type StringMaker<std::pair<T1, T2> > (line 1862) | struct StringMaker<std::pair<T1, T2> > {
method convert (line 1863) | static std::string convert(const std::pair<T1, T2>& pair) {
type StringMaker<std::optional<T> > (line 1880) | struct StringMaker<std::optional<T> > {
method convert (line 1881) | static std::string convert(const std::optional<T>& optional) {
type Detail (line 1898) | namespace Detail {
type EnumInfo (line 1443) | struct EnumInfo {
function rawMemoryToString (line 1536) | std::string rawMemoryToString( const T& object ) {
class IsStreamInsertable (line 1541) | class IsStreamInsertable {
function convertUnstreamable (line 1557) | typename std::enable_if<
function convertUnstreamable (line 1563) | typename std::enable_if<
function convertUnstreamable (line 1570) | typename std::enable_if<
function stringify (line 1621) | std::string stringify(const T& e) {
function convertUnknownEnumToString (line 1626) | std::string convertUnknownEnumToString( E e ) {
function rangeToString (line 1806) | std::string rangeToString(InputIterator first, InputIterator last) {
function stringify (line 1836) | inline std::string stringify( NSString* nsstring ) {
type TupleElementPrinter (line 1904) | struct TupleElementPrinter {
method print (line 1905) | static void print(const Tuple& tuple, std::ostream& os) {
type TupleElementPrinter<Tuple, N, false> (line 1916) | struct TupleElementPrinter<Tuple, N, false> {
method print (line 1917) | static void print(const Tuple&, std::ostream&) {}
class Approx (line 3032) | class Approx {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
type ObjectStorage (line 7325) | struct ObjectStorage
method ObjectStorage (line 7329) | ObjectStorage() : data() {}
method ObjectStorage (line 7331) | ObjectStorage(const ObjectStorage& other)
method ObjectStorage (line 7336) | ObjectStorage(ObjectStorage&& other)
method construct (line 7344) | void construct(Args&&... args)
method destruct (line 7350) | typename std::enable_if<AllowManualDestruction>::type destruct()
method destruct_on_exit (line 7358) | void destruct_on_exit(typename std::enable_if<Destruct, U>::type* ...
method destruct_on_exit (line 7361) | void destruct_on_exit(typename std::enable_if<!Destruct, U>::type*...
method T (line 7363) | T& stored_object()
function Approx (line 7791) | Approx Approx::custom() {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
function Approx (line 7795) | Approx Approx::operator-() const {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
class EnumValuesRegistry (line 10443) | class EnumValuesRegistry : public IMutableEnumValuesRegistry {
function StringRef (line 10470) | StringRef extractInstanceName(StringRef enumInstance) {
function parseEnums (line 10480) | std::vector<StringRef> parseEnums( StringRef enums ) {
function StringRef (line 10492) | StringRef EnumInfo::lookup( int value ) const {
function makeEnumInfo (line 10500) | std::unique_ptr<EnumInfo> makeEnumInfo( StringRef enumName, StringRe...
function EnumInfo (line 10514) | EnumInfo const& EnumValuesRegistry::registerEnum( StringRef enumName...
class StreamBufImpl (line 13408) | class StreamBufImpl : public std::streambuf {
method StreamBufImpl (line 13413) | StreamBufImpl() {
method overflow (line 13422) | int overflow( int c ) override {
method sync (line 13434) | int sync() override {
type OutputDebugWriter (line 13445) | struct OutputDebugWriter {
class FileStream (line 13454) | class FileStream : public IStream {
method FileStream (line 13457) | FileStream( StringRef filename ) {
class CoutStream (line 13470) | class CoutStream : public IStream {
method CoutStream (line 13475) | CoutStream() : m_os( Catch::cout().rdbuf() ) {}
class DebugOutStream (line 13484) | class DebugOutStream : public IStream {
method DebugOutStream (line 13488) | DebugOutStream()
type Endianness (line 14725) | struct Endianness {
type Arch (line 14726) | enum Arch { Big, Little }
method Arch (line 14728) | static Arch which() {
function rawMemoryToString (line 14738) | std::string rawMemoryToString( const void *object, std::size_t size ) {
type StringMaker<std::monostate> (line 1939) | struct StringMaker<std::monostate> {
method convert (line 1940) | static std::string convert(const std::monostate&) {
type not_this_one (line 1964) | struct not_this_one {}
type is_range (line 1974) | struct is_range {
type is_range<T^> (line 1982) | struct is_range<T^> {
function rangeToString (line 1988) | std::string rangeToString( Range const& range ) {
function rangeToString (line 1994) | std::string rangeToString( std::vector<bool, Allocator> const& v ) {
type StringMaker<R, typename std::enable_if<is_range<R>::value && !::Catch::Detail::IsStreamInsertable<R>::value>::type> (line 2010) | struct StringMaker<R, typename std::enable_if<is_range<R>::value && !:...
method convert (line 2011) | static std::string convert( R const& range ) {
type StringMaker<T[SZ]> (line 2017) | struct StringMaker<T[SZ]> {
method convert (line 2018) | static std::string convert(T const(&arr)[SZ]) {
type ratio_string (line 2034) | struct ratio_string {
type ratio_string<std::atto> (line 2046) | struct ratio_string<std::atto> {
type ratio_string<std::femto> (line 2050) | struct ratio_string<std::femto> {
type ratio_string<std::pico> (line 2054) | struct ratio_string<std::pico> {
type ratio_string<std::nano> (line 2058) | struct ratio_string<std::nano> {
type ratio_string<std::micro> (line 2062) | struct ratio_string<std::micro> {
type ratio_string<std::milli> (line 2066) | struct ratio_string<std::milli> {
type StringMaker<std::chrono::duration<Value, Ratio>> (line 2073) | struct StringMaker<std::chrono::duration<Value, Ratio>> {
method convert (line 2074) | static std::string convert(std::chrono::duration<Value, Ratio> const...
type StringMaker<std::chrono::duration<Value, std::ratio<1>>> (line 2081) | struct StringMaker<std::chrono::duration<Value, std::ratio<1>>> {
method convert (line 2082) | static std::string convert(std::chrono::duration<Value, std::ratio<1...
type StringMaker<std::chrono::duration<Value, std::ratio<60>>> (line 2089) | struct StringMaker<std::chrono::duration<Value, std::ratio<60>>> {
method convert (line 2090) | static std::string convert(std::chrono::duration<Value, std::ratio<6...
type StringMaker<std::chrono::duration<Value, std::ratio<3600>>> (line 2097) | struct StringMaker<std::chrono::duration<Value, std::ratio<3600>>> {
method convert (line 2098) | static std::string convert(std::chrono::duration<Value, std::ratio<3...
type StringMaker<std::chrono::time_point<Clock, Duration>> (line 2109) | struct StringMaker<std::chrono::time_point<Clock, Duration>> {
method convert (line 2110) | static std::string convert(std::chrono::time_point<Clock, Duration> ...
type StringMaker<std::chrono::time_point<std::chrono::system_clock, Duration>> (line 2116) | struct StringMaker<std::chrono::time_point<std::chrono::system_clock, ...
method convert (line 2117) | static std::string convert(std::chrono::time_point<std::chrono::syst...
type ITransientExpression (line 2172) | struct ITransientExpression {
method isBinaryExpression (line 2173) | auto isBinaryExpression() const -> bool { return m_isBinaryExpressio...
method getResult (line 2174) | auto getResult() const -> bool { return m_result; }
method ITransientExpression (line 2177) | ITransientExpression( bool isBinaryExpression, bool result )
class BinaryExpr (line 2194) | class BinaryExpr : public ITransientExpression {
method streamReconstructedExpression (line 2199) | void streamReconstructedExpression( std::ostream &os ) const override {
method BinaryExpr (line 2205) | BinaryExpr( bool comparisonResult, LhsT lhs, StringRef op, RhsT rhs )
class UnaryExpr (line 2270) | class UnaryExpr : public ITransientExpression {
method streamReconstructedExpression (line 2273) | void streamReconstructedExpression( std::ostream &os ) const override {
method UnaryExpr (line 2278) | explicit UnaryExpr( LhsT lhs )
function compareEqual (line 2286) | auto compareEqual( LhsT const& lhs, RhsT const& rhs ) -> bool { return...
function compareEqual (line 2288) | auto compareEqual( T* const& lhs, int rhs ) -> bool { return lhs == re...
function compareEqual (line 2290) | auto compareEqual( T* const& lhs, long rhs ) -> bool { return lhs == r...
function compareEqual (line 2292) | auto compareEqual( int lhs, T* const& rhs ) -> bool { return reinterpr...
function compareEqual (line 2294) | auto compareEqual( long lhs, T* const& rhs ) -> bool { return reinterp...
function compareNotEqual (line 2297) | auto compareNotEqual( LhsT const& lhs, RhsT&& rhs ) -> bool { return s...
function compareNotEqual (line 2299) | auto compareNotEqual( T* const& lhs, int rhs ) -> bool { return lhs !=...
function compareNotEqual (line 2301) | auto compareNotEqual( T* const& lhs, long rhs ) -> bool { return lhs !...
function compareNotEqual (line 2303) | auto compareNotEqual( int lhs, T* const& rhs ) -> bool { return reinte...
function compareNotEqual (line 2305) | auto compareNotEqual( long lhs, T* const& rhs ) -> bool { return reint...
class ExprLhs (line 2308) | class ExprLhs {
method ExprLhs (line 2311) | explicit ExprLhs( LhsT lhs ) : m_lhs( lhs ) {}
method makeUnaryExpr (line 2360) | auto makeUnaryExpr() const -> UnaryExpr<LhsT> {
function handleExpression (line 2368) | void handleExpression( ExprLhs<T> const& expr ) {
type Decomposer (line 2372) | struct Decomposer {
class AssertionResult (line 2397) | class AssertionResult
method AssertionResult (line 5336) | AssertionResult() = delete;
type AssertionInfo (line 2398) | struct AssertionInfo
type SectionInfo (line 2399) | struct SectionInfo
method SectionInfo (line 2824) | SectionInfo
type SectionEndInfo (line 2400) | struct SectionEndInfo
type MessageInfo (line 2401) | struct MessageInfo
type MessageBuilder (line 2402) | struct MessageBuilder
method MessageBuilder (line 2591) | MessageBuilder& operator << ( T const& value ) {
type Counts (line 2403) | struct Counts
type AssertionReaction (line 2404) | struct AssertionReaction
type SourceLineInfo (line 2405) | struct SourceLineInfo
method SourceLineInfo (line 481) | SourceLineInfo() = delete;
method SourceLineInfo (line 482) | SourceLineInfo( char const* _file, std::size_t _line ) noexcept
method SourceLineInfo (line 487) | SourceLineInfo( SourceLineInfo const& other ) = default;
method SourceLineInfo (line 488) | SourceLineInfo& operator = ( SourceLineInfo const& ) = default;
method SourceLineInfo (line 489) | SourceLineInfo( SourceLineInfo&& ) noexcept = default;
method SourceLineInfo (line 490) | SourceLineInfo& operator = ( SourceLineInfo&& ) noexcept = default;
method empty (line 492) | bool empty() const noexcept { return file[0] == '\0'; }
type ITransientExpression (line 2407) | struct ITransientExpression
method isBinaryExpression (line 2173) | auto isBinaryExpression() const -> bool { return m_isBinaryExpressio...
method getResult (line 2174) | auto getResult() const -> bool { return m_result; }
method ITransientExpression (line 2177) | ITransientExpression( bool isBinaryExpression, bool result )
type IGeneratorTracker (line 2408) | struct IGeneratorTracker
type BenchmarkInfo (line 2411) | struct BenchmarkInfo
type BenchmarkStats (line 2413) | struct BenchmarkStats
type IResultCapture (line 2416) | struct IResultCapture {
type TestFailureException (line 2479) | struct TestFailureException{}
type AssertionResultData (line 2480) | struct AssertionResultData
method AssertionResultData (line 5322) | AssertionResultData() = delete;
type IResultCapture (line 2481) | struct IResultCapture
class RunContext (line 2482) | class RunContext
method RunContext (line 7979) | RunContext( RunContext const& ) = delete;
method RunContext (line 7980) | RunContext& operator =( RunContext const& ) = delete;
class LazyExpression (line 2484) | class LazyExpression {
method LazyExpression (line 2494) | LazyExpression& operator = ( LazyExpression const& ) = delete;
type AssertionReaction (line 2501) | struct AssertionReaction {
class AssertionHandler (line 2506) | class AssertionHandler {
method handleExpr (line 2525) | void handleExpr( ExprLhs<T> const& expr ) {
type MessageInfo (line 2557) | struct MessageInfo {
type MessageStream (line 2574) | struct MessageStream {
method MessageStream (line 2577) | MessageStream& operator << ( T const& value ) {
type MessageBuilder (line 2585) | struct MessageBuilder : MessageStream {
method MessageBuilder (line 2591) | MessageBuilder& operator << ( T const& value ) {
class ScopedMessage (line 2599) | class ScopedMessage {
method ScopedMessage (line 2602) | ScopedMessage( ScopedMessage& duplicate ) = delete;
class Capturer (line 2610) | class Capturer {
method captureValues (line 2621) | void captureValues( size_t index, T const& value ) {
method captureValues (line 2626) | void captureValues( size_t index, T const& value, Ts const&... value...
type Counts (line 2787) | struct Counts {
type Totals (line 2800) | struct Totals {
type SectionInfo (line 2818) | struct SectionInfo {
method SectionInfo (line 2824) | SectionInfo
type SectionEndInfo (line 2834) | struct SectionEndInfo {
class Timer (line 2852) | class Timer {
class Section (line 2869) | class Section : NonCopyable {
class TestCase (line 2910) | class TestCase
type ITestCaseRegistry (line 2911) | struct ITestCaseRegistry
type IExceptionTranslatorRegistry (line 2912) | struct IExceptionTranslatorRegistry
type IExceptionTranslator (line 2913) | struct IExceptionTranslator
type IReporterRegistry (line 2914) | struct IReporterRegistry
type IReporterFactory (line 2915) | struct IReporterFactory
type ITagAliasRegistry (line 2916) | struct ITagAliasRegistry
type IMutableEnumValuesRegistry (line 2917) | struct IMutableEnumValuesRegistry
class StartupExceptionRegistry (line 2919) | class StartupExceptionRegistry
type IRegistryHub (line 2923) | struct IRegistryHub {
type IMutableRegistryHub (line 2934) | struct IMutableRegistryHub {
type IExceptionTranslator (line 2965) | struct IExceptionTranslator
type IExceptionTranslator (line 2968) | struct IExceptionTranslator {
type IExceptionTranslatorRegistry (line 2973) | struct IExceptionTranslatorRegistry {
class ExceptionTranslatorRegistrar (line 2979) | class ExceptionTranslatorRegistrar {
class ExceptionTranslator (line 2981) | class ExceptionTranslator : public IExceptionTranslator {
method ExceptionTranslator (line 2984) | ExceptionTranslator( std::string(*translateFunction)( T& ) )
method translate (line 2988) | std::string translate( ExceptionTranslators::const_iterator it, Ex...
method ExceptionTranslatorRegistrar (line 3006) | ExceptionTranslatorRegistrar( std::string(*translateFunction)( T& ) ) {
type Detail (line 3030) | namespace Detail {
type EnumInfo (line 1443) | struct EnumInfo {
function rawMemoryToString (line 1536) | std::string rawMemoryToString( const T& object ) {
class IsStreamInsertable (line 1541) | class IsStreamInsertable {
function convertUnstreamable (line 1557) | typename std::enable_if<
function convertUnstreamable (line 1563) | typename std::enable_if<
function convertUnstreamable (line 1570) | typename std::enable_if<
function stringify (line 1621) | std::string stringify(const T& e) {
function convertUnknownEnumToString (line 1626) | std::string convertUnknownEnumToString( E e ) {
function rangeToString (line 1806) | std::string rangeToString(InputIterator first, InputIterator last) {
function stringify (line 1836) | inline std::string stringify( NSString* nsstring ) {
type TupleElementPrinter (line 1904) | struct TupleElementPrinter {
method print (line 1905) | static void print(const Tuple& tuple, std::ostream& os) {
type TupleElementPrinter<Tuple, N, false> (line 1916) | struct TupleElementPrinter<Tuple, N, false> {
method print (line 1917) | static void print(const Tuple&, std::ostream&) {}
class Approx (line 3032) | class Approx {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
type ObjectStorage (line 7325) | struct ObjectStorage
method ObjectStorage (line 7329) | ObjectStorage() : data() {}
method ObjectStorage (line 7331) | ObjectStorage(const ObjectStorage& other)
method ObjectStorage (line 7336) | ObjectStorage(ObjectStorage&& other)
method construct (line 7344) | void construct(Args&&... args)
method destruct (line 7350) | typename std::enable_if<AllowManualDestruction>::type destruct()
method destruct_on_exit (line 7358) | void destruct_on_exit(typename std::enable_if<Destruct, U>::type* ...
method destruct_on_exit (line 7361) | void destruct_on_exit(typename std::enable_if<!Destruct, U>::type*...
method T (line 7363) | T& stored_object()
function Approx (line 7791) | Approx Approx::custom() {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
function Approx (line 7795) | Approx Approx::operator-() const {
method Approx (line 3050) | Approx operator()( T const& value ) {
method Approx (line 3059) | explicit Approx( T const& value ): Approx(static_cast<double>(value))
method Approx (line 3104) | Approx& epsilon( T const& newEpsilon ) {
method Approx (line 3111) | Approx& margin( T const& newMargin ) {
method Approx (line 3118) | Approx& scale( T const& newScale ) {
class EnumValuesRegistry (line 10443) | class EnumValuesRegistry : public IMutableEnumValuesRegistry {
function StringRef (line 10470) | StringRef extractInstanceName(StringRef enumInstance) {
function parseEnums (line 10480) | std::vector<StringRef> parseEnums( StringRef enums ) {
function StringRef (line 10492) | StringRef EnumInfo::lookup( int value ) const {
function makeEnumInfo (line 10500) | std::unique_ptr<EnumInfo> makeEnumInfo( StringRef enumName, StringRe...
function EnumInfo (line 10514) | EnumInfo const& EnumValuesRegistry::registerEnum( StringRef enumName...
class StreamBufImpl (line 13408) | class StreamBufImpl : public std::streambuf {
method StreamBufImpl (line 13413) | StreamBufImpl() {
method overflow (line 13422) | int overflow( int c ) override {
method sync (line 13434) | int sync() override {
type OutputDebugWriter (line 13445) | struct OutputDebugWriter {
class FileStream (line 13454) | class FileStream : public IStream {
method FileStream (line 13457) | FileStream( StringRef filename ) {
class CoutStream (line 13470) | class CoutStream : public IStream {
method CoutStream (line 13475) | CoutStream() : m_os( Catch::cout().rdbuf() ) {}
class DebugOutStream (line 13484) | class DebugOutStream : public IStream {
method DebugOutStream (line 13488) | DebugOutStream()
type Endianness (line 14725) | struct Endianness {
type Arch (line 14726) | enum Arch { Big, Little }
method Arch (line 14728) | static Arch which() {
function rawMemoryToString (line 14738) | std::string rawMemoryToString( const void *object, std::size_t size ) {
type literals (line 3133) | namespace literals {
type StringMaker<Catch::Detail::Approx> (line 3139) | struct StringMaker<Catch::Detail::Approx> {
type pluralise (line 3170) | struct pluralise {
type Matchers (line 3190) | namespace Matchers {
type Impl (line 3191) | namespace Impl {
type MatchAllOf (line 3193) | struct MatchAllOf
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3194) | struct MatchAnyOf
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3195) | struct MatchNotOf
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
class MatcherUntypedBase (line 3197) | class MatcherUntypedBase {
method MatcherUntypedBase (line 3199) | MatcherUntypedBase() = default;
method MatcherUntypedBase (line 3200) | MatcherUntypedBase ( MatcherUntypedBase const& ) = default;
method MatcherUntypedBase (line 3201) | MatcherUntypedBase& operator = ( MatcherUntypedBase const& ) = d...
type MatcherMethod (line 3216) | struct MatcherMethod {
type MatcherMethod<NSString*> (line 3224) | struct MatcherMethod<NSString*> {
type MatcherBase (line 3234) | struct MatcherBase : MatcherUntypedBase, MatcherMethod<T> {
type MatchAllOf (line 3242) | struct MatchAllOf : MatcherBase<ArgT> {
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3274) | struct MatchAnyOf : MatcherBase<ArgT> {
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3308) | struct MatchNotOf : MatcherBase<ArgT> {
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
type Exception (line 3349) | namespace Exception {
class ExceptionMessageMatcher (line 3351) | class ExceptionMessageMatcher : public MatcherBase<std::exception> {
method ExceptionMessageMatcher (line 3355) | ExceptionMessageMatcher(std::string const& message):
type Floating (line 3377) | namespace Floating {
type FloatingPointKind (line 3379) | enum class FloatingPointKind : uint8_t
type WithinAbsMatcher (line 3381) | struct WithinAbsMatcher : MatcherBase<double> {
type WithinUlpsMatcher (line 3390) | struct WithinUlpsMatcher : MatcherBase<double> {
type WithinRelMatcher (line 3406) | struct WithinRelMatcher : MatcherBase<double> {
type FloatingPointKind (line 11409) | enum class FloatingPointKind : uint8_t {
type Generic (line 3440) | namespace Generic {
type Detail (line 3442) | namespace Detail {
class PredicateMatcher (line 3447) | class PredicateMatcher : public MatcherBase<T> {
method PredicateMatcher (line 3452) | PredicateMatcher(std::function<bool(T const&)> const& elem, std:...
method match (line 3457) | bool match( T const& item ) const override {
method describe (line 3461) | std::string describe() const override {
function Predicate (line 3473) | Generic::PredicateMatcher<T> Predicate(std::function<bool(T const&)>...
type StdString (line 3488) | namespace StdString {
type CasedString (line 3490) | struct CasedString
type StringMatcherBase (line 3500) | struct StringMatcherBase : MatcherBase<std::string> {
type EqualsMatcher (line 3508) | struct EqualsMatcher : StringMatcherBase {
type ContainsMatcher (line 3512) | struct ContainsMatcher : StringMatcherBase {
type StartsWithMatcher (line 3516) | struct StartsWithMatcher : StringMatcherBase {
type EndsWithMatcher (line 3520) | struct EndsWithMatcher : StringMatcherBase {
type RegexMatcher (line 3525) | struct RegexMatcher : MatcherBase<std::string> {
type Vector (line 3557) | namespace Vector {
type ContainsElementMatcher (line 3559) | struct ContainsElementMatcher : MatcherBase<std::vector<T>> {
method ContainsElementMatcher (line 3561) | ContainsElementMatcher(T const &comparator) : m_comparator( comp...
method match (line 3563) | bool match(std::vector<T> const &v) const override {
method describe (line 3572) | std::string describe() const override {
type ContainsMatcher (line 3580) | struct ContainsMatcher : MatcherBase<std::vector<T>> {
method ContainsMatcher (line 3582) | ContainsMatcher(std::vector<T> const &comparator) : m_comparator...
method match (line 3584) | bool match(std::vector<T> const &v) const override {
method describe (line 3602) | std::string describe() const override {
type EqualsMatcher (line 3610) | struct EqualsMatcher : MatcherBase<std::vector<T>> {
method EqualsMatcher (line 3612) | EqualsMatcher(std::vector<T> const &comparator) : m_comparator( ...
method match (line 3614) | bool match(std::vector<T> const &v) const override {
method describe (line 3626) | std::string describe() const override {
type ApproxMatcher (line 3633) | struct ApproxMatcher : MatcherBase<std::vector<T>> {
method ApproxMatcher (line 3635) | ApproxMatcher(std::vector<T> const& comparator) : m_comparator( ...
method match (line 3637) | bool match(std::vector<T> const &v) const override {
method describe (line 3645) | std::string describe() const override {
method ApproxMatcher (line 3649) | ApproxMatcher& epsilon( T const& newEpsilon ) {
method ApproxMatcher (line 3654) | ApproxMatcher& margin( T const& newMargin ) {
method ApproxMatcher (line 3659) | ApproxMatcher& scale( T const& newScale ) {
type UnorderedEqualsMatcher (line 3669) | struct UnorderedEqualsMatcher : MatcherBase<std::vector<T>> {
method UnorderedEqualsMatcher (line 3670) | UnorderedEqualsMatcher(std::vector<T> const& target) : m_target(...
method match (line 3671) | bool match(std::vector<T> const& vec) const override {
method describe (line 3680) | std::string describe() const override {
function Contains (line 3693) | Vector::ContainsMatcher<T> Contains( std::vector<T> const& comparato...
function VectorContains (line 3698) | Vector::ContainsElementMatcher<T> VectorContains( T const& comparato...
function Equals (line 3703) | Vector::EqualsMatcher<T> Equals( std::vector<T> const& comparator ) {
function Approx (line 3708) | Vector::ApproxMatcher<T> Approx( std::vector<T> const& comparator ) {
function UnorderedEquals (line 3713) | Vector::UnorderedEqualsMatcher<T> UnorderedEquals(std::vector<T> con...
type Impl (line 11233) | namespace Impl {
type MatchAllOf (line 3193) | struct MatchAllOf
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3194) | struct MatchAnyOf
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3195) | struct MatchNotOf
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
class MatcherUntypedBase (line 3197) | class MatcherUntypedBase {
method MatcherUntypedBase (line 3199) | MatcherUntypedBase() = default;
method MatcherUntypedBase (line 3200) | MatcherUntypedBase ( MatcherUntypedBase const& ) = default;
method MatcherUntypedBase (line 3201) | MatcherUntypedBase& operator = ( MatcherUntypedBase const& ) = d...
type MatcherMethod (line 3216) | struct MatcherMethod {
type MatcherMethod<NSString*> (line 3224) | struct MatcherMethod<NSString*> {
type MatcherBase (line 3234) | struct MatcherBase : MatcherUntypedBase, MatcherMethod<T> {
type MatchAllOf (line 3242) | struct MatchAllOf : MatcherBase<ArgT> {
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3274) | struct MatchAnyOf : MatcherBase<ArgT> {
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3308) | struct MatchNotOf : MatcherBase<ArgT> {
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
type Exception (line 11255) | namespace Exception {
class ExceptionMessageMatcher (line 3351) | class ExceptionMessageMatcher : public MatcherBase<std::exception> {
method ExceptionMessageMatcher (line 3355) | ExceptionMessageMatcher(std::string const& message):
function Message (line 11266) | Exception::ExceptionMessageMatcher Message(std::string const& messag...
type Floating (line 11407) | namespace Floating {
type FloatingPointKind (line 3379) | enum class FloatingPointKind : uint8_t
type WithinAbsMatcher (line 3381) | struct WithinAbsMatcher : MatcherBase<double> {
type WithinUlpsMatcher (line 3390) | struct WithinUlpsMatcher : MatcherBase<double> {
type WithinRelMatcher (line 3406) | struct WithinRelMatcher : MatcherBase<double> {
type FloatingPointKind (line 11409) | enum class FloatingPointKind : uint8_t {
function WithinULP (line 11507) | Floating::WithinUlpsMatcher WithinULP(double target, uint64_t maxUlp...
function WithinULP (line 11511) | Floating::WithinUlpsMatcher WithinULP(float target, uint64_t maxUlpD...
function WithinAbs (line 11515) | Floating::WithinAbsMatcher WithinAbs(double target, double margin) {
function WithinRel (line 11519) | Floating::WithinRelMatcher WithinRel(double target, double eps) {
function WithinRel (line 11523) | Floating::WithinRelMatcher WithinRel(double target) {
function WithinRel (line 11527) | Floating::WithinRelMatcher WithinRel(float target, float eps) {
function WithinRel (line 11531) | Floating::WithinRelMatcher WithinRel(float target) {
type StdString (line 11556) | namespace StdString {
type CasedString (line 3490) | struct CasedString
type StringMatcherBase (line 3500) | struct StringMatcherBase : MatcherBase<std::string> {
type EqualsMatcher (line 3508) | struct EqualsMatcher : StringMatcherBase {
type ContainsMatcher (line 3512) | struct ContainsMatcher : StringMatcherBase {
type StartsWithMatcher (line 3516) | struct StartsWithMatcher : StringMatcherBase {
type EndsWithMatcher (line 3520) | struct EndsWithMatcher : StringMatcherBase {
type RegexMatcher (line 3525) | struct RegexMatcher : MatcherBase<std::string> {
function Equals (line 11631) | StdString::EqualsMatcher Equals( std::string const& str, CaseSensiti...
function Contains (line 11634) | StdString::ContainsMatcher Contains( std::string const& str, CaseSen...
function EndsWith (line 11637) | StdString::EndsWithMatcher EndsWith( std::string const& str, CaseSen...
function StartsWith (line 11640) | StdString::StartsWithMatcher StartsWith( std::string const& str, Cas...
function Matches (line 11644) | StdString::RegexMatcher Matches(std::string const& regex, CaseSensit...
type Matchers (line 3348) | namespace Matchers {
type Impl (line 3191) | namespace Impl {
type MatchAllOf (line 3193) | struct MatchAllOf
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3194) | struct MatchAnyOf
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3195) | struct MatchNotOf
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
class MatcherUntypedBase (line 3197) | class MatcherUntypedBase {
method MatcherUntypedBase (line 3199) | MatcherUntypedBase() = default;
method MatcherUntypedBase (line 3200) | MatcherUntypedBase ( MatcherUntypedBase const& ) = default;
method MatcherUntypedBase (line 3201) | MatcherUntypedBase& operator = ( MatcherUntypedBase const& ) = d...
type MatcherMethod (line 3216) | struct MatcherMethod {
type MatcherMethod<NSString*> (line 3224) | struct MatcherMethod<NSString*> {
type MatcherBase (line 3234) | struct MatcherBase : MatcherUntypedBase, MatcherMethod<T> {
type MatchAllOf (line 3242) | struct MatchAllOf : MatcherBase<ArgT> {
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3274) | struct MatchAnyOf : MatcherBase<ArgT> {
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3308) | struct MatchNotOf : MatcherBase<ArgT> {
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
type Exception (line 3349) | namespace Exception {
class ExceptionMessageMatcher (line 3351) | class ExceptionMessageMatcher : public MatcherBase<std::exception> {
method ExceptionMessageMatcher (line 3355) | ExceptionMessageMatcher(std::string const& message):
type Floating (line 3377) | namespace Floating {
type FloatingPointKind (line 3379) | enum class FloatingPointKind : uint8_t
type WithinAbsMatcher (line 3381) | struct WithinAbsMatcher : MatcherBase<double> {
type WithinUlpsMatcher (line 3390) | struct WithinUlpsMatcher : MatcherBase<double> {
type WithinRelMatcher (line 3406) | struct WithinRelMatcher : MatcherBase<double> {
type FloatingPointKind (line 11409) | enum class FloatingPointKind : uint8_t {
type Generic (line 3440) | namespace Generic {
type Detail (line 3442) | namespace Detail {
class PredicateMatcher (line 3447) | class PredicateMatcher : public MatcherBase<T> {
method PredicateMatcher (line 3452) | PredicateMatcher(std::function<bool(T const&)> const& elem, std:...
method match (line 3457) | bool match( T const& item ) const override {
method describe (line 3461) | std::string describe() const override {
function Predicate (line 3473) | Generic::PredicateMatcher<T> Predicate(std::function<bool(T const&)>...
type StdString (line 3488) | namespace StdString {
type CasedString (line 3490) | struct CasedString
type StringMatcherBase (line 3500) | struct StringMatcherBase : MatcherBase<std::string> {
type EqualsMatcher (line 3508) | struct EqualsMatcher : StringMatcherBase {
type ContainsMatcher (line 3512) | struct ContainsMatcher : StringMatcherBase {
type StartsWithMatcher (line 3516) | struct StartsWithMatcher : StringMatcherBase {
type EndsWithMatcher (line 3520) | struct EndsWithMatcher : StringMatcherBase {
type RegexMatcher (line 3525) | struct RegexMatcher : MatcherBase<std::string> {
type Vector (line 3557) | namespace Vector {
type ContainsElementMatcher (line 3559) | struct ContainsElementMatcher : MatcherBase<std::vector<T>> {
method ContainsElementMatcher (line 3561) | ContainsElementMatcher(T const &comparator) : m_comparator( comp...
method match (line 3563) | bool match(std::vector<T> const &v) const override {
method describe (line 3572) | std::string describe() const override {
type ContainsMatcher (line 3580) | struct ContainsMatcher : MatcherBase<std::vector<T>> {
method ContainsMatcher (line 3582) | ContainsMatcher(std::vector<T> const &comparator) : m_comparator...
method match (line 3584) | bool match(std::vector<T> const &v) const override {
method describe (line 3602) | std::string describe() const override {
type EqualsMatcher (line 3610) | struct EqualsMatcher : MatcherBase<std::vector<T>> {
method EqualsMatcher (line 3612) | EqualsMatcher(std::vector<T> const &comparator) : m_comparator( ...
method match (line 3614) | bool match(std::vector<T> const &v) const override {
method describe (line 3626) | std::string describe() const override {
type ApproxMatcher (line 3633) | struct ApproxMatcher : MatcherBase<std::vector<T>> {
method ApproxMatcher (line 3635) | ApproxMatcher(std::vector<T> const& comparator) : m_comparator( ...
method match (line 3637) | bool match(std::vector<T> const &v) const override {
method describe (line 3645) | std::string describe() const override {
method ApproxMatcher (line 3649) | ApproxMatcher& epsilon( T const& newEpsilon ) {
method ApproxMatcher (line 3654) | ApproxMatcher& margin( T const& newMargin ) {
method ApproxMatcher (line 3659) | ApproxMatcher& scale( T const& newScale ) {
type UnorderedEqualsMatcher (line 3669) | struct UnorderedEqualsMatcher : MatcherBase<std::vector<T>> {
method UnorderedEqualsMatcher (line 3670) | UnorderedEqualsMatcher(std::vector<T> const& target) : m_target(...
method match (line 3671) | bool match(std::vector<T> const& vec) const override {
method describe (line 3680) | std::string describe() const override {
function Contains (line 3693) | Vector::ContainsMatcher<T> Contains( std::vector<T> const& comparato...
function VectorContains (line 3698) | Vector::ContainsElementMatcher<T> VectorContains( T const& comparato...
function Equals (line 3703) | Vector::EqualsMatcher<T> Equals( std::vector<T> const& comparator ) {
function Approx (line 3708) | Vector::ApproxMatcher<T> Approx( std::vector<T> const& comparator ) {
function UnorderedEquals (line 3713) | Vector::UnorderedEqualsMatcher<T> UnorderedEquals(std::vector<T> con...
type Impl (line 11233) | namespace Impl {
type MatchAllOf (line 3193) | struct MatchAllOf
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3194) | struct MatchAnyOf
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3195) | struct MatchNotOf
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
class MatcherUntypedBase (line 3197) | class MatcherUntypedBase {
method MatcherUntypedBase (line 3199) | MatcherUntypedBase() = default;
method MatcherUntypedBase (line 3200) | MatcherUntypedBase ( MatcherUntypedBase const& ) = default;
method MatcherUntypedBase (line 3201) | MatcherUntypedBase& operator = ( MatcherUntypedBase const& ) = d...
type MatcherMethod (line 3216) | struct MatcherMethod {
type MatcherMethod<NSString*> (line 3224) | struct MatcherMethod<NSString*> {
type MatcherBase (line 3234) | struct MatcherBase : MatcherUntypedBase, MatcherMethod<T> {
type MatchAllOf (line 3242) | struct MatchAllOf : MatcherBase<ArgT> {
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3274) | struct MatchAnyOf : MatcherBase<ArgT> {
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3308) | struct MatchNotOf : MatcherBase<ArgT> {
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
type Exception (line 11255) | namespace Exception {
class ExceptionMessageMatcher (line 3351) | class ExceptionMessageMatcher : public MatcherBase<std::exception> {
method ExceptionMessageMatcher (line 3355) | ExceptionMessageMatcher(std::string const& message):
function Message (line 11266) | Exception::ExceptionMessageMatcher Message(std::string const& messag...
type Floating (line 11407) | namespace Floating {
type FloatingPointKind (line 3379) | enum class FloatingPointKind : uint8_t
type WithinAbsMatcher (line 3381) | struct WithinAbsMatcher : MatcherBase<double> {
type WithinUlpsMatcher (line 3390) | struct WithinUlpsMatcher : MatcherBase<double> {
type WithinRelMatcher (line 3406) | struct WithinRelMatcher : MatcherBase<double> {
type FloatingPointKind (line 11409) | enum class FloatingPointKind : uint8_t {
function WithinULP (line 11507) | Floating::WithinUlpsMatcher WithinULP(double target, uint64_t maxUlp...
function WithinULP (line 11511) | Floating::WithinUlpsMatcher WithinULP(float target, uint64_t maxUlpD...
function WithinAbs (line 11515) | Floating::WithinAbsMatcher WithinAbs(double target, double margin) {
function WithinRel (line 11519) | Floating::WithinRelMatcher WithinRel(double target, double eps) {
function WithinRel (line 11523) | Floating::WithinRelMatcher WithinRel(double target) {
function WithinRel (line 11527) | Floating::WithinRelMatcher WithinRel(float target, float eps) {
function WithinRel (line 11531) | Floating::WithinRelMatcher WithinRel(float target) {
type StdString (line 11556) | namespace StdString {
type CasedString (line 3490) | struct CasedString
type StringMatcherBase (line 3500) | struct StringMatcherBase : MatcherBase<std::string> {
type EqualsMatcher (line 3508) | struct EqualsMatcher : StringMatcherBase {
type ContainsMatcher (line 3512) | struct ContainsMatcher : StringMatcherBase {
type StartsWithMatcher (line 3516) | struct StartsWithMatcher : StringMatcherBase {
type EndsWithMatcher (line 3520) | struct EndsWithMatcher : StringMatcherBase {
type RegexMatcher (line 3525) | struct RegexMatcher : MatcherBase<std::string> {
function Equals (line 11631) | StdString::EqualsMatcher Equals( std::string const& str, CaseSensiti...
function Contains (line 11634) | StdString::ContainsMatcher Contains( std::string const& str, CaseSen...
function EndsWith (line 11637) | StdString::EndsWithMatcher EndsWith( std::string const& str, CaseSen...
function StartsWith (line 11640) | StdString::StartsWithMatcher StartsWith( std::string const& str, Cas...
function Matches (line 11644) | StdString::RegexMatcher Matches(std::string const& regex, CaseSensit...
type Matchers (line 3375) | namespace Matchers {
type Impl (line 3191) | namespace Impl {
type MatchAllOf (line 3193) | struct MatchAllOf
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3194) | struct MatchAnyOf
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3195) | struct MatchNotOf
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
class MatcherUntypedBase (line 3197) | class MatcherUntypedBase {
method MatcherUntypedBase (line 3199) | MatcherUntypedBase() = default;
method MatcherUntypedBase (line 3200) | MatcherUntypedBase ( MatcherUntypedBase const& ) = default;
method MatcherUntypedBase (line 3201) | MatcherUntypedBase& operator = ( MatcherUntypedBase const& ) = d...
type MatcherMethod (line 3216) | struct MatcherMethod {
type MatcherMethod<NSString*> (line 3224) | struct MatcherMethod<NSString*> {
type MatcherBase (line 3234) | struct MatcherBase : MatcherUntypedBase, MatcherMethod<T> {
type MatchAllOf (line 3242) | struct MatchAllOf : MatcherBase<ArgT> {
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3274) | struct MatchAnyOf : MatcherBase<ArgT> {
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3308) | struct MatchNotOf : MatcherBase<ArgT> {
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
type Exception (line 3349) | namespace Exception {
class ExceptionMessageMatcher (line 3351) | class ExceptionMessageMatcher : public MatcherBase<std::exception> {
method ExceptionMessageMatcher (line 3355) | ExceptionMessageMatcher(std::string const& message):
type Floating (line 3377) | namespace Floating {
type FloatingPointKind (line 3379) | enum class FloatingPointKind : uint8_t
type WithinAbsMatcher (line 3381) | struct WithinAbsMatcher : MatcherBase<double> {
type WithinUlpsMatcher (line 3390) | struct WithinUlpsMatcher : MatcherBase<double> {
type WithinRelMatcher (line 3406) | struct WithinRelMatcher : MatcherBase<double> {
type FloatingPointKind (line 11409) | enum class FloatingPointKind : uint8_t {
type Generic (line 3440) | namespace Generic {
type Detail (line 3442) | namespace Detail {
class PredicateMatcher (line 3447) | class PredicateMatcher : public MatcherBase<T> {
method PredicateMatcher (line 3452) | PredicateMatcher(std::function<bool(T const&)> const& elem, std:...
method match (line 3457) | bool match( T const& item ) const override {
method describe (line 3461) | std::string describe() const override {
function Predicate (line 3473) | Generic::PredicateMatcher<T> Predicate(std::function<bool(T const&)>...
type StdString (line 3488) | namespace StdString {
type CasedString (line 3490) | struct CasedString
type StringMatcherBase (line 3500) | struct StringMatcherBase : MatcherBase<std::string> {
type EqualsMatcher (line 3508) | struct EqualsMatcher : StringMatcherBase {
type ContainsMatcher (line 3512) | struct ContainsMatcher : StringMatcherBase {
type StartsWithMatcher (line 3516) | struct StartsWithMatcher : StringMatcherBase {
type EndsWithMatcher (line 3520) | struct EndsWithMatcher : StringMatcherBase {
type RegexMatcher (line 3525) | struct RegexMatcher : MatcherBase<std::string> {
type Vector (line 3557) | namespace Vector {
type ContainsElementMatcher (line 3559) | struct ContainsElementMatcher : MatcherBase<std::vector<T>> {
method ContainsElementMatcher (line 3561) | ContainsElementMatcher(T const &comparator) : m_comparator( comp...
method match (line 3563) | bool match(std::vector<T> const &v) const override {
method describe (line 3572) | std::string describe() const override {
type ContainsMatcher (line 3580) | struct ContainsMatcher : MatcherBase<std::vector<T>> {
method ContainsMatcher (line 3582) | ContainsMatcher(std::vector<T> const &comparator) : m_comparator...
method match (line 3584) | bool match(std::vector<T> const &v) const override {
method describe (line 3602) | std::string describe() const override {
type EqualsMatcher (line 3610) | struct EqualsMatcher : MatcherBase<std::vector<T>> {
method EqualsMatcher (line 3612) | EqualsMatcher(std::vector<T> const &comparator) : m_comparator( ...
method match (line 3614) | bool match(std::vector<T> const &v) const override {
method describe (line 3626) | std::string describe() const override {
type ApproxMatcher (line 3633) | struct ApproxMatcher : MatcherBase<std::vector<T>> {
method ApproxMatcher (line 3635) | ApproxMatcher(std::vector<T> const& comparator) : m_comparator( ...
method match (line 3637) | bool match(std::vector<T> const &v) const override {
method describe (line 3645) | std::string describe() const override {
method ApproxMatcher (line 3649) | ApproxMatcher& epsilon( T const& newEpsilon ) {
method ApproxMatcher (line 3654) | ApproxMatcher& margin( T const& newMargin ) {
method ApproxMatcher (line 3659) | ApproxMatcher& scale( T const& newScale ) {
type UnorderedEqualsMatcher (line 3669) | struct UnorderedEqualsMatcher : MatcherBase<std::vector<T>> {
method UnorderedEqualsMatcher (line 3670) | UnorderedEqualsMatcher(std::vector<T> const& target) : m_target(...
method match (line 3671) | bool match(std::vector<T> const& vec) const override {
method describe (line 3680) | std::string describe() const override {
function Contains (line 3693) | Vector::ContainsMatcher<T> Contains( std::vector<T> const& comparato...
function VectorContains (line 3698) | Vector::ContainsElementMatcher<T> VectorContains( T const& comparato...
function Equals (line 3703) | Vector::EqualsMatcher<T> Equals( std::vector<T> const& comparator ) {
function Approx (line 3708) | Vector::ApproxMatcher<T> Approx( std::vector<T> const& comparator ) {
function UnorderedEquals (line 3713) | Vector::UnorderedEqualsMatcher<T> UnorderedEquals(std::vector<T> con...
type Impl (line 11233) | namespace Impl {
type MatchAllOf (line 3193) | struct MatchAllOf
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3194) | struct MatchAnyOf
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3195) | struct MatchNotOf
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
class MatcherUntypedBase (line 3197) | class MatcherUntypedBase {
method MatcherUntypedBase (line 3199) | MatcherUntypedBase() = default;
method MatcherUntypedBase (line 3200) | MatcherUntypedBase ( MatcherUntypedBase const& ) = default;
method MatcherUntypedBase (line 3201) | MatcherUntypedBase& operator = ( MatcherUntypedBase const& ) = d...
type MatcherMethod (line 3216) | struct MatcherMethod {
type MatcherMethod<NSString*> (line 3224) | struct MatcherMethod<NSString*> {
type MatcherBase (line 3234) | struct MatcherBase : MatcherUntypedBase, MatcherMethod<T> {
type MatchAllOf (line 3242) | struct MatchAllOf : MatcherBase<ArgT> {
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3274) | struct MatchAnyOf : MatcherBase<ArgT> {
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3308) | struct MatchNotOf : MatcherBase<ArgT> {
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
type Exception (line 11255) | namespace Exception {
class ExceptionMessageMatcher (line 3351) | class ExceptionMessageMatcher : public MatcherBase<std::exception> {
method ExceptionMessageMatcher (line 3355) | ExceptionMessageMatcher(std::string const& message):
function Message (line 11266) | Exception::ExceptionMessageMatcher Message(std::string const& messag...
type Floating (line 11407) | namespace Floating {
type FloatingPointKind (line 3379) | enum class FloatingPointKind : uint8_t
type WithinAbsMatcher (line 3381) | struct WithinAbsMatcher : MatcherBase<double> {
type WithinUlpsMatcher (line 3390) | struct WithinUlpsMatcher : MatcherBase<double> {
type WithinRelMatcher (line 3406) | struct WithinRelMatcher : MatcherBase<double> {
type FloatingPointKind (line 11409) | enum class FloatingPointKind : uint8_t {
function WithinULP (line 11507) | Floating::WithinUlpsMatcher WithinULP(double target, uint64_t maxUlp...
function WithinULP (line 11511) | Floating::WithinUlpsMatcher WithinULP(float target, uint64_t maxUlpD...
function WithinAbs (line 11515) | Floating::WithinAbsMatcher WithinAbs(double target, double margin) {
function WithinRel (line 11519) | Floating::WithinRelMatcher WithinRel(double target, double eps) {
function WithinRel (line 11523) | Floating::WithinRelMatcher WithinRel(double target) {
function WithinRel (line 11527) | Floating::WithinRelMatcher WithinRel(float target, float eps) {
function WithinRel (line 11531) | Floating::WithinRelMatcher WithinRel(float target) {
type StdString (line 11556) | namespace StdString {
type CasedString (line 3490) | struct CasedString
type StringMatcherBase (line 3500) | struct StringMatcherBase : MatcherBase<std::string> {
type EqualsMatcher (line 3508) | struct EqualsMatcher : StringMatcherBase {
type ContainsMatcher (line 3512) | struct ContainsMatcher : StringMatcherBase {
type StartsWithMatcher (line 3516) | struct StartsWithMatcher : StringMatcherBase {
type EndsWithMatcher (line 3520) | struct EndsWithMatcher : StringMatcherBase {
type RegexMatcher (line 3525) | struct RegexMatcher : MatcherBase<std::string> {
function Equals (line 11631) | StdString::EqualsMatcher Equals( std::string const& str, CaseSensiti...
function Contains (line 11634) | StdString::ContainsMatcher Contains( std::string const& str, CaseSen...
function EndsWith (line 11637) | StdString::EndsWithMatcher EndsWith( std::string const& str, CaseSen...
function StartsWith (line 11640) | StdString::StartsWithMatcher StartsWith( std::string const& str, Cas...
function Matches (line 11644) | StdString::RegexMatcher Matches(std::string const& regex, CaseSensit...
type Matchers (line 3439) | namespace Matchers {
type Impl (line 3191) | namespace Impl {
type MatchAllOf (line 3193) | struct MatchAllOf
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3194) | struct MatchAnyOf
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3195) | struct MatchNotOf
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
class MatcherUntypedBase (line 3197) | class MatcherUntypedBase {
method MatcherUntypedBase (line 3199) | MatcherUntypedBase() = default;
method MatcherUntypedBase (line 3200) | MatcherUntypedBase ( MatcherUntypedBase const& ) = default;
method MatcherUntypedBase (line 3201) | MatcherUntypedBase& operator = ( MatcherUntypedBase const& ) = d...
type MatcherMethod (line 3216) | struct MatcherMethod {
type MatcherMethod<NSString*> (line 3224) | struct MatcherMethod<NSString*> {
type MatcherBase (line 3234) | struct MatcherBase : MatcherUntypedBase, MatcherMethod<T> {
type MatchAllOf (line 3242) | struct MatchAllOf : MatcherBase<ArgT> {
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3274) | struct MatchAnyOf : MatcherBase<ArgT> {
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3308) | struct MatchNotOf : MatcherBase<ArgT> {
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
type Exception (line 3349) | namespace Exception {
class ExceptionMessageMatcher (line 3351) | class ExceptionMessageMatcher : public MatcherBase<std::exception> {
method ExceptionMessageMatcher (line 3355) | ExceptionMessageMatcher(std::string const& message):
type Floating (line 3377) | namespace Floating {
type FloatingPointKind (line 3379) | enum class FloatingPointKind : uint8_t
type WithinAbsMatcher (line 3381) | struct WithinAbsMatcher : MatcherBase<double> {
type WithinUlpsMatcher (line 3390) | struct WithinUlpsMatcher : MatcherBase<double> {
type WithinRelMatcher (line 3406) | struct WithinRelMatcher : MatcherBase<double> {
type FloatingPointKind (line 11409) | enum class FloatingPointKind : uint8_t {
type Generic (line 3440) | namespace Generic {
type Detail (line 3442) | namespace Detail {
class PredicateMatcher (line 3447) | class PredicateMatcher : public MatcherBase<T> {
method PredicateMatcher (line 3452) | PredicateMatcher(std::function<bool(T const&)> const& elem, std:...
method match (line 3457) | bool match( T const& item ) const override {
method describe (line 3461) | std::string describe() const override {
function Predicate (line 3473) | Generic::PredicateMatcher<T> Predicate(std::function<bool(T const&)>...
type StdString (line 3488) | namespace StdString {
type CasedString (line 3490) | struct CasedString
type StringMatcherBase (line 3500) | struct StringMatcherBase : MatcherBase<std::string> {
type EqualsMatcher (line 3508) | struct EqualsMatcher : StringMatcherBase {
type ContainsMatcher (line 3512) | struct ContainsMatcher : StringMatcherBase {
type StartsWithMatcher (line 3516) | struct StartsWithMatcher : StringMatcherBase {
type EndsWithMatcher (line 3520) | struct EndsWithMatcher : StringMatcherBase {
type RegexMatcher (line 3525) | struct RegexMatcher : MatcherBase<std::string> {
type Vector (line 3557) | namespace Vector {
type ContainsElementMatcher (line 3559) | struct ContainsElementMatcher : MatcherBase<std::vector<T>> {
method ContainsElementMatcher (line 3561) | ContainsElementMatcher(T const &comparator) : m_comparator( comp...
method match (line 3563) | bool match(std::vector<T> const &v) const override {
method describe (line 3572) | std::string describe() const override {
type ContainsMatcher (line 3580) | struct ContainsMatcher : MatcherBase<std::vector<T>> {
method ContainsMatcher (line 3582) | ContainsMatcher(std::vector<T> const &comparator) : m_comparator...
method match (line 3584) | bool match(std::vector<T> const &v) const override {
method describe (line 3602) | std::string describe() const override {
type EqualsMatcher (line 3610) | struct EqualsMatcher : MatcherBase<std::vector<T>> {
method EqualsMatcher (line 3612) | EqualsMatcher(std::vector<T> const &comparator) : m_comparator( ...
method match (line 3614) | bool match(std::vector<T> const &v) const override {
method describe (line 3626) | std::string describe() const override {
type ApproxMatcher (line 3633) | struct ApproxMatcher : MatcherBase<std::vector<T>> {
method ApproxMatcher (line 3635) | ApproxMatcher(std::vector<T> const& comparator) : m_comparator( ...
method match (line 3637) | bool match(std::vector<T> const &v) const override {
method describe (line 3645) | std::string describe() const override {
method ApproxMatcher (line 3649) | ApproxMatcher& epsilon( T const& newEpsilon ) {
method ApproxMatcher (line 3654) | ApproxMatcher& margin( T const& newMargin ) {
method ApproxMatcher (line 3659) | ApproxMatcher& scale( T const& newScale ) {
type UnorderedEqualsMatcher (line 3669) | struct UnorderedEqualsMatcher : MatcherBase<std::vector<T>> {
method UnorderedEqualsMatcher (line 3670) | UnorderedEqualsMatcher(std::vector<T> const& target) : m_target(...
method match (line 3671) | bool match(std::vector<T> const& vec) const override {
method describe (line 3680) | std::string describe() const override {
function Contains (line 3693) | Vector::ContainsMatcher<T> Contains( std::vector<T> const& comparato...
function VectorContains (line 3698) | Vector::ContainsElementMatcher<T> VectorContains( T const& comparato...
function Equals (line 3703) | Vector::EqualsMatcher<T> Equals( std::vector<T> const& comparator ) {
function Approx (line 3708) | Vector::ApproxMatcher<T> Approx( std::vector<T> const& comparator ) {
function UnorderedEquals (line 3713) | Vector::UnorderedEqualsMatcher<T> UnorderedEquals(std::vector<T> con...
type Impl (line 11233) | namespace Impl {
type MatchAllOf (line 3193) | struct MatchAllOf
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3194) | struct MatchAnyOf
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3195) | struct MatchNotOf
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
class MatcherUntypedBase (line 3197) | class MatcherUntypedBase {
method MatcherUntypedBase (line 3199) | MatcherUntypedBase() = default;
method MatcherUntypedBase (line 3200) | MatcherUntypedBase ( MatcherUntypedBase const& ) = default;
method MatcherUntypedBase (line 3201) | MatcherUntypedBase& operator = ( MatcherUntypedBase const& ) = d...
type MatcherMethod (line 3216) | struct MatcherMethod {
type MatcherMethod<NSString*> (line 3224) | struct MatcherMethod<NSString*> {
type MatcherBase (line 3234) | struct MatcherBase : MatcherUntypedBase, MatcherMethod<T> {
type MatchAllOf (line 3242) | struct MatchAllOf : MatcherBase<ArgT> {
method match (line 3243) | bool match( ArgT const& arg ) const override {
method describe (line 3250) | std::string describe() const override {
type MatchAnyOf (line 3274) | struct MatchAnyOf : MatcherBase<ArgT> {
method match (line 3276) | bool match( ArgT const& arg ) const override {
method describe (line 3283) | std::string describe() const override {
type MatchNotOf (line 3308) | struct MatchNotOf : MatcherBase<ArgT> {
method MatchNotOf (line 3310) | MatchNotOf( MatcherBase<ArgT> const& underlyingMatcher ) : m_und...
method match (line 3312) | bool match( ArgT const& arg ) const override {
method describe (line 3316) | std::string describe() const override {
type Exception (line 11255) | namespace Exception {
class ExceptionMessageMatcher (line 3351) | class ExceptionMessageMatcher : public MatcherBase<std::exception> {
method ExceptionMessageMatcher (line 3355) | ExceptionMessageMatcher(std::string const& message):
function Message (line 11266) | Exception::ExceptionMessageMatcher Message(std::string const& messag...
type Floating (lin
Condensed preview — 131 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,961K chars).
[
{
"path": ".gitattributes",
"chars": 27,
"preview": "src/lua/* linguist-vendored"
},
{
"path": ".gitignore",
"chars": 116,
"preview": "*.o\nprojects/vs2017/libs/**\nprojects/opendingux/**\nprojects/funkey/**\n**/.vs/**\n**/Debug/**\n**/Release/**\n.DS_Store\n"
},
{
"path": ".gitlab-ci.yml",
"chars": 3535,
"preview": "# DESCRIPTION: GitLab CI/CD for libRetro (NOT FOR GitLab-proper)\n\n######################################################"
},
{
"path": "CMakeLists.txt",
"chars": 1983,
"preview": "cmake_minimum_required(VERSION 3.5.0)\n\nproject (retro8)\n\nset(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} \"${CMAKE_SOURCE_DIR}"
},
{
"path": "LICENSE",
"chars": 35149,
"preview": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free "
},
{
"path": "Makefile",
"chars": 4184,
"preview": "STATIC_LINKING := 0\nAR := ar\n\nifneq ($(V),1)\n Q := @\nendif\n\nifneq ($(SANITIZER),)\n CFLAGS := -fsanitiz"
},
{
"path": "Makefile.common",
"chars": 516,
"preview": "SRC_FOLDERS\t:= \\\n\t$(CORE_DIR)/src/io \\\n\t$(CORE_DIR)/src/libretro \\\n\t$(CORE_DIR)/src/vm\n\nSRC_FOLDERS_C\t:= \\\n\t$(CORE_DIR)/"
},
{
"path": "README.md",
"chars": 2007,
"preview": "## Introduction\n\nThis is an attempt to have an open source reimplementation of PICO-8 fantasy console to be used on Desk"
},
{
"path": "data/api.lua",
"chars": 1053,
"preview": "function all(t)\n if t ~= nil then\n local nt = {}\n local ni = 1\n for _,v in pairs(t) do\n nt[ni] = v\n "
},
{
"path": "data/default.funkey-s.desktop",
"chars": 169,
"preview": "[Desktop Entry]\nType=Emulator\nName=retro-8\nComment=PICO-8 Emulator\nTerminal=false\nStartupNotify=true\nExec=retro8 %f\nIcon"
},
{
"path": "data/default.gcw0.desktop",
"chars": 169,
"preview": "[Desktop Entry]\nType=Emulator\nName=retro-8\nComment=PICO-8 Emulator\nTerminal=false\nStartupNotify=true\nExec=retro8 %f\nIcon"
},
{
"path": "data/default.retrofw.desktop",
"chars": 196,
"preview": "[Desktop Entry]\nType=Application\nName=Retro8\nComment=PICO-8 Emulator\nExec=retro8 %f\nIcon=icon\nTerminal=false\nType=Applic"
},
{
"path": "jni/Android.mk",
"chars": 534,
"preview": "LOCAL_PATH := $(call my-dir)\n\nCORE_DIR := $(LOCAL_PATH)/..\n\nINCFLAGS :=\n\ninclude $(CORE_DIR)/Makefile.common\n\nCOREFLAGS "
},
{
"path": "jni/Application.mk",
"chars": 37,
"preview": "APP_ABI := all\nAPP_STL := c++_static\n"
},
{
"path": "link.T",
"chars": 39,
"preview": "{\n global: retro_*;\n local: *;\n};\n\n"
},
{
"path": "projects/Makefile",
"chars": 1252,
"preview": ".PHONY: all clean info\n\nCXX := $(CROSS)g++\nCC := $(CROSS)gcc\n\nSYSROOT:= $(shell $(CXX) -print-sysroot)\nCXXFLAGS += $(she"
},
{
"path": "projects/build_opk_funkey.sh",
"chars": 245,
"preview": "rm -rf opk\nmkdir -p opk\ncp funkey/retro8 opk\ncp vs2017/retro8/api.lua opk\ncp ../data/default.funkey-s.desktop opk\ncp ../"
},
{
"path": "projects/build_opk_od.sh",
"chars": 275,
"preview": "rm -rf opk\nmkdir -p opk\ncp opendingux/retro8 opk\ncp vs2017/retro8/api.lua opk\ncp ../data/default.gcw0.desktop opk\ncp ../"
},
{
"path": "projects/build_opk_retrofw.sh",
"chars": 270,
"preview": "rm -rf opk\nmkdir -p opk\ncp ../retro8 opk\ncp vs2017/retro8/api.lua opk\ncp ../data/default.retrofw.desktop opk\ncp ../data/"
},
{
"path": "projects/cmake/FindSDL2.cmake",
"chars": 6269,
"preview": "\n# This module defines\n# SDL2_LIBRARY, the name of the library to link against\n# SDL2_FOUND, if false, do not try to lin"
},
{
"path": "projects/cmake/FindSDL2_image.cmake",
"chars": 3959,
"preview": "# Locate SDL_image library\n#\n# This module defines:\n#\n# ::\n#\n# SDL2_IMAGE_LIBRARIES, the name of the library to link a"
},
{
"path": "projects/cmake/FindSDL2_mixer.cmake",
"chars": 3963,
"preview": "# Locate SDL_MIXER library\n#\n# This module defines:\n#\n# ::\n#\n# SDL2_MIXER_LIBRARIES, the name of the library to link a"
},
{
"path": "projects/cmake/FindSDL2_ttf.cmake",
"chars": 3767,
"preview": "# Locate SDL_ttf library\n#\n# This module defines:\n#\n# ::\n#\n# SDL2_TTF_LIBRARIES, the name of the library to link again"
},
{
"path": "projects/cmake/readme.md",
"chars": 2615,
"preview": "\nThis repository contains CMake scripts for finding the `SDL2`, `SDL2_image` and\n`SDL2_ttf` libraries and headers.\n\nCMak"
},
{
"path": "projects/vs2017/.gitignore",
"chars": 16,
"preview": "*.png\n*.dll\n*.p8"
},
{
"path": "projects/vs2017/retro8/api.lua",
"chars": 1037,
"preview": "function all(t)\n if t ~= nil then\n local nt = {}\n local ni = 1\n for _,v in pairs(t) do\n nt[ni] = v\n "
},
{
"path": "projects/vs2017/retro8/libretro.vcxproj",
"chars": 8887,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.micros"
},
{
"path": "projects/vs2017/retro8/libretro.vcxproj.filters",
"chars": 9851,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbui"
},
{
"path": "projects/vs2017/retro8/retro8-sdl1.2.vcxproj",
"chars": 10187,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.micros"
},
{
"path": "projects/vs2017/retro8/retro8-sdl1.2.vcxproj.filters",
"chars": 10289,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbui"
},
{
"path": "projects/vs2017/retro8/retro8.sln",
"chars": 1909,
"preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 15\nVisualStudioVersion = 15.0.28307.421\nMi"
},
{
"path": "projects/vs2017/retro8/retro8.vcxproj",
"chars": 10641,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.micros"
},
{
"path": "projects/vs2017/retro8/retro8.vcxproj.filters",
"chars": 10835,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbui"
},
{
"path": "projects/xcode/retro8.xcodeproj/project.pbxproj",
"chars": 49726,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "src/common.h",
"chars": 1371,
"preview": "#pragma once\n\n#include <cstdint>\n#include <type_traits>\n#include <vector>\n\nusing u32 = uint32_t;\nusing u16 = uint16_t;\n\n"
},
{
"path": "src/config.h",
"chars": 3015,
"preview": "#pragma once\r\n\n#define PLATFORM_WIN32 0\n#define PLATFORM_LIBRETRO 1\n#define PLATFORM_OPENDINGUX 2\n#define PLATFORM_FUNKE"
},
{
"path": "src/gen/lua_api.h",
"chars": 1386,
"preview": "const char* lua_api_string =\n\"function all(t)\\n\"\n\" if t ~= nil then\\n\"\n\" local nt = {}\\n\"\n\" local ni = 1\\n\"\n\" "
},
{
"path": "src/gen/pico_font.h",
"chars": 8277,
"preview": "#include \"common.h\"\n\nnamespace retro8\n{\n namespace gfx\n {\n static constexpr uint8_t font_map[] = {\n 0x00, 0x0"
},
{
"path": "src/io/loader.cpp",
"chars": 6204,
"preview": "#include \"loader.h\"\n\n#include \"stegano.h\"\n\n#include <fstream>\n#include <algorithm>\n#include <iterator>\n#include <cassert"
},
{
"path": "src/io/loader.h",
"chars": 825,
"preview": "#include \"common.h\"\n\n#include \"vm/machine.h\"\n\n#include <vector>\n#include <string>\n\nnamespace retro8\n{\n namespace io\n {"
},
{
"path": "src/io/picopng.cpp",
"chars": 34190,
"preview": "#include <vector>\n#include \"common.h\"\n\n\n#if R8_USE_LODE_PNG\n\n/*\ndecodePNG: The picoPNG function, decodes a PNG file buff"
},
{
"path": "src/io/stegano.cpp",
"chars": 7359,
"preview": "#include \"stegano.h\"\r\n\r\n#include <cassert>\r\n#include <algorithm>\r\n\r\nusing namespace retro8;\r\nusing namespace io;\r\n\r\ncons"
},
{
"path": "src/io/stegano.h",
"chars": 619,
"preview": "#pragma once\r\n\r\n#include \"common.h\"\r\n\r\n#include \"vm/machine.h\"\r\n\r\nnamespace retro8\r\n{\r\n namespace io\r\n {\r\n struct P"
},
{
"path": "src/libretro/libretro.cpp",
"chars": 8213,
"preview": "#include \"libretro.h\"\n\n#include \"common.h\"\n#include \"vm/gfx.h\"\n\n#include \"io/loader.h\"\n#include \"io/stegano.h\"\n#include "
},
{
"path": "src/libretro/libretro.h",
"chars": 149053,
"preview": "/* Copyright (C) 2010-2018 The RetroArch team\n *\n * --------------------------------------------------------------------"
},
{
"path": "src/lua/lapi.c",
"chars": 31352,
"preview": "/*\n** $Id: lapi.c,v 2.259.1.2 2017/12/06 18:35:12 roberto Exp $\n** Lua API\n** See Copyright Notice in lua.h\n*/\n\n#define "
},
{
"path": "src/lua/lapi.h",
"chars": 545,
"preview": "/*\n** $Id: lapi.h,v 2.9.1.1 2017/04/19 17:20:42 roberto Exp $\n** Auxiliary functions from Lua API\n** See Copyright Notic"
},
{
"path": "src/lua/lauxlib.c",
"chars": 30495,
"preview": "/*\n** $Id: lauxlib.c,v 1.289.1.1 2017/04/19 17:20:42 roberto Exp $\n** Auxiliary functions for building Lua libraries\n** "
},
{
"path": "src/lua/lauxlib.h",
"chars": 8632,
"preview": "/*\n** $Id: lauxlib.h,v 1.131.1.1 2017/04/19 17:20:42 roberto Exp $\n** Auxiliary functions for building Lua libraries\n** "
},
{
"path": "src/lua/lbaselib.c",
"chars": 13711,
"preview": "/*\n** $Id: lbaselib.c,v 1.314.1.1 2017/04/19 17:39:34 roberto Exp $\n** Basic library\n** See Copyright Notice in lua.h\n*/"
},
{
"path": "src/lua/lbitlib.c",
"chars": 4963,
"preview": "/*\n** $Id: lbitlib.c,v 1.30.1.1 2017/04/19 17:20:42 roberto Exp $\n** Standard library for bitwise operations\n** See Copy"
},
{
"path": "src/lua/lcode.c",
"chars": 34301,
"preview": "/*\n** $Id: lcode.c,v 2.112.1.1 2017/04/19 17:20:42 roberto Exp $\n** Code generator for Lua\n** See Copyright Notice in lu"
},
{
"path": "src/lua/lcode.h",
"chars": 3347,
"preview": "/*\n** $Id: lcode.h,v 1.64.1.1 2017/04/19 17:20:42 roberto Exp $\n** Code generator for Lua\n** See Copyright Notice in lua"
},
{
"path": "src/lua/lcorolib.c",
"chars": 3768,
"preview": "/*\n** $Id: lcorolib.c,v 1.10.1.1 2017/04/19 17:20:42 roberto Exp $\n** Coroutine Library\n** See Copyright Notice in lua.h"
},
{
"path": "src/lua/lctype.c",
"chars": 2322,
"preview": "/*\n** $Id: lctype.c,v 1.12.1.1 2017/04/19 17:20:42 roberto Exp $\n** 'ctype' functions for Lua\n** See Copyright Notice in"
},
{
"path": "src/lua/lctype.h",
"chars": 1841,
"preview": "/*\n** $Id: lctype.h,v 1.12.1.1 2013/04/12 18:48:47 roberto Exp $\n** 'ctype' functions for Lua\n** See Copyright Notice in"
},
{
"path": "src/lua/ldblib.c",
"chars": 12779,
"preview": "/*\n** $Id: ldblib.c,v 1.151.1.1 2017/04/19 17:20:42 roberto Exp $\n** Interface from Lua to its debug API\n** See Copyrigh"
},
{
"path": "src/lua/ldebug.c",
"chars": 20399,
"preview": "/*\n** $Id: ldebug.c,v 2.121.1.2 2017/07/10 17:21:50 roberto Exp $\n** Debug Interface\n** See Copyright Notice in lua.h\n*/"
},
{
"path": "src/lua/ldebug.h",
"chars": 1456,
"preview": "/*\n** $Id: ldebug.h,v 2.14.1.1 2017/04/19 17:20:42 roberto Exp $\n** Auxiliary functions from Debug Interface module\n** S"
},
{
"path": "src/lua/ldo.c",
"chars": 25534,
"preview": "/*\n** $Id: ldo.c,v 2.157.1.1 2017/04/19 17:20:42 roberto Exp $\n** Stack and Call structure of Lua\n** See Copyright Notic"
},
{
"path": "src/lua/ldo.h",
"chars": 2058,
"preview": "/*\n** $Id: ldo.h,v 2.29.1.1 2017/04/19 17:20:42 roberto Exp $\n** Stack and Call structure of Lua\n** See Copyright Notice"
},
{
"path": "src/lua/ldump.c",
"chars": 4478,
"preview": "/*\n** $Id: ldump.c,v 2.37.1.1 2017/04/19 17:20:42 roberto Exp $\n** save precompiled Lua chunks\n** See Copyright Notice i"
},
{
"path": "src/lua/lfunc.c",
"chars": 3695,
"preview": "/*\n** $Id: lfunc.c,v 2.45.1.1 2017/04/19 17:39:34 roberto Exp $\n** Auxiliary functions to manipulate prototypes and clos"
},
{
"path": "src/lua/lfunc.h",
"chars": 1635,
"preview": "/*\n** $Id: lfunc.h,v 2.15.1.1 2017/04/19 17:39:34 roberto Exp $\n** Auxiliary functions to manipulate prototypes and clos"
},
{
"path": "src/lua/lgc.c",
"chars": 36672,
"preview": "/*\n** $Id: lgc.c,v 2.215.1.2 2017/08/31 16:15:27 roberto Exp $\n** Garbage Collector\n** See Copyright Notice in lua.h\n*/\n"
},
{
"path": "src/lua/lgc.h",
"chars": 4742,
"preview": "/*\n** $Id: lgc.h,v 2.91.1.1 2017/04/19 17:39:34 roberto Exp $\n** Garbage Collector\n** See Copyright Notice in lua.h\n*/\n\n"
},
{
"path": "src/lua/linit.c",
"chars": 1746,
"preview": "/*\n** $Id: linit.c,v 1.39.1.1 2017/04/19 17:20:42 roberto Exp $\n** Initialization of libraries for lua.c and other clien"
},
{
"path": "src/lua/liolib.c",
"chars": 20288,
"preview": "/*\n** $Id: liolib.c,v 2.151.1.1 2017/04/19 17:29:57 roberto Exp $\n** Standard I/O (and system) library\n** See Copyright "
},
{
"path": "src/lua/llex.c",
"chars": 18877,
"preview": "/*\n** $Id: llex.c,v 2.96.1.1 2017/04/19 17:20:42 roberto Exp $\n** Lexical Analyzer\n** See Copyright Notice in lua.h\n*/\n\n"
},
{
"path": "src/lua/llex.h",
"chars": 2369,
"preview": "/*\n** $Id: llex.h,v 1.79.1.1 2017/04/19 17:20:42 roberto Exp $\n** Lexical Analyzer\n** See Copyright Notice in lua.h\n*/\n\n"
},
{
"path": "src/lua/llimits.h",
"chars": 7680,
"preview": "/*\n** $Id: llimits.h,v 1.141.1.1 2017/04/19 17:20:42 roberto Exp $\n** Limits, basic types, and some other 'installation-"
},
{
"path": "src/lua/lmathlib.c",
"chars": 9916,
"preview": "/*\n** $Id: lmathlib.c,v 1.119.1.1 2017/04/19 17:20:42 roberto Exp $\n** Standard mathematical library\n** See Copyright No"
},
{
"path": "src/lua/lmem.c",
"chars": 2675,
"preview": "/*\n** $Id: lmem.c,v 1.91.1.1 2017/04/19 17:20:42 roberto Exp $\n** Interface to Memory Manager\n** See Copyright Notice in"
},
{
"path": "src/lua/lmem.h",
"chars": 2439,
"preview": "/*\n** $Id: lmem.h,v 1.43.1.1 2017/04/19 17:20:42 roberto Exp $\n** Interface to Memory Manager\n** See Copyright Notice in"
},
{
"path": "src/lua/loadlib.c",
"chars": 23577,
"preview": "/*\n** $Id: loadlib.c,v 1.130.1.1 2017/04/19 17:20:42 roberto Exp $\n** Dynamic library loader for Lua\n** See Copyright No"
},
{
"path": "src/lua/lobject.c",
"chars": 17457,
"preview": "/*\n** $Id: lobject.c,v 2.113.1.1 2017/04/19 17:29:57 roberto Exp $\n** Some generic functions over Lua objects\n** See Cop"
},
{
"path": "src/lua/lobject.h",
"chars": 14492,
"preview": "/*\n** $Id: lobject.h,v 2.117.1.1 2017/04/19 17:39:34 roberto Exp $\n** Type definitions for Lua objects\n** See Copyright "
},
{
"path": "src/lua/lopcodes.c",
"chars": 3546,
"preview": "/*\n** $Id: lopcodes.c,v 1.55.1.1 2017/04/19 17:20:42 roberto Exp $\n** Opcodes for Lua virtual machine\n** See Copyright N"
},
{
"path": "src/lua/lopcodes.h",
"chars": 8852,
"preview": "/*\n** $Id: lopcodes.h,v 1.149.1.1 2017/04/19 17:20:42 roberto Exp $\n** Opcodes for Lua virtual machine\n** See Copyright "
},
{
"path": "src/lua/loslib.c",
"chars": 11491,
"preview": "/*\r\n** $Id: loslib.c,v 1.65.1.1 2017/04/19 17:29:57 roberto Exp $\r\n** Standard Operating System library\r\n** See Copyrigh"
},
{
"path": "src/lua/lparser.c",
"chars": 49216,
"preview": "/*\n** $Id: lparser.c,v 2.155.1.2 2017/04/29 18:11:40 roberto Exp $\n** Lua Parser\n** See Copyright Notice in lua.h\n*/\n\n#d"
},
{
"path": "src/lua/lparser.h",
"chars": 4381,
"preview": "/*\n** $Id: lparser.h,v 1.76.1.1 2017/04/19 17:20:42 roberto Exp $\n** Lua Parser\n** See Copyright Notice in lua.h\n*/\n\n#if"
},
{
"path": "src/lua/lprefix.h",
"chars": 871,
"preview": "/*\n** $Id: lprefix.h,v 1.2.1.1 2017/04/19 17:20:42 roberto Exp $\n** Definitions for Lua code that must come before any o"
},
{
"path": "src/lua/lstate.c",
"chars": 8495,
"preview": "/*\n** $Id: lstate.c,v 2.133.1.1 2017/04/19 17:39:34 roberto Exp $\n** Global State\n** See Copyright Notice in lua.h\n*/\n\n#"
},
{
"path": "src/lua/lstate.h",
"chars": 8743,
"preview": "/*\n** $Id: lstate.h,v 2.133.1.1 2017/04/19 17:39:34 roberto Exp $\n** Global State\n** See Copyright Notice in lua.h\n*/\n\n#"
},
{
"path": "src/lua/lstring.c",
"chars": 6582,
"preview": "/*\n** $Id: lstring.c,v 2.56.1.1 2017/04/19 17:20:42 roberto Exp $\n** String table (keeps all strings handled by Lua)\n** "
},
{
"path": "src/lua/lstring.h",
"chars": 1455,
"preview": "/*\n** $Id: lstring.h,v 1.61.1.1 2017/04/19 17:20:42 roberto Exp $\n** String table (keep all strings handled by Lua)\n** S"
},
{
"path": "src/lua/lstrlib.c",
"chars": 47175,
"preview": "/*\n** $Id: lstrlib.c,v 1.254.1.1 2017/04/19 17:29:57 roberto Exp $\n** Standard library for string operations and pattern"
},
{
"path": "src/lua/ltable.c",
"chars": 20264,
"preview": "/*\n** $Id: ltable.c,v 2.118.1.4 2018/06/08 16:22:51 roberto Exp $\n** Lua tables (hash)\n** See Copyright Notice in lua.h\n"
},
{
"path": "src/lua/ltable.h",
"chars": 2094,
"preview": "/*\n** $Id: ltable.h,v 2.23.1.2 2018/05/24 19:39:05 roberto Exp $\n** Lua tables (hash)\n** See Copyright Notice in lua.h\n*"
},
{
"path": "src/lua/ltablib.c",
"chars": 13550,
"preview": "/*\n** $Id: ltablib.c,v 1.93.1.1 2017/04/19 17:20:42 roberto Exp $\n** Library for Table Manipulation\n** See Copyright Not"
},
{
"path": "src/lua/ltests.c",
"chars": 40208,
"preview": "/*\n** $Id: ltests.c,v 2.211.1.1 2017/04/19 17:39:34 roberto Exp $\n** Internal Module for Debugging of the Lua Implementa"
},
{
"path": "src/lua/ltests.h",
"chars": 2973,
"preview": "/*\n** $Id: ltests.h,v 2.50.1.1 2017/04/19 17:20:42 roberto Exp $\n** Internal Header for Debugging of the Lua Implementat"
},
{
"path": "src/lua/ltm.c",
"chars": 4702,
"preview": "/*\n** $Id: ltm.c,v 2.38.1.1 2017/04/19 17:39:34 roberto Exp $\n** Tag methods\n** See Copyright Notice in lua.h\n*/\n\n#defin"
},
{
"path": "src/lua/ltm.h",
"chars": 1783,
"preview": "/*\n** $Id: ltm.h,v 2.22.1.1 2017/04/19 17:20:42 roberto Exp $\n** Tag methods\n** See Copyright Notice in lua.h\n*/\n\n#ifnde"
},
{
"path": "src/lua/lua.h",
"chars": 14919,
"preview": "/*\n** $Id: lua.h,v 1.332.1.2 2018/06/13 16:58:17 roberto Exp $\n** Lua - A Scripting Language\n** Lua.org, PUC-Rio, Brazil"
},
{
"path": "src/lua/lua.hpp",
"chars": 99,
"preview": "extern \"C\"\n{\n #include <climits>\n #include \"lua.h\"\n #include \"lualib.h\"\n #include \"lauxlib.h\"\n}"
},
{
"path": "src/lua/luaconf.h",
"chars": 21643,
"preview": "/*\n** $Id: luaconf.h,v 1.259.1.1 2017/04/19 17:29:57 roberto Exp $\n** Configuration file for Lua\n** See Copyright Notice"
},
{
"path": "src/lua/lualib.h",
"chars": 1305,
"preview": "/*\n** $Id: lualib.h,v 1.45.1.1 2017/04/19 17:20:42 roberto Exp $\n** Lua standard libraries\n** See Copyright Notice in lu"
},
{
"path": "src/lua/lundump.c",
"chars": 6179,
"preview": "/*\n** $Id: lundump.c,v 2.44.1.1 2017/04/19 17:20:42 roberto Exp $\n** load precompiled Lua chunks\n** See Copyright Notice"
},
{
"path": "src/lua/lundump.h",
"chars": 803,
"preview": "/*\n** $Id: lundump.h,v 1.45.1.1 2017/04/19 17:20:42 roberto Exp $\n** load precompiled Lua chunks\n** See Copyright Notice"
},
{
"path": "src/lua/lutf8lib.c",
"chars": 7075,
"preview": "/*\n** $Id: lutf8lib.c,v 1.16.1.1 2017/04/19 17:29:57 roberto Exp $\n** Standard library for UTF-8 manipulation\n** See Cop"
},
{
"path": "src/lua/lvm.c",
"chars": 44393,
"preview": "/*\n** $Id: lvm.c,v 2.268.1.1 2017/04/19 17:39:34 roberto Exp $\n** Lua virtual machine\n** See Copyright Notice in lua.h\n*"
},
{
"path": "src/lua/lvm.h",
"chars": 3685,
"preview": "/*\n** $Id: lvm.h,v 2.41.1.1 2017/04/19 17:20:42 roberto Exp $\n** Lua virtual machine\n** See Copyright Notice in lua.h\n*/"
},
{
"path": "src/lua/lzio.c",
"chars": 1365,
"preview": "/*\n** $Id: lzio.c,v 1.37.1.1 2017/04/19 17:20:42 roberto Exp $\n** Buffered streams\n** See Copyright Notice in lua.h\n*/\n\n"
},
{
"path": "src/lua/lzio.h",
"chars": 1481,
"preview": "/*\n** $Id: lzio.h,v 1.31.1.1 2017/04/19 17:20:42 roberto Exp $\n** Buffered streams\n** See Copyright Notice in lua.h\n*/\n\n"
},
{
"path": "src/main.cpp",
"chars": 1115,
"preview": "#include \"views/view_manager.h\"\r\n#include \"views/main_view.h\"\r\n\r\n/*\r\n* D-PAD Left - SDLK_LEFT\r\n* D-PAD Right - SDLK_RIGH"
},
{
"path": "src/test/catch.hpp",
"chars": 639329,
"preview": "/*\n * Catch v2.11.0\n * Generated: 2019-11-15 15:01:56.628356\n * -----------------------------------------------------"
},
{
"path": "src/test/test.cpp",
"chars": 5408,
"preview": "#include \"common.h\"\n\n#if TEST_MODE\n\n#define CATCH_CONFIG_RUNNER\n#include \"catch.hpp\"\n\n#include \"vm/machine.h\"\n#include \""
},
{
"path": "src/views/game_view.cpp",
"chars": 11454,
"preview": "#include \"main_view.h\"\r\n\r\n#include \"io/loader.h\"\r\n#include \"io/stegano.h\"\r\n\r\n#include <future>\r\n\r\n#include <SDL_audio.h>"
},
{
"path": "src/views/main_view.h",
"chars": 1741,
"preview": "#pragma once\r\n\r\n#include \"view_manager.h\"\r\n\r\n#include <iostream>\r\n#include <fstream>\r\n#include <streambuf>\r\n#include <fu"
},
{
"path": "src/views/menu_view.cpp",
"chars": 5117,
"preview": "#include \"main_view.h\"\r\n\r\nextern retro8::Machine machine;\r\n\r\nusing namespace ui;\r\n\r\nstruct MenuEntry\r\n{\r\n mutable std::"
},
{
"path": "src/views/sdl_helper.h",
"chars": 4904,
"preview": "#pragma once\r\n\r\n#include \"common.h\"\r\n\r\n#include \"SDL.h\"\r\n\r\n#include <cstdint>\r\n#include <cstdio>\r\n#include <cassert>\r\n\r\n"
},
{
"path": "src/views/sdl_impl.h",
"chars": 4366,
"preview": "#pragma once\r\n\r\ntemplate<typename EventHandler, typename Renderer>\r\nbool SDL<EventHandler, Renderer>::init()\r\n{\r\n if (S"
},
{
"path": "src/views/sdl_impl12.h",
"chars": 5657,
"preview": "#if defined(SDL12)\r\n\r\ntemplate<typename EventHandler, typename Renderer>\r\nbool SDL<EventHandler, Renderer>::init()\r\n{\r\n "
},
{
"path": "src/views/view_manager.cpp",
"chars": 2939,
"preview": "#include \"view_manager.h\"\r\n\r\n#include \"main_view.h\"\r\n#include \"gen/pico_font.h\"\r\n\r\n#ifdef _WIN32\r\n#define PREFIX \"../.."
},
{
"path": "src/views/view_manager.h",
"chars": 1408,
"preview": "#pragma once\r\n\r\n#include \"sdl_helper.h\"\r\n\r\n#include <array>\r\n#include <string>\r\n\r\nnamespace ui\r\n{\r\n class View\r\n {\r\n "
},
{
"path": "src/vm/defines.h",
"chars": 1275,
"preview": "#pragma once\n\n#include <array>\n#include <cstddef>\n#include <cstdint>\n\nnamespace retro8\n{\n enum color_t : uint8_t\n {\n "
},
{
"path": "src/vm/gfx.cpp",
"chars": 1929,
"preview": "#include \"gfx.h\"\n\n#include \"gen/pico_font.h\"\n\n\nusing namespace retro8;\nusing namespace retro8::gfx;\n\nvoid Font::load()\n{"
},
{
"path": "src/vm/gfx.h",
"chars": 7449,
"preview": "#pragma once\n\n#include \"defines.h\"\n\n#include <array>\n#include <cassert>\n\nnamespace retro8\n{\n namespace gfx\n {\n stat"
},
{
"path": "src/vm/input.h",
"chars": 2653,
"preview": "#pragma once\n\n#include \"common.h\"\n#include \"defines.h\"\n\n#include \"vm/machine.h\"\n\nnamespace retro8\n{\n namespace input\n "
},
{
"path": "src/vm/lua_bridge.cpp",
"chars": 27007,
"preview": "#include \"lua_bridge.h\"\n\n#include \"machine.h\"\n#include \"lua/lua.hpp\"\n#include \"gen/lua_api.h\"\n\n#include <functional>\n#in"
},
{
"path": "src/vm/lua_bridge.h",
"chars": 947,
"preview": "#pragma once\n\n#include <string>\n\nstruct lua_State;\n\nnamespace lua\n{\n void registerFunctions(lua_State* state);\n\n class"
},
{
"path": "src/vm/machine.cpp",
"chars": 9224,
"preview": "#include \"machine.h\"\n\n#include <algorithm>\n\nusing namespace retro8;\n\nvoid Machine::color(color_t color)\n{\n gfx::color_b"
},
{
"path": "src/vm/machine.h",
"chars": 2109,
"preview": "#pragma once\n\n#include \"common.h\"\n#include \"defines.h\"\n#include \"gfx.h\"\n#include \"sound.h\"\n#include \"lua_bridge.h\"\n#incl"
},
{
"path": "src/vm/memory.cpp",
"chars": 19,
"preview": "#include \"memory.h\""
},
{
"path": "src/vm/memory.h",
"chars": 4246,
"preview": "#pragma once\n\n#include \"common.h\"\n#include \"defines.h\"\n#include \"gfx.h\"\n#include \"sound.h\"\n#include \"lua_bridge.h\"\n\n#inc"
},
{
"path": "src/vm/sound.cpp",
"chars": 11882,
"preview": "#include \"sound.h\"\n\n#include \"memory.h\"\n\n#include <random>\n#include <cassert>\n\nusing namespace retro8;\nusing namespace r"
},
{
"path": "src/vm/sound.h",
"chars": 7691,
"preview": "#pragma once\n\n#include \"defines.h\"\n#include \"common.h\"\n\n#include <array>\n#include <vector>\n#include <mutex>\n\n#if SOUND_E"
},
{
"path": "status.md",
"chars": 1335,
"preview": "# API Status\n| __Graphics__ | implemented? | tests? | notes |\n| --- | --- | --- | --- |\n| `camera([x,] [y])` | ✔ | ✔ | |"
}
]
// ... and 1 more files (download for full content)
About this extraction
This page contains the full source code of the Jakz/retro8 GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 131 files (1.8 MB), approximately 517.2k tokens, and a symbol index with 2740 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.