Compare commits
27 Commits
2e5f52d836
...
v2.3
| Author | SHA1 | Date | |
|---|---|---|---|
| b044fe1702 | |||
| 32f06ce754 | |||
| a59bfce0bf | |||
| 18c90a5f9c | |||
| b76e271fa7 | |||
| df987e33b2 | |||
| 00e25e1b51 | |||
| 5a03401424 | |||
| 3ac9157fbf | |||
| c1c88032de | |||
| bae3ce7028 | |||
| 744f5d5711 | |||
| 8fa40c802e | |||
| a6262bea4f | |||
| 8627c4c405 | |||
| e41aec37b0 | |||
| d7533c5504 | |||
| 45d02440f6 | |||
| 769e057a81 | |||
| 08f3e04600 | |||
| 3e7aeeedbf | |||
| 26f7cf2a37 | |||
| 58d3a75976 | |||
| 458be05547 | |||
| 6f1eee21b9 | |||
| 9513a6c57e | |||
| 337e6ed6cc |
626
LICENSE
626
LICENSE
@@ -1,625 +1 @@
|
|||||||
GNU GENERAL PUBLIC LICENSE
|
GNU General Public License v3.0 only
|
||||||
|
|
||||||
Version 3, 29 June 2007
|
|
||||||
|
|
||||||
Copyright © 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>.
|
|
||||||
18
Makefile
18
Makefile
@@ -29,11 +29,9 @@ windows_release:
|
|||||||
|
|
||||||
# Prepare data folder
|
# Prepare data folder
|
||||||
powershell Copy-Item -Path "data" -Destination "$(releaseFolder)" -recurse -Force
|
powershell Copy-Item -Path "data" -Destination "$(releaseFolder)" -recurse -Force
|
||||||
powershell Copy-Item "release\config.txt" -Destination "$(releaseFolder)\data\config\"
|
|
||||||
powershell if (Test-Path "$(releaseFolder)\data\config\score.bin") {Remove-Item "$(releaseFolder)\data\config\score.bin" -Recurse -Force}
|
|
||||||
|
|
||||||
# Copy root files
|
# Copy root files
|
||||||
powershell Copy-Item "LICENSE.txt" -Destination "$(releaseFolder)"
|
powershell Copy-Item "LICENSE" -Destination "$(releaseFolder)"
|
||||||
powershell Copy-Item "README.md" -Destination "$(releaseFolder)"
|
powershell Copy-Item "README.md" -Destination "$(releaseFolder)"
|
||||||
powershell Copy-Item "release\*.dll" -Destination "$(releaseFolder)"
|
powershell Copy-Item "release\*.dll" -Destination "$(releaseFolder)"
|
||||||
|
|
||||||
@@ -70,17 +68,13 @@ macos_release:
|
|||||||
|
|
||||||
# Copy folders and files
|
# Copy folders and files
|
||||||
cp -R data "$(releaseFolder)/$(appName).app/Contents/Resources"
|
cp -R data "$(releaseFolder)/$(appName).app/Contents/Resources"
|
||||||
cp release/config.txt "$(releaseFolder)/$(appName).app/Contents/Resources/data/config"
|
|
||||||
cp -R release/SDL2.framework "$(releaseFolder)/$(appName).app/Contents/Frameworks"
|
cp -R release/SDL2.framework "$(releaseFolder)/$(appName).app/Contents/Frameworks"
|
||||||
cp -R release/SDL2.framework Frameworks
|
cp -R release/SDL2.framework Frameworks
|
||||||
|
|
||||||
# Delete data
|
|
||||||
rm -f "$(releaseFolder)/$(appName).app/Contents/Resources/data/config/score.bin"
|
|
||||||
|
|
||||||
# Copy files
|
# Copy files
|
||||||
cp release/*.icns "$(releaseFolder)/$(appName).app/Contents/Resources"
|
cp release/*.icns "$(releaseFolder)/$(appName).app/Contents/Resources"
|
||||||
cp release/Info.plist "$(releaseFolder)/$(appName).app/Contents"
|
cp release/Info.plist "$(releaseFolder)/$(appName).app/Contents"
|
||||||
cp LICENSE.txt "$(releaseFolder)"
|
cp LICENSE "$(releaseFolder)"
|
||||||
cp README.md "$(releaseFolder)"
|
cp README.md "$(releaseFolder)"
|
||||||
|
|
||||||
# Create links
|
# Create links
|
||||||
@@ -123,20 +117,16 @@ linux_release:
|
|||||||
|
|
||||||
# Copy data
|
# Copy data
|
||||||
cp -R data "$(releaseFolder)"
|
cp -R data "$(releaseFolder)"
|
||||||
cp release/config.txt "$(releaseFolder)/data/config/"
|
cp LICENSE "$(releaseFolder)"
|
||||||
cp LICENSE.txt "$(releaseFolder)"
|
|
||||||
cp README.md "$(releaseFolder)"
|
cp README.md "$(releaseFolder)"
|
||||||
|
|
||||||
# Delete data
|
|
||||||
rm -f "$(releaseFolder)/data/config/score.bin"
|
|
||||||
|
|
||||||
# Build
|
# Build
|
||||||
g++ $(source) -std=c++11 -Wall -Os -lSDL2 -ffunction-sections -fdata-sections -Wl,--gc-sections -o "$(releaseFolder)/$(executable)"
|
g++ $(source) -std=c++11 -Wall -Os -lSDL2 -ffunction-sections -fdata-sections -Wl,--gc-sections -o "$(releaseFolder)/$(executable)"
|
||||||
strip -s -R .comment -R .gnu.version "$(releaseFolder)/$(executable)" --strip-unneeded
|
strip -s -R .comment -R .gnu.version "$(releaseFolder)/$(executable)" --strip-unneeded
|
||||||
|
|
||||||
# Pack files
|
# Pack files
|
||||||
rm -f "$(linuxRelease)"
|
rm -f "$(linuxRelease)"
|
||||||
cd "$(releaseFolder)" && tar -czvf "../$(linuxRelease)" *
|
cd "$(releaseFolder)" && tar -czvf "../$(linuxRelease)" *
|
||||||
|
|
||||||
# Remove data
|
# Remove data
|
||||||
rm -rdf "$(releaseFolder)"
|
rm -rdf "$(releaseFolder)"
|
||||||
@@ -190,8 +190,8 @@ CONTROLS DEL JUGADOR 1
|
|||||||
## 63 - MENU DE OPCIONES
|
## 63 - MENU DE OPCIONES
|
||||||
CONTROLS DEL JUGADOR 2
|
CONTROLS DEL JUGADOR 2
|
||||||
|
|
||||||
## 64 -
|
## 64 - MENU DE OPCIONES
|
||||||
-
|
(FORA DE LINEA)
|
||||||
|
|
||||||
## 65 -
|
## 65 -
|
||||||
-
|
-
|
||||||
@@ -259,8 +259,23 @@ ha iniciat la sesio
|
|||||||
## 86 - NOTIFICACIONES
|
## 86 - NOTIFICACIONES
|
||||||
Punts enviats:
|
Punts enviats:
|
||||||
|
|
||||||
## 86 - NOTIFICACIONES
|
## 87 - NOTIFICACIONES
|
||||||
No s'ha pogut
|
No s'ha pogut
|
||||||
|
|
||||||
## 87 - NOTIFICACIONES
|
## 88 - NOTIFICACIONES
|
||||||
enviar la puntuacio
|
enviar la puntuacio
|
||||||
|
|
||||||
|
## 89 - ENTER ID
|
||||||
|
CONFIGURACIO EN LINEA
|
||||||
|
|
||||||
|
## 90 - ENTER ID
|
||||||
|
INTRODUEIX UN JAILER_ID
|
||||||
|
|
||||||
|
## 91 - ENTER ID
|
||||||
|
DEIXA BUIT PER A
|
||||||
|
|
||||||
|
## 92 - ENTER ID
|
||||||
|
MODE FORA DE LINEA
|
||||||
|
|
||||||
|
## 93 - MENU OPCIONES
|
||||||
|
TAULER DE PUNTS
|
||||||
@@ -190,8 +190,8 @@ PLAYER 1 CONTROLS
|
|||||||
## 63 - MENU DE OPCIONES
|
## 63 - MENU DE OPCIONES
|
||||||
PLAYER 2 CONTROLS
|
PLAYER 2 CONTROLS
|
||||||
|
|
||||||
## 64 -
|
## 64 - MENU DE OPCIONES
|
||||||
-
|
(OFFLINE MODE)
|
||||||
|
|
||||||
## 65 -
|
## 65 -
|
||||||
-
|
-
|
||||||
@@ -259,8 +259,23 @@ is logged in
|
|||||||
## 86 - NOTIFICACIONES
|
## 86 - NOTIFICACIONES
|
||||||
Score submitted
|
Score submitted
|
||||||
|
|
||||||
## 86 - NOTIFICACIONES
|
## 87 - NOTIFICACIONES
|
||||||
Failed to send
|
Failed to send
|
||||||
|
|
||||||
## 87 - NOTIFICACIONES
|
## 88 - NOTIFICACIONES
|
||||||
score to online server
|
score to online server
|
||||||
|
|
||||||
|
## 89 - ENTER ID
|
||||||
|
ONLINE CONFIGURATION
|
||||||
|
|
||||||
|
## 90 - ENTER ID
|
||||||
|
PLEASE ENTER AN ID
|
||||||
|
|
||||||
|
## 91 - ENTER ID
|
||||||
|
LEAVE BLANK FOR
|
||||||
|
|
||||||
|
## 92 - ENTER ID
|
||||||
|
OFFLINE MODE
|
||||||
|
|
||||||
|
## 93 - MENU OPCIONES
|
||||||
|
HISCORE TABLE
|
||||||
@@ -190,8 +190,8 @@ CONTROLES DEL JUGADOR 1
|
|||||||
## 63 - MENU DE OPCIONES
|
## 63 - MENU DE OPCIONES
|
||||||
CONTROLES DEL JUGADOR 2
|
CONTROLES DEL JUGADOR 2
|
||||||
|
|
||||||
## 64 -
|
## 64 - MENU DE OPCIONES
|
||||||
-
|
(MODO OFFLINE)
|
||||||
|
|
||||||
## 65 -
|
## 65 -
|
||||||
-
|
-
|
||||||
@@ -259,8 +259,23 @@ ha iniciado la sesion
|
|||||||
## 86 - NOTIFICACIONES
|
## 86 - NOTIFICACIONES
|
||||||
Puntos enviados:
|
Puntos enviados:
|
||||||
|
|
||||||
## 86 - NOTIFICACIONES
|
## 87 - NOTIFICACIONES
|
||||||
No se ha podido
|
No se ha podido
|
||||||
|
|
||||||
## 87 - NOTIFICACIONES
|
## 88 - NOTIFICACIONES
|
||||||
enviar la puntuacion
|
enviar la puntuacion
|
||||||
|
|
||||||
|
## 89 - ENTER ID
|
||||||
|
CONFIGURACION ONLNE
|
||||||
|
|
||||||
|
## 90 - ENTER ID
|
||||||
|
INTRODUCE UN JAILER_ID
|
||||||
|
|
||||||
|
## 91 - ENTER ID
|
||||||
|
DEJA EN BLANCO PARA
|
||||||
|
|
||||||
|
## 92 - ENTER ID
|
||||||
|
MODO SIN CONEXION
|
||||||
|
|
||||||
|
## 93 - MENU OPCIONES
|
||||||
|
TABLA DE PUNTUACIONES
|
||||||
@@ -18,14 +18,15 @@ centerX=128
|
|||||||
isCenteredOnY=true
|
isCenteredOnY=true
|
||||||
centerY=96
|
centerY=96
|
||||||
|
|
||||||
selector_color=229,28,35,255
|
selector_color=255,122,0,255
|
||||||
selector_text_color=255,241,118
|
selector_text_color=127,61,0,255
|
||||||
|
|
||||||
defaultActionWhenCancel=13
|
defaultActionWhenCancel=15
|
||||||
|
|
||||||
[item]
|
[item]
|
||||||
text=DIFFICULTY
|
text=DIFFICULTY
|
||||||
hPaddingDown=7
|
hPaddingDown=6
|
||||||
|
line=true
|
||||||
[/item]
|
[/item]
|
||||||
|
|
||||||
[item]
|
[item]
|
||||||
@@ -38,7 +39,8 @@ linkedDown=true
|
|||||||
|
|
||||||
[item]
|
[item]
|
||||||
text=KEYBOARD
|
text=KEYBOARD
|
||||||
hPaddingDown=7
|
hPaddingDown=6
|
||||||
|
line=true
|
||||||
selectable=false
|
selectable=false
|
||||||
greyed=false
|
greyed=false
|
||||||
[/item]
|
[/item]
|
||||||
@@ -53,14 +55,16 @@ linkedDown=true
|
|||||||
|
|
||||||
[item]
|
[item]
|
||||||
text=GAME CONTROLLER
|
text=GAME CONTROLLER
|
||||||
hPaddingDown=7
|
hPaddingDown=6
|
||||||
|
line=true
|
||||||
selectable=false
|
selectable=false
|
||||||
greyed=false
|
greyed=false
|
||||||
[/item]
|
[/item]
|
||||||
|
|
||||||
[item]
|
[item]
|
||||||
text=LANGUAGE
|
text=LANGUAGE
|
||||||
hPaddingDown=7
|
hPaddingDown=6
|
||||||
|
line=true
|
||||||
[/item]
|
[/item]
|
||||||
|
|
||||||
[item]
|
[item]
|
||||||
@@ -73,7 +77,8 @@ linkedDown=true
|
|||||||
|
|
||||||
[item]
|
[item]
|
||||||
text=WINDOW
|
text=WINDOW
|
||||||
hPaddingDown=7
|
hPaddingDown=6
|
||||||
|
line=true
|
||||||
selectable=false
|
selectable=false
|
||||||
greyed=false
|
greyed=false
|
||||||
[/item]
|
[/item]
|
||||||
@@ -90,12 +95,24 @@ hPaddingDown=2
|
|||||||
|
|
||||||
[item]
|
[item]
|
||||||
text=VSYNC
|
text=VSYNC
|
||||||
hPaddingDown=7
|
hPaddingDown=6
|
||||||
|
line=true
|
||||||
[/item]
|
[/item]
|
||||||
|
|
||||||
[item]
|
[item]
|
||||||
text=HOW TO PLAY
|
text=HOW TO PLAY
|
||||||
hPaddingDown=7
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=HISCORE TABLE
|
||||||
|
hPaddingDown=2
|
||||||
|
[/item]
|
||||||
|
|
||||||
|
[item]
|
||||||
|
text=JAILERID:
|
||||||
|
hPaddingDown=6
|
||||||
|
line=true
|
||||||
[/item]
|
[/item]
|
||||||
|
|
||||||
[item]
|
[item]
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ centerX=128
|
|||||||
isCenteredOnY=true
|
isCenteredOnY=true
|
||||||
centerY=96
|
centerY=96
|
||||||
|
|
||||||
selector_color=229,28,35,255
|
selector_color=255,122,0,255
|
||||||
selector_text_color=255,241,118
|
selector_text_color=127,61,0,255
|
||||||
|
|
||||||
defaultActionWhenCancel=13
|
defaultActionWhenCancel=13
|
||||||
|
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ areElementsCenteredOnX=true
|
|||||||
isCenteredOnX=true
|
isCenteredOnX=true
|
||||||
centerX=128
|
centerX=128
|
||||||
|
|
||||||
selector_color=229,28,35,0
|
selector_color=255,122,0,255
|
||||||
selector_text_color=255,180,0
|
selector_text_color=127,61,0,255
|
||||||
|
|
||||||
defaultActionWhenCancel=3
|
defaultActionWhenCancel=3
|
||||||
|
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ areElementsCenteredOnX=true
|
|||||||
isCenteredOnX=true
|
isCenteredOnX=true
|
||||||
centerX=128
|
centerX=128
|
||||||
|
|
||||||
selector_color=229,28,35,0
|
selector_color=255,122,0,255
|
||||||
selector_text_color=255,180,0
|
selector_text_color=127,61,0,255
|
||||||
|
|
||||||
defaultActionWhenCancel=3
|
defaultActionWhenCancel=3
|
||||||
|
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ areElementsCenteredOnX=true
|
|||||||
isCenteredOnX=true
|
isCenteredOnX=true
|
||||||
centerX=128
|
centerX=128
|
||||||
|
|
||||||
selector_color=229,28,35,0
|
selector_color=255,122,0,255
|
||||||
selector_text_color=255,180,0
|
selector_text_color=127,61,0,255
|
||||||
|
|
||||||
defaultActionWhenCancel=3
|
defaultActionWhenCancel=3
|
||||||
|
|
||||||
|
|||||||
@@ -9,9 +9,9 @@
|
|||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>coffee_crisis</string>
|
<string>coffee_crisis</string>
|
||||||
<key>CFBundleIconFile</key>
|
<key>CFBundleIconFile</key>
|
||||||
<string>coffee_crisis</string>
|
<string>icon</string>
|
||||||
<key>CFBundleIconName</key>
|
<key>CFBundleIconName</key>
|
||||||
<string>coffee_crisis</string>
|
<string>icon</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>net.jailgames.coffee_crisis</string>
|
<string>net.jailgames.coffee_crisis</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>2.2a</string>
|
<string>2.3</string>
|
||||||
<key>CSResourcesFileMapped</key>
|
<key>CSResourcesFileMapped</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>LSMinimumSystemVersion</key>
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
<key>NSHighResolutionCapable</key>
|
<key>NSHighResolutionCapable</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>NSHumanReadableCopyright</key>
|
<key>NSHumanReadableCopyright</key>
|
||||||
<string>Copyright 2022 JailDesigner</string>
|
<string>Copyright 2023 JailDesigner</string>
|
||||||
<key>NSPrincipalClass</key>
|
<key>NSPrincipalClass</key>
|
||||||
<string>NSApplication</string>
|
<string>NSApplication</string>
|
||||||
<key>SUPublicDSAKeyFile</key>
|
<key>SUPublicDSAKeyFile</key>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -55,6 +55,8 @@ assert can have unique static variables associated with it.
|
|||||||
#define SDL_TriggerBreakpoint() __builtin_debugtrap()
|
#define SDL_TriggerBreakpoint() __builtin_debugtrap()
|
||||||
#elif ( (!defined(__NACL__)) && ((defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__))) )
|
#elif ( (!defined(__NACL__)) && ((defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__))) )
|
||||||
#define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" )
|
#define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" )
|
||||||
|
#elif (defined(__GNUC__) || defined(__clang__)) && defined(__riscv)
|
||||||
|
#define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "ebreak\n\t" )
|
||||||
#elif ( defined(__APPLE__) && (defined(__arm64__) || defined(__aarch64__)) ) /* this might work on other ARM targets, but this is a known quantity... */
|
#elif ( defined(__APPLE__) && (defined(__arm64__) || defined(__aarch64__)) ) /* this might work on other ARM targets, but this is a known quantity... */
|
||||||
#define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "brk #22\n\t" )
|
#define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "brk #22\n\t" )
|
||||||
#elif defined(__APPLE__) && defined(__arm__)
|
#elif defined(__APPLE__) && defined(__arm__)
|
||||||
@@ -125,12 +127,10 @@ typedef struct SDL_AssertData
|
|||||||
const struct SDL_AssertData *next;
|
const struct SDL_AssertData *next;
|
||||||
} SDL_AssertData;
|
} SDL_AssertData;
|
||||||
|
|
||||||
#if (SDL_ASSERT_LEVEL > 0)
|
|
||||||
|
|
||||||
/* Never call this directly. Use the SDL_assert* macros. */
|
/* Never call this directly. Use the SDL_assert* macros. */
|
||||||
extern DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *,
|
extern DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *,
|
||||||
const char *,
|
const char *,
|
||||||
const char *, int)
|
const char *, int)
|
||||||
#if defined(__clang__)
|
#if defined(__clang__)
|
||||||
#if __has_feature(attribute_analyzer_noreturn)
|
#if __has_feature(attribute_analyzer_noreturn)
|
||||||
/* this tells Clang's static analysis that we're a custom assert function,
|
/* this tells Clang's static analysis that we're a custom assert function,
|
||||||
@@ -151,9 +151,7 @@ extern DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *,
|
|||||||
#define SDL_enabled_assert(condition) \
|
#define SDL_enabled_assert(condition) \
|
||||||
do { \
|
do { \
|
||||||
while ( !(condition) ) { \
|
while ( !(condition) ) { \
|
||||||
static struct SDL_AssertData sdl_assert_data = { \
|
static struct SDL_AssertData sdl_assert_data = { 0, 0, #condition, 0, 0, 0, 0 }; \
|
||||||
0, 0, #condition, 0, 0, 0, 0 \
|
|
||||||
}; \
|
|
||||||
const SDL_AssertState sdl_assert_state = SDL_ReportAssertion(&sdl_assert_data, SDL_FUNCTION, SDL_FILE, SDL_LINE); \
|
const SDL_AssertState sdl_assert_state = SDL_ReportAssertion(&sdl_assert_data, SDL_FUNCTION, SDL_FILE, SDL_LINE); \
|
||||||
if (sdl_assert_state == SDL_ASSERTION_RETRY) { \
|
if (sdl_assert_state == SDL_ASSERTION_RETRY) { \
|
||||||
continue; /* go again. */ \
|
continue; /* go again. */ \
|
||||||
@@ -164,8 +162,6 @@ extern DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *,
|
|||||||
} \
|
} \
|
||||||
} while (SDL_NULL_WHILE_LOOP_CONDITION)
|
} while (SDL_NULL_WHILE_LOOP_CONDITION)
|
||||||
|
|
||||||
#endif /* enabled assertions support code */
|
|
||||||
|
|
||||||
/* Enable various levels of assertions. */
|
/* Enable various levels of assertions. */
|
||||||
#if SDL_ASSERT_LEVEL == 0 /* assertions disabled */
|
#if SDL_ASSERT_LEVEL == 0 /* assertions disabled */
|
||||||
# define SDL_assert(condition) SDL_disabled_assert(condition)
|
# define SDL_assert(condition) SDL_disabled_assert(condition)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -240,7 +240,7 @@ typedef void (*SDL_KernelMemoryBarrierFunc)();
|
|||||||
/* "REP NOP" is PAUSE, coded for tools that don't know it by that name. */
|
/* "REP NOP" is PAUSE, coded for tools that don't know it by that name. */
|
||||||
#if (defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__))
|
#if (defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__))
|
||||||
#define SDL_CPUPauseInstruction() __asm__ __volatile__("pause\n") /* Some assemblers can't do REP NOP, so go with PAUSE. */
|
#define SDL_CPUPauseInstruction() __asm__ __volatile__("pause\n") /* Some assemblers can't do REP NOP, so go with PAUSE. */
|
||||||
#elif (defined(__arm__) && __ARM_ARCH >= 7) || defined(__aarch64__)
|
#elif (defined(__arm__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7) || defined(__aarch64__)
|
||||||
#define SDL_CPUPauseInstruction() __asm__ __volatile__("yield" ::: "memory")
|
#define SDL_CPUPauseInstruction() __asm__ __volatile__("yield" ::: "memory")
|
||||||
#elif (defined(__powerpc__) || defined(__powerpc64__))
|
#elif (defined(__powerpc__) || defined(__powerpc64__))
|
||||||
#define SDL_CPUPauseInstruction() __asm__ __volatile__("or 27,27,27");
|
#define SDL_CPUPauseInstruction() __asm__ __volatile__("or 27,27,27");
|
||||||
@@ -249,9 +249,8 @@ typedef void (*SDL_KernelMemoryBarrierFunc)();
|
|||||||
#elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_ARM64))
|
#elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_ARM64))
|
||||||
#define SDL_CPUPauseInstruction() __yield()
|
#define SDL_CPUPauseInstruction() __yield()
|
||||||
#elif defined(__WATCOMC__) && defined(__386__)
|
#elif defined(__WATCOMC__) && defined(__386__)
|
||||||
/* watcom assembler rejects PAUSE if CPU < i686, and it refuses REP NOP as an invalid combination. Hardcode the bytes. */
|
|
||||||
extern __inline void SDL_CPUPauseInstruction(void);
|
extern __inline void SDL_CPUPauseInstruction(void);
|
||||||
#pragma aux SDL_CPUPauseInstruction = "db 0f3h,90h"
|
#pragma aux SDL_CPUPauseInstruction = ".686p" ".xmm2" "pause"
|
||||||
#else
|
#else
|
||||||
#define SDL_CPUPauseInstruction()
|
#define SDL_CPUPauseInstruction()
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -169,13 +169,13 @@ typedef void (SDLCALL * SDL_AudioCallback) (void *userdata, Uint8 * stream,
|
|||||||
* The calculated values in this structure are calculated by SDL_OpenAudio().
|
* The calculated values in this structure are calculated by SDL_OpenAudio().
|
||||||
*
|
*
|
||||||
* For multi-channel audio, the default SDL channel mapping is:
|
* For multi-channel audio, the default SDL channel mapping is:
|
||||||
* 2: FL FR (stereo)
|
* 2: FL FR (stereo)
|
||||||
* 3: FL FR LFE (2.1 surround)
|
* 3: FL FR LFE (2.1 surround)
|
||||||
* 4: FL FR BL BR (quad)
|
* 4: FL FR BL BR (quad)
|
||||||
* 5: FL FR LFE BL BR (4.1 surround)
|
* 5: FL FR LFE BL BR (4.1 surround)
|
||||||
* 6: FL FR FC LFE SL SR (5.1 surround - last two can also be BL BR)
|
* 6: FL FR FC LFE SL SR (5.1 surround - last two can also be BL BR)
|
||||||
* 7: FL FR FC LFE BC SL SR (6.1 surround)
|
* 7: FL FR FC LFE BC SL SR (6.1 surround)
|
||||||
* 8: FL FR FC LFE BL BR SL SR (7.1 surround)
|
* 8: FL FR FC LFE BL BR SL SR (7.1 surround)
|
||||||
*/
|
*/
|
||||||
typedef struct SDL_AudioSpec
|
typedef struct SDL_AudioSpec
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -52,7 +52,7 @@ typedef enum
|
|||||||
dstA = dstA */
|
dstA = dstA */
|
||||||
SDL_BLENDMODE_MUL = 0x00000008, /**< color multiply
|
SDL_BLENDMODE_MUL = 0x00000008, /**< color multiply
|
||||||
dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA))
|
dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA))
|
||||||
dstA = (srcA * dstA) + (dstA * (1-srcA)) */
|
dstA = dstA */
|
||||||
SDL_BLENDMODE_INVALID = 0x7FFFFFFF
|
SDL_BLENDMODE_INVALID = 0x7FFFFFFF
|
||||||
|
|
||||||
/* Additional custom blend modes can be returned by SDL_ComposeCustomBlendMode() */
|
/* Additional custom blend modes can be returned by SDL_ComposeCustomBlendMode() */
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -82,6 +82,53 @@ extern DECLSPEC char * SDLCALL SDL_GetClipboardText(void);
|
|||||||
*/
|
*/
|
||||||
extern DECLSPEC SDL_bool SDLCALL SDL_HasClipboardText(void);
|
extern DECLSPEC SDL_bool SDLCALL SDL_HasClipboardText(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Put UTF-8 text into the primary selection.
|
||||||
|
*
|
||||||
|
* \param text the text to store in the primary selection
|
||||||
|
* \returns 0 on success or a negative error code on failure; call
|
||||||
|
* SDL_GetError() for more information.
|
||||||
|
*
|
||||||
|
* \since This function is available since SDL 2.26.0.
|
||||||
|
*
|
||||||
|
* \sa SDL_GetPrimarySelectionText
|
||||||
|
* \sa SDL_HasPrimarySelectionText
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_SetPrimarySelectionText(const char *text);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get UTF-8 text from the primary selection, which must be freed with
|
||||||
|
* SDL_free().
|
||||||
|
*
|
||||||
|
* This functions returns empty string if there was not enough memory left for
|
||||||
|
* a copy of the primary selection's content.
|
||||||
|
*
|
||||||
|
* \returns the primary selection text on success or an empty string on
|
||||||
|
* failure; call SDL_GetError() for more information. Caller must
|
||||||
|
* call SDL_free() on the returned pointer when done with it (even if
|
||||||
|
* there was an error).
|
||||||
|
*
|
||||||
|
* \since This function is available since SDL 2.26.0.
|
||||||
|
*
|
||||||
|
* \sa SDL_HasPrimarySelectionText
|
||||||
|
* \sa SDL_SetPrimarySelectionText
|
||||||
|
*/
|
||||||
|
extern DECLSPEC char * SDLCALL SDL_GetPrimarySelectionText(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Query whether the primary selection exists and contains a non-empty text
|
||||||
|
* string.
|
||||||
|
*
|
||||||
|
* \returns SDL_TRUE if the primary selection has text, or SDL_FALSE if it
|
||||||
|
* does not.
|
||||||
|
*
|
||||||
|
* \since This function is available since SDL 2.26.0.
|
||||||
|
*
|
||||||
|
* \sa SDL_GetPrimarySelectionText
|
||||||
|
* \sa SDL_SetPrimarySelectionText
|
||||||
|
*/
|
||||||
|
extern DECLSPEC SDL_bool SDLCALL SDL_HasPrimarySelectionText(void);
|
||||||
|
|
||||||
|
|
||||||
/* Ends C function definitions when using C++ */
|
/* Ends C function definitions when using C++ */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -88,6 +88,7 @@
|
|||||||
#define HAVE_STRNCMP 1
|
#define HAVE_STRNCMP 1
|
||||||
#define HAVE_STRCASECMP 1
|
#define HAVE_STRCASECMP 1
|
||||||
#define HAVE_STRNCASECMP 1
|
#define HAVE_STRNCASECMP 1
|
||||||
|
#define HAVE_STRCASESTR 1
|
||||||
#define HAVE_VSSCANF 1
|
#define HAVE_VSSCANF 1
|
||||||
#define HAVE_VSNPRINTF 1
|
#define HAVE_VSNPRINTF 1
|
||||||
#define HAVE_M_PI 1
|
#define HAVE_M_PI 1
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -90,6 +90,7 @@ _m_prefetch(void *__P)
|
|||||||
# include <arm64intr.h>
|
# include <arm64intr.h>
|
||||||
# include <arm64_neon.h>
|
# include <arm64_neon.h>
|
||||||
# define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */
|
# define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */
|
||||||
|
# define __ARM_ARCH 8
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -140,7 +140,7 @@ extern "C" {
|
|||||||
|
|
||||||
#if HAS_BUILTIN_BSWAP16
|
#if HAS_BUILTIN_BSWAP16
|
||||||
#define SDL_Swap16(x) __builtin_bswap16(x)
|
#define SDL_Swap16(x) __builtin_bswap16(x)
|
||||||
#elif defined(_MSC_VER) && (_MSC_VER >= 1400)
|
#elif (defined(_MSC_VER) && (_MSC_VER >= 1400)) && !defined(__ICL)
|
||||||
#pragma intrinsic(_byteswap_ushort)
|
#pragma intrinsic(_byteswap_ushort)
|
||||||
#define SDL_Swap16(x) _byteswap_ushort(x)
|
#define SDL_Swap16(x) _byteswap_ushort(x)
|
||||||
#elif defined(__i386__) && !HAS_BROKEN_BSWAP
|
#elif defined(__i386__) && !HAS_BROKEN_BSWAP
|
||||||
@@ -189,7 +189,7 @@ SDL_Swap16(Uint16 x)
|
|||||||
|
|
||||||
#if HAS_BUILTIN_BSWAP32
|
#if HAS_BUILTIN_BSWAP32
|
||||||
#define SDL_Swap32(x) __builtin_bswap32(x)
|
#define SDL_Swap32(x) __builtin_bswap32(x)
|
||||||
#elif defined(_MSC_VER) && (_MSC_VER >= 1400)
|
#elif (defined(_MSC_VER) && (_MSC_VER >= 1400)) && !defined(__ICL)
|
||||||
#pragma intrinsic(_byteswap_ulong)
|
#pragma intrinsic(_byteswap_ulong)
|
||||||
#define SDL_Swap32(x) _byteswap_ulong(x)
|
#define SDL_Swap32(x) _byteswap_ulong(x)
|
||||||
#elif defined(__i386__) && !HAS_BROKEN_BSWAP
|
#elif defined(__i386__) && !HAS_BROKEN_BSWAP
|
||||||
@@ -241,7 +241,7 @@ SDL_Swap32(Uint32 x)
|
|||||||
|
|
||||||
#if HAS_BUILTIN_BSWAP64
|
#if HAS_BUILTIN_BSWAP64
|
||||||
#define SDL_Swap64(x) __builtin_bswap64(x)
|
#define SDL_Swap64(x) __builtin_bswap64(x)
|
||||||
#elif defined(_MSC_VER) && (_MSC_VER >= 1400)
|
#elif (defined(_MSC_VER) && (_MSC_VER >= 1400)) && !defined(__ICL)
|
||||||
#pragma intrinsic(_byteswap_uint64)
|
#pragma intrinsic(_byteswap_uint64)
|
||||||
#define SDL_Swap64(x) _byteswap_uint64(x)
|
#define SDL_Swap64(x) _byteswap_uint64(x)
|
||||||
#elif defined(__i386__) && !HAS_BROKEN_BSWAP
|
#elif defined(__i386__) && !HAS_BROKEN_BSWAP
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -143,7 +143,7 @@ typedef enum
|
|||||||
SDL_MULTIGESTURE,
|
SDL_MULTIGESTURE,
|
||||||
|
|
||||||
/* Clipboard events */
|
/* Clipboard events */
|
||||||
SDL_CLIPBOARDUPDATE = 0x900, /**< The clipboard changed */
|
SDL_CLIPBOARDUPDATE = 0x900, /**< The clipboard or primary selection changed */
|
||||||
|
|
||||||
/* Drag and drop events */
|
/* Drag and drop events */
|
||||||
SDL_DROPFILE = 0x1000, /**< The system requests a file open */
|
SDL_DROPFILE = 0x1000, /**< The system requests a file open */
|
||||||
@@ -318,6 +318,8 @@ typedef struct SDL_MouseWheelEvent
|
|||||||
Uint32 direction; /**< Set to one of the SDL_MOUSEWHEEL_* defines. When FLIPPED the values in X and Y will be opposite. Multiply by -1 to change them back */
|
Uint32 direction; /**< Set to one of the SDL_MOUSEWHEEL_* defines. When FLIPPED the values in X and Y will be opposite. Multiply by -1 to change them back */
|
||||||
float preciseX; /**< The amount scrolled horizontally, positive to the right and negative to the left, with float precision (added in 2.0.18) */
|
float preciseX; /**< The amount scrolled horizontally, positive to the right and negative to the left, with float precision (added in 2.0.18) */
|
||||||
float preciseY; /**< The amount scrolled vertically, positive away from the user and negative toward the user, with float precision (added in 2.0.18) */
|
float preciseY; /**< The amount scrolled vertically, positive away from the user and negative toward the user, with float precision (added in 2.0.18) */
|
||||||
|
Sint32 mouseX; /**< X coordinate, relative to window (added in 2.26.0) */
|
||||||
|
Sint32 mouseY; /**< Y coordinate, relative to window (added in 2.26.0) */
|
||||||
} SDL_MouseWheelEvent;
|
} SDL_MouseWheelEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -474,6 +476,7 @@ typedef struct SDL_ControllerSensorEvent
|
|||||||
SDL_JoystickID which; /**< The joystick instance id */
|
SDL_JoystickID which; /**< The joystick instance id */
|
||||||
Sint32 sensor; /**< The type of the sensor, one of the values of ::SDL_SensorType */
|
Sint32 sensor; /**< The type of the sensor, one of the values of ::SDL_SensorType */
|
||||||
float data[3]; /**< Up to 3 values from the sensor, as defined in SDL_sensor.h */
|
float data[3]; /**< Up to 3 values from the sensor, as defined in SDL_sensor.h */
|
||||||
|
Uint64 timestamp_us; /**< The timestamp of the sensor reading in microseconds, if the hardware provides this information. */
|
||||||
} SDL_ControllerSensorEvent;
|
} SDL_ControllerSensorEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -565,6 +568,7 @@ typedef struct SDL_SensorEvent
|
|||||||
Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */
|
Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */
|
||||||
Sint32 which; /**< The instance ID of the sensor */
|
Sint32 which; /**< The instance ID of the sensor */
|
||||||
float data[6]; /**< Up to 6 values from the sensor - additional values can be queried using SDL_SensorGetData() */
|
float data[6]; /**< Up to 6 values from the sensor - additional values can be queried using SDL_SensorGetData() */
|
||||||
|
Uint64 timestamp_us; /**< The timestamp of the sensor reading in microseconds, if the hardware provides this information. */
|
||||||
} SDL_SensorEvent;
|
} SDL_SensorEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -60,6 +60,10 @@ extern "C" {
|
|||||||
* - `parent`: the containing directory of the bundle. For example:
|
* - `parent`: the containing directory of the bundle. For example:
|
||||||
* `/Applications/SDLApp/`
|
* `/Applications/SDLApp/`
|
||||||
*
|
*
|
||||||
|
* **Nintendo 3DS Specific Functionality**: This function returns "romfs"
|
||||||
|
* directory of the application as it is uncommon to store resources outside
|
||||||
|
* the executable. As such it is not a writable directory.
|
||||||
|
*
|
||||||
* The returned path is guaranteed to end with a path separator ('\' on
|
* The returned path is guaranteed to end with a path separator ('\' on
|
||||||
* Windows, '/' on most other platforms).
|
* Windows, '/' on most other platforms).
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -724,10 +724,10 @@ typedef enum
|
|||||||
SDL_CONTROLLER_BUTTON_DPAD_LEFT,
|
SDL_CONTROLLER_BUTTON_DPAD_LEFT,
|
||||||
SDL_CONTROLLER_BUTTON_DPAD_RIGHT,
|
SDL_CONTROLLER_BUTTON_DPAD_RIGHT,
|
||||||
SDL_CONTROLLER_BUTTON_MISC1, /* Xbox Series X share button, PS5 microphone button, Nintendo Switch Pro capture button, Amazon Luna microphone button */
|
SDL_CONTROLLER_BUTTON_MISC1, /* Xbox Series X share button, PS5 microphone button, Nintendo Switch Pro capture button, Amazon Luna microphone button */
|
||||||
SDL_CONTROLLER_BUTTON_PADDLE1, /* Xbox Elite paddle P1 */
|
SDL_CONTROLLER_BUTTON_PADDLE1, /* Xbox Elite paddle P1 (upper left, facing the back) */
|
||||||
SDL_CONTROLLER_BUTTON_PADDLE2, /* Xbox Elite paddle P3 */
|
SDL_CONTROLLER_BUTTON_PADDLE2, /* Xbox Elite paddle P3 (upper right, facing the back) */
|
||||||
SDL_CONTROLLER_BUTTON_PADDLE3, /* Xbox Elite paddle P2 */
|
SDL_CONTROLLER_BUTTON_PADDLE3, /* Xbox Elite paddle P2 (lower left, facing the back) */
|
||||||
SDL_CONTROLLER_BUTTON_PADDLE4, /* Xbox Elite paddle P4 */
|
SDL_CONTROLLER_BUTTON_PADDLE4, /* Xbox Elite paddle P4 (lower right, facing the back) */
|
||||||
SDL_CONTROLLER_BUTTON_TOUCHPAD, /* PS4/PS5 touchpad button */
|
SDL_CONTROLLER_BUTTON_TOUCHPAD, /* PS4/PS5 touchpad button */
|
||||||
SDL_CONTROLLER_BUTTON_MAX
|
SDL_CONTROLLER_BUTTON_MAX
|
||||||
} SDL_GameControllerButton;
|
} SDL_GameControllerButton;
|
||||||
@@ -754,7 +754,7 @@ extern DECLSPEC SDL_GameControllerButton SDLCALL SDL_GameControllerGetButtonFrom
|
|||||||
* The caller should not SDL_free() the returned string.
|
* The caller should not SDL_free() the returned string.
|
||||||
*
|
*
|
||||||
* \param button an enum value for a given SDL_GameControllerButton
|
* \param button an enum value for a given SDL_GameControllerButton
|
||||||
* \returns a string for the given button, or NULL if an invalid axis is
|
* \returns a string for the given button, or NULL if an invalid button is
|
||||||
* specified. The string returned is of the format used by
|
* specified. The string returned is of the format used by
|
||||||
* SDL_GameController mapping strings.
|
* SDL_GameController mapping strings.
|
||||||
*
|
*
|
||||||
@@ -895,6 +895,25 @@ extern DECLSPEC float SDLCALL SDL_GameControllerGetSensorDataRate(SDL_GameContro
|
|||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_GameControllerGetSensorData(SDL_GameController *gamecontroller, SDL_SensorType type, float *data, int num_values);
|
extern DECLSPEC int SDLCALL SDL_GameControllerGetSensorData(SDL_GameController *gamecontroller, SDL_SensorType type, float *data, int num_values);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the current state of a game controller sensor with the timestamp of the
|
||||||
|
* last update.
|
||||||
|
*
|
||||||
|
* The number of values and interpretation of the data is sensor dependent.
|
||||||
|
* See SDL_sensor.h for the details for each type of sensor.
|
||||||
|
*
|
||||||
|
* \param gamecontroller The controller to query
|
||||||
|
* \param type The type of sensor to query
|
||||||
|
* \param timestamp A pointer filled with the timestamp in microseconds of the
|
||||||
|
* current sensor reading if available, or 0 if not
|
||||||
|
* \param data A pointer filled with the current sensor state
|
||||||
|
* \param num_values The number of values to write to data
|
||||||
|
* \return 0 or -1 if an error occurred.
|
||||||
|
*
|
||||||
|
* \since This function is available since SDL 2.26.0.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_GameControllerGetSensorDataWithTimestamp(SDL_GameController *gamecontroller, SDL_SensorType type, Uint64 *timestamp, float *data, int num_values);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Start a rumble effect on a game controller.
|
* Start a rumble effect on a game controller.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -92,7 +92,7 @@ extern "C" {
|
|||||||
* By default this hint is not set and the APK expansion files are not searched.
|
* By default this hint is not set and the APK expansion files are not searched.
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION "SDL_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION"
|
#define SDL_HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION "SDL_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Android APK expansion patch file version. Should be a string number like "1", "2" etc.
|
* \brief Android APK expansion patch file version. Should be a string number like "1", "2" etc.
|
||||||
*
|
*
|
||||||
@@ -132,13 +132,13 @@ extern "C" {
|
|||||||
* \brief A variable to control whether we trap the Android back button to handle it manually.
|
* \brief A variable to control whether we trap the Android back button to handle it manually.
|
||||||
* This is necessary for the right mouse button to work on some Android devices, or
|
* This is necessary for the right mouse button to work on some Android devices, or
|
||||||
* to be able to trap the back button for use in your code reliably. If set to true,
|
* to be able to trap the back button for use in your code reliably. If set to true,
|
||||||
* the back button will show up as an SDL_KEYDOWN / SDL_KEYUP pair with a keycode of
|
* the back button will show up as an SDL_KEYDOWN / SDL_KEYUP pair with a keycode of
|
||||||
* SDL_SCANCODE_AC_BACK.
|
* SDL_SCANCODE_AC_BACK.
|
||||||
*
|
*
|
||||||
* The variable can be set to the following values:
|
* The variable can be set to the following values:
|
||||||
* "0" - Back button will be handled as usual for system. (default)
|
* "0" - Back button will be handled as usual for system. (default)
|
||||||
* "1" - Back button will be trapped, allowing you to handle the key press
|
* "1" - Back button will be trapped, allowing you to handle the key press
|
||||||
* manually. (This will also let right mouse click work on systems
|
* manually. (This will also let right mouse click work on systems
|
||||||
* where the right mouse button functions as back.)
|
* where the right mouse button functions as back.)
|
||||||
*
|
*
|
||||||
* The value of this hint is used at runtime, so it can be changed at any time.
|
* The value of this hint is used at runtime, so it can be changed at any time.
|
||||||
@@ -147,7 +147,7 @@ extern "C" {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Specify an application name.
|
* \brief Specify an application name.
|
||||||
*
|
*
|
||||||
* This hint lets you specify the application name sent to the OS when
|
* This hint lets you specify the application name sent to the OS when
|
||||||
* required. For example, this will often appear in volume control applets for
|
* required. For example, this will often appear in volume control applets for
|
||||||
* audio streams, and in lists of applications which are inhibiting the
|
* audio streams, and in lists of applications which are inhibiting the
|
||||||
@@ -278,10 +278,7 @@ extern "C" {
|
|||||||
* If this hint isn't specified to a valid setting, or libsamplerate isn't
|
* If this hint isn't specified to a valid setting, or libsamplerate isn't
|
||||||
* available, SDL will use the default, internal resampling algorithm.
|
* available, SDL will use the default, internal resampling algorithm.
|
||||||
*
|
*
|
||||||
* Note that this is currently only applicable to resampling audio that is
|
* As of SDL 2.26, SDL_ConvertAudio() respects this hint when libsamplerate is available.
|
||||||
* being written to a device for playback or audio being read from a device
|
|
||||||
* for capture. SDL_AudioCVT always uses the default resampler (although this
|
|
||||||
* might change for SDL 2.1).
|
|
||||||
*
|
*
|
||||||
* This hint is currently only checked at audio subsystem initialization.
|
* This hint is currently only checked at audio subsystem initialization.
|
||||||
*
|
*
|
||||||
@@ -380,6 +377,17 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT"
|
#define SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable that controls whether the on-screen keyboard should be shown when text input is active
|
||||||
|
*
|
||||||
|
* The variable can be set to the following values:
|
||||||
|
* "0" - Do not show the on-screen keyboard
|
||||||
|
* "1" - Show the on-screen keyboard
|
||||||
|
*
|
||||||
|
* The default value is "1". This hint must be set before text input is activated.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_ENABLE_SCREEN_KEYBOARD "SDL_ENABLE_SCREEN_KEYBOARD"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable that controls whether Steam Controllers should be exposed using the SDL joystick and game controller APIs
|
* \brief A variable that controls whether Steam Controllers should be exposed using the SDL joystick and game controller APIs
|
||||||
*
|
*
|
||||||
@@ -510,7 +518,7 @@ extern "C" {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief If set, game controller face buttons report their values according to their labels instead of their positional layout.
|
* \brief If set, game controller face buttons report their values according to their labels instead of their positional layout.
|
||||||
*
|
*
|
||||||
* For example, on Nintendo Switch controllers, normally you'd get:
|
* For example, on Nintendo Switch controllers, normally you'd get:
|
||||||
*
|
*
|
||||||
* (Y)
|
* (Y)
|
||||||
@@ -542,6 +550,14 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define SDL_HINT_GRAB_KEYBOARD "SDL_GRAB_KEYBOARD"
|
#define SDL_HINT_GRAB_KEYBOARD "SDL_GRAB_KEYBOARD"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable containing a list of devices to ignore in SDL_hid_enumerate()
|
||||||
|
*
|
||||||
|
* For example, to ignore the Shanwan DS3 controller and any Valve controller, you might
|
||||||
|
* have the string "0x2563/0x0523,0x28de/0x0000"
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_HIDAPI_IGNORE_DEVICES "SDL_HIDAPI_IGNORE_DEVICES"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling whether the idle timer is disabled on iOS.
|
* \brief A variable controlling whether the idle timer is disabled on iOS.
|
||||||
*
|
*
|
||||||
@@ -564,9 +580,9 @@ extern "C" {
|
|||||||
*
|
*
|
||||||
* The variable can be set to the following values:
|
* The variable can be set to the following values:
|
||||||
* "0" - SDL_TEXTEDITING events are sent, and it is the application's
|
* "0" - SDL_TEXTEDITING events are sent, and it is the application's
|
||||||
* responsibility to render the text from these events and
|
* responsibility to render the text from these events and
|
||||||
* differentiate it somehow from committed text. (default)
|
* differentiate it somehow from committed text. (default)
|
||||||
* "1" - If supported by the IME then SDL_TEXTEDITING events are not sent,
|
* "1" - If supported by the IME then SDL_TEXTEDITING events are not sent,
|
||||||
* and text that is being composed will be rendered in its own UI.
|
* and text that is being composed will be rendered in its own UI.
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_IME_INTERNAL_EDITING "SDL_IME_INTERNAL_EDITING"
|
#define SDL_HINT_IME_INTERNAL_EDITING "SDL_IME_INTERNAL_EDITING"
|
||||||
@@ -672,6 +688,17 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS "SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS"
|
#define SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS "SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether Nintendo Switch Joy-Con controllers will be in vertical mode when using the HIDAPI driver
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - Left and right Joy-Con controllers will not be in vertical mode (the default)
|
||||||
|
* "1" - Left and right Joy-Con controllers will be in vertical mode
|
||||||
|
*
|
||||||
|
* This hint must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER)
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS "SDL_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling whether the HIDAPI driver for Amazon Luna controllers connected via Bluetooth should be used.
|
* \brief A variable controlling whether the HIDAPI driver for Amazon Luna controllers connected via Bluetooth should be used.
|
||||||
*
|
*
|
||||||
@@ -705,6 +732,20 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define SDL_HINT_JOYSTICK_HIDAPI_SHIELD "SDL_JOYSTICK_HIDAPI_SHIELD"
|
#define SDL_HINT_JOYSTICK_HIDAPI_SHIELD "SDL_JOYSTICK_HIDAPI_SHIELD"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the HIDAPI driver for PS3 controllers should be used.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - HIDAPI driver is not used
|
||||||
|
* "1" - HIDAPI driver is used
|
||||||
|
*
|
||||||
|
* The default is the value of SDL_HINT_JOYSTICK_HIDAPI on macOS, and "0" on other platforms.
|
||||||
|
*
|
||||||
|
* It is not possible to use this driver on Windows, due to limitations in the default drivers
|
||||||
|
* installed. See https://github.com/ViGEm/DsHidMini for an alternative driver on Windows.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_JOYSTICK_HIDAPI_PS3 "SDL_JOYSTICK_HIDAPI_PS3"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling whether the HIDAPI driver for PS4 controllers should be used.
|
* \brief A variable controlling whether the HIDAPI driver for PS4 controllers should be used.
|
||||||
*
|
*
|
||||||
@@ -787,7 +828,7 @@ extern "C" {
|
|||||||
#define SDL_HINT_JOYSTICK_HIDAPI_STADIA "SDL_JOYSTICK_HIDAPI_STADIA"
|
#define SDL_HINT_JOYSTICK_HIDAPI_STADIA "SDL_JOYSTICK_HIDAPI_STADIA"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling whether the HIDAPI driver for Steam Controllers should be used.
|
* \brief A variable controlling whether the HIDAPI driver for Bluetooth Steam Controllers should be used.
|
||||||
*
|
*
|
||||||
* This variable can be set to the following values:
|
* This variable can be set to the following values:
|
||||||
* "0" - HIDAPI driver is not used
|
* "0" - HIDAPI driver is not used
|
||||||
@@ -840,6 +881,26 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED "SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED"
|
#define SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED "SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the HIDAPI driver for Nintendo Wii and Wii U controllers should be used.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - HIDAPI driver is not used
|
||||||
|
* "1" - HIDAPI driver is used
|
||||||
|
*
|
||||||
|
* This driver doesn't work with the dolphinbar, so the default is SDL_FALSE for now.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_JOYSTICK_HIDAPI_WII "SDL_JOYSTICK_HIDAPI_WII"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the player LEDs should be lit to indicate which player is associated with a Wii controller.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - player LEDs are not enabled
|
||||||
|
* "1" - player LEDs are enabled (the default)
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED "SDL_JOYSTICK_HIDAPI_WII_PLAYER_LED"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling whether the HIDAPI driver for XBox controllers should be used.
|
* \brief A variable controlling whether the HIDAPI driver for XBox controllers should be used.
|
||||||
*
|
*
|
||||||
@@ -851,6 +912,59 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define SDL_HINT_JOYSTICK_HIDAPI_XBOX "SDL_JOYSTICK_HIDAPI_XBOX"
|
#define SDL_HINT_JOYSTICK_HIDAPI_XBOX "SDL_JOYSTICK_HIDAPI_XBOX"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the HIDAPI driver for XBox 360 controllers should be used.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - HIDAPI driver is not used
|
||||||
|
* "1" - HIDAPI driver is used
|
||||||
|
*
|
||||||
|
* The default is the value of SDL_HINT_JOYSTICK_HIDAPI_XBOX
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360 "SDL_JOYSTICK_HIDAPI_XBOX_360"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the player LEDs should be lit to indicate which player is associated with an Xbox 360 controller.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - player LEDs are not enabled
|
||||||
|
* "1" - player LEDs are enabled (the default)
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED "SDL_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the HIDAPI driver for XBox 360 wireless controllers should be used.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - HIDAPI driver is not used
|
||||||
|
* "1" - HIDAPI driver is used
|
||||||
|
*
|
||||||
|
* The default is the value of SDL_HINT_JOYSTICK_HIDAPI_XBOX_360
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS "SDL_JOYSTICK_HIDAPI_XBOX_360_WIRELESS"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the HIDAPI driver for XBox One controllers should be used.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - HIDAPI driver is not used
|
||||||
|
* "1" - HIDAPI driver is used
|
||||||
|
*
|
||||||
|
* The default is the value of SDL_HINT_JOYSTICK_HIDAPI_XBOX
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE "SDL_JOYSTICK_HIDAPI_XBOX_ONE"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the Home button LED should be turned on when an Xbox One controller is opened
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - home button LED is turned off
|
||||||
|
* "1" - home button LED is turned on
|
||||||
|
*
|
||||||
|
* By default the Home button LED state is not changed. This hint can also be set to a floating point value between 0.0 and 1.0 which controls the brightness of the Home button LED. The default brightness is 0.4.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED "SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling whether the RAWINPUT joystick drivers should be used for better handling XInput-capable devices.
|
* \brief A variable controlling whether the RAWINPUT joystick drivers should be used for better handling XInput-capable devices.
|
||||||
*
|
*
|
||||||
@@ -893,6 +1007,15 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define SDL_HINT_JOYSTICK_THREAD "SDL_JOYSTICK_THREAD"
|
#define SDL_HINT_JOYSTICK_THREAD "SDL_JOYSTICK_THREAD"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether Windows.Gaming.Input should be used for controller handling.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - WGI is not used
|
||||||
|
* "1" - WGI is used (the default)
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_JOYSTICK_WGI "SDL_JOYSTICK_WGI"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Determines whether SDL enforces that DRM master is required in order
|
* \brief Determines whether SDL enforces that DRM master is required in order
|
||||||
* to initialize the KMSDRM video backend.
|
* to initialize the KMSDRM video backend.
|
||||||
@@ -1064,6 +1187,17 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE "SDL_MOUSE_RELATIVE_SPEED_SCALE"
|
#define SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE "SDL_MOUSE_RELATIVE_SPEED_SCALE"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the system mouse acceleration curve is used for relative mouse motion.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - Relative mouse motion will be unscaled (the default)
|
||||||
|
* "1" - Relative mouse motion will be scaled using the system mouse acceleration curve.
|
||||||
|
*
|
||||||
|
* If SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE is set, that will override the system speed scale.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE "SDL_MOUSE_RELATIVE_SYSTEM_SCALE"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling whether a motion event should be generated for mouse warping in relative mode.
|
* \brief A variable controlling whether a motion event should be generated for mouse warping in relative mode.
|
||||||
*
|
*
|
||||||
@@ -1162,7 +1296,7 @@ extern "C" {
|
|||||||
* When polling for events, SDL_PumpEvents is used to gather new events from devices.
|
* When polling for events, SDL_PumpEvents is used to gather new events from devices.
|
||||||
* If a device keeps producing new events between calls to SDL_PumpEvents, a poll loop will
|
* If a device keeps producing new events between calls to SDL_PumpEvents, a poll loop will
|
||||||
* become stuck until the new events stop.
|
* become stuck until the new events stop.
|
||||||
* This is most noticable when moving a high frequency mouse.
|
* This is most noticeable when moving a high frequency mouse.
|
||||||
*
|
*
|
||||||
* By default, poll sentinels are enabled.
|
* By default, poll sentinels are enabled.
|
||||||
*/
|
*/
|
||||||
@@ -1196,6 +1330,8 @@ extern "C" {
|
|||||||
*
|
*
|
||||||
* This variable can be one of the following values:
|
* This variable can be one of the following values:
|
||||||
* "primary" (default), "portrait", "landscape", "inverted-portrait", "inverted-landscape"
|
* "primary" (default), "portrait", "landscape", "inverted-portrait", "inverted-landscape"
|
||||||
|
*
|
||||||
|
* Since SDL 2.0.22 this variable accepts a comma-separated list of values above.
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_QTWAYLAND_CONTENT_ORIENTATION "SDL_QTWAYLAND_CONTENT_ORIENTATION"
|
#define SDL_HINT_QTWAYLAND_CONTENT_ORIENTATION "SDL_QTWAYLAND_CONTENT_ORIENTATION"
|
||||||
|
|
||||||
@@ -1338,6 +1474,28 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define SDL_HINT_RENDER_VSYNC "SDL_RENDER_VSYNC"
|
#define SDL_HINT_RENDER_VSYNC "SDL_RENDER_VSYNC"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the Metal render driver select low power device over default one
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - Use the prefered OS device
|
||||||
|
* "1" - Select a low power one
|
||||||
|
*
|
||||||
|
* By default the prefered OS device is used.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE "SDL_RENDER_METAL_PREFER_LOW_POWER_DEVICE"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling if VSYNC is automatically disable if doesn't reach the enough FPS
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - It will be using VSYNC as defined in the main flag. Default
|
||||||
|
* "1" - If VSYNC was previously enabled, then it will disable VSYNC if doesn't reach enough speed
|
||||||
|
*
|
||||||
|
* By default SDL does not enable the automatic VSYNC
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_PS2_DYNAMIC_VSYNC "SDL_PS2_DYNAMIC_VSYNC"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable to control whether the return key on the soft keyboard
|
* \brief A variable to control whether the return key on the soft keyboard
|
||||||
* should hide the soft keyboard on Android and iOS.
|
* should hide the soft keyboard on Android and iOS.
|
||||||
@@ -1370,7 +1528,7 @@ extern "C" {
|
|||||||
* disabled. You should use a string that describes what your program is doing
|
* disabled. You should use a string that describes what your program is doing
|
||||||
* (and, therefore, why the screensaver is disabled). For example, "Playing a
|
* (and, therefore, why the screensaver is disabled). For example, "Playing a
|
||||||
* game" or "Watching a video".
|
* game" or "Watching a video".
|
||||||
*
|
*
|
||||||
* Setting this to "" or leaving it unset will have SDL use a reasonable
|
* Setting this to "" or leaving it unset will have SDL use a reasonable
|
||||||
* default: "Playing a game" or something similar.
|
* default: "Playing a game" or something similar.
|
||||||
*
|
*
|
||||||
@@ -1384,13 +1542,13 @@ extern "C" {
|
|||||||
* On some platforms, like Linux, a realtime priority thread may be subject to restrictions
|
* On some platforms, like Linux, a realtime priority thread may be subject to restrictions
|
||||||
* that require special handling by the application. This hint exists to let SDL know that
|
* that require special handling by the application. This hint exists to let SDL know that
|
||||||
* the app is prepared to handle said restrictions.
|
* the app is prepared to handle said restrictions.
|
||||||
*
|
*
|
||||||
* On Linux, SDL will apply the following configuration to any thread that becomes realtime:
|
* On Linux, SDL will apply the following configuration to any thread that becomes realtime:
|
||||||
* * The SCHED_RESET_ON_FORK bit will be set on the scheduling policy,
|
* * The SCHED_RESET_ON_FORK bit will be set on the scheduling policy,
|
||||||
* * An RLIMIT_RTTIME budget will be configured to the rtkit specified limit.
|
* * An RLIMIT_RTTIME budget will be configured to the rtkit specified limit.
|
||||||
* * Exceeding this limit will result in the kernel sending SIGKILL to the app,
|
* * Exceeding this limit will result in the kernel sending SIGKILL to the app,
|
||||||
* * Refer to the man pages for more information.
|
* * Refer to the man pages for more information.
|
||||||
*
|
*
|
||||||
* This variable can be set to the following values:
|
* This variable can be set to the following values:
|
||||||
* "0" - default platform specific behaviour
|
* "0" - default platform specific behaviour
|
||||||
* "1" - Force SDL_THREAD_PRIORITY_TIME_CRITICAL to a realtime scheduling policy
|
* "1" - Force SDL_THREAD_PRIORITY_TIME_CRITICAL to a realtime scheduling policy
|
||||||
@@ -1478,7 +1636,7 @@ extern "C" {
|
|||||||
#define SDL_HINT_TV_REMOTE_AS_JOYSTICK "SDL_TV_REMOTE_AS_JOYSTICK"
|
#define SDL_HINT_TV_REMOTE_AS_JOYSTICK "SDL_TV_REMOTE_AS_JOYSTICK"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling whether the screensaver is enabled.
|
* \brief A variable controlling whether the screensaver is enabled.
|
||||||
*
|
*
|
||||||
* This variable can be set to the following values:
|
* This variable can be set to the following values:
|
||||||
* "0" - Disable screensaver
|
* "0" - Disable screensaver
|
||||||
@@ -1491,7 +1649,7 @@ extern "C" {
|
|||||||
/**
|
/**
|
||||||
* \brief Tell the video driver that we only want a double buffer.
|
* \brief Tell the video driver that we only want a double buffer.
|
||||||
*
|
*
|
||||||
* By default, most lowlevel 2D APIs will use a triple buffer scheme that
|
* By default, most lowlevel 2D APIs will use a triple buffer scheme that
|
||||||
* wastes no CPU time on waiting for vsync after issuing a flip, but
|
* wastes no CPU time on waiting for vsync after issuing a flip, but
|
||||||
* introduces a frame of latency. On the other hand, using a double buffer
|
* introduces a frame of latency. On the other hand, using a double buffer
|
||||||
* scheme instead is recommended for cases where low latency is an important
|
* scheme instead is recommended for cases where low latency is an important
|
||||||
@@ -1603,11 +1761,28 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define SDL_HINT_VIDEO_WAYLAND_MODE_EMULATION "SDL_VIDEO_WAYLAND_MODE_EMULATION"
|
#define SDL_HINT_VIDEO_WAYLAND_MODE_EMULATION "SDL_VIDEO_WAYLAND_MODE_EMULATION"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Enable or disable mouse pointer warp emulation, needed by some older games.
|
||||||
|
*
|
||||||
|
* When this hint is set, any SDL will emulate mouse warps using relative mouse mode.
|
||||||
|
* This is required for some older games (such as Source engine games), which warp the
|
||||||
|
* mouse to the centre of the screen rather than using relative mouse motion. Note that
|
||||||
|
* relative mouse mode may have different mouse acceleration behaviour than pointer warps.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - All mouse warps fail, as mouse warping is not available under wayland.
|
||||||
|
* "1" - Some mouse warps will be emulated by forcing relative mouse mode.
|
||||||
|
*
|
||||||
|
* If not set, this is automatically enabled unless an application uses relative mouse
|
||||||
|
* mode directly.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_VIDEO_WAYLAND_EMULATE_MOUSE_WARP "SDL_VIDEO_WAYLAND_EMULATE_MOUSE_WARP"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable that is the address of another SDL_Window* (as a hex string formatted with "%p").
|
* \brief A variable that is the address of another SDL_Window* (as a hex string formatted with "%p").
|
||||||
*
|
*
|
||||||
* If this hint is set before SDL_CreateWindowFrom() and the SDL_Window* it is set to has
|
* If this hint is set before SDL_CreateWindowFrom() and the SDL_Window* it is set to has
|
||||||
* SDL_WINDOW_OPENGL set (and running on WGL only, currently), then two things will occur on the newly
|
* SDL_WINDOW_OPENGL set (and running on WGL only, currently), then two things will occur on the newly
|
||||||
* created SDL_Window:
|
* created SDL_Window:
|
||||||
*
|
*
|
||||||
* 1. Its pixel format will be set to the same pixel format as this SDL_Window. This is
|
* 1. Its pixel format will be set to the same pixel format as this SDL_Window. This is
|
||||||
@@ -1673,13 +1848,13 @@ extern "C" {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling whether the X11 _NET_WM_BYPASS_COMPOSITOR hint should be used.
|
* \brief A variable controlling whether the X11 _NET_WM_BYPASS_COMPOSITOR hint should be used.
|
||||||
*
|
*
|
||||||
* This variable can be set to the following values:
|
* This variable can be set to the following values:
|
||||||
* "0" - Disable _NET_WM_BYPASS_COMPOSITOR
|
* "0" - Disable _NET_WM_BYPASS_COMPOSITOR
|
||||||
* "1" - Enable _NET_WM_BYPASS_COMPOSITOR
|
* "1" - Enable _NET_WM_BYPASS_COMPOSITOR
|
||||||
*
|
*
|
||||||
* By default SDL will use _NET_WM_BYPASS_COMPOSITOR
|
* By default SDL will use _NET_WM_BYPASS_COMPOSITOR
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"
|
#define SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"
|
||||||
|
|
||||||
@@ -1813,7 +1988,29 @@ extern "C" {
|
|||||||
#define SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING "SDL_WINDOWS_DISABLE_THREAD_NAMING"
|
#define SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING "SDL_WINDOWS_DISABLE_THREAD_NAMING"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling whether the windows message loop is processed by SDL
|
* \brief Controls whether menus can be opened with their keyboard shortcut (Alt+mnemonic).
|
||||||
|
*
|
||||||
|
* If the mnemonics are enabled, then menus can be opened by pressing the Alt
|
||||||
|
* key and the corresponding mnemonic (for example, Alt+F opens the File menu).
|
||||||
|
* However, in case an invalid mnemonic is pressed, Windows makes an audible
|
||||||
|
* beep to convey that nothing happened. This is true even if the window has
|
||||||
|
* no menu at all!
|
||||||
|
*
|
||||||
|
* Because most SDL applications don't have menus, and some want to use the Alt
|
||||||
|
* key for other purposes, SDL disables mnemonics (and the beeping) by default.
|
||||||
|
*
|
||||||
|
* Note: This also affects keyboard events: with mnemonics enabled, when a
|
||||||
|
* menu is opened from the keyboard, you will not receive a KEYUP event for
|
||||||
|
* the mnemonic key, and *might* not receive one for Alt.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - Alt+mnemonic does nothing, no beeping. (default)
|
||||||
|
* "1" - Alt+mnemonic opens menus, invalid mnemonics produce a beep.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS "SDL_WINDOWS_ENABLE_MENU_MNEMONICS"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether the windows message loop is processed by SDL
|
||||||
*
|
*
|
||||||
* This variable can be set to the following values:
|
* This variable can be set to the following values:
|
||||||
* "0" - The window message loop is not run
|
* "0" - The window message loop is not run
|
||||||
@@ -1854,7 +2051,7 @@ extern "C" {
|
|||||||
#define SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
|
#define SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable to specify custom icon resource id from RC file on Windows platform
|
* \brief A variable to specify custom icon resource id from RC file on Windows platform
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_WINDOWS_INTRESOURCE_ICON "SDL_WINDOWS_INTRESOURCE_ICON"
|
#define SDL_HINT_WINDOWS_INTRESOURCE_ICON "SDL_WINDOWS_INTRESOURCE_ICON"
|
||||||
#define SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL "SDL_WINDOWS_INTRESOURCE_ICON_SMALL"
|
#define SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL "SDL_WINDOWS_INTRESOURCE_ICON_SMALL"
|
||||||
@@ -1893,16 +2090,16 @@ extern "C" {
|
|||||||
*
|
*
|
||||||
* This hint must be set before initializing the video subsystem.
|
* This hint must be set before initializing the video subsystem.
|
||||||
*
|
*
|
||||||
* The main purpose of declaring DPI awareness is to disable OS bitmap scaling of SDL windows on monitors with
|
* The main purpose of declaring DPI awareness is to disable OS bitmap scaling of SDL windows on monitors with
|
||||||
* a DPI scale factor.
|
* a DPI scale factor.
|
||||||
*
|
*
|
||||||
* This hint is equivalent to requesting DPI awareness via external means (e.g. calling SetProcessDpiAwarenessContext)
|
* This hint is equivalent to requesting DPI awareness via external means (e.g. calling SetProcessDpiAwarenessContext)
|
||||||
* and does not cause SDL to use a virtualized coordinate system, so it will generally give you 1 SDL coordinate = 1 pixel
|
* and does not cause SDL to use a virtualized coordinate system, so it will generally give you 1 SDL coordinate = 1 pixel
|
||||||
* even on high-DPI displays.
|
* even on high-DPI displays.
|
||||||
*
|
*
|
||||||
* For more information, see:
|
* For more information, see:
|
||||||
* https://docs.microsoft.com/en-us/windows/win32/hidpi/high-dpi-desktop-application-development-on-windows
|
* https://docs.microsoft.com/en-us/windows/win32/hidpi/high-dpi-desktop-application-development-on-windows
|
||||||
*
|
*
|
||||||
* This variable can be set to the following values:
|
* This variable can be set to the following values:
|
||||||
* "" - Do not change the DPI awareness (default).
|
* "" - Do not change the DPI awareness (default).
|
||||||
* "unaware" - Declare the process as DPI unaware. (Windows 8.1 and later).
|
* "unaware" - Declare the process as DPI unaware. (Windows 8.1 and later).
|
||||||
@@ -1920,16 +2117,16 @@ extern "C" {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Uses DPI-scaled points as the SDL coordinate system on Windows.
|
* \brief Uses DPI-scaled points as the SDL coordinate system on Windows.
|
||||||
*
|
*
|
||||||
* This changes the SDL coordinate system units to be DPI-scaled points, rather than pixels everywhere.
|
* This changes the SDL coordinate system units to be DPI-scaled points, rather than pixels everywhere.
|
||||||
* This means windows will be appropriately sized, even when created on high-DPI displays with scaling.
|
* This means windows will be appropriately sized, even when created on high-DPI displays with scaling.
|
||||||
*
|
*
|
||||||
* e.g. requesting a 640x480 window from SDL, on a display with 125% scaling in Windows display settings,
|
* e.g. requesting a 640x480 window from SDL, on a display with 125% scaling in Windows display settings,
|
||||||
* will create a window with an 800x600 client area (in pixels).
|
* will create a window with an 800x600 client area (in pixels).
|
||||||
*
|
*
|
||||||
* Setting this to "1" implicitly requests process DPI awareness (setting SDL_WINDOWS_DPI_AWARENESS is unnecessary),
|
* Setting this to "1" implicitly requests process DPI awareness (setting SDL_WINDOWS_DPI_AWARENESS is unnecessary),
|
||||||
* and forces SDL_WINDOW_ALLOW_HIGHDPI on all windows.
|
* and forces SDL_WINDOW_ALLOW_HIGHDPI on all windows.
|
||||||
*
|
*
|
||||||
* This variable can be set to the following values:
|
* This variable can be set to the following values:
|
||||||
* "0" - SDL coordinates equal Windows coordinates. No automatic window resizing when dragging
|
* "0" - SDL coordinates equal Windows coordinates. No automatic window resizing when dragging
|
||||||
* between monitors with different scale factors (unless this is performed by
|
* between monitors with different scale factors (unless this is performed by
|
||||||
@@ -1940,7 +2137,7 @@ extern "C" {
|
|||||||
#define SDL_HINT_WINDOWS_DPI_SCALING "SDL_WINDOWS_DPI_SCALING"
|
#define SDL_HINT_WINDOWS_DPI_SCALING "SDL_WINDOWS_DPI_SCALING"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling whether the window frame and title bar are interactive when the cursor is hidden
|
* \brief A variable controlling whether the window frame and title bar are interactive when the cursor is hidden
|
||||||
*
|
*
|
||||||
* This variable can be set to the following values:
|
* This variable can be set to the following values:
|
||||||
* "0" - The window frame is not interactive when the cursor is hidden (no move, resize, etc)
|
* "0" - The window frame is not interactive when the cursor is hidden (no move, resize, etc)
|
||||||
@@ -1951,7 +2148,7 @@ extern "C" {
|
|||||||
#define SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"
|
#define SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable controlling whether the window is activated when the SDL_ShowWindow function is called
|
* \brief A variable controlling whether the window is activated when the SDL_ShowWindow function is called
|
||||||
*
|
*
|
||||||
* This variable can be set to the following values:
|
* This variable can be set to the following values:
|
||||||
* "0" - The window is activated when the SDL_ShowWindow function is called
|
* "0" - The window is activated when the SDL_ShowWindow function is called
|
||||||
@@ -2314,6 +2511,21 @@ extern DECLSPEC SDL_bool SDLCALL SDL_SetHint(const char *name,
|
|||||||
*/
|
*/
|
||||||
extern DECLSPEC SDL_bool SDLCALL SDL_ResetHint(const char *name);
|
extern DECLSPEC SDL_bool SDLCALL SDL_ResetHint(const char *name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reset all hints to the default values.
|
||||||
|
*
|
||||||
|
* This will reset all hints to the value of the associated environment
|
||||||
|
* variable, or NULL if the environment isn't set. Callbacks will be called
|
||||||
|
* normally with this change.
|
||||||
|
*
|
||||||
|
* \since This function is available since SDL 2.26.0.
|
||||||
|
*
|
||||||
|
* \sa SDL_GetHint
|
||||||
|
* \sa SDL_SetHint
|
||||||
|
* \sa SDL_ResetHint
|
||||||
|
*/
|
||||||
|
extern DECLSPEC void SDLCALL SDL_ResetHints(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the value of a hint.
|
* Get the value of a hint.
|
||||||
*
|
*
|
||||||
@@ -2387,9 +2599,16 @@ extern DECLSPEC void SDLCALL SDL_DelHintCallback(const char *name,
|
|||||||
/**
|
/**
|
||||||
* Clear all hints.
|
* Clear all hints.
|
||||||
*
|
*
|
||||||
* This function is automatically called during SDL_Quit().
|
* This function is automatically called during SDL_Quit(), and deletes all
|
||||||
|
* callbacks without calling them and frees all memory associated with hints.
|
||||||
|
* If you're calling this from application code you probably want to call
|
||||||
|
* SDL_ResetHints() instead.
|
||||||
|
*
|
||||||
|
* This function will be removed from the API the next time we rev the ABI.
|
||||||
*
|
*
|
||||||
* \since This function is available since SDL 2.0.0.
|
* \since This function is available since SDL 2.0.0.
|
||||||
|
*
|
||||||
|
* \sa SDL_ResetHints
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC void SDLCALL SDL_ClearHints(void);
|
extern DECLSPEC void SDLCALL SDL_ClearHints(void);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -44,6 +44,7 @@
|
|||||||
#include <SDL2/SDL_stdinc.h>
|
#include <SDL2/SDL_stdinc.h>
|
||||||
#include <SDL2/SDL_error.h>
|
#include <SDL2/SDL_error.h>
|
||||||
#include <SDL2/SDL_guid.h>
|
#include <SDL2/SDL_guid.h>
|
||||||
|
#include <SDL2/SDL_mutex.h>
|
||||||
|
|
||||||
#include <SDL2/begin_code.h>
|
#include <SDL2/begin_code.h>
|
||||||
/* Set up for C function definitions, even when using C++ */
|
/* Set up for C function definitions, even when using C++ */
|
||||||
@@ -66,6 +67,9 @@ extern "C" {
|
|||||||
/**
|
/**
|
||||||
* The joystick structure used to identify an SDL joystick
|
* The joystick structure used to identify an SDL joystick
|
||||||
*/
|
*/
|
||||||
|
#ifdef SDL_THREAD_SAFETY_ANALYSIS
|
||||||
|
extern SDL_mutex *SDL_joystick_lock;
|
||||||
|
#endif
|
||||||
struct _SDL_Joystick;
|
struct _SDL_Joystick;
|
||||||
typedef struct _SDL_Joystick SDL_Joystick;
|
typedef struct _SDL_Joystick SDL_Joystick;
|
||||||
|
|
||||||
@@ -124,9 +128,14 @@ typedef enum
|
|||||||
* the API functions that take a joystick index will be valid, and joystick
|
* the API functions that take a joystick index will be valid, and joystick
|
||||||
* and game controller events will not be delivered.
|
* and game controller events will not be delivered.
|
||||||
*
|
*
|
||||||
|
* As of SDL 2.26.0, you can take the joystick lock around reinitializing the
|
||||||
|
* joystick subsystem, to prevent other threads from seeing joysticks in an
|
||||||
|
* uninitialized state. However, all open joysticks will be closed and SDL
|
||||||
|
* functions called with them will fail.
|
||||||
|
*
|
||||||
* \since This function is available since SDL 2.0.7.
|
* \since This function is available since SDL 2.0.7.
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC void SDLCALL SDL_LockJoysticks(void);
|
extern DECLSPEC void SDLCALL SDL_LockJoysticks(void) SDL_ACQUIRE(SDL_joystick_lock);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -141,7 +150,7 @@ extern DECLSPEC void SDLCALL SDL_LockJoysticks(void);
|
|||||||
*
|
*
|
||||||
* \since This function is available since SDL 2.0.7.
|
* \since This function is available since SDL 2.0.7.
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC void SDLCALL SDL_UnlockJoysticks(void);
|
extern DECLSPEC void SDLCALL SDL_UnlockJoysticks(void) SDL_RELEASE(SDL_joystick_lock);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Count the number of joysticks attached to the system.
|
* Count the number of joysticks attached to the system.
|
||||||
@@ -279,13 +288,12 @@ extern DECLSPEC SDL_JoystickType SDLCALL SDL_JoystickGetDeviceType(int device_in
|
|||||||
/**
|
/**
|
||||||
* Get the instance ID of a joystick.
|
* Get the instance ID of a joystick.
|
||||||
*
|
*
|
||||||
* This can be called before any joysticks are opened. If the index is out of
|
* This can be called before any joysticks are opened.
|
||||||
* range, this function will return -1.
|
|
||||||
*
|
*
|
||||||
* \param device_index the index of the joystick to query (the N'th joystick
|
* \param device_index the index of the joystick to query (the N'th joystick
|
||||||
* on the system
|
* on the system
|
||||||
* \returns the instance id of the selected joystick. If called on an invalid
|
* \returns the instance id of the selected joystick. If called on an invalid
|
||||||
* index, this function returns zero
|
* index, this function returns -1.
|
||||||
*
|
*
|
||||||
* \since This function is available since SDL 2.0.6.
|
* \since This function is available since SDL 2.0.6.
|
||||||
*/
|
*/
|
||||||
@@ -425,6 +433,10 @@ extern DECLSPEC SDL_bool SDLCALL SDL_JoystickIsVirtual(int device_index);
|
|||||||
* the following: SDL_PollEvent, SDL_PumpEvents, SDL_WaitEventTimeout,
|
* the following: SDL_PollEvent, SDL_PumpEvents, SDL_WaitEventTimeout,
|
||||||
* SDL_WaitEvent.
|
* SDL_WaitEvent.
|
||||||
*
|
*
|
||||||
|
* Note that when sending trigger axes, you should scale the value to the full
|
||||||
|
* range of Sint16. For example, a trigger at rest would have the value of
|
||||||
|
* `SDL_JOYSTICK_AXIS_MIN`.
|
||||||
|
*
|
||||||
* \param joystick the virtual joystick on which to set state.
|
* \param joystick the virtual joystick on which to set state.
|
||||||
* \param axis the specific axis on the virtual joystick to set.
|
* \param axis the specific axis on the virtual joystick to set.
|
||||||
* \param value the new value for the specified axis.
|
* \param value the new value for the specified axis.
|
||||||
@@ -643,6 +655,25 @@ extern DECLSPEC void SDLCALL SDL_JoystickGetGUIDString(SDL_JoystickGUID guid, ch
|
|||||||
*/
|
*/
|
||||||
extern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUIDFromString(const char *pchGUID);
|
extern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUIDFromString(const char *pchGUID);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the device information encoded in a SDL_JoystickGUID structure
|
||||||
|
*
|
||||||
|
* \param guid the SDL_JoystickGUID you wish to get info about
|
||||||
|
* \param vendor A pointer filled in with the device VID, or 0 if not
|
||||||
|
* available
|
||||||
|
* \param product A pointer filled in with the device PID, or 0 if not
|
||||||
|
* available
|
||||||
|
* \param version A pointer filled in with the device version, or 0 if not
|
||||||
|
* available
|
||||||
|
* \param crc16 A pointer filled in with a CRC used to distinguish different
|
||||||
|
* products with the same VID/PID, or 0 if not available
|
||||||
|
*
|
||||||
|
* \since This function is available since SDL 2.26.0.
|
||||||
|
*
|
||||||
|
* \sa SDL_JoystickGetDeviceGUID
|
||||||
|
*/
|
||||||
|
extern DECLSPEC void SDLCALL SDL_GetJoystickGUIDInfo(SDL_JoystickGUID guid, Uint16 *vendor, Uint16 *product, Uint16 *version, Uint16 *crc16);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the status of a specified joystick.
|
* Get the status of a specified joystick.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
* an SDLK_* constant for those keys that do not generate characters.
|
* an SDLK_* constant for those keys that do not generate characters.
|
||||||
*
|
*
|
||||||
* A special exception is the number keys at the top of the keyboard which
|
* A special exception is the number keys at the top of the keyboard which
|
||||||
* always map to SDLK_0...SDLK_9, regardless of layout.
|
* map to SDLK_0...SDLK_9 on AZERTY layouts.
|
||||||
*/
|
*/
|
||||||
typedef Sint32 SDL_Keycode;
|
typedef Sint32 SDL_Keycode;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -108,6 +108,15 @@
|
|||||||
void reset_IOP(); \
|
void reset_IOP(); \
|
||||||
void reset_IOP() {}
|
void reset_IOP() {}
|
||||||
|
|
||||||
|
#elif defined(__3DS__)
|
||||||
|
/*
|
||||||
|
On N3DS, SDL provides a main function that sets up the screens
|
||||||
|
and storage.
|
||||||
|
|
||||||
|
If you provide this yourself, you may define SDL_MAIN_HANDLED
|
||||||
|
*/
|
||||||
|
#define SDL_MAIN_AVAILABLE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif /* SDL_MAIN_HANDLED */
|
#endif /* SDL_MAIN_HANDLED */
|
||||||
|
|
||||||
@@ -254,6 +263,13 @@ extern DECLSPEC int SDLCALL SDL_UIKitRunApp(int argc, char *argv[], SDL_main_fun
|
|||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_GDKRunApp(SDL_main_func mainFunction, void *reserved);
|
extern DECLSPEC int SDLCALL SDL_GDKRunApp(SDL_main_func mainFunction, void *reserved);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback from the application to let the suspend continue.
|
||||||
|
*
|
||||||
|
* \since This function is available since SDL 2.28.0.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC void SDLCALL SDL_GDKSuspendComplete(void);
|
||||||
|
|
||||||
#endif /* __GDK__ */
|
#endif /* __GDK__ */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -82,7 +82,7 @@ extern DECLSPEC void SDLCALL SDL_Metal_DestroyView(SDL_MetalView view);
|
|||||||
*
|
*
|
||||||
* \since This function is available since SDL 2.0.14.
|
* \since This function is available since SDL 2.0.14.
|
||||||
*
|
*
|
||||||
* \sa SDL_MetalCreateView
|
* \sa SDL_Metal_CreateView
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC void *SDLCALL SDL_Metal_GetLayer(SDL_MetalView view);
|
extern DECLSPEC void *SDLCALL SDL_Metal_GetLayer(SDL_MetalView view);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -198,13 +198,9 @@ extern DECLSPEC int SDLCALL SDL_WarpMouseGlobal(int x, int y);
|
|||||||
/**
|
/**
|
||||||
* Set relative mouse mode.
|
* Set relative mouse mode.
|
||||||
*
|
*
|
||||||
* While the mouse is in relative mode, the cursor is hidden, and the driver
|
* While the mouse is in relative mode, the cursor is hidden, the mouse
|
||||||
* will try to report continuous motion in the current window. Only relative
|
* position is constrained to the window, and SDL will report continuous
|
||||||
* motion events will be delivered, the mouse position will not change.
|
* relative mouse motion even if the mouse is at the edge of the window.
|
||||||
*
|
|
||||||
* Note that this function will not be able to provide continuous relative
|
|
||||||
* motion when used over Microsoft Remote Desktop, instead motion is limited
|
|
||||||
* to the bounds of the screen.
|
|
||||||
*
|
*
|
||||||
* This function will flush any pending mouse motion.
|
* This function will flush any pending mouse motion.
|
||||||
*
|
*
|
||||||
@@ -389,6 +385,9 @@ extern DECLSPEC SDL_Cursor *SDLCALL SDL_GetCursor(void);
|
|||||||
/**
|
/**
|
||||||
* Get the default cursor.
|
* Get the default cursor.
|
||||||
*
|
*
|
||||||
|
* You do not have to call SDL_FreeCursor() on the return value, but it is
|
||||||
|
* safe to do so.
|
||||||
|
*
|
||||||
* \returns the default cursor on success or NULL on failure.
|
* \returns the default cursor on success or NULL on failure.
|
||||||
*
|
*
|
||||||
* \since This function is available since SDL 2.0.0.
|
* \since This function is available since SDL 2.0.0.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -31,6 +31,80 @@
|
|||||||
#include <SDL2/SDL_stdinc.h>
|
#include <SDL2/SDL_stdinc.h>
|
||||||
#include <SDL2/SDL_error.h>
|
#include <SDL2/SDL_error.h>
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
/* Enable thread safety attributes only with clang.
|
||||||
|
* The attributes can be safely erased when compiling with other compilers.
|
||||||
|
*/
|
||||||
|
#if defined(SDL_THREAD_SAFETY_ANALYSIS) && \
|
||||||
|
defined(__clang__) && (!defined(SWIG))
|
||||||
|
#define SDL_THREAD_ANNOTATION_ATTRIBUTE__(x) __attribute__((x))
|
||||||
|
#else
|
||||||
|
#define SDL_THREAD_ANNOTATION_ATTRIBUTE__(x) /* no-op */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define SDL_CAPABILITY(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(capability(x))
|
||||||
|
|
||||||
|
#define SDL_SCOPED_CAPABILITY \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(scoped_lockable)
|
||||||
|
|
||||||
|
#define SDL_GUARDED_BY(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(guarded_by(x))
|
||||||
|
|
||||||
|
#define SDL_PT_GUARDED_BY(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(pt_guarded_by(x))
|
||||||
|
|
||||||
|
#define SDL_ACQUIRED_BEFORE(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(acquired_before(x))
|
||||||
|
|
||||||
|
#define SDL_ACQUIRED_AFTER(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(acquired_after(x))
|
||||||
|
|
||||||
|
#define SDL_REQUIRES(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(requires_capability(x))
|
||||||
|
|
||||||
|
#define SDL_REQUIRES_SHARED(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(requires_shared_capability(x))
|
||||||
|
|
||||||
|
#define SDL_ACQUIRE(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(acquire_capability(x))
|
||||||
|
|
||||||
|
#define SDL_ACQUIRE_SHARED(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(acquire_shared_capability(x))
|
||||||
|
|
||||||
|
#define SDL_RELEASE(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(release_capability(x))
|
||||||
|
|
||||||
|
#define SDL_RELEASE_SHARED(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(release_shared_capability(x))
|
||||||
|
|
||||||
|
#define SDL_RELEASE_GENERIC(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(release_generic_capability(x))
|
||||||
|
|
||||||
|
#define SDL_TRY_ACQUIRE(x, y) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_capability(x, y))
|
||||||
|
|
||||||
|
#define SDL_TRY_ACQUIRE_SHARED(x, y) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_shared_capability(x, y))
|
||||||
|
|
||||||
|
#define SDL_EXCLUDES(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(locks_excluded(x))
|
||||||
|
|
||||||
|
#define SDL_ASSERT_CAPABILITY(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(assert_capability(x))
|
||||||
|
|
||||||
|
#define SDL_ASSERT_SHARED_CAPABILITY(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(assert_shared_capability(x))
|
||||||
|
|
||||||
|
#define SDL_RETURN_CAPABILITY(x) \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(lock_returned(x))
|
||||||
|
|
||||||
|
#define SDL_NO_THREAD_SAFETY_ANALYSIS \
|
||||||
|
SDL_THREAD_ANNOTATION_ATTRIBUTE__(no_thread_safety_analysis)
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
#include <SDL2/begin_code.h>
|
#include <SDL2/begin_code.h>
|
||||||
/* Set up for C function definitions, even when using C++ */
|
/* Set up for C function definitions, even when using C++ */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
@@ -96,7 +170,7 @@ extern DECLSPEC SDL_mutex *SDLCALL SDL_CreateMutex(void);
|
|||||||
*
|
*
|
||||||
* \since This function is available since SDL 2.0.0.
|
* \since This function is available since SDL 2.0.0.
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_LockMutex(SDL_mutex * mutex);
|
extern DECLSPEC int SDLCALL SDL_LockMutex(SDL_mutex * mutex) SDL_ACQUIRE(mutex);
|
||||||
#define SDL_mutexP(m) SDL_LockMutex(m)
|
#define SDL_mutexP(m) SDL_LockMutex(m)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -119,7 +193,7 @@ extern DECLSPEC int SDLCALL SDL_LockMutex(SDL_mutex * mutex);
|
|||||||
* \sa SDL_LockMutex
|
* \sa SDL_LockMutex
|
||||||
* \sa SDL_UnlockMutex
|
* \sa SDL_UnlockMutex
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_TryLockMutex(SDL_mutex * mutex);
|
extern DECLSPEC int SDLCALL SDL_TryLockMutex(SDL_mutex * mutex) SDL_TRY_ACQUIRE(0, mutex);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unlock the mutex.
|
* Unlock the mutex.
|
||||||
@@ -138,7 +212,7 @@ extern DECLSPEC int SDLCALL SDL_TryLockMutex(SDL_mutex * mutex);
|
|||||||
*
|
*
|
||||||
* \since This function is available since SDL 2.0.0.
|
* \since This function is available since SDL 2.0.0.
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_UnlockMutex(SDL_mutex * mutex);
|
extern DECLSPEC int SDLCALL SDL_UnlockMutex(SDL_mutex * mutex) SDL_RELEASE(mutex);
|
||||||
#define SDL_mutexV(m) SDL_UnlockMutex(m)
|
#define SDL_mutexV(m) SDL_UnlockMutex(m)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -276,7 +350,7 @@ extern DECLSPEC int SDLCALL SDL_SemTryWait(SDL_sem * sem);
|
|||||||
* successful it will atomically decrement the semaphore value.
|
* successful it will atomically decrement the semaphore value.
|
||||||
*
|
*
|
||||||
* \param sem the semaphore to wait on
|
* \param sem the semaphore to wait on
|
||||||
* \param ms the length of the timeout, in milliseconds
|
* \param timeout the length of the timeout, in milliseconds
|
||||||
* \returns 0 if the wait succeeds, `SDL_MUTEX_TIMEDOUT` if the wait does not
|
* \returns 0 if the wait succeeds, `SDL_MUTEX_TIMEDOUT` if the wait does not
|
||||||
* succeed in the allotted time, or a negative error code on failure;
|
* succeed in the allotted time, or a negative error code on failure;
|
||||||
* call SDL_GetError() for more information.
|
* call SDL_GetError() for more information.
|
||||||
@@ -290,7 +364,7 @@ extern DECLSPEC int SDLCALL SDL_SemTryWait(SDL_sem * sem);
|
|||||||
* \sa SDL_SemValue
|
* \sa SDL_SemValue
|
||||||
* \sa SDL_SemWait
|
* \sa SDL_SemWait
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_SemWaitTimeout(SDL_sem * sem, Uint32 ms);
|
extern DECLSPEC int SDLCALL SDL_SemWaitTimeout(SDL_sem *sem, Uint32 timeout);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Atomically increment a semaphore's value and wake waiting threads.
|
* Atomically increment a semaphore's value and wake waiting threads.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -2107,57 +2107,6 @@ typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLsh
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ???. GL_MESA_packed_depth_stencil
|
|
||||||
* XXX obsolete
|
|
||||||
*/
|
|
||||||
#ifndef GL_MESA_packed_depth_stencil
|
|
||||||
#define GL_MESA_packed_depth_stencil 1
|
|
||||||
|
|
||||||
#define GL_DEPTH_STENCIL_MESA 0x8750
|
|
||||||
#define GL_UNSIGNED_INT_24_8_MESA 0x8751
|
|
||||||
#define GL_UNSIGNED_INT_8_24_REV_MESA 0x8752
|
|
||||||
#define GL_UNSIGNED_SHORT_15_1_MESA 0x8753
|
|
||||||
#define GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754
|
|
||||||
|
|
||||||
#endif /* GL_MESA_packed_depth_stencil */
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef GL_ATI_blend_equation_separate
|
|
||||||
#define GL_ATI_blend_equation_separate 1
|
|
||||||
|
|
||||||
#define GL_ALPHA_BLEND_EQUATION_ATI 0x883D
|
|
||||||
|
|
||||||
GLAPI void GLAPIENTRY glBlendEquationSeparateATI( GLenum modeRGB, GLenum modeA );
|
|
||||||
typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEATIPROC) (GLenum modeRGB, GLenum modeA);
|
|
||||||
|
|
||||||
#endif /* GL_ATI_blend_equation_separate */
|
|
||||||
|
|
||||||
|
|
||||||
/* GL_OES_EGL_image */
|
|
||||||
#ifndef GL_OES_EGL_image
|
|
||||||
typedef void* GLeglImageOES;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef GL_OES_EGL_image
|
|
||||||
#define GL_OES_EGL_image 1
|
|
||||||
#ifdef GL_GLEXT_PROTOTYPES
|
|
||||||
GLAPI void APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
|
|
||||||
GLAPI void APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
|
|
||||||
#endif
|
|
||||||
typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
|
|
||||||
typedef void (APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
** NOTE!!!!! If you add new functions to this file, or update
|
|
||||||
** glext.h be sure to regenerate the gl_mangle.h file. See comments
|
|
||||||
** in that file for details.
|
|
||||||
**/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* Begin system-specific stuff
|
* Begin system-specific stuff
|
||||||
*/
|
*/
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,56 +1,70 @@
|
|||||||
#ifndef __gl2_h_
|
#ifndef __gles2_gl2_h_
|
||||||
#define __gl2_h_
|
#define __gles2_gl2_h_ 1
|
||||||
|
|
||||||
/* $Revision: 20555 $ on $Date:: 2013-02-12 14:32:47 -0800 #$ */
|
|
||||||
|
|
||||||
/*#include <GLES2/gl2platform.h>*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This document is licensed under the SGI Free Software B License Version
|
** Copyright 2013-2020 The Khronos Group Inc.
|
||||||
* 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
|
** SPDX-License-Identifier: MIT
|
||||||
|
**
|
||||||
|
** This header is generated from the Khronos OpenGL / OpenGL ES XML
|
||||||
|
** API Registry. The current version of the Registry, generator scripts
|
||||||
|
** used to make the header, and the header can be found at
|
||||||
|
** https://github.com/KhronosGroup/OpenGL-Registry
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*#include <GLES2/gl2platform.h>*/
|
||||||
|
|
||||||
|
#ifndef GL_APIENTRYP
|
||||||
|
#define GL_APIENTRYP GL_APIENTRY*
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef GL_GLES_PROTOTYPES
|
||||||
|
#define GL_GLES_PROTOTYPES 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Generated on date 20220530 */
|
||||||
|
|
||||||
|
/* Generated C header for:
|
||||||
|
* API: gles2
|
||||||
|
* Profile: common
|
||||||
|
* Versions considered: 2\.[0-9]
|
||||||
|
* Versions emitted: .*
|
||||||
|
* Default extensions included: None
|
||||||
|
* Additional extensions included: _nomatch_^
|
||||||
|
* Extensions removed: _nomatch_^
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------
|
#ifndef GL_ES_VERSION_2_0
|
||||||
* Data type definitions
|
#define GL_ES_VERSION_2_0 1
|
||||||
*-----------------------------------------------------------------------*/
|
/*#include <KHR/khrplatform.h>*/
|
||||||
|
typedef khronos_int8_t GLbyte;
|
||||||
typedef void GLvoid;
|
typedef khronos_float_t GLclampf;
|
||||||
typedef char GLchar;
|
typedef khronos_int32_t GLfixed;
|
||||||
typedef unsigned int GLenum;
|
typedef khronos_int16_t GLshort;
|
||||||
typedef unsigned char GLboolean;
|
typedef khronos_uint16_t GLushort;
|
||||||
typedef unsigned int GLbitfield;
|
typedef void GLvoid;
|
||||||
typedef khronos_int8_t GLbyte;
|
typedef struct __GLsync *GLsync;
|
||||||
typedef short GLshort;
|
typedef khronos_int64_t GLint64;
|
||||||
typedef int GLint;
|
typedef khronos_uint64_t GLuint64;
|
||||||
typedef int GLsizei;
|
typedef unsigned int GLenum;
|
||||||
typedef khronos_uint8_t GLubyte;
|
typedef unsigned int GLuint;
|
||||||
typedef unsigned short GLushort;
|
typedef char GLchar;
|
||||||
typedef unsigned int GLuint;
|
typedef khronos_float_t GLfloat;
|
||||||
typedef khronos_float_t GLfloat;
|
typedef khronos_ssize_t GLsizeiptr;
|
||||||
typedef khronos_float_t GLclampf;
|
|
||||||
typedef khronos_int32_t GLfixed;
|
|
||||||
|
|
||||||
/* GL types for handling large vertex buffer objects */
|
|
||||||
typedef khronos_intptr_t GLintptr;
|
typedef khronos_intptr_t GLintptr;
|
||||||
typedef khronos_ssize_t GLsizeiptr;
|
typedef unsigned int GLbitfield;
|
||||||
|
typedef int GLint;
|
||||||
/* OpenGL ES core versions */
|
typedef unsigned char GLboolean;
|
||||||
#define GL_ES_VERSION_2_0 1
|
typedef int GLsizei;
|
||||||
|
typedef khronos_uint8_t GLubyte;
|
||||||
/* ClearBufferMask */
|
|
||||||
#define GL_DEPTH_BUFFER_BIT 0x00000100
|
#define GL_DEPTH_BUFFER_BIT 0x00000100
|
||||||
#define GL_STENCIL_BUFFER_BIT 0x00000400
|
#define GL_STENCIL_BUFFER_BIT 0x00000400
|
||||||
#define GL_COLOR_BUFFER_BIT 0x00004000
|
#define GL_COLOR_BUFFER_BIT 0x00004000
|
||||||
|
|
||||||
/* Boolean */
|
|
||||||
#define GL_FALSE 0
|
#define GL_FALSE 0
|
||||||
#define GL_TRUE 1
|
#define GL_TRUE 1
|
||||||
|
|
||||||
/* BeginMode */
|
|
||||||
#define GL_POINTS 0x0000
|
#define GL_POINTS 0x0000
|
||||||
#define GL_LINES 0x0001
|
#define GL_LINES 0x0001
|
||||||
#define GL_LINE_LOOP 0x0002
|
#define GL_LINE_LOOP 0x0002
|
||||||
@@ -58,18 +72,6 @@ typedef khronos_ssize_t GLsizeiptr;
|
|||||||
#define GL_TRIANGLES 0x0004
|
#define GL_TRIANGLES 0x0004
|
||||||
#define GL_TRIANGLE_STRIP 0x0005
|
#define GL_TRIANGLE_STRIP 0x0005
|
||||||
#define GL_TRIANGLE_FAN 0x0006
|
#define GL_TRIANGLE_FAN 0x0006
|
||||||
|
|
||||||
/* AlphaFunction (not supported in ES20) */
|
|
||||||
/* GL_NEVER */
|
|
||||||
/* GL_LESS */
|
|
||||||
/* GL_EQUAL */
|
|
||||||
/* GL_LEQUAL */
|
|
||||||
/* GL_GREATER */
|
|
||||||
/* GL_NOTEQUAL */
|
|
||||||
/* GL_GEQUAL */
|
|
||||||
/* GL_ALWAYS */
|
|
||||||
|
|
||||||
/* BlendingFactorDest */
|
|
||||||
#define GL_ZERO 0
|
#define GL_ZERO 0
|
||||||
#define GL_ONE 1
|
#define GL_ONE 1
|
||||||
#define GL_SRC_COLOR 0x0300
|
#define GL_SRC_COLOR 0x0300
|
||||||
@@ -78,29 +80,15 @@ typedef khronos_ssize_t GLsizeiptr;
|
|||||||
#define GL_ONE_MINUS_SRC_ALPHA 0x0303
|
#define GL_ONE_MINUS_SRC_ALPHA 0x0303
|
||||||
#define GL_DST_ALPHA 0x0304
|
#define GL_DST_ALPHA 0x0304
|
||||||
#define GL_ONE_MINUS_DST_ALPHA 0x0305
|
#define GL_ONE_MINUS_DST_ALPHA 0x0305
|
||||||
|
|
||||||
/* BlendingFactorSrc */
|
|
||||||
/* GL_ZERO */
|
|
||||||
/* GL_ONE */
|
|
||||||
#define GL_DST_COLOR 0x0306
|
#define GL_DST_COLOR 0x0306
|
||||||
#define GL_ONE_MINUS_DST_COLOR 0x0307
|
#define GL_ONE_MINUS_DST_COLOR 0x0307
|
||||||
#define GL_SRC_ALPHA_SATURATE 0x0308
|
#define GL_SRC_ALPHA_SATURATE 0x0308
|
||||||
/* GL_SRC_ALPHA */
|
|
||||||
/* GL_ONE_MINUS_SRC_ALPHA */
|
|
||||||
/* GL_DST_ALPHA */
|
|
||||||
/* GL_ONE_MINUS_DST_ALPHA */
|
|
||||||
|
|
||||||
/* BlendEquationSeparate */
|
|
||||||
#define GL_FUNC_ADD 0x8006
|
#define GL_FUNC_ADD 0x8006
|
||||||
#define GL_BLEND_EQUATION 0x8009
|
#define GL_BLEND_EQUATION 0x8009
|
||||||
#define GL_BLEND_EQUATION_RGB 0x8009 /* same as BLEND_EQUATION */
|
#define GL_BLEND_EQUATION_RGB 0x8009
|
||||||
#define GL_BLEND_EQUATION_ALPHA 0x883D
|
#define GL_BLEND_EQUATION_ALPHA 0x883D
|
||||||
|
|
||||||
/* BlendSubtract */
|
|
||||||
#define GL_FUNC_SUBTRACT 0x800A
|
#define GL_FUNC_SUBTRACT 0x800A
|
||||||
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
|
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
|
||||||
|
|
||||||
/* Separate Blend Functions */
|
|
||||||
#define GL_BLEND_DST_RGB 0x80C8
|
#define GL_BLEND_DST_RGB 0x80C8
|
||||||
#define GL_BLEND_SRC_RGB 0x80C9
|
#define GL_BLEND_SRC_RGB 0x80C9
|
||||||
#define GL_BLEND_DST_ALPHA 0x80CA
|
#define GL_BLEND_DST_ALPHA 0x80CA
|
||||||
@@ -110,38 +98,19 @@ typedef khronos_ssize_t GLsizeiptr;
|
|||||||
#define GL_CONSTANT_ALPHA 0x8003
|
#define GL_CONSTANT_ALPHA 0x8003
|
||||||
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
|
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
|
||||||
#define GL_BLEND_COLOR 0x8005
|
#define GL_BLEND_COLOR 0x8005
|
||||||
|
|
||||||
/* Buffer Objects */
|
|
||||||
#define GL_ARRAY_BUFFER 0x8892
|
#define GL_ARRAY_BUFFER 0x8892
|
||||||
#define GL_ELEMENT_ARRAY_BUFFER 0x8893
|
#define GL_ELEMENT_ARRAY_BUFFER 0x8893
|
||||||
#define GL_ARRAY_BUFFER_BINDING 0x8894
|
#define GL_ARRAY_BUFFER_BINDING 0x8894
|
||||||
#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
|
#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
|
||||||
|
|
||||||
#define GL_STREAM_DRAW 0x88E0
|
#define GL_STREAM_DRAW 0x88E0
|
||||||
#define GL_STATIC_DRAW 0x88E4
|
#define GL_STATIC_DRAW 0x88E4
|
||||||
#define GL_DYNAMIC_DRAW 0x88E8
|
#define GL_DYNAMIC_DRAW 0x88E8
|
||||||
|
|
||||||
#define GL_BUFFER_SIZE 0x8764
|
#define GL_BUFFER_SIZE 0x8764
|
||||||
#define GL_BUFFER_USAGE 0x8765
|
#define GL_BUFFER_USAGE 0x8765
|
||||||
|
|
||||||
#define GL_CURRENT_VERTEX_ATTRIB 0x8626
|
#define GL_CURRENT_VERTEX_ATTRIB 0x8626
|
||||||
|
|
||||||
/* CullFaceMode */
|
|
||||||
#define GL_FRONT 0x0404
|
#define GL_FRONT 0x0404
|
||||||
#define GL_BACK 0x0405
|
#define GL_BACK 0x0405
|
||||||
#define GL_FRONT_AND_BACK 0x0408
|
#define GL_FRONT_AND_BACK 0x0408
|
||||||
|
|
||||||
/* DepthFunction */
|
|
||||||
/* GL_NEVER */
|
|
||||||
/* GL_LESS */
|
|
||||||
/* GL_EQUAL */
|
|
||||||
/* GL_LEQUAL */
|
|
||||||
/* GL_GREATER */
|
|
||||||
/* GL_NOTEQUAL */
|
|
||||||
/* GL_GEQUAL */
|
|
||||||
/* GL_ALWAYS */
|
|
||||||
|
|
||||||
/* EnableCap */
|
|
||||||
#define GL_TEXTURE_2D 0x0DE1
|
#define GL_TEXTURE_2D 0x0DE1
|
||||||
#define GL_CULL_FACE 0x0B44
|
#define GL_CULL_FACE 0x0B44
|
||||||
#define GL_BLEND 0x0BE2
|
#define GL_BLEND 0x0BE2
|
||||||
@@ -152,19 +121,13 @@ typedef khronos_ssize_t GLsizeiptr;
|
|||||||
#define GL_POLYGON_OFFSET_FILL 0x8037
|
#define GL_POLYGON_OFFSET_FILL 0x8037
|
||||||
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
|
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
|
||||||
#define GL_SAMPLE_COVERAGE 0x80A0
|
#define GL_SAMPLE_COVERAGE 0x80A0
|
||||||
|
|
||||||
/* ErrorCode */
|
|
||||||
#define GL_NO_ERROR 0
|
#define GL_NO_ERROR 0
|
||||||
#define GL_INVALID_ENUM 0x0500
|
#define GL_INVALID_ENUM 0x0500
|
||||||
#define GL_INVALID_VALUE 0x0501
|
#define GL_INVALID_VALUE 0x0501
|
||||||
#define GL_INVALID_OPERATION 0x0502
|
#define GL_INVALID_OPERATION 0x0502
|
||||||
#define GL_OUT_OF_MEMORY 0x0505
|
#define GL_OUT_OF_MEMORY 0x0505
|
||||||
|
|
||||||
/* FrontFaceDirection */
|
|
||||||
#define GL_CW 0x0900
|
#define GL_CW 0x0900
|
||||||
#define GL_CCW 0x0901
|
#define GL_CCW 0x0901
|
||||||
|
|
||||||
/* GetPName */
|
|
||||||
#define GL_LINE_WIDTH 0x0B21
|
#define GL_LINE_WIDTH 0x0B21
|
||||||
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
|
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
|
||||||
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
|
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
|
||||||
@@ -191,7 +154,6 @@ typedef khronos_ssize_t GLsizeiptr;
|
|||||||
#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
|
#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
|
||||||
#define GL_VIEWPORT 0x0BA2
|
#define GL_VIEWPORT 0x0BA2
|
||||||
#define GL_SCISSOR_BOX 0x0C10
|
#define GL_SCISSOR_BOX 0x0C10
|
||||||
/* GL_SCISSOR_TEST */
|
|
||||||
#define GL_COLOR_CLEAR_VALUE 0x0C22
|
#define GL_COLOR_CLEAR_VALUE 0x0C22
|
||||||
#define GL_COLOR_WRITEMASK 0x0C23
|
#define GL_COLOR_WRITEMASK 0x0C23
|
||||||
#define GL_UNPACK_ALIGNMENT 0x0CF5
|
#define GL_UNPACK_ALIGNMENT 0x0CF5
|
||||||
@@ -206,32 +168,18 @@ typedef khronos_ssize_t GLsizeiptr;
|
|||||||
#define GL_DEPTH_BITS 0x0D56
|
#define GL_DEPTH_BITS 0x0D56
|
||||||
#define GL_STENCIL_BITS 0x0D57
|
#define GL_STENCIL_BITS 0x0D57
|
||||||
#define GL_POLYGON_OFFSET_UNITS 0x2A00
|
#define GL_POLYGON_OFFSET_UNITS 0x2A00
|
||||||
/* GL_POLYGON_OFFSET_FILL */
|
|
||||||
#define GL_POLYGON_OFFSET_FACTOR 0x8038
|
#define GL_POLYGON_OFFSET_FACTOR 0x8038
|
||||||
#define GL_TEXTURE_BINDING_2D 0x8069
|
#define GL_TEXTURE_BINDING_2D 0x8069
|
||||||
#define GL_SAMPLE_BUFFERS 0x80A8
|
#define GL_SAMPLE_BUFFERS 0x80A8
|
||||||
#define GL_SAMPLES 0x80A9
|
#define GL_SAMPLES 0x80A9
|
||||||
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
|
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
|
||||||
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
|
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
|
||||||
|
|
||||||
/* GetTextureParameter */
|
|
||||||
/* GL_TEXTURE_MAG_FILTER */
|
|
||||||
/* GL_TEXTURE_MIN_FILTER */
|
|
||||||
/* GL_TEXTURE_WRAP_S */
|
|
||||||
/* GL_TEXTURE_WRAP_T */
|
|
||||||
|
|
||||||
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
|
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
|
||||||
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
|
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
|
||||||
|
|
||||||
/* HintMode */
|
|
||||||
#define GL_DONT_CARE 0x1100
|
#define GL_DONT_CARE 0x1100
|
||||||
#define GL_FASTEST 0x1101
|
#define GL_FASTEST 0x1101
|
||||||
#define GL_NICEST 0x1102
|
#define GL_NICEST 0x1102
|
||||||
|
#define GL_GENERATE_MIPMAP_HINT 0x8192
|
||||||
/* HintTarget */
|
|
||||||
#define GL_GENERATE_MIPMAP_HINT 0x8192
|
|
||||||
|
|
||||||
/* DataType */
|
|
||||||
#define GL_BYTE 0x1400
|
#define GL_BYTE 0x1400
|
||||||
#define GL_UNSIGNED_BYTE 0x1401
|
#define GL_UNSIGNED_BYTE 0x1401
|
||||||
#define GL_SHORT 0x1402
|
#define GL_SHORT 0x1402
|
||||||
@@ -240,44 +188,35 @@ typedef khronos_ssize_t GLsizeiptr;
|
|||||||
#define GL_UNSIGNED_INT 0x1405
|
#define GL_UNSIGNED_INT 0x1405
|
||||||
#define GL_FLOAT 0x1406
|
#define GL_FLOAT 0x1406
|
||||||
#define GL_FIXED 0x140C
|
#define GL_FIXED 0x140C
|
||||||
|
|
||||||
/* PixelFormat */
|
|
||||||
#define GL_DEPTH_COMPONENT 0x1902
|
#define GL_DEPTH_COMPONENT 0x1902
|
||||||
#define GL_ALPHA 0x1906
|
#define GL_ALPHA 0x1906
|
||||||
#define GL_RGB 0x1907
|
#define GL_RGB 0x1907
|
||||||
#define GL_RGBA 0x1908
|
#define GL_RGBA 0x1908
|
||||||
#define GL_LUMINANCE 0x1909
|
#define GL_LUMINANCE 0x1909
|
||||||
#define GL_LUMINANCE_ALPHA 0x190A
|
#define GL_LUMINANCE_ALPHA 0x190A
|
||||||
|
|
||||||
/* PixelType */
|
|
||||||
/* GL_UNSIGNED_BYTE */
|
|
||||||
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
|
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
|
||||||
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
|
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
|
||||||
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
|
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
|
||||||
|
#define GL_FRAGMENT_SHADER 0x8B30
|
||||||
/* Shaders */
|
#define GL_VERTEX_SHADER 0x8B31
|
||||||
#define GL_FRAGMENT_SHADER 0x8B30
|
#define GL_MAX_VERTEX_ATTRIBS 0x8869
|
||||||
#define GL_VERTEX_SHADER 0x8B31
|
#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
|
||||||
#define GL_MAX_VERTEX_ATTRIBS 0x8869
|
#define GL_MAX_VARYING_VECTORS 0x8DFC
|
||||||
#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
|
|
||||||
#define GL_MAX_VARYING_VECTORS 0x8DFC
|
|
||||||
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
|
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
|
||||||
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
|
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
|
||||||
#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
|
#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
|
||||||
#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
|
#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
|
||||||
#define GL_SHADER_TYPE 0x8B4F
|
#define GL_SHADER_TYPE 0x8B4F
|
||||||
#define GL_DELETE_STATUS 0x8B80
|
#define GL_DELETE_STATUS 0x8B80
|
||||||
#define GL_LINK_STATUS 0x8B82
|
#define GL_LINK_STATUS 0x8B82
|
||||||
#define GL_VALIDATE_STATUS 0x8B83
|
#define GL_VALIDATE_STATUS 0x8B83
|
||||||
#define GL_ATTACHED_SHADERS 0x8B85
|
#define GL_ATTACHED_SHADERS 0x8B85
|
||||||
#define GL_ACTIVE_UNIFORMS 0x8B86
|
#define GL_ACTIVE_UNIFORMS 0x8B86
|
||||||
#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
|
#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
|
||||||
#define GL_ACTIVE_ATTRIBUTES 0x8B89
|
#define GL_ACTIVE_ATTRIBUTES 0x8B89
|
||||||
#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
|
#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
|
||||||
#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
|
#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
|
||||||
#define GL_CURRENT_PROGRAM 0x8B8D
|
#define GL_CURRENT_PROGRAM 0x8B8D
|
||||||
|
|
||||||
/* StencilFunction */
|
|
||||||
#define GL_NEVER 0x0200
|
#define GL_NEVER 0x0200
|
||||||
#define GL_LESS 0x0201
|
#define GL_LESS 0x0201
|
||||||
#define GL_EQUAL 0x0202
|
#define GL_EQUAL 0x0202
|
||||||
@@ -286,9 +225,6 @@ typedef khronos_ssize_t GLsizeiptr;
|
|||||||
#define GL_NOTEQUAL 0x0205
|
#define GL_NOTEQUAL 0x0205
|
||||||
#define GL_GEQUAL 0x0206
|
#define GL_GEQUAL 0x0206
|
||||||
#define GL_ALWAYS 0x0207
|
#define GL_ALWAYS 0x0207
|
||||||
|
|
||||||
/* StencilOp */
|
|
||||||
/* GL_ZERO */
|
|
||||||
#define GL_KEEP 0x1E00
|
#define GL_KEEP 0x1E00
|
||||||
#define GL_REPLACE 0x1E01
|
#define GL_REPLACE 0x1E01
|
||||||
#define GL_INCR 0x1E02
|
#define GL_INCR 0x1E02
|
||||||
@@ -296,35 +232,21 @@ typedef khronos_ssize_t GLsizeiptr;
|
|||||||
#define GL_INVERT 0x150A
|
#define GL_INVERT 0x150A
|
||||||
#define GL_INCR_WRAP 0x8507
|
#define GL_INCR_WRAP 0x8507
|
||||||
#define GL_DECR_WRAP 0x8508
|
#define GL_DECR_WRAP 0x8508
|
||||||
|
|
||||||
/* StringName */
|
|
||||||
#define GL_VENDOR 0x1F00
|
#define GL_VENDOR 0x1F00
|
||||||
#define GL_RENDERER 0x1F01
|
#define GL_RENDERER 0x1F01
|
||||||
#define GL_VERSION 0x1F02
|
#define GL_VERSION 0x1F02
|
||||||
#define GL_EXTENSIONS 0x1F03
|
#define GL_EXTENSIONS 0x1F03
|
||||||
|
|
||||||
/* TextureMagFilter */
|
|
||||||
#define GL_NEAREST 0x2600
|
#define GL_NEAREST 0x2600
|
||||||
#define GL_LINEAR 0x2601
|
#define GL_LINEAR 0x2601
|
||||||
|
|
||||||
/* TextureMinFilter */
|
|
||||||
/* GL_NEAREST */
|
|
||||||
/* GL_LINEAR */
|
|
||||||
#define GL_NEAREST_MIPMAP_NEAREST 0x2700
|
#define GL_NEAREST_MIPMAP_NEAREST 0x2700
|
||||||
#define GL_LINEAR_MIPMAP_NEAREST 0x2701
|
#define GL_LINEAR_MIPMAP_NEAREST 0x2701
|
||||||
#define GL_NEAREST_MIPMAP_LINEAR 0x2702
|
#define GL_NEAREST_MIPMAP_LINEAR 0x2702
|
||||||
#define GL_LINEAR_MIPMAP_LINEAR 0x2703
|
#define GL_LINEAR_MIPMAP_LINEAR 0x2703
|
||||||
|
|
||||||
/* TextureParameterName */
|
|
||||||
#define GL_TEXTURE_MAG_FILTER 0x2800
|
#define GL_TEXTURE_MAG_FILTER 0x2800
|
||||||
#define GL_TEXTURE_MIN_FILTER 0x2801
|
#define GL_TEXTURE_MIN_FILTER 0x2801
|
||||||
#define GL_TEXTURE_WRAP_S 0x2802
|
#define GL_TEXTURE_WRAP_S 0x2802
|
||||||
#define GL_TEXTURE_WRAP_T 0x2803
|
#define GL_TEXTURE_WRAP_T 0x2803
|
||||||
|
|
||||||
/* TextureTarget */
|
|
||||||
/* GL_TEXTURE_2D */
|
|
||||||
#define GL_TEXTURE 0x1702
|
#define GL_TEXTURE 0x1702
|
||||||
|
|
||||||
#define GL_TEXTURE_CUBE_MAP 0x8513
|
#define GL_TEXTURE_CUBE_MAP 0x8513
|
||||||
#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
|
#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
|
||||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
|
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
|
||||||
@@ -334,8 +256,6 @@ typedef khronos_ssize_t GLsizeiptr;
|
|||||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
|
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
|
||||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
|
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
|
||||||
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
|
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
|
||||||
|
|
||||||
/* TextureUnit */
|
|
||||||
#define GL_TEXTURE0 0x84C0
|
#define GL_TEXTURE0 0x84C0
|
||||||
#define GL_TEXTURE1 0x84C1
|
#define GL_TEXTURE1 0x84C1
|
||||||
#define GL_TEXTURE2 0x84C2
|
#define GL_TEXTURE2 0x84C2
|
||||||
@@ -369,13 +289,9 @@ typedef khronos_ssize_t GLsizeiptr;
|
|||||||
#define GL_TEXTURE30 0x84DE
|
#define GL_TEXTURE30 0x84DE
|
||||||
#define GL_TEXTURE31 0x84DF
|
#define GL_TEXTURE31 0x84DF
|
||||||
#define GL_ACTIVE_TEXTURE 0x84E0
|
#define GL_ACTIVE_TEXTURE 0x84E0
|
||||||
|
|
||||||
/* TextureWrapMode */
|
|
||||||
#define GL_REPEAT 0x2901
|
#define GL_REPEAT 0x2901
|
||||||
#define GL_CLAMP_TO_EDGE 0x812F
|
#define GL_CLAMP_TO_EDGE 0x812F
|
||||||
#define GL_MIRRORED_REPEAT 0x8370
|
#define GL_MIRRORED_REPEAT 0x8370
|
||||||
|
|
||||||
/* Uniform Types */
|
|
||||||
#define GL_FLOAT_VEC2 0x8B50
|
#define GL_FLOAT_VEC2 0x8B50
|
||||||
#define GL_FLOAT_VEC3 0x8B51
|
#define GL_FLOAT_VEC3 0x8B51
|
||||||
#define GL_FLOAT_VEC4 0x8B52
|
#define GL_FLOAT_VEC4 0x8B52
|
||||||
@@ -391,48 +307,34 @@ typedef khronos_ssize_t GLsizeiptr;
|
|||||||
#define GL_FLOAT_MAT4 0x8B5C
|
#define GL_FLOAT_MAT4 0x8B5C
|
||||||
#define GL_SAMPLER_2D 0x8B5E
|
#define GL_SAMPLER_2D 0x8B5E
|
||||||
#define GL_SAMPLER_CUBE 0x8B60
|
#define GL_SAMPLER_CUBE 0x8B60
|
||||||
|
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
|
||||||
/* Vertex Arrays */
|
#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
|
||||||
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
|
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
|
||||||
#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
|
#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
|
||||||
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
|
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
|
||||||
#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
|
#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
|
||||||
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
|
|
||||||
#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
|
|
||||||
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
|
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
|
||||||
|
#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
|
||||||
/* Read Format */
|
|
||||||
#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
|
|
||||||
#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
|
#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
|
||||||
|
|
||||||
/* Shader Source */
|
|
||||||
#define GL_COMPILE_STATUS 0x8B81
|
#define GL_COMPILE_STATUS 0x8B81
|
||||||
#define GL_INFO_LOG_LENGTH 0x8B84
|
#define GL_INFO_LOG_LENGTH 0x8B84
|
||||||
#define GL_SHADER_SOURCE_LENGTH 0x8B88
|
#define GL_SHADER_SOURCE_LENGTH 0x8B88
|
||||||
#define GL_SHADER_COMPILER 0x8DFA
|
#define GL_SHADER_COMPILER 0x8DFA
|
||||||
|
|
||||||
/* Shader Binary */
|
|
||||||
#define GL_SHADER_BINARY_FORMATS 0x8DF8
|
#define GL_SHADER_BINARY_FORMATS 0x8DF8
|
||||||
#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
|
#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
|
||||||
|
|
||||||
/* Shader Precision-Specified Types */
|
|
||||||
#define GL_LOW_FLOAT 0x8DF0
|
#define GL_LOW_FLOAT 0x8DF0
|
||||||
#define GL_MEDIUM_FLOAT 0x8DF1
|
#define GL_MEDIUM_FLOAT 0x8DF1
|
||||||
#define GL_HIGH_FLOAT 0x8DF2
|
#define GL_HIGH_FLOAT 0x8DF2
|
||||||
#define GL_LOW_INT 0x8DF3
|
#define GL_LOW_INT 0x8DF3
|
||||||
#define GL_MEDIUM_INT 0x8DF4
|
#define GL_MEDIUM_INT 0x8DF4
|
||||||
#define GL_HIGH_INT 0x8DF5
|
#define GL_HIGH_INT 0x8DF5
|
||||||
|
|
||||||
/* Framebuffer Object. */
|
|
||||||
#define GL_FRAMEBUFFER 0x8D40
|
#define GL_FRAMEBUFFER 0x8D40
|
||||||
#define GL_RENDERBUFFER 0x8D41
|
#define GL_RENDERBUFFER 0x8D41
|
||||||
|
|
||||||
#define GL_RGBA4 0x8056
|
#define GL_RGBA4 0x8056
|
||||||
#define GL_RGB5_A1 0x8057
|
#define GL_RGB5_A1 0x8057
|
||||||
#define GL_RGB565 0x8D62
|
#define GL_RGB565 0x8D62
|
||||||
#define GL_DEPTH_COMPONENT16 0x81A5
|
#define GL_DEPTH_COMPONENT16 0x81A5
|
||||||
#define GL_STENCIL_INDEX8 0x8D48
|
#define GL_STENCIL_INDEX8 0x8D48
|
||||||
|
|
||||||
#define GL_RENDERBUFFER_WIDTH 0x8D42
|
#define GL_RENDERBUFFER_WIDTH 0x8D42
|
||||||
#define GL_RENDERBUFFER_HEIGHT 0x8D43
|
#define GL_RENDERBUFFER_HEIGHT 0x8D43
|
||||||
#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
|
#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
|
||||||
@@ -442,180 +344,313 @@ typedef khronos_ssize_t GLsizeiptr;
|
|||||||
#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
|
#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
|
||||||
#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
|
#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
|
||||||
#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
|
#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
|
||||||
|
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
|
||||||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
|
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
|
||||||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
|
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
|
||||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
|
|
||||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
|
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
|
||||||
|
|
||||||
#define GL_COLOR_ATTACHMENT0 0x8CE0
|
#define GL_COLOR_ATTACHMENT0 0x8CE0
|
||||||
#define GL_DEPTH_ATTACHMENT 0x8D00
|
#define GL_DEPTH_ATTACHMENT 0x8D00
|
||||||
#define GL_STENCIL_ATTACHMENT 0x8D20
|
#define GL_STENCIL_ATTACHMENT 0x8D20
|
||||||
|
|
||||||
#define GL_NONE 0
|
#define GL_NONE 0
|
||||||
|
#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
|
||||||
#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
|
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
|
||||||
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
|
|
||||||
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
|
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
|
||||||
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
|
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
|
||||||
#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
|
#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
|
||||||
|
|
||||||
#define GL_FRAMEBUFFER_BINDING 0x8CA6
|
#define GL_FRAMEBUFFER_BINDING 0x8CA6
|
||||||
#define GL_RENDERBUFFER_BINDING 0x8CA7
|
#define GL_RENDERBUFFER_BINDING 0x8CA7
|
||||||
#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
|
#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
|
||||||
|
|
||||||
#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
|
#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
|
||||||
|
typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
|
||||||
/*-------------------------------------------------------------------------
|
typedef void (GL_APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
|
||||||
* GL core functions.
|
typedef void (GL_APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
|
||||||
*-----------------------------------------------------------------------*/
|
typedef void (GL_APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
|
||||||
|
typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
|
||||||
GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
|
typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
|
||||||
GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
|
typedef void (GL_APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
|
||||||
GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name);
|
typedef void (GL_APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||||
GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
|
typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
|
||||||
GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
|
typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
|
||||||
GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
|
typedef void (GL_APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
|
||||||
GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
|
typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
|
||||||
GL_APICALL void GL_APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
|
typedef void (GL_APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
|
||||||
GL_APICALL void GL_APIENTRY glBlendEquation ( GLenum mode );
|
typedef void (GL_APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
|
||||||
GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
|
typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
|
||||||
GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
|
typedef void (GL_APIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
|
||||||
GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
|
typedef void (GL_APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||||
GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
|
typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
|
||||||
GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
|
typedef void (GL_APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
|
||||||
GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target);
|
typedef void (GL_APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
|
||||||
GL_APICALL void GL_APIENTRY glClear (GLbitfield mask);
|
typedef void (GL_APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
|
||||||
GL_APICALL void GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
|
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
|
||||||
GL_APICALL void GL_APIENTRY glClearDepthf (GLclampf depth);
|
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
|
||||||
GL_APICALL void GL_APIENTRY glClearStencil (GLint s);
|
typedef void (GL_APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
|
||||||
GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
|
typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
||||||
GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader);
|
typedef GLuint (GL_APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
|
||||||
GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data);
|
typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
|
||||||
GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data);
|
typedef void (GL_APIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
|
||||||
GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
|
typedef void (GL_APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
|
||||||
GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
|
||||||
GL_APICALL GLuint GL_APIENTRY glCreateProgram (void);
|
typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
|
||||||
GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type);
|
typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
|
||||||
GL_APICALL void GL_APIENTRY glCullFace (GLenum mode);
|
typedef void (GL_APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
|
||||||
GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers);
|
typedef void (GL_APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures);
|
||||||
GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers);
|
typedef void (GL_APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func);
|
||||||
GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program);
|
typedef void (GL_APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag);
|
||||||
GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers);
|
typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
|
||||||
GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader);
|
typedef void (GL_APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
|
||||||
GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures);
|
typedef void (GL_APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
|
||||||
GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func);
|
typedef void (GL_APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
|
||||||
GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag);
|
typedef void (GL_APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
|
||||||
GL_APICALL void GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar);
|
typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices);
|
||||||
GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
|
typedef void (GL_APIENTRYP PFNGLENABLEPROC) (GLenum cap);
|
||||||
GL_APICALL void GL_APIENTRY glDisable (GLenum cap);
|
typedef void (GL_APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
|
||||||
GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index);
|
typedef void (GL_APIENTRYP PFNGLFINISHPROC) (void);
|
||||||
GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
|
typedef void (GL_APIENTRYP PFNGLFLUSHPROC) (void);
|
||||||
GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
|
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||||
GL_APICALL void GL_APIENTRY glEnable (GLenum cap);
|
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||||
GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index);
|
typedef void (GL_APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
|
||||||
GL_APICALL void GL_APIENTRY glFinish (void);
|
typedef void (GL_APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
|
||||||
GL_APICALL void GL_APIENTRY glFlush (void);
|
typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
|
||||||
GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
|
||||||
GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
|
||||||
GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode);
|
typedef void (GL_APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
|
||||||
GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers);
|
typedef void (GL_APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
|
||||||
GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target);
|
typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
|
||||||
GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers);
|
typedef void (GL_APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
|
||||||
GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers);
|
typedef GLint (GL_APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
|
||||||
GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures);
|
typedef void (GL_APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data);
|
||||||
GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
|
typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||||
GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
|
typedef GLenum (GL_APIENTRYP PFNGLGETERRORPROC) (void);
|
||||||
GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
|
typedef void (GL_APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data);
|
||||||
GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name);
|
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
|
||||||
GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params);
|
typedef void (GL_APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data);
|
||||||
GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params);
|
typedef void (GL_APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
|
||||||
GL_APICALL GLenum GL_APIENTRY glGetError (void);
|
typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
|
||||||
GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params);
|
typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||||
GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params);
|
typedef void (GL_APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
|
||||||
GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params);
|
typedef void (GL_APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
|
||||||
GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params);
|
typedef void (GL_APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
|
||||||
GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
|
typedef void (GL_APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
|
||||||
GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params);
|
typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
|
||||||
GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params);
|
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
|
||||||
GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
|
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||||
GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
|
typedef void (GL_APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
|
||||||
GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
|
typedef void (GL_APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
|
||||||
GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name);
|
typedef GLint (GL_APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
|
||||||
GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params);
|
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
|
||||||
GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params);
|
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
|
||||||
GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params);
|
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer);
|
||||||
GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params);
|
typedef void (GL_APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode);
|
||||||
GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name);
|
typedef GLboolean (GL_APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
|
||||||
GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params);
|
typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
|
||||||
GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params);
|
typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
|
||||||
GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer);
|
typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
|
||||||
GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode);
|
typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
|
||||||
GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
|
typedef GLboolean (GL_APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
|
||||||
GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
|
typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture);
|
||||||
GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
|
typedef void (GL_APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
|
||||||
GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program);
|
typedef void (GL_APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
|
||||||
GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
|
typedef void (GL_APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
|
||||||
GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader);
|
typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
|
||||||
GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture);
|
typedef void (GL_APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
|
||||||
GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width);
|
typedef void (GL_APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
|
||||||
GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program);
|
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||||
GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
|
typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
|
||||||
GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
|
typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||||
GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
|
typedef void (GL_APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
|
||||||
GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void);
|
typedef void (GL_APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
|
||||||
GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
|
||||||
GL_APICALL void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert);
|
typedef void (GL_APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
|
||||||
GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
|
typedef void (GL_APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
|
||||||
GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
|
typedef void (GL_APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
|
||||||
GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);
|
typedef void (GL_APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
|
||||||
GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
|
typedef void (GL_APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
|
||||||
GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
|
typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
|
||||||
GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
|
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
|
||||||
GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
|
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
|
||||||
GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
|
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
|
||||||
GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
|
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
|
||||||
GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
|
typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
|
||||||
GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
|
||||||
GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
|
||||||
GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
|
||||||
GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
|
||||||
GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
|
||||||
GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat x);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
|
||||||
GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
|
||||||
GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint x);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
|
||||||
GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
|
||||||
GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
|
||||||
GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
|
||||||
GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
|
||||||
GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
|
||||||
GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
|
||||||
GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
|
||||||
GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z);
|
typedef void (GL_APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
|
||||||
GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v);
|
typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||||
GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||||
GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v);
|
typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||||
GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w);
|
typedef void (GL_APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
|
||||||
GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v);
|
typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
|
||||||
GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
|
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
|
||||||
GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
|
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
|
||||||
GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
|
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
|
||||||
GL_APICALL void GL_APIENTRY glUseProgram (GLuint program);
|
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
|
||||||
GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program);
|
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
|
||||||
GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x);
|
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
|
||||||
GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values);
|
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
||||||
GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y);
|
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
|
||||||
GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values);
|
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
|
||||||
GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z);
|
typedef void (GL_APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||||
GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values);
|
#if GL_GLES_PROTOTYPES
|
||||||
GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
|
||||||
GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values);
|
GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
|
||||||
GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
|
GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
|
||||||
GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
|
GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
|
||||||
|
GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
|
||||||
|
GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
|
||||||
|
GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
|
||||||
|
GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||||
|
GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode);
|
||||||
|
GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
|
||||||
|
GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
|
||||||
|
GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
|
||||||
|
GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
|
||||||
|
GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
|
||||||
|
GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target);
|
||||||
|
GL_APICALL void GL_APIENTRY glClear (GLbitfield mask);
|
||||||
|
GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||||
|
GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat d);
|
||||||
|
GL_APICALL void GL_APIENTRY glClearStencil (GLint s);
|
||||||
|
GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
|
||||||
|
GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader);
|
||||||
|
GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
|
||||||
|
GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
|
||||||
|
GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
|
||||||
|
GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
||||||
|
GL_APICALL GLuint GL_APIENTRY glCreateProgram (void);
|
||||||
|
GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type);
|
||||||
|
GL_APICALL void GL_APIENTRY glCullFace (GLenum mode);
|
||||||
|
GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
|
||||||
|
GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
|
||||||
|
GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program);
|
||||||
|
GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
|
||||||
|
GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader);
|
||||||
|
GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
|
||||||
|
GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func);
|
||||||
|
GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag);
|
||||||
|
GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f);
|
||||||
|
GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
|
||||||
|
GL_APICALL void GL_APIENTRY glDisable (GLenum cap);
|
||||||
|
GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index);
|
||||||
|
GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
|
||||||
|
GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices);
|
||||||
|
GL_APICALL void GL_APIENTRY glEnable (GLenum cap);
|
||||||
|
GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index);
|
||||||
|
GL_APICALL void GL_APIENTRY glFinish (void);
|
||||||
|
GL_APICALL void GL_APIENTRY glFlush (void);
|
||||||
|
GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||||
|
GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||||
|
GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode);
|
||||||
|
GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
|
||||||
|
GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target);
|
||||||
|
GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
|
||||||
|
GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
|
||||||
|
GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
|
||||||
|
GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *data);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
|
||||||
|
GL_APICALL GLenum GL_APIENTRY glGetError (void);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *data);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *data);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
|
||||||
|
GL_APICALL const GLubyte *GL_APIENTRY glGetString (GLenum name);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
|
||||||
|
GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
|
||||||
|
GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
|
||||||
|
GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode);
|
||||||
|
GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
|
||||||
|
GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
|
||||||
|
GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
|
||||||
|
GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program);
|
||||||
|
GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
|
||||||
|
GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader);
|
||||||
|
GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture);
|
||||||
|
GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width);
|
||||||
|
GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program);
|
||||||
|
GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
|
||||||
|
GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
|
||||||
|
GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
|
||||||
|
GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void);
|
||||||
|
GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||||
|
GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
|
||||||
|
GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||||
|
GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
|
||||||
|
GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
|
||||||
|
GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
|
||||||
|
GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
|
||||||
|
GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
|
||||||
|
GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
|
||||||
|
GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
|
||||||
|
GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
|
||||||
|
GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
|
||||||
|
GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
|
||||||
|
GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
|
||||||
|
GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
|
||||||
|
GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
|
||||||
|
GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat v0);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint v0);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||||
|
GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||||
|
GL_APICALL void GL_APIENTRY glUseProgram (GLuint program);
|
||||||
|
GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program);
|
||||||
|
GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
|
||||||
|
GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
|
||||||
|
GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
|
||||||
|
GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
|
||||||
|
GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
|
||||||
|
GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
|
||||||
|
GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
||||||
|
GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
|
||||||
|
GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
|
||||||
|
GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||||
|
#endif
|
||||||
|
#endif /* GL_ES_VERSION_2_0 */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __gl2_h_ */
|
#endif
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,20 +1,17 @@
|
|||||||
#ifndef __gl2platform_h_
|
#ifndef __gl2platform_h_
|
||||||
#define __gl2platform_h_
|
#define __gl2platform_h_
|
||||||
|
|
||||||
/* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This document is licensed under the SGI Free Software B License Version
|
** Copyright 2017-2020 The Khronos Group Inc.
|
||||||
* 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Platform-specific types and definitions for OpenGL ES 2.X gl2.h
|
/* Platform-specific types and definitions for OpenGL ES 2.X gl2.h
|
||||||
*
|
*
|
||||||
* Adopters may modify khrplatform.h and this file to suit their platform.
|
* Adopters may modify khrplatform.h and this file to suit their platform.
|
||||||
* You are encouraged to submit all modifications to the Khronos group so that
|
* Please contribute modifications back to Khronos as pull requests on the
|
||||||
* they can be included in future versions of this file. Please submit changes
|
* public github repository:
|
||||||
* by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
|
* https://github.com/KhronosGroup/OpenGL-Registry
|
||||||
* by filing a bug against product "OpenGL-ES" component "Registry".
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*#include <KHR/khrplatform.h>*/
|
/*#include <KHR/khrplatform.h>*/
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#define __khrplatform_h_
|
#define __khrplatform_h_
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2008-2009 The Khronos Group Inc.
|
** Copyright (c) 2008-2018 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
** copy of this software and/or associated documentation files (the
|
** copy of this software and/or associated documentation files (the
|
||||||
@@ -26,18 +26,16 @@
|
|||||||
|
|
||||||
/* Khronos platform-specific types and definitions.
|
/* Khronos platform-specific types and definitions.
|
||||||
*
|
*
|
||||||
* $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $
|
* The master copy of khrplatform.h is maintained in the Khronos EGL
|
||||||
|
* Registry repository at https://github.com/KhronosGroup/EGL-Registry
|
||||||
|
* The last semantic modification to khrplatform.h was at commit ID:
|
||||||
|
* 67a3e0864c2d75ea5287b9f3d2eb74a745936692
|
||||||
*
|
*
|
||||||
* Adopters may modify this file to suit their platform. Adopters are
|
* Adopters may modify this file to suit their platform. Adopters are
|
||||||
* encouraged to submit platform specific modifications to the Khronos
|
* encouraged to submit platform specific modifications to the Khronos
|
||||||
* group so that they can be included in future versions of this file.
|
* group so that they can be included in future versions of this file.
|
||||||
* Please submit changes by sending them to the public Khronos Bugzilla
|
* Please submit changes by filing pull requests or issues on
|
||||||
* (http://khronos.org/bugzilla) by filing a bug against product
|
* the EGL Registry repository linked above.
|
||||||
* "Khronos (general)" component "Registry".
|
|
||||||
*
|
|
||||||
* A predefined template which fills in some of the bug fields can be
|
|
||||||
* reached using http://tinyurl.com/khrplatform-h-bugreport, but you
|
|
||||||
* must create a Bugzilla login first.
|
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* See the Implementer's Guidelines for information about where this file
|
* See the Implementer's Guidelines for information about where this file
|
||||||
@@ -92,15 +90,25 @@
|
|||||||
* int arg2) KHRONOS_APIATTRIBUTES;
|
* int arg2) KHRONOS_APIATTRIBUTES;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
|
||||||
|
# define KHRONOS_STATIC 1
|
||||||
|
#endif
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------
|
/*-------------------------------------------------------------------------
|
||||||
* Definition of KHRONOS_APICALL
|
* Definition of KHRONOS_APICALL
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
* This precedes the return type of the function in the function prototype.
|
* This precedes the return type of the function in the function prototype.
|
||||||
*/
|
*/
|
||||||
#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
#if defined(KHRONOS_STATIC)
|
||||||
|
/* If the preprocessor constant KHRONOS_STATIC is defined, make the
|
||||||
|
* header compatible with static linking. */
|
||||||
|
# define KHRONOS_APICALL
|
||||||
|
#elif defined(_WIN32)
|
||||||
# define KHRONOS_APICALL __declspec(dllimport)
|
# define KHRONOS_APICALL __declspec(dllimport)
|
||||||
#elif defined (__SYMBIAN32__)
|
#elif defined (__SYMBIAN32__)
|
||||||
# define KHRONOS_APICALL IMPORT_C
|
# define KHRONOS_APICALL IMPORT_C
|
||||||
|
#elif defined(__ANDROID__)
|
||||||
|
# define KHRONOS_APICALL __attribute__((visibility("default")))
|
||||||
#else
|
#else
|
||||||
# define KHRONOS_APICALL
|
# define KHRONOS_APICALL
|
||||||
#endif
|
#endif
|
||||||
@@ -145,6 +153,20 @@ typedef int64_t khronos_int64_t;
|
|||||||
typedef uint64_t khronos_uint64_t;
|
typedef uint64_t khronos_uint64_t;
|
||||||
#define KHRONOS_SUPPORT_INT64 1
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
#define KHRONOS_SUPPORT_FLOAT 1
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
/*
|
||||||
|
* To support platform where unsigned long cannot be used interchangeably with
|
||||||
|
* inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t.
|
||||||
|
* Ideally, we could just use (u)intptr_t everywhere, but this could result in
|
||||||
|
* ABI breakage if khronos_uintptr_t is changed from unsigned long to
|
||||||
|
* unsigned long long or similar (this results in different C++ name mangling).
|
||||||
|
* To avoid changes for existing platforms, we restrict usage of intptr_t to
|
||||||
|
* platforms where the size of a pointer is larger than the size of long.
|
||||||
|
*/
|
||||||
|
#if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__)
|
||||||
|
#if __SIZEOF_POINTER__ > __SIZEOF_LONG__
|
||||||
|
#define KHRONOS_USE_INTPTR_T
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#elif defined(__VMS ) || defined(__sgi)
|
#elif defined(__VMS ) || defined(__sgi)
|
||||||
|
|
||||||
@@ -223,18 +245,25 @@ typedef signed short int khronos_int16_t;
|
|||||||
typedef unsigned short int khronos_uint16_t;
|
typedef unsigned short int khronos_uint16_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Types that differ between LLP64 and LP64 architectures - in LLP64,
|
* Types that differ between LLP64 and LP64 architectures - in LLP64,
|
||||||
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
|
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
|
||||||
* to be the only LLP64 architecture in current use.
|
* to be the only LLP64 architecture in current use.
|
||||||
*/
|
*/
|
||||||
#ifdef _WIN64
|
#ifdef KHRONOS_USE_INTPTR_T
|
||||||
|
typedef intptr_t khronos_intptr_t;
|
||||||
|
typedef uintptr_t khronos_uintptr_t;
|
||||||
|
#elif defined(_WIN64)
|
||||||
typedef signed long long int khronos_intptr_t;
|
typedef signed long long int khronos_intptr_t;
|
||||||
typedef unsigned long long int khronos_uintptr_t;
|
typedef unsigned long long int khronos_uintptr_t;
|
||||||
typedef signed long long int khronos_ssize_t;
|
|
||||||
typedef unsigned long long int khronos_usize_t;
|
|
||||||
#else
|
#else
|
||||||
typedef signed long int khronos_intptr_t;
|
typedef signed long int khronos_intptr_t;
|
||||||
typedef unsigned long int khronos_uintptr_t;
|
typedef unsigned long int khronos_uintptr_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_WIN64)
|
||||||
|
typedef signed long long int khronos_ssize_t;
|
||||||
|
typedef unsigned long long int khronos_usize_t;
|
||||||
|
#else
|
||||||
typedef signed long int khronos_ssize_t;
|
typedef signed long int khronos_ssize_t;
|
||||||
typedef unsigned long int khronos_usize_t;
|
typedef unsigned long int khronos_usize_t;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -221,6 +221,11 @@
|
|||||||
#define __VITA__ 1
|
#define __VITA__ 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__3DS__)
|
||||||
|
#undef __3DS__
|
||||||
|
#define __3DS__ 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <SDL2/begin_code.h>
|
#include <SDL2/begin_code.h>
|
||||||
/* Set up for C function definitions, even when using C++ */
|
/* Set up for C function definitions, even when using C++ */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -48,7 +48,6 @@ typedef enum
|
|||||||
SDL_POWERSTATE_CHARGED /**< Plugged in, battery charged */
|
SDL_POWERSTATE_CHARGED /**< Plugged in, battery charged */
|
||||||
} SDL_PowerState;
|
} SDL_PowerState;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current power supply details.
|
* Get the current power supply details.
|
||||||
*
|
*
|
||||||
@@ -65,17 +64,17 @@ typedef enum
|
|||||||
* It's possible a platform can only report battery percentage or time left
|
* It's possible a platform can only report battery percentage or time left
|
||||||
* but not both.
|
* but not both.
|
||||||
*
|
*
|
||||||
* \param secs seconds of battery life left, you can pass a NULL here if you
|
* \param seconds seconds of battery life left, you can pass a NULL here if
|
||||||
* don't care, will return -1 if we can't determine a value, or
|
* you don't care, will return -1 if we can't determine a
|
||||||
* we're not running on a battery
|
* value, or we're not running on a battery
|
||||||
* \param pct percentage of battery life left, between 0 and 100, you can pass
|
* \param percent percentage of battery life left, between 0 and 100, you can
|
||||||
* a NULL here if you don't care, will return -1 if we can't
|
* pass a NULL here if you don't care, will return -1 if we
|
||||||
* determine a value, or we're not running on a battery
|
* can't determine a value, or we're not running on a battery
|
||||||
* \returns an SDL_PowerState enum representing the current battery state.
|
* \returns an SDL_PowerState enum representing the current battery state.
|
||||||
*
|
*
|
||||||
* \since This function is available since SDL 2.0.0.
|
* \since This function is available since SDL 2.0.0.
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC SDL_PowerState SDLCALL SDL_GetPowerInfo(int *secs, int *pct);
|
extern DECLSPEC SDL_PowerState SDLCALL SDL_GetPowerInfo(int *seconds, int *percent);
|
||||||
|
|
||||||
/* Ends C function definitions when using C++ */
|
/* Ends C function definitions when using C++ */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -1731,6 +1731,11 @@ extern DECLSPEC int SDLCALL SDL_RenderReadPixels(SDL_Renderer * renderer,
|
|||||||
*
|
*
|
||||||
* \param renderer the rendering context
|
* \param renderer the rendering context
|
||||||
*
|
*
|
||||||
|
* \threadsafety You may only call this function on the main thread. If this
|
||||||
|
* happens to work on a background thread on any given platform
|
||||||
|
* or backend, it's purely by luck and you should not rely on it
|
||||||
|
* to work next time.
|
||||||
|
*
|
||||||
* \since This function is available since SDL 2.0.0.
|
* \since This function is available since SDL 2.0.0.
|
||||||
*
|
*
|
||||||
* \sa SDL_RenderClear
|
* \sa SDL_RenderClear
|
||||||
@@ -1765,6 +1770,9 @@ extern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_Texture * texture);
|
|||||||
/**
|
/**
|
||||||
* Destroy the rendering context for a window and free associated textures.
|
* Destroy the rendering context for a window and free associated textures.
|
||||||
*
|
*
|
||||||
|
* If `renderer` is NULL, this function will return immediately after setting
|
||||||
|
* the SDL error message to "Invalid renderer". See SDL_GetError().
|
||||||
|
*
|
||||||
* \param renderer the rendering context
|
* \param renderer the rendering context
|
||||||
*
|
*
|
||||||
* \since This function is available since SDL 2.0.0.
|
* \since This function is available since SDL 2.0.0.
|
||||||
@@ -1882,7 +1890,7 @@ extern DECLSPEC void *SDLCALL SDL_RenderGetMetalLayer(SDL_Renderer * renderer);
|
|||||||
* Note that as of SDL 2.0.18, this will return NULL if Metal refuses to give
|
* Note that as of SDL 2.0.18, this will return NULL if Metal refuses to give
|
||||||
* SDL a drawable to render to, which might happen if the window is
|
* SDL a drawable to render to, which might happen if the window is
|
||||||
* hidden/minimized/offscreen. This doesn't apply to command encoders for
|
* hidden/minimized/offscreen. This doesn't apply to command encoders for
|
||||||
* render targets, just the window's backbacker. Check your return values!
|
* render targets, just the window's backbuffer. Check your return values!
|
||||||
*
|
*
|
||||||
* \param renderer The renderer to query
|
* \param renderer The renderer to query
|
||||||
* \returns an `id<MTLRenderCommandEncoder>` on success, or NULL if the
|
* \returns an `id<MTLRenderCommandEncoder>` on success, or NULL if the
|
||||||
|
|||||||
@@ -1,2 +1,7 @@
|
|||||||
#define SDL_REVISION "https://github.com/libsdl-org/SDL.git@55b03c7493a7abed33cf803d1380a40fa8af903f"
|
/* Generated by updaterev.sh, do not edit */
|
||||||
|
#ifdef SDL_VENDOR_INFO
|
||||||
|
#define SDL_REVISION "SDL-release-2.28.3-0-g8a5ba43d0 (" SDL_VENDOR_INFO ")"
|
||||||
|
#else
|
||||||
|
#define SDL_REVISION "SDL-release-2.28.3-0-g8a5ba43d0"
|
||||||
|
#endif
|
||||||
#define SDL_REVISION_NUMBER 0
|
#define SDL_REVISION_NUMBER 0
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -225,16 +225,16 @@ typedef enum
|
|||||||
SDL_SCANCODE_F23 = 114,
|
SDL_SCANCODE_F23 = 114,
|
||||||
SDL_SCANCODE_F24 = 115,
|
SDL_SCANCODE_F24 = 115,
|
||||||
SDL_SCANCODE_EXECUTE = 116,
|
SDL_SCANCODE_EXECUTE = 116,
|
||||||
SDL_SCANCODE_HELP = 117,
|
SDL_SCANCODE_HELP = 117, /**< AL Integrated Help Center */
|
||||||
SDL_SCANCODE_MENU = 118,
|
SDL_SCANCODE_MENU = 118, /**< Menu (show menu) */
|
||||||
SDL_SCANCODE_SELECT = 119,
|
SDL_SCANCODE_SELECT = 119,
|
||||||
SDL_SCANCODE_STOP = 120,
|
SDL_SCANCODE_STOP = 120, /**< AC Stop */
|
||||||
SDL_SCANCODE_AGAIN = 121, /**< redo */
|
SDL_SCANCODE_AGAIN = 121, /**< AC Redo/Repeat */
|
||||||
SDL_SCANCODE_UNDO = 122,
|
SDL_SCANCODE_UNDO = 122, /**< AC Undo */
|
||||||
SDL_SCANCODE_CUT = 123,
|
SDL_SCANCODE_CUT = 123, /**< AC Cut */
|
||||||
SDL_SCANCODE_COPY = 124,
|
SDL_SCANCODE_COPY = 124, /**< AC Copy */
|
||||||
SDL_SCANCODE_PASTE = 125,
|
SDL_SCANCODE_PASTE = 125, /**< AC Paste */
|
||||||
SDL_SCANCODE_FIND = 126,
|
SDL_SCANCODE_FIND = 126, /**< AC Find */
|
||||||
SDL_SCANCODE_MUTE = 127,
|
SDL_SCANCODE_MUTE = 127,
|
||||||
SDL_SCANCODE_VOLUMEUP = 128,
|
SDL_SCANCODE_VOLUMEUP = 128,
|
||||||
SDL_SCANCODE_VOLUMEDOWN = 129,
|
SDL_SCANCODE_VOLUMEDOWN = 129,
|
||||||
@@ -265,9 +265,9 @@ typedef enum
|
|||||||
SDL_SCANCODE_LANG8 = 151, /**< reserved */
|
SDL_SCANCODE_LANG8 = 151, /**< reserved */
|
||||||
SDL_SCANCODE_LANG9 = 152, /**< reserved */
|
SDL_SCANCODE_LANG9 = 152, /**< reserved */
|
||||||
|
|
||||||
SDL_SCANCODE_ALTERASE = 153, /**< Erase-Eaze */
|
SDL_SCANCODE_ALTERASE = 153, /**< Erase-Eaze */
|
||||||
SDL_SCANCODE_SYSREQ = 154,
|
SDL_SCANCODE_SYSREQ = 154,
|
||||||
SDL_SCANCODE_CANCEL = 155,
|
SDL_SCANCODE_CANCEL = 155, /**< AC Cancel */
|
||||||
SDL_SCANCODE_CLEAR = 156,
|
SDL_SCANCODE_CLEAR = 156,
|
||||||
SDL_SCANCODE_PRIOR = 157,
|
SDL_SCANCODE_PRIOR = 157,
|
||||||
SDL_SCANCODE_RETURN2 = 158,
|
SDL_SCANCODE_RETURN2 = 158,
|
||||||
@@ -345,6 +345,11 @@ typedef enum
|
|||||||
* \name Usage page 0x0C
|
* \name Usage page 0x0C
|
||||||
*
|
*
|
||||||
* These values are mapped from usage page 0x0C (USB consumer page).
|
* These values are mapped from usage page 0x0C (USB consumer page).
|
||||||
|
* See https://usb.org/sites/default/files/hut1_2.pdf
|
||||||
|
*
|
||||||
|
* There are way more keys in the spec than we can represent in the
|
||||||
|
* current scancode range, so pick the ones that commonly come up in
|
||||||
|
* real world usage.
|
||||||
*/
|
*/
|
||||||
/* @{ */
|
/* @{ */
|
||||||
|
|
||||||
@@ -354,17 +359,17 @@ typedef enum
|
|||||||
SDL_SCANCODE_AUDIOPLAY = 261,
|
SDL_SCANCODE_AUDIOPLAY = 261,
|
||||||
SDL_SCANCODE_AUDIOMUTE = 262,
|
SDL_SCANCODE_AUDIOMUTE = 262,
|
||||||
SDL_SCANCODE_MEDIASELECT = 263,
|
SDL_SCANCODE_MEDIASELECT = 263,
|
||||||
SDL_SCANCODE_WWW = 264,
|
SDL_SCANCODE_WWW = 264, /**< AL Internet Browser */
|
||||||
SDL_SCANCODE_MAIL = 265,
|
SDL_SCANCODE_MAIL = 265,
|
||||||
SDL_SCANCODE_CALCULATOR = 266,
|
SDL_SCANCODE_CALCULATOR = 266, /**< AL Calculator */
|
||||||
SDL_SCANCODE_COMPUTER = 267,
|
SDL_SCANCODE_COMPUTER = 267,
|
||||||
SDL_SCANCODE_AC_SEARCH = 268,
|
SDL_SCANCODE_AC_SEARCH = 268, /**< AC Search */
|
||||||
SDL_SCANCODE_AC_HOME = 269,
|
SDL_SCANCODE_AC_HOME = 269, /**< AC Home */
|
||||||
SDL_SCANCODE_AC_BACK = 270,
|
SDL_SCANCODE_AC_BACK = 270, /**< AC Back */
|
||||||
SDL_SCANCODE_AC_FORWARD = 271,
|
SDL_SCANCODE_AC_FORWARD = 271, /**< AC Forward */
|
||||||
SDL_SCANCODE_AC_STOP = 272,
|
SDL_SCANCODE_AC_STOP = 272, /**< AC Stop */
|
||||||
SDL_SCANCODE_AC_REFRESH = 273,
|
SDL_SCANCODE_AC_REFRESH = 273, /**< AC Refresh */
|
||||||
SDL_SCANCODE_AC_BOOKMARKS = 274,
|
SDL_SCANCODE_AC_BOOKMARKS = 274, /**< AC Bookmarks */
|
||||||
|
|
||||||
/* @} *//* Usage page 0x0C */
|
/* @} *//* Usage page 0x0C */
|
||||||
|
|
||||||
@@ -383,7 +388,7 @@ typedef enum
|
|||||||
SDL_SCANCODE_KBDILLUMDOWN = 279,
|
SDL_SCANCODE_KBDILLUMDOWN = 279,
|
||||||
SDL_SCANCODE_KBDILLUMUP = 280,
|
SDL_SCANCODE_KBDILLUMUP = 280,
|
||||||
SDL_SCANCODE_EJECT = 281,
|
SDL_SCANCODE_EJECT = 281,
|
||||||
SDL_SCANCODE_SLEEP = 282,
|
SDL_SCANCODE_SLEEP = 282, /**< SC System Sleep */
|
||||||
|
|
||||||
SDL_SCANCODE_APP1 = 283,
|
SDL_SCANCODE_APP1 = 283,
|
||||||
SDL_SCANCODE_APP2 = 284,
|
SDL_SCANCODE_APP2 = 284,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -71,7 +71,11 @@ typedef enum
|
|||||||
SDL_SENSOR_INVALID = -1, /**< Returned for an invalid sensor */
|
SDL_SENSOR_INVALID = -1, /**< Returned for an invalid sensor */
|
||||||
SDL_SENSOR_UNKNOWN, /**< Unknown sensor type */
|
SDL_SENSOR_UNKNOWN, /**< Unknown sensor type */
|
||||||
SDL_SENSOR_ACCEL, /**< Accelerometer */
|
SDL_SENSOR_ACCEL, /**< Accelerometer */
|
||||||
SDL_SENSOR_GYRO /**< Gyroscope */
|
SDL_SENSOR_GYRO, /**< Gyroscope */
|
||||||
|
SDL_SENSOR_ACCEL_L, /**< Accelerometer for left Joy-Con controller and Wii nunchuk */
|
||||||
|
SDL_SENSOR_GYRO_L, /**< Gyroscope for left Joy-Con controller */
|
||||||
|
SDL_SENSOR_ACCEL_R, /**< Accelerometer for right Joy-Con controller */
|
||||||
|
SDL_SENSOR_GYRO_R /**< Gyroscope for right Joy-Con controller */
|
||||||
} SDL_SensorType;
|
} SDL_SensorType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -80,7 +84,7 @@ typedef enum
|
|||||||
* The accelerometer returns the current acceleration in SI meters per
|
* The accelerometer returns the current acceleration in SI meters per
|
||||||
* second squared. This measurement includes the force of gravity, so
|
* second squared. This measurement includes the force of gravity, so
|
||||||
* a device at rest will have an value of SDL_STANDARD_GRAVITY away
|
* a device at rest will have an value of SDL_STANDARD_GRAVITY away
|
||||||
* from the center of the earth.
|
* from the center of the earth, which is a positive Y value.
|
||||||
*
|
*
|
||||||
* values[0]: Acceleration on the x axis
|
* values[0]: Acceleration on the x axis
|
||||||
* values[1]: Acceleration on the y axis
|
* values[1]: Acceleration on the y axis
|
||||||
@@ -263,7 +267,24 @@ extern DECLSPEC SDL_SensorID SDLCALL SDL_SensorGetInstanceID(SDL_Sensor *sensor)
|
|||||||
*
|
*
|
||||||
* \since This function is available since SDL 2.0.9.
|
* \since This function is available since SDL 2.0.9.
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC int SDLCALL SDL_SensorGetData(SDL_Sensor * sensor, float *data, int num_values);
|
extern DECLSPEC int SDLCALL SDL_SensorGetData(SDL_Sensor *sensor, float *data, int num_values);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the current state of an opened sensor with the timestamp of the last
|
||||||
|
* update.
|
||||||
|
*
|
||||||
|
* The number of values and interpretation of the data is sensor dependent.
|
||||||
|
*
|
||||||
|
* \param sensor The SDL_Sensor object to query
|
||||||
|
* \param timestamp A pointer filled with the timestamp in microseconds of the
|
||||||
|
* current sensor reading if available, or 0 if not
|
||||||
|
* \param data A pointer filled with the current sensor state
|
||||||
|
* \param num_values The number of values to write to data
|
||||||
|
* \returns 0 or -1 if an error occurred.
|
||||||
|
*
|
||||||
|
* \since This function is available since SDL 2.26.0.
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_SensorGetDataWithTimestamp(SDL_Sensor *sensor, Uint64 *timestamp, float *data, int num_values);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Close a sensor previously opened with SDL_SensorOpen().
|
* Close a sensor previously opened with SDL_SensorOpen().
|
||||||
@@ -272,7 +293,7 @@ extern DECLSPEC int SDLCALL SDL_SensorGetData(SDL_Sensor * sensor, float *data,
|
|||||||
*
|
*
|
||||||
* \since This function is available since SDL 2.0.9.
|
* \since This function is available since SDL 2.0.9.
|
||||||
*/
|
*/
|
||||||
extern DECLSPEC void SDLCALL SDL_SensorClose(SDL_Sensor * sensor);
|
extern DECLSPEC void SDLCALL SDL_SensorClose(SDL_Sensor *sensor);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the current state of the open sensors.
|
* Update the current state of the open sensors.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -30,12 +30,6 @@
|
|||||||
|
|
||||||
#include <SDL2/SDL_config.h>
|
#include <SDL2/SDL_config.h>
|
||||||
|
|
||||||
#ifdef __APPLE__
|
|
||||||
#ifndef _DARWIN_C_SOURCE
|
|
||||||
#define _DARWIN_C_SOURCE 1 /* for memset_pattern4() */
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_SYS_TYPES_H
|
#ifdef HAVE_SYS_TYPES_H
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -85,7 +79,9 @@
|
|||||||
Visual Studio. See http://msdn.microsoft.com/en-us/library/4hwaceh6.aspx
|
Visual Studio. See http://msdn.microsoft.com/en-us/library/4hwaceh6.aspx
|
||||||
for more information.
|
for more information.
|
||||||
*/
|
*/
|
||||||
# define _USE_MATH_DEFINES
|
# ifndef _USE_MATH_DEFINES
|
||||||
|
# define _USE_MATH_DEFINES
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
# include <math.h>
|
# include <math.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -410,7 +406,7 @@ SDL_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8);
|
|||||||
|
|
||||||
/** \cond */
|
/** \cond */
|
||||||
#ifndef DOXYGEN_SHOULD_IGNORE_THIS
|
#ifndef DOXYGEN_SHOULD_IGNORE_THIS
|
||||||
#if !defined(__ANDROID__) && !defined(__VITA__)
|
#if !defined(__ANDROID__) && !defined(__VITA__) && !defined(__3DS__)
|
||||||
/* TODO: include/SDL_stdinc.h:174: error: size of array 'SDL_dummy_enum' is negative */
|
/* TODO: include/SDL_stdinc.h:174: error: size of array 'SDL_dummy_enum' is negative */
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
@@ -528,9 +524,7 @@ extern DECLSPEC void *SDLCALL SDL_memset(SDL_OUT_BYTECAP(len) void *dst, int c,
|
|||||||
/* Note that memset() is a byte assignment and this is a 32-bit assignment, so they're not directly equivalent. */
|
/* Note that memset() is a byte assignment and this is a 32-bit assignment, so they're not directly equivalent. */
|
||||||
SDL_FORCE_INLINE void SDL_memset4(void *dst, Uint32 val, size_t dwords)
|
SDL_FORCE_INLINE void SDL_memset4(void *dst, Uint32 val, size_t dwords)
|
||||||
{
|
{
|
||||||
#ifdef __APPLE__
|
#if defined(__GNUC__) && defined(__i386__)
|
||||||
memset_pattern4(dst, &val, dwords * 4);
|
|
||||||
#elif defined(__GNUC__) && defined(__i386__)
|
|
||||||
int u0, u1, u2;
|
int u0, u1, u2;
|
||||||
__asm__ __volatile__ (
|
__asm__ __volatile__ (
|
||||||
"cld \n\t"
|
"cld \n\t"
|
||||||
@@ -583,6 +577,7 @@ extern DECLSPEC char *SDLCALL SDL_strlwr(char *str);
|
|||||||
extern DECLSPEC char *SDLCALL SDL_strchr(const char *str, int c);
|
extern DECLSPEC char *SDLCALL SDL_strchr(const char *str, int c);
|
||||||
extern DECLSPEC char *SDLCALL SDL_strrchr(const char *str, int c);
|
extern DECLSPEC char *SDLCALL SDL_strrchr(const char *str, int c);
|
||||||
extern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack, const char *needle);
|
extern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack, const char *needle);
|
||||||
|
extern DECLSPEC char *SDLCALL SDL_strcasestr(const char *haystack, const char *needle);
|
||||||
extern DECLSPEC char *SDLCALL SDL_strtokr(char *s1, const char *s2, char **saveptr);
|
extern DECLSPEC char *SDLCALL SDL_strtokr(char *s1, const char *s2, char **saveptr);
|
||||||
extern DECLSPEC size_t SDLCALL SDL_utf8strlen(const char *str);
|
extern DECLSPEC size_t SDLCALL SDL_utf8strlen(const char *str);
|
||||||
extern DECLSPEC size_t SDLCALL SDL_utf8strnlen(const char *str, size_t bytes);
|
extern DECLSPEC size_t SDLCALL SDL_utf8strnlen(const char *str, size_t bytes);
|
||||||
@@ -693,7 +688,7 @@ extern DECLSPEC size_t SDLCALL SDL_iconv(SDL_iconv_t cd, const char **inbuf,
|
|||||||
size_t * outbytesleft);
|
size_t * outbytesleft);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function converts a string between encodings in one pass, returning a
|
* This function converts a buffer or string between encodings in one pass, returning a
|
||||||
* string that must be freed with SDL_free() or NULL on error.
|
* string that must be freed with SDL_free() or NULL on error.
|
||||||
*
|
*
|
||||||
* \since This function is available since SDL 2.0.0.
|
* \since This function is available since SDL 2.0.0.
|
||||||
@@ -721,6 +716,20 @@ size_t strlcpy(char* dst, const char* src, size_t size);
|
|||||||
size_t strlcat(char* dst, const char* src, size_t size);
|
size_t strlcat(char* dst, const char* src, size_t size);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_WCSLCPY
|
||||||
|
size_t wcslcpy(wchar_t *dst, const wchar_t *src, size_t size);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_WCSLCAT
|
||||||
|
size_t wcslcat(wchar_t *dst, const wchar_t *src, size_t size);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Starting LLVM 16, the analyser errors out if these functions do not have
|
||||||
|
their prototype defined (clang-diagnostic-implicit-function-declaration) */
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
#define SDL_malloc malloc
|
#define SDL_malloc malloc
|
||||||
#define SDL_calloc calloc
|
#define SDL_calloc calloc
|
||||||
#define SDL_realloc realloc
|
#define SDL_realloc realloc
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
#include <SDL2/SDL_atomic.h>
|
#include <SDL2/SDL_atomic.h>
|
||||||
#include <SDL2/SDL_mutex.h>
|
#include <SDL2/SDL_mutex.h>
|
||||||
|
|
||||||
#if defined(__WIN32__) || defined(__GDK__)
|
#if (defined(__WIN32__) || defined(__GDK__)) && !defined(__WINRT__)
|
||||||
#include <process.h> /* _beginthreadex() and _endthreadex() */
|
#include <process.h> /* _beginthreadex() and _endthreadex() */
|
||||||
#endif
|
#endif
|
||||||
#if defined(__OS2__) /* for _beginthread() and _endthread() */
|
#if defined(__OS2__) /* for _beginthread() and _endthread() */
|
||||||
@@ -88,7 +88,7 @@ typedef enum {
|
|||||||
typedef int (SDLCALL * SDL_ThreadFunction) (void *data);
|
typedef int (SDLCALL * SDL_ThreadFunction) (void *data);
|
||||||
|
|
||||||
|
|
||||||
#if defined(__WIN32__) || defined(__GDK__)
|
#if (defined(__WIN32__) || defined(__GDK__)) && !defined(__WINRT__)
|
||||||
/**
|
/**
|
||||||
* \file SDL_thread.h
|
* \file SDL_thread.h
|
||||||
*
|
*
|
||||||
@@ -142,7 +142,7 @@ SDL_CreateThreadWithStackSize(SDL_ThreadFunction fn,
|
|||||||
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
||||||
#else
|
#else
|
||||||
#define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
#define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
||||||
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)SDL_endthread)
|
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#elif defined(__OS2__)
|
#elif defined(__OS2__)
|
||||||
@@ -175,7 +175,7 @@ SDL_CreateThreadWithStackSize(SDL_ThreadFunction fn, const char *name, const siz
|
|||||||
#undef SDL_CreateThread
|
#undef SDL_CreateThread
|
||||||
#define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
#define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
||||||
#undef SDL_CreateThreadWithStackSize
|
#undef SDL_CreateThreadWithStackSize
|
||||||
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
||||||
#else
|
#else
|
||||||
#define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
#define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
||||||
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -58,8 +58,8 @@ typedef struct SDL_version
|
|||||||
/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
|
/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
|
||||||
*/
|
*/
|
||||||
#define SDL_MAJOR_VERSION 2
|
#define SDL_MAJOR_VERSION 2
|
||||||
#define SDL_MINOR_VERSION 24
|
#define SDL_MINOR_VERSION 28
|
||||||
#define SDL_PATCHLEVEL 2
|
#define SDL_PATCHLEVEL 3
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Macro to determine SDL version program was compiled against.
|
* Macro to determine SDL version program was compiled against.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -187,7 +187,8 @@ typedef enum
|
|||||||
SDL_DISPLAYEVENT_NONE, /**< Never used */
|
SDL_DISPLAYEVENT_NONE, /**< Never used */
|
||||||
SDL_DISPLAYEVENT_ORIENTATION, /**< Display orientation has changed to data1 */
|
SDL_DISPLAYEVENT_ORIENTATION, /**< Display orientation has changed to data1 */
|
||||||
SDL_DISPLAYEVENT_CONNECTED, /**< Display has been added to the system */
|
SDL_DISPLAYEVENT_CONNECTED, /**< Display has been added to the system */
|
||||||
SDL_DISPLAYEVENT_DISCONNECTED /**< Display has been removed from the system */
|
SDL_DISPLAYEVENT_DISCONNECTED, /**< Display has been removed from the system */
|
||||||
|
SDL_DISPLAYEVENT_MOVED /**< Display has changed position */
|
||||||
} SDL_DisplayEventID;
|
} SDL_DisplayEventID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1046,6 +1047,27 @@ extern DECLSPEC int SDLCALL SDL_GetWindowBordersSize(SDL_Window * window,
|
|||||||
int *top, int *left,
|
int *top, int *left,
|
||||||
int *bottom, int *right);
|
int *bottom, int *right);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the size of a window in pixels.
|
||||||
|
*
|
||||||
|
* This may differ from SDL_GetWindowSize() if we're rendering to a high-DPI
|
||||||
|
* drawable, i.e. the window was created with `SDL_WINDOW_ALLOW_HIGHDPI` on a
|
||||||
|
* platform with high-DPI support (Apple calls this "Retina"), and not
|
||||||
|
* disabled by the `SDL_HINT_VIDEO_HIGHDPI_DISABLED` hint.
|
||||||
|
*
|
||||||
|
* \param window the window from which the drawable size should be queried
|
||||||
|
* \param w a pointer to variable for storing the width in pixels, may be NULL
|
||||||
|
* \param h a pointer to variable for storing the height in pixels, may be
|
||||||
|
* NULL
|
||||||
|
*
|
||||||
|
* \since This function is available since SDL 2.26.0.
|
||||||
|
*
|
||||||
|
* \sa SDL_CreateWindow
|
||||||
|
* \sa SDL_GetWindowSize
|
||||||
|
*/
|
||||||
|
extern DECLSPEC void SDLCALL SDL_GetWindowSizeInPixels(SDL_Window * window,
|
||||||
|
int *w, int *h);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the minimum size of a window's client area.
|
* Set the minimum size of a window's client area.
|
||||||
*
|
*
|
||||||
@@ -1253,6 +1275,17 @@ extern DECLSPEC void SDLCALL SDL_RestoreWindow(SDL_Window * window);
|
|||||||
extern DECLSPEC int SDLCALL SDL_SetWindowFullscreen(SDL_Window * window,
|
extern DECLSPEC int SDLCALL SDL_SetWindowFullscreen(SDL_Window * window,
|
||||||
Uint32 flags);
|
Uint32 flags);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return whether the window has a surface associated with it.
|
||||||
|
*
|
||||||
|
* \returns SDL_TRUE if there is a surface associated with the window, or SDL_FALSE otherwise.
|
||||||
|
*
|
||||||
|
* \since This function is available since SDL 2.28.0.
|
||||||
|
*
|
||||||
|
* \sa SDL_GetWindowSurface
|
||||||
|
*/
|
||||||
|
extern DECLSPEC SDL_bool SDLCALL SDL_HasWindowSurface(SDL_Window *window);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the SDL surface associated with the window.
|
* Get the SDL surface associated with the window.
|
||||||
*
|
*
|
||||||
@@ -1273,6 +1306,8 @@ extern DECLSPEC int SDLCALL SDL_SetWindowFullscreen(SDL_Window * window,
|
|||||||
*
|
*
|
||||||
* \since This function is available since SDL 2.0.0.
|
* \since This function is available since SDL 2.0.0.
|
||||||
*
|
*
|
||||||
|
* \sa SDL_DestroyWindowSurface
|
||||||
|
* \sa SDL_HasWindowSurface
|
||||||
* \sa SDL_UpdateWindowSurface
|
* \sa SDL_UpdateWindowSurface
|
||||||
* \sa SDL_UpdateWindowSurfaceRects
|
* \sa SDL_UpdateWindowSurfaceRects
|
||||||
*/
|
*/
|
||||||
@@ -1307,7 +1342,7 @@ extern DECLSPEC int SDLCALL SDL_UpdateWindowSurface(SDL_Window * window);
|
|||||||
*
|
*
|
||||||
* \param window the window to update
|
* \param window the window to update
|
||||||
* \param rects an array of SDL_Rect structures representing areas of the
|
* \param rects an array of SDL_Rect structures representing areas of the
|
||||||
* surface to copy
|
* surface to copy, in pixels
|
||||||
* \param numrects the number of rectangles
|
* \param numrects the number of rectangles
|
||||||
* \returns 0 on success or a negative error code on failure; call
|
* \returns 0 on success or a negative error code on failure; call
|
||||||
* SDL_GetError() for more information.
|
* SDL_GetError() for more information.
|
||||||
@@ -1321,6 +1356,20 @@ extern DECLSPEC int SDLCALL SDL_UpdateWindowSurfaceRects(SDL_Window * window,
|
|||||||
const SDL_Rect * rects,
|
const SDL_Rect * rects,
|
||||||
int numrects);
|
int numrects);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Destroy the surface associated with the window.
|
||||||
|
*
|
||||||
|
* \param window the window to update
|
||||||
|
* \returns 0 on success or a negative error code on failure; call
|
||||||
|
* SDL_GetError() for more information.
|
||||||
|
*
|
||||||
|
* \since This function is available since SDL 2.28.0.
|
||||||
|
*
|
||||||
|
* \sa SDL_GetWindowSurface
|
||||||
|
* \sa SDL_HasWindowSurface
|
||||||
|
*/
|
||||||
|
extern DECLSPEC int SDLCALL SDL_DestroyWindowSurface(SDL_Window *window);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set a window's input grab mode.
|
* Set a window's input grab mode.
|
||||||
*
|
*
|
||||||
@@ -1790,6 +1839,9 @@ extern DECLSPEC void SDLCALL SDL_EnableScreenSaver(void);
|
|||||||
* If you disable the screensaver, it is automatically re-enabled when SDL
|
* If you disable the screensaver, it is automatically re-enabled when SDL
|
||||||
* quits.
|
* quits.
|
||||||
*
|
*
|
||||||
|
* The screensaver is disabled by default since SDL 2.0.2. Before SDL 2.0.2
|
||||||
|
* the screensaver was enabled by default.
|
||||||
|
*
|
||||||
* \since This function is available since SDL 2.0.0.
|
* \since This function is available since SDL 2.0.0.
|
||||||
*
|
*
|
||||||
* \sa SDL_EnableScreenSaver
|
* \sa SDL_EnableScreenSaver
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -28,10 +28,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* This shouldn't be nested -- included it around code only. */
|
/* This shouldn't be nested -- included it around code only. */
|
||||||
#ifdef _begin_code_h
|
#ifdef SDL_begin_code_h
|
||||||
#error Nested inclusion of begin_code.h
|
#error Nested inclusion of begin_code.h
|
||||||
#endif
|
#endif
|
||||||
#define _begin_code_h
|
#define SDL_begin_code_h
|
||||||
|
|
||||||
#ifndef SDL_DEPRECATED
|
#ifndef SDL_DEPRECATED
|
||||||
# if defined(__GNUC__) && (__GNUC__ >= 4) /* technically, this arrived in gcc 3.1, but oh well. */
|
# if defined(__GNUC__) && (__GNUC__ >= 4) /* technically, this arrived in gcc 3.1, but oh well. */
|
||||||
@@ -171,17 +171,17 @@
|
|||||||
#define SDL_FALLTHROUGH [[fallthrough]]
|
#define SDL_FALLTHROUGH [[fallthrough]]
|
||||||
#else
|
#else
|
||||||
#if defined(__has_attribute)
|
#if defined(__has_attribute)
|
||||||
#define _HAS_FALLTHROUGH __has_attribute(__fallthrough__)
|
#define SDL_HAS_FALLTHROUGH __has_attribute(__fallthrough__)
|
||||||
#else
|
#else
|
||||||
#define _HAS_FALLTHROUGH 0
|
#define SDL_HAS_FALLTHROUGH 0
|
||||||
#endif /* __has_attribute */
|
#endif /* __has_attribute */
|
||||||
#if _HAS_FALLTHROUGH && \
|
#if SDL_HAS_FALLTHROUGH && \
|
||||||
((defined(__GNUC__) && __GNUC__ >= 7) || \
|
((defined(__GNUC__) && __GNUC__ >= 7) || \
|
||||||
(defined(__clang_major__) && __clang_major__ >= 10))
|
(defined(__clang_major__) && __clang_major__ >= 10))
|
||||||
#define SDL_FALLTHROUGH __attribute__((__fallthrough__))
|
#define SDL_FALLTHROUGH __attribute__((__fallthrough__))
|
||||||
#else
|
#else
|
||||||
#define SDL_FALLTHROUGH do {} while (0) /* fallthrough */
|
#define SDL_FALLTHROUGH do {} while (0) /* fallthrough */
|
||||||
#endif /* _HAS_FALLTHROUGH */
|
#endif /* SDL_HAS_FALLTHROUGH */
|
||||||
#undef _HAS_FALLTHROUGH
|
#undef SDL_HAS_FALLTHROUGH
|
||||||
#endif /* C++17 or C2x */
|
#endif /* C++17 or C2x */
|
||||||
#endif /* SDL_FALLTHROUGH not defined */
|
#endif /* SDL_FALLTHROUGH not defined */
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
@@ -26,10 +26,10 @@
|
|||||||
* after you finish any function and structure declarations in your headers
|
* after you finish any function and structure declarations in your headers
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _begin_code_h
|
#ifndef SDL_begin_code_h
|
||||||
#error close_code.h included without matching begin_code.h
|
#error close_code.h included without matching begin_code.h
|
||||||
#endif
|
#endif
|
||||||
#undef _begin_code_h
|
#undef SDL_begin_code_h
|
||||||
|
|
||||||
/* Reset structure packing at previous byte alignment */
|
/* Reset structure packing at previous byte alignment */
|
||||||
#if defined(_MSC_VER) || defined(__MWERKS__) || defined(__BORLANDC__)
|
#if defined(_MSC_VER) || defined(__MWERKS__) || defined(__BORLANDC__)
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ string(REGEX REPLACE "SDL2\\.framework.*" "" SDL2_FRAMEWORK_PARENT_PATH "${CMAKE
|
|||||||
set_and_check(SDL2_PREFIX "${SDL2_FRAMEWORK_PATH}")
|
set_and_check(SDL2_PREFIX "${SDL2_FRAMEWORK_PATH}")
|
||||||
set_and_check(SDL2_EXEC_PREFIX "${SDL2_FRAMEWORK_PATH}")
|
set_and_check(SDL2_EXEC_PREFIX "${SDL2_FRAMEWORK_PATH}")
|
||||||
set_and_check(SDL2_INCLUDE_DIR "${SDL2_FRAMEWORK_PATH}/Headers")
|
set_and_check(SDL2_INCLUDE_DIR "${SDL2_FRAMEWORK_PATH}/Headers")
|
||||||
set(SDL2_INCLUDE_DIRS "${SDL2_INCLUDE_DIR}")
|
set(SDL2_INCLUDE_DIRS "${SDL2_INCLUDE_DIR};${SDL2_FRAMEWORK_PATH}")
|
||||||
set_and_check(SDL2_BINDIR "${SDL2_FRAMEWORK_PATH}")
|
set_and_check(SDL2_BINDIR "${SDL2_FRAMEWORK_PATH}")
|
||||||
set_and_check(SDL2_LIBDIR "${SDL2_FRAMEWORK_PATH}")
|
set_and_check(SDL2_LIBDIR "${SDL2_FRAMEWORK_PATH}")
|
||||||
|
|
||||||
@@ -53,10 +53,12 @@ if(NOT TARGET SDL2::SDL2)
|
|||||||
set_target_properties(SDL2::SDL2
|
set_target_properties(SDL2::SDL2
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
INTERFACE_COMPILE_OPTIONS "SHELL:-F \"${SDL2_FRAMEWORK_PARENT_PATH}\""
|
INTERFACE_COMPILE_OPTIONS "SHELL:-F \"${SDL2_FRAMEWORK_PARENT_PATH}\""
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIR}"
|
INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIRS}"
|
||||||
INTERFACE_LINK_OPTIONS "SHELL:-F \"${SDL2_FRAMEWORK_PARENT_PATH}\";SHELL:-framework SDL2"
|
INTERFACE_LINK_OPTIONS "SHELL:-F \"${SDL2_FRAMEWORK_PARENT_PATH}\";SHELL:-framework SDL2"
|
||||||
COMPATIBLE_INTERFACE_BOOL "SDL2_SHARED"
|
COMPATIBLE_INTERFACE_BOOL "SDL2_SHARED"
|
||||||
INTERFACE_SDL2_SHARED "ON"
|
INTERFACE_SDL2_SHARED "ON"
|
||||||
|
COMPATIBLE_INTERFACE_STRING "SDL_VERSION"
|
||||||
|
INTERFACE_SDL_VERSION "SDL2"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
set(SDL2_SDL2_FOUND TRUE)
|
set(SDL2_SDL2_FOUND TRUE)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>BuildMachineOSBuild</key>
|
<key>BuildMachineOSBuild</key>
|
||||||
<string>21G83</string>
|
<string>22F82</string>
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>English</string>
|
<string>English</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>FMWK</string>
|
<string>FMWK</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>2.24.2</string>
|
<string>2.28.3</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>SDLX</string>
|
<string>SDLX</string>
|
||||||
<key>CFBundleSupportedPlatforms</key>
|
<key>CFBundleSupportedPlatforms</key>
|
||||||
@@ -27,24 +27,24 @@
|
|||||||
<string>MacOSX</string>
|
<string>MacOSX</string>
|
||||||
</array>
|
</array>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>2.24.2</string>
|
<string>2.28.3</string>
|
||||||
<key>DTCompiler</key>
|
<key>DTCompiler</key>
|
||||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||||
<key>DTPlatformBuild</key>
|
<key>DTPlatformBuild</key>
|
||||||
<string>14A400</string>
|
<string></string>
|
||||||
<key>DTPlatformName</key>
|
<key>DTPlatformName</key>
|
||||||
<string>macosx</string>
|
<string>macosx</string>
|
||||||
<key>DTPlatformVersion</key>
|
<key>DTPlatformVersion</key>
|
||||||
<string>12.3</string>
|
<string>13.3</string>
|
||||||
<key>DTSDKBuild</key>
|
<key>DTSDKBuild</key>
|
||||||
<string>21E226</string>
|
<string>22E245</string>
|
||||||
<key>DTSDKName</key>
|
<key>DTSDKName</key>
|
||||||
<string>macosx12.3</string>
|
<string>macosx13.3</string>
|
||||||
<key>DTXcode</key>
|
<key>DTXcode</key>
|
||||||
<string>1401</string>
|
<string>1431</string>
|
||||||
<key>DTXcodeBuild</key>
|
<key>DTXcodeBuild</key>
|
||||||
<string>14A400</string>
|
<string>14E300c</string>
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>LSMinimumSystemVersion</key>
|
||||||
<string>10.9</string>
|
<string>10.11</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
Simple DirectMedia Layer
|
Simple DirectMedia Layer
|
||||||
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
This software is provided 'as-is', without any express or implied
|
||||||
warranty. In no event will the authors be held liable for any damages
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -10,15 +10,15 @@
|
|||||||
</data>
|
</data>
|
||||||
<key>Resources/CMake/sdl2-config.cmake</key>
|
<key>Resources/CMake/sdl2-config.cmake</key>
|
||||||
<data>
|
<data>
|
||||||
XSGoflduFZf82qGl/+WskdKOBw0=
|
s2hXhDxzy/ilC+gLamGy/Kq13jo=
|
||||||
</data>
|
</data>
|
||||||
<key>Resources/Info.plist</key>
|
<key>Resources/Info.plist</key>
|
||||||
<data>
|
<data>
|
||||||
WI02IQDXCxx7srPlDXWkzuIFOWI=
|
O0+yH6th+YqPy5qBlROGAOJkywk=
|
||||||
</data>
|
</data>
|
||||||
<key>Resources/License.txt</key>
|
<key>Resources/License.txt</key>
|
||||||
<data>
|
<data>
|
||||||
VoVWJNSXNFkj10nxdQKhgCnXJjE=
|
fCUUBjJ4JuUAC8MRSCszNcY21v8=
|
||||||
</data>
|
</data>
|
||||||
<key>Resources/ReadMe.txt</key>
|
<key>Resources/ReadMe.txt</key>
|
||||||
<data>
|
<data>
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<key>Resources/default.metallib</key>
|
<key>Resources/default.metallib</key>
|
||||||
<data>
|
<data>
|
||||||
4l5HIH0YrJO09WMMo9BAQG+BSjY=
|
07w7GQmm31+NEK8ne4mSo7m70Do=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>files2</key>
|
<key>files2</key>
|
||||||
@@ -35,693 +35,693 @@
|
|||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
AglD0HQ7wpywki02o+5BHIzEnL0=
|
hzPz83uejvKAqzL0Xoi6aO8h8jw=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
rEJ7JEx5CQypooSpXSwzBg0rnDQ0Y7Ctkcgr6WARMso=
|
9u/or17IhYmY6rFVU14yva0lEIgG9DmS4LbiwXBLBL8=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_assert.h</key>
|
<key>Headers/SDL_assert.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
B9H6Q9JU0i9oid03T1/Ca86gZUU=
|
S50t60okfb3/ykWKavFC3tnkGgE=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
uqj30tfXL8YY+MVK9XMh/XKClSKrCsikaNhPIt2HSYM=
|
uPZQOi25pO/BZWjREOhxmXsoreSNJyZrNOnVJ/TyYzs=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_atomic.h</key>
|
<key>Headers/SDL_atomic.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
S7vGRTzBHVXKyXwYhhvUpfME4bs=
|
yrv6uC/CjYpeCteZDUbBFr2nwiU=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
yyqMgvtuNLSklwq2qM62TTuiLks55E6BNKOB08e6EzQ=
|
Mrfc980NeBAvQ5I040V8xusL6cHBcFfPaA9B2prA4dw=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_audio.h</key>
|
<key>Headers/SDL_audio.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
y0WyGUpd2J2rVMxjUi3zQZoj9ok=
|
ATRDpv42XjNUWqjKPDAPYqIqvDY=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
UYQL32SIkpxyWOGt7YsCsrwbchOvuBsgcFhTnyFcC/I=
|
MThYj7HEVNC7MdUTbzgyHDqlDMDS9g664b6M5d7tsdY=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_bits.h</key>
|
<key>Headers/SDL_bits.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
6MCXzkSXZ4Ba7/9ksdUPcPxqpLc=
|
Y7zU8XCX6cvmN/FK9COruPP8VGs=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
moRKyE7GpCyBzoyt2Eib7jqJ/ZMO1vTCWSjtHxP3Few=
|
5bLOm9HAk5AScYemc5V1usN7NqP685ZYN5MOBjzC2IE=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_blendmode.h</key>
|
<key>Headers/SDL_blendmode.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
R0DC+lE1tBOALESAuGbbBcDXF24=
|
ThQw2vcWPo/mLtvKmhQrjhSQhLk=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
RenGdg0rma2j6y9cRvHsTayslInVYfxWvAS3fGUv+Aw=
|
o3UtzbWJqnTeh6+r+oLVdOzcJZ1b3XhfPINDjKHftu4=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_clipboard.h</key>
|
<key>Headers/SDL_clipboard.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
b+5HV8QB/rNcY8Xz71ajJZhr9FY=
|
pFjnEWnFn2vCXZrSDQ6m8N6h0MM=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
XVgTrx+C/8H9Hrh/SRD4u4/rsx5MeBiKb2Orzx6fKVI=
|
t9Fr9UxC9zwgfkCY5P5DW9k3TndMFRn+tU/heffUOQk=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_config.h</key>
|
<key>Headers/SDL_config.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
6XTkjBo2D+0gCdBLcSva+glQ00M=
|
B13VD2wcb7zADcKXB+B/kBYhpHw=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
VIvoehwuIKTef6WBop2Nd0NS05vrTj3rIQMzU50wCuo=
|
LmXzL1O6PasyaBOUhPezJnqtqwCV9rqOyiJNEvGKgHo=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_config_macosx.h</key>
|
<key>Headers/SDL_config_macosx.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
OzmTF1uiICIhlC7h32zwOn5PqWE=
|
/CrGe7lmePlmR7DD9sqN4LHqM/0=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
d/5n13ACXAeYbzU8JL6aHOfY8s5OHyT6+E1jI9bGK64=
|
EpnSzka/wAuxi4wcgIktwQnuYWsMAATYMt6yDmo4zOg=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_copying.h</key>
|
<key>Headers/SDL_copying.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
topzn4TKpy+ywX5uHtzXPOb/EWk=
|
OzEuv+IaGVfj3A2BEoXc87vV+Wk=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
nXmV15qsx3hLFUWnzkeUClLg3jiNhHqPhtRo9asqkPI=
|
5zsYMLhj8aKXm4gWJoGHC55ipiUi1OIxXdOtUIHQQw4=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_cpuinfo.h</key>
|
<key>Headers/SDL_cpuinfo.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
OxKz9tarv+BN6HZcd11A9kgKjC4=
|
4/UkY/aNgAY5RsZ61XSnwtCXW9I=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
LJ2E3SmiAFu5mqI6xxqZ14u5zBWps8OXrbDY4LEQiq0=
|
pWPZkQcmPyAzgZNKcmiYutw8VFjBcHOinO+VVKIBeN0=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_endian.h</key>
|
<key>Headers/SDL_endian.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
3SKom++C+iyjKSaAzELahcbZb9w=
|
j6/tuHiJfdv8YaI9k3fogDw4bNc=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
itvFDymfM/B7KSiRLqeXPtmP1Pae7Hr6PKV536yb19k=
|
P5KOVzR2wBlhdSw7biIJ3O78dnYnoGdi4pHxvyFcLdY=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_error.h</key>
|
<key>Headers/SDL_error.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
49T3z69eEOBmcFSD+a3fLxkRZOI=
|
6cwM6B1MfW2wTFB+g6c1GO9UH7g=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
opYHpNi3KkdFqGsd3UAYaRbjKh6kPnu16gD/ZZQ/jt8=
|
ULQrtxP4RfbnV5GGj3i+PrYSI/rzDYskl0XQtCd72SU=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_events.h</key>
|
<key>Headers/SDL_events.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
BdXEyKTMfk5GqMJXjX9BS8BnKtE=
|
feHsZTKREoq2xXa4dv/4lzZqzUc=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
DV1SmLmr37ujp5UDAeTugWPgIQjvC1OoEIbgPxnbkxo=
|
FVz2yvXnjsUNWBsWQOcBqaZrXCCdohSRWDh1l3SKqRY=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_filesystem.h</key>
|
<key>Headers/SDL_filesystem.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
PoeYaqU+WGFkNISl6SWsnlL8rwQ=
|
sicIJ2kroxv3QVkoKklHGN3tbWo=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
zVudQ4vBqMuXpQQnzZFPN98wlxfFh3JbsuqtpL5a2h8=
|
k3ybgbDF/Ap8kf4vKxLVZnRXoXtZwpFb4Nsk8GWqDCY=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_gamecontroller.h</key>
|
<key>Headers/SDL_gamecontroller.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
sVD98kanhzhCejv4HtOc2nLqEok=
|
DGpJeIYXN/t/Yyqilband2kKOSk=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
9vFNNLtx9sV+5MgN8s2yADYmorHfIpP4da9R00YkpGk=
|
hgAaf8SQwVfc94yXKjNFA3VpsTCYwL65W5X6lXEnsgI=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_gesture.h</key>
|
<key>Headers/SDL_gesture.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
eOm09gklTuHk4CAnY8+N+AOWU1w=
|
iBwReSkmy4b/H3FD3mZZtLNdCMk=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
3Jzx8qKPiLBEeimWYGEMjqACvDfAm8j8qVyKZPyot6o=
|
H7K4JyorBvI9vlJegmEZ6NvapE7/l/2bhOGeQ9zudiE=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_guid.h</key>
|
<key>Headers/SDL_guid.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
crNLOtYvZUPZiAe8ZhVvIlKHL1k=
|
jTpr9nvDtYvix2njIOclQs9xYuk=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
8faGizimrTUdyyQeGyHX3YXB92lt5jgs6kJpGEpBoKY=
|
ifUKQBbQRJdNqsJBO7Mor3KqQyqDulvyNC82/RWPXhs=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_haptic.h</key>
|
<key>Headers/SDL_haptic.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
2P/RhAx7yVVau0ImN4IRu0PKJwM=
|
+Wt7zxeuXghMudXSohdJr12ueGM=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
Irx+pJE/K0azzSlTpm9Rst1n2EmNLTpbLY3kmpEinJ0=
|
VhCeKNAvsH+lrvZW9g65G84lg0FofrbORvS0TqPWaRQ=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_hidapi.h</key>
|
<key>Headers/SDL_hidapi.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
gerk57ttnkfcx6wYtwW4C8Utt60=
|
CBwPZQMZ5wsa03aBND8rQvsLfUg=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
KYySNLgkVh6cIAiPYvDk/Yk2SvQafFytdHZOKvxzZOw=
|
CJEdgW9T0b2VRNRFaEZqPeCTg3FjsEFOHZvwuJbVHX0=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_hints.h</key>
|
<key>Headers/SDL_hints.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
xYbJKIk1b/dU070K46elN3+mRgE=
|
SWTHcoPzInj/HwBHNEFfQGmL6Dw=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
CGPQWyZQWAIltmta5ogO3yTbp8bsLA65wBotBwl+0ME=
|
BQwW6YWVYXbaOLc9Id+ZjuKHs2VIfcSjM/Oo9JBI6Yk=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_joystick.h</key>
|
<key>Headers/SDL_joystick.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
bvqXmRQEmT+7pu66OUIAgcF/qdU=
|
Y/dkiMb7+9Wmo8oyyOuh4igQK4o=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
XAw62auzvMWnTxik4mFxfz1k1dRT0k0JslXzaN2mYZs=
|
d3rYIj9RV45IuiYZAbOQyNe3iR4DORkkqwYiSA81c6k=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_keyboard.h</key>
|
<key>Headers/SDL_keyboard.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
daaK2d9/FS98QIeRbwHDjK6MbM4=
|
4jiEP+XRfvz8VFmNWlHkcsMS2nI=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
BOPhdmyBg4iHctggySFsXHD+2dk0qPQ1glPpc56gEoI=
|
EPdkxf3E/uXb/dm3gpxepX+d5JNWswuHP+PG/c33p84=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_keycode.h</key>
|
<key>Headers/SDL_keycode.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
L6VgO8ptH7uIWMYxqiYDitWP2+0=
|
j4z7vftDr05ahrBr5bZnBxZ3Ufs=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
o+cvRpzlGHktvrWgdp69oT8gP310gr6qMuoz/bkvsJU=
|
abAEws/ibkdlWSE/bP/uq0oIjcebU59aul5g4Lu0pbA=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_loadso.h</key>
|
<key>Headers/SDL_loadso.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
BnfRn8au8VfS8nOYd+Og6CqxQtQ=
|
1fe02ZD9+yDX75ZVM1rk7RqDLCc=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
ViHwtMagclIe0iTK9fUbYuesvQ1nv8rC+9675X5dk3Y=
|
eOcuzAcWhFDvl3bV+3m54GtOrTQztPLIiFHK6NOQuZM=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_locale.h</key>
|
<key>Headers/SDL_locale.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
B7JrCP37jV9Gs+1YoxkyXgaA3/0=
|
UOhBMG0JOnoQAEGMY7S6as755IY=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
NfBH1vQU0RfPYtW0AzShJFmv8MulTUzc/kAQZ9C6ygw=
|
yM4RN7sKzLhnVlwbW1pJX3S6YLZl2LM/0qsLyQf5GXM=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_log.h</key>
|
<key>Headers/SDL_log.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
aaLQi9U7ijhEeR6nQB97Eb5kLcY=
|
Ij4wEHg0aIMC28dTUSur/CAxQss=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
HiRdEa7+l/wQ6D1HrCHHIIWuTmbSu/TDzwJZPE4T414=
|
A1Xc1+qvTtDHCz8f4e6oWq8SlifqizcVZ1Q37GJkhG0=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_main.h</key>
|
<key>Headers/SDL_main.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
Qi/WIvr8HU0GJprv7Fs6yfpNR5A=
|
j0/bBvlkrYcnXeoB6sWoCQiIlV0=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
VrF7Og9RQm8oM1rSzdhI/s1IjZsL8N0lNbo1yNKaEfo=
|
QOjL/8v8HMC/N+1jocNxIGBB5pifTDWxbwOvD7wJtRg=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_messagebox.h</key>
|
<key>Headers/SDL_messagebox.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
Jyd+Z0oJkOyu7GqxrGoj92kX33E=
|
TZHRdWCuyxbRdc1GZjnTjHdKV5A=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
b/2BVaUV14/zSF4P4vqsBKHdmHO39bcQh+Iw5cIjiUs=
|
Y+cutYk+JQOcbC9kbCdqbLr4oIBCxcX8HIzKJW+MOTE=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_metal.h</key>
|
<key>Headers/SDL_metal.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
lgw/jPhvwM+nsqA0HITlLaESI1Y=
|
yggpDR8fWdb4ZAxZDLO7ztOMa84=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
8e2u8Lp9cp5tnfxLkwSsyerOA213Z/Con+WQe/U+QYI=
|
aVk9kP7LRPopLu52brj5b7qNwMeUyUOwDPVyXwOm4O0=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_misc.h</key>
|
<key>Headers/SDL_misc.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
GDQyA6cRKZi3FJ3qPXMgIG19Xic=
|
wkzkXLc/0JwEBj+pVGBGODS/N7g=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
ouIje4tauHjysbz3ObtyFzAB6lTCyhdwb4ndhQ3Z9n4=
|
qClRwcNymRF0gmpjyJ+EQ7fChV48OUN8NAAM2x8NsRM=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_mouse.h</key>
|
<key>Headers/SDL_mouse.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
nrOK2z4t0YZ5ivxuTWB+9cXUf68=
|
AL6jjX5llLXh3nscuX0MJQQJ7C0=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
a1uWINzkYwydY2X/EhrWYcmHb2VG1Jy3C5nU6xOJAnk=
|
8R3uVCCs2wF9vtwJEqAi+xjYtAtJ1F6UIqCPUhiBwxU=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_mutex.h</key>
|
<key>Headers/SDL_mutex.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
aG58/w/wU0G8N8tgCdD8ecbbbe4=
|
c4s6haEURwhr1L/ZsIoQHgDC1Rw=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
XUDMtaFm4qzh0iFhMP4Gnl9H7BDRtZnfFZx6UVvw6uQ=
|
L1kG6r9N1C+njGEvU0sAJeAVFwr6gkCCwGcBxsjDuNU=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_name.h</key>
|
<key>Headers/SDL_name.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
gOOcQtMKUerG67yCwPV+v0SxzCw=
|
86Aic9zf8RE0YQGymeyFxdGck34=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
1axhwEeJjGS3A6JMrU9788wocEZRLyZNcaB/B6XRAMs=
|
U6Hh9de6D0JfccwHBmoAy/zaFw30VuNT1ofo30X7cCw=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_opengl.h</key>
|
<key>Headers/SDL_opengl.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
7MOKOotpNv44gQkv/pUbTkn8IoE=
|
a83WQIdV8u+rut4US8joNjpA6kA=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
zkUzBymyrkFMTK7R21v1NrPrq1gm+FRVcWQ+BUYXbjo=
|
HxWMmpZ2o+Z1atgt7Ou2sf5/4s2raLbApxzyqqzQcGY=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_opengl_glext.h</key>
|
<key>Headers/SDL_opengl_glext.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
R1nHUIy7DpXf2BZyzO+VT33j3bE=
|
eOvalGUielSzNuOWWDLYkwqpYrg=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
RwZcYEr740srGsvbe4jQhHYTTNwp+e05VGDjqyNkYr4=
|
GrsoiRybBmG2/zdJ3iZx2l/hK+tbyxgzsta99ciezfg=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_opengles.h</key>
|
<key>Headers/SDL_opengles.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
gNgYlz+/uLgvjec6r0AW7Be2DJI=
|
Vc//lrKlqY/bME9ocSWczplleP4=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
gpV8CPolshDeFDmSwWdoE1szEa7jY6uW06q61w+0g8k=
|
hJHBadVAgpV3dIMW++DPSJKqsNOCvkA8qNrMoFbXd5g=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_opengles2.h</key>
|
<key>Headers/SDL_opengles2.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
JAC+taTpU61KVFADpZvYguHPY/A=
|
gyrJUUv02Am+DYc5V42xH7EQev4=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
4VPaduWoVpL5jy0A9S+tAoRXm0of4K+lqTZ2HRlDNT8=
|
T7CsPQJXfeZ3+pVjGLqzKBfEjyHX2Ne0vV44iZMKDgs=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_opengles2_gl2.h</key>
|
<key>Headers/SDL_opengles2_gl2.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
g4y04zPFy1H/qujSNGRd0vB7ClQ=
|
GbD4M9ZIR9sxgLX4G8T/ojLVQJk=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
9GAwK0cg8YPrZHWVqMGpyVwKFz3Ay9VHiyz70jzWltA=
|
1uxEsdc/OvzjogrGl223+z2sZWxRkPC1Y+TOkNeaFao=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_opengles2_gl2ext.h</key>
|
<key>Headers/SDL_opengles2_gl2ext.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
bTlnL+42kbi+n/gH//X2p0pqeuM=
|
frTvd+EfShO/uonAvnnsnPkqc80=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
5404JOHXH4pGO60gR/uLhz9zW6fKy9jvdMw5i1WTcpo=
|
T8WwA03N6cElki4+cNAUiaazNQdoVu5mApThpjBaNxk=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_opengles2_gl2platform.h</key>
|
<key>Headers/SDL_opengles2_gl2platform.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
ByFMXJFtjcRglS/e0+DujyjC3dM=
|
JO1DB28zz7TCz/P5YCSvV1PaqWg=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
wlKRTsmTMrnniYqSvQklJfb9VF07J0MDpqzYOcfiDDY=
|
R3m+mZrNGQRFgjjwnIaYO3lgrEDmEuBdstuX22FfHg8=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_opengles2_khrplatform.h</key>
|
<key>Headers/SDL_opengles2_khrplatform.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
NLpJq9uBqjOpWhXISOQHPnTp/XQ=
|
mBjqEs+5bGC9u1ED2M93VNzONPQ=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
djHeDyzmR0e/2JNIbqpBqgi56MXlxlAbgcBFxuvwSyo=
|
ex4Bqqetj2/DS1x733nr9RibsJ4sTS55/F01BiPRHoM=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_pixels.h</key>
|
<key>Headers/SDL_pixels.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
APvnWU71OTgg8nF2ZBdVu+N0OGo=
|
4PRTgauh2fx03ubJfuuHNOPhN28=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
6VtEW9W48E5QT0eLhrzHm6TM2ZuskMlgjcaAwsilSlY=
|
GZQPt4sz55DRDRzw6E2c1WMjhNqInkQA3gxLQiTPQlw=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_platform.h</key>
|
<key>Headers/SDL_platform.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
i6mueiGp/xhX/L+32oRz5Lq1h5I=
|
Ey0u3gHjhY9CsV6rnGPL6l/Lqx4=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
+bUBkFH5eTYbCwRAQKwdm9F9wyVoV+fCFCnjgc6LXyI=
|
n9zH0IFb2hWb/ZQ3TBMQxLzDre/VQcI6Obhdmq8O7QU=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_power.h</key>
|
<key>Headers/SDL_power.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
CZt1YqOCoPff+ZX5nsgeLs2abiM=
|
SmO5g1nUZ1IAgDQGIlzbR8F5udg=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
WuENeZEjbiPGXwmzKPi9End4ZRDqxD7gCGDnrgDjgJc=
|
Lmp/XdN6xQbqR/eAmoKFcpqk+MM65gGxjv1cLYUqG8c=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_quit.h</key>
|
<key>Headers/SDL_quit.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
tPbozXmJ7atsNAXI2sOnYySxxE0=
|
xxqxk2GqAVUt7s8YiRcGMegy160=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
2OKt3rHgSNG9eTiP7SP0r7oy3zP+xN2i4s6r9i2FLOg=
|
cd4fDfe+MqMZ35xoFn5VPkGBafcN9tPvL9J74IeKtXI=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_rect.h</key>
|
<key>Headers/SDL_rect.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
iHOu4GrnG9wq51NGY+KM2d+2M0g=
|
AtB+xgoXRW94PDzzbBVBYyAW0gI=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
Tntu1hV6+rDYjtkylyY+L1sksaom8tHOa/2CWh+sgtg=
|
rFxcleBxja/rwskrEIytxw3evL+Drkx3YsihtllIw78=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_render.h</key>
|
<key>Headers/SDL_render.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
99vR7BI+q1DOT92PKbDwd0aJC9U=
|
5yyytzTD1eS/K13NSzW6faLAUlA=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
/sE6eLwCW6hgGvZVO5t6tqwveFueUOM1AhBYEVvLAhk=
|
+ljWDPQHFdheD/Z6QxHzbpNQVg/XVlqx5+B3ovMbIF0=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_revision.h</key>
|
<key>Headers/SDL_revision.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
/pi405aC2raNPbxIENW8uenPSd8=
|
ACsjWsXuUQwHVlG5aPLRf54/dIQ=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
6F1hyeq+AjOwP9z5NDOiYGsYGRRtb/0JDIaseF4V/Ns=
|
FdzvRtvvNjmf4LikKB9CV7MkieGdfgsJbfoN4kxwtqs=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_rwops.h</key>
|
<key>Headers/SDL_rwops.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
L/Twsg6Wmiwo1H5Qs8STE8WIR24=
|
sCmzKOj8q3vee6JV6acptKOzBoQ=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
km34IYEvTAj4qaziyAtJzgUinazvYYMTaAF2iFAKo9w=
|
j6rnTfnMJaCsq2CviHQP8obbVNgrElC0OXJBt3ltyVg=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_scancode.h</key>
|
<key>Headers/SDL_scancode.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
VwbcuI+yrOTXtol5lZyennpTAAQ=
|
JPnDQuCIC32+ugD3OX3igjdGfmE=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
yaEmKrGcD3svKPTqjQbhjFsq7d5AezJIARLOnsVnyFk=
|
vC/EC0A66ywzXwlp8iGE7nlOpWGZ18iHhEdS7BsM3VU=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_sensor.h</key>
|
<key>Headers/SDL_sensor.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
cAqB17JLRyFN5n8MAJrIkY1AqBw=
|
J+9woN1Qec074rah/rly1BHM5sY=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
uBC/ANStES2g4wtWn7Mk/4MJeHp+wr7wEfurKfzv3dc=
|
sEfbN4S8Lpxm0XDblgOvnVV0fsgx/zo/q0s5h9OvhmE=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_shape.h</key>
|
<key>Headers/SDL_shape.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
UWs6SO78LJYdrBlGs1tY10DrJUI=
|
Hv8O7XLnXLIVAOf6cjF56yyrRkg=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
CFJEICmokjpIcOYx1hTgGJ8fqLjaj+k9VuxREOUDJaA=
|
XFA3qPWL1vJ3EQtae2baJlOZ9ESEmhB1FMYI3fITLZY=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_stdinc.h</key>
|
<key>Headers/SDL_stdinc.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
KfSR5oVYjXJ+CHncpikkzBxA544=
|
iliyExriwpoxEAgG8CI8CG8go54=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
v7r0Q6ZmJ0lU5eBZ/VjAwinrzjLFzJfHeq2/3YmztH0=
|
I4aI+ExJq+16kZfDjF++Uaa2lHZjUWmuFc83IUDfuIk=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_surface.h</key>
|
<key>Headers/SDL_surface.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
bc5QzhwXbUo4XnD7q4NOSWOuTxs=
|
Toy3u0xKUfSMmknlIToaUmf5vwE=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
xouGGI808iRhAh/0XTNJv2QTIUi3LPrZW5oHvGDm/7E=
|
CDctL0QJDSDvlB+uXO69kLW2uA0Xdc0xiJBN8h3pX74=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_system.h</key>
|
<key>Headers/SDL_system.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
s6lznhqSlL+KFtBJSEELBCTTp1U=
|
I1i3X5zfVBg7YFzag2Dj43RzuUI=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
AlgtfPI6N0Jukp6N7fmTnNV3AzBzEBj5HZREFJSkMmY=
|
mt328KSVoSMSjZ4Wy268tC04JQmyCAsDM60TWeG3K4s=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_syswm.h</key>
|
<key>Headers/SDL_syswm.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
oxVccR9E/ARZqqPl+BjVMKNdDNw=
|
7sdDIYSuCZbE13gdwZ+rmiqUBEk=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
LRcM/Fhcqwv6Qf3YhgaLGkkEuFqXFTvl6pWfaQCNw9g=
|
6QWGeehhVCpiwN9fQv1by5vpdNg8JqxY1XgR48Fxpdc=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_thread.h</key>
|
<key>Headers/SDL_thread.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
5xZpdbtxabSCqxFchsbPpUHLNQ0=
|
rdWafQMEiS2pSqeEGdRXDjaU96Q=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
4fpEGwWz/MZXi0gbsOZzM4CclNzbsUUBso62NcHZs0o=
|
pVkN+av2tjneOX9IafFyXjDRaWe/ROSrLwUQRfCrYYA=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_timer.h</key>
|
<key>Headers/SDL_timer.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
Ltnz4OrvTc2eABw8uX/0L/nuca4=
|
Nstsm7GCSSnoH66923lImFIE0fY=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
W+hRt3f94ZHPIpQ4xN7D/U0OVtTTZBAA9Nphtq8fgeg=
|
6jmEztIQClT68gsMRHHP9tVPF5TxqLfBgmkTqOA00fs=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_touch.h</key>
|
<key>Headers/SDL_touch.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
rwC4gDU7l5kY0ZZEIhd7RT3axUU=
|
LWDPymUVgQxlg3DwBCJ8klXPq6U=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
DVFA8C77fiVhyFFtqV/lglia5PShpk967pt+huaItwo=
|
y/Kqn35XtKznNX9foqsPjC+jlnbRvBuF8A1MzKIjBmY=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_types.h</key>
|
<key>Headers/SDL_types.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
ARZgD/WKM8LbXYcplBCyws5jmmo=
|
8xeioL5fy1QauaS4i9g5UdMotoM=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
vvFj+McRdgHRX9HrooW/E7jX5C74rxEwVv18wMyvSC0=
|
Em64WSsB0scWcgjtDOAhVyy4XoRBRciw+YaG3vyn6hM=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_version.h</key>
|
<key>Headers/SDL_version.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
TvqfVbwSqTUKq2Z5nSi4bpqkpvY=
|
RxJkcIBwFx85nADiCWZgVRs8k7g=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
DvoyLmK5FsDSJk24cNqaa+XKCKfjI5xwKRP7Hc53HUk=
|
0lwD8QVtsPTM6vhZbDu05D8v6so3iTdjrj3mVjcfhWA=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_video.h</key>
|
<key>Headers/SDL_video.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
uJc4I4G8WWjQewCsj9laubKnfks=
|
oDSfm7hvyakVAn3MJ/vPYpDiTi8=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
argj1/xE3Y/fcUyhn1aF8GGrCxfWV9j8+KbXwMzZRD8=
|
4kgMp+1L702uCbe5U3mPNYx/zonCSDmAoqKxZGMWlC0=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/SDL_vulkan.h</key>
|
<key>Headers/SDL_vulkan.h</key>
|
||||||
@@ -739,22 +739,22 @@
|
|||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
u4PDdbvfemkyR1H1QsODd6pLFRA=
|
BXr58UQDjOvu3YEpLqbL6MzdnEw=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
mOMdpMYdVHyciBhBNbcuPQFKemkQLlxtdYNQI3z2snE=
|
lZjnBGKuQiSupwtm3kZTliIMMPlHVmUsVTRtQ7E0WMU=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Headers/close_code.h</key>
|
<key>Headers/close_code.h</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
l886gK0WewF9TLQ2N3wuuk5YOK8=
|
b9BWGnHVTllZJNggBlv8S0bczLA=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
9JEAM14hpDRV6tDnQvfIFtBJQXHOEJSONje5q/PKlTo=
|
/x8Gxc1GaIoziXOz/sebI7d0PytDiEWi8kWZfjkp0Ww=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Resources/CMake/sdl2-config-version.cmake</key>
|
<key>Resources/CMake/sdl2-config-version.cmake</key>
|
||||||
@@ -772,33 +772,33 @@
|
|||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
XSGoflduFZf82qGl/+WskdKOBw0=
|
s2hXhDxzy/ilC+gLamGy/Kq13jo=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
oO7paOWdt4AGUK6i7ifbCbWdp4I741YtJf3U2SIi9ro=
|
DuTUW8idzRp7WT1FT5x/m1C1SbVH0FKvKRKOgVlRVhU=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Resources/Info.plist</key>
|
<key>Resources/Info.plist</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
WI02IQDXCxx7srPlDXWkzuIFOWI=
|
O0+yH6th+YqPy5qBlROGAOJkywk=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
RJJpkVslJPaeuEtumKjXzzrTI41SuVlqOYADrS8YPSk=
|
sIWVXC/W1heu51j6IrNeI7fFPvxyVxJPCvMlZ8YpVFA=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Resources/License.txt</key>
|
<key>Resources/License.txt</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
VoVWJNSXNFkj10nxdQKhgCnXJjE=
|
fCUUBjJ4JuUAC8MRSCszNcY21v8=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
IY4SCBLx/QICUzUIfTw/MBGoah4TzstyMeoTfwWSuDM=
|
d+3CuMuNTuvjYs+HODz44b3nsOHwwJqlcyQOq7qhAPc=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Resources/ReadMe.txt</key>
|
<key>Resources/ReadMe.txt</key>
|
||||||
@@ -816,11 +816,11 @@
|
|||||||
<dict>
|
<dict>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<data>
|
<data>
|
||||||
4l5HIH0YrJO09WMMo9BAQG+BSjY=
|
07w7GQmm31+NEK8ne4mSo7m70Do=
|
||||||
</data>
|
</data>
|
||||||
<key>hash2</key>
|
<key>hash2</key>
|
||||||
<data>
|
<data>
|
||||||
mG4gq0ZWuiydHgb5Xh0OvlnGHDkCdvaqQKnD5G1m7xc=
|
vmrmeHQ4l7Q4flA5dILQw27M4T0Sc70MQIfP+lFY/do=
|
||||||
</data>
|
</data>
|
||||||
</dict>
|
</dict>
|
||||||
</dict>
|
</dict>
|
||||||
|
|||||||
Binary file not shown.
@@ -1,22 +0,0 @@
|
|||||||
## VISUAL OPTIONS
|
|
||||||
videoMode=0
|
|
||||||
windowSize=3
|
|
||||||
filter=FILTER_NEAREST
|
|
||||||
vSync=true
|
|
||||||
integerScale=true
|
|
||||||
keepAspect=true
|
|
||||||
borderEnabled=false
|
|
||||||
borderWidth=0
|
|
||||||
borderHeight=0
|
|
||||||
|
|
||||||
## OTHER OPTIONS
|
|
||||||
language=1
|
|
||||||
difficulty=1
|
|
||||||
input0=0
|
|
||||||
input1=1
|
|
||||||
|
|
||||||
## ONLINE OPTIONS
|
|
||||||
enabled=false
|
|
||||||
server=jaildoctor.duckdns.org
|
|
||||||
port=9911
|
|
||||||
jailerID=
|
|
||||||
BIN
release/icon.icns
Normal file
BIN
release/icon.icns
Normal file
Binary file not shown.
BIN
release/icon.png
Normal file
BIN
release/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 134 KiB |
@@ -430,7 +430,10 @@ void Balloon::move()
|
|||||||
|
|
||||||
// Aplica la gravedad al objeto sin pasarse de una velocidad máxima
|
// Aplica la gravedad al objeto sin pasarse de una velocidad máxima
|
||||||
velY += gravity;
|
velY += gravity;
|
||||||
std::min(velY, maxVelY);
|
|
||||||
|
// Al parecer esta asignación se quedó sin hacer y ahora el juego no funciona
|
||||||
|
// correctamente si se aplica, así que se deja sin efecto
|
||||||
|
// velY = std::min(velY, maxVelY);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Actualiza la posición del sprite
|
// Actualiza la posición del sprite
|
||||||
|
|||||||
@@ -126,11 +126,9 @@ namespace jscore {
|
|||||||
return score.size();
|
return score.size();
|
||||||
}
|
}
|
||||||
string getUserName(const int index) {
|
string getUserName(const int index) {
|
||||||
if (score.size()==0 || index >= (int)score.size()) return "";
|
|
||||||
return score[index].name;
|
return score[index].name;
|
||||||
}
|
}
|
||||||
const int getPoints(const int index) {
|
const int getPoints(const int index) {
|
||||||
if (score.size()==0 || index >= (int)score.size()) return 0;
|
|
||||||
return score[index].points;
|
return score[index].points;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ Menu::Menu(SDL_Renderer *renderer, Asset *asset, Input *input, std::string file)
|
|||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
name = "";
|
name = "";
|
||||||
selector.index = 0;
|
selector.index = 0;
|
||||||
|
selector.previousIndex = 0;
|
||||||
itemSelected = MENU_NO_OPTION;
|
itemSelected = MENU_NO_OPTION;
|
||||||
x = 0;
|
x = 0;
|
||||||
y = 0;
|
y = 0;
|
||||||
@@ -60,6 +61,9 @@ Menu::Menu(SDL_Renderer *renderer, Asset *asset, Input *input, std::string file)
|
|||||||
load(file);
|
load(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Calcula los colores del selector para el degradado
|
||||||
|
setSelectorItemColors();
|
||||||
|
|
||||||
// Deja el cursor en el primer elemento
|
// Deja el cursor en el primer elemento
|
||||||
reset();
|
reset();
|
||||||
}
|
}
|
||||||
@@ -108,7 +112,7 @@ bool Menu::load(std::string file_path)
|
|||||||
if (file.good())
|
if (file.good())
|
||||||
{
|
{
|
||||||
// Procesa el fichero linea a linea
|
// Procesa el fichero linea a linea
|
||||||
//std::cout << "Reading file " << filename.c_str() << std::endl;
|
// std::cout << "Reading file " << filename.c_str() << std::endl;
|
||||||
while (std::getline(file, line))
|
while (std::getline(file, line))
|
||||||
{
|
{
|
||||||
if (line == "[item]")
|
if (line == "[item]")
|
||||||
@@ -120,6 +124,7 @@ bool Menu::load(std::string file_path)
|
|||||||
item.greyed = false;
|
item.greyed = false;
|
||||||
item.linkedDown = false;
|
item.linkedDown = false;
|
||||||
item.visible = true;
|
item.visible = true;
|
||||||
|
item.line = false;
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
@@ -132,13 +137,13 @@ bool Menu::load(std::string file_path)
|
|||||||
// Procesa las dos subcadenas
|
// Procesa las dos subcadenas
|
||||||
if (!setItem(&item, line.substr(0, pos), line.substr(pos + 1, line.length())))
|
if (!setItem(&item, line.substr(0, pos), line.substr(pos + 1, line.length())))
|
||||||
{
|
{
|
||||||
//std::cout << "Warning: file " << filename.c_str() << "\n, unknown parameter \"" << line.substr(0, pos).c_str() << "\"" << std::endl;
|
// std::cout << "Warning: file " << filename.c_str() << "\n, unknown parameter \"" << line.substr(0, pos).c_str() << "\"" << std::endl;
|
||||||
success = false;
|
success = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
} while (line != "[/item]");
|
} while (line != "[/item]");
|
||||||
|
|
||||||
addItem(item.label, item.hPaddingDown, item.selectable, item.greyed, item.linkedDown, item.visible);
|
addItem(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
// En caso contrario se parsea el fichero para buscar las variables y los valores
|
// En caso contrario se parsea el fichero para buscar las variables y los valores
|
||||||
@@ -149,7 +154,7 @@ bool Menu::load(std::string file_path)
|
|||||||
// Procesa las dos subcadenas
|
// Procesa las dos subcadenas
|
||||||
if (!setVars(line.substr(0, pos), line.substr(pos + 1, line.length())))
|
if (!setVars(line.substr(0, pos), line.substr(pos + 1, line.length())))
|
||||||
{
|
{
|
||||||
//std::cout << "Warning: file " << filename.c_str() << "\n, unknown parameter \"" << line.substr(0, pos).c_str() << "\"" << std::endl;
|
// std::cout << "Warning: file " << filename.c_str() << "\n, unknown parameter \"" << line.substr(0, pos).c_str() << "\"" << std::endl;
|
||||||
success = false;
|
success = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -163,13 +168,13 @@ bool Menu::load(std::string file_path)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Cierra el fichero
|
// Cierra el fichero
|
||||||
//std::cout << "Closing file " << filename.c_str() << std::endl;
|
// std::cout << "Closing file " << filename.c_str() << std::endl;
|
||||||
file.close();
|
file.close();
|
||||||
}
|
}
|
||||||
// El fichero no se puede abrir
|
// El fichero no se puede abrir
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//std::cout << "Warning: Unable to open " << filename.c_str() << " file" << std::endl;
|
// std::cout << "Warning: Unable to open " << filename.c_str() << " file" << std::endl;
|
||||||
success = false;
|
success = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,6 +217,11 @@ bool Menu::setItem(item_t *item, std::string var, std::string value)
|
|||||||
item->visible = value == "true" ? true : false;
|
item->visible = value == "true" ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if (var == "line")
|
||||||
|
{
|
||||||
|
item->line = value == "true" ? true : false;
|
||||||
|
}
|
||||||
|
|
||||||
else if ((var == "") || (var == "[/item]"))
|
else if ((var == "") || (var == "[/item]"))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -422,10 +432,19 @@ void Menu::updateSelector()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
selector.rect.y = int(selector.y);
|
selector.rect.y = int(selector.y);
|
||||||
|
|
||||||
|
// Actualiza el color del item
|
||||||
|
selector.itemColorIndex++;
|
||||||
|
selector.itemColorIndex = std::min(selector.numJumps - 1, selector.itemColorIndex);
|
||||||
|
selector.itemColor = selector.jumpItemColors[selector.itemColorIndex];
|
||||||
|
selector.previousItemColor = selector.jumpItemColors[selector.numJumps - 1 - selector.itemColorIndex];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
selector.rect.y = int(selector.y);
|
selector.rect.y = int(selector.y);
|
||||||
|
selector.itemColorIndex = 0;
|
||||||
|
selector.itemColor = selector.jumpItemColors[selector.numJumps - 1];
|
||||||
|
selector.previousItemColor = selector.jumpItemColors[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selector.resizing)
|
if (selector.resizing)
|
||||||
@@ -530,6 +549,9 @@ void Menu::reorganize()
|
|||||||
// Deja el menu apuntando al siguiente elemento
|
// Deja el menu apuntando al siguiente elemento
|
||||||
bool Menu::increaseSelectorIndex()
|
bool Menu::increaseSelectorIndex()
|
||||||
{
|
{
|
||||||
|
// Guarda el indice actual antes de modificarlo
|
||||||
|
selector.previousIndex = selector.index;
|
||||||
|
|
||||||
// Obten las coordenadas del elemento actual
|
// Obten las coordenadas del elemento actual
|
||||||
selector.y = selector.originY = item[selector.index].rect.y;
|
selector.y = selector.originY = item[selector.index].rect.y;
|
||||||
selector.h = selector.originH = getSelectorHeight(selector.index);
|
selector.h = selector.originH = getSelectorHeight(selector.index);
|
||||||
@@ -560,6 +582,9 @@ bool Menu::increaseSelectorIndex()
|
|||||||
// Deja el menu apuntando al elemento anterior
|
// Deja el menu apuntando al elemento anterior
|
||||||
bool Menu::decreaseSelectorIndex()
|
bool Menu::decreaseSelectorIndex()
|
||||||
{
|
{
|
||||||
|
// Guarda el indice actual antes de modificarlo
|
||||||
|
selector.previousIndex = selector.index;
|
||||||
|
|
||||||
// Obten las coordenadas del elemento actual
|
// Obten las coordenadas del elemento actual
|
||||||
selector.y = selector.originY = item[selector.index].rect.y;
|
selector.y = selector.originY = item[selector.index].rect.y;
|
||||||
selector.h = selector.originH = getSelectorHeight(selector.index);
|
selector.h = selector.originH = getSelectorHeight(selector.index);
|
||||||
@@ -631,36 +656,56 @@ void Menu::render()
|
|||||||
SDL_RenderDrawRect(renderer, &rectBG.rect);
|
SDL_RenderDrawRect(renderer, &rectBG.rect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Crea una linea por si hay que dibujarla entre los items
|
||||||
|
h_line_t line;
|
||||||
|
line.x1 = selector.rect.x + (selector.rect.w / 6);
|
||||||
|
line.x2 = line.x1 + ((selector.rect.w / 6) * 4);
|
||||||
|
|
||||||
// Renderiza el texto
|
// Renderiza el texto
|
||||||
for (int i = 0; i < (int)item.size(); ++i)
|
for (int i = 0; i < (int)item.size(); ++i)
|
||||||
{
|
{
|
||||||
if (item[i].visible)
|
if (item[i].visible)
|
||||||
{
|
{
|
||||||
if (i == selector.index)
|
// Comprueba si ha de dibujar una linea en el elemento del menu
|
||||||
|
if (item[i].line)
|
||||||
{
|
{
|
||||||
|
line.y = item[i].rect.y + item[i].rect.h + (item[i].hPaddingDown / 2) - 1;
|
||||||
|
SDL_SetRenderDrawColor(renderer, 255, 255, 255, 64);
|
||||||
|
SDL_RenderDrawLine(renderer, line.x1, line.y, line.x2, line.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dibuja el elemento
|
||||||
|
if (item[i].greyed)
|
||||||
|
{ // Tiene prioridad si el elemento es gris
|
||||||
|
text->writeColored(item[i].rect.x, item[i].rect.y, item[i].label, colorGreyed);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (i == selector.index)
|
||||||
|
{ // A continuación si tiene el indice
|
||||||
const color_t color = {selector.itemColor.r, selector.itemColor.g, selector.itemColor.b};
|
const color_t color = {selector.itemColor.r, selector.itemColor.g, selector.itemColor.b};
|
||||||
text->writeColored(item[i].rect.x, item[i].rect.y, item[i].label, color);
|
text->writeColored(item[i].rect.x, item[i].rect.y, item[i].label, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if (i == selector.previousIndex)
|
||||||
|
{ // O si lo ha tenido
|
||||||
|
const color_t color = {selector.previousItemColor.r, selector.previousItemColor.g, selector.previousItemColor.b};
|
||||||
|
text->writeColored(item[i].rect.x, item[i].rect.y, item[i].label, color);
|
||||||
|
}
|
||||||
|
|
||||||
else if (item[i].selectable)
|
else if (item[i].selectable)
|
||||||
{
|
{ // O si simplemente es un elemento normal
|
||||||
text->write(item[i].rect.x, item[i].rect.y, item[i].label);
|
text->write(item[i].rect.x, item[i].rect.y, item[i].label);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (item[i].greyed)
|
|
||||||
{
|
|
||||||
text->writeColored(item[i].rect.x, item[i].rect.y, item[i].label, colorGreyed);
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
else
|
||||||
{ // No seleccionable
|
{ // Si no es seleccionable
|
||||||
if ((item[i].linkedUp) && (i == selector.index + 1))
|
if ((item[i].linkedUp) && (i == selector.index + 1))
|
||||||
{
|
{// Si el elemento está enlazado con el elemento superior se pinta del color del selector
|
||||||
const color_t color = {selector.itemColor.r, selector.itemColor.g, selector.itemColor.b};
|
const color_t color = {selector.itemColor.r, selector.itemColor.g, selector.itemColor.b};
|
||||||
text->writeColored(item[i].rect.x, item[i].rect.y, item[i].label, color);
|
text->writeColored(item[i].rect.x, item[i].rect.y, item[i].label, color);
|
||||||
}
|
}
|
||||||
else // No enlazado con el de arriba
|
else
|
||||||
{
|
{ // Si no está enlazado con el elemento superior se pinta con el color normal
|
||||||
text->write(item[i].rect.x, item[i].rect.y, item[i].label);
|
text->write(item[i].rect.x, item[i].rect.y, item[i].label);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -807,9 +852,9 @@ void Menu::centerMenuElementsOnX()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Añade un item al menu
|
// Añade un item al menu
|
||||||
void Menu::addItem(std::string text, int hPaddingDown, bool selectable, bool greyed, bool linkedDown, bool visible)
|
void Menu::addItem(item_t temp)
|
||||||
{
|
{
|
||||||
item_t temp;
|
// item_t temp;
|
||||||
|
|
||||||
if (item.empty())
|
if (item.empty())
|
||||||
{ // Si es el primer item coge la posición en el eje Y del propio menu
|
{ // Si es el primer item coge la posición en el eje Y del propio menu
|
||||||
@@ -821,15 +866,10 @@ void Menu::addItem(std::string text, int hPaddingDown, bool selectable, bool gre
|
|||||||
}
|
}
|
||||||
|
|
||||||
temp.rect.x = x;
|
temp.rect.x = x;
|
||||||
temp.hPaddingDown = hPaddingDown;
|
|
||||||
temp.selectable = selectable;
|
|
||||||
temp.greyed = greyed;
|
|
||||||
temp.linkedDown = linkedDown;
|
|
||||||
temp.visible = visible;
|
|
||||||
|
|
||||||
item.push_back(temp);
|
item.push_back(temp);
|
||||||
|
|
||||||
setItemCaption(item.size() - 1, text);
|
setItemCaption(item.size() - 1, temp.label);
|
||||||
|
|
||||||
if (item.size() > 1)
|
if (item.size() > 1)
|
||||||
{
|
{
|
||||||
@@ -843,12 +883,6 @@ void Menu::addItem(std::string text, int hPaddingDown, bool selectable, bool gre
|
|||||||
reorganize();
|
reorganize();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Elimina un item del menu
|
|
||||||
void Menu::removeItem(int index)
|
|
||||||
{
|
|
||||||
/* POR HACER */
|
|
||||||
}
|
|
||||||
|
|
||||||
// Cambia el texto de un item
|
// Cambia el texto de un item
|
||||||
void Menu::setItemCaption(int index, std::string text)
|
void Menu::setItemCaption(int index, std::string text)
|
||||||
{
|
{
|
||||||
@@ -1002,4 +1036,24 @@ void Menu::setText(std::string font_png, std::string font_txt)
|
|||||||
{
|
{
|
||||||
text = new Text(asset->get(font_png), asset->get(font_txt), renderer);
|
text = new Text(asset->get(font_png), asset->get(font_txt), renderer);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calcula los colores del selector para el degradado
|
||||||
|
void Menu::setSelectorItemColors()
|
||||||
|
{
|
||||||
|
const color_t colorFrom = {255, 255, 255};
|
||||||
|
const color_t colorTo = selector.itemColor;
|
||||||
|
|
||||||
|
for (int i = 0; i < selector.numJumps; ++i)
|
||||||
|
{
|
||||||
|
const float step = ((float)i / (selector.numJumps - 1));
|
||||||
|
const int r = colorFrom.r + ((colorTo.r - colorFrom.r) * step);
|
||||||
|
const int g = colorFrom.g + ((colorTo.g - colorFrom.g) * step);
|
||||||
|
const int b = colorFrom.b + ((colorTo.b - colorFrom.b) * step);
|
||||||
|
selector.jumpItemColors[i].r = r;
|
||||||
|
selector.jumpItemColors[i].g = g;
|
||||||
|
selector.jumpItemColors[i].b = b;
|
||||||
|
}
|
||||||
|
|
||||||
|
selector.itemColorIndex = 0;
|
||||||
}
|
}
|
||||||
@@ -47,26 +47,31 @@ private:
|
|||||||
bool linkedDown; // Indica si el elemento actual y el siguiente se tratan como uno solo. Afecta al selector
|
bool linkedDown; // Indica si el elemento actual y el siguiente se tratan como uno solo. Afecta al selector
|
||||||
bool linkedUp; // Indica si el elemento actual y el anterior se tratan como uno solo. Afecta al selector
|
bool linkedUp; // Indica si el elemento actual y el anterior se tratan como uno solo. Afecta al selector
|
||||||
bool visible; // Indica si el elemento es visible
|
bool visible; // Indica si el elemento es visible
|
||||||
|
bool line; // Indica si el elemento lleva una linea a continuación
|
||||||
};
|
};
|
||||||
|
|
||||||
struct selector_t
|
struct selector_t
|
||||||
{
|
{
|
||||||
float originY; // Coordenada de origen
|
float originY; // Coordenada de origen
|
||||||
float targetY; // Coordenada de destino
|
float targetY; // Coordenada de destino
|
||||||
float despY; // Cantidad de pixeles que se desplaza el selector en cada salto: (target - origin) / numJumps
|
float despY; // Cantidad de pixeles que se desplaza el selector en cada salto: (target - origin) / numJumps
|
||||||
bool moving; // Indica si el selector está avanzando hacia el destino
|
bool moving; // Indica si el selector está avanzando hacia el destino
|
||||||
float originH; // Altura de origen
|
float originH; // Altura de origen
|
||||||
float targetH; // Altura de destino
|
float targetH; // Altura de destino
|
||||||
float incH; // Cantidad de pixels que debe incrementar o decrementar el selector en cada salto
|
float incH; // Cantidad de pixels que debe incrementar o decrementar el selector en cada salto
|
||||||
bool resizing; // Indica si el selector está cambiando de tamaño
|
bool resizing; // Indica si el selector está cambiando de tamaño
|
||||||
float y; // Coordenada actual, usado para el desplazamiento
|
float y; // Coordenada actual, usado para el desplazamiento
|
||||||
float h; // Altura actual, usado para el cambio de tamaño
|
float h; // Altura actual, usado para el cambio de tamaño
|
||||||
int numJumps; // Numero de pasos preestablecido para llegar al destino
|
int numJumps; // Numero de pasos preestablecido para llegar al destino
|
||||||
int index; // Elemento del menu que tiene el foco
|
int index; // Elemento del menu que tiene el foco
|
||||||
SDL_Rect rect; // Rectangulo del selector
|
int previousIndex; // Elemento que tenia el foco previamente
|
||||||
color_t color; // Color del selector
|
color_t previousItemColor; // Color del item nque tenia el foco previamente
|
||||||
color_t itemColor; // Color del item
|
SDL_Rect rect; // Rectangulo del selector
|
||||||
int a; // Cantidad de transparencia para el rectangulo del selector
|
color_t color; // Color del selector
|
||||||
|
color_t itemColor; // Color del item
|
||||||
|
color_t jumpItemColors[8]; // Transición de colores para el item seleccionado
|
||||||
|
int itemColorIndex; // Indice del color de transición para el item seleccionado
|
||||||
|
int a; // Cantidad de transparencia para el rectangulo del selector
|
||||||
};
|
};
|
||||||
|
|
||||||
// Objetos y punteros
|
// Objetos y punteros
|
||||||
@@ -139,6 +144,9 @@ private:
|
|||||||
// Calcula la altura del selector
|
// Calcula la altura del selector
|
||||||
int getSelectorHeight(int value);
|
int getSelectorHeight(int value);
|
||||||
|
|
||||||
|
// Calcula los colores del selector para el degradado
|
||||||
|
void setSelectorItemColors();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Menu(SDL_Renderer *renderer, Asset *asset, Input *input, std::string file = "");
|
Menu(SDL_Renderer *renderer, Asset *asset, Input *input, std::string file = "");
|
||||||
@@ -186,10 +194,7 @@ public:
|
|||||||
void centerMenuElementsOnX();
|
void centerMenuElementsOnX();
|
||||||
|
|
||||||
// Añade un item al menu
|
// Añade un item al menu
|
||||||
void addItem(std::string text, int hPaddingDown = 1, bool selectable = true, bool greyed = false, bool linkedDown = false, bool visible = true);
|
void addItem(item_t item);
|
||||||
|
|
||||||
// Elimina un item del menu
|
|
||||||
void removeItem(int index);
|
|
||||||
|
|
||||||
// Cambia el texto de un item
|
// Cambia el texto de un item
|
||||||
void setItemCaption(int index, std::string text);
|
void setItemCaption(int index, std::string text);
|
||||||
|
|||||||
@@ -49,8 +49,29 @@ void Notify::update()
|
|||||||
{
|
{
|
||||||
for (int i = 0; i < (int)notifications.size(); ++i)
|
for (int i = 0; i < (int)notifications.size(); ++i)
|
||||||
{
|
{
|
||||||
|
// Si la notificación anterior está "saliendo", no hagas nada
|
||||||
|
if (i > 0)
|
||||||
|
{
|
||||||
|
if (notifications[i - 1].state == ns_rising)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
notifications[i].counter++;
|
notifications[i].counter++;
|
||||||
|
|
||||||
|
// Hace sonar la notificación en el primer frame
|
||||||
|
if (notifications[i].counter == 1)
|
||||||
|
{
|
||||||
|
if (options->notifications.sound)
|
||||||
|
{
|
||||||
|
if (notifications[i].state == ns_rising)
|
||||||
|
{ // Reproduce el sonido de la notificación
|
||||||
|
JA_PlaySound(sound);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Comprueba los estados
|
// Comprueba los estados
|
||||||
if (notifications[i].state == ns_rising)
|
if (notifications[i].state == ns_rising)
|
||||||
{
|
{
|
||||||
@@ -245,14 +266,11 @@ void Notify::showText(std::string text1, std::string text2, int icon)
|
|||||||
// Crea el sprite de la notificación
|
// Crea el sprite de la notificación
|
||||||
n.sprite = new Sprite(n.rect, n.texture, renderer);
|
n.sprite = new Sprite(n.rect, n.texture, renderer);
|
||||||
|
|
||||||
|
// Deja la notificación invisible
|
||||||
|
n.texture->setAlpha(0);
|
||||||
|
|
||||||
// Añade la notificación a la lista
|
// Añade la notificación a la lista
|
||||||
notifications.push_back(n);
|
notifications.push_back(n);
|
||||||
|
|
||||||
// Reproduce el sonido de la notificación
|
|
||||||
if (options->notifications.sound)
|
|
||||||
{
|
|
||||||
JA_PlaySound(sound);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Indica si hay notificaciones activas
|
// Indica si hay notificaciones activas
|
||||||
|
|||||||
@@ -38,21 +38,21 @@ const int GAMECANVAS_FIRST_QUARTER_Y = GAMECANVAS_HEIGHT / 4;
|
|||||||
const int GAMECANVAS_THIRD_QUARTER_Y = (GAMECANVAS_HEIGHT / 4) * 3;
|
const int GAMECANVAS_THIRD_QUARTER_Y = (GAMECANVAS_HEIGHT / 4) * 3;
|
||||||
|
|
||||||
// Secciones del programa
|
// Secciones del programa
|
||||||
#define PROG_SECTION_LOGO 0
|
#define SECTION_PROG_LOGO 0
|
||||||
#define PROG_SECTION_INTRO 1
|
#define SECTION_PROG_INTRO 1
|
||||||
#define PROG_SECTION_TITLE 2
|
#define SECTION_PROG_TITLE 2
|
||||||
#define PROG_SECTION_GAME 3
|
#define SECTION_PROG_GAME 3
|
||||||
#define PROG_SECTION_QUIT 4
|
#define SECTION_PROG_QUIT 4
|
||||||
|
|
||||||
// Subsecciones
|
// Subsecciones
|
||||||
#define GAME_SECTION_PLAY_1P 0
|
#define SUBSECTION_GAME_PLAY_1P 0
|
||||||
#define GAME_SECTION_PLAY_2P 1
|
#define SUBSECTION_GAME_PLAY_2P 1
|
||||||
#define GAME_SECTION_PAUSE 2
|
#define SUBSECTION_GAME_PAUSE 2
|
||||||
#define GAME_SECTION_GAMEOVER 3
|
#define SUBSECTION_GAME_GAMEOVER 3
|
||||||
#define TITLE_SECTION_1 3
|
#define SUBSECTION_TITLE_1 3
|
||||||
#define TITLE_SECTION_2 4
|
#define SUBSECTION_TITLE_2 4
|
||||||
#define TITLE_SECTION_3 5
|
#define SUBSECTION_TITLE_3 5
|
||||||
#define TITLE_SECTION_INSTRUCTIONS 6
|
#define SUBSECTION_TITLE_INSTRUCTIONS 6
|
||||||
|
|
||||||
// Ningun tipo
|
// Ningun tipo
|
||||||
#define NO_KIND 0
|
#define NO_KIND 0
|
||||||
|
|||||||
@@ -16,7 +16,8 @@
|
|||||||
Director::Director(int argc, char *argv[])
|
Director::Director(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
section.name = PROG_SECTION_LOGO;
|
section = new section_t();
|
||||||
|
section->name = SECTION_PROG_LOGO;
|
||||||
|
|
||||||
// Inicializa las opciones del programa
|
// Inicializa las opciones del programa
|
||||||
initOptions();
|
initOptions();
|
||||||
@@ -73,6 +74,7 @@ Director::~Director()
|
|||||||
delete screen;
|
delete screen;
|
||||||
delete lang;
|
delete lang;
|
||||||
delete options;
|
delete options;
|
||||||
|
delete section;
|
||||||
|
|
||||||
SDL_DestroyRenderer(renderer);
|
SDL_DestroyRenderer(renderer);
|
||||||
SDL_DestroyWindow(window);
|
SDL_DestroyWindow(window);
|
||||||
@@ -662,61 +664,55 @@ bool Director::saveConfigFile()
|
|||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Establece el valor de la variable
|
|
||||||
void Director::setSection(section_t section)
|
|
||||||
{
|
|
||||||
this->section = section;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Director::runLogo()
|
void Director::runLogo()
|
||||||
{
|
{
|
||||||
logo = new Logo(renderer, screen, asset, input);
|
logo = new Logo(renderer, screen, asset, input, section);
|
||||||
setSection(logo->run());
|
logo->run();
|
||||||
delete logo;
|
delete logo;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Director::runIntro()
|
void Director::runIntro()
|
||||||
{
|
{
|
||||||
intro = new Intro(renderer, screen, asset, input, lang);
|
intro = new Intro(renderer, screen, asset, input, lang, section);
|
||||||
setSection(intro->run());
|
intro->run();
|
||||||
delete intro;
|
delete intro;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Director::runTitle()
|
void Director::runTitle()
|
||||||
{
|
{
|
||||||
title = new Title(renderer, screen, input, asset, options, lang, section);
|
title = new Title(renderer, screen, input, asset, options, lang, section);
|
||||||
setSection(title->run());
|
title->run();
|
||||||
delete title;
|
delete title;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Director::runGame()
|
void Director::runGame()
|
||||||
{
|
{
|
||||||
const int numPlayers = section.subsection == GAME_SECTION_PLAY_1P ? 1 : 2;
|
const int numPlayers = section->subsection == SUBSECTION_GAME_PLAY_1P ? 1 : 2;
|
||||||
game = new Game(numPlayers, 0, renderer, screen, asset, lang, input, false, options);
|
game = new Game(numPlayers, 0, renderer, screen, asset, lang, input, false, options, section);
|
||||||
setSection(game->run());
|
game->run();
|
||||||
delete game;
|
delete game;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Director::run()
|
void Director::run()
|
||||||
{
|
{
|
||||||
// Bucle principal
|
// Bucle principal
|
||||||
while (section.name != PROG_SECTION_QUIT)
|
while (section->name != SECTION_PROG_QUIT)
|
||||||
{
|
{
|
||||||
switch (section.name)
|
switch (section->name)
|
||||||
{
|
{
|
||||||
case PROG_SECTION_LOGO:
|
case SECTION_PROG_LOGO:
|
||||||
runLogo();
|
runLogo();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROG_SECTION_INTRO:
|
case SECTION_PROG_INTRO:
|
||||||
runIntro();
|
runIntro();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROG_SECTION_TITLE:
|
case SECTION_PROG_TITLE:
|
||||||
runTitle();
|
runTitle();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROG_SECTION_GAME:
|
case SECTION_PROG_GAME:
|
||||||
runGame();
|
runGame();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -745,7 +741,8 @@ void Director::initOnline()
|
|||||||
#else
|
#else
|
||||||
const std::string caption = options->online.jailerID;
|
const std::string caption = options->online.jailerID;
|
||||||
#endif
|
#endif
|
||||||
screen->showNotification(caption, lang->getText(85), 12);
|
//screen->showNotification(caption, lang->getText(85), 12);
|
||||||
|
screen->showNotification(caption, lang->getText(85));
|
||||||
if (options->console)
|
if (options->console)
|
||||||
{
|
{
|
||||||
std::cout << caption << std::endl;
|
std::cout << caption << std::endl;
|
||||||
|
|||||||
@@ -43,10 +43,10 @@ private:
|
|||||||
Input *input; // Objeto Input para gestionar las entradas
|
Input *input; // Objeto Input para gestionar las entradas
|
||||||
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
|
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
|
||||||
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
||||||
|
section_t *section; // Sección y subsección actual del programa;
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
struct options_t *options; // Variable con todas las opciones del programa
|
struct options_t *options; // Variable con todas las opciones del programa
|
||||||
section_t section; // Sección y subsección actual del programa;
|
|
||||||
std::string executablePath; // Path del ejecutable
|
std::string executablePath; // Path del ejecutable
|
||||||
std::string systemFolder; // Carpeta del sistema donde guardar datos
|
std::string systemFolder; // Carpeta del sistema donde guardar datos
|
||||||
|
|
||||||
|
|||||||
348
source/enter_id.cpp
Normal file
348
source/enter_id.cpp
Normal file
@@ -0,0 +1,348 @@
|
|||||||
|
#include "common/jail_audio.h"
|
||||||
|
#include "common/jscore.h"
|
||||||
|
#include "const.h"
|
||||||
|
#include "enter_id.h"
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
EnterID::EnterID(SDL_Renderer *renderer, Screen *screen, Asset *asset, Lang *lang, options_t *options, section_t *section)
|
||||||
|
{
|
||||||
|
// Copia la dirección de los objetos
|
||||||
|
this->renderer = renderer;
|
||||||
|
this->screen = screen;
|
||||||
|
this->asset = asset;
|
||||||
|
this->lang = lang;
|
||||||
|
this->options = options;
|
||||||
|
this->section = section;
|
||||||
|
|
||||||
|
// Reserva memoria para los punteros
|
||||||
|
eventHandler = new SDL_Event();
|
||||||
|
texture = new Texture(renderer, asset->get("smb2.png"));
|
||||||
|
text = new Text(asset->get("smb2.txt"), texture, renderer);
|
||||||
|
|
||||||
|
// Crea la textura para el texto que se escribe en pantalla
|
||||||
|
textTexture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT);
|
||||||
|
if (textTexture == nullptr)
|
||||||
|
{
|
||||||
|
if (options->console)
|
||||||
|
{
|
||||||
|
std::cout << "Error: textTexture could not be created!\nSDL Error: " << SDL_GetError() << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SDL_SetTextureBlendMode(textTexture, SDL_BLENDMODE_BLEND);
|
||||||
|
|
||||||
|
// Inicializa variables
|
||||||
|
oldJailerID = options->online.jailerID;
|
||||||
|
loopRunning = true;
|
||||||
|
counter = 0;
|
||||||
|
ticks = 0;
|
||||||
|
ticksSpeed = 15;
|
||||||
|
jailerIDPos = 0;
|
||||||
|
initName();
|
||||||
|
|
||||||
|
// Escribe el texto en la textura
|
||||||
|
fillTexture();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Destructor
|
||||||
|
EnterID::~EnterID()
|
||||||
|
{
|
||||||
|
delete eventHandler;
|
||||||
|
delete text;
|
||||||
|
delete texture;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bucle principal
|
||||||
|
void EnterID::run()
|
||||||
|
{
|
||||||
|
while (loopRunning)
|
||||||
|
{
|
||||||
|
update();
|
||||||
|
checkEvents();
|
||||||
|
render();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Comprueba el manejador de eventos
|
||||||
|
void EnterID::checkEvents()
|
||||||
|
{
|
||||||
|
// Comprueba los eventos que hay en la cola
|
||||||
|
while (SDL_PollEvent(eventHandler) != 0)
|
||||||
|
{
|
||||||
|
// Evento de salida de la aplicación
|
||||||
|
if (eventHandler->type == SDL_QUIT)
|
||||||
|
{
|
||||||
|
section->name = SECTION_PROG_QUIT;
|
||||||
|
loopRunning = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Comprueba las teclas que se han pulsado
|
||||||
|
if ((eventHandler->type == SDL_KEYDOWN && eventHandler->key.repeat == 0) || (eventHandler->type == SDL_JOYBUTTONDOWN))
|
||||||
|
{
|
||||||
|
if (eventHandler->key.keysym.scancode == SDL_SCANCODE_RETURN)
|
||||||
|
{
|
||||||
|
options->online.jailerID = toLower((std::string)name);
|
||||||
|
endSection();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eventHandler->key.keysym.scancode >= SDL_SCANCODE_A && eventHandler->key.keysym.scancode <= SDL_SCANCODE_Z)
|
||||||
|
{ // Si pulsa una letra
|
||||||
|
if (pos < maxLenght)
|
||||||
|
{
|
||||||
|
name[pos++] = eventHandler->key.keysym.scancode + 61;
|
||||||
|
name[pos] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (eventHandler->key.keysym.scancode >= SDL_SCANCODE_1 && eventHandler->key.keysym.scancode <= SDL_SCANCODE_9)
|
||||||
|
{ // Si pulsa un número
|
||||||
|
if (pos < maxLenght)
|
||||||
|
{ // En ascii el '0' va antes del '1', pero en scancode el '0' va despues de '9'
|
||||||
|
name[pos++] = eventHandler->key.keysym.scancode + 19;
|
||||||
|
name[pos] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (eventHandler->key.keysym.scancode == SDL_SCANCODE_0)
|
||||||
|
{
|
||||||
|
if (pos < maxLenght)
|
||||||
|
{
|
||||||
|
name[pos++] = 48;
|
||||||
|
name[pos] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (eventHandler->key.keysym.scancode == SDL_SCANCODE_BACKSPACE)
|
||||||
|
{
|
||||||
|
if (pos > 0)
|
||||||
|
{
|
||||||
|
name[--pos] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (eventHandler->key.keysym.scancode == SDL_SCANCODE_ESCAPE)
|
||||||
|
{
|
||||||
|
section->name = SECTION_PROG_QUIT;
|
||||||
|
loopRunning = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (eventHandler->key.keysym.scancode == SDL_SCANCODE_F1)
|
||||||
|
{
|
||||||
|
screen->setWindowSize(1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (eventHandler->key.keysym.scancode == SDL_SCANCODE_F2)
|
||||||
|
{
|
||||||
|
screen->setWindowSize(2);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (eventHandler->key.keysym.scancode == SDL_SCANCODE_F3)
|
||||||
|
{
|
||||||
|
screen->setWindowSize(3);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (eventHandler->key.keysym.scancode == SDL_SCANCODE_F4)
|
||||||
|
{
|
||||||
|
screen->setWindowSize(4);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Actualiza las variables
|
||||||
|
void EnterID::update()
|
||||||
|
{
|
||||||
|
// Comprueba que la diferencia de ticks sea mayor a la velocidad del juego
|
||||||
|
if (SDL_GetTicks() - ticks > ticksSpeed)
|
||||||
|
{
|
||||||
|
// Actualiza el contador de ticks
|
||||||
|
ticks = SDL_GetTicks();
|
||||||
|
|
||||||
|
// Actualiza el contador
|
||||||
|
counter++;
|
||||||
|
|
||||||
|
// Actualiza el cursor
|
||||||
|
cursor = (counter % 20 >= 10) ? " " : "_";
|
||||||
|
|
||||||
|
// Actualiza las notificaciones
|
||||||
|
screen->updateNotifier();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dibuja en pantalla
|
||||||
|
void EnterID::render()
|
||||||
|
{
|
||||||
|
// Prepara para empezar a dibujar en la textura de juego
|
||||||
|
screen->start();
|
||||||
|
|
||||||
|
// Dibuja la textura con el texto en pantalla
|
||||||
|
SDL_RenderCopy(renderer, textTexture, nullptr, nullptr);
|
||||||
|
|
||||||
|
// Escribe el jailerID
|
||||||
|
const std::string jailerID = (std::string)name + cursor;
|
||||||
|
const color_t color = stringToColor(options->palette, "white");
|
||||||
|
text->writeDX(TXT_CENTER | TXT_COLOR, GAMECANVAS_CENTER_X, jailerIDPos, jailerID, 1, color);
|
||||||
|
|
||||||
|
// Vuelca el contenido del renderizador en pantalla
|
||||||
|
screen->blit();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Inicializa los textos
|
||||||
|
void EnterID::iniTexts()
|
||||||
|
{
|
||||||
|
const color_t orangeColor = {0xFF, 0x7A, 0x00};
|
||||||
|
const color_t noColor = {0xFF, 0xFF, 0xFF};
|
||||||
|
|
||||||
|
texts.clear();
|
||||||
|
texts.push_back({lang->getText(89), orangeColor});
|
||||||
|
texts.push_back({"", noColor});
|
||||||
|
texts.push_back({lang->getText(90), noColor});
|
||||||
|
texts.push_back({lang->getText(91), noColor});
|
||||||
|
texts.push_back({lang->getText(92), noColor});
|
||||||
|
texts.push_back({"", noColor});
|
||||||
|
texts.push_back({"", noColor});
|
||||||
|
texts.push_back({"", noColor});
|
||||||
|
texts.push_back({"JAILER_ID:", orangeColor});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Escribe el texto en la textura
|
||||||
|
void EnterID::fillTexture()
|
||||||
|
{
|
||||||
|
const color_t shdwTxtColor = {0x43, 0x43, 0x4F};
|
||||||
|
|
||||||
|
// Inicializa los textos
|
||||||
|
iniTexts();
|
||||||
|
|
||||||
|
// Rellena la textura con un color de fondo
|
||||||
|
SDL_SetRenderTarget(renderer, textTexture);
|
||||||
|
SDL_SetRenderDrawColor(renderer, bgColor.r, bgColor.g, bgColor.b, 0xFF);
|
||||||
|
SDL_RenderClear(renderer);
|
||||||
|
|
||||||
|
// Añade el efecto de degradado en el fondo
|
||||||
|
//Texture *gradient = new Texture(renderer, asset->get("title_gradient.png"));
|
||||||
|
//SDL_Rect rect = {0, 0, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT};
|
||||||
|
//gradient->render(renderer, 0, 0, &rect);
|
||||||
|
//delete gradient;
|
||||||
|
|
||||||
|
// Escribe el texto en la textura
|
||||||
|
const int desp = 40;
|
||||||
|
const int size = text->getCharacterSize() + 2;
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
for (auto t : texts)
|
||||||
|
{
|
||||||
|
text->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, PLAY_AREA_CENTER_X, (i * size) + desp, t.label, 1, t.color, 1, shdwTxtColor);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
jailerIDPos = ((i + 1) * size) + desp;
|
||||||
|
|
||||||
|
SDL_SetRenderTarget(renderer, nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Inicializa los servicios online
|
||||||
|
void EnterID::initOnline()
|
||||||
|
{
|
||||||
|
// Si ya ha iniciado la sesión y no ha cambiado el jailerID, que no continue
|
||||||
|
if (options->online.sessionEnabled)
|
||||||
|
{
|
||||||
|
if (oldJailerID == options->online.jailerID)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (options->online.jailerID == "")
|
||||||
|
{ // Jailer ID no definido
|
||||||
|
options->online.enabled = false;
|
||||||
|
options->online.sessionEnabled = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ // Jailer ID iniciado
|
||||||
|
options->online.enabled = options->online.sessionEnabled = true;
|
||||||
|
// Establece el servidor y el puerto
|
||||||
|
jscore::init(options->online.server, options->online.port);
|
||||||
|
#ifdef DEBUG
|
||||||
|
const std::string caption = options->online.jailerID + " (DEBUG)";
|
||||||
|
#else
|
||||||
|
const std::string caption = options->online.jailerID;
|
||||||
|
#endif
|
||||||
|
// screen->showNotification(caption, lang->getText(85), 12);
|
||||||
|
screen->showNotification(caption, lang->getText(85));
|
||||||
|
if (options->console)
|
||||||
|
{
|
||||||
|
std::cout << caption << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Obtiene la información de puntuaciones online
|
||||||
|
if (!jscore::initOnlineScore(options->online.gameID))
|
||||||
|
{
|
||||||
|
screen->showNotification(lang->getText(80), options->online.server);
|
||||||
|
if (options->console)
|
||||||
|
{
|
||||||
|
std::cout << "Can't connect to " << options->online.server << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
options->online.enabled = false;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Obten la puntuación online para el jailerID
|
||||||
|
const int points = jscore::getUserPoints(options->online.gameID, options->online.jailerID);
|
||||||
|
if (points == 0)
|
||||||
|
{ // Fallo de conexión o no hay registros
|
||||||
|
screen->showNotification(lang->getText(81), lang->getText(82));
|
||||||
|
if (options->console)
|
||||||
|
{
|
||||||
|
std::cout << "Can't get online scores" << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
options->online.score = points;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Termina la sección
|
||||||
|
void EnterID::endSection()
|
||||||
|
{
|
||||||
|
loopRunning = false;
|
||||||
|
initOnline();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Inicializa el vector utilizado para almacenar el texto que se escribe en pantalla
|
||||||
|
void EnterID::initName()
|
||||||
|
{
|
||||||
|
// Calcula el tamaño del vector
|
||||||
|
name[0] = 0;
|
||||||
|
maxLenght = sizeof(name) / sizeof(name[pos]);
|
||||||
|
|
||||||
|
// Inicializa el vector con ceros
|
||||||
|
for (int i = 0; i < maxLenght; ++i)
|
||||||
|
{
|
||||||
|
name[i] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Si no hay definido ningun JailerID, coloca el cursor en primera posición
|
||||||
|
if (options->online.jailerID == "")
|
||||||
|
{
|
||||||
|
pos = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ // En caso contrario, copia el texto al vector y coloca el cursor en posición
|
||||||
|
const int len = std::min((int)options->online.jailerID.size(), maxLenght);
|
||||||
|
for (int i = 0; i < len; ++i)
|
||||||
|
{
|
||||||
|
name[i] = (char)options->online.jailerID[i];
|
||||||
|
}
|
||||||
|
pos = len;
|
||||||
|
}
|
||||||
|
}
|
||||||
85
source/enter_id.h
Normal file
85
source/enter_id.h
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <SDL2/SDL.h>
|
||||||
|
#include "common/asset.h"
|
||||||
|
#include "common/screen.h"
|
||||||
|
#include "common/utils.h"
|
||||||
|
#include "common/text.h"
|
||||||
|
#include "common/texture.h"
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#ifndef ENTER_ID_H
|
||||||
|
#define ENTER_ID_H
|
||||||
|
|
||||||
|
class EnterID
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
struct captions_t
|
||||||
|
{
|
||||||
|
std::string label; // Texto a escribir
|
||||||
|
color_t color; // Color del texto
|
||||||
|
};
|
||||||
|
|
||||||
|
// Punteros y objetos
|
||||||
|
Asset *asset; // Objeto con los ficheros de recursos
|
||||||
|
options_t *options; // Puntero a las opciones del juego
|
||||||
|
Screen *screen; // Objeto encargado de dibujar en pantalla
|
||||||
|
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
|
||||||
|
SDL_Event *eventHandler; // Manejador de eventos
|
||||||
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||||
|
SDL_Texture *textTexture; // Textura para dibujar el texto
|
||||||
|
Text *text; // Objeto para escribir texto en pantalla
|
||||||
|
Texture *texture; // Textura para la fuente para el texto
|
||||||
|
section_t *section; // Estado del bucle principal para saber si continua o se sale
|
||||||
|
|
||||||
|
// Variables
|
||||||
|
bool loopRunning; // Indica si ha de terminar el bucle principal
|
||||||
|
int counter; // Contador
|
||||||
|
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
|
||||||
|
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
|
||||||
|
std::vector<captions_t> texts; // Vector con los textos
|
||||||
|
std::string cursor; // Contiene el caracter que se muestra como cursor
|
||||||
|
|
||||||
|
char name[15]; // Aqui se guardan los caracteres de las teclas que se van pulsando
|
||||||
|
int pos; // Posición actual en el vector name
|
||||||
|
int maxLenght; // Tamaño máximo del jailerID
|
||||||
|
std::string oldJailerID; // Almacena el valor de jailerID al inicio para ver si se ha modificado
|
||||||
|
int jailerIDPos; // Posición en el eje Y donde ser va a escribir el texto
|
||||||
|
|
||||||
|
// Actualiza las variables
|
||||||
|
void update();
|
||||||
|
|
||||||
|
// Dibuja en pantalla
|
||||||
|
void render();
|
||||||
|
|
||||||
|
// Comprueba el manejador de eventos
|
||||||
|
void checkEvents();
|
||||||
|
|
||||||
|
// Inicializa los textos
|
||||||
|
void iniTexts();
|
||||||
|
|
||||||
|
// Escribe el texto en la textura
|
||||||
|
void fillTexture();
|
||||||
|
|
||||||
|
// Inicializa los servicios online
|
||||||
|
void initOnline();
|
||||||
|
|
||||||
|
// Termina la sección
|
||||||
|
void endSection();
|
||||||
|
|
||||||
|
// Inicializa el vector utilizado para almacenar el texto que se escribe en pantalla
|
||||||
|
void initName();
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Constructor
|
||||||
|
EnterID(SDL_Renderer *renderer, Screen *screen, Asset *asset, Lang *lang, options_t *options, section_t *section);
|
||||||
|
|
||||||
|
// Destructor
|
||||||
|
~EnterID();
|
||||||
|
|
||||||
|
// Bucle principal
|
||||||
|
void run();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
124
source/game.cpp
124
source/game.cpp
@@ -2,7 +2,7 @@
|
|||||||
#include "common/jscore.h"
|
#include "common/jscore.h"
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Game::Game(int numPlayers, int currentStage, SDL_Renderer *renderer, Screen *screen, Asset *asset, Lang *lang, Input *input, bool demo, options_t *options)
|
Game::Game(int numPlayers, int currentStage, SDL_Renderer *renderer, Screen *screen, Asset *asset, Lang *lang, Input *input, bool demo, options_t *options, section_t *section)
|
||||||
{
|
{
|
||||||
// Copia los punteros
|
// Copia los punteros
|
||||||
this->renderer = renderer;
|
this->renderer = renderer;
|
||||||
@@ -11,6 +11,7 @@ Game::Game(int numPlayers, int currentStage, SDL_Renderer *renderer, Screen *scr
|
|||||||
this->lang = lang;
|
this->lang = lang;
|
||||||
this->input = input;
|
this->input = input;
|
||||||
this->options = options;
|
this->options = options;
|
||||||
|
this->section = section;
|
||||||
|
|
||||||
// Pasa variables
|
// Pasa variables
|
||||||
this->demo.enabled = demo;
|
this->demo.enabled = demo;
|
||||||
@@ -31,6 +32,12 @@ Game::Game(int numPlayers, int currentStage, SDL_Renderer *renderer, Screen *scr
|
|||||||
// Carga los recursos
|
// Carga los recursos
|
||||||
loadMedia();
|
loadMedia();
|
||||||
|
|
||||||
|
// Carga ficheros
|
||||||
|
loadDemoFile();
|
||||||
|
|
||||||
|
// Establece la máxima puntuación desde fichero o desde las puntuaciones online
|
||||||
|
setHiScore();
|
||||||
|
|
||||||
clouds1A = new MovingSprite(0, 0, 256, 52, -0.4f, 0.0f, 0.0f, 0.0f, gameCloudsTexture, renderer);
|
clouds1A = new MovingSprite(0, 0, 256, 52, -0.4f, 0.0f, 0.0f, 0.0f, gameCloudsTexture, renderer);
|
||||||
clouds1B = new MovingSprite(256, 0, 256, 52, -0.4f, 0.0f, 0.0f, 0.0f, gameCloudsTexture, renderer);
|
clouds1B = new MovingSprite(256, 0, 256, 52, -0.4f, 0.0f, 0.0f, 0.0f, gameCloudsTexture, renderer);
|
||||||
clouds2A = new MovingSprite(0, 52, 256, 32, -0.2f, 0.0f, 0.0f, 0.0f, gameCloudsTexture, renderer);
|
clouds2A = new MovingSprite(0, 52, 256, 32, -0.2f, 0.0f, 0.0f, 0.0f, gameCloudsTexture, renderer);
|
||||||
@@ -246,8 +253,8 @@ void Game::init()
|
|||||||
|
|
||||||
gameCompleted = false;
|
gameCompleted = false;
|
||||||
gameCompletedCounter = 0;
|
gameCompletedCounter = 0;
|
||||||
section.name = PROG_SECTION_GAME;
|
section->name = SECTION_PROG_GAME;
|
||||||
section.subsection = GAME_SECTION_PLAY_1P;
|
section->subsection = SUBSECTION_GAME_PLAY_1P;
|
||||||
menaceCurrent = 0;
|
menaceCurrent = 0;
|
||||||
menaceThreshold = 0;
|
menaceThreshold = 0;
|
||||||
hiScoreAchieved = false;
|
hiScoreAchieved = false;
|
||||||
@@ -391,10 +398,6 @@ void Game::loadMedia()
|
|||||||
<< "** LOADING RESOURCES FOR GAME SECTION" << std::endl;
|
<< "** LOADING RESOURCES FOR GAME SECTION" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Carga ficheros
|
|
||||||
loadScoreFile();
|
|
||||||
loadDemoFile();
|
|
||||||
|
|
||||||
// Texturas
|
// Texturas
|
||||||
bulletTexture = new Texture(renderer, asset->get("bullet.png"));
|
bulletTexture = new Texture(renderer, asset->get("bullet.png"));
|
||||||
gameBuildingsTexture = new Texture(renderer, asset->get("game_buildings.png"));
|
gameBuildingsTexture = new Texture(renderer, asset->get("game_buildings.png"));
|
||||||
@@ -1611,6 +1614,12 @@ void Game::updateHiScore()
|
|||||||
// Actualiza la máxima puntuación
|
// Actualiza la máxima puntuación
|
||||||
hiScore = player->getScore();
|
hiScore = player->getScore();
|
||||||
|
|
||||||
|
// Cambia el nombre del jugador con la máxima puntuación
|
||||||
|
if (options->online.enabled)
|
||||||
|
{
|
||||||
|
hiScoreName = options->online.jailerID.substr(0, 12) + " - ";
|
||||||
|
}
|
||||||
|
|
||||||
// Almacena la máxima puntuación en el fichero junto con un checksum
|
// Almacena la máxima puntuación en el fichero junto con un checksum
|
||||||
scoreDataFile[0] = hiScore;
|
scoreDataFile[0] = hiScore;
|
||||||
scoreDataFile[1] = hiScore % 43;
|
scoreDataFile[1] = hiScore % 43;
|
||||||
@@ -1735,22 +1744,7 @@ void Game::renderScoreBoard()
|
|||||||
|
|
||||||
// HI-SCORE
|
// HI-SCORE
|
||||||
textScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset3, lang->getText(56));
|
textScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset3, lang->getText(56));
|
||||||
if (options->online.enabled)
|
textScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset4, hiScoreName + updateScoreText(hiScore));
|
||||||
{
|
|
||||||
if (jscore::getNumUsers() > 0)
|
|
||||||
{
|
|
||||||
const std::string txt = jscore::getUserName(0).substr(0, 12) + " - " + updateScoreText((Uint32)jscore::getPoints(0));
|
|
||||||
textScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset4, txt);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
textScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset4, "Bacteriol - 0000010");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
textScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset4, updateScoreText(hiScore));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Actualiza las variables del jugador
|
// Actualiza las variables del jugador
|
||||||
@@ -1767,7 +1761,8 @@ void Game::updatePlayers()
|
|||||||
{
|
{
|
||||||
if (demo.enabled)
|
if (demo.enabled)
|
||||||
{
|
{
|
||||||
section = {PROG_SECTION_TITLE, TITLE_SECTION_INSTRUCTIONS};
|
section->name = SECTION_PROG_TITLE;
|
||||||
|
section->subsection = SUBSECTION_TITLE_INSTRUCTIONS;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1866,7 +1861,7 @@ void Game::updateDeath()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
section.subsection = GAME_SECTION_GAMEOVER;
|
section->subsection = SUBSECTION_GAME_GAMEOVER;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3086,10 +3081,10 @@ void Game::checkGameInput()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Comprueba el input de pausa
|
// Si se pulsa cualquier tecla, se sale del modo demo
|
||||||
if (input->checkInput(input_pause, REPEAT_FALSE))
|
if (input->checkAnyInput())
|
||||||
{
|
{
|
||||||
section.name = PROG_SECTION_TITLE;
|
section->name = SECTION_PROG_TITLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Incrementa el contador de la demo
|
// Incrementa el contador de la demo
|
||||||
@@ -3099,7 +3094,8 @@ void Game::checkGameInput()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
section = {PROG_SECTION_TITLE, TITLE_SECTION_INSTRUCTIONS};
|
section->name = SECTION_PROG_TITLE;
|
||||||
|
section->subsection = SUBSECTION_TITLE_INSTRUCTIONS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Modo Demo no activo
|
// Modo Demo no activo
|
||||||
@@ -3182,7 +3178,7 @@ void Game::checkGameInput()
|
|||||||
// Comprueba el input de pausa
|
// Comprueba el input de pausa
|
||||||
if (input->checkInput(input_cancel, REPEAT_FALSE, options->input[i].deviceType, options->input[i].id))
|
if (input->checkInput(input_cancel, REPEAT_FALSE, options->input[i].deviceType, options->input[i].id))
|
||||||
{
|
{
|
||||||
section.subsection = GAME_SECTION_PAUSE;
|
section->subsection = SUBSECTION_GAME_PAUSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (demo.counter < TOTAL_DEMO_DATA)
|
if (demo.counter < TOTAL_DEMO_DATA)
|
||||||
@@ -3195,7 +3191,7 @@ void Game::checkGameInput()
|
|||||||
}
|
}
|
||||||
else if (demo.recording)
|
else if (demo.recording)
|
||||||
{
|
{
|
||||||
section.name = PROG_SECTION_QUIT;
|
section->name = SECTION_PROG_QUIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
@@ -3339,24 +3335,24 @@ void Game::shakeScreen()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Bucle para el juego
|
// Bucle para el juego
|
||||||
section_t Game::run()
|
void Game::run()
|
||||||
{
|
{
|
||||||
while (section.name == PROG_SECTION_GAME)
|
while (section->name == SECTION_PROG_GAME)
|
||||||
{
|
{
|
||||||
// Sección juego en pausa
|
// Sección juego en pausa
|
||||||
if (section.subsection == GAME_SECTION_PAUSE)
|
if (section->subsection == SUBSECTION_GAME_PAUSE)
|
||||||
{
|
{
|
||||||
runPausedGame();
|
runPausedGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sección Game Over
|
// Sección Game Over
|
||||||
if (section.subsection == GAME_SECTION_GAMEOVER)
|
if (section->subsection == SUBSECTION_GAME_GAMEOVER)
|
||||||
{
|
{
|
||||||
runGameOverScreen();
|
runGameOverScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sección juego jugando
|
// Sección juego jugando
|
||||||
if ((section.subsection == GAME_SECTION_PLAY_1P) || (section.subsection == GAME_SECTION_PLAY_2P))
|
if ((section->subsection == SUBSECTION_GAME_PLAY_1P) || (section->subsection == SUBSECTION_GAME_PLAY_2P))
|
||||||
{
|
{
|
||||||
// Si la música no está sonando
|
// Si la música no está sonando
|
||||||
if ((JA_GetMusicState() == JA_MUSIC_INVALID) || (JA_GetMusicState() == JA_MUSIC_STOPPED))
|
if ((JA_GetMusicState() == JA_MUSIC_INVALID) || (JA_GetMusicState() == JA_MUSIC_STOPPED))
|
||||||
@@ -3381,8 +3377,6 @@ section_t Game::run()
|
|||||||
render();
|
render();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return section;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Actualiza las variables del menu de pausa del juego
|
// Actualiza las variables del menu de pausa del juego
|
||||||
@@ -3412,8 +3406,8 @@ void Game::updatePausedGame()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ // Ha finalizado el contador
|
{ // Ha finalizado el contador
|
||||||
section.name = PROG_SECTION_GAME;
|
section->name = SECTION_PROG_GAME;
|
||||||
section.subsection = numPlayers == 1 ? GAME_SECTION_PLAY_1P : GAME_SECTION_PLAY_2P;
|
section->subsection = numPlayers == 1 ? SUBSECTION_GAME_PLAY_1P : SUBSECTION_GAME_PLAY_2P;
|
||||||
|
|
||||||
if (JA_GetMusicState() == JA_MUSIC_PAUSED)
|
if (JA_GetMusicState() == JA_MUSIC_PAUSED)
|
||||||
{
|
{
|
||||||
@@ -3448,8 +3442,8 @@ void Game::updatePausedGame()
|
|||||||
fade->update();
|
fade->update();
|
||||||
if (fade->hasEnded())
|
if (fade->hasEnded())
|
||||||
{
|
{
|
||||||
section.name = PROG_SECTION_TITLE;
|
section->name = SECTION_PROG_TITLE;
|
||||||
section.subsection = TITLE_SECTION_1;
|
section->subsection = SUBSECTION_TITLE_1;
|
||||||
JA_StopMusic();
|
JA_StopMusic();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3519,7 +3513,7 @@ void Game::runPausedGame()
|
|||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
pauseCounter = 90;
|
pauseCounter = 90;
|
||||||
|
|
||||||
while ((section.subsection == GAME_SECTION_PAUSE) && (section.name == PROG_SECTION_GAME))
|
while ((section->subsection == SUBSECTION_GAME_PAUSE) && (section->name == SECTION_PROG_GAME))
|
||||||
{
|
{
|
||||||
updatePausedGame();
|
updatePausedGame();
|
||||||
checkEvents();
|
checkEvents();
|
||||||
@@ -3554,15 +3548,15 @@ void Game::updateGameOverScreen()
|
|||||||
switch (postFade)
|
switch (postFade)
|
||||||
{
|
{
|
||||||
case 0: // YES
|
case 0: // YES
|
||||||
section.name = PROG_SECTION_GAME;
|
section->name = SECTION_PROG_GAME;
|
||||||
deleteAllVectorObjects();
|
deleteAllVectorObjects();
|
||||||
init();
|
init();
|
||||||
section.subsection = numPlayers == 1 ? GAME_SECTION_PLAY_1P : GAME_SECTION_PLAY_2P;
|
section->subsection = numPlayers == 1 ? SUBSECTION_GAME_PLAY_1P : SUBSECTION_GAME_PLAY_2P;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1: // NO
|
case 1: // NO
|
||||||
section.name = PROG_SECTION_TITLE;
|
section->name = SECTION_PROG_TITLE;
|
||||||
section.subsection = TITLE_SECTION_1;
|
section->subsection = SUBSECTION_TITLE_1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -3600,7 +3594,7 @@ void Game::updateGameOverScreen()
|
|||||||
// Evento de salida de la aplicación
|
// Evento de salida de la aplicación
|
||||||
if (eventHandler->type == SDL_QUIT)
|
if (eventHandler->type == SDL_QUIT)
|
||||||
{
|
{
|
||||||
section.name = PROG_SECTION_QUIT;
|
section->name = SECTION_PROG_QUIT;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (eventHandler->type == SDL_KEYDOWN && eventHandler->key.repeat == 0)
|
else if (eventHandler->type == SDL_KEYDOWN && eventHandler->key.repeat == 0)
|
||||||
@@ -3693,7 +3687,7 @@ void Game::runGameOverScreen()
|
|||||||
// Reinicia el menu
|
// Reinicia el menu
|
||||||
gameOverMenu->reset();
|
gameOverMenu->reset();
|
||||||
|
|
||||||
while ((section.subsection == GAME_SECTION_GAMEOVER) && (section.name == PROG_SECTION_GAME))
|
while ((section->subsection == SUBSECTION_GAME_GAMEOVER) && (section->name == SECTION_PROG_GAME))
|
||||||
{
|
{
|
||||||
updateGameOverScreen();
|
updateGameOverScreen();
|
||||||
renderGameOverScreen();
|
renderGameOverScreen();
|
||||||
@@ -3806,7 +3800,7 @@ void Game::updateGameCompleted()
|
|||||||
|
|
||||||
if (gameCompletedCounter == GAME_COMPLETED_END)
|
if (gameCompletedCounter == GAME_COMPLETED_END)
|
||||||
{
|
{
|
||||||
section.subsection = GAME_SECTION_GAMEOVER;
|
section->subsection = SUBSECTION_GAME_GAMEOVER;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3864,7 +3858,7 @@ void Game::checkEvents()
|
|||||||
// Evento de salida de la aplicación
|
// Evento de salida de la aplicación
|
||||||
if (eventHandler->type == SDL_QUIT)
|
if (eventHandler->type == SDL_QUIT)
|
||||||
{
|
{
|
||||||
section.name = PROG_SECTION_QUIT;
|
section->name = SECTION_PROG_QUIT;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3872,7 +3866,7 @@ void Game::checkEvents()
|
|||||||
{
|
{
|
||||||
if (eventHandler->window.event == SDL_WINDOWEVENT_FOCUS_LOST)
|
if (eventHandler->window.event == SDL_WINDOWEVENT_FOCUS_LOST)
|
||||||
{
|
{
|
||||||
section.subsection = GAME_SECTION_PAUSE;
|
section->subsection = SUBSECTION_GAME_PAUSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3962,4 +3956,30 @@ void Game::reloadTextures()
|
|||||||
gamePowerMeterTexture->reLoad();
|
gamePowerMeterTexture->reLoad();
|
||||||
gameSkyColorsTexture->reLoad();
|
gameSkyColorsTexture->reLoad();
|
||||||
gameTextTexture->reLoad();
|
gameTextTexture->reLoad();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Establece la máxima puntuación desde fichero o desde las puntuaciones online
|
||||||
|
void Game::setHiScore()
|
||||||
|
{
|
||||||
|
// Carga el fichero de puntos
|
||||||
|
loadScoreFile();
|
||||||
|
|
||||||
|
// Establece el resto de variables
|
||||||
|
if (options->online.enabled)
|
||||||
|
{
|
||||||
|
if (jscore::getNumUsers() > 0)
|
||||||
|
{
|
||||||
|
hiScoreName = jscore::getUserName(0).substr(0, 12) + " - ";
|
||||||
|
hiScore = (Uint32)jscore::getPoints(0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hiScoreName = "Bacteriol - ";
|
||||||
|
hiScore = 10;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hiScoreName = "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -120,6 +120,7 @@ private:
|
|||||||
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
||||||
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
|
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
|
||||||
Input *input; // Manejador de entrada
|
Input *input; // Manejador de entrada
|
||||||
|
section_t *section; // Seccion actual dentro del juego
|
||||||
|
|
||||||
std::vector<Player *> players; // Vector con los jugadores
|
std::vector<Player *> players; // Vector con los jugadores
|
||||||
std::vector<Balloon *> balloons; // Vector con los globos
|
std::vector<Balloon *> balloons; // Vector con los globos
|
||||||
@@ -127,21 +128,21 @@ private:
|
|||||||
std::vector<Item *> items; // Vector con los items
|
std::vector<Item *> items; // Vector con los items
|
||||||
std::vector<SmartSprite *> smartSprites; // Vector con los smartsprites
|
std::vector<SmartSprite *> smartSprites; // Vector con los smartsprites
|
||||||
|
|
||||||
Texture *bulletTexture; // Textura para las balas
|
Texture *bulletTexture; // Textura para las balas
|
||||||
std::vector<Texture *> itemTextures; // Vector con las texturas de los items
|
std::vector<Texture *> itemTextures; // Vector con las texturas de los items
|
||||||
std::vector<Texture *> balloonTextures; // Vector con las texturas de los globos
|
std::vector<Texture *> balloonTextures; // Vector con las texturas de los globos
|
||||||
std::vector<Texture *> player1Textures; // Vector con las texturas del jugador
|
std::vector<Texture *> player1Textures; // Vector con las texturas del jugador
|
||||||
std::vector<Texture *> player2Textures; // Vector con las texturas del jugador
|
std::vector<Texture *> player2Textures; // Vector con las texturas del jugador
|
||||||
std::vector<std::vector<Texture *>> playerTextures; // Vector con todas las texturas de los jugadores;
|
std::vector<std::vector<Texture *>> playerTextures; // Vector con todas las texturas de los jugadores;
|
||||||
|
|
||||||
Texture *gameBuildingsTexture; // Textura con los edificios de fondo
|
Texture *gameBuildingsTexture; // Textura con los edificios de fondo
|
||||||
Texture *gameCloudsTexture; // Textura con las nubes de fondo
|
Texture *gameCloudsTexture; // Textura con las nubes de fondo
|
||||||
Texture *gameGrassTexture; // Textura con la hierba del suelo
|
Texture *gameGrassTexture; // Textura con la hierba del suelo
|
||||||
Texture *gamePowerMeterTexture; // Textura con el marcador de poder de la fase
|
Texture *gamePowerMeterTexture; // Textura con el marcador de poder de la fase
|
||||||
Texture *gameSkyColorsTexture; // Textura con los diferentes colores de fondo del juego
|
Texture *gameSkyColorsTexture; // Textura con los diferentes colores de fondo del juego
|
||||||
Texture *gameTextTexture; // Textura para los sprites con textos
|
Texture *gameTextTexture; // Textura para los sprites con textos
|
||||||
Texture *gameOverTexture; // Textura para la pantalla de game over
|
Texture *gameOverTexture; // Textura para la pantalla de game over
|
||||||
Texture *gameOverEndTexture; // Textura para la pantalla de game over de acabar el juego
|
Texture *gameOverEndTexture; // Textura para la pantalla de game over de acabar el juego
|
||||||
|
|
||||||
std::vector<std::vector<std::string> *> itemAnimations; // Vector con las animaciones de los items
|
std::vector<std::vector<std::string> *> itemAnimations; // Vector con las animaciones de los items
|
||||||
std::vector<std::vector<std::string> *> playerAnimations; // Vector con las animaciones del jugador
|
std::vector<std::vector<std::string> *> playerAnimations; // Vector con las animaciones del jugador
|
||||||
@@ -174,23 +175,23 @@ private:
|
|||||||
Sprite *gameOverSprite; // Sprite para dibujar los graficos del game over
|
Sprite *gameOverSprite; // Sprite para dibujar los graficos del game over
|
||||||
Sprite *gameOverEndSprite; // Sprite para dibujar los graficos del game over de acabar el juego
|
Sprite *gameOverEndSprite; // Sprite para dibujar los graficos del game over de acabar el juego
|
||||||
|
|
||||||
JA_Sound_t* balloonSound; // Sonido para la explosión del globo
|
JA_Sound_t *balloonSound; // Sonido para la explosión del globo
|
||||||
JA_Sound_t* bulletSound; // Sonido para los disparos
|
JA_Sound_t *bulletSound; // Sonido para los disparos
|
||||||
JA_Sound_t* playerCollisionSound; // Sonido para la colisión del jugador con un enemigo
|
JA_Sound_t *playerCollisionSound; // Sonido para la colisión del jugador con un enemigo
|
||||||
JA_Sound_t* hiScoreSound; // Sonido para cuando se alcanza la máxima puntuación
|
JA_Sound_t *hiScoreSound; // Sonido para cuando se alcanza la máxima puntuación
|
||||||
JA_Sound_t* itemDropSound; // Sonido para cuando se genera un item
|
JA_Sound_t *itemDropSound; // Sonido para cuando se genera un item
|
||||||
JA_Sound_t* itemPickUpSound; // Sonido para cuando se recoge un item
|
JA_Sound_t *itemPickUpSound; // Sonido para cuando se recoge un item
|
||||||
JA_Sound_t* coffeeOutSound; // Sonido para cuando el jugador pierde el café al recibir un impacto
|
JA_Sound_t *coffeeOutSound; // Sonido para cuando el jugador pierde el café al recibir un impacto
|
||||||
JA_Sound_t* stageChangeSound; // Sonido para cuando se cambia de fase
|
JA_Sound_t *stageChangeSound; // Sonido para cuando se cambia de fase
|
||||||
JA_Sound_t* bubble1Sound; // Sonido para cuando el jugador muere
|
JA_Sound_t *bubble1Sound; // Sonido para cuando el jugador muere
|
||||||
JA_Sound_t* bubble2Sound; // Sonido para cuando el jugador muere
|
JA_Sound_t *bubble2Sound; // Sonido para cuando el jugador muere
|
||||||
JA_Sound_t* bubble3Sound; // Sonido para cuando el jugador muere
|
JA_Sound_t *bubble3Sound; // Sonido para cuando el jugador muere
|
||||||
JA_Sound_t* bubble4Sound; // Sonido para cuando el jugador muere
|
JA_Sound_t *bubble4Sound; // Sonido para cuando el jugador muere
|
||||||
JA_Sound_t* clockSound; // Sonido para cuando se detiene el tiempo con el item reloj
|
JA_Sound_t *clockSound; // Sonido para cuando se detiene el tiempo con el item reloj
|
||||||
JA_Sound_t* powerBallSound; // Sonido para cuando se explota una Power Ball
|
JA_Sound_t *powerBallSound; // Sonido para cuando se explota una Power Ball
|
||||||
JA_Sound_t* coffeeMachineSound; // Sonido para cuando la máquina de café toca el suelo
|
JA_Sound_t *coffeeMachineSound; // Sonido para cuando la máquina de café toca el suelo
|
||||||
|
|
||||||
JA_Music_t* gameMusic; // Musica de fondo
|
JA_Music_t *gameMusic; // Musica de fondo
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
int numPlayers; // Numero de jugadores
|
int numPlayers; // Numero de jugadores
|
||||||
@@ -198,7 +199,7 @@ private:
|
|||||||
Uint8 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
|
Uint8 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
|
||||||
Uint32 hiScore; // Puntuación máxima
|
Uint32 hiScore; // Puntuación máxima
|
||||||
bool hiScoreAchieved; // Indica si se ha superado la puntuación máxima
|
bool hiScoreAchieved; // Indica si se ha superado la puntuación máxima
|
||||||
section_t section; // Seccion actual dentro del juego
|
std::string hiScoreName; // Nombre del jugador que ostenta la máxima puntuación
|
||||||
stage_t stage[10]; // Variable con los datos de cada pantalla
|
stage_t stage[10]; // Variable con los datos de cada pantalla
|
||||||
Uint8 currentStage; // Indica la fase actual
|
Uint8 currentStage; // Indica la fase actual
|
||||||
Uint8 stageBitmapCounter; // Contador para el tiempo visible del texto de Stage
|
Uint8 stageBitmapCounter; // Contador para el tiempo visible del texto de Stage
|
||||||
@@ -511,15 +512,18 @@ private:
|
|||||||
// Recarga las texturas
|
// Recarga las texturas
|
||||||
void reloadTextures();
|
void reloadTextures();
|
||||||
|
|
||||||
|
// Establece la máxima puntuación desde fichero o desde las puntuaciones online
|
||||||
|
void setHiScore();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Game(int numPlayers, int currentStage, SDL_Renderer *renderer, Screen *screen, Asset *asset, Lang *lang, Input *input, bool demo, options_t *options);
|
Game(int numPlayers, int currentStage, SDL_Renderer *renderer, Screen *screen, Asset *asset, Lang *lang, Input *input, bool demo, options_t *options, section_t *section);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Game();
|
~Game();
|
||||||
|
|
||||||
// Bucle para el juego
|
// Bucle para el juego
|
||||||
section_t run();
|
void run();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
const Uint8 SELF = 0;
|
const Uint8 SELF = 0;
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
HiScoreTable::HiScoreTable(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input, Lang *lang, options_t *options)
|
HiScoreTable::HiScoreTable(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input, Lang *lang, options_t *options, section_t *section)
|
||||||
{
|
{
|
||||||
// Copia los punteros
|
// Copia los punteros
|
||||||
this->renderer = renderer;
|
this->renderer = renderer;
|
||||||
@@ -13,6 +13,8 @@ HiScoreTable::HiScoreTable(SDL_Renderer *renderer, Screen *screen, Asset *asset,
|
|||||||
this->asset = asset;
|
this->asset = asset;
|
||||||
this->input = input;
|
this->input = input;
|
||||||
this->lang = lang;
|
this->lang = lang;
|
||||||
|
this->section = section;
|
||||||
|
this->options = options;
|
||||||
|
|
||||||
// Reserva memoria para los punteros
|
// Reserva memoria para los punteros
|
||||||
eventHandler = new SDL_Event();
|
eventHandler = new SDL_Event();
|
||||||
@@ -30,7 +32,7 @@ HiScoreTable::HiScoreTable(SDL_Renderer *renderer, Screen *screen, Asset *asset,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
section.name = SELF;
|
section->name = SELF;
|
||||||
ticks = 0;
|
ticks = 0;
|
||||||
ticksSpeed = 15;
|
ticksSpeed = 15;
|
||||||
manualQuit = false;
|
manualQuit = false;
|
||||||
@@ -62,14 +64,17 @@ void HiScoreTable::update()
|
|||||||
// Actualiza el contador de ticks
|
// Actualiza el contador de ticks
|
||||||
ticks = SDL_GetTicks();
|
ticks = SDL_GetTicks();
|
||||||
|
|
||||||
|
// Actualiza las notificaciones
|
||||||
|
screen->updateNotifier();
|
||||||
|
|
||||||
if (mode == mhst_auto)
|
if (mode == mhst_auto)
|
||||||
{ // Modo automático
|
{ // Modo automático
|
||||||
counter++;
|
counter++;
|
||||||
|
|
||||||
if (counter == counterEnd)
|
if (counter == counterEnd)
|
||||||
{
|
{
|
||||||
section.name = PROG_SECTION_TITLE;
|
section->name = SECTION_PROG_TITLE;
|
||||||
section.subsection = TITLE_SECTION_1;
|
section->subsection = SUBSECTION_TITLE_1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -78,8 +83,8 @@ void HiScoreTable::update()
|
|||||||
|
|
||||||
if (manualQuit)
|
if (manualQuit)
|
||||||
{
|
{
|
||||||
section.name = PROG_SECTION_TITLE;
|
section->name = SECTION_PROG_TITLE;
|
||||||
section.subsection = TITLE_SECTION_3;
|
section->subsection = SUBSECTION_TITLE_3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -180,7 +185,7 @@ void HiScoreTable::checkEventHandler()
|
|||||||
// Evento de salida de la aplicación
|
// Evento de salida de la aplicación
|
||||||
if (eventHandler->type == SDL_QUIT)
|
if (eventHandler->type == SDL_QUIT)
|
||||||
{
|
{
|
||||||
section.name = PROG_SECTION_QUIT;
|
section->name = SECTION_PROG_QUIT;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -191,7 +196,7 @@ void HiScoreTable::checkInput()
|
|||||||
{
|
{
|
||||||
if (input->checkInput(input_exit, REPEAT_FALSE))
|
if (input->checkInput(input_exit, REPEAT_FALSE))
|
||||||
{
|
{
|
||||||
section.name = PROG_SECTION_QUIT;
|
section->name = SECTION_PROG_QUIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (input->checkInput(input_window_fullscreen, REPEAT_FALSE))
|
else if (input->checkInput(input_window_fullscreen, REPEAT_FALSE))
|
||||||
@@ -214,8 +219,8 @@ void HiScoreTable::checkInput()
|
|||||||
if (mode == mhst_auto)
|
if (mode == mhst_auto)
|
||||||
{
|
{
|
||||||
JA_StopMusic();
|
JA_StopMusic();
|
||||||
section.name = PROG_SECTION_TITLE;
|
section->name = SECTION_PROG_TITLE;
|
||||||
section.subsection = TITLE_SECTION_1;
|
section->subsection = SUBSECTION_TITLE_1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -228,17 +233,15 @@ void HiScoreTable::checkInput()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Bucle para la pantalla de instrucciones
|
// Bucle para la pantalla de instrucciones
|
||||||
section_t HiScoreTable::run(mode_hiScoreTable_e mode)
|
void HiScoreTable::run(mode_hiScoreTable_e mode)
|
||||||
{
|
{
|
||||||
this->mode = mode;
|
this->mode = mode;
|
||||||
|
|
||||||
while (section.name == SELF)
|
while (section->name == SELF)
|
||||||
{
|
{
|
||||||
update();
|
update();
|
||||||
render();
|
render();
|
||||||
}
|
}
|
||||||
|
|
||||||
return section;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Transforma un valor numérico en una cadena de 6 cifras
|
// Transforma un valor numérico en una cadena de 6 cifras
|
||||||
|
|||||||
@@ -31,12 +31,12 @@ private:
|
|||||||
Input *input; // Objeto pata gestionar la entrada
|
Input *input; // Objeto pata gestionar la entrada
|
||||||
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
|
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
|
||||||
Text *text; // Objeto para escribir texto
|
Text *text; // Objeto para escribir texto
|
||||||
options_t *options; // Opciones y parametyros del programa
|
options_t *options; // Opciones y parametros del programa
|
||||||
|
section_t *section; // Estado del bucle principal para saber si continua o se sale
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
Uint16 counter; // Contador
|
Uint16 counter; // Contador
|
||||||
Uint16 counterEnd; // Valor final para el contador
|
Uint16 counterEnd; // Valor final para el contador
|
||||||
section_t section; // Estado del bucle principal para saber si continua o se sale
|
|
||||||
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
|
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
|
||||||
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
|
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
|
||||||
bool manualQuit; // Indica si se quiere salir del modo manual
|
bool manualQuit; // Indica si se quiere salir del modo manual
|
||||||
@@ -59,13 +59,13 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
HiScoreTable(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input, Lang *lang, options_t *options);
|
HiScoreTable(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input, Lang *lang, options_t *options, section_t *section);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~HiScoreTable();
|
~HiScoreTable();
|
||||||
|
|
||||||
// Bucle principal
|
// Bucle principal
|
||||||
section_t run(mode_hiScoreTable_e mode);
|
void run(mode_hiScoreTable_e mode);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user